编排层①:改图入口下沉画布 + 活动契约面全链打通

① 已发布包就地给「起草新版本并去编辑」,不用去页头找;
② 修一个我自己引入的 bug:卡点还原把审批点的「退回调整」牌子当成边,凭空造出 e-A5-A4 ——
   卡点只认亲、不新建(旧包有这条边才认);实测编辑器往返 16 边 14 节点无损;
③ 活动契约面接进治理台:列表出参带必填入参/输出口/声明依赖,活动详情摆成一屏,
   导出依赖文件一并带上 —— 开发一个活动要照着的东西,现在有一处能看全。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
This commit is contained in:
2026-07-28 03:02:44 +08:00
co-authored by Claude Fable 5
parent af789f546c
commit 9de641459e
8 changed files with 200 additions and 6 deletions
+14
View File
@@ -332,6 +332,20 @@ export const listActivitiesRoute = {
enabled: z.boolean(),
packageVersions: z.array(z.object({ version: z.string(), state: z.string(), installedAt: z.string() })),
assetVersions: z.array(z.object({ kind: z.string(), version: z.number().int(), effective: z.boolean() })),
/**
* 契约面 —— 开发这个活动要照着的东西:吃什么、吐什么、用谁的工具、动哪些域对象。
* 治理台不给这一层,「编排定契约」就只是句口号:编排的人看不到自己引用的活动要什么。
*/
contract: z.object({
requiredInputs: z.array(z.string()),
inputFields: z.array(z.object({ name: z.string(), type: z.string(), required: z.boolean() })),
outputPorts: z.array(z.object({ name: z.string(), description: z.string().optional(), fields: z.array(z.string()) })),
tools: z.array(z.string()),
models: z.array(z.string()),
objects: z.array(z.string()),
roles: z.array(z.string()),
humanCallBudget: z.number().int(),
}),
}),
),
}),