Ver código fonte

chore(web): strong typing (#2339)

tags/0.5.3
Rhon Joe 1 ano atrás
pai
commit
b521aafd26
Nenhuma conta vinculada ao e-mail do autor do commit

+ 1
- 1
web/app/components/app/configuration/config/agent/agent-tools/setting-built-in-tool.tsx Ver arquivo

(async () => { (async () => {
setIsLoading(true) setIsLoading(true)
try { try {
const list = await fetchBuiltInToolList(collection.name) as Tool[]
const list = await fetchBuiltInToolList(collection.name)
setTools(list) setTools(list)
const currTool = list.find(tool => tool.name === toolName) const currTool = list.find(tool => tool.name === toolName)
if (currTool) { if (currTool) {

+ 1
- 1
web/app/components/app/configuration/index.tsx Ver arquivo



useEffect(() => { useEffect(() => {
(async () => { (async () => {
const collectionList = await fetchCollectionList() as Collection[]
const collectionList = await fetchCollectionList()
setCollectionList(collectionList) setCollectionList(collectionList)
fetchAppDetail({ url: '/apps', id: appId }).then(async (res: any) => { fetchAppDetail({ url: '/apps', id: appId }).then(async (res: any) => {
setMode(res.mode) setMode(res.mode)

+ 1
- 1
web/app/components/tools/edit-custom-collection-modal/index.tsx Ver arquivo

(async () => { (async () => {
const customCollection = getCustomCollection() const customCollection = getCustomCollection()
try { try {
const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema) as any
const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema)
const newCollection = produce(customCollection, (draft) => { const newCollection = produce(customCollection, (draft) => {
draft.schema_type = schema_type draft.schema_type = schema_type
}) })

+ 3
- 3
web/app/components/tools/index.tsx Ver arquivo

const [isDetailLoading, setIsDetailLoading] = useState(false) const [isDetailLoading, setIsDetailLoading] = useState(false)


const fetchCollectionList = async () => { const fetchCollectionList = async () => {
const list = await doFetchCollectionList() as Collection[]
const list = await doFetchCollectionList()
setCollectionList(list) setCollectionList(list)
if (list.length > 0 && currCollectionIndex === null) { if (list.length > 0 && currCollectionIndex === null) {
let index = 0 let index = 0
setIsDetailLoading(true) setIsDetailLoading(true)
try { try {
if (currCollection.type === CollectionType.builtIn) { if (currCollection.type === CollectionType.builtIn) {
const list = await fetchBuiltInToolList(currCollection.name) as Tool[]
const list = await fetchBuiltInToolList(currCollection.name)
setCurrentTools(list) setCurrentTools(list)
} }
else { else {
const list = await fetchCustomToolList(currCollection.name) as Tool[]
const list = await fetchCustomToolList(currCollection.name)
setCurrentTools(list) setCurrentTools(list)
} }
} }

+ 1
- 1
web/app/components/tools/setting/build-in/config-credentials.tsx Ver arquivo

const { team_credentials: credentialValue, name: collectionName } = collection const { team_credentials: credentialValue, name: collectionName } = collection
useEffect(() => { useEffect(() => {
fetchBuiltInToolCredentialSchema(collectionName).then((res) => { fetchBuiltInToolCredentialSchema(collectionName).then((res) => {
setCredentialSchema(toolCredentialToFormSchemas(res as any))
setCredentialSchema(toolCredentialToFormSchemas(res))
}) })
}, []) }, [])
const [tempCredential, setTempCredential] = React.useState<any>(credentialValue) const [tempCredential, setTempCredential] = React.useState<any>(credentialValue)

+ 2
- 2
web/app/components/tools/tool-list/index.tsx Ver arquivo

return return
(async () => { (async () => {
if (collection.type === CollectionType.custom) { if (collection.type === CollectionType.custom) {
const res = await fetchCustomCollection(collection.name) as any
const res = await fetchCustomCollection(collection.name)
setCustomCollection({ setCustomCollection({
...res, ...res,
provider: collection.name, provider: collection.name,
} as CustomCollectionBackend)
})
} }
})() })()
}, [collection]) }, [collection])

+ 3
- 3
web/service/billing.ts Ver arquivo

import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type' import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type'


export const fetchCurrentPlanInfo = () => { export const fetchCurrentPlanInfo = () => {
return get<Promise<CurrentPlanInfoBackend>>('/features')
return get<CurrentPlanInfoBackend>('/features')
} }


export const fetchSubscriptionUrls = (plan: string, interval: string) => { 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 = () => { export const fetchBillingUrl = () => {
return get<Promise<{ url: string }>>('/billing/invoices')
return get<{ url: string }>('/billing/invoices')
} }

+ 7
- 7
web/service/tools.ts Ver arquivo

import { get, post } from './base' 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 = () => { export const fetchCollectionList = () => {
return get('/workspaces/current/tool-providers')
return get<Collection[]>('/workspaces/current/tool-providers')
} }


export const fetchBuiltInToolList = (collectionName: string) => { 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) => { 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) => { 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>) => { export const updateBuiltInToolCredential = (collectionName: string, credential: Record<string, any>) => {
} }


export const parseParamsSchema = (schema: 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: { body: {
schema, schema,
}, },
} }


export const fetchCustomCollection = (collectionName: 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) => { export const createCustomCollection = (collection: CustomCollectionBackend) => {

Carregando…
Cancelar
Salvar