import { GetDBGPTsListResponse, PostAgentHubUpdateParams, PostAgentMyPluginResponse, PostAgentPluginResponse, PostAgentQueryParams, PostDbgptMyQueryParams, } from '@/types/agent'; import { GetAppInfoParams, IApp } from '@/types/app'; import { ChatHistoryResponse, DialogueListResponse, FeedBack, IChatDialogueSchema, IDB, NewDialogueParam, SceneResponse, UserParam, UserParamResponse, } from '@/types/chat'; import { ChatFeedBackSchema, DbListResponse, DbSupportTypeResponse, PostDbParams, PostDbRefreshParams, } from '@/types/db'; import { GetEditorSQLRoundRequest, GetEditorySqlParams, PostEditorChartRunParams, PostEditorChartRunResponse, PostEditorSQLRunParams, PostSQLEditorSubmitParams, } from '@/types/editor'; import { AddKnowledgeParams, ArgumentsParams, ChunkListParams, DocumentParams, GraphVisResult, IArguments, IChunkList, IChunkStrategyResponse, IDocumentResponse, ISpace, ISyncBatchParameter, ISyncBatchResponse, SpaceConfig, } from '@/types/knowledge'; import { BaseModelParams, IModelData, StartModelParams, SupportModel } from '@/types/model'; import { AxiosRequestConfig } from 'axios'; import { GET, POST } from '.'; /** App */ export const postScenes = () => { return POST>('/api/v1/chat/dialogue/scenes'); }; export const newDialogue = (data: NewDialogueParam) => { return POST( `/api/v1/chat/dialogue/new?chat_mode=${data.chat_mode}&model_name=${data.model}`, data, ); }; export const addUser = (data: UserParam) => { return POST('/api/v1/user/add', data); }; /** Database Page */ export const getDbList = () => { return GET('/api/v1/chat/db/list'); }; export const getDbSupportType = () => { return GET('/api/v1/chat/db/support/type'); }; export const postDbDelete = (dbName: string) => { return POST(`/api/v1/chat/db/delete?db_name=${dbName}`); }; export const postDbEdit = (data: PostDbParams) => { return POST('/api/v1/chat/db/edit', data); }; export const postDbAdd = (data: PostDbParams) => { return POST('/api/v1/chat/db/add', data); }; export const postDbTestConnect = (data: PostDbParams) => { return POST('/api/v1/chat/db/test/connect', data); }; export const postDbRefresh = (data: PostDbRefreshParams) => { return POST('/api/v1/chat/db/refresh', data); }; /** Chat Page */ export const getDialogueList = () => { return GET('/api/v1/chat/dialogue/list'); }; export const getUsableModels = () => { return GET>('/api/v1/model/types'); }; export const postChatModeParamsList = (chatMode: string) => { return POST(`/api/v1/chat/mode/params/list?chat_mode=${chatMode}`); }; export const postChatModeParamsInfoList = (chatMode: string) => { return POST>(`/api/v1/chat/mode/params/info?chat_mode=${chatMode}`); }; export const getChatHistory = (convId: string) => { return GET(`/api/v1/chat/dialogue/messages/history?con_uid=${convId}`); }; export const postChatModeParamsFileLoad = ({ convUid, chatMode, data, config, model, userName, sysCode, }: { convUid: string; chatMode: string; data: FormData; model: string; userName?: string; sysCode?: string; config?: Omit; }) => { return POST( `/api/v1/resource/file/upload?conv_uid=${convUid}&chat_mode=${chatMode}&model_name=${model}&user_name=${userName}&sys_code=${sysCode}`, data, { headers: { 'Content-Type': 'multipart/form-data', }, ...config, }, ); }; export const clearChatHistory = (conUid: string) => { return POST>(`/api/v1/chat/dialogue/clear?con_uid=${conUid}`); }; /** Menu */ export const delDialogue = (conv_uid: string) => { return POST(`/api/v1/chat/dialogue/delete?con_uid=${conv_uid}`); }; /** Editor */ export const getEditorSqlRounds = (id: string) => { return GET(`/api/v1/editor/sql/rounds?con_uid=${id}`); }; export const postEditorSqlRun = (data: PostEditorSQLRunParams) => { return POST(`/api/v1/editor/sql/run`, data); }; export const postEditorChartRun = (data: PostEditorChartRunParams) => { return POST(`/api/v1/editor/chart/run`, data); }; export const postSqlEditorSubmit = (data: PostSQLEditorSubmitParams) => { return POST(`/api/v1/sql/editor/submit`, data); }; export const getEditorSql = (id: string, round: string | number) => { return POST>('/api/v1/editor/sql', { con_uid: id, round, }); }; /** knowledge */ export const getArguments = (knowledgeName: string) => { return POST(`/knowledge/${knowledgeName}/arguments`, {}); }; export const saveArguments = (knowledgeName: string, data: ArgumentsParams) => { return POST(`/knowledge/${knowledgeName}/argument/save`, data); }; export const getSpaceList = (data?: any) => { return POST>('/knowledge/space/list', data); }; export const getDocumentList = (spaceName: string, data: Record>) => { return POST>, IDocumentResponse>(`/knowledge/${spaceName}/document/list`, data); }; export const getGraphVis = (spaceName: string, data: { limit: number }) => { return POST, GraphVisResult>(`/knowledge/${spaceName}/graphvis`, data); }; export const addDocument = (knowledgeName: string, data: DocumentParams) => { return POST(`/knowledge/${knowledgeName}/document/add`, data); }; export const addSpace = (data: AddKnowledgeParams) => { return POST(`/knowledge/space/add`, data); }; export const getChunkStrategies = () => { return GET>('/knowledge/document/chunkstrategies'); }; export const syncDocument = (spaceName: string, data: Record>) => { return POST>, string | null>(`/knowledge/${spaceName}/document/sync`, data); }; export const syncBatchDocument = (spaceName: string, data: Array) => { return POST, ISyncBatchResponse>(`/knowledge/${spaceName}/document/sync_batch`, data); }; export const uploadDocument = (knowLedgeName: string, data: FormData) => { return POST(`/knowledge/${knowLedgeName}/document/upload`, data); }; export const getChunkList = (spaceName: string, data: ChunkListParams) => { return POST(`/knowledge/${spaceName}/chunk/list`, data); }; export const delDocument = (spaceName: string, data: Record) => { return POST, null>(`/knowledge/${spaceName}/document/delete`, data); }; export const delSpace = (data: Record) => { return POST, null>(`/knowledge/space/delete`, data); }; /** models */ export const getModelList = () => { return GET>('/api/v1/worker/model/list'); }; export const stopModel = (data: BaseModelParams) => { return POST('/api/v1/worker/model/stop', data); }; export const startModel = (data: StartModelParams) => { return POST('/api/v1/worker/model/start', data); }; export const getSupportModels = () => { return GET>('/api/v1/worker/model/params'); }; /** Agent */ export const postAgentQuery = (data: PostAgentQueryParams) => { return POST('/api/v1/agent/query', data); }; export const postDbgptsQuery = (data: PostAgentQueryParams) => { return POST( `/api/v1/serve/dbgpts/hub/query_page?page=${data?.page_index}&page_size=${data?.page_size}`, data, ); }; export const postAgentHubUpdate = (data?: PostAgentHubUpdateParams) => { return POST( '/api/v1/agent/hub/update', data ?? { channel: '', url: '', branch: '', authorization: '' }, ); }; export const postDbgptsHubUpdate = (data?: PostAgentHubUpdateParams) => { return POST( '/api/v1/serve/dbgpts/hub/source/refresh', data ?? { channel: '', url: '', branch: '', authorization: '' }, ); }; export const postAgentMy = (user?: string) => { return POST('/api/v1/agent/my', undefined, { params: { user } }); }; export const postDbgptsMy = (data?: PostDbgptMyQueryParams) => { return POST( `/api/v1/serve/dbgpts/my/query_page?page=${data?.page_index}&page_size=${data?.page_size}`, data, ); }; export const postAgentInstall = (pluginName: string, user?: string) => { return POST('/api/v1/agent/install', undefined, { params: { plugin_name: pluginName, user }, timeout: 60000, }); }; export const postDbgptsInstall = (data: object, user?: string) => { return POST('/api/v1/serve/dbgpts/hub/install', data, { params: { user }, timeout: 60000, }); }; export const postAgentUninstall = (pluginName: string, user?: string) => { return POST('/api/v1/agent/uninstall', undefined, { params: { plugin_name: pluginName, user }, timeout: 60000, }); }; export const postDbgptsUninstall = (data: { name: string; type: string }, user?: string) => { return POST('/api/v1/serve/dbgpts/my/uninstall', undefined, { params: { ...data, user }, timeout: 60000, }); }; export const postAgentUpload = (user = '', data: FormData, config?: Omit) => { return POST('/api/v1/personal/agent/upload', data, { params: { user }, headers: { 'Content-Type': 'multipart/form-data', }, ...config, }); }; export const getDbgptsList = () => { return GET('/api/v1/dbgpts/list'); }; /** chat feedback **/ export const getChatFeedBackSelect = () => { return GET(`/api/v1/feedback/select`, undefined); }; export const getChatFeedBackItme = (conv_uid: string, conv_index: number) => { return GET>( `/api/v1/feedback/find?conv_uid=${conv_uid}&conv_index=${conv_index}`, undefined, ); }; export const postChatFeedBackForm = ({ data, config, }: { data: ChatFeedBackSchema; config?: Omit; }) => { return POST(`/api/v1/feedback/commit`, data, { headers: { 'Content-Type': 'application/json', }, ...config, }); }; /** prompt */ /** app */ export const collectApp = (data: Record) => { return POST, []>('/api/v1/app/collect', data); }; export const unCollectApp = (data: Record) => { return POST, []>('/api/v1/app/uncollect', data); }; export const getResourceType = () => { return GET('/api/v1/resource-type/list'); }; export const publishApp = (app_code: string) => { return POST, []>('/api/v1/app/publish', { app_code }); }; export const unPublishApp = (app_code: string) => { return POST, []>('/api/v1/app/unpublish', { app_code }); }; export const addOmcDB = (params: Record) => { return POST, []>('/api/v1/chat/db/add', params); }; export const getAppInfo = (data: GetAppInfoParams) => { return GET('/api/v1/app/info', data); }; export const getSupportDBList = (db_name = '') => { return GET>(`/api/v1/permission/db/list?db_name=${db_name}`); }; export const recommendApps = (data: Record) => { return POST, []>('/api/v1/app/hot/list', data); }; export const flowSearch = (data: Record) => { return POST, []>('/api/v1/serve/awel/flows', data); }; export const modelSearch = (data: Record) => { return POST, []>('/api/controller/models', data); }; export const getKnowledgeAdmins = (spaceId: string) => { return GET>(`/knowledge/users/list?space_id=${spaceId}`); }; export const updateKnowledgeAdmins = (data: Record) => { return POST, any[]>(`/knowledge/users/update`, data); }; /** AWEL Flow */ /** app */ export const delApp = (data: Record) => { return POST, []>('/api/v1/app/remove', data); }; export const getSpaceConfig = () => { return GET(`/knowledge/space/config`); };