@namzu/sdk 38.2.1 → 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 (602) hide show
  1. package/CHANGELOG.md +851 -0
  2. package/dist/advisory/executor.d.ts +10 -1
  3. package/dist/advisory/executor.d.ts.map +1 -1
  4. package/dist/advisory/executor.js +5 -26
  5. package/dist/advisory/executor.js.map +1 -1
  6. package/dist/advisory/history.d.ts +9 -0
  7. package/dist/advisory/history.d.ts.map +1 -0
  8. package/dist/advisory/history.js +120 -0
  9. package/dist/advisory/history.js.map +1 -0
  10. package/dist/advisory/index.d.ts +1 -1
  11. package/dist/advisory/index.d.ts.map +1 -1
  12. package/dist/advisory/index.js.map +1 -1
  13. package/dist/agents/ReactiveAgent.d.ts.map +1 -1
  14. package/dist/agents/ReactiveAgent.js +3 -0
  15. package/dist/agents/ReactiveAgent.js.map +1 -1
  16. package/dist/agents/runAgent.d.ts +10 -0
  17. package/dist/agents/runAgent.d.ts.map +1 -1
  18. package/dist/agents/runAgent.js +3 -0
  19. package/dist/agents/runAgent.js.map +1 -1
  20. package/dist/compaction/manual.d.ts +6 -0
  21. package/dist/compaction/manual.d.ts.map +1 -1
  22. package/dist/compaction/manual.js +21 -2
  23. package/dist/compaction/manual.js.map +1 -1
  24. package/dist/compaction/summary.d.ts.map +1 -1
  25. package/dist/compaction/summary.js +4 -1
  26. package/dist/compaction/summary.js.map +1 -1
  27. package/dist/config/runtime.js +2 -2
  28. package/dist/config/runtime.js.map +1 -1
  29. package/dist/connector/mcp/adapter.d.ts.map +1 -1
  30. package/dist/connector/mcp/adapter.js +20 -6
  31. package/dist/connector/mcp/adapter.js.map +1 -1
  32. package/dist/contracts/schemas.js +1 -1
  33. package/dist/contracts/schemas.js.map +1 -1
  34. package/dist/eval/harness-protection.d.ts +18 -0
  35. package/dist/eval/harness-protection.d.ts.map +1 -0
  36. package/dist/eval/harness-protection.js +58 -0
  37. package/dist/eval/harness-protection.js.map +1 -0
  38. package/dist/eval/harness-verification.d.ts +6 -1
  39. package/dist/eval/harness-verification.d.ts.map +1 -1
  40. package/dist/eval/harness-verification.js +19 -2
  41. package/dist/eval/harness-verification.js.map +1 -1
  42. package/dist/eval/index.d.ts +1 -0
  43. package/dist/eval/index.d.ts.map +1 -1
  44. package/dist/eval/index.js.map +1 -1
  45. package/dist/manager/resident/activity.d.ts +50 -0
  46. package/dist/manager/resident/activity.d.ts.map +1 -0
  47. package/dist/manager/resident/activity.js +125 -0
  48. package/dist/manager/resident/activity.js.map +1 -0
  49. package/dist/manager/resident/agenda.d.ts +13 -1
  50. package/dist/manager/resident/agenda.d.ts.map +1 -1
  51. package/dist/manager/resident/agenda.js +40 -5
  52. package/dist/manager/resident/agenda.js.map +1 -1
  53. package/dist/manager/resident/consumption.d.ts +104 -0
  54. package/dist/manager/resident/consumption.d.ts.map +1 -0
  55. package/dist/manager/resident/consumption.js +233 -0
  56. package/dist/manager/resident/consumption.js.map +1 -0
  57. package/dist/manager/resident/evidence-recall.d.ts +24 -0
  58. package/dist/manager/resident/evidence-recall.d.ts.map +1 -0
  59. package/dist/manager/resident/evidence-recall.js +295 -0
  60. package/dist/manager/resident/evidence-recall.js.map +1 -0
  61. package/dist/manager/resident/history-disk.d.ts +10 -0
  62. package/dist/manager/resident/history-disk.d.ts.map +1 -0
  63. package/dist/manager/resident/history-disk.js +50 -0
  64. package/dist/manager/resident/history-disk.js.map +1 -0
  65. package/dist/manager/resident/history.d.ts +79 -0
  66. package/dist/manager/resident/history.d.ts.map +1 -0
  67. package/dist/manager/resident/history.js +203 -0
  68. package/dist/manager/resident/history.js.map +1 -0
  69. package/dist/manager/resident/initiative.d.ts.map +1 -1
  70. package/dist/manager/resident/initiative.js +11 -3
  71. package/dist/manager/resident/initiative.js.map +1 -1
  72. package/dist/manager/resident/learning-cycle.d.ts +131 -0
  73. package/dist/manager/resident/learning-cycle.d.ts.map +1 -0
  74. package/dist/manager/resident/learning-cycle.js +306 -0
  75. package/dist/manager/resident/learning-cycle.js.map +1 -0
  76. package/dist/manager/resident/learning-observation.d.ts +80 -0
  77. package/dist/manager/resident/learning-observation.d.ts.map +1 -0
  78. package/dist/manager/resident/learning-observation.js +22 -0
  79. package/dist/manager/resident/learning-observation.js.map +1 -0
  80. package/dist/manager/resident/learning-store.d.ts +106 -0
  81. package/dist/manager/resident/learning-store.d.ts.map +1 -0
  82. package/dist/manager/resident/learning-store.js +598 -0
  83. package/dist/manager/resident/learning-store.js.map +1 -0
  84. package/dist/manager/resident/learning.d.ts +246 -3
  85. package/dist/manager/resident/learning.d.ts.map +1 -1
  86. package/dist/manager/resident/learning.js +96 -6
  87. package/dist/manager/resident/learning.js.map +1 -1
  88. package/dist/manager/resident/outbox.d.ts +4 -4
  89. package/dist/manager/resident/store.d.ts +37 -4
  90. package/dist/manager/resident/store.d.ts.map +1 -1
  91. package/dist/manager/resident/store.js +27 -3
  92. package/dist/manager/resident/store.js.map +1 -1
  93. package/dist/manager/resident/tool-evidence.d.ts +71 -0
  94. package/dist/manager/resident/tool-evidence.d.ts.map +1 -0
  95. package/dist/manager/resident/tool-evidence.js +285 -0
  96. package/dist/manager/resident/tool-evidence.js.map +1 -0
  97. package/dist/manager/run/persistence.d.ts +8 -0
  98. package/dist/manager/run/persistence.d.ts.map +1 -1
  99. package/dist/manager/run/persistence.js +18 -0
  100. package/dist/manager/run/persistence.js.map +1 -1
  101. package/dist/plugin/loader.d.ts.map +1 -1
  102. package/dist/plugin/loader.js +5 -3
  103. package/dist/plugin/loader.js.map +1 -1
  104. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  105. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  106. package/dist/prompt/coding-agent-doctrine.js +2 -0
  107. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  108. package/dist/prompt/index.d.ts +2 -0
  109. package/dist/prompt/index.d.ts.map +1 -1
  110. package/dist/prompt/index.js +1 -0
  111. package/dist/prompt/index.js.map +1 -1
  112. package/dist/prompt/resident-learning.d.ts +19 -0
  113. package/dist/prompt/resident-learning.d.ts.map +1 -0
  114. package/dist/prompt/resident-learning.js +125 -0
  115. package/dist/prompt/resident-learning.js.map +1 -0
  116. package/dist/prompt/resident-step.d.ts +8 -1
  117. package/dist/prompt/resident-step.d.ts.map +1 -1
  118. package/dist/prompt/resident-step.js +65 -4
  119. package/dist/prompt/resident-step.js.map +1 -1
  120. package/dist/provider/collect-chat-completion.d.ts +2 -1
  121. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  122. package/dist/provider/collect-chat-completion.js +7 -6
  123. package/dist/provider/collect-chat-completion.js.map +1 -1
  124. package/dist/provider/fallback.d.ts.map +1 -1
  125. package/dist/provider/fallback.js +2 -1
  126. package/dist/provider/fallback.js.map +1 -1
  127. package/dist/provider/stream-text.d.ts +16 -0
  128. package/dist/provider/stream-text.d.ts.map +1 -0
  129. package/dist/provider/stream-text.js +51 -0
  130. package/dist/provider/stream-text.js.map +1 -0
  131. package/dist/public-runtime.d.ts +16 -4
  132. package/dist/public-runtime.d.ts.map +1 -1
  133. package/dist/public-runtime.js +17 -4
  134. package/dist/public-runtime.js.map +1 -1
  135. package/dist/public-tools.d.ts +13 -0
  136. package/dist/public-tools.d.ts.map +1 -1
  137. package/dist/public-tools.js +16 -0
  138. package/dist/public-tools.js.map +1 -1
  139. package/dist/public-types.d.ts +15 -3
  140. package/dist/public-types.d.ts.map +1 -1
  141. package/dist/registry/tool/execute.d.ts.map +1 -1
  142. package/dist/registry/tool/execute.js +2 -3
  143. package/dist/registry/tool/execute.js.map +1 -1
  144. package/dist/registry/tool/portable.d.ts +65 -0
  145. package/dist/registry/tool/portable.d.ts.map +1 -0
  146. package/dist/registry/tool/portable.js +244 -0
  147. package/dist/registry/tool/portable.js.map +1 -0
  148. package/dist/registry/tool/schema.d.ts +32 -5
  149. package/dist/registry/tool/schema.d.ts.map +1 -1
  150. package/dist/registry/tool/schema.js +35 -9
  151. package/dist/registry/tool/schema.js.map +1 -1
  152. package/dist/registry/toolset/catalog.js +8 -8
  153. package/dist/registry/toolset/catalog.js.map +1 -1
  154. package/dist/run/LimitChecker.js +3 -3
  155. package/dist/run/LimitChecker.js.map +1 -1
  156. package/dist/run/evidence-query.d.ts +41 -0
  157. package/dist/run/evidence-query.d.ts.map +1 -0
  158. package/dist/run/evidence-query.js +270 -0
  159. package/dist/run/evidence-query.js.map +1 -0
  160. package/dist/run/evidence-recall.d.ts +99 -0
  161. package/dist/run/evidence-recall.d.ts.map +1 -0
  162. package/dist/run/evidence-recall.js +633 -0
  163. package/dist/run/evidence-recall.js.map +1 -0
  164. package/dist/run/index.d.ts +2 -0
  165. package/dist/run/index.d.ts.map +1 -1
  166. package/dist/run/index.js +1 -0
  167. package/dist/run/index.js.map +1 -1
  168. package/dist/run/json-claim-verifier.d.ts +83 -0
  169. package/dist/run/json-claim-verifier.d.ts.map +1 -0
  170. package/dist/run/json-claim-verifier.js +200 -0
  171. package/dist/run/json-claim-verifier.js.map +1 -0
  172. package/dist/run/preparation-context-error.d.ts +10 -0
  173. package/dist/run/preparation-context-error.d.ts.map +1 -0
  174. package/dist/run/preparation-context-error.js +15 -0
  175. package/dist/run/preparation-context-error.js.map +1 -0
  176. package/dist/run-query/index.d.ts +3 -1
  177. package/dist/run-query/index.d.ts.map +1 -1
  178. package/dist/runtime/jobs/awaited-jobs.d.ts +215 -0
  179. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -0
  180. package/dist/runtime/jobs/awaited-jobs.js +259 -0
  181. package/dist/runtime/jobs/awaited-jobs.js.map +1 -0
  182. package/dist/runtime/jobs/registry.d.ts +33 -2
  183. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  184. package/dist/runtime/jobs/registry.js +37 -0
  185. package/dist/runtime/jobs/registry.js.map +1 -1
  186. package/dist/runtime/query/callback-inference.d.ts +8 -0
  187. package/dist/runtime/query/callback-inference.d.ts.map +1 -0
  188. package/dist/runtime/query/callback-inference.js +89 -0
  189. package/dist/runtime/query/callback-inference.js.map +1 -0
  190. package/dist/runtime/query/checkpoint.d.ts +4 -0
  191. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  192. package/dist/runtime/query/checkpoint.js +13 -0
  193. package/dist/runtime/query/checkpoint.js.map +1 -1
  194. package/dist/runtime/query/events.d.ts +1 -0
  195. package/dist/runtime/query/events.d.ts.map +1 -1
  196. package/dist/runtime/query/events.js +18 -0
  197. package/dist/runtime/query/events.js.map +1 -1
  198. package/dist/runtime/query/executor.d.ts +35 -1
  199. package/dist/runtime/query/executor.d.ts.map +1 -1
  200. package/dist/runtime/query/executor.js +77 -8
  201. package/dist/runtime/query/executor.js.map +1 -1
  202. package/dist/runtime/query/file-evidence-context.d.ts +5 -0
  203. package/dist/runtime/query/file-evidence-context.d.ts.map +1 -0
  204. package/dist/runtime/query/file-evidence-context.js +180 -0
  205. package/dist/runtime/query/file-evidence-context.js.map +1 -0
  206. package/dist/runtime/query/file-evidence-replay.d.ts +260 -0
  207. package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -0
  208. package/dist/runtime/query/file-evidence-replay.js +647 -0
  209. package/dist/runtime/query/file-evidence-replay.js.map +1 -0
  210. package/dist/runtime/query/file-evidence-seed.d.ts +50 -0
  211. package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -0
  212. package/dist/runtime/query/file-evidence-seed.js +100 -0
  213. package/dist/runtime/query/file-evidence-seed.js.map +1 -0
  214. package/dist/runtime/query/guard.d.ts.map +1 -1
  215. package/dist/runtime/query/guard.js +4 -0
  216. package/dist/runtime/query/guard.js.map +1 -1
  217. package/dist/runtime/query/index.d.ts +10 -1
  218. package/dist/runtime/query/index.d.ts.map +1 -1
  219. package/dist/runtime/query/index.js +133 -26
  220. package/dist/runtime/query/index.js.map +1 -1
  221. package/dist/runtime/query/iteration/index.d.ts +92 -36
  222. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  223. package/dist/runtime/query/iteration/index.js +420 -117
  224. package/dist/runtime/query/iteration/index.js.map +1 -1
  225. package/dist/runtime/query/iteration/phases/advisory.d.ts +2 -1
  226. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  227. package/dist/runtime/query/iteration/phases/advisory.js +2 -1
  228. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  229. package/dist/runtime/query/iteration/phases/context.d.ts +12 -1
  230. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  231. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  232. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  233. package/dist/runtime/query/iteration/phases/tool-review.js +8 -1
  234. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  235. package/dist/runtime/query/iteration/provider-rejected-image.d.ts +2 -1
  236. package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
  237. package/dist/runtime/query/iteration/provider-rejected-image.js +5 -2
  238. package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
  239. package/dist/runtime/query/iteration/stream-turn.d.ts +4 -1
  240. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  241. package/dist/runtime/query/iteration/stream-turn.js +22 -8
  242. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  243. package/dist/runtime/query/plugin-hooks.d.ts +14 -0
  244. package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
  245. package/dist/runtime/query/plugin-hooks.js +18 -0
  246. package/dist/runtime/query/plugin-hooks.js.map +1 -1
  247. package/dist/runtime/query/repeat-call.d.ts +17 -4
  248. package/dist/runtime/query/repeat-call.d.ts.map +1 -1
  249. package/dist/runtime/query/repeat-call.js +26 -19
  250. package/dist/runtime/query/repeat-call.js.map +1 -1
  251. package/dist/runtime/query/resume-pending.d.ts +18 -33
  252. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  253. package/dist/runtime/query/resume-pending.js +59 -42
  254. package/dist/runtime/query/resume-pending.js.map +1 -1
  255. package/dist/runtime/query/review-policy.d.ts +4 -4
  256. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  257. package/dist/runtime/query/review-policy.js +10 -9
  258. package/dist/runtime/query/review-policy.js.map +1 -1
  259. package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -1
  260. package/dist/runtime/query/sandbox-lifecycle.js +4 -0
  261. package/dist/runtime/query/sandbox-lifecycle.js.map +1 -1
  262. package/dist/runtime/query/steering.d.ts +11 -1
  263. package/dist/runtime/query/steering.d.ts.map +1 -1
  264. package/dist/runtime/query/steering.js +12 -1
  265. package/dist/runtime/query/steering.js.map +1 -1
  266. package/dist/runtime/query/tool-output-budget.d.ts +10 -6
  267. package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
  268. package/dist/runtime/query/tool-output-budget.js +54 -12
  269. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  270. package/dist/runtime/query/tooling.d.ts +5 -1
  271. package/dist/runtime/query/tooling.d.ts.map +1 -1
  272. package/dist/runtime/query/tooling.js +5 -0
  273. package/dist/runtime/query/tooling.js.map +1 -1
  274. package/dist/scheduler/completion-inbox.d.ts +49 -0
  275. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  276. package/dist/scheduler/completion-inbox.js +122 -2
  277. package/dist/scheduler/completion-inbox.js.map +1 -1
  278. package/dist/store/evidence/compaction-archive.d.ts +109 -0
  279. package/dist/store/evidence/compaction-archive.d.ts.map +1 -0
  280. package/dist/store/evidence/compaction-archive.js +125 -0
  281. package/dist/store/evidence/compaction-archive.js.map +1 -0
  282. package/dist/store/evidence/compaction-provenance.d.ts +7 -0
  283. package/dist/store/evidence/compaction-provenance.d.ts.map +1 -0
  284. package/dist/store/evidence/compaction-provenance.js +49 -0
  285. package/dist/store/evidence/compaction-provenance.js.map +1 -0
  286. package/dist/store/evidence/compaction-text.d.ts +16 -0
  287. package/dist/store/evidence/compaction-text.d.ts.map +1 -0
  288. package/dist/store/evidence/compaction-text.js +51 -0
  289. package/dist/store/evidence/compaction-text.js.map +1 -0
  290. package/dist/store/evidence/disk.d.ts +11 -0
  291. package/dist/store/evidence/disk.d.ts.map +1 -0
  292. package/dist/store/evidence/disk.js +367 -0
  293. package/dist/store/evidence/disk.js.map +1 -0
  294. package/dist/store/evidence/format.d.ts +25 -0
  295. package/dist/store/evidence/format.d.ts.map +1 -0
  296. package/dist/store/evidence/format.js +115 -0
  297. package/dist/store/evidence/format.js.map +1 -0
  298. package/dist/store/evidence/index-page.d.ts +208 -0
  299. package/dist/store/evidence/index-page.d.ts.map +1 -0
  300. package/dist/store/evidence/index-page.js +262 -0
  301. package/dist/store/evidence/index-page.js.map +1 -0
  302. package/dist/store/evidence/io.d.ts +24 -0
  303. package/dist/store/evidence/io.d.ts.map +1 -0
  304. package/dist/store/evidence/io.js +69 -0
  305. package/dist/store/evidence/io.js.map +1 -0
  306. package/dist/store/evidence/linked.d.ts +9 -0
  307. package/dist/store/evidence/linked.d.ts.map +1 -0
  308. package/dist/store/evidence/linked.js +314 -0
  309. package/dist/store/evidence/linked.js.map +1 -0
  310. package/dist/store/evidence/passages.d.ts +15 -0
  311. package/dist/store/evidence/passages.d.ts.map +1 -0
  312. package/dist/store/evidence/passages.js +72 -0
  313. package/dist/store/evidence/passages.js.map +1 -0
  314. package/dist/store/evidence/record-chain.d.ts +42 -0
  315. package/dist/store/evidence/record-chain.d.ts.map +1 -0
  316. package/dist/store/evidence/record-chain.js +111 -0
  317. package/dist/store/evidence/record-chain.js.map +1 -0
  318. package/dist/store/evidence/search-input.d.ts +21 -0
  319. package/dist/store/evidence/search-input.d.ts.map +1 -0
  320. package/dist/store/evidence/search-input.js +44 -0
  321. package/dist/store/evidence/search-input.js.map +1 -0
  322. package/dist/store/evidence/selection.d.ts +9 -0
  323. package/dist/store/evidence/selection.d.ts.map +1 -0
  324. package/dist/store/evidence/selection.js +17 -0
  325. package/dist/store/evidence/selection.js.map +1 -0
  326. package/dist/store/evidence/source-kind.d.ts +11 -0
  327. package/dist/store/evidence/source-kind.d.ts.map +1 -0
  328. package/dist/store/evidence/source-kind.js +26 -0
  329. package/dist/store/evidence/source-kind.js.map +1 -0
  330. package/dist/store/evidence/source-text.d.ts +51 -0
  331. package/dist/store/evidence/source-text.d.ts.map +1 -0
  332. package/dist/store/evidence/source-text.js +213 -0
  333. package/dist/store/evidence/source-text.js.map +1 -0
  334. package/dist/store/evidence/types.d.ts +162 -0
  335. package/dist/store/evidence/types.d.ts.map +1 -0
  336. package/dist/store/evidence/types.js +2 -0
  337. package/dist/store/evidence/types.js.map +1 -0
  338. package/dist/store/memory/disk.d.ts +2 -0
  339. package/dist/store/memory/disk.d.ts.map +1 -1
  340. package/dist/store/memory/disk.js +2 -1
  341. package/dist/store/memory/disk.js.map +1 -1
  342. package/dist/store/run/disk.d.ts +10 -0
  343. package/dist/store/run/disk.d.ts.map +1 -1
  344. package/dist/store/run/disk.js +87 -7
  345. package/dist/store/run/disk.js.map +1 -1
  346. package/dist/store/run/memory.d.ts +1 -0
  347. package/dist/store/run/memory.d.ts.map +1 -1
  348. package/dist/store/run/memory.js +10 -0
  349. package/dist/store/run/memory.js.map +1 -1
  350. package/dist/store/run/tool-executions.d.ts +13 -0
  351. package/dist/store/run/tool-executions.d.ts.map +1 -0
  352. package/dist/store/run/tool-executions.js +99 -0
  353. package/dist/store/run/tool-executions.js.map +1 -0
  354. package/dist/store/session/index.d.ts +2 -0
  355. package/dist/store/session/index.d.ts.map +1 -1
  356. package/dist/store/session/index.js +1 -0
  357. package/dist/store/session/index.js.map +1 -1
  358. package/dist/store/session/sqlite.d.ts +57 -0
  359. package/dist/store/session/sqlite.d.ts.map +1 -0
  360. package/dist/store/session/sqlite.js +430 -0
  361. package/dist/store/session/sqlite.js.map +1 -0
  362. package/dist/tools/builtins/bash.d.ts.map +1 -1
  363. package/dist/tools/builtins/bash.js +4 -10
  364. package/dist/tools/builtins/bash.js.map +1 -1
  365. package/dist/tools/builtins/edit-apply.d.ts +126 -0
  366. package/dist/tools/builtins/edit-apply.d.ts.map +1 -0
  367. package/dist/tools/builtins/edit-apply.js +360 -0
  368. package/dist/tools/builtins/edit-apply.js.map +1 -0
  369. package/dist/tools/builtins/edit.d.ts +143 -1
  370. package/dist/tools/builtins/edit.d.ts.map +1 -1
  371. package/dist/tools/builtins/edit.js +37 -219
  372. package/dist/tools/builtins/edit.js.map +1 -1
  373. package/dist/tools/builtins/index.d.ts +1 -0
  374. package/dist/tools/builtins/index.d.ts.map +1 -1
  375. package/dist/tools/builtins/index.js +9 -3
  376. package/dist/tools/builtins/index.js.map +1 -1
  377. package/dist/tools/builtins/job.d.ts.map +1 -1
  378. package/dist/tools/builtins/job.js +5 -6
  379. package/dist/tools/builtins/job.js.map +1 -1
  380. package/dist/tools/builtins/read-file.d.ts +2 -2
  381. package/dist/tools/builtins/read-file.d.ts.map +1 -1
  382. package/dist/tools/builtins/read-file.js +50 -65
  383. package/dist/tools/builtins/read-file.js.map +1 -1
  384. package/dist/tools/builtins/read-render.d.ts +56 -0
  385. package/dist/tools/builtins/read-render.d.ts.map +1 -0
  386. package/dist/tools/builtins/read-render.js +73 -0
  387. package/dist/tools/builtins/read-render.js.map +1 -0
  388. package/dist/tools/builtins/wait-for-job-bounds.d.ts +67 -0
  389. package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -0
  390. package/dist/tools/builtins/wait-for-job-bounds.js +108 -0
  391. package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -0
  392. package/dist/tools/builtins/wait-for-job.d.ts +6 -0
  393. package/dist/tools/builtins/wait-for-job.d.ts.map +1 -0
  394. package/dist/tools/builtins/wait-for-job.js +162 -0
  395. package/dist/tools/builtins/wait-for-job.js.map +1 -0
  396. package/dist/tools/builtins/write-file.js +7 -2
  397. package/dist/tools/builtins/write-file.js.map +1 -1
  398. package/dist/tools/coordinator/index.d.ts.map +1 -1
  399. package/dist/tools/coordinator/index.js +1 -7
  400. package/dist/tools/coordinator/index.js.map +1 -1
  401. package/dist/tools/defineTool.d.ts +2 -1
  402. package/dist/tools/defineTool.d.ts.map +1 -1
  403. package/dist/tools/defineTool.js +1 -1
  404. package/dist/tools/defineTool.js.map +1 -1
  405. package/dist/tools/file-read-tracker.d.ts.map +1 -1
  406. package/dist/tools/file-read-tracker.js +90 -3
  407. package/dist/tools/file-read-tracker.js.map +1 -1
  408. package/dist/tools/resident-history.d.ts +10 -0
  409. package/dist/tools/resident-history.d.ts.map +1 -0
  410. package/dist/tools/resident-history.js +80 -0
  411. package/dist/tools/resident-history.js.map +1 -0
  412. package/dist/tools/resident-tool-evidence.d.ts +5 -0
  413. package/dist/tools/resident-tool-evidence.d.ts.map +1 -0
  414. package/dist/tools/resident-tool-evidence.js +57 -0
  415. package/dist/tools/resident-tool-evidence.js.map +1 -0
  416. package/dist/types/advisory/config.d.ts +7 -0
  417. package/dist/types/advisory/config.d.ts.map +1 -1
  418. package/dist/types/agent/reactive.d.ts +1 -0
  419. package/dist/types/agent/reactive.d.ts.map +1 -1
  420. package/dist/types/authorization/index.d.ts +9 -9
  421. package/dist/types/authorization/index.d.ts.map +1 -1
  422. package/dist/types/authorization/index.js +1 -1
  423. package/dist/types/authorization/index.js.map +1 -1
  424. package/dist/types/hitl/index.d.ts +4 -0
  425. package/dist/types/hitl/index.d.ts.map +1 -1
  426. package/dist/types/hitl/index.js.map +1 -1
  427. package/dist/types/message/index.d.ts +16 -2
  428. package/dist/types/message/index.d.ts.map +1 -1
  429. package/dist/types/message/index.js +10 -1
  430. package/dist/types/message/index.js.map +1 -1
  431. package/dist/types/provider/chat.d.ts +2 -0
  432. package/dist/types/provider/chat.d.ts.map +1 -1
  433. package/dist/types/provider/stream.d.ts +4 -0
  434. package/dist/types/provider/stream.d.ts.map +1 -1
  435. package/dist/types/run/answer-review.d.ts +34 -3
  436. package/dist/types/run/answer-review.d.ts.map +1 -1
  437. package/dist/types/run/config.d.ts +3 -0
  438. package/dist/types/run/config.d.ts.map +1 -1
  439. package/dist/types/run/entity.d.ts +20 -0
  440. package/dist/types/run/entity.d.ts.map +1 -1
  441. package/dist/types/run/events.d.ts +31 -8
  442. package/dist/types/run/events.d.ts.map +1 -1
  443. package/dist/types/run/events.js.map +1 -1
  444. package/dist/types/run/prepare-step.d.ts +53 -8
  445. package/dist/types/run/prepare-step.d.ts.map +1 -1
  446. package/dist/types/run/store.d.ts +29 -4
  447. package/dist/types/run/store.d.ts.map +1 -1
  448. package/dist/types/run/store.js +0 -28
  449. package/dist/types/run/store.js.map +1 -1
  450. package/dist/types/sandbox/index.d.ts +15 -14
  451. package/dist/types/sandbox/index.d.ts.map +1 -1
  452. package/dist/types/sandbox/index.js.map +1 -1
  453. package/dist/types/tool/index.d.ts +124 -1
  454. package/dist/types/tool/index.d.ts.map +1 -1
  455. package/dist/types/tool/index.js.map +1 -1
  456. package/dist/utils/await-with-abort.d.ts +8 -0
  457. package/dist/utils/await-with-abort.d.ts.map +1 -0
  458. package/dist/utils/await-with-abort.js +28 -0
  459. package/dist/utils/await-with-abort.js.map +1 -0
  460. package/dist/utils/env.d.ts +19 -0
  461. package/dist/utils/env.d.ts.map +1 -0
  462. package/dist/utils/env.js +25 -0
  463. package/dist/utils/env.js.map +1 -0
  464. package/dist/utils/evidence-time.d.ts +3 -0
  465. package/dist/utils/evidence-time.d.ts.map +1 -0
  466. package/dist/utils/evidence-time.js +10 -0
  467. package/dist/utils/evidence-time.js.map +1 -0
  468. package/dist/utils/evidence-tokens.d.ts +13 -0
  469. package/dist/utils/evidence-tokens.d.ts.map +1 -0
  470. package/dist/utils/evidence-tokens.js +29 -0
  471. package/dist/utils/evidence-tokens.js.map +1 -0
  472. package/package.json +1 -1
  473. package/src/advisory/executor.ts +15 -30
  474. package/src/advisory/history.ts +126 -0
  475. package/src/advisory/index.ts +5 -1
  476. package/src/agents/ReactiveAgent.ts +3 -0
  477. package/src/agents/runAgent.ts +14 -1
  478. package/src/compaction/manual.ts +30 -2
  479. package/src/compaction/summary.ts +4 -1
  480. package/src/config/runtime.ts +2 -2
  481. package/src/connector/mcp/adapter.ts +20 -6
  482. package/src/contracts/schemas.ts +1 -1
  483. package/src/eval/harness-protection.ts +79 -0
  484. package/src/eval/harness-verification.ts +31 -1
  485. package/src/eval/index.ts +1 -0
  486. package/src/manager/resident/activity.ts +187 -0
  487. package/src/manager/resident/agenda.ts +59 -5
  488. package/src/manager/resident/consumption.ts +311 -0
  489. package/src/manager/resident/evidence-recall.ts +363 -0
  490. package/src/manager/resident/history-disk.ts +63 -0
  491. package/src/manager/resident/history.ts +312 -0
  492. package/src/manager/resident/initiative.ts +13 -3
  493. package/src/manager/resident/learning-cycle.ts +499 -0
  494. package/src/manager/resident/learning-observation.ts +39 -0
  495. package/src/manager/resident/learning-store.ts +813 -0
  496. package/src/manager/resident/learning.ts +132 -8
  497. package/src/manager/resident/store.ts +31 -3
  498. package/src/manager/resident/tool-evidence.ts +412 -0
  499. package/src/manager/run/persistence.ts +18 -0
  500. package/src/plugin/loader.ts +8 -3
  501. package/src/prompt/coding-agent-doctrine.ts +2 -0
  502. package/src/prompt/index.ts +2 -0
  503. package/src/prompt/resident-learning.ts +143 -0
  504. package/src/prompt/resident-step.ts +83 -3
  505. package/src/provider/collect-chat-completion.ts +7 -6
  506. package/src/provider/fallback.ts +2 -1
  507. package/src/provider/stream-text.ts +56 -0
  508. package/src/public-runtime.ts +39 -1
  509. package/src/public-tools.ts +21 -0
  510. package/src/public-types.ts +98 -0
  511. package/src/registry/tool/execute.ts +2 -4
  512. package/src/registry/tool/portable.ts +264 -0
  513. package/src/registry/tool/schema.ts +38 -8
  514. package/src/registry/toolset/catalog.ts +8 -9
  515. package/src/run/LimitChecker.ts +3 -3
  516. package/src/run/evidence-query.ts +333 -0
  517. package/src/run/evidence-recall.ts +854 -0
  518. package/src/run/index.ts +11 -0
  519. package/src/run/json-claim-verifier.ts +298 -0
  520. package/src/run/preparation-context-error.ts +16 -0
  521. package/src/run-query/index.ts +1 -1
  522. package/src/runtime/jobs/awaited-jobs.ts +271 -0
  523. package/src/runtime/jobs/registry.ts +50 -0
  524. package/src/runtime/query/callback-inference.ts +94 -0
  525. package/src/runtime/query/checkpoint.ts +14 -0
  526. package/src/runtime/query/events.ts +22 -0
  527. package/src/runtime/query/executor.ts +100 -10
  528. package/src/runtime/query/file-evidence-context.ts +209 -0
  529. package/src/runtime/query/file-evidence-replay.ts +776 -0
  530. package/src/runtime/query/file-evidence-seed.ts +126 -0
  531. package/src/runtime/query/guard.ts +2 -0
  532. package/src/runtime/query/index.ts +153 -27
  533. package/src/runtime/query/iteration/index.ts +467 -110
  534. package/src/runtime/query/iteration/phases/advisory.ts +3 -0
  535. package/src/runtime/query/iteration/phases/context.ts +12 -0
  536. package/src/runtime/query/iteration/phases/tool-review.ts +7 -0
  537. package/src/runtime/query/iteration/provider-rejected-image.ts +6 -1
  538. package/src/runtime/query/iteration/stream-turn.ts +35 -8
  539. package/src/runtime/query/plugin-hooks.ts +20 -0
  540. package/src/runtime/query/repeat-call.ts +28 -18
  541. package/src/runtime/query/resume-pending.ts +65 -40
  542. package/src/runtime/query/review-policy.ts +13 -9
  543. package/src/runtime/query/sandbox-lifecycle.ts +3 -0
  544. package/src/runtime/query/steering.ts +11 -0
  545. package/src/runtime/query/tool-output-budget.ts +65 -13
  546. package/src/runtime/query/tooling.ts +10 -1
  547. package/src/scheduler/completion-inbox.ts +124 -2
  548. package/src/store/evidence/compaction-archive.ts +139 -0
  549. package/src/store/evidence/compaction-provenance.ts +52 -0
  550. package/src/store/evidence/compaction-text.ts +61 -0
  551. package/src/store/evidence/disk.ts +461 -0
  552. package/src/store/evidence/format.ts +126 -0
  553. package/src/store/evidence/index-page.ts +292 -0
  554. package/src/store/evidence/io.ts +95 -0
  555. package/src/store/evidence/linked.ts +365 -0
  556. package/src/store/evidence/passages.ts +88 -0
  557. package/src/store/evidence/record-chain.ts +108 -0
  558. package/src/store/evidence/search-input.ts +62 -0
  559. package/src/store/evidence/selection.ts +25 -0
  560. package/src/store/evidence/source-kind.ts +36 -0
  561. package/src/store/evidence/source-text.ts +285 -0
  562. package/src/store/evidence/types.ts +177 -0
  563. package/src/store/memory/disk.ts +4 -1
  564. package/src/store/run/disk.ts +110 -8
  565. package/src/store/run/memory.ts +10 -0
  566. package/src/store/run/tool-executions.ts +112 -0
  567. package/src/store/session/index.ts +2 -0
  568. package/src/store/session/sqlite.ts +584 -0
  569. package/src/tools/builtins/bash.ts +4 -10
  570. package/src/tools/builtins/edit-apply.ts +456 -0
  571. package/src/tools/builtins/edit.ts +39 -270
  572. package/src/tools/builtins/index.ts +9 -3
  573. package/src/tools/builtins/job.ts +5 -6
  574. package/src/tools/builtins/read-file.ts +56 -77
  575. package/src/tools/builtins/read-render.ts +104 -0
  576. package/src/tools/builtins/wait-for-job-bounds.ts +179 -0
  577. package/src/tools/builtins/wait-for-job.ts +184 -0
  578. package/src/tools/builtins/write-file.ts +7 -2
  579. package/src/tools/coordinator/index.ts +1 -7
  580. package/src/tools/defineTool.ts +4 -2
  581. package/src/tools/file-read-tracker.ts +86 -2
  582. package/src/tools/resident-history.ts +86 -0
  583. package/src/tools/resident-tool-evidence.ts +68 -0
  584. package/src/types/advisory/config.ts +7 -0
  585. package/src/types/agent/reactive.ts +1 -0
  586. package/src/types/authorization/index.ts +2 -2
  587. package/src/types/hitl/index.ts +4 -0
  588. package/src/types/message/index.ts +22 -0
  589. package/src/types/provider/chat.ts +2 -0
  590. package/src/types/provider/stream.ts +4 -0
  591. package/src/types/run/answer-review.ts +34 -3
  592. package/src/types/run/config.ts +3 -0
  593. package/src/types/run/entity.ts +21 -0
  594. package/src/types/run/events.ts +31 -8
  595. package/src/types/run/prepare-step.ts +59 -8
  596. package/src/types/run/store.ts +35 -4
  597. package/src/types/sandbox/index.ts +15 -14
  598. package/src/types/tool/index.ts +123 -1
  599. package/src/utils/await-with-abort.ts +26 -0
  600. package/src/utils/env.ts +23 -0
  601. package/src/utils/evidence-time.ts +9 -0
  602. package/src/utils/evidence-tokens.ts +32 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * The schema shape every wire namzu speaks reads the same way.
