@namzu/sdk 39.0.0 → 40.0.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 (183) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  3. package/dist/connector/mcp/adapter.js +20 -6
  4. package/dist/connector/mcp/adapter.js.map +1 -1
  5. package/dist/manager/run/persistence.d.ts +8 -0
  6. package/dist/manager/run/persistence.d.ts.map +1 -1
  7. package/dist/manager/run/persistence.js +12 -0
  8. package/dist/manager/run/persistence.js.map +1 -1
  9. package/dist/public-runtime.d.ts +3 -1
  10. package/dist/public-runtime.d.ts.map +1 -1
  11. package/dist/public-runtime.js +5 -1
  12. package/dist/public-runtime.js.map +1 -1
  13. package/dist/public-tools.d.ts +11 -0
  14. package/dist/public-tools.d.ts.map +1 -1
  15. package/dist/public-tools.js +14 -0
  16. package/dist/public-tools.js.map +1 -1
  17. package/dist/registry/tool/execute.d.ts.map +1 -1
  18. package/dist/registry/tool/execute.js +2 -3
  19. package/dist/registry/tool/execute.js.map +1 -1
  20. package/dist/registry/tool/portable.d.ts +65 -0
  21. package/dist/registry/tool/portable.d.ts.map +1 -0
  22. package/dist/registry/tool/portable.js +244 -0
  23. package/dist/registry/tool/portable.js.map +1 -0
  24. package/dist/registry/tool/schema.d.ts +32 -5
  25. package/dist/registry/tool/schema.d.ts.map +1 -1
  26. package/dist/registry/tool/schema.js +35 -9
  27. package/dist/registry/tool/schema.js.map +1 -1
  28. package/dist/registry/toolset/catalog.js +8 -8
  29. package/dist/registry/toolset/catalog.js.map +1 -1
  30. package/dist/runtime/jobs/awaited-jobs.d.ts +215 -0
  31. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -0
  32. package/dist/runtime/jobs/awaited-jobs.js +259 -0
  33. package/dist/runtime/jobs/awaited-jobs.js.map +1 -0
  34. package/dist/runtime/jobs/registry.d.ts +33 -2
  35. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  36. package/dist/runtime/jobs/registry.js +37 -0
  37. package/dist/runtime/jobs/registry.js.map +1 -1
  38. package/dist/runtime/query/executor.d.ts +28 -0
  39. package/dist/runtime/query/executor.d.ts.map +1 -1
  40. package/dist/runtime/query/executor.js +39 -1
  41. package/dist/runtime/query/executor.js.map +1 -1
  42. package/dist/runtime/query/file-evidence-context.d.ts.map +1 -1
  43. package/dist/runtime/query/file-evidence-context.js +159 -43
  44. package/dist/runtime/query/file-evidence-context.js.map +1 -1
  45. package/dist/runtime/query/file-evidence-replay.d.ts +260 -0
  46. package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -0
  47. package/dist/runtime/query/file-evidence-replay.js +647 -0
  48. package/dist/runtime/query/file-evidence-replay.js.map +1 -0
  49. package/dist/runtime/query/file-evidence-seed.d.ts +50 -0
  50. package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -0
  51. package/dist/runtime/query/file-evidence-seed.js +100 -0
  52. package/dist/runtime/query/file-evidence-seed.js.map +1 -0
  53. package/dist/runtime/query/index.d.ts.map +1 -1
  54. package/dist/runtime/query/index.js +94 -2
  55. package/dist/runtime/query/index.js.map +1 -1
  56. package/dist/runtime/query/iteration/index.d.ts +87 -9
  57. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  58. package/dist/runtime/query/iteration/index.js +193 -28
  59. package/dist/runtime/query/iteration/index.js.map +1 -1
  60. package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
  61. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  62. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  63. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  64. package/dist/runtime/query/iteration/phases/tool-review.js +5 -1
  65. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  66. package/dist/runtime/query/plugin-hooks.d.ts +14 -0
  67. package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
  68. package/dist/runtime/query/plugin-hooks.js +18 -0
  69. package/dist/runtime/query/plugin-hooks.js.map +1 -1
  70. package/dist/runtime/query/repeat-call.d.ts +17 -4
  71. package/dist/runtime/query/repeat-call.d.ts.map +1 -1
  72. package/dist/runtime/query/repeat-call.js +26 -19
  73. package/dist/runtime/query/repeat-call.js.map +1 -1
  74. package/dist/runtime/query/steering.d.ts +11 -1
  75. package/dist/runtime/query/steering.d.ts.map +1 -1
  76. package/dist/runtime/query/steering.js +12 -1
  77. package/dist/runtime/query/steering.js.map +1 -1
  78. package/dist/runtime/query/tooling.d.ts +2 -0
  79. package/dist/runtime/query/tooling.d.ts.map +1 -1
  80. package/dist/runtime/query/tooling.js +1 -0
  81. package/dist/runtime/query/tooling.js.map +1 -1
  82. package/dist/scheduler/completion-inbox.d.ts +48 -2
  83. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  84. package/dist/scheduler/completion-inbox.js +102 -10
  85. package/dist/scheduler/completion-inbox.js.map +1 -1
  86. package/dist/tools/builtins/bash.d.ts.map +1 -1
  87. package/dist/tools/builtins/bash.js +4 -10
  88. package/dist/tools/builtins/bash.js.map +1 -1
  89. package/dist/tools/builtins/edit-apply.d.ts +126 -0
  90. package/dist/tools/builtins/edit-apply.d.ts.map +1 -0
  91. package/dist/tools/builtins/edit-apply.js +360 -0
  92. package/dist/tools/builtins/edit-apply.js.map +1 -0
  93. package/dist/tools/builtins/edit.d.ts +143 -1
  94. package/dist/tools/builtins/edit.d.ts.map +1 -1
  95. package/dist/tools/builtins/edit.js +37 -219
  96. package/dist/tools/builtins/edit.js.map +1 -1
  97. package/dist/tools/builtins/index.d.ts +1 -0
  98. package/dist/tools/builtins/index.d.ts.map +1 -1
  99. package/dist/tools/builtins/index.js +9 -3
  100. package/dist/tools/builtins/index.js.map +1 -1
  101. package/dist/tools/builtins/job.js +1 -1
  102. package/dist/tools/builtins/job.js.map +1 -1
  103. package/dist/tools/builtins/read-file.d.ts +2 -2
  104. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  105. package/dist/tools/builtins/read-file.js +50 -65
  106. package/dist/tools/builtins/read-file.js.map +1 -1
  107. package/dist/tools/builtins/read-render.d.ts +56 -0
  108. package/dist/tools/builtins/read-render.d.ts.map +1 -0
  109. package/dist/tools/builtins/read-render.js +73 -0
  110. package/dist/tools/builtins/read-render.js.map +1 -0
  111. package/dist/tools/builtins/wait-for-job-bounds.d.ts +67 -0
  112. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -0
  113. package/dist/tools/builtins/wait-for-job-bounds.js +108 -0
  114. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -0
  115. package/dist/tools/builtins/wait-for-job.d.ts +6 -0
  116. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -0
  117. package/dist/tools/builtins/wait-for-job.js +162 -0
  118. package/dist/tools/builtins/wait-for-job.js.map +1 -0
  119. package/dist/tools/builtins/write-file.js +5 -0
  120. package/dist/tools/builtins/write-file.js.map +1 -1
  121. package/dist/tools/coordinator/index.d.ts.map +1 -1
  122. package/dist/tools/coordinator/index.js +1 -7
  123. package/dist/tools/coordinator/index.js.map +1 -1
  124. package/dist/tools/file-read-tracker.d.ts.map +1 -1
  125. package/dist/tools/file-read-tracker.js +88 -10
  126. package/dist/tools/file-read-tracker.js.map +1 -1
  127. package/dist/types/message/index.d.ts +1 -1
  128. package/dist/types/message/index.d.ts.map +1 -1
  129. package/dist/types/message/index.js +2 -0
  130. package/dist/types/message/index.js.map +1 -1
  131. package/dist/types/run/entity.d.ts +13 -0
  132. package/dist/types/run/entity.d.ts.map +1 -1
  133. package/dist/types/sandbox/index.d.ts +15 -14
  134. package/dist/types/sandbox/index.d.ts.map +1 -1
  135. package/dist/types/sandbox/index.js.map +1 -1
  136. package/dist/types/tool/index.d.ts +109 -0
  137. package/dist/types/tool/index.d.ts.map +1 -1
  138. package/dist/types/tool/index.js.map +1 -1
  139. package/dist/utils/env.d.ts +19 -0
  140. package/dist/utils/env.d.ts.map +1 -0
  141. package/dist/utils/env.js +25 -0
  142. package/dist/utils/env.js.map +1 -0
  143. package/package.json +1 -1
  144. package/src/connector/mcp/adapter.ts +20 -6
  145. package/src/manager/run/persistence.ts +12 -0
  146. package/src/public-runtime.ts +9 -1
  147. package/src/public-tools.ts +18 -0
  148. package/src/registry/tool/execute.ts +2 -4
  149. package/src/registry/tool/portable.ts +264 -0
  150. package/src/registry/tool/schema.ts +38 -8
  151. package/src/registry/toolset/catalog.ts +8 -9
  152. package/src/runtime/jobs/awaited-jobs.ts +271 -0
  153. package/src/runtime/jobs/registry.ts +50 -0
  154. package/src/runtime/query/executor.ts +49 -1
  155. package/src/runtime/query/file-evidence-context.ts +190 -46
  156. package/src/runtime/query/file-evidence-replay.ts +776 -0
  157. package/src/runtime/query/file-evidence-seed.ts +126 -0
  158. package/src/runtime/query/index.ts +104 -2
  159. package/src/runtime/query/iteration/index.ts +202 -28
  160. package/src/runtime/query/iteration/phases/context.ts +10 -0
  161. package/src/runtime/query/iteration/phases/tool-review.ts +4 -0
  162. package/src/runtime/query/plugin-hooks.ts +20 -0
  163. package/src/runtime/query/repeat-call.ts +28 -18
  164. package/src/runtime/query/steering.ts +11 -0
  165. package/src/runtime/query/tooling.ts +3 -0
  166. package/src/scheduler/completion-inbox.ts +105 -9
  167. package/src/tools/builtins/bash.ts +4 -10
  168. package/src/tools/builtins/edit-apply.ts +456 -0
  169. package/src/tools/builtins/edit.ts +39 -270
  170. package/src/tools/builtins/index.ts +9 -3
  171. package/src/tools/builtins/job.ts +1 -1
  172. package/src/tools/builtins/read-file.ts +56 -77
  173. package/src/tools/builtins/read-render.ts +104 -0
  174. package/src/tools/builtins/wait-for-job-bounds.ts +179 -0
  175. package/src/tools/builtins/wait-for-job.ts +184 -0
  176. package/src/tools/builtins/write-file.ts +5 -0
  177. package/src/tools/coordinator/index.ts +1 -7
  178. package/src/tools/file-read-tracker.ts +85 -7
  179. package/src/types/message/index.ts +2 -0
  180. package/src/types/run/entity.ts +14 -0
  181. package/src/types/sandbox/index.ts +15 -14
  182. package/src/types/tool/index.ts +104 -0
  183. package/src/utils/env.ts +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable.js","sourceRoot":"","sources":["../../../src/registry/tool/portable.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,41 @@ import type { z } from 'zod';
