@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 @@
1
+ {"version":3,"file":"consumption.js","sourceRoot":"","sources":["../../../src/manager/resident/consumption.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { RunEvidenceScope } from '../../store/evidence/types.js';
2
+ import type { PrepareStep } from '../../types/run/prepare-step.js';
3
+ import { type ResidentState } from './store.js';
4
+ import type { ResidentToolEvidenceSource } from './tool-evidence.js';
5
+ /** @experimental Automatic original-tool recall for exactly one admitted resident run. */
6
+ export interface ResidentEvidenceRecallOptions {
7
+ readonly source: ResidentToolEvidenceSource;
8
+ /** Already admitted state; summaries supply search words, never new observations. */
9
+ readonly state: ResidentState;
10
+ /** The current executor, distinct from historical Session/run addresses. */
11
+ readonly scope: RunEvidenceScope;
12
+ readonly maxChars?: number;
13
+ readonly maxPassages?: number;
14
+ readonly timeoutMs?: number;
15
+ /** Host tool names whose successful archival copies should not occupy result slots. */
16
+ readonly excludeSuccessfulTools?: readonly string[];
17
+ }
18
+ /**
19
+ * Reuses the shared bounded ranking/rendering engine while retaining the
20
+ * pursuit's settlement authority. No arbitrary Session discovery, saved fact
21
+ * cache, inference, workspace reread or action replay is performed here.
22
+ */
23
+ export declare function createResidentEvidenceRecallStep(options: ResidentEvidenceRecallOptions): PrepareStep;
24
+ //# sourceMappingURL=evidence-recall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-recall.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/evidence-recall.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,YAAY,CAAA;AACpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAEpE,0FAA0F;AAC1F,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAA;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACnD;AA6CD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC/C,OAAO,EAAE,6BAA6B,GACpC,WAAW,CA2Rb"}
@@ -0,0 +1,295 @@
1
+ import { z } from 'zod';
2
+ import { createScopedEvidenceRecallStep, evidenceRecallQueryTokens, refineEvidenceRecallTerms, } from '../../run/evidence-recall.js';
3
+ import { evidenceTokenKey } from '../../utils/evidence-tokens.js';
4
+ import { residentStateSchema } from './store.js';
5
+ const ownerSchema = z.object({
6
+ tenantId: z.string().uuid(),
7
+ projectId: z.string().uuid(),
8
+ sessionId: z.string().uuid(),
9
+ runId: z.string().uuid(),
10
+ });
11
+ const historicalScopeSchema = ownerSchema.omit({ sessionId: true, runId: true }).extend({
12
+ agentKey: z.string().min(1).max(200),
13
+ pursuitId: z.string().uuid(),
14
+ throughRevision: z.number().int().positive().safe(),
15
+ });
16
+ // Sample both ends without merging or manufacturing a word at the cut. The
17
+ // field still contributes at most 4000 characters; its omitted middle is not
18
+ // inspected. Alternating ends also gives late corrections a term slot.
19
+ function residentQueryWords(text) {
20
+ const words = text.length <= 4000
21
+ ? evidenceRecallQueryTokens(text)
22
+ : [
23
+ ...evidenceRecallQueryTokens(text
24
+ .slice(0, 2000)
25
+ .replace(/[\uD800-\uDBFF]$/u, '')
26
+ .replace(/[\p{L}\p{N}_]+$/u, '')),
27
+ ...evidenceRecallQueryTokens(text
28
+ .slice(-2000)
29
+ .replace(/^[\uDC00-\uDFFF]/u, '')
30
+ .replace(/^[\p{L}\p{N}_]+/u, '')),
31
+ ];
32
+ const result = [];
33
+ for (let left = 0, right = words.length - 1; left <= right; left++, right--) {
34
+ const first = words[left];
35
+ const last = words[right];
36
+ if (first)
37
+ result.push(first);
38
+ if (left !== right && last)
39
+ result.push(last);
40
+ }
41
+ return result;
42
+ }
43
+ /**
44
+ * Reuses the shared bounded ranking/rendering engine while retaining the
45
+ * pursuit's settlement authority. No arbitrary Session discovery, saved fact
46
+ * cache, inference, workspace reread or action replay is performed here.
47
+ */
48
+ export function createResidentEvidenceRecallStep(options) {
49
+ const state = residentStateSchema.parse(options.state);
50
+ const owner = Object.freeze(ownerSchema.parse(options.scope));
51
+ const source = options.source;
52
+ const historicalScope = Object.freeze(historicalScopeSchema.parse(source.scope));
53
+ if (state.phase !== 'running' ||
54
+ !state.claimId ||
55
+ state.tenantId !== owner.tenantId ||
56
+ state.tenantId !== historicalScope.tenantId ||
57
+ owner.projectId !== historicalScope.projectId ||
58
+ state.agentKey !== historicalScope.agentKey ||
59
+ state.pursuitId !== historicalScope.pursuitId)
60
+ throw new Error('Resident recall requires one admitted pursuit and its authorized source.');
61
+ const exclusions = options.excludeSuccessfulTools
62
+ ? [...new Set(options.excludeSuccessfulTools)].sort()
63
+ : undefined;
64
+ if (exclusions &&
65
+ (exclusions.length > 16 ||
66
+ exclusions.some((name) => typeof name !== 'string' || !name.length || name.length > 256)))
67
+ throw new Error('Resident recall exclusions are invalid.');
68
+ if (Buffer.byteLength(JSON.stringify({
69
+ terms: ['x'],
70
+ ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
71
+ })) > 512)
72
+ throw new Error('Resident recall exclusions leave no bounded search room.');
73
+ const snapshot = JSON.stringify(historicalScope);
74
+ function assertSource() {
75
+ if (JSON.stringify(historicalScopeSchema.parse(source.scope)) !== snapshot)
76
+ throw new Error('Resident recall source changed ownership or admission boundary.');
77
+ }
78
+ // Round-robin categories keep a long objective or derived summary from
79
+ // monopolizing all search terms. Within wakes, newer accepted inputs start
80
+ // first; their original committed index is retained in query metadata.
81
+ const wakes = (state.wakeEvidence ?? [])
82
+ .map((wake, index) => ({
83
+ kind: 'accepted_wake',
84
+ index,
85
+ words: residentQueryWords(wake.reason),
86
+ }))
87
+ .reverse();
88
+ const wakeWords = [];
89
+ for (let word = 0; word < 256; word++)
90
+ for (const wake of wakes) {
91
+ const term = wake.words[word];
92
+ if (term)
93
+ wakeWords.push({ term, source: wake.kind, wakeIndex: wake.index });
94
+ }
95
+ const groups = [
96
+ wakeWords,
97
+ residentQueryWords(state.objective).map((term) => ({ term, source: 'objective' })),
98
+ residentQueryWords(state.summary ?? '').map((term) => ({
99
+ term,
100
+ source: 'derived_summary',
101
+ })),
102
+ ];
103
+ const selected = [];
104
+ const seen = new Set();
105
+ const offsets = [0, 0, 0];
106
+ for (let round = 0; round < 16; round++) {
107
+ for (const [i, group] of groups.entries()) {
108
+ while ((offsets[i] ?? 0) < group.length && selected.length < 16) {
109
+ const entry = group[offsets[i] ?? 0];
110
+ offsets[i] = (offsets[i] ?? 0) + 1;
111
+ if (!entry || seen.has(evidenceTokenKey(entry.term)))
112
+ continue;
113
+ const terms = [...selected.map((item) => item.term), entry.term];
114
+ if (Buffer.byteLength(JSON.stringify({
115
+ terms,
116
+ ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
117
+ })) > 512)
118
+ continue;
119
+ selected.push(entry);
120
+ seen.add(evidenceTokenKey(entry.term));
121
+ break;
122
+ }
123
+ }
124
+ }
125
+ const query = {
126
+ terms: selected.map(({ term }) => term),
127
+ metadata: {
128
+ kind: 'literal_resident_state',
129
+ terms: selected,
130
+ throughRevision: historicalScope.throughRevision,
131
+ guidance: 'Words select historical tool records only. Objective/wakes are accepted inputs; derived_summary is a prior claim, not a new observation. Selection may omit relevant words. Fields over 4000 characters contribute their first/last 2000 characters; terms alternate ends. Query/ranking do not resolve ambiguous references or establish truth, freshness or completeness. Use read_resident_tool with revision/address/byteOffset for exact retained text.',
132
+ },
133
+ };
134
+ const addresses = new WeakMap();
135
+ const search = source.search.bind(source);
136
+ const retrieve = async (request) => {
137
+ if (request.runId !== owner.runId)
138
+ throw new Error('Resident recall called from a different run.');
139
+ assertSource();
140
+ const candidates = [];
141
+ let scannedBytes = 0;
142
+ let incomplete = false;
143
+ const scans = [{ terms: request.terms, started: false }];
144
+ let excludedToolResults = 0;
145
+ for (let pageNumber = 0; pageNumber < 4; pageNumber++) {
146
+ const scan = [...scans].reverse().find((entry) => !entry.started || entry.cursor);
147
+ if (!scan)
148
+ break;
149
+ request.signal.throwIfAborted();
150
+ const allowance = request.maxReadBytes - scannedBytes;
151
+ if (allowance <= 1024 * 1024 || candidates.length >= request.maxCandidates)
152
+ break;
153
+ const page = await search({
154
+ ...(scan.cursor
155
+ ? {
156
+ cursor: scan.cursor,
157
+ ...(scan.refineTerms ? { refineTerms: scan.refineTerms } : {}),
158
+ }
159
+ : {
160
+ terms: [...scan.terms],
161
+ ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
162
+ }),
163
+ maxReadBytes: allowance,
164
+ }, request.signal);
165
+ request.signal.throwIfAborted();
166
+ assertSource();
167
+ if (JSON.stringify(historicalScopeSchema.parse(page.scope)) !== snapshot ||
168
+ !Number.isSafeInteger(page.chargedBytes) ||
169
+ (page.chargedBytes ?? -1) < 0 ||
170
+ (page.chargedBytes ?? Number.POSITIVE_INFINITY) > allowance ||
171
+ typeof page.incomplete !== 'boolean' ||
172
+ !Array.isArray(page.unavailableRevisions) ||
173
+ page.unavailableRevisions.some((revision) => !Number.isSafeInteger(revision) ||
174
+ revision < 1 ||
175
+ revision > historicalScope.throughRevision) ||
176
+ (page.nextCursor !== null &&
177
+ (typeof page.nextCursor !== 'string' ||
178
+ !page.nextCursor.length ||
179
+ page.nextCursor.length > 8192)))
180
+ throw new Error('Resident recall received an invalid bounded page.');
181
+ scannedBytes += page.chargedBytes ?? 0;
182
+ // A page with a continuation is locally incomplete even when all
183
+ // records visited so far are valid. Clearing traversal later is safe;
184
+ // unavailable evidence stays incomplete for this entire pass.
185
+ incomplete ||=
186
+ (page.incomplete && !page.nextCursor) ||
187
+ page.unavailableRevisions.length > 0 ||
188
+ !!page.evidence?.incomplete;
189
+ const evidence = page.evidence;
190
+ if (evidence) {
191
+ const original = ownerSchema.parse(evidence.scope);
192
+ if (original.tenantId !== owner.tenantId ||
193
+ original.projectId !== owner.projectId ||
194
+ original.runId === owner.runId ||
195
+ !Number.isSafeInteger(page.revision) ||
196
+ (page.revision ?? 0) < 1 ||
197
+ (page.revision ?? Number.POSITIVE_INFINITY) > historicalScope.throughRevision ||
198
+ !z.string().uuid().safeParse(page.claimId).success ||
199
+ page.claimId === state.claimId ||
200
+ !Array.isArray(evidence.matches) ||
201
+ evidence.matches.length > 24)
202
+ throw new Error('Resident recall returned an unauthorized invocation.');
203
+ if (evidence.excludedToolResults !== undefined &&
204
+ (!Number.isSafeInteger(evidence.excludedToolResults) || evidence.excludedToolResults < 0))
205
+ throw new Error('Resident recall returned an invalid exclusion count.');
206
+ excludedToolResults += evidence.excludedToolResults ?? 0;
207
+ for (const match of evidence.matches) {
208
+ if (typeof match.address !== 'string' ||
209
+ !match.address.length ||
210
+ match.address.length > 8192)
211
+ throw new Error('Resident recall returned an invalid archive address.');
212
+ const candidate = {
213
+ scope: original,
214
+ seq: match.seq,
215
+ recordedAt: match.recordedAt,
216
+ source: 'tool_completed',
217
+ toolName: match.toolName,
218
+ isError: match.isError,
219
+ retained: match.retained,
220
+ excerpt: match.excerpt,
221
+ excerptComplete: match.excerptComplete,
222
+ byteOffset: match.byteOffset,
223
+ };
224
+ addresses.set(candidate, {
225
+ sessionId: original.sessionId,
226
+ runId: original.runId,
227
+ seq: match.seq,
228
+ pursuitId: historicalScope.pursuitId,
229
+ revision: page.revision,
230
+ claimId: page.claimId,
231
+ address: match.address,
232
+ byteOffset: match.byteOffset,
233
+ });
234
+ candidates.push(candidate);
235
+ }
236
+ }
237
+ scan.started = true;
238
+ scan.cursor = page.nextCursor ?? undefined;
239
+ scan.refineTerms = undefined;
240
+ // One strict-subset scan spends the SAME page/byte allowance. Keep
241
+ // the broad cursor: finishing a subset never exhausts the full query.
242
+ if (scans.length === 1 &&
243
+ scan.cursor &&
244
+ pageNumber < 3 &&
245
+ (evidence?.matches.length ?? 0) >= 4) {
246
+ const focused = refineEvidenceRecallTerms(scan.terms, candidates.map((candidate) => candidate.excerpt));
247
+ if (focused)
248
+ scans.push({
249
+ terms: focused,
250
+ started: false,
251
+ ...(source.supportsTermRefinement === true
252
+ ? { cursor: scan.cursor, refineTerms: focused }
253
+ : {}),
254
+ });
255
+ }
256
+ }
257
+ const continuations = scans.flatMap((scan) => scan.started && scan.cursor
258
+ ? [{ toolName: 'search_resident_tools', input: { cursor: scan.cursor } }]
259
+ : []);
260
+ return {
261
+ candidates,
262
+ scannedBytes,
263
+ incomplete: incomplete || scans.some((scan) => !scan.started || !!scan.cursor),
264
+ excludedToolResults,
265
+ continuations,
266
+ };
267
+ };
268
+ const step = createScopedEvidenceRecallStep({
269
+ retrieve,
270
+ maxChars: options.maxChars,
271
+ maxPassages: options.maxPassages,
272
+ timeoutMs: options.timeoutMs,
273
+ }, {
274
+ kind: 'resident',
275
+ selectQuery: () => query,
276
+ validate(candidate) {
277
+ assertSource();
278
+ if (!addresses.has(candidate))
279
+ throw new Error('Unowned resident evidence candidate.');
280
+ },
281
+ address(candidate) {
282
+ const address = addresses.get(candidate);
283
+ if (!address)
284
+ throw new Error('Missing resident evidence address.');
285
+ return address;
286
+ },
287
+ });
288
+ return async (context) => {
289
+ if (context.runId !== owner.runId)
290
+ throw new Error('Resident recall called from a different run.');
291
+ assertSource();
292
+ return step(context);
293
+ };
294
+ }
295
+ //# sourceMappingURL=evidence-recall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-recall.js","sourceRoot":"","sources":["../../../src/manager/resident/evidence-recall.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ResidentHistoryReadBudget {
2
+ remaining: number;
3
+ bytesRead: number;
4
+ signal?: AbortSignal;
5
+ }
6
+ export declare class ResidentHistoryPageLimit extends Error {
7
+ }
8
+ /** Bounded read of an immutable record in a private host-owned hierarchy. */
9
+ export declare function readResidentHistoryRecord(root: string, path: string, budget: ResidentHistoryReadBudget): Promise<unknown>;
10
+ //# sourceMappingURL=history-disk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-disk.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/history-disk.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,yBAAyB;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,6EAA6E;AAC7E,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA2ClB"}
@@ -0,0 +1,50 @@
1
+ import { constants } from 'node:fs';
2
+ import { lstat, open } from 'node:fs/promises';
3
+ import { join, relative, resolve, sep } from 'node:path';
4
+ const RECORD_BYTES = 4 * 1024 * 1024;
5
+ export class ResidentHistoryPageLimit extends Error {
6
+ }
7
+ /** Bounded read of an immutable record in a private host-owned hierarchy. */
8
+ export async function readResidentHistoryRecord(root, path, budget) {
9
+ budget.signal?.throwIfAborted();
10
+ const base = resolve(root);
11
+ const suffix = relative(base, resolve(path));
12
+ if (suffix === '..' || suffix.startsWith(`..${sep}`))
13
+ throw new Error('Invalid history path.');
14
+ let current = base;
15
+ for (const part of ['', ...suffix.split(sep).filter(Boolean)]) {
16
+ current = join(current, part);
17
+ if ((await lstat(current)).isSymbolicLink())
18
+ throw new Error('History symlinks are refused.');
19
+ }
20
+ const handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
21
+ try {
22
+ const before = await handle.stat();
23
+ if (!before.isFile() || before.size > RECORD_BYTES)
24
+ throw new Error('History record is not a bounded regular file.');
25
+ if (before.size > budget.remaining)
26
+ throw new ResidentHistoryPageLimit();
27
+ const bytes = Buffer.alloc(before.size);
28
+ let offset = 0;
29
+ while (offset < bytes.length) {
30
+ budget.signal?.throwIfAborted();
31
+ const { bytesRead } = await handle.read(bytes, offset, Math.min(64 * 1024, bytes.length - offset), offset);
32
+ budget.remaining -= bytesRead;
33
+ budget.bytesRead += bytesRead;
34
+ if (!bytesRead)
35
+ throw new Error('History record shortened during read.');
36
+ offset += bytesRead;
37
+ }
38
+ budget.signal?.throwIfAborted();
39
+ const after = await handle.stat();
40
+ if (after.size !== before.size ||
41
+ after.mtimeMs !== before.mtimeMs ||
42
+ after.ctimeMs !== before.ctimeMs)
43
+ throw new Error('History record changed during read.');
44
+ return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(bytes));
45
+ }
46
+ finally {
47
+ await handle.close();
48
+ }
49
+ }
50
+ //# sourceMappingURL=history-disk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-disk.js","sourceRoot":"","sources":["../../../src/manager/resident/history-disk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAExD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAQpC,MAAM,OAAO,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,IAAY,EACZ,IAAY,EACZ,MAAiC;IAEjC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC9F,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACjG,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,YAAY;YACjD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS;YAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;YAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CACtC,KAAK,EACL,MAAM,EACN,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAC1C,MAAM,CACN,CAAA;YACD,MAAM,CAAC,SAAS,IAAI,SAAS,CAAA;YAC7B,MAAM,CAAC,SAAS,IAAI,SAAS,CAAA;YAC7B,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YACxE,MAAM,IAAI,SAAS,CAAA;QACpB,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACjC,IACC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YAC1B,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;YAChC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;YAEhC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3E,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;AACF,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { ResidentAgendaState } from './agenda.js';
2
+ import { type ResidentHistoryReadBudget } from './history-disk.js';
3
+ /** @experimental Host-bound historical scope; the upper revision never advances implicitly. */
4
+ export interface ResidentHistoryScope {
5
+ readonly tenantId: string;
6
+ readonly agentKey: string;
7
+ readonly pursuitId: string;
8
+ readonly throughRevision: number;
9
+ }
10
+ /** @experimental Revision plus part identifies retained text within one pursuit. */
11
+ export interface ResidentHistoryAddress {
12
+ readonly revision: number;
13
+ readonly part: number;
14
+ }
15
+ /** @experimental Summary or accepted wake input from a settled historical step. */
16
+ export interface ResidentHistoryMatch extends ResidentHistoryAddress {
17
+ readonly step: number;
18
+ readonly claimId: string;
19
+ readonly kind: 'wait' | 'complete' | 'blocked';
20
+ readonly source: 'summary' | 'wake';
21
+ readonly excerpt: string;
22
+ readonly matchingParts: readonly number[];
23
+ }
24
+ /** @experimental Empty query browses recent steps; cursor is the next inclusive revision. */
25
+ export interface ResidentHistorySearchOptions {
26
+ /** Optional per-call ceiling, 1 byte–8 MiB. Defaults to 8 MiB. */
27
+ readonly maxReadBytes?: number;
28
+ readonly query?: string;
29
+ readonly cursor?: number;
30
+ readonly limit?: number;
31
+ }
32
+ /** @experimental Counts describe this page, not the whole history. */
33
+ export interface ResidentHistorySearchResult {
34
+ readonly matches: readonly ResidentHistoryMatch[];
35
+ readonly nextCursor: number | null;
36
+ readonly scannedRevisions: number;
37
+ readonly scannedBytes: number;
38
+ readonly unavailableRevisions: readonly number[];
39
+ readonly incomplete: boolean;
40
+ }
41
+ /** @experimental Use the returned nextOffset to continue exact Unicode-safe text. */
42
+ export interface ResidentHistoryReadOptions extends ResidentHistoryAddress {
43
+ readonly offset?: number;
44
+ /** Optional per-call ceiling, 1 byte–8 MiB. Defaults to 8 MiB. */
45
+ readonly maxReadBytes?: number;
46
+ }
47
+ /** @experimental A recorded claim remains historical evidence, not proof of current validity. */
48
+ export interface ResidentHistoryText extends ResidentHistoryAddress {
49
+ readonly step: number;
50
+ readonly claimId: string;
51
+ readonly kind: 'wait' | 'complete' | 'blocked';
52
+ readonly source: 'summary' | 'wake';
53
+ readonly receivedAt?: number;
54
+ readonly text: string;
55
+ readonly offset: number;
56
+ readonly totalChars: number;
57
+ readonly nextOffset: number | null;
58
+ }
59
+ /** @experimental Null with unavailable revisions means unreadable evidence, not proven absence. */
60
+ export interface ResidentHistoryReadResult {
61
+ readonly entry: ResidentHistoryText | null;
62
+ readonly scannedRevisions: number;
63
+ readonly scannedBytes: number;
64
+ readonly unavailableRevisions: readonly number[];
65
+ }
66
+ /** @experimental A backend must enforce its bound scope and bounded reads. */
67
+ export interface ResidentHistorySource {
68
+ readonly scope: ResidentHistoryScope;
69
+ search(options?: ResidentHistorySearchOptions, signal?: AbortSignal): Promise<ResidentHistorySearchResult>;
70
+ read(options: ResidentHistoryReadOptions, signal?: AbortSignal): Promise<ResidentHistoryReadResult>;
71
+ }
72
+ type LoadRevision = (revision: number, budget: ResidentHistoryReadBudget) => Promise<ResidentAgendaState>;
73
+ /** Internal disk adapter. Other backends may implement ResidentHistorySource directly. */
74
+ export declare function createResidentHistorySource(scopeInput: ResidentHistoryScope, identity: {
75
+ identity: string;
76
+ objective: string;
77
+ }, load: LoadRevision): ResidentHistorySource;
78
+ export {};
79
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/history.ts"],"names":[],"mappings":"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"}