3
+ *
4
+ * `dialect.ts` solves the problem one wire at a time: render draft-07, and let
5
+ * each driver say it again in the dialect it knows its endpoint parses. That
6
+ * works only where a driver HAS a measurement. Of the ten driver packages,
7
+ * three convert; the other seven forward the rendering verbatim, because
8
+ * nobody had measured their wires.
9
+ *
10
+ * One of those seven then got measured, the hard way. Its gateway validates a
11
+ * tool's `parameters` against the JSON Schema 2020-12 metaschema, and `read`'s
12
+ * `readRange` — the only `z.tuple(...)` in the first-party tool surface —
13
+ * renders draft-07 as `items: [a, b]`:
14
+ *
15
+ * [400] Tool 4 function has invalid 'parameters' schema:
16
+ * [{'minimum': 1, 'type': 'integer'}, {'minimum': 1, 'type': 'integer'}]
17
+ * is not of type 'object', 'boolean'
18
+ *
19
+ * The lesson is not "convert in five more drivers". Wiring each driver to a
20
+ * dialect requires a measurement per wire, and the two hardest to measure are
21
+ * precisely the ones nobody can measure on a user's behalf: the driver whose
22
+ * schema field the vendor documents nowhere, and every compatible endpoint a
23
+ * user points the generic HTTP driver at.
24
+ *
25
+ * So the kernel emits the INTERSECTION instead: the subset of JSON Schema that
26
+ * is valid, and means the same thing, in draft-07 and in 2020-12 alike. A
27
+ * schema in that subset needs no conversion anywhere, which is why this runs at
28
+ * the rendering boundary rather than at ten driver boundaries.
29
+ *
30
+ * `toSchemaDialect` is not replaced by this and does not become dead: a driver
31
+ * can still be handed a `parameters` object namzu never rendered (a host
32
+ * passing `ChatCompletionParams` straight in), and converting at the boundary
33
+ * remains the right answer there.
34
+ */
35
+ export interface PortableSchemaViolation {
36
+ /** Dotted path to the offending keyword, e.g. `properties.readRange.items`. */
37
+ readonly path: string;
38
+ readonly keyword: string;
39
+ /** What to write instead. */
40
+ readonly remedy: string;
41
+ }
42
+ /**
43
+ * Every place a schema leaves the intersection, with its exact path.
44
+ *
45
+ * Exported so a test can sweep every shipped tool and a driver can assert
46
+ * rather than hope. The path is the point: the vendor's error names the tool
47
+ * index and the offending fragment but never where inside the schema it sits.
48
+ */
49
+ export declare function findPortableSchemaViolations(schema: unknown, path?: string): PortableSchemaViolation[];
50
+ /**
51
+ * Rewrite what can be rewritten, so a tuple cannot reach a wire.
52
+ *
53
+ * Only the tuple spellings and `$schema` are rewritten. The rest of the
54
+ * deny-list is reported and not repaired on purpose: inlining a `$ref` or
55
+ * choosing which member of a `type` list the author meant is a guess about
56
+ * intent, and a guess that silently changes what a tool accepts is worse than
57
+ * the 400 it avoids. Those are caught by the profile test at the source.
58
+ *
59
+ * Returns the input unchanged — the SAME reference — when nothing needs
60
+ * rewriting, which is the overwhelming common case. The tools block sits at
61
+ * position 0 of the prompt-cache prefix, so a fresh, equal object per request
62
+ * would invalidate the cache for the whole run.
63
+ */
64
+ export declare function toPortableToolSchema(json: Record<string, unknown>): Record<string, unknown>;
65
+ //# sourceMappingURL=portable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable.d.ts","sourceRoot":"","sources":["../../../src/registry/tool/portable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,WAAW,uBAAuB;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6BAA6B;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACvB;AAiDD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,OAAO,EACf,IAAI,SAAK,GACP,uBAAuB,EAAE,CAkC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE3F"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * The schema shape every wire namzu speaks reads the same way.
3
+ *
4
+ * `dialect.ts` solves the problem one wire at a time: render draft-07, and let
5
+ * each driver say it again in the dialect it knows its endpoint parses. That
6
+ * works only where a driver HAS a measurement. Of the ten driver packages,
7
+ * three convert; the other seven forward the rendering verbatim, because
8
+ * nobody had measured their wires.
9
+ *
10
+ * One of those seven then got measured, the hard way. Its gateway validates a
11
+ * tool's `parameters` against the JSON Schema 2020-12 metaschema, and `read`'s
12
+ * `readRange` — the only `z.tuple(...)` in the first-party tool surface —
13
+ * renders draft-07 as `items: [a, b]`:
14
+ *
15
+ * [400] Tool 4 function has invalid 'parameters' schema:
16
+ * [{'minimum': 1, 'type': 'integer'}, {'minimum': 1, 'type': 'integer'}]
17
+ * is not of type 'object', 'boolean'
18
+ *
19
+ * The lesson is not "convert in five more drivers". Wiring each driver to a
20
+ * dialect requires a measurement per wire, and the two hardest to measure are
21
+ * precisely the ones nobody can measure on a user's behalf: the driver whose
22
+ * schema field the vendor documents nowhere, and every compatible endpoint a
23
+ * user points the generic HTTP driver at.
24
+ *
25
+ * So the kernel emits the INTERSECTION instead: the subset of JSON Schema that
26
+ * is valid, and means the same thing, in draft-07 and in 2020-12 alike. A
27
+ * schema in that subset needs no conversion anywhere, which is why this runs at
28
+ * the rendering boundary rather than at ten driver boundaries.
29
+ *
30
+ * `toSchemaDialect` is not replaced by this and does not become dead: a driver
31
+ * can still be handed a `parameters` object namzu never rendered (a host
32
+ * passing `ChatCompletionParams` straight in), and converting at the boundary
33
+ * remains the right answer there.
34
+ */
35
+ const NO_TUPLES = 'say the array uniformly — one `items` schema plus `minItems`/`maxItems`; a tuple is spelled differently in draft-07 and 2020-12 and is invalid in one of them either way';
36
+ /**
37
+ * Keywords outside the intersection, and why each one is out.
38
+ *
39
+ * A deny-list, like `findStrictSchemaViolations` and for the same reason: an
40
+ * allow-list would have to enumerate every annotation a schema may carry and
41
+ * would refuse a schema for saying something harmless.
42
+ *
43
+ * Every entry names a wire in the driver matrix that reads it wrong, not a
44
+ * style preference.
45
+ */
46
+ const OUTSIDE_THE_INTERSECTION = new Map([
47
+ // 2020-12 moved the positional schemas to `prefixItems` and kept `items`
48
+ // for the tail, so an array-valued `items` does not merely look old — it
49
+ // means something else, and a 2020-12 validator rejects the whole request.
50
+ // Measured on Zen's Console gateway; the quote is in this file's header.
51
+ ['additionalItems', NO_TUPLES],
52
+ // The other spelling of the same tuple. A draft-07 validator does not know
53
+ // the keyword, so it ignores it — which turns a constrained array into an
54
+ // unconstrained one SILENTLY, the worse failure of the two. The strict
55
+ // tool-input subset refuses it outright as well (`strict-schema.ts`), and
56
+ // the function-declaration schema on one of these wires is an OpenAPI 3.0
57
+ // subset that has never documented it.
58
+ ['prefixItems', NO_TUPLES],
59
+ // A rendered tool schema has to stand alone. The renderer already runs with
60
+ // `$refStrategy: 'none'`, and the MCP bridge inlines refs before handing a
61
+ // schema out, because a wire that does not resolve them sees an empty
62
+ // constraint or refuses the document.
63
+ ['$ref', 'inline the referenced schema; a tool schema has to stand alone'],
64
+ ['$defs', 'inline the definitions; a tool schema has to stand alone'],
65
+ ['definitions', 'inline the definitions; a tool schema has to stand alone'],
66
+ ['$id', 'drop it; a tool schema is not a retrievable document'],
67
+ ['$anchor', 'drop it; there are no references to anchor'],
68
+ ['$dynamicRef', 'inline the referenced schema; a tool schema has to stand alone'],
69
+ ['$dynamicAnchor', 'drop it; there are no references to anchor'],
70
+ // Nothing on any wire reads it, and asserting a dialect is the one thing a
71
+ // schema that must work in both must not do. It also rides in the tools
72
+ // block, which renders at position 0 inside the prompt-cache prefix.
73
+ ['$schema', 'drop it; no provider reads it and it asserts a dialect'],
74
+ // 2019-09 vocabulary. Same silent-widening hazard as `prefixItems` on a
75
+ // draft-07 validator.
76
+ ['unevaluatedItems', 'state the constraint with `items` and `maxItems`'],
77
+ ['unevaluatedProperties', 'state the constraint with `additionalProperties`'],
78
+ ]);
79
+ /**
80
+ * Every place a schema leaves the intersection, with its exact path.
81
+ *
82
+ * Exported so a test can sweep every shipped tool and a driver can assert
83
+ * rather than hope. The path is the point: the vendor's error names the tool
84
+ * index and the offending fragment but never where inside the schema it sits.
85
+ */
86
+ export function findPortableSchemaViolations(schema, path = '') {
87
+ if (Array.isArray(schema)) {
88
+ return schema.flatMap((item, index) => findPortableSchemaViolations(item, `${path}[${index}]`));
89
+ }
90
+ if (typeof schema !== 'object' || schema === null)
91
+ return [];
92
+ const found = [];
93
+ for (const [keyword, value] of Object.entries(schema)) {
94
+ const here = path ? `${path}.${keyword}` : keyword;
95
+ const remedy = OUTSIDE_THE_INTERSECTION.get(keyword);
96
+ if (remedy !== undefined) {
97
+ found.push({ path: here, keyword, remedy });
98
+ continue;
99
+ }
100
+ // The draft-07 tuple. Reported once, at the tuple, rather than once per
101
+ // positional schema underneath it — one fixable finding, not a list.
102
+ if (keyword === 'items' && Array.isArray(value)) {
103
+ found.push({ path: here, keyword, remedy: NO_TUPLES });
104
+ continue;
105
+ }
106
+ // A union of types is valid JSON Schema in both dialects, but the
107
+ // OpenAPI-3.0-shaped wires namzu speaks take a single type name and
108
+ // either refuse a list or ignore it.
109
+ if (keyword === 'type' && Array.isArray(value)) {
110
+ found.push({
111
+ path: here,
112
+ keyword,
113
+ remedy: 'use `anyOf` of single-typed schemas; several wires take one type name only',
114
+ });
115
+ continue;
116
+ }
117
+ found.push(...findPortableSchemaViolations(value, here));
118
+ }
119
+ return found;
120
+ }
121
+ /**
122
+ * Rewrite what can be rewritten, so a tuple cannot reach a wire.
123
+ *
124
+ * Only the tuple spellings and `$schema` are rewritten. The rest of the
125
+ * deny-list is reported and not repaired on purpose: inlining a `$ref` or
126
+ * choosing which member of a `type` list the author meant is a guess about
127
+ * intent, and a guess that silently changes what a tool accepts is worse than
128
+ * the 400 it avoids. Those are caught by the profile test at the source.
129
+ *
130
+ * Returns the input unchanged — the SAME reference — when nothing needs
131
+ * rewriting, which is the overwhelming common case. The tools block sits at
132
+ * position 0 of the prompt-cache prefix, so a fresh, equal object per request
133
+ * would invalidate the cache for the whole run.
134
+ */
135
+ export function toPortableToolSchema(json) {
136
+ return makePortable(json);
137
+ }
138
+ function makePortable(value) {
139
+ if (Array.isArray(value)) {
140
+ let changed = false;
141
+ const out = value.map((item) => {
142
+ const next = makePortable(item);
143
+ if (next !== item)
144
+ changed = true;
145
+ return next;
146
+ });
147
+ return changed ? out : value;
148
+ }
149
+ if (typeof value !== 'object' || value === null)
150
+ return value;
151
+ const node = value;
152
+ const positional = Array.isArray(node.prefixItems)
153
+ ? node.prefixItems
154
+ : Array.isArray(node.items)
155
+ ? node.items
156
+ : undefined;
157
+ if (positional)
158
+ return collapseTuple(node, positional);
159
+ let changed = '$schema' in node;
160
+ const out = {};
161
+ for (const [key, child] of Object.entries(node)) {
162
+ if (key === '$schema')
163
+ continue;
164
+ const next = makePortable(child);
165
+ if (next !== child)
166
+ changed = true;
167
+ out[key] = next;
168
+ }
169
+ return changed ? out : node;
170
+ }
171
+ /**
172
+ * Say a positional array uniformly.
173
+ *
174
+ * What is kept: the arity, and every constraint that applies to every member.
175
+ * What is lost: which member sits where. That loss is real and it is the price
176
+ * of a shape both dialects read identically — and it costs nothing in practice,
177
+ * because the tool's Zod schema still parses the call and still refuses a
178
+ * wrongly-ordered array with a message the model can act on. The wire schema is
179
+ * a hint to the model; the parser is the contract.
180
+ */
181
+ function collapseTuple(node, positional) {
182
+ // The tail rule, in whichever dialect this node happens to be written in:
183
+ // draft-07 spells it `additionalItems`, 2020-12 spells it `items` and only
184
+ // calls it a tail when `prefixItems` holds the members.
185
+ const tail = Array.isArray(node.prefixItems) ? node.items : node.additionalItems;
186
+ const arity = positional.length;
187
+ const members = positional.map(makePortable);
188
+ // A tail that is itself a schema constrains every element past the members,
189
+ // so those elements join the uniform reading rather than closing it.
190
+ const tailSchema = tail !== undefined && tail !== true && tail !== false ? makePortable(tail) : undefined;
191
+ // `false` closes the array at the members' length; so does a `maxItems` the
192
+ // author already pinned there.
193
+ const closed = tailSchema === undefined &&
194
+ (tail === false || (typeof node.maxItems === 'number' && node.maxItems <= arity));
195
+ // An open tail with no schema says "anything past the members", which no
196
+ // single `items` can express alongside the members themselves. Saying
197
+ // nothing about the elements is the only honest uniform reading; the bounds
198
+ // below still carry whatever the author pinned.
199
+ const candidates = tailSchema !== undefined ? dedupe([...members, tailSchema]) : closed ? dedupe(members) : [];
200
+ const element = candidates.length === 0
201
+ ? undefined
202
+ : candidates.length === 1
203
+ ? candidates[0]
204
+ : { anyOf: candidates };
205
+ const out = {};
206
+ for (const [key, child] of Object.entries(node)) {
207
+ if (key === '$schema')
208
+ continue;
209
+ if (key === 'additionalItems')
210
+ continue;
211
+ if (key === 'prefixItems' || (key === 'items' && Array.isArray(child))) {
212
+ if (element !== undefined)
213
+ out.items = element;
214
+ continue;
215
+ }
216
+ // The 2020-12 tail, already folded into `items` above.
217
+ if (key === 'items' && Array.isArray(node.prefixItems))
218
+ continue;
219
+ if (key === 'maxItems' && closed && typeof child === 'number') {
220
+ out.maxItems = Math.min(child, arity);
221
+ continue;
222
+ }
223
+ out[key] = makePortable(child);
224
+ }
225
+ // A tuple closed by `additionalItems: false` rather than by a bound loses
226
+ // its ceiling otherwise: a uniform `items` says nothing about length, so a
227
+ // schema written to forbid a third element would begin to allow any number.
228
+ if (closed && out.maxItems === undefined)
229
+ out.maxItems = arity;
230
+ return out;
231
+ }
232
+ function dedupe(schemas) {
233
+ const seen = new Set();
234
+ const out = [];
235
+ for (const schema of schemas) {
236
+ const key = JSON.stringify(schema) ?? 'undefined';
237
+ if (seen.has(key))
238
+ continue;
239
+ seen.add(key);
240
+ out.push(schema);
241
+ }
242
+ return out;
243
+ }
244
+ //# sourceMappingURL=portable.js.map
@@ -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":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAcpD,MAAM,mBAAmB,GAAe;IACvC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,qCAAqC;CAClD,CAAA;AAED,MAAM,oBAAoB,GAAsB;IAC/C,EAAE,EAAE,YAAY;IAChB,QAAQ,EAAE,mBAAmB,CAAC,EAAE;IAChC,IAAI,EAAE,YAAY;IAClB,aAAa,EAAE;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO;KAChB;CACD,CAAA;AAED,MAAM,OAAO,WAAW;IACf,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAA;IACvC,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAA;IAC/C,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEnD,cAAc,CAAC,MAAkB;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,eAAe,CAAC,OAA0B;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,EAAE,gCAAgC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,YAAY,CAAC,IAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,gCAAgC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,iCAAiC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACd,SAAS,IAAI,CAAC,IAAI,yCAAyC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAClF,CAAA;QACF,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACd,SAAS,IAAI,CAAC,IAAI,yCAAyC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAC1F,CAAA;QACF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CACd,SAAS,IAAI,CAAC,IAAI,mEAAmE,CACrF,CAAA;QACF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACd,SAAS,IAAI,CAAC,IAAI,8KAA8K,CAChM,CAAA;QACF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,SAAS,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,UAAU,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,WAAW;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,YAAY;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,SAAS;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;SACvB,CAAA;IACF,CAAC;IAED,iBAAiB,CAAC,OAAmC;QACpD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,UAAoC,EAAE;QAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACjE,MAAM,OAAO,GAA8B,EAAE,CAAA;QAE7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAQ;YACtE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;gBAAE,SAAQ;YAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACjD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;gBAAE,SAAQ;YAEjC,MAAM,MAAM,GAAG,eAAe,CAAC;gBAC9B,KAAK;gBACL,IAAI;gBACJ,MAAM;gBACN,OAAO;aACP,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC;gBAAE,SAAQ;YAE/B,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,MAAM;gBACN,OAAO;gBACP,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aACvB,CAAC,CAAA;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACnF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,UAAU,CAAC,UAA6D,EAAE;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;aACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACzE,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;CACD;AAED,MAAM,UAAU,6BAA6B,CAC5C,QAA8B,EAC9B,UAA0C,EAAE;IAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAA;IACpD,MAAM,OAAO,GAAsB;QAClC,GAAG,oBAAoB;QACvB,GAAG,OAAO,CAAC,OAAO;QAClB,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;KAChD,CAAA;IACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEhC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9D,OAAO,CAAC,YAAY,CACnB,4BAA4B,CAAC,UAAU,EAAE;YACxC,YAAY;YACZ,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,aAAa,EAAE,OAAO,CAAC,aAAa;SACpC,CAAC,CACF,CAAA;IACF,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,UAA0B,EAC1B,KAKC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;IACvE,OAAO;QACN,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,MAAM,EAAE;YACP,GAAG,KAAK,CAAC,aAAa;YACtB,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW;YACjF,OAAO;SACP;KACD,CAAA;AACF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAA8B;IACrE,QAAQ,YAAY,EAAE,CAAC;QACtB,KAAK,UAAU;YACd,OAAO,UAAU,CAAA;QAClB,KAAK,WAAW;YACf,OAAO,WAAW,CAAA;QACnB;YACC,OAAO,OAAO,CAAA;IAChB,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAChD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,UAAU,CAAA;IAC/C,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,CAAA;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsC;IACtE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAC5B,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACT,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,kEAAkE;YAClE,8DAA8D;YAC9D,gEAAgE;YAChE,mEAAmE;YACnE,sEAAsE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,oDAAoD;YACpD,UAAU,EACT,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC;SACzC;KACD,CAAA;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAKxB;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA;QACxD,MAAM,UAAU,GACf,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5F,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAA;QAE5F,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,IAAI,EAAE,CAAA;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,IAAI,CAAC,CAAA;IAExD,OAAO;QACN,KAAK;QACL,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;KACrB,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/registry/toolset/catalog.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export function checkLimitsDetailed(config, state) {
2
2
  if (state.aborted) {
3
3
  return { type: 'hard_stop', reason: 'cancelled' };
4
4
  }
