@zmzai/agent-framework 0.5.2 → 0.9.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 (88) hide show
  1. package/dist/core/events/bus.js +3 -3
  2. package/dist/core/events/bus.js.map +1 -1
  3. package/dist/core/events/manifest.d.ts +178 -0
  4. package/dist/core/events/manifest.d.ts.map +1 -1
  5. package/dist/core/events/manifest.js +106 -0
  6. package/dist/core/events/manifest.js.map +1 -1
  7. package/dist/core/events/sqlite-event-log.js +3 -3
  8. package/dist/core/events/sqlite-event-log.js.map +1 -1
  9. package/dist/core/runtime/attachments.d.ts +110 -0
  10. package/dist/core/runtime/attachments.d.ts.map +1 -1
  11. package/dist/core/runtime/attachments.js +124 -0
  12. package/dist/core/runtime/attachments.js.map +1 -1
  13. package/dist/core/runtime/extraction.d.ts +117 -0
  14. package/dist/core/runtime/extraction.d.ts.map +1 -0
  15. package/dist/core/runtime/extraction.js +256 -0
  16. package/dist/core/runtime/extraction.js.map +1 -0
  17. package/dist/core/runtime/lease-recovery.d.ts.map +1 -1
  18. package/dist/core/runtime/lease-recovery.js +50 -0
  19. package/dist/core/runtime/lease-recovery.js.map +1 -1
  20. package/dist/core/runtime/pi-bridge.d.ts +1 -1
  21. package/dist/core/runtime/pi-bridge.d.ts.map +1 -1
  22. package/dist/core/runtime/pi-bridge.js +19 -1
  23. package/dist/core/runtime/pi-bridge.js.map +1 -1
  24. package/dist/core/runtime/runner.d.ts +174 -0
  25. package/dist/core/runtime/runner.d.ts.map +1 -1
  26. package/dist/core/runtime/runner.js +795 -34
  27. package/dist/core/runtime/runner.js.map +1 -1
  28. package/dist/core/session/jsonl-store.d.ts.map +1 -1
  29. package/dist/core/session/jsonl-store.js +77 -0
  30. package/dist/core/session/jsonl-store.js.map +1 -1
  31. package/dist/core/session/sqlite-store.d.ts.map +1 -1
  32. package/dist/core/session/sqlite-store.js +87 -3
  33. package/dist/core/session/sqlite-store.js.map +1 -1
  34. package/dist/core/session/store.d.ts +6 -0
  35. package/dist/core/session/store.d.ts.map +1 -1
  36. package/dist/core/session/types.d.ts +30 -13
  37. package/dist/core/session/types.d.ts.map +1 -1
  38. package/dist/core/session/workflow.d.ts +30 -1
  39. package/dist/core/session/workflow.d.ts.map +1 -1
  40. package/dist/core/session/workflow.js.map +1 -1
  41. package/dist/core/task/completion.d.ts +142 -0
  42. package/dist/core/task/completion.d.ts.map +1 -0
  43. package/dist/core/task/completion.js +273 -0
  44. package/dist/core/task/completion.js.map +1 -0
  45. package/dist/core/task/contract.d.ts +26 -0
  46. package/dist/core/task/contract.d.ts.map +1 -0
  47. package/dist/core/task/contract.js +103 -0
  48. package/dist/core/task/contract.js.map +1 -0
  49. package/dist/core/task/index.d.ts +20 -0
  50. package/dist/core/task/index.d.ts.map +1 -0
  51. package/dist/core/task/index.js +16 -0
  52. package/dist/core/task/index.js.map +1 -0
  53. package/dist/core/task/plan.d.ts +121 -0
  54. package/dist/core/task/plan.d.ts.map +1 -0
  55. package/dist/core/task/plan.js +216 -0
  56. package/dist/core/task/plan.js.map +1 -0
  57. package/dist/core/task/progress.d.ts +43 -0
  58. package/dist/core/task/progress.d.ts.map +1 -0
  59. package/dist/core/task/progress.js +66 -0
  60. package/dist/core/task/progress.js.map +1 -0
  61. package/dist/core/task/store.d.ts +36 -0
  62. package/dist/core/task/store.d.ts.map +1 -0
  63. package/dist/core/task/store.js +104 -0
  64. package/dist/core/task/store.js.map +1 -0
  65. package/dist/core/task/types.d.ts +156 -0
  66. package/dist/core/task/types.d.ts.map +1 -0
  67. package/dist/core/task/types.js +26 -0
  68. package/dist/core/task/types.js.map +1 -0
  69. package/dist/core/tools/attachments.d.ts +4 -0
  70. package/dist/core/tools/attachments.d.ts.map +1 -0
  71. package/dist/core/tools/attachments.js +195 -0
  72. package/dist/core/tools/attachments.js.map +1 -0
  73. package/dist/core/tools/builtins.d.ts.map +1 -1
  74. package/dist/core/tools/builtins.js +6 -1
  75. package/dist/core/tools/builtins.js.map +1 -1
  76. package/dist/core/tools/task-block.d.ts +44 -0
  77. package/dist/core/tools/task-block.d.ts.map +1 -0
  78. package/dist/core/tools/task-block.js +76 -0
  79. package/dist/core/tools/task-block.js.map +1 -0
  80. package/dist/core/tools/task-deliver.d.ts +55 -0
  81. package/dist/core/tools/task-deliver.d.ts.map +1 -0
  82. package/dist/core/tools/task-deliver.js +98 -0
  83. package/dist/core/tools/task-deliver.js.map +1 -0
  84. package/dist/index.d.ts +8 -2
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +5 -1
  87. package/dist/index.js.map +1 -1
  88. package/package.json +11 -12
