| @@ -52,7 +52,7 @@ const SettingBuiltInTool: FC<Props> = ({ | |||
| (async () => { | |||
| setIsLoading(true) | |||
| try { | |||
| const list = await fetchBuiltInToolList(collection.name) as Tool[] | |||
| const list = await fetchBuiltInToolList(collection.name) | |||
| setTools(list) | |||
| const currTool = list.find(tool => tool.name === toolName) | |||
| if (currTool) { | |||
| @@ -381,7 +381,7 @@ const Configuration: FC = () => { | |||
| useEffect(() => { | |||
| (async () => { | |||
| const collectionList = await fetchCollectionList() as Collection[] | |||
| const collectionList = await fetchCollectionList() | |||
| setCollectionList(collectionList) | |||
| fetchAppDetail({ url: '/apps', id: appId }).then(async (res: any) => { | |||
| setMode(res.mode) | |||
| @@ -83,7 +83,7 @@ const EditCustomCollectionModal: FC<Props> = ({ | |||
| (async () => { | |||
| const customCollection = getCustomCollection() | |||
| try { | |||
| const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema) as any | |||
| const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema) | |||
| const newCollection = produce(customCollection, (draft) => { | |||
| draft.schema_type = schema_type | |||
| }) | |||
| @@ -43,7 +43,7 @@ const Tools: FC<Props> = ({ | |||
| const [isDetailLoading, setIsDetailLoading] = useState(false) | |||
| const fetchCollectionList = async () => { | |||
| const list = await doFetchCollectionList() as Collection[] | |||
| const list = await doFetchCollectionList() | |||
| setCollectionList(list) | |||
| if (list.length > 0 && currCollectionIndex === null) { | |||
| let index = 0 | |||
| @@ -103,11 +103,11 @@ const Tools: FC<Props> = ({ | |||
| setIsDetailLoading(true) | |||
| try { | |||
| if (currCollection.type === CollectionType.builtIn) { | |||
| const list = await fetchBuiltInToolList(currCollection.name) as Tool[] | |||
| const list = await fetchBuiltInToolList(currCollection.name) | |||
| setCurrentTools(list) | |||
| } | |||
| else { | |||
| const list = await fetchCustomToolList(currCollection.name) as Tool[] | |||
| const list = await fetchCustomToolList(currCollection.name) | |||
| setCurrentTools(list) | |||
| } | |||
| } | |||
| @@ -29,7 +29,7 @@ const ConfigCredential: FC<Props> = ({ | |||
| const { team_credentials: credentialValue, name: collectionName } = collection | |||
| useEffect(() => { | |||
| fetchBuiltInToolCredentialSchema(collectionName).then((res) => { | |||
| setCredentialSchema(toolCredentialToFormSchemas(res as any)) | |||
| setCredentialSchema(toolCredentialToFormSchemas(res)) | |||
| }) | |||
| }, []) | |||
| const [tempCredential, setTempCredential] = React.useState<any>(credentialValue) | |||
| @@ -52,11 +52,11 @@ const ToolList: FC<Props> = ({ | |||
| return | |||
| (async () => { | |||
| if (collection.type === CollectionType.custom) { | |||
| const res = await fetchCustomCollection(collection.name) as any | |||
| const res = await fetchCustomCollection(collection.name) | |||
| setCustomCollection({ | |||
| ...res, | |||
| provider: collection.name, | |||
| } as CustomCollectionBackend) | |||
| }) | |||
| } | |||
| })() | |||
| }, [collection]) | |||
| @@ -2,13 +2,13 @@ import { get } from './base' | |||
| import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type' | |||
| export const fetchCurrentPlanInfo = () => { | |||
| return get<Promise<CurrentPlanInfoBackend>>('/features') | |||
| return get<CurrentPlanInfoBackend>('/features') | |||
| } | |||
| export const fetchSubscriptionUrls = (plan: string, interval: string) => { | |||
| return get<Promise<SubscriptionUrlsBackend>>(`/billing/subscription?plan=${plan}&interval=${interval}`) | |||
| return get<SubscriptionUrlsBackend>(`/billing/subscription?plan=${plan}&interval=${interval}`) | |||
| } | |||
| export const fetchBillingUrl = () => { | |||
| return get<Promise<{ url: string }>>('/billing/invoices') | |||
| return get<{ url: string }>('/billing/invoices') | |||
| } | |||
| @@ -1,19 +1,19 @@ | |||
| import { get, post } from './base' | |||
| import type { CustomCollectionBackend } from '@/app/components/tools/types' | |||
| import type { Collection, CustomCollectionBackend, CustomParamSchema, Tool, ToolCredential } from '@/app/components/tools/types' | |||
| export const fetchCollectionList = () => { | |||
| return get('/workspaces/current/tool-providers') | |||
| return get<Collection[]>('/workspaces/current/tool-providers') | |||
| } | |||
| export const fetchBuiltInToolList = (collectionName: string) => { | |||
| return get(`/workspaces/current/tool-provider/builtin/${collectionName}/tools`) | |||
| return get<Tool[]>(`/workspaces/current/tool-provider/builtin/${collectionName}/tools`) | |||
| } | |||
| export const fetchCustomToolList = (collectionName: string) => { | |||
| return get(`/workspaces/current/tool-provider/api/tools?provider=${collectionName}`) | |||
| return get<Tool[]>(`/workspaces/current/tool-provider/api/tools?provider=${collectionName}`) | |||
| } | |||
| export const fetchBuiltInToolCredentialSchema = (collectionName: string) => { | |||
| return get(`/workspaces/current/tool-provider/builtin/${collectionName}/credentials_schema`) | |||
| return get<ToolCredential[]>(`/workspaces/current/tool-provider/builtin/${collectionName}/credentials_schema`) | |||
| } | |||
| export const updateBuiltInToolCredential = (collectionName: string, credential: Record<string, any>) => { | |||
| @@ -31,7 +31,7 @@ export const removeBuiltInToolCredential = (collectionName: string) => { | |||
| } | |||
| export const parseParamsSchema = (schema: string) => { | |||
| return post('/workspaces/current/tool-provider/api/schema', { | |||
| return post<{ parameters_schema: CustomParamSchema[]; schema_type: string }>('/workspaces/current/tool-provider/api/schema', { | |||
| body: { | |||
| schema, | |||
| }, | |||
| @@ -39,7 +39,7 @@ export const parseParamsSchema = (schema: string) => { | |||
| } | |||
| export const fetchCustomCollection = (collectionName: string) => { | |||
| return get(`/workspaces/current/tool-provider/api/get?provider=${collectionName}`) | |||
| return get<CustomCollectionBackend>(`/workspaces/current/tool-provider/api/get?provider=${collectionName}`) | |||
| } | |||
| export const createCustomCollection = (collection: CustomCollectionBackend) => { | |||