10
10
  */
11
11
  export declare function renderToolSchema(schema: z.ZodType): Record<string, unknown>;
12
12
  /**
13
- * Strip what no provider reads.
13
+ * Make the rendering something every wire reads the same way.
14
14
  *
15
- * Only `$schema` today, and only at the root — `zodToJsonSchema` does not
16
- * stamp it on nested nodes. Kept as a named function rather than an inline
17
- * `delete` so the next "providers ignore this" field has an obvious home
18
- * and a place to be justified.
15
+ * Two jobs, both at this one boundary:
16
+ *
17
+ * 1. **Strip what no provider reads.** `$schema` rides in the tools block,
18
+ * which renders at position 0 inside the prompt-cache prefix, once per
19
+ * tool, per request, forever — and it asserts a dialect, which is the one
20
+ * thing a schema that has to work on every wire must not do.
21
+ *
22
+ * 2. **Leave the intersection of draft-07 and 2020-12 intact.** `renderToolSchema`
23
+ * emits draft-07, where a tuple is `items: [a, b]`; a 2020-12 wire reads
24
+ * that as invalid and rejects the whole request, taking every other tool in
25
+ * the call down with it. Five of the ten drivers forward the rendering
26
+ * verbatim, so the only place that can be fixed once is here. See
27
+ * `portable.ts` for the measurement that put it here.
19
28
  */