@@ -0,0 +1,76 @@
1
+ import { z } from "zod";
2
+ /** 任务级「需要用户介入」的声明工具(规格 3 §11 / §17.3 场景 B)。
3
+ *
4
+ * 【为什么必须有这个工具】规格 §11 列了五种允许要求用户介入的场景,其中三种
5
+ * (缺信息、要在两个不可逆方案里选、外部登录/验证码/付款)在实现上需要**模型
6
+ * 自己说出来**。在此之前,`CompletionRuntimeState` 的 `inputRequired` /
7
+ * `choiceRequired` / `externalAuthRequired` 三个字段只有单测会填,运行时一律写
8
+ * null——任务契约里那句「只有确实需要用户…时才停下,并说明卡在哪里」因此是一句
9
+ * **无法执行的指示**:模型照做,停下来说明,而运行时只看到「这一轮结束了、步骤
10
+ * 还剩着」,于是把它当成续跑,再跑一遍,再停……一直到连续三轮无进展,用户收到
11
+ * 的是一句「连续 3 轮没有实质进展」。真实原因(缺一个域名)被掩盖成了一个
12
+ * 性能问题。
13
+ *
14
+ * 【为什么是个工具而不是对最终文本做启发式】在模型最后一段话里找问号、「请提供」
15
+ * 之类的模式,会在正常交付里误判——「要不要我顺便加上移动端适配?」是一句礼貌的
16
+ * 收尾,不是阻塞。误判的代价是把一个已经能继续的任务冻结住等用户,而用户可能
17
+ * 根本没在看。工具调用是一个明确的、结构化的动作:模型**主动**声明「我卡住了,
18
+ * 原因是 X,需要你做 Y」。§19 的精神也是这个方向——不许把「无法继续」包装成
19
+ * 别的样子。
20
+ *
21
+ * 【它不是逃生舱】声明阻塞会让任务停下来等用户,是不便宜的。所以:
22
+ * - description 里写清使用边界,并明确「不要为了让用户确认计划而调用」;
23
+ * - 同一个任务里模型若反复用它来回避工作,用户会直接看到它在等什么——
24
+ * 每次都要写 message 与 requiredAction,编不出理由就没法用;
25
+ * - 它自己不产生任何副作用,因此不需要授权(`permission: () => null`)。 */
26
+ export const TASK_BLOCK_TOOL_ID = "task_block";
27
+ export const taskBlockKinds = ["input", "choice", "external_auth"];
28
+ export const taskBlockInputSchema = z.object({
29
+ kind: z.enum(taskBlockKinds),
30
+ /** 卡在哪里——会原样显示在任务卡上,必须具体到「缺什么」。 */
31
+ message: z.string().trim().min(1).max(600),
32
+ /** 用户做完什么之后任务能继续。§14.4 禁止只说「请继续」。 */
33
+ requiredAction: z.string().trim().min(1).max(400),
34
+ /** `kind: "choice"` 时的候选项,会给界面用来渲染可选项。
35
+ *
36
+ * 【为什么是 `.optional()` 而不是 `.default([])`】`default` 在推导出的
37
+ * JSON Schema 里会变成**必填**字段,而模型在 `input` / `external_auth` 两种
38
+ * 情况下根本不会传它——于是每一次声明都因为「缺少 options」被挡在工具校验,
39
+ * `task_block` 成了个永远调不通的工具。这正是它存在的意义所在,所以这里
40
+ * 宁可让 `undefined` 一路传下来,在 `execute` 里归一。 */
41
+ options: z.array(z.string().trim().min(1).max(200)).max(6).optional(),
42
+ });
43
+ /** 三类各自对应的用户动作,用来生成工具结果回执。 */
44
+ const KIND_HINT = {
45
+ input: "缺少必要信息",
46
+ choice: "需要用户在两个方案之间选择",
47
+ external_auth: "需要用户完成外部登录、验证码或付款",
48
+ };
49
+ export const taskBlockTool = {
50
+ id: TASK_BLOCK_TOOL_ID,
51
+ label: "声明任务受阻",
52
+ description: "声明这个任务被卡住了,必须由用户介入才能继续。仅在以下情况调用:① 缺少的信息确实无法从工作区、工具或已有上下文中获得;② 有两个会产生明显不同且不可逆结果的方案,必须由用户选;③ 需要用户完成外部登录、验证码或付款。不要为了让用户确认计划而调用——计划默认直接执行。调用后本轮就结束,请用一句话说明卡在哪里以及需要用户做什么。",
53
+ parameters: taskBlockInputSchema,
54
+ // 无副作用:它只声明状态,让任务停在等待上——这不是一次写操作,不需要授权。
55
+ permission: () => null,
56
+ async execute(args) {
57
+ const options = args.options?.length ? `\n候选方案:${args.options.join(" / ")}` : "";
58
+ return {
59
+ title: `任务受阻:${KIND_HINT[args.kind]}`,
60
+ output: [
61
+ "已记录这个阻塞。任务现在停在等待用户处理的状态,不会自动继续。",
62
+ `原因:${args.message}`,
63
+ `需要用户做:${args.requiredAction}${options}`,
64
+ "请用一句话向用户说明卡在哪里以及需要他做什么,然后结束本轮。用户处理完之后任务会从当前步骤接着做,不必重做已经完成的部分。",
65
+ ].join("\n"),
66
+ metadata: { taskBlock: args },
67
+ };
68
+ },
69
+ };
70
+ /** 从工具调用参数里取回声明(runner 用;参数来自模型,必须过 schema)。
71
+ * 非法参数按「没有声明」处理——一个格式不对的工具调用不该把任务冻住。 */
72
+ export function readTaskBlock(args) {
73
+ const parsed = taskBlockInputSchema.safeParse(args);
74
+ return parsed.success ? parsed.data : null;
75
+ }
76
+ //# sourceMappingURL=task-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-block.js","sourceRoot":"","sources":["../../../src/core/tools/task-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;sDAuBsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;AAE5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC5B,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1C,qCAAqC;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjD;;;;;;iDAM6C;IAC7C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtE,CAAC,CAAC;AAIH,8BAA8B;AAC9B,MAAM,SAAS,GAA2C;IACxD,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,eAAe;IACvB,aAAa,EAAE,mBAAmB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,QAAQ;IACf,WAAW,EACT,sKAAsK;IACxK,UAAU,EAAE,oBAAoB;IAChC,wCAAwC;IACxC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;IACtB,KAAK,CAAC,OAAO,CAAC,IAAI;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO;YACL,KAAK,EAAE,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrC,MAAM,EAAE;gBACN,iCAAiC;gBACjC,MAAM,IAAI,CAAC,OAAO,EAAE;gBACpB,SAAS,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE;gBACxC,+DAA+D;aAChE,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC9B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;yCACyC;AACzC,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { z } from "zod";
2
+ import type { ToolDef } from "./def.js";
3
+ /** 任务级「我交付了」的**显式声明**工具(规格 3 §9 / §14.1)。
4
+ *
5
+ * 【为什么必须有这个工具】Completion Gate 的五条条件里,「验收条件是否通过」
6
+ * 这一条在运行时没有任何独立事实可依——验收条件写的是用户的目标,达成与否
7
+ * 只有做事的那个人知道。在它之前,这一步是靠**推导**补上的:
8
+ * `projectImplicitCriterion` 看「模型这轮有没有输出文本」,有文本就把隐式条件
9
+ * 判 passed。那是一条从「文本非空」到「目标已实现」的跳跃,于是模型的任何
10
+ * 一句收尾话都能换到 delivered。
11
+ *
12
+ * 真实事故的形状是这样的:用户发「继续执行」,模型回「继续。跑自检验证前面
13
+ * 改动的正确性:」——**一句话停在冒号上、零工具调用、28 个输出 token**——
14
+ * 然后框架照常发 `task.delivered`,交付卡上写着「完成了 0 个步骤、0 次工具
15
+ * 调用」「剩余项:无」。任务进了终态,用户那句「继续执行」被彻底吞掉。
16
+ *
17
+ * 【为什么不是把启发式写得更聪明】在最终文本里找「已完成」「剩余项」之类的
18
+ * 模式,会在正常交付里误判,也会被模型的口癖绕过。`task_block` 的注释里已经
19
+ * 写过同一条判断:**不猜,让模型显式声明**。交付也一样——它是一次动作,不是
20
+ * 一种可以被推断出来的语气。
21
+ *
22
+ * 【它不是逃生舱】声明交付不会绕过门:模型给的是**输入**(每条验收条件的结论、
23
+ * 怎么验证的、还剩什么),门仍然独立检查阻塞、未完成步骤、证据是否对得上号、
24
+ * 有没有最终文本。模型无法用一次 `task_deliver` 换来一个 delivered——它只能
25
+ * 把「达成与否」这个只有它知道的事实说出来,然后由门决定能不能交付。
26
+ *
27
+ * 【四问答的来源】规格 §14.1 的交付卡固定回答四个问题,§18.7 要求「无剩余项时
28
+ * 明确为『无』」。这里让模型直接按这四个问题填,而不是让框架事后从统计数字里
29
+ * 编一段——旧实现里那句「完成了 0 个步骤、0 次工具调用。」就是这么编出来的。 */
30
+ export declare const TASK_DELIVER_TOOL_ID = "task_deliver";
31
+ /** 逐条验收条件的状态。与 `AcceptanceCriterionStatus` 同值域,但**不含**
32
+ * `pending`:交付声明里说「还没结论」是没有意义的。 */
33
+ export declare const taskDeliverCriterionStatuses: readonly ["passed", "failed", "not_applicable"];
34
+ export declare const taskDeliverInputSchema: z.ZodObject<{
35
+ summary: z.ZodString;
36
+ changes: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ verification: z.ZodArray<z.ZodString>;
38
+ remaining: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ criteria: z.ZodOptional<z.ZodArray<z.ZodObject<{
40
+ id: z.ZodString;
41
+ status: z.ZodEnum<{
42
+ failed: "failed";
43
+ passed: "passed";
44
+ not_applicable: "not_applicable";
45
+ }>;
46
+ evidence: z.ZodString;
47
+ }, z.core.$strip>>>;
48
+ }, z.core.$strip>;
49
+ export type TaskDeliverInput = z.infer<typeof taskDeliverInputSchema>;
50
+ export declare const taskDeliverTool: ToolDef<typeof taskDeliverInputSchema>;
51
+ /** 从工具调用参数里取回交付声明(runner 用;参数来自模型,必须过 schema)。
52
+ * 非法参数按「没有声明」处理——一次格式不对的调用不该把任务判成已交付,
53
+ * 也不该让这一轮白跑:门会继续要求交付,模型下一次调用时改正即可。 */
54
+ export declare function readTaskDelivery(args: unknown): TaskDeliverInput | null;
55
+ //# sourceMappingURL=task-deliver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-deliver.d.ts","sourceRoot":"","sources":["../../../src/core/tools/task-deliver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;8CA0B8C;AAC9C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD;oCACoC;AACpC,eAAO,MAAM,4BAA4B,iDAAkD,CAAC;AAE5F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBA8BjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,OAAO,sBAAsB,CA6BlE,CAAC;AAEF;;uCAEuC;AACvC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAGvE"}
@@ -0,0 +1,98 @@
1
+ import { z } from "zod";
2
+ /** 任务级「我交付了」的**显式声明**工具(规格 3 §9 / §14.1)。
3
+ *
4
+ * 【为什么必须有这个工具】Completion Gate 的五条条件里,「验收条件是否通过」
5
+ * 这一条在运行时没有任何独立事实可依——验收条件写的是用户的目标,达成与否
6
+ * 只有做事的那个人知道。在它之前,这一步是靠**推导**补上的:
7
+ * `projectImplicitCriterion` 看「模型这轮有没有输出文本」,有文本就把隐式条件
8
+ * 判 passed。那是一条从「文本非空」到「目标已实现」的跳跃,于是模型的任何
9
+ * 一句收尾话都能换到 delivered。
10
+ *
11
+ * 真实事故的形状是这样的:用户发「继续执行」,模型回「继续。跑自检验证前面
12
+ * 改动的正确性:」——**一句话停在冒号上、零工具调用、28 个输出 token**——
13
+ * 然后框架照常发 `task.delivered`,交付卡上写着「完成了 0 个步骤、0 次工具
14
+ * 调用」「剩余项:无」。任务进了终态,用户那句「继续执行」被彻底吞掉。
15
+ *
16
+ * 【为什么不是把启发式写得更聪明】在最终文本里找「已完成」「剩余项」之类的
17
+ * 模式,会在正常交付里误判,也会被模型的口癖绕过。`task_block` 的注释里已经
18
+ * 写过同一条判断:**不猜,让模型显式声明**。交付也一样——它是一次动作,不是
19
+ * 一种可以被推断出来的语气。
20
+ *
21
+ * 【它不是逃生舱】声明交付不会绕过门:模型给的是**输入**(每条验收条件的结论、
22
+ * 怎么验证的、还剩什么),门仍然独立检查阻塞、未完成步骤、证据是否对得上号、
23
+ * 有没有最终文本。模型无法用一次 `task_deliver` 换来一个 delivered——它只能
24
+ * 把「达成与否」这个只有它知道的事实说出来,然后由门决定能不能交付。
25
+ *
26
+ * 【四问答的来源】规格 §14.1 的交付卡固定回答四个问题,§18.7 要求「无剩余项时
27
+ * 明确为『无』」。这里让模型直接按这四个问题填,而不是让框架事后从统计数字里
28
+ * 编一段——旧实现里那句「完成了 0 个步骤、0 次工具调用。」就是这么编出来的。 */
29
+ export const TASK_DELIVER_TOOL_ID = "task_deliver";
30
+ /** 逐条验收条件的状态。与 `AcceptanceCriterionStatus` 同值域,但**不含**
31
+ * `pending`:交付声明里说「还没结论」是没有意义的。 */
32
+ export const taskDeliverCriterionStatuses = ["passed", "failed", "not_applicable"];
33
+ export const taskDeliverInputSchema = z.object({
34
+ /** 问 1:做成了什么。给用户看的一句话,不要复述目标。 */
35
+ summary: z.string().trim().min(1).max(1200),
36
+ /** 问 2:改了哪些主要内容。省略时框架用本轮实际编辑过的文件补。 */
37
+ changes: z.array(z.string().trim().min(1).max(200)).max(12).optional(),
38
+ /** 问 3:怎么验证的。**至少一条**——这正是旧实现里最容易空掉的一格:
39
+ * 「有验证」是交付的底线,声明里连一句验证都写不出来,就不该交付。 */
40
+ verification: z.array(z.string().trim().min(1).max(400)).min(1).max(12),
41
+ /** 问 4:还有哪些没做完。**必须显式给**(空数组也算给了)——规格 §18.7
42
+ * 禁止让「没写」和「没有」两种含义糊在一起。 */
43
+ remaining: z.array(z.string().trim().min(1).max(200)).max(12).optional(),
44
+ /** 逐条验收条件的结论。id 用任务契约里印出来的那一个
45
+ * (`<task-contract>` 的验收条件列表带方括号 id)。
46
+ *
47
+ * 【为什么 optional】任务只有隐式条件(`crit_implicit`,描述就是用户的
48
+ * 目标)时,`summary` + `verification` 已经回答了同一个问题,再要求模型
49
+ * 抄一遍 id 只是形式。省略即「隐式条件按 passed 处理」;给了就逐条按声明
50
+ * 走,**未覆盖的 required 条件保持 pending**,门会因为「验收条件未通过」
51
+ * 把它打回续跑,并在 advisory 里点名缺哪一条。 */
52
+ criteria: z
53
+ .array(z.object({
54
+ id: z.string().trim().min(1).max(80),
55
+ status: z.enum(taskDeliverCriterionStatuses),
56
+ /** 这条结论的依据。写清「看到/跑了什么」,不要写「已完成」。 */
57
+ evidence: z.string().trim().min(1).max(400),
58
+ }))
59
+ .max(12)
60
+ .optional(),
61
+ });
62
+ export const taskDeliverTool = {
63
+ id: TASK_DELIVER_TOOL_ID,
64
+ label: "提交交付",
65
+ description: "声明这个任务已经完成,并按四个问题提交交付信息:做成了什么、改了哪些主要内容、怎么验证的、还有哪些没做完。**任务只有在你调用它之后才会结束**——结束本轮、给出一段收尾文字、把 todo 标记完成都不能交付。调用时机:验收条件真的都满足了,而且你能说清是怎么验证的。如果你的答复还没达到目标,不要调用它,继续做事或用 task_block 说明卡在哪里。",
66
+ parameters: taskDeliverInputSchema,
67
+ // 无副作用:它只提交一份结构化声明,真正的判定仍由 Completion Gate 做。
68
+ permission: () => null,
69
+ async execute(args) {
70
+ const criteria = args.criteria?.length
71
+ ? args.criteria.map((item) => `- [${item.id}] ${item.status}:${item.evidence}`).join("\n")
72
+ : "(未逐条声明,隐式验收条件按通过处理)";
73
+ const changes = args.changes?.length ? args.changes.join("、") : "(由框架按本轮实际改动的文件补)";
74
+ const remaining = args.remaining?.length ? args.remaining.join("、") : "无";
75
+ return {
76
+ title: "提交交付信息",
77
+ output: [
78
+ "已提交交付信息。系统会独立核对验收条件、未完成步骤与证据,再决定任务是否结束。",
79
+ `做成了什么:${args.summary}`,
80
+ `改动:${changes}`,
81
+ `验证:${args.verification.join(";")}`,
82
+ `剩余项:${remaining}`,
83
+ "验收结论:",
84
+ criteria,
85
+ "请用一段话把上面这些告诉用户,然后结束本轮。不要再启动新的大段工作——如果你发现还有没做完的,继续做,等做完再交付。",
86
+ ].join("\n"),
87
+ metadata: { taskDelivery: args },
88
+ };
89
+ },
90
+ };
91
+ /** 从工具调用参数里取回交付声明(runner 用;参数来自模型,必须过 schema)。
92
+ * 非法参数按「没有声明」处理——一次格式不对的调用不该把任务判成已交付,
93
+ * 也不该让这一轮白跑:门会继续要求交付,模型下一次调用时改正即可。 */
94
+ export function readTaskDelivery(args) {
95
+ const parsed = taskDeliverInputSchema.safeParse(args);
96
+ return parsed.success ? parsed.data : null;
97
+ }
98
+ //# sourceMappingURL=task-deliver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-deliver.js","sourceRoot":"","sources":["../../../src/core/tools/task-deliver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /** @zmzai/agent-framework — PI-based agent framework (OpenCode-style).
2
2
  * Storage/backend-agnostic: sessions, permissions, tools, runner, events.
