@zmzai/agent-framework 0.9.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/adapters/openai-provider.d.ts +6 -3
  2. package/dist/adapters/openai-provider.d.ts.map +1 -1
  3. package/dist/adapters/openai-provider.js +1 -1
  4. package/dist/adapters/openai-provider.js.map +1 -1
  5. package/dist/core/events/manifest.d.ts +2 -2
  6. package/dist/core/runtime/active-run-registry.d.ts +34 -0
  7. package/dist/core/runtime/active-run-registry.d.ts.map +1 -0
  8. package/dist/core/runtime/active-run-registry.js +44 -0
  9. package/dist/core/runtime/active-run-registry.js.map +1 -0
  10. package/dist/core/runtime/attempt-executor.d.ts +67 -0
  11. package/dist/core/runtime/attempt-executor.d.ts.map +1 -0
  12. package/dist/core/runtime/attempt-executor.js +683 -0
  13. package/dist/core/runtime/attempt-executor.js.map +1 -0
  14. package/dist/core/runtime/command-service.d.ts +48 -0
  15. package/dist/core/runtime/command-service.d.ts.map +1 -0
  16. package/dist/core/runtime/command-service.js +148 -0
  17. package/dist/core/runtime/command-service.js.map +1 -0
  18. package/dist/core/runtime/compaction.d.ts +30 -6
  19. package/dist/core/runtime/compaction.d.ts.map +1 -1
  20. package/dist/core/runtime/compaction.js +5 -4
  21. package/dist/core/runtime/compaction.js.map +1 -1
  22. package/dist/core/runtime/context-builder.d.ts +66 -0
  23. package/dist/core/runtime/context-builder.d.ts.map +1 -0
  24. package/dist/core/runtime/context-builder.js +187 -0
  25. package/dist/core/runtime/context-builder.js.map +1 -0
  26. package/dist/core/runtime/run-scheduler.d.ts +44 -0
  27. package/dist/core/runtime/run-scheduler.d.ts.map +1 -0
  28. package/dist/core/runtime/run-scheduler.js +136 -0
  29. package/dist/core/runtime/run-scheduler.js.map +1 -0
  30. package/dist/core/runtime/runner.d.ts +29 -178
  31. package/dist/core/runtime/runner.d.ts.map +1 -1
  32. package/dist/core/runtime/runner.js +111 -1457
  33. package/dist/core/runtime/runner.js.map +1 -1
  34. package/dist/core/runtime/task-lifecycle.d.ts +165 -0
  35. package/dist/core/runtime/task-lifecycle.d.ts.map +1 -0
  36. package/dist/core/runtime/task-lifecycle.js +424 -0
  37. package/dist/core/runtime/task-lifecycle.js.map +1 -0
  38. package/dist/core/session/sqlite-store.d.ts.map +1 -1
  39. package/dist/core/session/sqlite-store.js +130 -1
  40. package/dist/core/session/sqlite-store.js.map +1 -1
  41. package/dist/core/session/store.d.ts +9 -1
  42. package/dist/core/session/store.d.ts.map +1 -1
  43. package/dist/core/session/types.d.ts +16 -0
  44. package/dist/core/session/types.d.ts.map +1 -1
  45. package/dist/core/session/workflow.d.ts +49 -2
  46. package/dist/core/session/workflow.d.ts.map +1 -1
  47. package/dist/core/session/workflow.js.map +1 -1
  48. package/dist/core/subagents/coordinator.d.ts +210 -0
  49. package/dist/core/subagents/coordinator.d.ts.map +1 -0
  50. package/dist/core/subagents/coordinator.js +534 -0
  51. package/dist/core/subagents/coordinator.js.map +1 -0
  52. package/dist/core/subagents/parked.d.ts +55 -0
  53. package/dist/core/subagents/parked.d.ts.map +1 -0
  54. package/dist/core/subagents/parked.js +84 -0
  55. package/dist/core/subagents/parked.js.map +1 -0
  56. package/dist/core/subagents/tools.d.ts +29 -0
  57. package/dist/core/subagents/tools.d.ts.map +1 -0
  58. package/dist/core/subagents/tools.js +164 -0
  59. package/dist/core/subagents/tools.js.map +1 -0
  60. package/dist/core/subagents/types.d.ts +114 -0
  61. package/dist/core/subagents/types.d.ts.map +1 -0
  62. package/dist/core/subagents/types.js +44 -0
  63. package/dist/core/subagents/types.js.map +1 -0
  64. package/dist/core/task/completion.d.ts +3 -0
  65. package/dist/core/task/completion.d.ts.map +1 -1
  66. package/dist/core/task/completion.js +4 -0
  67. package/dist/core/task/completion.js.map +1 -1
  68. package/dist/core/task/types.d.ts +5 -0
  69. package/dist/core/task/types.d.ts.map +1 -1
  70. package/dist/core/task/types.js.map +1 -1
  71. package/dist/core/tools/adapter.d.ts.map +1 -1
  72. package/dist/core/tools/adapter.js +87 -61
  73. package/dist/core/tools/adapter.js.map +1 -1
  74. package/dist/core/tools/builtins.d.ts.map +1 -1
  75. package/dist/core/tools/builtins.js +7 -0
  76. package/dist/core/tools/builtins.js.map +1 -1
  77. package/dist/core/tools/context.d.ts +1 -0
  78. package/dist/core/tools/context.d.ts.map +1 -1
  79. package/dist/core/tools/def.d.ts +25 -0
  80. package/dist/core/tools/def.d.ts.map +1 -1
  81. package/dist/core/tools/def.js.map +1 -1
  82. package/dist/core/tools/git.d.ts.map +1 -1
  83. package/dist/core/tools/git.js +4 -0
  84. package/dist/core/tools/git.js.map +1 -1
  85. package/dist/core/tools/patch.d.ts.map +1 -1
  86. package/dist/core/tools/patch.js +1 -0
  87. package/dist/core/tools/patch.js.map +1 -1
  88. package/dist/core/tools/qa-check.d.ts +2 -2
  89. package/dist/core/tools/qa-check.d.ts.map +1 -1
  90. package/dist/core/tools/qa-check.js +1 -0
  91. package/dist/core/tools/qa-check.js.map +1 -1
  92. package/dist/core/tools/repomap.d.ts.map +1 -1
  93. package/dist/core/tools/repomap.js +1 -0
  94. package/dist/core/tools/repomap.js.map +1 -1
  95. package/dist/core/tools/task-block.d.ts.map +1 -1
  96. package/dist/core/tools/task-block.js +1 -0
  97. package/dist/core/tools/task-block.js.map +1 -1
  98. package/dist/core/tools/task-deliver.d.ts +1 -1
  99. package/dist/core/tools/task-deliver.d.ts.map +1 -1
  100. package/dist/core/tools/task-deliver.js +1 -0
  101. package/dist/core/tools/task-deliver.js.map +1 -1
  102. package/dist/core/tools/task.d.ts.map +1 -1
  103. package/dist/core/tools/task.js +3 -0
  104. package/dist/core/tools/task.js.map +1 -1
  105. package/dist/core/tools/terminal.d.ts.map +1 -1
  106. package/dist/core/tools/terminal.js +5 -0
  107. package/dist/core/tools/terminal.js.map +1 -1
  108. package/dist/core/tools/webfetch.d.ts.map +1 -1
  109. package/dist/core/tools/webfetch.js +1 -0
  110. package/dist/core/tools/webfetch.js.map +1 -1
  111. package/dist/core/tools/websearch.d.ts.map +1 -1
  112. package/dist/core/tools/websearch.js +1 -0
  113. package/dist/core/tools/websearch.js.map +1 -1
  114. package/dist/index.d.ts +5 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +3 -0
  117. package/dist/index.js.map +1 -1
  118. package/dist/server/create-agent-runtime.d.ts +3 -1
  119. package/dist/server/create-agent-runtime.d.ts.map +1 -1
  120. package/dist/server/create-agent-runtime.js +8 -1
  121. package/dist/server/create-agent-runtime.js.map +1 -1
  122. package/dist/server/create-server.d.ts +6 -0
  123. package/dist/server/create-server.d.ts.map +1 -1
  124. package/dist/server/create-server.js +9 -0
  125. package/dist/server/create-server.js.map +1 -1
  126. package/package.json +12 -11