5
- if (Date.now() - state.startTime > config.timeoutMs) {
5
+ if (config.timeoutMs !== 0 && Date.now() - state.startTime > config.timeoutMs) {
6
6
  return { type: 'hard_stop', reason: 'timeout' };
7
7
  }
8
8
  if (config.tokenBudget > 0 && state.totalTokens >= config.tokenBudget) {
@@ -23,7 +23,7 @@ export function checkLimitsDetailed(config, state) {
23
23
  return { type: 'hard_stop', reason: 'cost_unmeasurable' };
24
24
  }
25
25
  }
26
- if (state.currentIteration >= config.maxIterations) {
26
+ if (config.maxIterations !== 0 && state.currentIteration >= config.maxIterations) {
27
27
  return { type: 'hard_stop', reason: 'max_iterations' };
28
28
  }
29
29
  if (config.tokenBudget > 0) {
@@ -40,7 +40,7 @@ export function checkLimitsDetailed(config, state) {
40
40
  }
41
41
  const timeElapsed = Date.now() - state.startTime;
42
42
  const timeRatio = timeElapsed / config.timeoutMs;
43
- if (timeRatio >= config.budgetWarningThreshold) {
43
+ if (config.timeoutMs > 0 && timeRatio >= config.budgetWarningThreshold) {
44
44
  return { type: 'warning', reason: 'timeout' };
45
45
  }
46
46
  return { type: 'ok' };
@@ -1 +1 @@
1
- {"version":3,"file":"LimitChecker.js","sourceRoot":"","sources":["../../src/run/LimitChecker.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,mBAAmB,CAClC,MAA0B,EAC1B,KAAwB;IAExB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAClD,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAChD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACnD,CAAC;QACD,oEAAoE;QACpE,oEAAoE;QACpE,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,6CAA6C;QAC7C,oDAAoD;QACpD,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAC1D,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACzD,IAAI,UAAU,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACnD,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAA;QACvD,IAAI,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjD,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;IAChD,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,CAAA;IAChD,IAAI,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,WAAmB,EACnB,SAAiB,EACjB,YAAqB,EACrB,aAAsB,EACtB,sBAA+B;IAE/B,OAAO;QACN,WAAW;QACX,SAAS;QACT,YAAY;QACZ,aAAa,EAAE,aAAa,IAAI,GAAG;QACnC,sBAAsB,EAAE,sBAAsB,IAAI,GAAG;KACrD,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"LimitChecker.js","sourceRoot":"","sources":["../../src/run/LimitChecker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { PrepareStepContext } from '../types/run/prepare-step.js';
2
+ interface QueryMessage {
3
+ readonly position: number;
4
+ readonly role: string;
5
+ readonly text: string;
6
+ readonly truncated: boolean;
7
+ readonly source?: 'compaction-summary';
8
+ }
9
+ export interface EvidenceQueryResolution {
10
+ readonly terms: readonly string[];
11
+ /** Optional grounded subject words; discovery requires any one, not all of them. */
12
+ readonly focusTerms?: readonly string[];
13
+ readonly time: 'past' | 'unspecified';
14
+ readonly basis: readonly {
15
+ position: number;
16
+ role: string;
17
+ quote: string;
18
+ /** A derived lookup reference, never an original observation. */
19
+ source?: 'compaction-summary';
20
+ }[];
21
+ /** Distinct visible word spellings not offered within the planning input allowance. */
22
+ readonly omittedTokens?: number;
23
+ }
24
+ /** A planner interpretation of visible references, never authenticated evidence. */
25
+ export interface EvidenceQueryAmbiguity {
26
+ readonly kind: 'ambiguous';
27
+ readonly basis: EvidenceQueryResolution['basis'];
28
+ }
29
+ type QueryPlan = EvidenceQueryResolution | EvidenceQueryAmbiguity | null | undefined;
30
+ /** Internal planner input. IDs are local to this exact bounded input, never archive addresses. */
31
+ export declare function buildEvidenceQueryInput(current: string, history: readonly QueryMessage[]): {
32
+ prompt: string;
33
+ tokens: string[];
34
+ omittedTokens: number;
35
+ } | undefined;
36
+ /** Pure validation grounds the selected tokens in the supplied visible text. */
37
+ export declare function validateEvidenceQueryResolution(raw: string, current: string, history: readonly QueryMessage[]): QueryPlan;
38
+ /** One cached plan for the same operator input; evidence bytes are never cached. */
39
+ export declare function createEvidenceQueryResolver(): (context: PrepareStepContext, query: string) => Promise<QueryPlan>;
40
+ export {};
41
+ //# sourceMappingURL=evidence-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-query.d.ts","sourceRoot":"","sources":["../../src/run/evidence-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAiDtE,UAAU,YAAY;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,iEAAiE;QACjE,MAAM,CAAC,EAAE,oBAAoB,CAAA;KAC7B,EAAE,CAAA;IACH,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA;CAChD;AAED,KAAK,SAAS,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAA;AAEpF,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE;;;;cAsDxF;AAsFD,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC9C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,YAAY,EAAE,GAC9B,SAAS,CAqDX;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,KASlC,SAAS,kBAAkB,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,SAAS,CAAC,CAsCvE"}