3
3
  * Assemble with createServer() (or wire SessionRunner directly). */
4
- export type { MessageInfo, MessageWithParts, Part, QueuedPrompt, SelectedSkill, SessionInfo, SessionStatus, ModelRef, ToolState, ThinkingEffort } from "./core/session/types.js";
4
+ export type { MessageInfo, MessageWithParts, Part, FilePart, QueuedPrompt, SelectedSkill, SessionInfo, SessionStatus, ModelRef, ToolState, ThinkingEffort } from "./core/session/types.js";
5
5
  export type { SessionStore } from "./core/session/store.js";
6
6
  export { newSessionId, newMessageId, newPartId, newPermissionRequestId, newEventId } from "./core/session/ids.js";
7
7
  export { createJsonlSessionStore } from "./core/session/jsonl-store.js";
@@ -43,7 +43,13 @@ export { createHostTerminalBackend } from "./adapters/terminal-backend.js";
43
43
  export { createRepoMapTool } from "./core/tools/repomap.js";
44
44
  export { renderRepoMap, resolveFrameworkVendorDirs, setWasmDirs, type RepoMapOptions, type RepoMapResult } from "./core/repomap/repomap.js";
45
45
  export { SessionRunner, createFrameworkSession, isSessionActive, isSessionAwaitingPermission, listActiveSessions, type RunnerDeps, type PromptInput } from "./core/runtime/runner.js";