@@ -0,0 +1,84 @@
1
+ import { isSubagentTerminal } from "./types.js";
2
+ /** 判定:父轮次结束时是否应 park(必要子代理尚未全部终态)。
3
+ * TaskLifecycle 的 continue 分支在再次 Attempt 前调用;park=true 时
4
+ * TaskLifecycle 不再发起下一轮 Attempt,而是落 parked 并释放并发槽。 */
5
+ export async function shouldPark(deps, rootTaskId, requiredChildIds) {
6
+ const children = await deps.subagents.listSubagents({ rootTaskId });
7
+ const pending = children.filter((c) => !isSubagentTerminal(c.status));
8
+ if (pending.length === 0)
9
+ return false;
10
+ if (!requiredChildIds)
11
+ return true; // 存在未终态子代理即 park(宽松语义:模型没显式弃权的都等)
12
+ return requiredChildIds.some((id) => pending.some((c) => c.childId === id));
13
+ }
14
+ /** 落 parked:TaskRecord 保持 running(调度状态不是第二套生命周期),
15
+ * 经 marker 字段标记;发布由 caller(TaskLifecycle)负责。 */
16
+ export async function parkParent(deps, taskId) {
17
+ for (let attempt = 0; attempt < 3; attempt += 1) {
18
+ const task = await deps.getTask(taskId);
19
+ if (!task)
20
+ return;
21
+ try {
22
+ await deps.casTask(taskId, task.revision, { parkedReason: "children" });
23
+ return;
24
+ }
25
+ catch (error) {
26
+ if (!/TASK_REVISION_CONFLICT/.test(String(error)))
27
+ throw error;
28
+ }
29
+ }
30
+ }
31
+ /** 子终态回调:结果入邮箱(to_parent)+ 唤醒意图——合并语义靠
32
+ * requestInternalResume 的幂等(RunScheduler.resumeRequests 是 Set,
33
+ * 重复 add 天然合并为一个)。 */
34
+ export async function onChildTerminal(deps, child, parentSessionId) {
35
+ const messageId = `result_${child.childId}_${child.revision}`;
36
+ await deps.subagents.appendMessage({
37
+ messageId,
38
+ childId: child.childId,
39
+ direction: "to_parent",
40
+ kind: "result",
41
+ payload: JSON.stringify({ outcome: child.result?.outcome ?? child.status, summary: child.result?.summary ?? "", childId: child.childId }),
42
+ createdAt: new Date().toISOString(),
43
+ });
44
+ // 幂等:同 messageId 重复回调(重启重放等)不产生第二封邮件;
45
+ // 唤醒意图同事务登记(requestResume 的 Set 语义 = 水位合并)
46
+ deps.requestInternalResume(parentSessionId);
47
+ }
48
+ /** 父唤醒时的未消费结果读取(T04 两段式,PC06):**投递水位在实际 Attempt
49
+ * 上下文持久登记后才能推进**(spec §4.2)——读取阶段不动水位;消费方把
50
+ * results 注入父上下文并持久化后调用 commit() 推进水位。读取与 commit 之间
51
+ * 崩溃只会导致重读(幂等),不会丢结果;重复 commit 也是幂等 no-op。 */
52
+ export async function drainParentMailbox(deps, rootTaskId) {
53
+ const children = await deps.subagents.listSubagents({ rootTaskId });
54
+ const results = [];
55
+ const unconsumed = [];
56
+ for (const child of children) {
57
+ const messages = await deps.subagents.listMessages(child.childId);
58
+ for (const msg of messages) {
59
+ if (msg.direction === "to_parent" && msg.kind === "result" && !msg.consumedByParent) {
60
+ try {
61
+ const parsed = JSON.parse(msg.payload);
62
+ results.push({ childId: parsed.childId, outcome: parsed.outcome, summary: parsed.summary });
63
+ }
64
+ catch {
65
+ results.push({ childId: child.childId, outcome: "unknown", summary: msg.payload.slice(0, 200) });
66
+ }
67
+ unconsumed.push({ childId: child.childId, upToCreatedAt: msg.createdAt });
68
+ }
69
+ }
70
+ }
71
+ const commit = async () => {
72
+ for (const item of unconsumed) {
73
+ await deps.subagents.markMessagesConsumedByParent(item.childId, item.upToCreatedAt);
74
+ }
75
+ };
76
+ // 全部终态且结果已消费 → 清 parked 标记
77
+ const allTerminal = children.every((c) => isSubagentTerminal(c.status));
78
+ return { results, commit, clearedPark: allTerminal };
79
+ }
80
+ /** 终态根 Task 拒绝自动唤醒(A29:取消/失败/已交付的父不复活)。 */
81
+ export function canAutoResume(taskStatus) {
82
+ return taskStatus === "running"; // parked 的父保持 running;终态/等待态一律拒绝
83
+ }
84
+ //# sourceMappingURL=parked.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parked.js","sourceRoot":"","sources":["../../../src/core/subagents/parked.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { ToolDef } from "../tools/def.js";
2
+ import type { SubagentCoordinator } from "./coordinator.js";
3
+ /** agent_* 工具族(spec §8.1,M3-S20):经 SubagentCoordinator 的持久协调,
4
+ * 不在工具实现里另建调度器。ToolContext.subagents 由 runner 注入——
5
+ * 宿主未启用(无 store.subagents)时五工具不可见(execute 抛
6
+ * SUBAGENTS_UNSUPPORTED),旧 task 工具保持兼容。
7
+ *
8
+ * read_only 子代理的工具白名单在 spawn 侧(coordinator 依赖的
9
+ * createChildSession)实施——工具层不重复判定。 */
10
+ export type SubagentToolContext = {
11
+ subagents?: {
12
+ coordinator: SubagentCoordinator;
13
+ rootTaskId: string;
14
+ parentTaskId: string;
15
+ };
16
+ };
17
+ export declare const agentSpawnTool: ToolDef;
18
+ export declare const agentListTool: ToolDef;
19
+ export declare const agentSendTool: ToolDef;
20
+ export declare const agentWaitTool: ToolDef;
21
+ export declare const agentCancelTool: ToolDef;
22
+ export declare const subagentTools: ToolDef[];
23
+ /** 旧 task 工具的兼容封装(spec §8.1:spawn+wait 保留原返回形态)。 */
24
+ export declare function makeLegacyTaskTool(coordinatorGetter: (ctx: unknown) => {
25
+ coordinator: SubagentCoordinator;
26
+ rootTaskId: string;
27
+ parentTaskId: string;
28
+ } | undefined): ToolDef;
29
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/subagents/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5D;;;;;;uCAMuC;AAEvC,MAAM,MAAM,mBAAmB,GAAG;IAAE,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,mBAAmB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAajI,eAAO,MAAM,cAAc,EAAE,OAoC5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAc3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAqB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAoB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAiB7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,EAAmF,CAAC;AAEvH,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK;IAAE,WAAW,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,OAAO,CAkC3K"}
@@ -0,0 +1,164 @@
1
+ import { z } from "zod";
2
+ import { isSubagentTerminal } from "./types.js";
3
+ const base = {
4
+ contract: { effect: [], retrySafety: "idempotent_with_key" },
5
+ executionMode: "sequential",
6
+ };
7
+ function requireCoordinator(ctx) {
8
+ const c = ctx.subagents;
9
+ if (!c)
10
+ throw new Error("SUBAGENTS_UNSUPPORTED:当前环境未启用子代理协调(store 缺 subagents 面)");
11
+ return c;
12
+ }
13
+ export const agentSpawnTool = {
14
+ ...base,
15
+ id: "agent_spawn",
16
+ label: "派出子代理",
17
+ description: "派一个有界子目标给子代理立即返回 childId(不等待完成)。用 agent_wait 等待、agent_list 查看、agent_send 补充、agent_cancel 取消。子代理有自己的上下文与工具白名单(read_only 模式无写工具)。",
18
+ parameters: z.object({
19
+ description: z.string().min(3).max(120),
20
+ prompt: z.string().min(1).max(16 * 1024),
21
+ agent_type: z.string().min(1).max(64),
22
+ mode: z.enum(["read_only", "workspace_write"]).default("read_only"),
23
+ spawn_request_id: z.string().min(1).max(120).optional(),
24
+ }),
25
+ permission: (args) => ({ permission: "task", patterns: [args.agent_type], metadata: { subagent: args.agent_type, description: args.description, mode: args.mode } }),
26
+ async execute(args, ctx) {
27
+ const { coordinator, rootTaskId, parentTaskId } = requireCoordinator(ctx);
28
+ // T02(spec §4.1):spawnRequestId 从持久工具调用身份派生——模型未显式
29
+ // 提供时,同一次工具调用的重试也落在同一幂等键上;父身份只传 { id }
30
+ // 引用,完整父会话由协调器从 store 解析(禁止伪 Session 直达工厂)。
31
+ const record = await coordinator.spawn({ id: ctx.sessionId }, parentTaskId, rootTaskId, {
32
+ description: args.description,
33
+ prompt: args.prompt,
34
+ subagentType: args.agent_type,
35
+ mode: args.mode,
36
+ ...(args.spawn_request_id
37
+ ? { spawnRequestId: args.spawn_request_id }
38
+ : ctx.toolCallId
39
+ ? { spawnRequestId: `spawn:${ctx.toolCallId}` }
40
+ : {}),
41
+ });
42
+ return {
43
+ title: `子代理 ${args.agent_type}:${args.description}`,
44
+ output: `已派出(childId=${record.childId},状态=${record.status})。用 agent_wait 等待结果。`,
45
+ metadata: { childId: record.childId, status: record.status, mode: args.mode },
46
+ };
47
+ },
48
+ };
49
+ export const agentListTool = {
50
+ ...base,
51
+ id: "agent_list",
52
+ label: "子代理列表",
53
+ description: "查看当前任务树内全部子代理的状态、目标、模式与最近进度。",
54
+ parameters: z.object({}),
55
+ permission: () => null,
56
+ async execute(_args, ctx) {
57
+ const { coordinator, rootTaskId } = requireCoordinator(ctx);
58
+ const list = await coordinator.list(rootTaskId);
59
+ if (list.length === 0)
60
+ return { title: "子代理列表", output: "(无子代理)" };
61
+ const lines = list.map((r) => `- ${r.childId} [${r.status}] ${r.agentType}(${r.mode}):${r.goal}${r.result ? ` → ${r.result.outcome}: ${r.result.summary.slice(0, 80)}` : ""}`);
62
+ return { title: `子代理 ×${list.length}`, output: lines.join("\n"), metadata: { count: list.length } };
63
+ },
64
+ };
65
+ export const agentSendTool = {
66
+ ...base,
67
+ id: "agent_send",
68
+ label: "给子代理发消息",
69
+ description: "向子代理幂等投递约束或补充信息(终态子代理返回 CHILD_TERMINAL,重新执行须显式 agent_spawn)。",
70
+ parameters: z.object({
71
+ child_id: z.string().min(1),
72
+ message: z.string().min(1).max(16 * 1024),
73
+ kind: z.enum(["constraint", "user_input"]).default("constraint"),
74
+ message_id: z.string().min(1).max(120).optional(),
75
+ }),
76
+ permission: () => null,
77
+ async execute(args, ctx) {
78
+ const { coordinator, rootTaskId } = requireCoordinator(ctx);
79
+ // T03(PC03):范围校验——只允许操作当前任务树内的子代理。
80
+ const result = await coordinator.send(args.child_id, args.message, args.kind, args.message_id, { rootTaskId });
81
+ if (!result.delivered) {
82
+ return { title: "投递失败", output: `未投递:${result.reason}`, metadata: { delivered: false, reason: result.reason } };
83
+ }
84
+ return { title: "已投递", output: `消息已入 ${args.child_id} 的邮箱(kind=${args.kind})`, metadata: { delivered: true } };
85
+ },
86
+ };
87
+ export const agentWaitTool = {
88
+ ...base,
89
+ id: "agent_wait",
90
+ label: "等待子代理",
91
+ description: "等待子代理首个终态或需处理状态(最多 30 秒)。无变化返回仍在运行——继续做自己的工作,稍后再等;不要空转轮询。",
92
+ parameters: z.object({
93
+ child_ids: z.array(z.string().min(1)).min(1).max(16),
94
+ timeout_seconds: z.number().int().min(1).max(30).default(30),
95
+ }),
96
+ permission: () => null,
97
+ async execute(args, ctx) {
98
+ const { coordinator, rootTaskId } = requireCoordinator(ctx);
99
+ const { changed, anyTerminal } = await coordinator.wait(args.child_ids, args.timeout_seconds * 1_000, { rootTaskId });
100
+ const lines = changed.map((r) => `- ${r.childId}: ${r.status}${r.result ? `(${r.result.outcome}: ${r.result.summary.slice(0, 120)})` : ""}`);
101
+ return {
102
+ title: anyTerminal ? "有终态" : "仍在运行",
103
+ output: (anyTerminal ? "已有终态/需处理:\n" : "超时无变化(仍在运行,可继续自己的工作):\n") + lines.join("\n"),
104
+ metadata: { anyTerminal, statuses: changed.map((r) => ({ id: r.childId, status: r.status })) },
105
+ };
106
+ },
107
+ };
108
+ export const agentCancelTool = {
109
+ ...base,
110
+ id: "agent_cancel",
111
+ label: "取消子代理",
112
+ description: "幂等取消目标子代理及其后代。取消登记立即返回;完成停止通过状态确认(agent_list/agent_wait)。",
113
+ parameters: z.object({ child_id: z.string().min(1) }),
114
+ permission: () => null,
115
+ async execute(args, ctx) {
116
+ const { coordinator, rootTaskId } = requireCoordinator(ctx);
117
+ const result = await coordinator.cancel(args.child_id, { rootTaskId });
118
+ const terminal = result.reason?.startsWith("CHILD_TERMINAL");
119
+ return {
120
+ title: terminal ? "已是终态" : "取消已登记",
121
+ output: result.cancelling ? `取消已登记(${args.child_id}),停止经状态确认。` : `未取消:${result.reason}`,
122
+ metadata: { cancelling: result.cancelling, reason: result.reason },
123
+ };
124
+ },
125
+ };
126
+ export const subagentTools = [agentSpawnTool, agentListTool, agentSendTool, agentWaitTool, agentCancelTool];
127
+ /** 旧 task 工具的兼容封装(spec §8.1:spawn+wait 保留原返回形态)。 */
128
+ export function makeLegacyTaskTool(coordinatorGetter) {
129
+ return {
130
+ id: "task",
131
+ contract: { effect: ["workspace"], retrySafety: "never" },
132
+ label: "派生子代理(同步)",
133
+ description: "把一个独立子任务交给子代理并等待完成(旧接口;新代码用 agent_spawn + agent_wait)。串行等待行为保持兼容。",
134
+ parameters: z.object({
135
+ description: z.string().min(3).max(60),
136
+ prompt: z.string().min(1).max(8 * 1024),
137
+ subagent_type: z.string().min(1).max(64),
138
+ }),
139
+ permission: (args) => ({ permission: "task", patterns: [args.subagent_type], always: ["*"], metadata: { subagent: args.subagent_type, description: args.description } }),
140
+ executionMode: "sequential",
141
+ async execute(args, ctx) {
142
+ const c = coordinatorGetter(ctx);
143
+ if (!c)
144
+ throw new Error("当前环境不支持子代理");
145
+ const record = await c.coordinator.spawn({ id: ctx.sessionId }, c.parentTaskId, c.rootTaskId, {
146
+ description: args.description,
147
+ prompt: args.prompt,
148
+ subagentType: args.subagent_type,
149
+ ...(ctx.toolCallId
150
+ ? { spawnRequestId: `spawn:${ctx.toolCallId}` }
151
+ : {}),
152
+ });
153
+ const { changed } = await c.coordinator.wait([record.childId], 120_000);
154
+ const final = changed.find((r) => r.childId === record.childId) ?? record;
155
+ const state = isSubagentTerminal(final.status) && final.status === "completed" ? "completed" : final.status === "cancelled" ? "error" : final.result?.outcome === "failed" || final.status === "failed" ? "error" : "completed";
156
+ return {
157
+ title: `子代理 ${args.subagent_type}:${args.description}`,
158
+ output: final.result?.summary ?? `(状态 ${final.status},无文本结果)`,
159
+ metadata: { childSessionId: final.childId, subagent: args.subagent_type, state: state === "completed" ? "completed" : "error" },
160
+ };
161
+ },
162
+ };
163
+ }
164
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/core/subagents/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /** 子代理协调记录(spec §8.2 SubagentRecord,M3-S17)。
2
+ *
3
+ * 与 childSession 的分工:本记录是**协调状态**(谁派的、什么状态、结果
4
+ * 被父消费没有);childSession 保留 transcript;子会话自身的 TaskRecord
5
+ * (如存在)负责其任务语义。协调器从实际执行终态生成 result,不建立
6
+ * 第二套完成判断。 */
7
+ export type SubagentStatus = "queued" | "running" | "waiting_permission" | "waiting_input" | "waiting_external" | "cancelling" | "recovering" | "blocked" | "completed" | "failed" | "cancelled";
8
+ export type SubagentConsumeState = "pending_review" | "accepted" | "needs_revision" | "rejected";
9
+ export type SubagentRecord = {
10
+ /** 协调主键 = childSessionId(spec:spawn 幂等键锚点)。 */
11
+ childId: string;
12
+ childSessionId: string;
13
+ parentSessionId: string;
14
+ /** 根任务与父任务归属(取消树/预算聚合的键)。 */
15
+ rootTaskId: string;
16
+ parentTaskId: string;
17
+ /** 同 spawnRequestId 重试返回同一 child(不重复派生,spec A14)。 */
18
+ spawnRequestId: string;
19
+ /** 派生 payload 指纹(T02,spec §4.1):同键异 payload 重试拒绝
20
+ * (SPAWN_PAYLOAD_MISMATCH)。旧记录缺省时不阻断同键重试。 */
21
+ spawnPayloadHash?: string;
22
+ /** 派生时的原始 prompt(T04,spec §4.2 持久队列):内存队列只是缓存,
23
+ * 宿主重启后凭本字段恢复 queued 子代理的执行输入,不依赖进程内存。 */
24
+ prompt?: string;
25
+ agentType: string;
26
+ goal: string;
27
+ mode: "read_only" | "workspace_write";
28
+ /** 共享工作区(B0 不做子 worktree)。 */
29
+ workspaceId: string;
30
+ status: SubagentStatus;
31
+ /** CAS 凭据:并发更新(协调器 vs 取消 vs 权限回调)必须带 revision。 */
32
+ revision: number;
33
+ runId?: string;
34
+ executionEpoch?: number;
35
+ traceId: string;
36
+ times: {
37
+ spawnedAt: string;
38
+ startedAt?: string;
39
+ endedAt?: string;
40
+ };
41
+ result?: {
42
+ outcome: "completed" | "failed" | "cancelled";
43
+ summary: string;
44
+ evidenceRefs?: string[];
45
+ /** 撤回的 replacesChildId(返工时关联,spec §9.4)。 */
46
+ replacesChildId?: string;
47
+ usage?: {
48
+ inputTokens?: number;
49
+ outputTokens?: number;
50
+ };
51
+ };
52
+ /** 父验证状态(§9.4):消费 ≠ 接受。 */
53
+ consumeState?: SubagentConsumeState;
54
+ /** 取消/阻塞原因(blocked 时必填,spec:不伪装完成)。 */
55
+ blockerReason?: string;
56
+ };
57
+ /** 邮箱消息(§8.2 父结果投递 / agent_send 双向共用一张表,方向字段区分)。 */
58
+ export type SubagentMessage = {
59
+ messageId: string;
60
+ /** 收件 childId(父→子补充 或 子→父结果都是「投到该 child 的信箱」,
61
+ * 父侧读取按 rootTaskId 聚合水位)。 */
62
+ childId: string;
63
+ direction: "to_child" | "to_parent";
64
+ kind: "user_input" | "constraint" | "result" | "system";
65
+ payload: string;
66
+ /** 契约版本:补充消息改变约束时递增(spec §9.4)。 */
67
+ contractRevision?: number;
68
+ createdAt: string;
69
+ /** 父执行器已纳入上下文的水位标记(幂等合并的基准,S19)。 */
70
+ consumedByParent?: boolean;
71
+ };
72
+ /** SubagentStore:与 tasks 同级的项目 SQLite 面(M3-S17)。
73
+ * 所有写操作 CAS(expectedRevision 不符抛 SUBAGENT_REVISION_CONFLICT);
74
+ * spawn 登记与 childSession 关联须在**同一事务**(spec §8.2)。 */
75
+ export interface SubagentStore {
76
+ createSubagent(record: SubagentRecord): Promise<SubagentRecord>;
77
+ getSubagent(childId: string): Promise<SubagentRecord | null>;
78
+ /** 按 spawnRequestId 幂等查找(重试路径,A14)。 */
79
+ findSubagentBySpawnRequest(parentSessionId: string, spawnRequestId: string): Promise<SubagentRecord | null>;
80
+ /** CAS 更新;非法状态迁移(如 completed → running)抛 SUBAGENT_INVALID_TRANSITION。 */
81
+ updateSubagent(childId: string, expectedRevision: number, patch: Partial<SubagentRecord>): Promise<SubagentRecord>;
82
+ /** 终态结算 + to_parent 结果邮件**同事务**(T04,spec §4.2/§8.2:
83
+ * 子终态、mailbox 与唤醒依据不能拆开落库——中间崩溃会造成「终态已写、
84
+ * 结果邮件丢失」。resultMessage 的 messageId 幂等(INSERT OR IGNORE)。 */
85
+ settleSubagent(childId: string, expectedRevision: number, patch: Partial<SubagentRecord>, resultMessage?: SubagentMessage): Promise<SubagentRecord>;
86
+ listSubagents(filter: {
87
+ rootTaskId?: string;
88
+ parentSessionId?: string;
89
+ statuses?: SubagentStatus[];
90
+ }): Promise<SubagentRecord[]>;
91
+ appendMessage(message: SubagentMessage): Promise<void>;
92
+ /** messageId 去重:同 messageId 重复投递是 no-op(至少一次投递 + 幂等消费)。 */
93
+ listMessages(childId: string, options?: {
94
+ sinceCreatedAt?: string;
95
+ }): Promise<SubagentMessage[]>;
96
+ /** 父消费水位标记(S19:唤醒合并的幂等基准)。 */
97
+ markMessagesConsumedByParent(childId: string, upToCreatedAt: string): Promise<void>;
98
+ }
99
+ export declare function assertSubagentTransition(from: SubagentStatus, to: SubagentStatus): void;
100
+ export declare function isSubagentTerminal(status: SubagentStatus): boolean;
101
+ /** 新记录工厂(childId = childSessionId,同键)。 */
102
+ export declare function newSubagentRecord(input: {
103
+ childSessionId: string;
104
+ parentSessionId: string;
105
+ rootTaskId: string;
106
+ parentTaskId: string;
107
+ spawnRequestId: string;
108
+ agentType: string;
109
+ goal: string;
110
+ mode: "read_only" | "workspace_write";
111
+ workspaceId: string;
112
+ traceId: string;
113
+ }): SubagentRecord;
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/subagents/types.ts"],"names":[],"mappings":"AAGA;;;;;eAKe;AACf,MAAM,MAAM,cAAc,GACtB,QAAQ,GAAG,SAAS,GAAG,oBAAoB,GAAG,eAAe,GAAG,kBAAkB,GAClF,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEnF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,UAAU,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAEjG,MAAM,MAAM,cAAc,GAAG;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB;kDAC8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;+CAC2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,iBAAiB,CAAC;IACtC,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC9C,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,4CAA4C;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,2BAA2B;IAC3B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB;kCAC8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,UAAU,GAAG,WAAW,CAAC;IACpC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;sDAEsD;AACtD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7D,uCAAuC;IACvC,0BAA0B,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5G,yEAAyE;IACzE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACnH;;kEAE8D;IAC9D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACpJ,aAAa,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACjI,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,2DAA2D;IAC3D,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACjG,8BAA8B;IAC9B,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrF;AAiBD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,CAKvF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAElE;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,cAAc,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC1F,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAC/F,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CACtC,GAAG,cAAc,CAiBjB"}
@@ -0,0 +1,44 @@
1
+ /** 状态机合法迁移表(非法即抛,绝不静默)。 */
2
+ const TRANSITIONS = {
3
+ queued: ["running", "cancelling", "cancelled", "failed"],
4
+ running: ["waiting_permission", "waiting_input", "waiting_external", "blocked", "cancelling", "cancelling", "completed", "failed", "recovering"],
5
+ waiting_permission: ["running", "cancelling", "cancelled"],
6
+ waiting_input: ["running", "cancelling", "cancelled"],
7
+ waiting_external: ["running", "cancelling", "cancelled"],
8
+ cancelling: ["cancelled", "failed"],
9
+ recovering: ["queued", "blocked", "cancelling", "cancelled"],
10
+ blocked: ["queued", "running", "cancelling", "cancelled"],
11
+ completed: [],
12
+ failed: [],
13
+ cancelled: [],
14
+ };
15
+ export function assertSubagentTransition(from, to) {
16
+ if (from === to)
17
+ return; // 幂等更新(revision 仍递增)
18
+ if (!TRANSITIONS[from]?.includes(to)) {
19
+ throw new Error(`SUBAGENT_INVALID_TRANSITION: ${from} → ${to}`);
20
+ }
21
+ }
22
+ export function isSubagentTerminal(status) {
23
+ return status === "completed" || status === "failed" || status === "cancelled";
24
+ }
25
+ /** 新记录工厂(childId = childSessionId,同键)。 */
26
+ export function newSubagentRecord(input) {
27
+ return {
28
+ childId: input.childSessionId,
29
+ childSessionId: input.childSessionId,
30
+ parentSessionId: input.parentSessionId,
31
+ rootTaskId: input.rootTaskId,
32
+ parentTaskId: input.parentTaskId,
33
+ spawnRequestId: input.spawnRequestId,
34
+ agentType: input.agentType,
35
+ goal: input.goal,
36
+ mode: input.mode,
37
+ workspaceId: input.workspaceId,
38
+ status: "queued",
39
+ revision: 1,
40
+ traceId: input.traceId,
41
+ times: { spawnedAt: new Date().toISOString() },
42
+ };
43
+ }
44
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/subagents/types.ts"],"names":[],"mappings":"AA+FA,2BAA2B;AAC3B,MAAM,WAAW,GAA6C;IAC5D,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC;IACxD,OAAO,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC;IAChJ,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;IAC1D,aAAa,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;IACrD,gBAAgB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;IACxD,UAAU,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IACnC,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;IAC5D,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;IACzD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAAoB,EAAE,EAAkB;IAC/E,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,CAAC,qBAAqB;IAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB,CAAC,KAIjC;IACC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,cAAc;QAC7B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;KAC/C,CAAC;AACJ,CAAC"}
@@ -41,6 +41,9 @@ export type CompletionRuntimeState = {
41
41
  pendingPermissions: number;
42
42
  /** 已确认失败且需要外部核验才能安全重放的写操作(unsafe_replay)。 */
43
43
  unsafeReplay: string | null;
44
+ /** M3-S22:存在未终态或未通过父验证的必要子代理(spec §9.4——必要子结果
45
+ * 已被接受或需求已由有效证据解决才可交付;消费 ≠ 接受,A36)。 */
46
+ subagentPending: string[] | null;
44
47
  /** 预算耗尽原因(时间/token/费用/Attempt 数)。null 表示未超。 */
45
48
  budgetExhausted: string | null;
46
49
  /** 外部状态导致必须由用户完成的事(登录失效、验证码、付款)。
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/core/task/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/core/task/completion.ts"],"names":[],"mappings":"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"}
@@ -255,6 +255,10 @@ export function evaluateTaskCompletion(task, state, policyInput) {
255
255
  reasons.push("尚未生成最终交付说明");
256
256
  if (!deliveryDeclared)
257
257
  reasons.push("尚未提交交付声明");
258
+ // M3-S22(spec §9.4 / §8.4):必要子代理未收尾或结果未被父验证——消费 ≠ 接受
259
+ if (state.subagentPending && state.subagentPending.length > 0) {
260
+ reasons.push(`子代理未收尾或结果未通过验证:${state.subagentPending.join("、")}`.slice(0, 400));
261
+ }
258
262
  if (reasons.length === 0) {
259
263
  return { status: "delivered", reason: "全部验收条件已通过、留有条目证据,并由模型显式声明交付。" };
260
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/core/task/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/core/task/completion.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,11 @@ export type TaskRecord = {
86
86
  activeMs?: number;
87
87
  /** 用户中途追加的约束(steering 消息累积),进 continuation 上下文。 */
88
88
  constraints: string[];
89
+ /** 调度停泊原因(spec §8.2,M3-S19):父轮次结束但必要子代理未终态时
90
+ * park(Task 保持 running、释放父模型并发槽)。这是**调度状态**不是
91
+ * 第二套生命周期——子结果齐后清 undefined 并由 RunScheduler 续跑。
92
+ * 旧数据无此字段按未停泊处理。 */
93
+ parkedReason?: "children";
89
94
  createdAt: string;
90
95
  updatedAt: string;
91
96
  deliveredAt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/task/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/task/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/task/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0LzC,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,UAAU,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,MAA2B;IACzD,OAAO,MAAM,KAAK,oBAAoB,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,SAAS,CAAC;AAChI,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,MAA2B;IACxD,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/task/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA+LzC,MAAM,UAAU,SAAS;IACvB,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,UAAU,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,UAAU,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,MAA2B;IACzD,OAAO,MAAM,KAAK,oBAAoB,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,SAAS,CAAC;AAChI,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,MAA2B;IACxD,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/core/tools/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AA0C5E;;mDAEmD;AACnD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwBzD;AAkBD;6BAC6B;AAC7B,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAUpG;AAyBD;;;;;;;;;gDASgD;AAChD,wBAAgB,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CA8CvG;AAED;sEACsE;AACtE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAqCnF;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAEzE;AAED;2BAC2B;AAC3B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;;;;;SAS/F"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/core/tools/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AA0C5E;;mDAEmD;AACnD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwBzD;AAkBD;6BAC6B;AAC7B,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAUpG;AAyBD;;;;;;;;;gDASgD;AAChD,wBAAgB,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CA0DvG;AAED;sEACsE;AACtE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CA+CnF;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAEzE;AAED;2BAC2B;AAC3B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;;;;;SAS/F"}