forked from ChaiHao/BPOS-MVP
三面拆分⑫:设计台九区一级目录 —— 一区一内容,测试台收成单例仿真
设计中心从「蓝图 + 四库」摊成九区,顺序即设计的次序: 蓝图 → 触发器 → 流程包 → 活动库 → 工具箱 → 数据域 → 知识库 → 大模型 → 测试台。 触发器与大模型从「并进流程包 / 塞在系统区」里拿出来独立成区 —— 前者与流程包平级 (不入包结构、不随包版本),后者是设计者天天要碰的东西;知识库先立个诚实的空占位。 一区一内容,于是区内页签栏整条删掉(壳层在只剩一格时收起): · 流程包:总览的三枚计数并进货架顶端 · 测试台:入站邮件演练移到触发器区就地验(它验的正是那一区定的规则) · 大模型:从系统区拆出,系统区只剩通道实例 测试台一次只跑一条流。起单前先销毁上一单,刷新页面能认回在跑的那一单, 「停止仿真」把工作流连同它派出的任务、工单、实例、留痕一并拔掉 —— 不留半单挂在别人工作台上。实测:起单 → 1 单落到 AI 工作台 → 停止 → 库里零残留。 功能工具补中文名(migration 0018,读回退到逻辑名),治理台一律主显示中文名。 顺带清掉几处说教式文案(「这些是工具,不是模型 —— 模型是它们跑在上面的发动机…」那类)。 五闸:typecheck / lint / depcruise / test 绿;api:check 快照随本提交入库。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
@@ -339,6 +339,8 @@ export const registerToolRoute = {
|
||||
body: z.object({
|
||||
contract: z.object({
|
||||
name: z.string().min(1),
|
||||
/** 中文名 —— 治理台主显示;不给就以逻辑名兜底(界面宁可显示机器名,不显示空白) */
|
||||
displayName: z.string().min(1).optional(),
|
||||
version: z.string().min(1),
|
||||
description: z.string().min(1),
|
||||
input: z.record(z.string(), z.unknown()),
|
||||
@@ -407,6 +409,8 @@ export const listToolsRoute = {
|
||||
tools: z.array(
|
||||
z.object({
|
||||
name: z.string(),
|
||||
/** 中文名 —— 治理台主显示;逻辑名退居副标 */
|
||||
displayName: z.string(),
|
||||
version: z.string(),
|
||||
description: z.string(),
|
||||
effect: z.enum(['read', 'write']),
|
||||
@@ -527,6 +531,24 @@ export const testRunRoute = {
|
||||
output: z.object({ workflowId: z.string(), state: workflowStateSchema }),
|
||||
} as const satisfies RouteContract;
|
||||
|
||||
/**
|
||||
* 停止仿真 —— **把这一单连根拔掉**:工作流、它的活动任务、工单、实例、trace 全部销毁。
|
||||
* 仿真不是生产:试跑留下的东西不该在库里、在别人工作台上过夜。
|
||||
*/
|
||||
export const testStopRoute = {
|
||||
method: 'POST',
|
||||
path: '/api/gov/testbed/stop',
|
||||
body: z.object({ workflowId: z.string() }),
|
||||
output: z.object({ destroyed: z.boolean(), tasks: z.number().int() }),
|
||||
} as const satisfies RouteContract;
|
||||
|
||||
/** 当前在跑的仿真(测试台一次只跑一条)—— 刷新页面也认得回来 */
|
||||
export const testCurrentRoute = {
|
||||
method: 'GET',
|
||||
path: '/api/gov/testbed/current',
|
||||
output: z.object({ workflowId: z.string().optional(), subject: z.string().optional() }),
|
||||
} as const satisfies RouteContract;
|
||||
|
||||
/** 全链 Trace:一条工作流的 span 树(节点 → 步骤 / 工具 / 模型 / 人卡) */
|
||||
export const traceOfWorkflowRoute = {
|
||||
method: 'GET',
|
||||
|
||||
Reference in New Issue
Block a user