20
29
  export declare function normalizeToolSchema(json: Record<string, unknown>): Record<string, unknown>;
30
+ /**
31
+ * The schema a tool actually puts on the wire.
32
+ *
33
+ * A tool may carry an explicit `modelInputSchema` — hand-written JSON Schema,
34
+ * not rendered from Zod — and that schema reaches providers through the same
35
+ * `tools` block as a rendered one. It therefore has to clear the same bar, and
36
+ * the two call sites that build that block (`ToolRegistry.toLLMTools` and the
37
+ * toolset catalog) had each spelled the fallback out on their own. Two paths
38
+ * that agree today are two paths that can disagree tomorrow.
39
+ *
40
+ * The clone is deliberate: a caller may edit the parameters it is handed —
41
+ * `hostModelSchema` does — and the definition's own object must not move
42
+ * underneath the next call.
43
+ */
44
+ export declare function toolWireSchema(tool: {
45
+ readonly modelInputSchema?: Record<string, unknown>;
46
+ readonly inputSchema: z.ZodType;
47
+ }): Record<string, unknown>;
21
48
  /**
22
49
  * Clear the render cache. Tests only — a schema object's identity is the
23
50
  * cache key, so production has nothing to invalidate.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/registry/tool/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4B5B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI1F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAExE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/registry/tool/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6B5B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAY3E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnD,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAA;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAExE"}
@@ -1,4 +1,5 @@
1
1
  import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import { toPortableToolSchema } from './portable.js';
2
3
  /**
3
4
  * The single place a tool's Zod schema becomes the JSON Schema that goes on
4
5
  * the wire.
@@ -45,18 +46,43 @@ export function renderToolSchema(schema) {
45
46
  return normalized;
46
47
  }
47
48
  /**
48
- * Strip what no provider reads.
49
+ * Make the rendering something every wire reads the same way.
49
50
  *
50
- * Only `$schema` today, and only at the root — `zodToJsonSchema` does not
51
- * stamp it on nested nodes. Kept as a named function rather than an inline
52
- * `delete` so the next "providers ignore this" field has an obvious home
53
- * and a place to be justified.
51
+ * Two jobs, both at this one boundary:
52
+ *
53
+ * 1. **Strip what no provider reads.** `$schema` rides in the tools block,
54
+ * which renders at position 0 inside the prompt-cache prefix, once per
55
+ * tool, per request, forever — and it asserts a dialect, which is the one
56
+ * thing a schema that has to work on every wire must not do.
57
+ *
58
+ * 2. **Leave the intersection of draft-07 and 2020-12 intact.** `renderToolSchema`
59
+ * emits draft-07, where a tuple is `items: [a, b]`; a 2020-12 wire reads
60
+ * that as invalid and rejects the whole request, taking every other tool in
61
+ * the call down with it. Five of the ten drivers forward the rendering
62
+ * verbatim, so the only place that can be fixed once is here. See
63
+ * `portable.ts` for the measurement that put it here.
54
64
  */