46
- export { validateAttachments, type InputAttachment } from "./core/runtime/attachments.js";
46
+ export { validateAttachments, validateAttachmentRefs, attachmentContent, attachmentManifest, attachmentDataBlock, attachmentRefContent, ATTACHMENT_KINDS, INLINE_TEXT_LIMIT, MAX_ATTACHMENT_REFS, type AttachmentKind, type AttachmentContentRef, type AttachmentAccessScope, type AttachmentSummary, type AttachmentProvider, type InputAttachment, type InputAttachmentRef, type PiContentPart, } from "./core/runtime/attachments.js";
47
+ export { EXTRACTION_LIMITS, EXTRACTION_VERSION, READ_ATTACHMENT_MAX_CHARS, SEARCH_ATTACHMENT_DEFAULT_HITS, SEARCH_ATTACHMENT_MAX_HITS, compactionAttachmentNote, formatLocator, searchSections, sectionsForLocator, selectInitialSections, validateExtractedDocument, type ExtractedDocument, type ExtractedSection, type ExtractionLocator, type SectionHit, } from "./core/runtime/extraction.js";
48
+ export type { TaskLifecycleStatus, TaskStepStatus, AcceptanceCriterionStatus, AcceptanceCriterion, TaskStep, TaskEvidence, TaskEvidenceKind, TaskBlocker, TaskBlockerKind, TaskRecord, TaskResult, TaskDeliveryDeclaration, TaskPatch, CreateTaskInput, TaskStore, CompletionRuntimeState, CompletionVerdict, NoProgressPolicy, ProgressAdvance, } from "./core/task/index.js";
49
+ export { newTaskId, newTaskStepId, newCriterionId, newEvidenceId, isTerminalStatus, isWaitingStatus, isActiveStatus, createMemoryTaskStore, createTaskRecord, applyTaskPatch, TASK_REVISION_CONFLICT, IMPLICIT_CRITERION_ID, MAX_EVIDENCE, defaultCriteriaFor, stepIdForContent, projectTodos, applyDelivery, evidenceKindForTool, appendEvidence, pruneEvidenceRefs, fallbackStep, evaluateTaskCompletion, lifecycleForBlocker, normalizeNoProgressPolicy, normalizeMaxDurationMs, durationBudgetBlocker, DEFAULT_NO_PROGRESS_POLICY, DEFAULT_MAX_ATTEMPTS, DEFAULT_MAX_DURATION_MS, taskFingerprint, advanceProgress, taskContractText, initialTaskContract, fallbackResult, renderResult, remainingSteps, } from "./core/task/index.js";
50
+ export type { PromptDisposition, PromptReceipt, WorkflowRunKind, WorkflowState, WorkflowRun, WorkflowStore, AcceptedPrompt } from "./core/session/workflow.js";
51
+ export { promptHash } from "./core/session/workflow.js";
52
+ export { createAttachmentTools } from "./core/tools/attachments.js";
47
53
  export type { LifecycleHook } from "./core/runtime/lifecycle.js";
