Merge branch 'develop' into feature/ui_upgrade_zy

This commit is contained in:
zhaoying
2026-03-20 11:49:00 +08:00
286 changed files with 23406 additions and 5328 deletions

View File

@@ -2,11 +2,11 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 13:59:45
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-03-03 12:08:42
* @Last Modified time: 2026-03-19 20:42:23
*/
import { request } from '@/utils/request'
import type { ApplicationModalData } from '@/views/ApplicationManagement/types'
import type { Config } from '@/views/ApplicationConfig/types'
import type { Config, AppSharingForm } from '@/views/ApplicationConfig/types'
import { handleSSE, type SSEMessage } from '@/utils/stream'
import type { QueryParams } from '@/views/Conversation/types'
import type { WorkflowConfig } from '@/views/Workflow/types'
@@ -113,8 +113,8 @@ export const getShareToken = (share_token: string, user_id: string) => {
return request.post(`/public/share/${share_token}/token`, { user_id })
}
// Copy application
export const copyApplication = (app_id: string, new_name: string) => {
return request.post(`/apps/${app_id}/copy?new_name=${new_name}`)
export const copyApplication = (app_id: string, new_name?: string) => {
return request.post(`/apps/${app_id}/copy`, { new_name })
}
// Data statistics
export const getAppStatistics = (app_id: string, data: { start_date: number; end_date: number; }) => {
@@ -139,4 +139,34 @@ export const getExperienceConfig = (share_token: string) => {
// Get workspace API call statistics
export const getWorkspaceApiStatistics = (data: { start_date: number; end_date: number; }) => {
return request.get(`/apps/workspace/api-statistics`, data)
}
}
// Export application
export const appExport = (app_id: string, appName: string, data?: { release_id: string }) => {
return request.getDownloadFile(`/apps/${app_id}/export`, `${appName}.yml`, data)
}
// Import application
export const appImport = (formData: FormData) => {
return request.uploadFile(`/apps/import`, formData)
}
// Share application
export const appSharing = (app_id: string, data: AppSharingForm) => {
return request.post(`/apps/${app_id}/share`, data)
}
// Get my shared application records
export const mySharedOutList = () => {
return request.get(`/apps/my-shared-out`)
}
// Get sharing records for a specific application
export const getAppShares = (app_id: string) => {
return request.get(`/apps/${app_id}/shares`)
}
// Cancel a single share (source side operation)
export const cancelShare = (app_id: string, target_workspace_id?: string) => {
return request.delete(`/apps/${app_id}/share/${target_workspace_id}`)
}
// Cancel all shares under a workspace (source side operation)
export const cancelSpaceShare = (target_workspace_id?: string) => {
return request.delete(`/apps/share/${target_workspace_id}`)
}

View File

@@ -2,9 +2,10 @@
* @Author: ZhaoYing
* @Date: 2026-02-03 14:00:06
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-03-04 10:58:41
* @Last Modified time: 2026-03-13 10:48:41
*/
import { request } from '@/utils/request'
import type { AxiosRequestConfig } from 'axios'
import type {
MemoryFormData,
} from '@/views/MemoryManagement/types'
@@ -94,8 +95,12 @@ export const updatedEndUserProfile = (values: EndUser) => {
return request.post(`/memory-storage/updated_end_user/profile`, values)
}
// User Memory - Relationship network
export const getMemorySearchEdges = (end_user_id: string) => {
return request.get(`/memory-storage/analytics/graph_data`, { end_user_id })
export const getMemorySearchEdges = (end_user_id: string, config?: AxiosRequestConfig) => {
return request.get(`/memory-storage/analytics/graph_data`, { end_user_id }, config)
}
// User Memory - Community graph
export const getMemoryCommunityGraph = (end_user_id: string, config?: AxiosRequestConfig) => {
return request.get(`/memory-storage/analytics/community_graph`, { end_user_id }, config)
}
// User Memory - User interest distribution
export const getInterestDistributionByUser = (end_user_id: string) => {
@@ -118,8 +123,9 @@ export const getChunkInsight = (end_user_id: string) => {
return request.get(`/dashboard/chunk_insight`, { end_user_id })
}
// RAG User Memory - Storage content
export const getRagContent = (end_user_id: string) => {
return request.get(`/dashboard/rag_content`, { end_user_id, limit: 20 })
export const getRagContentUrl = '/dashboard/rag_content'
export const getRagContent = (end_user_id: string, page = 1, pagesize = 20) => {
return request.get(getRagContentUrl, { end_user_id, page, pagesize })
}
// Emotion distribution analysis
export const getWordCloud = (end_user_id: string) => {
@@ -224,6 +230,10 @@ export const getConversationDetail = (end_user_id: string, conversation_id: stri
export const forgetTrigger = (data: { max_merge_batch_size: number; min_days_since_access: number; end_user_id: string;}) => {
return request.post(`/memory/forget-memory/trigger`, data)
}
// RAG type - Refresh RAG user summary and memory insight
export const generateRagProfile = (end_user_id: string) => {
return request.post(`/dashboard/generate_rag_profile`, { end_user_id })
}
/*************** end User Memory APIs ******************************/
/****************** Memory Management APIs *******************************/

View File

@@ -41,12 +41,12 @@ export const deleteCompositeModel = (model_id: string) => {
return request.delete(`/models/composite/${model_id}`)
}
// Create API keys for all matching models by provider
export const updateProviderApiKeys = (data: KeyConfigModalForm) => {
return request.post('/models/provider/apikeys', data)
export const updateProviderApiKeys = (data: KeyConfigModalForm, signal?: AbortSignal) => {
return request.post('/models/provider/apikeys', data, { signal })
}
// Create model API key
export const addModelApiKey = (model_id: string, data: MultiKeyForm) => {
return request.post(`/models/${model_id}/apikeys`, data)
export const addModelApiKey = (model_id: string, data: MultiKeyForm, signal?: AbortSignal) => {
return request.post(`/models/${model_id}/apikeys`, data, { signal })
}
// Delete model API key
export const deleteModelApiKey = (api_key_id: string) => {
@@ -65,10 +65,10 @@ export const addModelPlaza = (model_base_id: string) => {
return request.post(`/models/model_plaza/${model_base_id}/add`)
}
// Create custom model
export const addCustomModel = (data: CustomModelForm) => {
return request.post('/models', data)
export const addCustomModel = (data: CustomModelForm, signal?: AbortSignal) => {
return request.post('/models', data, { signal })
}
// Update custom model
export const updateCustomModel = (model_base_id: string, data: CustomModelForm) => {
return request.put(`/models/${model_base_id}`, data)
export const updateCustomModel = (model_base_id: string, data: CustomModelForm, signal?: AbortSignal) => {
return request.put(`/models/${model_base_id}`, data, { signal })
}

View File

@@ -1,17 +1,17 @@
import { request } from '@/utils/request'
import type { Query, CustomToolItem, ExecuteData, MCPToolItem, InnerToolItem } from '@/views/ToolManagement/types'
import type { Query, MarketQuery, CustomToolItem, ExecuteData, MCPToolItem, InnerToolItem } from '@/views/ToolManagement/types'
// 工具列表
export const getTools = (data: Query) => {
return request.get('/tools', data)
}
// 创建MCP工具
export const addTool = (values: MCPToolItem | CustomToolItem) => {
return request.post('/tools', values)
export const addTool = (values: MCPToolItem | CustomToolItem, config?: { signal?: AbortSignal }) => {
return request.post('/tools', values, config)
}
// 更新工具
export const updateTool = (tool_id: string, data: MCPToolItem | InnerToolItem | CustomToolItem) => {
return request.put(`/tools/${tool_id}`, data)
export const updateTool = (tool_id: string, data: MCPToolItem | InnerToolItem | CustomToolItem, config?: { signal?: AbortSignal }) => {
return request.put(`/tools/${tool_id}`, data, config)
}
// 删除工具
export const deleteTool = (tool_id: string) => {
@@ -33,4 +33,44 @@ export const getToolDetail = (tool_id: string) => {
}
export const getToolMethods = (tool_id: string) => {
return request.get(`/tools/${tool_id}/methods`)
}
// MCP市场列表
export const getMarketTools = (data?: Record<string, any>) => {
return request.get('/mcp_markets/mcp_markets', data)
}
// 市场配置创建
export const createMarketConfig = (values: {
mcp_market_id: string;
token: string;
status: number;
}) => {
return request.post('/mcp_market_configs/mcp_market_config', values)
}
// 市场配置更新
export const updateMarketConfig = (values: {
mcp_market_config_id: string;
token: string;
status: number;
}) => {
return request.put(`/mcp_market_configs/${values.mcp_market_config_id}`, values)
}
// 市场根据id获取配置
export const getMarketConfig = (mcp_market_id: string) => {
return request.get(`/mcp_market_configs/mcp_market_id/${mcp_market_id}`)
}
// 市场MCP列表
export const getMarketMCPs = (data: MarketQuery) => {
return request.get('/mcp_market_configs/mcp_servers', data)
}
// 根据配置ID serverId 获取MCP服务详情
export const getMarketMCPDetail = (data:{
mcp_market_config_id: string;
server_id: string;
}) => {
return request.get(`/mcp_market_configs/mcp_server`,data)
}
// 市场已激活MCP列表
export const getMarketMCPsActivated = (data: MarketQuery) => {
return request.get('/mcp_market_configs/operational_mcp_servers', data)
}

View File

@@ -1,16 +1,16 @@
/*
* @Author: ZhaoYing
* @Date: 2026-02-03 14:00:26
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-02-03 14:00:26
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-03-13 15:29:03
*/
import { request } from '@/utils/request'
import type { SpaceModalData } from '@/views/SpaceManagement/types'
import type { SpaceConfigData } from '@/views/SpaceConfig/types'
// Workspace list
export const getWorkspaces = () => {
return request.get('/workspaces')
export const getWorkspaces = (data?: { include_current?: boolean }) => {
return request.get('/workspaces', data)
}
// Create workspace
export const createWorkspace = (values: SpaceModalData) => {