55
65
  export function normalizeToolSchema(json) {
56
- if (!('$schema' in json))
57
- return json;
58
- const { $schema: _dropped, ...rest } = json;
59
- return rest;
66
+ return toPortableToolSchema(json);
67
+ }
68
+ /**
69
+ * The schema a tool actually puts on the wire.
70
+ *
71
+ * A tool may carry an explicit `modelInputSchema` — hand-written JSON Schema,
72
+ * not rendered from Zod — and that schema reaches providers through the same
73
+ * `tools` block as a rendered one. It therefore has to clear the same bar, and
74
+ * the two call sites that build that block (`ToolRegistry.toLLMTools` and the
75
+ * toolset catalog) had each spelled the fallback out on their own. Two paths
76
+ * that agree today are two paths that can disagree tomorrow.
77
+ *
78
+ * The clone is deliberate: a caller may edit the parameters it is handed —
79
+ * `hostModelSchema` does — and the definition's own object must not move
80
+ * underneath the next call.
81
+ */
82
+ export function toolWireSchema(tool) {
83
+ if (tool.modelInputSchema)
84
+ return toPortableToolSchema(structuredClone(tool.modelInputSchema));
85
+ return renderToolSchema(tool.inputSchema);
60
86
  }
61
87
  /**
62
88
  * Clear the render cache. Tests only — a schema object's identity is the
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/registry/tool/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,KAAK,GAAG,IAAI,OAAO,EAAmC,CAAA;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE;QACpC,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,MAAM;KACpB,CAA4B,CAAA;IAE7B,MAAM,UAAU,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC7B,OAAO,UAAU,CAAA;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAChE,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IAC3C,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IACjE,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,UAAU,CAAI,KAAQ;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC;QACjE,UAAU,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/registry/tool/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,KAAK,GAAG,IAAI,OAAO,EAAmC,CAAA;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE;QACpC,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,MAAM;KACpB,CAA4B,CAAA;IAE7B,MAAM,UAAU,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC7B,OAAO,UAAU,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAChE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,IAG9B;IACA,IAAI,IAAI,CAAC,gBAAgB;QAAE,OAAO,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC9F,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IACjE,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,UAAU,CAAI,KAAQ;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC;QACjE,UAAU,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { renderToolSchema } from '../tool/schema.js';
1
+ import { toolWireSchema } from '../tool/schema.js';
2
2
  const DEFAULT_HOST_SOURCE = {
3
3
  id: 'host-tools',
4
4
  kind: 'host_tool',
@@ -179,16 +179,16 @@ function toolDefinitionToLLMTool(definition) {
179
179
  function: {
180
180
  name: definition.name,
181
181
  description: definition.description,
182
- // Through `renderToolSchema`, not a second inline conversion. The
182
+ // Through `toolWireSchema`, not a second inline conversion. The
183
183
  // options were already identical, so this was not a different
184
184
  // rendering — it was the same rendering without the guarantees:
185
185
  // no `$schema` stripping (that key rides in the tools block, which
186
- // sits at position 0 inside the prompt-cache prefix), no memoization,
187
- // and no freeze. Two paths that agree today are two paths that can
188
- // disagree tomorrow, and a tool reaching the wire through the catalog
189
- // rather than the registry is not a different tool.
190
- parameters: (definition.modelInputSchema ? structuredClone(definition.modelInputSchema) : undefined) ??
191
- renderToolSchema(definition.inputSchema),
186
+ // sits at position 0 inside the prompt-cache prefix), no portability
187
+ // normalisation, no memoization, and no freeze. Two paths that agree
188
+ // today are two paths that can disagree tomorrow, and a tool reaching
189
+ // the wire through the catalog rather than the registry is not a
190
+ // different tool.
191
+ parameters: toolWireSchema(definition),
192
192
  },
193
193
  };
194
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/registry/toolset/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/registry/toolset/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ import type { BackgroundJob, BackgroundJobRegistry } from './registry.js';
2
+ /**
3
+ * What this adapter needs from a registry: the jobs' exits, and one job's
4
+ * current status. Structural rather than the class, for the reason
5
+ * `BackgroundJobRegistryRef` is: the kernel passes the real registry, and a
6
+ * test that needs two exits and nothing else should not have to spawn
7
+ * processes to produce them.
8
+ */
9
+ export type AwaitedJobSource = Pick<BackgroundJobRegistry, 'get' | 'onExit'>;
10
+ /** Exits and the text that puts them in front of the model. See {@link AwaitedJobs.takeDelivery}. */
11
+ export interface DeliverableJobExits {
12
+ /** The notice text, already queued by the exit that produced it. */
13
+ readonly text: string;
14
+ /** The exits that text accounts for, taken from the record. */
15
+ readonly exits: readonly BackgroundJob[];
16
+ }
17
+ /**
18
+ * Background jobs the model SAID it is waiting on.
19
+ *
20
+ * `CompletionInbox` gives a run a bounded, zero-token wait for a delegated
21
+ * task nobody is blocked on, and `holdForOutstandingWork` spends it: the
22
+ * model stops calling tools, the loop races the inbox against operator input,
23
+ * and the run only settles once the result is in the transcript or the grace
24
+ * is gone. Background shell jobs had none of it — so a model that started a
25
+ * job and then had nothing left to do improvised, and the recorded run
26
+ * (research/resident/results/2026-09-14-exploration-policy-terra-tui.json)
27
+ * shows what that costs: six `job read` polls, three `job list` polls and a
28
+ * `sleep 30`, each one a full context resend.
29
+ *
30
+ * This is the same three-method shape the hold already races —
31
+ * {@link hasPendingWork}, {@link waitForArrival}, {@link drain} — over the
32
+ * job registry instead of the task gateway.
33
+ *
34
+ * **Intent is stated, never inferred.** A job is only outstanding here once
35
+ * `wait_for_job` named it (see {@link expect}); job existence means nothing.
36
+ * That is the same distinction `CompletionInbox.expect` draws for a
37
+ * background task, and it is what keeps a dev server or a file watcher —
38
+ * started precisely so it would keep running — from holding every run of the
39
+ * session open for its grace period. The model that wants to wait says so.
40
+ */
41
+ export declare class AwaitedJobs {
42
+ private readonly source;
43
+ /** Whose jobs these are — the run or the session the jobs are bound to. */
44
+ private readonly owner;
45
+ /**
46
+ * Whether the exit notice this run queues for the model is still
47
+ * unread. A second opinion on {@link noticesDelivered}, and it can
48
+ * only ever narrow what counts as pending.
49
+ *
50
+ * An exit is work only until the model has seen it, and this adapter is
51
+ * not what shows it: the text rides out on the next tool result
52
+ * (`attachNotice`), which is what normally happens, long before any
53
+ * hold opens. {@link noticesDelivered} is how that delivery says so,
54
+ * and it is the per-job record — the entry goes, so nothing can count
55
+ * it again.
56
+ *
57
+ * This stays because the two answer different questions. That one is
58
+ * reported BY a delivery site, so it is only as good as the sites that
59
+ * remember to call it; this reads the channel itself, and a channel
60
+ * with nothing queued cannot have news in it whatever the record says.
61
+ * It is also safe in one direction only: it can suppress a hold, never
62
+ * open one, so a stale `true` here is not a turn the model gets to
63
+ * spend — which is the failure this pair exists to prevent.
64
+ *
65
+ * `CompletionInbox.claim` draws the same line on the task side. It can
66
+ * name the task, because the call that delivers a completion knows
67
+ * which one it delivered; a notice is text by the time it reaches the
68
+ * tool result, so this asks the channel instead.
69
+ *
70
+ * Absent means nothing else consumes the notices, so a recorded exit is
71
+ * unread by definition.
72
+ */
73
+ private readonly unreadNotice?;
74
+ /** Awaited and still running. Nothing else can hold a run open. */
75
+ private readonly outstanding;
76
+ /** Exits since the last {@link drain}. */
77
+ private exits;
78
+ private readonly arrivals;
79
+ private detach?;
80
+ constructor(source: AwaitedJobSource,
81
+ /** Whose jobs these are — the run or the session the jobs are bound to. */
82
+ owner: string,
83
+ /**
84
+ * Whether the exit notice this run queues for the model is still
85
+ * unread. A second opinion on {@link noticesDelivered}, and it can
86
+ * only ever narrow what counts as pending.
87
+ *
88
+ * An exit is work only until the model has seen it, and this adapter is
89
+ * not what shows it: the text rides out on the next tool result
90
+ * (`attachNotice`), which is what normally happens, long before any
91
+ * hold opens. {@link noticesDelivered} is how that delivery says so,
92
+ * and it is the per-job record — the entry goes, so nothing can count
93
+ * it again.
94
+ *
95
+ * This stays because the two answer different questions. That one is
96
+ * reported BY a delivery site, so it is only as good as the sites that
97
+ * remember to call it; this reads the channel itself, and a channel
98
+ * with nothing queued cannot have news in it whatever the record says.
99
+ * It is also safe in one direction only: it can suppress a hold, never
100
+ * open one, so a stale `true` here is not a turn the model gets to
101
+ * spend — which is the failure this pair exists to prevent.
102
+ *
103
+ * `CompletionInbox.claim` draws the same line on the task side. It can
104
+ * name the task, because the call that delivers a completion knows
105
+ * which one it delivered; a notice is text by the time it reaches the
106
+ * tool result, so this asks the channel instead.
107
+ *
108
+ * Absent means nothing else consumes the notices, so a recorded exit is
109
+ * unread by definition.
110
+ */
111
+ unreadNotice?: (() => boolean) | undefined);
112
+ /**
113
+ * Start listening.
114
+ *
115
+ * Returns the detach, and attaching twice is a no-op rather than a second
116
+ * subscription — the same rule `CompletionInbox.attach` follows, for the
117
+ * same reason: two subscriptions would record each exit twice.
118
+ */
119
+ attach(): () => void;
120
+ /**
121
+ * Say that the model is waiting on this job's exit.
122
+ *
123
+ * Called by `wait_for_job`, and by nothing else: the wait is the whole
124
+ * signal. A job that has ALREADY stopped is not recorded, because the
125
+ * call that marks it is the same call that returns its output — holding
126
+ * the run open afterwards would buy a turn to read a result the model has
127
+ * just read. `CompletionInbox.expect` skips an already-claimed task for
128
+ * the same reason.
129
+ *
130
+ * An id the registry does not know is ignored rather than raised: the
131
+ * caller is about to fail on it anyway, and a marking call is not the
132
+ * place that decides what an unknown job means.
133
+ */
134
+ expect(id: string): void;
135
+ /**
136
+ * Recorded exits the model has not been shown yet.
137
+ *
138
+ * Both halves of the same question: {@link noticesDelivered} drops the
139
+ * entry when its notice goes out, and the `unreadNotice` constructor
140
+ * argument asks the channel whether anything is still queued. A queued
141
+ * exit whose notice has already been delivered is history, not pending
142
+ * work, and an exit nobody awaited is not this adapter's news to carry.
143
+ */
144
+ private get unreadExits();
145
+ /** Whether an awaited job is still running, or one has exited unread. */
146
+ get hasPendingWork(): boolean;
147
+ /**
148
+ * Wait for the next awaited job's exit, deadline or abort, whichever comes
149
+ * first. Aborting releases only this waiter; the jobs are untouched.
150
+ *
151
+ * Bounded by the caller, exactly as `CompletionInbox.waitForArrival` is: a
152
+ * job that never exits — a dev server someone did await — must not keep a
153
+ * run open, and only the run's own budget knows how long is long enough.
154
+ */
155
+ waitForArrival(timeoutMs: number, signal?: AbortSignal): Promise<void>;
156
+ /**
157
+ * Say that the queued exit notices have been put in front of the model.
158
+ *
159
+ * Called by the tool-result delivery (`attachNotice`), which is where an
160
+ * exit normally reaches the model; {@link takeDelivery} does the same for
161
+ * the hold's own path by taking the entries as it delivers them.
162
+ *
163
+ * Every recorded exit goes, and that is per-job rather than a blunt
164
+ * clear: the channel hands over ALL its queued text at once, and an exit
165
+ * is recorded here in the same synchronous announcement that queues its
166
+ * notice, so the text just delivered is exactly the notices of the exits
167
+ * in hand. An exit recorded after this call keeps its entry, because its
168
+ * notice was queued after that text was taken.
169
+ *
170
+ * Without it the entry outlived the delivery, and the channel-level gate
171
+ * above was the only thing standing between a read exit and a model turn
172
+ * — a gate that reopens the moment ANY later job, awaited or not, queues
173
+ * a notice of its own.
174
+ */
175
+ noticesDelivered(): void;
176
+ /**
177
+ * Take the recorded exits together with the text that delivers them, or
178
+ * take neither.
179
+ *
180
+ * The pairing is the whole method. Draining the exits first and then
181
+ * asking for the notice loses them on the branch that finds none: the
182
+ * records are gone, no text was written, and the exit the run held itself
183
+ * open for is delivered by nobody. So {@link drain} is not called until
184
+ * the delivery is certain, and an exit this could not deliver stays in
185
+ * hand for the next one.
186
+ */
187
+ takeDelivery(notice: () => string | undefined): DeliverableJobExits | undefined;
188
+ /**
189
+ * Take every exit recorded since the last call, leaving none behind.
190
+ *
191
+ * Draining rather than peeking, for the reason `CompletionInbox.drain`
192
+ * gives: an exit that stays queued after being delivered is a duplicate
193
+ * waiting to happen. Callers that are delivering want
194
+ * {@link takeDelivery}, which will not take them without the notice that
195
+ * accounts for them.
196
+ */
197
+ drain(): readonly BackgroundJob[];
198
+ /**
199
+ * Awaited jobs still running.
200
+ *
201
+ * Read when a run ends, so it can say which wait it walked away from.
202
+ * Nothing here is stopped by being read — the ids are a statement, and a
203
+ * job's lifetime belongs to whoever owns it.
204
+ */
205
+ get outstandingJobIds(): readonly string[];
206
+ /**
207
+ * Stop listening. Safe to call more than once.
208
+ *
209
+ * A run that ends without this leaves its listener on a registry the host
210
+ * reuses across runs — the leak `CompletionInbox.close` exists to prevent,
211
+ * on the other subsystem.
212
+ */
213
+ close(): void;
214
+ }
215
+ //# sourceMappingURL=awaited-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awaited-jobs.d.ts","sourceRoot":"","sources":["../../../src/runtime/jobs/awaited-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAA;AAE5E,qGAAqG;AACrG,MAAM,WAAW,mBAAmB;IACnC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IAStB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAvC/B,mEAAmE;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,0CAA0C;IAC1C,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,CAAY;gBAGT,MAAM,EAAE,gBAAgB;IACzC,2EAA2E;IAC1D,KAAK,EAAE,MAAM;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACc,YAAY,CAAC,GAAE,MAAM,OAAO,aAAA;IAG9C;;;;;;OAMG;IACH,MAAM,IAAI,MAAM,IAAI;IAgBpB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYxB;;;;;;;;OAQG;IACH,OAAO,KAAK,WAAW,GAGtB;IAED,yEAAyE;IACzE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBtE;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;;;;;;;;;OAUG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS;IAO/E;;;;;;;;OAQG;IACH,KAAK,IAAI,SAAS,aAAa,EAAE;IAOjC;;;;;;OAMG;IACH,IAAI,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;;;;;OAMG;IACH,KAAK,IAAI,IAAI;CAUb"}