48
54
  export { extractRunTranscript, RETRY_PLACEHOLDER_TEXT, type RunTranscriptMessage } from "./core/runtime/run-transcript.js";
49
55
  export { PartProjector, serializeEmit } from "./core/runtime/pi-bridge.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -29,7 +29,11 @@ export { createRepoMapTool } from "./core/tools/repomap.js";
29
29
  export { renderRepoMap, resolveFrameworkVendorDirs, setWasmDirs } from "./core/repomap/repomap.js";
30
30
  // core: runtime
31
31
  export { SessionRunner, createFrameworkSession, isSessionActive, isSessionAwaitingPermission, listActiveSessions } from "./core/runtime/runner.js";
32
- export { validateAttachments } from "./core/runtime/attachments.js";
32
+ export { validateAttachments, validateAttachmentRefs, attachmentContent, attachmentManifest, attachmentDataBlock, attachmentRefContent, ATTACHMENT_KINDS, INLINE_TEXT_LIMIT, MAX_ATTACHMENT_REFS, } from "./core/runtime/attachments.js";
33
+ export { EXTRACTION_LIMITS, EXTRACTION_VERSION, READ_ATTACHMENT_MAX_CHARS, SEARCH_ATTACHMENT_DEFAULT_HITS, SEARCH_ATTACHMENT_MAX_HITS, compactionAttachmentNote, formatLocator, searchSections, sectionsForLocator, selectInitialSections, validateExtractedDocument, } from "./core/runtime/extraction.js";
34
+ export { newTaskId, newTaskStepId, newCriterionId, newEvidenceId, isTerminalStatus, isWaitingStatus, isActiveStatus, createMemoryTaskStore, createTaskRecord, applyTaskPatch, TASK_REVISION_CONFLICT, IMPLICIT_CRITERION_ID, MAX_EVIDENCE, defaultCriteriaFor, stepIdForContent, projectTodos, applyDelivery, evidenceKindForTool, appendEvidence, pruneEvidenceRefs, fallbackStep, evaluateTaskCompletion, lifecycleForBlocker, normalizeNoProgressPolicy, normalizeMaxDurationMs, durationBudgetBlocker, DEFAULT_NO_PROGRESS_POLICY, DEFAULT_MAX_ATTEMPTS, DEFAULT_MAX_DURATION_MS, taskFingerprint, advanceProgress, taskContractText, initialTaskContract, fallbackResult, renderResult, remainingSteps, } from "./core/task/index.js";
35
+ export { promptHash } from "./core/session/workflow.js";
36
+ export { createAttachmentTools } from "./core/tools/attachments.js";
33
37
  export { extractRunTranscript, RETRY_PLACEHOLDER_TEXT } from "./core/runtime/run-transcript.js";
