🎨 移除多余模块
This commit is contained in:
@@ -26,28 +26,17 @@
|
||||
- `sysVersion` 版本管理
|
||||
- `sysError` 错误日志
|
||||
|
||||
### 示例模块
|
||||
|
||||
- `breakpoint` 断点续传
|
||||
- `customer` 客户列表示例
|
||||
|
||||
### 公共模块
|
||||
|
||||
- `upload` 媒体库
|
||||
- `breakpoint` 断点续传
|
||||
|
||||
### 编程辅助
|
||||
|
||||
- `autoPkg` 模板配置
|
||||
- `autoCode` 代码生成器
|
||||
- `autoCodeAdmin` 自动化代码管理
|
||||
- `formCreate` 表单生成器
|
||||
- `aiWorkflow` AI 需求工作流
|
||||
- `exportTemplate` 导出模板
|
||||
- `mcpTest` Mcp Tools 管理
|
||||
- `mcpTool` Mcp Tools 模板
|
||||
- `skills` Skills 管理
|
||||
- `picture` AI 页面绘制
|
||||
- `autoCodeEdit/:id` 隐藏编辑路由
|
||||
- `mcpTest` MCP Tools 管理
|
||||
- `mcpTool` MCP Tools 模板
|
||||
|
||||
## 主要接口分组
|
||||
|
||||
@@ -168,19 +157,12 @@
|
||||
- 版本管理
|
||||
- 媒体库
|
||||
- 断点续传
|
||||
- 客户列表示例
|
||||
- 模板配置
|
||||
- 代码生成器
|
||||
- 自动化代码管理
|
||||
- 表单生成器
|
||||
- AI 需求工作流
|
||||
- 导出模板
|
||||
- Mcp Tools 管理
|
||||
- Mcp Tools 模板
|
||||
- Skills 管理
|
||||
- AI 页面绘制
|
||||
- MCP Tools 管理
|
||||
- MCP Tools 模板
|
||||
|
||||
## 说明
|
||||
|
||||
- 新后台没有修改后端协议,仍然复用原有 token、菜单、权限和接口格式。
|
||||
- 当前仍有部分研发辅助类重模块保留为入口页,原因不是无法实现,而是这些模块交互面太大,适合单独拆阶段继续重构。
|
||||
- 当前仍有部分研发辅助模块保留为入口页,原因不是无法实现,而是这些模块交互面较大,适合单独拆阶段继续重构。
|
||||
|
||||
@@ -21,6 +21,10 @@ import { OperationLogPage } from '@/features/logs/OperationLogPage'
|
||||
import { SystemConfigPage } from '@/features/system/SystemConfigPage'
|
||||
import { ApiTokenPage } from '@/features/tokens/ApiTokenPage'
|
||||
import { ErrorLogPage } from '@/features/errors/ErrorLogPage'
|
||||
import { MediaLibraryPage } from '@/features/media/MediaLibraryPage'
|
||||
import { BreakpointPage } from '@/features/breakpoint/BreakpointPage'
|
||||
import { McpTestPage } from '@/features/mcp/McpTestPage'
|
||||
import { McpToolPage } from '@/features/mcp/McpToolPage'
|
||||
|
||||
type AppRoute = {
|
||||
path: string
|
||||
@@ -45,22 +49,13 @@ const appRoutes: AppRoute[] = [
|
||||
{ path: 'admin/sysVersion', menuName: 'sysVersion', element: <ModuleLandingPage moduleName="sysVersion" /> },
|
||||
{ path: 'admin/sysError', menuName: 'sysError', element: <ErrorLogPage /> },
|
||||
{ path: 'common', menuName: 'common', element: <ModuleLandingPage moduleName="common" /> },
|
||||
{ path: 'common/upload', menuName: 'upload', element: <ModuleLandingPage moduleName="upload" /> },
|
||||
{ path: 'example', menuName: 'example', element: <ModuleLandingPage moduleName="example" /> },
|
||||
{ path: 'example/breakpoint', menuName: 'breakpoint', element: <ModuleLandingPage moduleName="breakpoint" /> },
|
||||
{ path: 'example/customer', menuName: 'customer', element: <ModuleLandingPage moduleName="customer" /> },
|
||||
{ path: 'common/upload', menuName: 'upload', element: <MediaLibraryPage /> },
|
||||
{ path: 'common/breakpoint', menuName: 'breakpoint', element: <BreakpointPage /> },
|
||||
{ path: 'systemTools', menuName: 'systemTools', element: <ModuleLandingPage moduleName="systemTools" /> },
|
||||
{ path: 'systemTools/autoPkg', menuName: 'autoPkg', element: <ModuleLandingPage moduleName="autoPkg" /> },
|
||||
{ path: 'systemTools/autoCode', menuName: 'autoCode', element: <ModuleLandingPage moduleName="autoCode" /> },
|
||||
{ path: 'systemTools/autoCodeAdmin', menuName: 'autoCodeAdmin', element: <ModuleLandingPage moduleName="autoCodeAdmin" /> },
|
||||
{ path: 'systemTools/formCreate', menuName: 'formCreate', element: <ModuleLandingPage moduleName="formCreate" /> },
|
||||
{ path: 'systemTools/aiWorkflow', menuName: 'aiWorkflow', element: <ModuleLandingPage moduleName="aiWorkflow" /> },
|
||||
{ path: 'systemTools/exportTemplate', menuName: 'exportTemplate', element: <ModuleLandingPage moduleName="exportTemplate" /> },
|
||||
{ path: 'systemTools/mcpTest', menuName: 'mcpTest', element: <ModuleLandingPage moduleName="mcpTest" /> },
|
||||
{ path: 'systemTools/mcpTool', menuName: 'mcpTool', element: <ModuleLandingPage moduleName="mcpTool" /> },
|
||||
{ path: 'systemTools/skills', menuName: 'skills', element: <ModuleLandingPage moduleName="skills" /> },
|
||||
{ path: 'systemTools/picture', menuName: 'picture', element: <ModuleLandingPage moduleName="picture" /> },
|
||||
{ path: 'systemTools/autoCodeEdit/:id', menuName: 'autoCodeEdit', element: <ModuleLandingPage moduleName="autoCodeEdit" /> },
|
||||
{ path: 'systemTools/mcpTest', menuName: 'mcpTest', element: <McpTestPage /> },
|
||||
{ path: 'systemTools/mcpTool', menuName: 'mcpTool', element: <McpToolPage /> },
|
||||
{ path: 'person', menuName: 'person', element: <ProfilePage /> },
|
||||
{ path: 'state', menuName: 'state', element: <ServerStatePage /> },
|
||||
]
|
||||
|
||||
@@ -142,18 +142,9 @@ export const moduleCatalog: Record<string, ModuleDescriptor> = {
|
||||
group: '公共模块',
|
||||
status: 'partial',
|
||||
summary: '承载多端复用的公共功能,不再挂在示例目录下。',
|
||||
features: ['公共上传能力', '后续 app 复用入口'],
|
||||
features: ['媒体库', '断点续传', '后续 app 复用入口'],
|
||||
endpoints: ['/fileUploadAndDownload/getFileList', '/attachmentCategory/getCategoryList'],
|
||||
},
|
||||
example: {
|
||||
name: 'example',
|
||||
title: '示例文件',
|
||||
group: '业务示例',
|
||||
status: 'partial',
|
||||
summary: '保留和业务演示直接相关的示例页面。',
|
||||
features: ['断点续传', '客户资源示例'],
|
||||
endpoints: ['/customer/customerList'],
|
||||
},
|
||||
upload: {
|
||||
name: 'upload',
|
||||
title: '媒体库',
|
||||
@@ -166,56 +157,20 @@ export const moduleCatalog: Record<string, ModuleDescriptor> = {
|
||||
breakpoint: {
|
||||
name: 'breakpoint',
|
||||
title: '断点续传',
|
||||
group: '业务示例',
|
||||
group: '公共模块',
|
||||
status: 'partial',
|
||||
summary: '展示大文件切片上传流程。',
|
||||
features: ['文件校验', '分片上传', '合并完成'],
|
||||
endpoints: ['/fileUploadAndDownload/findFile', '/fileUploadAndDownload/breakpointContinue'],
|
||||
},
|
||||
customer: {
|
||||
name: 'customer',
|
||||
title: '客户列表',
|
||||
group: '业务示例',
|
||||
status: 'partial',
|
||||
summary: '示例业务资源表,用于展示普通 CRUD 模式。',
|
||||
features: ['客户列表', '增删改查'],
|
||||
endpoints: ['/customer/customerList', '/customer/customer'],
|
||||
},
|
||||
systemTools: {
|
||||
name: 'systemTools',
|
||||
title: '编程辅助',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '聚合代码生成、模板配置、技能管理和 AI 工作流。',
|
||||
features: ['代码生成器', '模板配置', 'Skills 管理', 'AI 页面绘制'],
|
||||
endpoints: ['/autoCode/getDB', '/skills/getSkillList'],
|
||||
},
|
||||
autoPkg: {
|
||||
name: 'autoPkg',
|
||||
title: '模板配置',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '维护自动代码生成模板。',
|
||||
features: ['模板列表', '模板文件'],
|
||||
endpoints: ['/autoCode/createPackage', '/autoCode/getPackage', '/autoCode/getTemplates'],
|
||||
},
|
||||
autoCode: {
|
||||
name: 'autoCode',
|
||||
title: '代码生成器',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '自动生成表单、接口、服务和路由代码。',
|
||||
features: ['库表发现', '代码预览', '代码生成'],
|
||||
endpoints: ['/autoCode/getDB', '/autoCode/getTables', '/autoCode/preview', '/autoCode/createTemp'],
|
||||
},
|
||||
autoCodeAdmin: {
|
||||
name: 'autoCodeAdmin',
|
||||
title: '自动化代码管理',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '管理自动化代码任务和函数模板。',
|
||||
features: ['任务管理', '模板方法'],
|
||||
endpoints: ['/autoCode/getMeta', '/autoCode/addFunc'],
|
||||
summary: '聚合表单设计、导出模板和 MCP 管理等研发辅助能力。',
|
||||
features: ['表单设计', '导出模板', 'MCP 管理'],
|
||||
endpoints: ['/sysExportTemplate/getSysExportTemplateList', '/mcp/status'],
|
||||
},
|
||||
formCreate: {
|
||||
name: 'formCreate',
|
||||
@@ -226,15 +181,6 @@ export const moduleCatalog: Record<string, ModuleDescriptor> = {
|
||||
features: ['表单设计'],
|
||||
endpoints: [],
|
||||
},
|
||||
aiWorkflow: {
|
||||
name: 'aiWorkflow',
|
||||
title: 'AI 需求工作流',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '管理 AI 会话和需求工作流结果。',
|
||||
features: ['会话列表', '会话详情', 'Markdown 落盘'],
|
||||
endpoints: ['/autoCode/getAIWorkflowSessionList', '/autoCode/getAIWorkflowSessionDetail'],
|
||||
},
|
||||
exportTemplate: {
|
||||
name: 'exportTemplate',
|
||||
title: '导出模板',
|
||||
@@ -246,39 +192,21 @@ export const moduleCatalog: Record<string, ModuleDescriptor> = {
|
||||
},
|
||||
mcpTest: {
|
||||
name: 'mcpTest',
|
||||
title: 'Mcp Tools 管理',
|
||||
title: 'MCP Tools 管理',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '围绕 MCP Tool 的状态、测试和服务控制。',
|
||||
features: ['服务状态', '测试调用'],
|
||||
endpoints: ['/autoCode/mcpStatus', '/autoCode/mcpTest', '/autoCode/mcpList'],
|
||||
summary: '围绕 MCP Tool 的状态、测试和独立服务控制。',
|
||||
features: ['服务状态', '工具列表', '测试调用'],
|
||||
endpoints: ['/mcp/status', '/mcp/tools', '/mcp/test'],
|
||||
},
|
||||
mcpTool: {
|
||||
name: 'mcpTool',
|
||||
title: 'Mcp Tools 模板',
|
||||
title: 'MCP Tools 模板',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '生成 MCP Tool 模板代码。',
|
||||
features: ['模板生成'],
|
||||
endpoints: ['/autoCode/mcp'],
|
||||
},
|
||||
skills: {
|
||||
name: 'skills',
|
||||
title: 'Skills 管理',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '管理技能定义、脚本、资源、模板和全局约束。',
|
||||
features: ['技能列表', '脚本资源管理', '技能打包'],
|
||||
endpoints: ['/skills/getSkillList', '/skills/saveSkill', '/skills/packageSkill'],
|
||||
},
|
||||
picture: {
|
||||
name: 'picture',
|
||||
title: 'AI 页面绘制',
|
||||
group: '研发辅助',
|
||||
status: 'partial',
|
||||
summary: '基于 AI 描述生成页面草图。',
|
||||
features: ['图像工作台'],
|
||||
endpoints: ['/autoCode/llmAuto'],
|
||||
endpoints: ['/mcp/createTool'],
|
||||
},
|
||||
person: {
|
||||
name: 'person',
|
||||
|
||||
@@ -29,8 +29,6 @@ const componentOptions: ComponentOption[] = [
|
||||
{ value: 'features/errors/ErrorLogPage', label: 'ErrorLogPage · 错误日志', routeName: 'sysError' },
|
||||
{ value: 'features/person/ProfilePage', label: 'ProfilePage · 个人中心', routeName: 'person' },
|
||||
{ value: 'features/server/ServerStatePage', label: 'ServerStatePage · 服务器状态', routeName: 'state' },
|
||||
{ value: 'features/mcp/McpTestPage', label: 'McpTestPage · MCP Tools 管理', routeName: 'mcpTest' },
|
||||
{ value: 'features/mcp/McpToolPage', label: 'McpToolPage · MCP Tools 模板', routeName: 'mcpTool' },
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:superAdmin',
|
||||
label: 'ModuleLandingPage · 超级管理员',
|
||||
@@ -47,8 +45,8 @@ const componentOptions: ComponentOption[] = [
|
||||
routeName: 'upload',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:breakpoint',
|
||||
label: 'ModuleLandingPage · 断点续传',
|
||||
value: 'features/breakpoint/BreakpointPage',
|
||||
label: 'BreakpointPage · 断点续传',
|
||||
routeName: 'breakpoint',
|
||||
},
|
||||
{
|
||||
@@ -56,51 +54,14 @@ const componentOptions: ComponentOption[] = [
|
||||
label: 'ModuleLandingPage · 编程辅助',
|
||||
routeName: 'systemTools',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:aiWorkflow',
|
||||
label: 'ModuleLandingPage · AI 需求工作流',
|
||||
routeName: 'aiWorkflow',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:exportTemplate',
|
||||
label: 'ModuleLandingPage · 导出模板',
|
||||
routeName: 'exportTemplate',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:example',
|
||||
label: 'ModuleLandingPage · 示例文件',
|
||||
routeName: 'example',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:customer',
|
||||
label: 'ModuleLandingPage · 客户列表示例',
|
||||
routeName: 'customer',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:plugin',
|
||||
label: 'ModuleLandingPage · 插件系统',
|
||||
routeName: 'plugin',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:installPlugin',
|
||||
label: 'ModuleLandingPage · 插件安装',
|
||||
routeName: 'installPlugin',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:pubPlug',
|
||||
label: 'ModuleLandingPage · 打包插件',
|
||||
routeName: 'pubPlug',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:plugin-email',
|
||||
label: 'ModuleLandingPage · 邮件插件',
|
||||
routeName: 'plugin-email',
|
||||
},
|
||||
{
|
||||
value: 'features/discovery/ModuleLandingPage:anInfo',
|
||||
label: 'ModuleLandingPage · 公告管理示例',
|
||||
routeName: 'anInfo',
|
||||
},
|
||||
{ value: 'features/mcp/McpTestPage', label: 'McpTestPage · MCP Tools 管理', routeName: 'mcpTest' },
|
||||
{ value: 'features/mcp/McpToolPage', label: 'McpToolPage · MCP Tools 模板', routeName: 'mcpTool' },
|
||||
{ value: 'features/media/MediaLibraryPage', label: 'MediaLibraryPage · 媒体库', routeName: 'upload' },
|
||||
]
|
||||
|
||||
const componentRouteNameMap = new Map(componentOptions.map((item) => [item.value, item.routeName]))
|
||||
|
||||
@@ -2,12 +2,19 @@ import { http } from './http'
|
||||
import type {
|
||||
ApiRecord,
|
||||
ApiTokenRecord,
|
||||
AttachmentCategory,
|
||||
Authority,
|
||||
CaptchaInfo,
|
||||
Dictionary,
|
||||
DictionaryDetail,
|
||||
LoginLog,
|
||||
LoginResult,
|
||||
McpContent,
|
||||
McpManagedStatus,
|
||||
McpServerConfig,
|
||||
McpToolDescriptor,
|
||||
McpToolTemplateRequest,
|
||||
MediaFileRecord,
|
||||
MenuNode,
|
||||
OperationRecord,
|
||||
PagePayload,
|
||||
@@ -273,3 +280,61 @@ export const inventoryApi = {
|
||||
return http.post<{ server: Record<string, unknown> }>('/system/getServerInfo')
|
||||
},
|
||||
}
|
||||
|
||||
export const mediaLibraryApi = {
|
||||
getCategoryList() {
|
||||
return http.get<AttachmentCategory[]>('/attachmentCategory/getCategoryList')
|
||||
},
|
||||
saveCategory(payload: Partial<AttachmentCategory>) {
|
||||
return http.post<Record<string, never>>('/attachmentCategory/addCategory', payload)
|
||||
},
|
||||
deleteCategory(id: number) {
|
||||
return http.post<Record<string, never>>('/attachmentCategory/deleteCategory', { id })
|
||||
},
|
||||
getFileList(payload: Record<string, unknown>) {
|
||||
return http.post<PagePayload<MediaFileRecord>>('/fileUploadAndDownload/getFileList', payload)
|
||||
},
|
||||
editFile(payload: Partial<MediaFileRecord>) {
|
||||
return http.post<Record<string, never>>('/fileUploadAndDownload/editFileName', payload)
|
||||
},
|
||||
deleteFile(id: number) {
|
||||
return http.post<Record<string, never>>('/fileUploadAndDownload/deleteFile', { ID: id })
|
||||
},
|
||||
}
|
||||
|
||||
export const breakpointApi = {
|
||||
findFile(params: { fileMd5: string; fileName: string; chunkTotal: number }) {
|
||||
return http.get<{ file: Record<string, unknown> }>('/fileUploadAndDownload/findFile', { params })
|
||||
},
|
||||
finish(params: { fileMd5: string; fileName: string }) {
|
||||
return http.post<{ filePath: string }>('/fileUploadAndDownload/breakpointContinueFinish', undefined, { params })
|
||||
},
|
||||
removeChunk(payload: { fileMd5: string; filePath: string }) {
|
||||
return http.post<Record<string, never>>('/fileUploadAndDownload/removeChunk', payload)
|
||||
},
|
||||
}
|
||||
|
||||
export const mcpApi = {
|
||||
getStatus() {
|
||||
return http.get<{ status: McpManagedStatus; mcpServerConfig: McpServerConfig }>('/mcp/status')
|
||||
},
|
||||
start() {
|
||||
return http.post<{ status: McpManagedStatus; mcpServerConfig: McpServerConfig }>('/mcp/start')
|
||||
},
|
||||
stop() {
|
||||
return http.post<{ status: McpManagedStatus; mcpServerConfig: McpServerConfig }>('/mcp/stop')
|
||||
},
|
||||
getList() {
|
||||
return http.get<{
|
||||
status: McpManagedStatus
|
||||
mcpServerConfig: McpServerConfig
|
||||
list: { tools: McpToolDescriptor[] }
|
||||
}>('/mcp/tools')
|
||||
},
|
||||
test(payload: { name: string; arguments: Record<string, unknown> }) {
|
||||
return http.post<McpContent[]>('/mcp/test', payload)
|
||||
},
|
||||
createTool(payload: McpToolTemplateRequest) {
|
||||
return http.post<Record<string, never>>('/mcp/createTool', payload)
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'customer',
|
||||
}
|
||||
|
||||
export default createModulePage('customer')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'example',
|
||||
}
|
||||
|
||||
export default createModulePage('example')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'anInfo',
|
||||
}
|
||||
|
||||
export default createModulePage('anInfo')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'installPlugin',
|
||||
}
|
||||
|
||||
export default createModulePage('installPlugin')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'plugin',
|
||||
}
|
||||
|
||||
export default createModulePage('plugin')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'plugin-email',
|
||||
}
|
||||
|
||||
export default createModulePage('plugin-email')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'pubPlug',
|
||||
}
|
||||
|
||||
export default createModulePage('pubPlug')
|
||||
@@ -1,7 +0,0 @@
|
||||
import { createModulePage } from '@/router/createModulePage'
|
||||
|
||||
export const routeMeta = {
|
||||
menuName: 'aiWorkflow',
|
||||
}
|
||||
|
||||
export default createModulePage('aiWorkflow')
|
||||
@@ -158,6 +158,79 @@ export type SysErrorRecord = BaseEntity & {
|
||||
status?: string
|
||||
}
|
||||
|
||||
export type AttachmentCategory = BaseEntity & {
|
||||
name: string
|
||||
pid: number
|
||||
children?: AttachmentCategory[]
|
||||
}
|
||||
|
||||
export type MediaFileRecord = BaseEntity & {
|
||||
name: string
|
||||
classId: number
|
||||
url: string
|
||||
tag: string
|
||||
key: string
|
||||
}
|
||||
|
||||
export type JsonSchema = {
|
||||
type?: string
|
||||
properties?: Record<string, JsonSchema>
|
||||
items?: JsonSchema
|
||||
enum?: unknown[]
|
||||
default?: unknown
|
||||
}
|
||||
|
||||
export type McpContent = {
|
||||
type: string
|
||||
text?: string
|
||||
data?: string
|
||||
mimeType?: string
|
||||
}
|
||||
|
||||
export type McpManagedStatus = {
|
||||
state: string
|
||||
managed: boolean
|
||||
reachable: boolean
|
||||
starting: boolean
|
||||
baseURL: string
|
||||
healthURL: string
|
||||
listenAddr: string
|
||||
path: string
|
||||
authHeader: string
|
||||
pid?: number
|
||||
logPath?: string
|
||||
startedAt?: string
|
||||
lastError?: string
|
||||
message?: string
|
||||
}
|
||||
|
||||
export type McpServerConfig = {
|
||||
mcpServers?: Record<string, { url: string; headers?: Record<string, string> }>
|
||||
}
|
||||
|
||||
export type McpToolDescriptor = {
|
||||
name: string
|
||||
description?: string
|
||||
inputSchema?: JsonSchema | Record<string, unknown>
|
||||
}
|
||||
|
||||
export type McpToolTemplateRequest = {
|
||||
name: string
|
||||
description: string
|
||||
params: Array<{
|
||||
name: string
|
||||
description: string
|
||||
type: string
|
||||
required: boolean
|
||||
default?: string
|
||||
}>
|
||||
response: Array<{
|
||||
type: string
|
||||
}>
|
||||
}
|
||||
|
||||
export type AutoMcpToolRequest = McpToolTemplateRequest
|
||||
|
||||
export type ModuleStatus = 'ready' | 'partial' | 'planned'
|
||||
|
||||
export type ModuleDescriptor = {
|
||||
|
||||
Reference in New Issue
Block a user