Refactor variable of front end (#13953)

### What problem does this PR solve?

api_host -> webAPI
ExternalApi -> restAPIv1

### Type of change

- [x] Refactoring


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Updated internal API endpoint configuration to use consolidated base
URL constants for improved maintainability and consistency across the
application.

* **Chores**
* Updated server-side protocol validation for admin connectivity checks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-04-07 15:08:11 +08:00
committed by GitHub
parent 38acf34724
commit 393efa9b7c
7 changed files with 251 additions and 263 deletions

View File

@@ -53,10 +53,10 @@ func (c *RAGFlowClient) LoginUserInteractive(username, password string) error {
return fmt.Errorf("server is down")
}
// Check response - admin returns JSON with message "PONG", user returns plain "pong"
// Check response - admin returns JSON with message "pong", user returns plain "pong"
resJSON, err := resp.JSON()
if err == nil {
// Admin mode returns {"code":0,"message":"PONG"}
// Admin mode returns {"code":0,"message":"pong"}
if msg, ok := resJSON["message"].(string); !ok || msg != "pong" {
fmt.Println("Server is down")
return fmt.Errorf("server is down")
@@ -120,10 +120,10 @@ func (c *RAGFlowClient) LoginUser(cmd *Command) error {
return fmt.Errorf("server is down")
}
// Check response - admin returns JSON with message "PONG", user returns plain "pong"
// Check response - admin returns JSON with message "pong", user returns plain "pong"
resJSON, err := resp.JSON()
if err == nil {
// Admin mode returns {"code":0,"message":"PONG"}
// Admin mode returns {"code":0,"message":"pong"}
if msg, ok := resJSON["message"].(string); !ok || msg != "pong" {
fmt.Println("Server is down")
return fmt.Errorf("server is down")

View File

@@ -1,7 +1,7 @@
import { Authorization } from '@/constants/authorization';
import { useGetKnowledgeSearchParams } from '@/hooks/route-hook';
import { useGetPipelineResultSearchParams } from '@/pages/dataflow-result/hooks';
import api, { api_host } from '@/utils/api';
import api, { webAPI } from '@/utils/api';
import { getAuthorization } from '@/utils/authorization-util';
import jsPreviewExcel from '@js-preview/excel';
import { useSize } from 'ahooks';
@@ -57,7 +57,7 @@ export const useGetDocumentUrl = (isAgent: boolean) => {
if (isAgent) {
return api.downloadFile + `?id=${id}&created_by=${createdBy}`;
}
return `${api_host}/document/get/${documentId}`;
return `${webAPI}/document/get/${documentId}`;
}, [createdBy, documentId, id, isAgent]);
return url;

View File

@@ -1,4 +1,4 @@
import { api_host } from '@/utils/api';
import { webAPI } from '@/utils/api';
import classNames from 'classnames';
import React from 'react';
import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
@@ -13,7 +13,7 @@ const Image = ({ id, t, label, className, ...props }: IImage) => {
const imageElement = (
<img
{...props}
src={`${api_host}/document/image/${id}${t ? `?_t=${t}` : ''}`}
src={`${webAPI}/document/image/${id}${t ? `?_t=${t}` : ''}`}
className={classNames('max-w-[45vw] max-h-[40wh] block', className)}
/>
);

View File

@@ -7,7 +7,7 @@ import {
CarouselPrevious,
} from '@/components/ui/carousel';
import { IReferenceChunk } from '@/interfaces/database/chat';
import { api_host } from '@/utils/api';
import { webAPI } from '@/utils/api';
import { isPlainObject } from 'lodash';
import { RotateCw, ZoomIn, ZoomOut } from 'lucide-react';
import { useMemo } from 'react';
@@ -79,7 +79,7 @@ function ImageCarousel({ images }: { images: ImageItem[] }) {
@2xl:basis-1/6
"
>
<PhotoView src={`${api_host}/document/image/${id}`}>
<PhotoView src={`${webAPI}/document/image/${id}`}>
<Image
id={id}
className="h-40 w-full"

View File

@@ -16,7 +16,7 @@ import {
import i18n from '@/locales/config';
import { EMPTY_METADATA_FIELD } from '@/pages/dataset/dataset/use-select-filters';
import kbService, { listDocument } from '@/services/knowledge-service';
import api, { api_host, ExternalApi } from '@/utils/api';
import api, { restAPIv1, webAPI } from '@/utils/api';
import { getSearchValue } from '@/utils/common-util';
import { buildChunkHighlights } from '@/utils/document-util';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
@@ -134,8 +134,8 @@ export const useFetchDocumentList = () => {
}
const ret = await listDocument(
{
kb_id: knowledgeId || id,
keywords: debouncedSearchString,
id: knowledgeId || id,
ext: { keywords: debouncedSearchString },
page_size: pagination.pageSize,
page: pagination.current,
},
@@ -469,8 +469,8 @@ export const useGetDocumentUrl = (documentId?: string) => {
const getDocumentUrl = useCallback(
(id?: string) => {
return auth
? `${ExternalApi}/v1/documents/${id || documentId}`
: `${api_host}/document/get/${id || documentId}`;
? `${restAPIv1}/documents/${id || documentId}`
: `${webAPI}/document/get/${id || documentId}`;
},
[documentId, auth],
);

View File

@@ -1,5 +1,5 @@
import { Images } from '@/constants/common';
import { ExternalApi, api_host } from '@/utils/api';
import { restAPIv1, webAPI } from '@/utils/api';
import { useParams, useSearchParams } from 'react-router';
// import Docx from './docx';
// import Excel from './excel';
@@ -28,8 +28,8 @@ const DocumentViewer = () => {
currentQueryParameters.get('resource') === 'files' ? 'files' : 'document';
const api =
resource === 'files'
? `${ExternalApi}${api_host}/files/${documentId}`
: `${api_host}/document/get/${documentId}`;
? `${restAPIv1}/files/${documentId}`
: `${webAPI}/document/get/${documentId}`;
// request.head
if (ext === 'html' && documentId) {

View File

@@ -1,344 +1,332 @@
const api_host = `/v1`;
const ExternalApi = `/api`;
const webAPI = `/v1`;
const restAPIv1 = `/api/v1`;
export { ExternalApi, api_host };
export { restAPIv1, webAPI };
export default {
// user
login: `${api_host}/user/login`,
logout: `${api_host}/user/logout`,
register: `${api_host}/user/register`,
setting: `${api_host}/user/setting`,
user_info: `${api_host}/user/info`,
tenant_info: `${api_host}/user/tenant_info`,
set_tenant_info: `${api_host}/user/set_tenant_info`,
login_channels: `${api_host}/user/login/channels`,
login_channel: (channel: string) => `${api_host}/user/login/${channel}`,
login: `${webAPI}/user/login`,
logout: `${webAPI}/user/logout`,
register: `${webAPI}/user/register`,
setting: `${webAPI}/user/setting`,
user_info: `${webAPI}/user/info`,
tenant_info: `${webAPI}/user/tenant_info`,
set_tenant_info: `${webAPI}/user/set_tenant_info`,
login_channels: `${webAPI}/user/login/channels`,
login_channel: (channel: string) => `${webAPI}/user/login/${channel}`,
// team
addTenantUser: (tenantId: string) => `${api_host}/tenant/${tenantId}/user`,
addTenantUser: (tenantId: string) => `${webAPI}/tenant/${tenantId}/user`,
listTenantUser: (tenantId: string) =>
`${api_host}/tenant/${tenantId}/user/list`,
`${webAPI}/tenant/${tenantId}/user/list`,
deleteTenantUser: (tenantId: string, userId: string) =>
`${api_host}/tenant/${tenantId}/user/${userId}`,
listTenant: `${api_host}/tenant/list`,
agreeTenant: (tenantId: string) => `${api_host}/tenant/agree/${tenantId}`,
`${webAPI}/tenant/${tenantId}/user/${userId}`,
listTenant: `${webAPI}/tenant/list`,
agreeTenant: (tenantId: string) => `${webAPI}/tenant/agree/${tenantId}`,
// llm model
factories_list: `${api_host}/llm/factories`,
llm_list: `${api_host}/llm/list`,
my_llm: `${api_host}/llm/my_llms`,
set_api_key: `${api_host}/llm/set_api_key`,
add_llm: `${api_host}/llm/add_llm`,
delete_llm: `${api_host}/llm/delete_llm`,
enable_llm: `${api_host}/llm/enable_llm`,
deleteFactory: `${api_host}/llm/delete_factory`,
factories_list: `${webAPI}/llm/factories`,
llm_list: `${webAPI}/llm/list`,
my_llm: `${webAPI}/llm/my_llms`,
set_api_key: `${webAPI}/llm/set_api_key`,
add_llm: `${webAPI}/llm/add_llm`,
delete_llm: `${webAPI}/llm/delete_llm`,
enable_llm: `${webAPI}/llm/enable_llm`,
deleteFactory: `${webAPI}/llm/delete_factory`,
// data source
dataSourceSet: `${api_host}/connector/set`,
dataSourceList: `${api_host}/connector/list`,
dataSourceDel: (id: string) => `${api_host}/connector/${id}/rm`,
dataSourceResume: (id: string) => `${api_host}/connector/${id}/resume`,
dataSourceRebuild: (id: string) => `${api_host}/connector/${id}/rebuild`,
dataSourceLogs: (id: string) => `${api_host}/connector/${id}/logs`,
dataSourceDetail: (id: string) => `${api_host}/connector/${id}`,
dataSourceSet: `${webAPI}/connector/set`,
dataSourceList: `${webAPI}/connector/list`,
dataSourceDel: (id: string) => `${webAPI}/connector/${id}/rm`,
dataSourceResume: (id: string) => `${webAPI}/connector/${id}/resume`,
dataSourceRebuild: (id: string) => `${webAPI}/connector/${id}/rebuild`,
dataSourceLogs: (id: string) => `${webAPI}/connector/${id}/logs`,
dataSourceDetail: (id: string) => `${webAPI}/connector/${id}`,
googleWebAuthStart: (type: 'google-drive' | 'gmail') =>
`${api_host}/connector/google/oauth/web/start?type=${type}`,
`${webAPI}/connector/google/oauth/web/start?type=${type}`,
googleWebAuthResult: (type: 'google-drive' | 'gmail') =>
`${api_host}/connector/google/oauth/web/result?type=${type}`,
boxWebAuthStart: () => `${api_host}/connector/box/oauth/web/start`,
boxWebAuthResult: () => `${api_host}/connector/box/oauth/web/result`,
`${webAPI}/connector/google/oauth/web/result?type=${type}`,
boxWebAuthStart: () => `${webAPI}/connector/box/oauth/web/start`,
boxWebAuthResult: () => `${webAPI}/connector/box/oauth/web/result`,
// plugin
llm_tools: `${api_host}/plugin/llm_tools`,
llm_tools: `${webAPI}/plugin/llm_tools`,
chatsTranscriptions: `${ExternalApi}${api_host}/chats/transcriptions`,
chatsTranscriptions: `${restAPIv1}/chats/transcriptions`,
// knowledge base
check_embedding: `${api_host}/kb/check_embedding`,
kb_list: `${ExternalApi}${api_host}/datasets`,
create_kb: `${ExternalApi}${api_host}/datasets`,
update_kb: (datasetId: string) =>
`${ExternalApi}${api_host}/datasets/${datasetId}`,
rm_kb: `${ExternalApi}${api_host}/datasets`,
get_kb_detail: `${api_host}/kb/detail`,
check_embedding: `${webAPI}/kb/check_embedding`,
kb_list: `${restAPIv1}/datasets`,
create_kb: `${restAPIv1}/datasets`,
update_kb: (datasetId: string) => `${restAPIv1}/datasets/${datasetId}`,
rm_kb: `${restAPIv1}/datasets`,
get_kb_detail: `${webAPI}/kb/detail`,
getKnowledgeGraph: (knowledgeId: string) =>
`${ExternalApi}${api_host}/datasets/${knowledgeId}/knowledge_graph`,
`${restAPIv1}/datasets/${knowledgeId}/knowledge_graph`,
deleteKnowledgeGraph: (knowledgeId: string) =>
`${ExternalApi}${api_host}/datasets/${knowledgeId}/knowledge_graph`,
getMeta: `${api_host}/kb/get_meta`,
getKnowledgeBasicInfo: `${api_host}/kb/basic_info`,
`${restAPIv1}/datasets/${knowledgeId}/knowledge_graph`,
getMeta: `${webAPI}/kb/get_meta`,
getKnowledgeBasicInfo: `${webAPI}/kb/basic_info`,
// data pipeline log
fetchDataPipelineLog: `${api_host}/kb/list_pipeline_logs`,
get_pipeline_detail: `${api_host}/kb/pipeline_log_detail`,
fetchPipelineDatasetLogs: `${api_host}/kb/list_pipeline_dataset_logs`,
fetchDataPipelineLog: `${webAPI}/kb/list_pipeline_logs`,
get_pipeline_detail: `${webAPI}/kb/pipeline_log_detail`,
fetchPipelineDatasetLogs: `${webAPI}/kb/list_pipeline_dataset_logs`,
runGraphRag: (datasetId: string) =>
`${ExternalApi}${api_host}/datasets/${datasetId}/run_graphrag`,
`${restAPIv1}/datasets/${datasetId}/run_graphrag`,
traceGraphRag: (datasetId: string) =>
`${ExternalApi}${api_host}/datasets/${datasetId}/trace_graphrag`,
`${restAPIv1}/datasets/${datasetId}/trace_graphrag`,
runRaptor: (datasetId: string) =>
`${ExternalApi}${api_host}/datasets/${datasetId}/run_raptor`,
`${restAPIv1}/datasets/${datasetId}/run_raptor`,
traceRaptor: (datasetId: string) =>
`${ExternalApi}${api_host}/datasets/${datasetId}/trace_raptor`,
`${restAPIv1}/datasets/${datasetId}/trace_raptor`,
unbindPipelineTask: ({ kb_id, type }: { kb_id: string; type: string }) =>
`${api_host}/kb/unbind_task?kb_id=${kb_id}&pipeline_task_type=${type}`,
pipelineRerun: `${api_host}/canvas/rerun`,
getMetaData: `${api_host}/document/metadata/summary`,
updateMetaData: `${api_host}/document/metadata/update`,
kbUpdateMetaData: `${api_host}/kb/update_metadata_setting`,
documentUpdateMetaData: `${api_host}/document/update_metadata_setting`,
`${webAPI}/kb/unbind_task?kb_id=${kb_id}&pipeline_task_type=${type}`,
pipelineRerun: `${webAPI}/canvas/rerun`,
getMetaData: `${webAPI}/document/metadata/summary`,
updateMetaData: `${webAPI}/document/metadata/update`,
kbUpdateMetaData: `${webAPI}/kb/update_metadata_setting`,
documentUpdateMetaData: `${webAPI}/document/update_metadata_setting`,
// tags
listTag: (knowledgeId: string) => `${api_host}/kb/${knowledgeId}/tags`,
listTagByKnowledgeIds: `${api_host}/kb/tags`,
removeTag: (knowledgeId: string) => `${api_host}/kb/${knowledgeId}/rm_tags`,
renameTag: (knowledgeId: string) =>
`${api_host}/kb/${knowledgeId}/rename_tag`,
listTag: (knowledgeId: string) => `${webAPI}/kb/${knowledgeId}/tags`,
listTagByKnowledgeIds: `${webAPI}/kb/tags`,
removeTag: (knowledgeId: string) => `${webAPI}/kb/${knowledgeId}/rm_tags`,
renameTag: (knowledgeId: string) => `${webAPI}/kb/${knowledgeId}/rename_tag`,
// chunk
chunk_list: `${api_host}/chunk/list`,
create_chunk: `${api_host}/chunk/create`,
set_chunk: `${api_host}/chunk/set`,
get_chunk: `${api_host}/chunk/get`,
switch_chunk: `${api_host}/chunk/switch`,
rm_chunk: `${api_host}/chunk/rm`,
retrieval_test: `${api_host}/chunk/retrieval_test`,
knowledge_graph: `${api_host}/chunk/knowledge_graph`,
chunk_list: `${webAPI}/chunk/list`,
create_chunk: `${webAPI}/chunk/create`,
set_chunk: `${webAPI}/chunk/set`,
get_chunk: `${webAPI}/chunk/get`,
switch_chunk: `${webAPI}/chunk/switch`,
rm_chunk: `${webAPI}/chunk/rm`,
retrieval_test: `${webAPI}/chunk/retrieval_test`,
knowledge_graph: `${webAPI}/chunk/knowledge_graph`,
// document
get_document_list: `${api_host}/document/list`,
document_change_status: `${api_host}/document/change_status`,
document_rm: `${api_host}/document/rm`,
document_delete: `${api_host}/api/document`,
document_rename: `${api_host}/document/rename`,
document_create: `${api_host}/document/create`,
document_run: `${api_host}/document/run`,
document_change_parser: `${api_host}/document/change_parser`,
document_thumbnails: `${api_host}/document/thumbnails`,
get_document_file: `${api_host}/document/get`,
get_document_list: `${webAPI}/document/list`,
document_change_status: `${webAPI}/document/change_status`,
document_rm: `${webAPI}/document/rm`,
document_delete: `${webAPI}/api/document`,
document_rename: `${webAPI}/document/rename`,
document_create: `${webAPI}/document/create`,
document_run: `${webAPI}/document/run`,
document_change_parser: `${webAPI}/document/change_parser`,
document_thumbnails: `${webAPI}/document/thumbnails`,
get_document_file: `${webAPI}/document/get`,
get_document_file_download: (docId: string) =>
`${api_host}/document/download/${docId}`,
document_upload: `${api_host}/document/upload`,
web_crawl: `${api_host}/document/web_crawl`,
document_infos: `${api_host}/document/infos`,
upload_and_parse: `${api_host}/document/upload_info`,
parse: `${api_host}/document/parse`,
setMeta: `${api_host}/document/set_meta`,
get_dataset_filter: `${api_host}/document/filter`,
`${webAPI}/document/download/${docId}`,
document_upload: `${webAPI}/document/upload`,
web_crawl: `${webAPI}/document/web_crawl`,
document_infos: `${webAPI}/document/infos`,
upload_and_parse: `${webAPI}/document/upload_info`,
parse: `${webAPI}/document/parse`,
setMeta: `${webAPI}/document/set_meta`,
get_dataset_filter: `${webAPI}/document/filter`,
// chat
createChat: `${ExternalApi}${api_host}/chats`,
listChats: `${ExternalApi}${api_host}/chats`,
getChat: (chatId: string) => `${ExternalApi}${api_host}/chats/${chatId}`,
updateChat: (chatId: string) => `${ExternalApi}${api_host}/chats/${chatId}`,
patchChat: (chatId: string) => `${ExternalApi}${api_host}/chats/${chatId}`,
deleteChat: (chatId: string) => `${ExternalApi}${api_host}/chats/${chatId}`,
bulkDeleteChats: `${ExternalApi}${api_host}/chats`,
createSession: (chatId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions`,
listSessions: (chatId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions`,
createChat: `${restAPIv1}/chats`,
listChats: `${restAPIv1}/chats`,
getChat: (chatId: string) => `${restAPIv1}/chats/${chatId}`,
updateChat: (chatId: string) => `${restAPIv1}/chats/${chatId}`,
patchChat: (chatId: string) => `${restAPIv1}/chats/${chatId}`,
deleteChat: (chatId: string) => `${restAPIv1}/chats/${chatId}`,
bulkDeleteChats: `${restAPIv1}/chats`,
createSession: (chatId: string) => `${restAPIv1}/chats/${chatId}/sessions`,
listSessions: (chatId: string) => `${restAPIv1}/chats/${chatId}/sessions`,
getSession: (chatId: string, sessionId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions/${sessionId}`,
`${restAPIv1}/chats/${chatId}/sessions/${sessionId}`,
updateSession: (chatId: string, sessionId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions/${sessionId}`,
removeSessions: (chatId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions`,
`${restAPIv1}/chats/${chatId}/sessions/${sessionId}`,
removeSessions: (chatId: string) => `${restAPIv1}/chats/${chatId}/sessions`,
deleteMessage: (chatId: string, sessionId: string, msgId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions/${sessionId}/messages/${msgId}`,
`${restAPIv1}/chats/${chatId}/sessions/${sessionId}/messages/${msgId}`,
thumbup: (chatId: string, sessionId: string, msgId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions/${sessionId}/messages/${msgId}/feedback`,
`${restAPIv1}/chats/${chatId}/sessions/${sessionId}/messages/${msgId}/feedback`,
completionUrl: (chatId: string, sessionId: string) =>
`${ExternalApi}${api_host}/chats/${chatId}/sessions/${sessionId}/completions`,
chatsTts: `${ExternalApi}${api_host}/chats/tts`,
ask: `${ExternalApi}${api_host}/chats/ask`,
chatsMindmap: `${ExternalApi}${api_host}/chats/mindmap`,
chatsRelatedQuestions: `${ExternalApi}${api_host}/chats/related_questions`,
`${restAPIv1}/chats/${chatId}/sessions/${sessionId}/completions`,
chatsTts: `${restAPIv1}/chats/tts`,
ask: `${restAPIv1}/chats/ask`,
chatsMindmap: `${restAPIv1}/chats/mindmap`,
chatsRelatedQuestions: `${restAPIv1}/chats/related_questions`,
// chat for external
createToken: `${api_host}/api/new_token`,
listToken: `${api_host}/api/token_list`,
removeToken: `${api_host}/api/rm`,
getStats: `${api_host}/api/stats`,
createToken: `${webAPI}/api/new_token`,
listToken: `${webAPI}/api/token_list`,
removeToken: `${webAPI}/api/rm`,
getStats: `${webAPI}/api/stats`,
// next chat
fetchExternalChatInfo: (id: string) =>
`${ExternalApi}${api_host}/chatbots/${id}/info`,
fetchExternalChatInfo: (id: string) => `${restAPIv1}/chatbots/${id}/info`,
// file manager
listFile: `${ExternalApi}${api_host}/files`,
uploadFile: `${ExternalApi}${api_host}/files`,
removeFile: `${ExternalApi}${api_host}/files`,
getAllParentFolder: `${ExternalApi}${api_host}/files`,
createFolder: `${ExternalApi}${api_host}/files`,
connectFileToKnowledge: `${api_host}/file2document/convert`,
getFile: `${ExternalApi}${api_host}/files`,
moveFile: `${ExternalApi}${api_host}/files/move`,
listFile: `${restAPIv1}/files`,
uploadFile: `${restAPIv1}/files`,
removeFile: `${restAPIv1}/files`,
getAllParentFolder: `${restAPIv1}/files`,
createFolder: `${restAPIv1}/files`,
connectFileToKnowledge: `${webAPI}/file2document/convert`,
getFile: `${restAPIv1}/files`,
moveFile: `${restAPIv1}/files/move`,
// system
getSystemVersion: `${api_host}/system/version`,
getSystemStatus: `${api_host}/system/status`,
getSystemTokenList: `${api_host}/system/token_list`,
createSystemToken: `${api_host}/system/new_token`,
listSystemToken: `${api_host}/system/token_list`,
removeSystemToken: `${api_host}/system/token`,
getSystemConfig: `${api_host}/system/config`,
setLangfuseConfig: `${api_host}/langfuse/api_key`,
getSystemVersion: `${webAPI}/system/version`,
getSystemStatus: `${webAPI}/system/status`,
getSystemTokenList: `${webAPI}/system/token_list`,
createSystemToken: `${webAPI}/system/new_token`,
listSystemToken: `${webAPI}/system/token_list`,
removeSystemToken: `${webAPI}/system/token`,
getSystemConfig: `${webAPI}/system/config`,
setLangfuseConfig: `${webAPI}/langfuse/api_key`,
// flow
listTemplates: `${api_host}/canvas/templates`,
listCanvas: `${api_host}/canvas/list`,
getCanvas: `${api_host}/canvas/get`,
getCanvasSSE: (canvasId: string) => `${api_host}/canvas/getsse/${canvasId}`,
removeCanvas: `${api_host}/canvas/rm`,
setCanvas: `${api_host}/canvas/set`,
settingCanvas: `${api_host}/canvas/setting`,
getListVersion: `${api_host}/canvas/getlistversion`,
getVersion: `${api_host}/canvas/getversion`,
resetCanvas: `${api_host}/canvas/reset`,
runCanvas: `${api_host}/canvas/completion`,
testDbConnect: `${api_host}/canvas/test_db_connect`,
getInputElements: `${api_host}/canvas/input_elements`,
debug: `${api_host}/canvas/debug`,
uploadCanvasFile: `${api_host}/canvas/upload`,
trace: `${api_host}/canvas/trace`,
cancelCanvas: (taskId: string) => `${api_host}/canvas/cancel/${taskId}`, // cancel conversation
listTemplates: `${webAPI}/canvas/templates`,
listCanvas: `${webAPI}/canvas/list`,
getCanvas: `${webAPI}/canvas/get`,
getCanvasSSE: (canvasId: string) => `${webAPI}/canvas/getsse/${canvasId}`,
removeCanvas: `${webAPI}/canvas/rm`,
setCanvas: `${webAPI}/canvas/set`,
settingCanvas: `${webAPI}/canvas/setting`,
getListVersion: `${webAPI}/canvas/getlistversion`,
getVersion: `${webAPI}/canvas/getversion`,
resetCanvas: `${webAPI}/canvas/reset`,
runCanvas: `${webAPI}/canvas/completion`,
testDbConnect: `${webAPI}/canvas/test_db_connect`,
getInputElements: `${webAPI}/canvas/input_elements`,
debug: `${webAPI}/canvas/debug`,
uploadCanvasFile: `${webAPI}/canvas/upload`,
trace: `${webAPI}/canvas/trace`,
cancelCanvas: (taskId: string) => `${webAPI}/canvas/cancel/${taskId}`, // cancel conversation
// agent
inputForm: `${api_host}/canvas/input_form`,
fetchVersionList: (id: string) => `${api_host}/canvas/getlistversion/${id}`,
fetchVersion: (id: string) => `${api_host}/canvas/getversion/${id}`,
fetchCanvas: (id: string) => `${api_host}/canvas/get/${id}`,
fetchAgentAvatar: (id: string) => `${api_host}/canvas/getsse/${id}`,
uploadAgentFile: (id?: string) => `${api_host}/canvas/upload/${id}`,
fetchAgentLogs: (canvasId: string) =>
`${api_host}/canvas/${canvasId}/sessions`,
inputForm: `${webAPI}/canvas/input_form`,
fetchVersionList: (id: string) => `${webAPI}/canvas/getlistversion/${id}`,
fetchVersion: (id: string) => `${webAPI}/canvas/getversion/${id}`,
fetchCanvas: (id: string) => `${webAPI}/canvas/get/${id}`,
fetchAgentAvatar: (id: string) => `${webAPI}/canvas/getsse/${id}`,
uploadAgentFile: (id?: string) => `${webAPI}/canvas/upload/${id}`,
fetchAgentLogs: (canvasId: string) => `${webAPI}/canvas/${canvasId}/sessions`,
fetchAgentLogsById: (canvasId: string, sessionId: string) =>
`${api_host}/canvas/${canvasId}/sessions/${sessionId}`,
`${webAPI}/canvas/${canvasId}/sessions/${sessionId}`,
fetchExternalAgentInputs: (canvasId: string) =>
`${ExternalApi}${api_host}/agentbots/${canvasId}/inputs`,
prompt: `${api_host}/canvas/prompts`,
cancelDataflow: (id: string) => `${api_host}/canvas/cancel/${id}`,
downloadFile: `${api_host}/canvas/download`,
testWebhook: (id: string) => `${ExternalApi}${api_host}/webhook_test/${id}`,
fetchWebhookTrace: (id: string) =>
`${ExternalApi}${api_host}/webhook_trace/${id}`,
`${restAPIv1}/agentbots/${canvasId}/inputs`,
prompt: `${webAPI}/canvas/prompts`,
cancelDataflow: (id: string) => `${webAPI}/canvas/cancel/${id}`,
downloadFile: `${webAPI}/canvas/download`,
testWebhook: (id: string) => `${restAPIv1}/webhook_test/${id}`,
fetchWebhookTrace: (id: string) => `${restAPIv1}/webhook_trace/${id}`,
// explore
runCanvasExplore: (canvasId: string) =>
`${api_host}/canvas/${canvasId}/completion`,
`${webAPI}/canvas/${canvasId}/completion`,
// mcp server
listMcpServer: `${api_host}/mcp_server/list`,
getMcpServer: `${api_host}/mcp_server/detail`,
createMcpServer: `${api_host}/mcp_server/create`,
updateMcpServer: `${api_host}/mcp_server/update`,
deleteMcpServer: `${api_host}/mcp_server/rm`,
importMcpServer: `${api_host}/mcp_server/import`,
exportMcpServer: `${api_host}/mcp_server/export`,
listMcpServerTools: `${api_host}/mcp_server/list_tools`,
testMcpServerTool: `${api_host}/mcp_server/test_tool`,
cacheMcpServerTool: `${api_host}/mcp_server/cache_tools`,
testMcpServer: `${api_host}/mcp_server/test_mcp`,
listMcpServer: `${webAPI}/mcp_server/list`,
getMcpServer: `${webAPI}/mcp_server/detail`,
createMcpServer: `${webAPI}/mcp_server/create`,
updateMcpServer: `${webAPI}/mcp_server/update`,
deleteMcpServer: `${webAPI}/mcp_server/rm`,
importMcpServer: `${webAPI}/mcp_server/import`,
exportMcpServer: `${webAPI}/mcp_server/export`,
listMcpServerTools: `${webAPI}/mcp_server/list_tools`,
testMcpServerTool: `${webAPI}/mcp_server/test_tool`,
cacheMcpServerTool: `${webAPI}/mcp_server/cache_tools`,
testMcpServer: `${webAPI}/mcp_server/test_mcp`,
// next-search
createSearch: `${ExternalApi}${api_host}/searches`,
getSearchList: `${ExternalApi}${api_host}/searches`,
createSearch: `${restAPIv1}/searches`,
getSearchList: `${restAPIv1}/searches`,
deleteSearch: (params: { search_id: string }) =>
`${ExternalApi}${api_host}/searches/${params.search_id}`,
`${restAPIv1}/searches/${params.search_id}`,
getSearchDetail: (params: { search_id: string }) =>
`${ExternalApi}${api_host}/searches/${params.search_id}`,
getSearchDetailShare: `${ExternalApi}${api_host}/searchbots/detail`,
`${restAPIv1}/searches/${params.search_id}`,
getSearchDetailShare: `${restAPIv1}/searchbots/detail`,
updateSearchSetting: (params: { search_id: string }) =>
`${ExternalApi}${api_host}/searches/${params.search_id}`,
askShare: `${ExternalApi}${api_host}/searchbots/ask`,
mindmapShare: `${ExternalApi}${api_host}/searchbots/mindmap`,
getRelatedQuestionsShare: `${ExternalApi}${api_host}/searchbots/related_questions`,
retrievalTestShare: `${ExternalApi}${api_host}/searchbots/retrieval_test`,
`${restAPIv1}/searches/${params.search_id}`,
askShare: `${restAPIv1}/searchbots/ask`,
mindmapShare: `${restAPIv1}/searchbots/mindmap`,
getRelatedQuestionsShare: `${restAPIv1}/searchbots/related_questions`,
retrievalTestShare: `${restAPIv1}/searchbots/retrieval_test`,
// memory
createMemory: `${ExternalApi}${api_host}/memories`,
getMemoryList: `${ExternalApi}${api_host}/memories`,
getMemoryConfig: (id: string) =>
`${ExternalApi}${api_host}/memories/${id}/config`,
deleteMemory: (id: string) => `${ExternalApi}${api_host}/memories/${id}`,
getMemoryDetail: (id: string) => `${ExternalApi}${api_host}/memories/${id}`,
updateMemorySetting: (id: string) =>
`${ExternalApi}${api_host}/memories/${id}`,
createMemory: `${restAPIv1}/memories`,
getMemoryList: `${restAPIv1}/memories`,
getMemoryConfig: (id: string) => `${restAPIv1}/memories/${id}/config`,
deleteMemory: (id: string) => `${restAPIv1}/memories/${id}`,
getMemoryDetail: (id: string) => `${restAPIv1}/memories/${id}`,
updateMemorySetting: (id: string) => `${restAPIv1}/memories/${id}`,
deleteMemoryMessage: (data: { memory_id: string; message_id: string }) =>
`${ExternalApi}${api_host}/messages/${data.memory_id}:${data.message_id}`,
`${restAPIv1}/messages/${data.memory_id}:${data.message_id}`,
getMessageContent: (data: { memory_id: string; message_id: string }) =>
`${ExternalApi}${api_host}/messages/${data.memory_id}:${data.message_id}/content`,
`${restAPIv1}/messages/${data.memory_id}:${data.message_id}/content`,
updateMessageState: (data: { memory_id: string; message_id: string }) =>
`${ExternalApi}${api_host}/messages/${data.memory_id}:${data.message_id}`,
`${restAPIv1}/messages/${data.memory_id}:${data.message_id}`,
// data pipeline
fetchDataflow: (id: string) => `${api_host}/dataflow/get/${id}`,
setDataflow: `${api_host}/dataflow/set`,
removeDataflow: `${api_host}/dataflow/rm`,
listDataflow: `${api_host}/dataflow/list`,
runDataflow: `${api_host}/dataflow/run`,
fetchDataflow: (id: string) => `${webAPI}/dataflow/get/${id}`,
setDataflow: `${webAPI}/dataflow/set`,
removeDataflow: `${webAPI}/dataflow/rm`,
listDataflow: `${webAPI}/dataflow/list`,
runDataflow: `${webAPI}/dataflow/run`,
// admin
adminLogin: `${ExternalApi}${api_host}/admin/login`,
adminLogout: `${ExternalApi}${api_host}/admin/logout`,
adminListUsers: `${ExternalApi}${api_host}/admin/users`,
adminCreateUser: `${ExternalApi}${api_host}/admin/users`,
adminLogin: `${restAPIv1}/admin/login`,
adminLogout: `${restAPIv1}/admin/logout`,
adminListUsers: `${restAPIv1}/admin/users`,
adminCreateUser: `${restAPIv1}/admin/users`,
adminSetSuperuser: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/admin`,
`${restAPIv1}/admin/users/${username}/admin`,
adminGetUserDetails: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}`,
`${restAPIv1}/admin/users/${username}`,
adminUpdateUserStatus: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/activate`,
`${restAPIv1}/admin/users/${username}/activate`,
adminUpdateUserPassword: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/password`,
adminDeleteUser: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}`,
`${restAPIv1}/admin/users/${username}/password`,
adminDeleteUser: (username: string) => `${restAPIv1}/admin/users/${username}`,
adminListUserDatasets: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/datasets`,
`${restAPIv1}/admin/users/${username}/datasets`,
adminListUserAgents: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/agents`,
`${restAPIv1}/admin/users/${username}/agents`,
adminListServices: `${ExternalApi}${api_host}/admin/services`,
adminListServices: `${restAPIv1}/admin/services`,
adminShowServiceDetails: (serviceId: string) =>
`${ExternalApi}${api_host}/admin/services/${serviceId}`,
`${restAPIv1}/admin/services/${serviceId}`,
adminListRoles: `${ExternalApi}${api_host}/admin/roles`,
adminListRolesWithPermission: `${ExternalApi}${api_host}/admin/roles_with_permission`,
adminListRoles: `${restAPIv1}/admin/roles`,
adminListRolesWithPermission: `${restAPIv1}/admin/roles_with_permission`,
adminGetRolePermissions: (roleName: string) =>
`${ExternalApi}${api_host}/admin/roles/${roleName}/permissions`,
`${restAPIv1}/admin/roles/${roleName}/permissions`,
adminAssignRolePermissions: (roleName: string) =>
`${ExternalApi}${api_host}/admin/roles/${roleName}/permission`,
`${restAPIv1}/admin/roles/${roleName}/permission`,
adminRevokeRolePermissions: (roleName: string) =>
`${ExternalApi}${api_host}/admin/roles/${roleName}/permission`,
adminCreateRole: `${ExternalApi}${api_host}/admin/roles`,
adminDeleteRole: (roleName: string) =>
`${ExternalApi}${api_host}/admin/roles/${roleName}`,
`${restAPIv1}/admin/roles/${roleName}/permission`,
adminCreateRole: `${restAPIv1}/admin/roles`,
adminDeleteRole: (roleName: string) => `${restAPIv1}/admin/roles/${roleName}`,
adminUpdateRoleDescription: (roleName: string) =>
`${ExternalApi}${api_host}/admin/roles/${roleName}`,
`${restAPIv1}/admin/roles/${roleName}`,
adminUpdateUserRole: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/role`,
`${restAPIv1}/admin/users/${username}/role`,
adminGetUserPermissions: (username: string) =>
`${ExternalApi}${api_host}/admin/users/${username}/permissions`,
`${restAPIv1}/admin/users/${username}/permissions`,
adminListResources: `${ExternalApi}${api_host}/admin/roles/resource`,
adminListResources: `${restAPIv1}/admin/roles/resource`,
adminListWhitelist: `${ExternalApi}${api_host}/admin/whitelist`,
adminCreateWhitelistEntry: `${ExternalApi}${api_host}/admin/whitelist/add`,
adminListWhitelist: `${restAPIv1}/admin/whitelist`,
adminCreateWhitelistEntry: `${restAPIv1}/admin/whitelist/add`,
adminUpdateWhitelistEntry: (id: number) =>
`${ExternalApi}${api_host}/admin/whitelist/${id}`,
`${restAPIv1}/admin/whitelist/${id}`,
adminDeleteWhitelistEntry: (email: string) =>
`${ExternalApi}${api_host}/admin/whitelist/${email}`,
adminImportWhitelist: `${ExternalApi}${api_host}/admin/whitelist/batch`,
`${restAPIv1}/admin/whitelist/${email}`,
adminImportWhitelist: `${restAPIv1}/admin/whitelist/batch`,
adminGetSystemVersion: `${ExternalApi}${api_host}/admin/version`,
adminGetSystemVersion: `${restAPIv1}/admin/version`,
// Sandbox settings
adminListSandboxProviders: `${ExternalApi}${api_host}/admin/sandbox/providers`,
adminListSandboxProviders: `${restAPIv1}/admin/sandbox/providers`,
adminGetSandboxProviderSchema: (providerId: string) =>
`${ExternalApi}${api_host}/admin/sandbox/providers/${providerId}/schema`,
adminGetSandboxConfig: `${ExternalApi}${api_host}/admin/sandbox/config`,
adminSetSandboxConfig: `${ExternalApi}${api_host}/admin/sandbox/config`,
adminTestSandboxConnection: `${ExternalApi}${api_host}/admin/sandbox/test`,
`${restAPIv1}/admin/sandbox/providers/${providerId}/schema`,
adminGetSandboxConfig: `${restAPIv1}/admin/sandbox/config`,
adminSetSandboxConfig: `${restAPIv1}/admin/sandbox/config`,
adminTestSandboxConnection: `${restAPIv1}/admin/sandbox/test`,
};