34
38
  export { PartProjector, serializeEmit } from "./core/runtime/pi-bridge.js";
35
39
  export { buildCompactionTransform, createCompactionTransform, streamOneText } from "./core/runtime/compaction.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "@zmzai/agent-framework",
3
- "version": "0.5.2",
4
- "packageManager": "pnpm@10.34.5",
3
+ "version": "0.9.0",
5
4
  "description": "PI-based agent framework — sessions, permissions, tools, runner, events (OpenCode-style).",
6
5
  "type": "module",
7
6
  "main": "./dist/index.js",
@@ -19,15 +18,6 @@
19
18
  "dist",
20
19
  "openapi.yaml"
21
20
  ],
22
- "scripts": {
23
- "build": "tsc -p tsconfig.build.json",
24
- "typecheck": "tsc --noEmit",
25
- "test": "vitest run",
26
- "build:watch": "tsc -p tsconfig.build.json --watch",
27
- "changeset": "changeset",
28
- "changeset:version": "changeset version",
29
- "release": "pnpm build && changeset publish"
30
- },
31
21
  "dependencies": {
32
22
  "@earendil-works/pi-agent-core": "0.84.1",
33
23
  "@earendil-works/pi-ai": "0.84.1",
@@ -43,5 +33,14 @@
43
33
  },
44
34
  "optionalDependencies": {
45
35
  "node-pty": "1.1.0"
36
+ },
37
+ "scripts": {
38
+ "build": "tsc -p tsconfig.build.json",
39
+ "typecheck": "tsc --noEmit",
40
+ "test": "vitest run",
41
+ "build:watch": "tsc -p tsconfig.build.json --watch",
42
+ "changeset": "changeset",
43
+ "changeset:version": "changeset version",
44
+ "release": "pnpm build && changeset publish"
46
45
  }
47
- }
46
+ }