@namzu/sdk 38.1.0 → 39.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 (534) hide show
  1. package/CHANGELOG.md +758 -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/contracts/schemas.js +1 -1
  30. package/dist/contracts/schemas.js.map +1 -1
  31. package/dist/eval/harness-protection.d.ts +18 -0
  32. package/dist/eval/harness-protection.d.ts.map +1 -0
  33. package/dist/eval/harness-protection.js +58 -0
  34. package/dist/eval/harness-protection.js.map +1 -0
  35. package/dist/eval/harness-verification.d.ts +6 -1
  36. package/dist/eval/harness-verification.d.ts.map +1 -1
  37. package/dist/eval/harness-verification.js +19 -2
  38. package/dist/eval/harness-verification.js.map +1 -1
  39. package/dist/eval/index.d.ts +1 -0
  40. package/dist/eval/index.d.ts.map +1 -1
  41. package/dist/eval/index.js.map +1 -1
  42. package/dist/manager/resident/activity.d.ts +50 -0
  43. package/dist/manager/resident/activity.d.ts.map +1 -0
  44. package/dist/manager/resident/activity.js +125 -0
  45. package/dist/manager/resident/activity.js.map +1 -0
  46. package/dist/manager/resident/agenda.d.ts +137 -0
  47. package/dist/manager/resident/agenda.d.ts.map +1 -0
  48. package/dist/manager/resident/agenda.js +586 -0
  49. package/dist/manager/resident/agenda.js.map +1 -0
  50. package/dist/manager/resident/consumption.d.ts +104 -0
  51. package/dist/manager/resident/consumption.d.ts.map +1 -0
  52. package/dist/manager/resident/consumption.js +233 -0
  53. package/dist/manager/resident/consumption.js.map +1 -0
  54. package/dist/manager/resident/delivery-window.d.ts +22 -0
  55. package/dist/manager/resident/delivery-window.d.ts.map +1 -0
  56. package/dist/manager/resident/delivery-window.js +78 -0
  57. package/dist/manager/resident/delivery-window.js.map +1 -0
  58. package/dist/manager/resident/evidence-recall.d.ts +24 -0
  59. package/dist/manager/resident/evidence-recall.d.ts.map +1 -0
  60. package/dist/manager/resident/evidence-recall.js +295 -0
  61. package/dist/manager/resident/evidence-recall.js.map +1 -0
  62. package/dist/manager/resident/history-disk.d.ts +10 -0
  63. package/dist/manager/resident/history-disk.d.ts.map +1 -0
  64. package/dist/manager/resident/history-disk.js +50 -0
  65. package/dist/manager/resident/history-disk.js.map +1 -0
  66. package/dist/manager/resident/history.d.ts +79 -0
  67. package/dist/manager/resident/history.d.ts.map +1 -0
  68. package/dist/manager/resident/history.js +203 -0
  69. package/dist/manager/resident/history.js.map +1 -0
  70. package/dist/manager/resident/host.d.ts +78 -0
  71. package/dist/manager/resident/host.d.ts.map +1 -0
  72. package/dist/manager/resident/host.js +252 -0
  73. package/dist/manager/resident/host.js.map +1 -0
  74. package/dist/manager/resident/initiative.d.ts +111 -0
  75. package/dist/manager/resident/initiative.d.ts.map +1 -0
  76. package/dist/manager/resident/initiative.js +129 -0
  77. package/dist/manager/resident/initiative.js.map +1 -0
  78. package/dist/manager/resident/learning-cycle.d.ts +131 -0
  79. package/dist/manager/resident/learning-cycle.d.ts.map +1 -0
  80. package/dist/manager/resident/learning-cycle.js +306 -0
  81. package/dist/manager/resident/learning-cycle.js.map +1 -0
  82. package/dist/manager/resident/learning-observation.d.ts +80 -0
  83. package/dist/manager/resident/learning-observation.d.ts.map +1 -0
  84. package/dist/manager/resident/learning-observation.js +22 -0
  85. package/dist/manager/resident/learning-observation.js.map +1 -0
  86. package/dist/manager/resident/learning-store.d.ts +106 -0
  87. package/dist/manager/resident/learning-store.d.ts.map +1 -0
  88. package/dist/manager/resident/learning-store.js +598 -0
  89. package/dist/manager/resident/learning-store.js.map +1 -0
  90. package/dist/manager/resident/learning.d.ts +726 -0
  91. package/dist/manager/resident/learning.d.ts.map +1 -0
  92. package/dist/manager/resident/learning.js +353 -0
  93. package/dist/manager/resident/learning.js.map +1 -0
  94. package/dist/manager/resident/loop.d.ts +31 -0
  95. package/dist/manager/resident/loop.d.ts.map +1 -0
  96. package/dist/manager/resident/loop.js +69 -0
  97. package/dist/manager/resident/loop.js.map +1 -0
  98. package/dist/manager/resident/outbox.d.ts +180 -0
  99. package/dist/manager/resident/outbox.d.ts.map +1 -0
  100. package/dist/manager/resident/outbox.js +214 -0
  101. package/dist/manager/resident/outbox.js.map +1 -0
  102. package/dist/manager/resident/proposal.d.ts +91 -0
  103. package/dist/manager/resident/proposal.d.ts.map +1 -0
  104. package/dist/manager/resident/proposal.js +75 -0
  105. package/dist/manager/resident/proposal.js.map +1 -0
  106. package/dist/manager/resident/store.d.ts +182 -0
  107. package/dist/manager/resident/store.d.ts.map +1 -0
  108. package/dist/manager/resident/store.js +199 -0
  109. package/dist/manager/resident/store.js.map +1 -0
  110. package/dist/manager/resident/tool-evidence.d.ts +71 -0
  111. package/dist/manager/resident/tool-evidence.d.ts.map +1 -0
  112. package/dist/manager/resident/tool-evidence.js +285 -0
  113. package/dist/manager/resident/tool-evidence.js.map +1 -0
  114. package/dist/manager/run/persistence.d.ts.map +1 -1
  115. package/dist/manager/run/persistence.js +6 -0
  116. package/dist/manager/run/persistence.js.map +1 -1
  117. package/dist/plugin/loader.d.ts.map +1 -1
  118. package/dist/plugin/loader.js +5 -3
  119. package/dist/plugin/loader.js.map +1 -1
  120. package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
  121. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  122. package/dist/prompt/coding-agent-doctrine.js +2 -0
  123. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  124. package/dist/prompt/contributions.d.ts +5 -2
  125. package/dist/prompt/contributions.d.ts.map +1 -1
  126. package/dist/prompt/contributions.js.map +1 -1
  127. package/dist/prompt/index.d.ts +4 -0
  128. package/dist/prompt/index.d.ts.map +1 -1
  129. package/dist/prompt/index.js +2 -0
  130. package/dist/prompt/index.js.map +1 -1
  131. package/dist/prompt/resident-learning.d.ts +19 -0
  132. package/dist/prompt/resident-learning.d.ts.map +1 -0
  133. package/dist/prompt/resident-learning.js +125 -0
  134. package/dist/prompt/resident-learning.js.map +1 -0
  135. package/dist/prompt/resident-step.d.ts +36 -0
  136. package/dist/prompt/resident-step.d.ts.map +1 -0
  137. package/dist/prompt/resident-step.js +135 -0
  138. package/dist/prompt/resident-step.js.map +1 -0
  139. package/dist/provider/collect-chat-completion.d.ts +2 -1
  140. package/dist/provider/collect-chat-completion.d.ts.map +1 -1
  141. package/dist/provider/collect-chat-completion.js +7 -6
  142. package/dist/provider/collect-chat-completion.js.map +1 -1
  143. package/dist/provider/fallback.d.ts.map +1 -1
  144. package/dist/provider/fallback.js +2 -1
  145. package/dist/provider/fallback.js.map +1 -1
  146. package/dist/provider/stream-text.d.ts +16 -0
  147. package/dist/provider/stream-text.d.ts.map +1 -0
  148. package/dist/provider/stream-text.js +51 -0
  149. package/dist/provider/stream-text.js.map +1 -0
  150. package/dist/public-runtime.d.ts +22 -3
  151. package/dist/public-runtime.d.ts.map +1 -1
  152. package/dist/public-runtime.js +21 -3
  153. package/dist/public-runtime.js.map +1 -1
  154. package/dist/public-tools.d.ts +2 -0
  155. package/dist/public-tools.d.ts.map +1 -1
  156. package/dist/public-tools.js +2 -0
  157. package/dist/public-tools.js.map +1 -1
  158. package/dist/public-types.d.ts +29 -3
  159. package/dist/public-types.d.ts.map +1 -1
  160. package/dist/registry/index.d.ts +1 -1
  161. package/dist/registry/index.d.ts.map +1 -1
  162. package/dist/registry/tool/execute.d.ts +18 -0
  163. package/dist/registry/tool/execute.d.ts.map +1 -1
  164. package/dist/registry/tool/execute.js +43 -6
  165. package/dist/registry/tool/execute.js.map +1 -1
  166. package/dist/run/LimitChecker.js +3 -3
  167. package/dist/run/LimitChecker.js.map +1 -1
  168. package/dist/run/evidence-query.d.ts +41 -0
  169. package/dist/run/evidence-query.d.ts.map +1 -0
  170. package/dist/run/evidence-query.js +270 -0
  171. package/dist/run/evidence-query.js.map +1 -0
  172. package/dist/run/evidence-recall.d.ts +99 -0
  173. package/dist/run/evidence-recall.d.ts.map +1 -0
  174. package/dist/run/evidence-recall.js +633 -0
  175. package/dist/run/evidence-recall.js.map +1 -0
  176. package/dist/run/index.d.ts +2 -0
  177. package/dist/run/index.d.ts.map +1 -1
  178. package/dist/run/index.js +1 -0
  179. package/dist/run/index.js.map +1 -1
  180. package/dist/run/json-claim-verifier.d.ts +83 -0
  181. package/dist/run/json-claim-verifier.d.ts.map +1 -0
  182. package/dist/run/json-claim-verifier.js +200 -0
  183. package/dist/run/json-claim-verifier.js.map +1 -0
  184. package/dist/run/preparation-context-error.d.ts +10 -0
  185. package/dist/run/preparation-context-error.d.ts.map +1 -0
  186. package/dist/run/preparation-context-error.js +15 -0
  187. package/dist/run/preparation-context-error.js.map +1 -0
  188. package/dist/run-query/index.d.ts +3 -1
  189. package/dist/run-query/index.d.ts.map +1 -1
  190. package/dist/runtime/query/callback-inference.d.ts +8 -0
  191. package/dist/runtime/query/callback-inference.d.ts.map +1 -0
  192. package/dist/runtime/query/callback-inference.js +89 -0
  193. package/dist/runtime/query/callback-inference.js.map +1 -0
  194. package/dist/runtime/query/checkpoint.d.ts +4 -0
  195. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  196. package/dist/runtime/query/checkpoint.js +13 -0
  197. package/dist/runtime/query/checkpoint.js.map +1 -1
  198. package/dist/runtime/query/events.d.ts +7 -1
  199. package/dist/runtime/query/events.d.ts.map +1 -1
  200. package/dist/runtime/query/events.js +39 -12
  201. package/dist/runtime/query/events.js.map +1 -1
  202. package/dist/runtime/query/executor.d.ts +7 -1
  203. package/dist/runtime/query/executor.d.ts.map +1 -1
  204. package/dist/runtime/query/executor.js +38 -7
  205. package/dist/runtime/query/executor.js.map +1 -1
  206. package/dist/runtime/query/file-evidence-context.d.ts +5 -0
  207. package/dist/runtime/query/file-evidence-context.d.ts.map +1 -0
  208. package/dist/runtime/query/file-evidence-context.js +64 -0
  209. package/dist/runtime/query/file-evidence-context.js.map +1 -0
  210. package/dist/runtime/query/guard.d.ts.map +1 -1
  211. package/dist/runtime/query/guard.js +4 -0
  212. package/dist/runtime/query/guard.js.map +1 -1
  213. package/dist/runtime/query/index.d.ts +10 -1
  214. package/dist/runtime/query/index.d.ts.map +1 -1
  215. package/dist/runtime/query/index.js +40 -25
  216. package/dist/runtime/query/index.js.map +1 -1
  217. package/dist/runtime/query/iteration/index.d.ts +9 -31
  218. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  219. package/dist/runtime/query/iteration/index.js +231 -93
  220. package/dist/runtime/query/iteration/index.js.map +1 -1
  221. package/dist/runtime/query/iteration/phases/advisory.d.ts +2 -1
  222. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  223. package/dist/runtime/query/iteration/phases/advisory.js +2 -1
  224. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  225. package/dist/runtime/query/iteration/phases/context.d.ts +2 -1
  226. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  227. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  228. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  229. package/dist/runtime/query/iteration/phases/tool-review.js +3 -0
  230. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  231. package/dist/runtime/query/iteration/provider-rejected-image.d.ts +2 -1
  232. package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
  233. package/dist/runtime/query/iteration/provider-rejected-image.js +5 -2
  234. package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
  235. package/dist/runtime/query/iteration/stream-turn.d.ts +4 -1
  236. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  237. package/dist/runtime/query/iteration/stream-turn.js +22 -8
  238. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  239. package/dist/runtime/query/prompt-cache.d.ts.map +1 -1
  240. package/dist/runtime/query/prompt-cache.js +21 -42
  241. package/dist/runtime/query/prompt-cache.js.map +1 -1
  242. package/dist/runtime/query/resume-pending.d.ts +18 -33
  243. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  244. package/dist/runtime/query/resume-pending.js +59 -42
  245. package/dist/runtime/query/resume-pending.js.map +1 -1
  246. package/dist/runtime/query/review-policy.d.ts +4 -4
  247. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  248. package/dist/runtime/query/review-policy.js +10 -9
  249. package/dist/runtime/query/review-policy.js.map +1 -1
  250. package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -1
  251. package/dist/runtime/query/sandbox-lifecycle.js +4 -0
  252. package/dist/runtime/query/sandbox-lifecycle.js.map +1 -1
  253. package/dist/runtime/query/tool-output-budget.d.ts +10 -6
  254. package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
  255. package/dist/runtime/query/tool-output-budget.js +54 -12
  256. package/dist/runtime/query/tool-output-budget.js.map +1 -1
  257. package/dist/runtime/query/tooling.d.ts +3 -1
  258. package/dist/runtime/query/tooling.d.ts.map +1 -1
  259. package/dist/runtime/query/tooling.js +4 -0
  260. package/dist/runtime/query/tooling.js.map +1 -1
  261. package/dist/scheduler/completion-inbox.d.ts +3 -0
  262. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  263. package/dist/scheduler/completion-inbox.js +28 -0
  264. package/dist/scheduler/completion-inbox.js.map +1 -1
  265. package/dist/store/evidence/compaction-archive.d.ts +109 -0
  266. package/dist/store/evidence/compaction-archive.d.ts.map +1 -0
  267. package/dist/store/evidence/compaction-archive.js +125 -0
  268. package/dist/store/evidence/compaction-archive.js.map +1 -0
  269. package/dist/store/evidence/compaction-provenance.d.ts +7 -0
  270. package/dist/store/evidence/compaction-provenance.d.ts.map +1 -0
  271. package/dist/store/evidence/compaction-provenance.js +49 -0
  272. package/dist/store/evidence/compaction-provenance.js.map +1 -0
  273. package/dist/store/evidence/compaction-text.d.ts +16 -0
  274. package/dist/store/evidence/compaction-text.d.ts.map +1 -0
  275. package/dist/store/evidence/compaction-text.js +51 -0
  276. package/dist/store/evidence/compaction-text.js.map +1 -0
  277. package/dist/store/evidence/disk.d.ts +11 -0
  278. package/dist/store/evidence/disk.d.ts.map +1 -0
  279. package/dist/store/evidence/disk.js +367 -0
  280. package/dist/store/evidence/disk.js.map +1 -0
  281. package/dist/store/evidence/format.d.ts +25 -0
  282. package/dist/store/evidence/format.d.ts.map +1 -0
  283. package/dist/store/evidence/format.js +115 -0
  284. package/dist/store/evidence/format.js.map +1 -0
  285. package/dist/store/evidence/index-page.d.ts +208 -0
  286. package/dist/store/evidence/index-page.d.ts.map +1 -0
  287. package/dist/store/evidence/index-page.js +262 -0
  288. package/dist/store/evidence/index-page.js.map +1 -0
  289. package/dist/store/evidence/io.d.ts +24 -0
  290. package/dist/store/evidence/io.d.ts.map +1 -0
  291. package/dist/store/evidence/io.js +69 -0
  292. package/dist/store/evidence/io.js.map +1 -0
  293. package/dist/store/evidence/linked.d.ts +9 -0
  294. package/dist/store/evidence/linked.d.ts.map +1 -0
  295. package/dist/store/evidence/linked.js +314 -0
  296. package/dist/store/evidence/linked.js.map +1 -0
  297. package/dist/store/evidence/passages.d.ts +15 -0
  298. package/dist/store/evidence/passages.d.ts.map +1 -0
  299. package/dist/store/evidence/passages.js +72 -0
  300. package/dist/store/evidence/passages.js.map +1 -0
  301. package/dist/store/evidence/record-chain.d.ts +42 -0
  302. package/dist/store/evidence/record-chain.d.ts.map +1 -0
  303. package/dist/store/evidence/record-chain.js +111 -0
  304. package/dist/store/evidence/record-chain.js.map +1 -0
  305. package/dist/store/evidence/search-input.d.ts +21 -0
  306. package/dist/store/evidence/search-input.d.ts.map +1 -0
  307. package/dist/store/evidence/search-input.js +44 -0
  308. package/dist/store/evidence/search-input.js.map +1 -0
  309. package/dist/store/evidence/selection.d.ts +9 -0
  310. package/dist/store/evidence/selection.d.ts.map +1 -0
  311. package/dist/store/evidence/selection.js +17 -0
  312. package/dist/store/evidence/selection.js.map +1 -0
  313. package/dist/store/evidence/source-kind.d.ts +11 -0
  314. package/dist/store/evidence/source-kind.d.ts.map +1 -0
  315. package/dist/store/evidence/source-kind.js +26 -0
  316. package/dist/store/evidence/source-kind.js.map +1 -0
  317. package/dist/store/evidence/source-text.d.ts +51 -0
  318. package/dist/store/evidence/source-text.d.ts.map +1 -0
  319. package/dist/store/evidence/source-text.js +213 -0
  320. package/dist/store/evidence/source-text.js.map +1 -0
  321. package/dist/store/evidence/types.d.ts +162 -0
  322. package/dist/store/evidence/types.d.ts.map +1 -0
  323. package/dist/store/evidence/types.js +2 -0
  324. package/dist/store/evidence/types.js.map +1 -0
  325. package/dist/store/memory/disk.d.ts +2 -0
  326. package/dist/store/memory/disk.d.ts.map +1 -1
  327. package/dist/store/memory/disk.js +2 -1
  328. package/dist/store/memory/disk.js.map +1 -1
  329. package/dist/store/run/disk.d.ts +10 -0
  330. package/dist/store/run/disk.d.ts.map +1 -1
  331. package/dist/store/run/disk.js +87 -7
  332. package/dist/store/run/disk.js.map +1 -1
  333. package/dist/store/run/memory.d.ts +1 -0
  334. package/dist/store/run/memory.d.ts.map +1 -1
  335. package/dist/store/run/memory.js +10 -0
  336. package/dist/store/run/memory.js.map +1 -1
  337. package/dist/store/run/tool-executions.d.ts +13 -0
  338. package/dist/store/run/tool-executions.d.ts.map +1 -0
  339. package/dist/store/run/tool-executions.js +99 -0
  340. package/dist/store/run/tool-executions.js.map +1 -0
  341. package/dist/store/session/index.d.ts +2 -0
  342. package/dist/store/session/index.d.ts.map +1 -1
  343. package/dist/store/session/index.js +1 -0
  344. package/dist/store/session/index.js.map +1 -1
  345. package/dist/store/session/sqlite.d.ts +57 -0
  346. package/dist/store/session/sqlite.d.ts.map +1 -0
  347. package/dist/store/session/sqlite.js +430 -0
  348. package/dist/store/session/sqlite.js.map +1 -0
  349. package/dist/tools/builtins/job.d.ts.map +1 -1
  350. package/dist/tools/builtins/job.js +4 -5
  351. package/dist/tools/builtins/job.js.map +1 -1
  352. package/dist/tools/builtins/write-file.js +2 -2
  353. package/dist/tools/builtins/write-file.js.map +1 -1
  354. package/dist/tools/defineTool.d.ts +2 -1
  355. package/dist/tools/defineTool.d.ts.map +1 -1
  356. package/dist/tools/defineTool.js +1 -1
  357. package/dist/tools/defineTool.js.map +1 -1
  358. package/dist/tools/file-read-tracker.d.ts.map +1 -1
  359. package/dist/tools/file-read-tracker.js +12 -3
  360. package/dist/tools/file-read-tracker.js.map +1 -1
  361. package/dist/tools/resident-history.d.ts +10 -0
  362. package/dist/tools/resident-history.d.ts.map +1 -0
  363. package/dist/tools/resident-history.js +80 -0
  364. package/dist/tools/resident-history.js.map +1 -0
  365. package/dist/tools/resident-tool-evidence.d.ts +5 -0
  366. package/dist/tools/resident-tool-evidence.d.ts.map +1 -0
  367. package/dist/tools/resident-tool-evidence.js +57 -0
  368. package/dist/tools/resident-tool-evidence.js.map +1 -0
  369. package/dist/types/advisory/config.d.ts +7 -0
  370. package/dist/types/advisory/config.d.ts.map +1 -1
  371. package/dist/types/agent/reactive.d.ts +1 -0
  372. package/dist/types/agent/reactive.d.ts.map +1 -1
  373. package/dist/types/authorization/index.d.ts +9 -9
  374. package/dist/types/authorization/index.d.ts.map +1 -1
  375. package/dist/types/authorization/index.js +1 -1
  376. package/dist/types/authorization/index.js.map +1 -1
  377. package/dist/types/hitl/index.d.ts +4 -0
  378. package/dist/types/hitl/index.d.ts.map +1 -1
  379. package/dist/types/hitl/index.js.map +1 -1
  380. package/dist/types/message/index.d.ts +16 -2
  381. package/dist/types/message/index.d.ts.map +1 -1
  382. package/dist/types/message/index.js +8 -1
  383. package/dist/types/message/index.js.map +1 -1
  384. package/dist/types/provider/chat.d.ts +2 -0
  385. package/dist/types/provider/chat.d.ts.map +1 -1
  386. package/dist/types/provider/stream.d.ts +4 -0
  387. package/dist/types/provider/stream.d.ts.map +1 -1
  388. package/dist/types/run/answer-review.d.ts +34 -3
  389. package/dist/types/run/answer-review.d.ts.map +1 -1
  390. package/dist/types/run/config.d.ts +3 -0
  391. package/dist/types/run/config.d.ts.map +1 -1
  392. package/dist/types/run/entity.d.ts +7 -0
  393. package/dist/types/run/entity.d.ts.map +1 -1
  394. package/dist/types/run/events.d.ts +31 -8
  395. package/dist/types/run/events.d.ts.map +1 -1
  396. package/dist/types/run/events.js.map +1 -1
  397. package/dist/types/run/prepare-step.d.ts +53 -8
  398. package/dist/types/run/prepare-step.d.ts.map +1 -1
  399. package/dist/types/run/store.d.ts +29 -4
  400. package/dist/types/run/store.d.ts.map +1 -1
  401. package/dist/types/run/store.js +0 -28
  402. package/dist/types/run/store.js.map +1 -1
  403. package/dist/types/tool/index.d.ts +15 -1
  404. package/dist/types/tool/index.d.ts.map +1 -1
  405. package/dist/types/tool/index.js.map +1 -1
  406. package/dist/utils/await-with-abort.d.ts +8 -0
  407. package/dist/utils/await-with-abort.d.ts.map +1 -0
  408. package/dist/utils/await-with-abort.js +28 -0
  409. package/dist/utils/await-with-abort.js.map +1 -0
  410. package/dist/utils/evidence-time.d.ts +3 -0
  411. package/dist/utils/evidence-time.d.ts.map +1 -0
  412. package/dist/utils/evidence-time.js +10 -0
  413. package/dist/utils/evidence-time.js.map +1 -0
  414. package/dist/utils/evidence-tokens.d.ts +13 -0
  415. package/dist/utils/evidence-tokens.d.ts.map +1 -0
  416. package/dist/utils/evidence-tokens.js +29 -0
  417. package/dist/utils/evidence-tokens.js.map +1 -0
  418. package/package.json +1 -1
  419. package/src/advisory/executor.ts +15 -30
  420. package/src/advisory/history.ts +126 -0
  421. package/src/advisory/index.ts +5 -1
  422. package/src/agents/ReactiveAgent.ts +3 -0
  423. package/src/agents/runAgent.ts +14 -1
  424. package/src/compaction/manual.ts +30 -2
  425. package/src/compaction/summary.ts +4 -1
  426. package/src/config/runtime.ts +2 -2
  427. package/src/contracts/schemas.ts +1 -1
  428. package/src/eval/harness-protection.ts +79 -0
  429. package/src/eval/harness-verification.ts +31 -1
  430. package/src/eval/index.ts +1 -0
  431. package/src/manager/resident/activity.ts +187 -0
  432. package/src/manager/resident/agenda.ts +907 -0
  433. package/src/manager/resident/consumption.ts +311 -0
  434. package/src/manager/resident/delivery-window.ts +93 -0
  435. package/src/manager/resident/evidence-recall.ts +363 -0
  436. package/src/manager/resident/history-disk.ts +63 -0
  437. package/src/manager/resident/history.ts +312 -0
  438. package/src/manager/resident/host.ts +356 -0
  439. package/src/manager/resident/initiative.ts +205 -0
  440. package/src/manager/resident/learning-cycle.ts +499 -0
  441. package/src/manager/resident/learning-observation.ts +39 -0
  442. package/src/manager/resident/learning-store.ts +813 -0
  443. package/src/manager/resident/learning.ts +493 -0
  444. package/src/manager/resident/loop.ts +101 -0
  445. package/src/manager/resident/outbox.ts +307 -0
  446. package/src/manager/resident/proposal.ts +105 -0
  447. package/src/manager/resident/store.ts +257 -0
  448. package/src/manager/resident/tool-evidence.ts +412 -0
  449. package/src/manager/run/persistence.ts +6 -0
  450. package/src/plugin/loader.ts +8 -3
  451. package/src/prompt/coding-agent-doctrine.ts +2 -0
  452. package/src/prompt/contributions.ts +5 -2
  453. package/src/prompt/index.ts +4 -0
  454. package/src/prompt/resident-learning.ts +143 -0
  455. package/src/prompt/resident-step.ts +176 -0
  456. package/src/provider/collect-chat-completion.ts +7 -6
  457. package/src/provider/fallback.ts +2 -1
  458. package/src/provider/stream-text.ts +56 -0
  459. package/src/public-runtime.ts +44 -0
  460. package/src/public-tools.ts +3 -0
  461. package/src/public-types.ts +165 -0
  462. package/src/registry/index.ts +1 -1
  463. package/src/registry/tool/execute.ts +56 -9
  464. package/src/run/LimitChecker.ts +3 -3
  465. package/src/run/evidence-query.ts +333 -0
  466. package/src/run/evidence-recall.ts +854 -0
  467. package/src/run/index.ts +11 -0
  468. package/src/run/json-claim-verifier.ts +298 -0
  469. package/src/run/preparation-context-error.ts +16 -0
  470. package/src/run-query/index.ts +1 -1
  471. package/src/runtime/query/callback-inference.ts +94 -0
  472. package/src/runtime/query/checkpoint.ts +14 -0
  473. package/src/runtime/query/events.ts +46 -14
  474. package/src/runtime/query/executor.ts +51 -9
  475. package/src/runtime/query/file-evidence-context.ts +65 -0
  476. package/src/runtime/query/guard.ts +2 -0
  477. package/src/runtime/query/index.ts +50 -27
  478. package/src/runtime/query/iteration/index.ts +269 -86
  479. package/src/runtime/query/iteration/phases/advisory.ts +3 -0
  480. package/src/runtime/query/iteration/phases/context.ts +2 -0
  481. package/src/runtime/query/iteration/phases/tool-review.ts +3 -0
  482. package/src/runtime/query/iteration/provider-rejected-image.ts +6 -1
  483. package/src/runtime/query/iteration/stream-turn.ts +35 -8
  484. package/src/runtime/query/prompt-cache.ts +24 -47
  485. package/src/runtime/query/resume-pending.ts +65 -40
  486. package/src/runtime/query/review-policy.ts +13 -9
  487. package/src/runtime/query/sandbox-lifecycle.ts +3 -0
  488. package/src/runtime/query/tool-output-budget.ts +65 -13
  489. package/src/runtime/query/tooling.ts +7 -1
  490. package/src/scheduler/completion-inbox.ts +26 -0
  491. package/src/store/evidence/compaction-archive.ts +139 -0
  492. package/src/store/evidence/compaction-provenance.ts +52 -0
  493. package/src/store/evidence/compaction-text.ts +61 -0
  494. package/src/store/evidence/disk.ts +461 -0
  495. package/src/store/evidence/format.ts +126 -0
  496. package/src/store/evidence/index-page.ts +292 -0
  497. package/src/store/evidence/io.ts +95 -0
  498. package/src/store/evidence/linked.ts +365 -0
  499. package/src/store/evidence/passages.ts +88 -0
  500. package/src/store/evidence/record-chain.ts +108 -0
  501. package/src/store/evidence/search-input.ts +62 -0
  502. package/src/store/evidence/selection.ts +25 -0
  503. package/src/store/evidence/source-kind.ts +36 -0
  504. package/src/store/evidence/source-text.ts +285 -0
  505. package/src/store/evidence/types.ts +177 -0
  506. package/src/store/memory/disk.ts +4 -1
  507. package/src/store/run/disk.ts +110 -8
  508. package/src/store/run/memory.ts +10 -0
  509. package/src/store/run/tool-executions.ts +112 -0
  510. package/src/store/session/index.ts +2 -0
  511. package/src/store/session/sqlite.ts +584 -0
  512. package/src/tools/builtins/job.ts +4 -5
  513. package/src/tools/builtins/write-file.ts +2 -2
  514. package/src/tools/defineTool.ts +4 -2
  515. package/src/tools/file-read-tracker.ts +8 -2
  516. package/src/tools/resident-history.ts +86 -0
  517. package/src/tools/resident-tool-evidence.ts +68 -0
  518. package/src/types/advisory/config.ts +7 -0
  519. package/src/types/agent/reactive.ts +1 -0
  520. package/src/types/authorization/index.ts +2 -2
  521. package/src/types/hitl/index.ts +4 -0
  522. package/src/types/message/index.ts +20 -0
  523. package/src/types/provider/chat.ts +2 -0
  524. package/src/types/provider/stream.ts +4 -0
  525. package/src/types/run/answer-review.ts +34 -3
  526. package/src/types/run/config.ts +3 -0
  527. package/src/types/run/entity.ts +7 -0
  528. package/src/types/run/events.ts +31 -8
  529. package/src/types/run/prepare-step.ts +59 -8
  530. package/src/types/run/store.ts +35 -4
  531. package/src/types/tool/index.ts +19 -1
  532. package/src/utils/await-with-abort.ts +26 -0
  533. package/src/utils/evidence-time.ts +9 -0
  534. package/src/utils/evidence-tokens.ts +32 -0
@@ -0,0 +1,430 @@
1
+ import { mkdirSync } from 'node:fs';
2
+ import { createRequire } from 'node:module';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { ProjectRootPathTakenError, StaleProjectError, StaleSessionError, TenantIsolationError, } from '../../session/errors.js';
5
+ import { SessionAlreadySummarizedError } from '../../session/summary/errors.js';
6
+ import { asProjectId, asSessionId, asSubSessionId, asTenantId, asTopicId, generateMessageId, generateProjectId, generateSessionId, generateSubSessionId, } from '../../utils/id.js';
7
+ import { canonicalizePath } from './canonical-path.js';
8
+ import { getAncestry, getChildren, orderChildren } from './linkage.js';
9
+ const SCHEMA_VERSION = 1;
10
+ const SCHEMA = `
11
+ CREATE TABLE projects (id TEXT PRIMARY KEY, tenant_id TEXT NOT NULL, root_path TEXT, created_at INTEGER NOT NULL, body TEXT NOT NULL, UNIQUE(tenant_id, root_path));
12
+ CREATE TABLE sessions (id TEXT PRIMARY KEY, tenant_id TEXT NOT NULL, project_id TEXT NOT NULL REFERENCES projects(id), topic_id TEXT NOT NULL, created_at INTEGER NOT NULL, body TEXT NOT NULL);
13
+ CREATE INDEX sessions_project ON sessions(tenant_id, project_id, created_at, id);
14
+ CREATE INDEX sessions_topic ON sessions(tenant_id, topic_id, created_at, id);
15
+ CREATE TABLE subsessions (id TEXT PRIMARY KEY, tenant_id TEXT NOT NULL, parent_id TEXT NOT NULL REFERENCES sessions(id), child_id TEXT NOT NULL REFERENCES sessions(id), body TEXT NOT NULL);
16
+ CREATE INDEX subsessions_parent ON subsessions(tenant_id, parent_id);
17
+ CREATE INDEX subsessions_child ON subsessions(tenant_id, child_id);
18
+ CREATE TABLE summaries (id TEXT PRIMARY KEY REFERENCES sessions(id), tenant_id TEXT NOT NULL, body TEXT NOT NULL);
19
+ CREATE TABLE messages (seq INTEGER PRIMARY KEY AUTOINCREMENT, session_id TEXT NOT NULL REFERENCES sessions(id), kind TEXT NOT NULL CHECK(kind IN ('message','replacement')), body TEXT NOT NULL);
20
+ CREATE INDEX messages_session ON messages(session_id, seq);
21
+ CREATE INDEX messages_replacement ON messages(session_id, kind, seq);
22
+ `;
23
+ /**
24
+ * Indexed session metadata and append-only conversation records in one database.
25
+ * Operations own short-lived connections; no connection survives an await or
26
+ * needs a finalizer. Writes and CAS checks share one SQLite transaction, including
27
+ * across processes. Run transcripts and artifacts remain owned by RunStore.
28
+ */
29
+ export class SqliteSessionStore {
30
+ databasePath;
31
+ readOnly;
32
+ constructor(config) {
33
+ this.databasePath = resolve(config.databasePath);
34
+ this.readOnly = config.readOnly === true;
35
+ }
36
+ use(write, operation) {
37
+ if (write && this.readOnly)
38
+ throw new Error('Session database is read-only');
39
+ // Loading the optional driver must not make importing the SDK require SQLite.
40
+ let Database;
41
+ try {
42
+ Database = createRequire(import.meta.url)('node:sqlite')
43
+ .DatabaseSync;
44
+ }
45
+ catch (error) {
46
+ throw new Error('SqliteSessionStore requires Node.js 22.13 or newer.', { cause: error });
47
+ }
48
+ if (!this.readOnly)
49
+ mkdirSync(dirname(this.databasePath), { recursive: true, mode: 0o700 });
50
+ const db = new Database(this.databasePath, { readOnly: this.readOnly });
51
+ try {
52
+ db.exec('PRAGMA busy_timeout = 5000; PRAGMA foreign_keys = ON;');
53
+ const version = Number(db.prepare('PRAGMA user_version').get()?.user_version);
54
+ if (version !== 0 && version !== SCHEMA_VERSION)
55
+ throw new Error(`Unsupported session database version ${version}`);
56
+ if (version === 0) {
57
+ if (this.readOnly)
58
+ throw new Error('Session database has not been initialized');
59
+ db.exec('BEGIN IMMEDIATE');
60
+ try {
61
+ // Another first opener may have initialized it while we waited.
62
+ const current = Number(db.prepare('PRAGMA user_version').get()?.user_version);
63
+ if (current === 0)
64
+ db.exec(`${SCHEMA} PRAGMA user_version = ${SCHEMA_VERSION};`);
65
+ else if (current !== SCHEMA_VERSION)
66
+ throw new Error(`Unsupported session database version ${current}`);
67
+ db.exec('COMMIT');
68
+ }
69
+ catch (error) {
70
+ db.exec('ROLLBACK');
71
+ throw error;
72
+ }
73
+ }
74
+ if (!this.readOnly)
75
+ db.exec('PRAGMA journal_mode = DELETE; PRAGMA synchronous = FULL;');
76
+ db.exec(write ? 'BEGIN IMMEDIATE' : 'BEGIN');
77
+ try {
78
+ const result = operation(db);
79
+ db.exec('COMMIT');
80
+ return result;
81
+ }
82
+ catch (error) {
83
+ db.exec('ROLLBACK');
84
+ throw error;
85
+ }
86
+ }
87
+ finally {
88
+ db.close();
89
+ }
90
+ }
91
+ get(db, table, id, tenantId) {
92
+ asTenantId(tenantId);
93
+ const row = db.prepare(`SELECT body, tenant_id FROM ${table} WHERE id = ?`).get(id);
94
+ if (!row)
95
+ return null;
96
+ if (row.tenant_id !== tenantId)
97
+ throw new TenantIsolationError({ requested: tenantId, resource: `${table}(${id})` });
98
+ return decode(row.body);
99
+ }
100
+ requiredSession(db, id, tenant) {
101
+ const session = this.get(db, 'sessions', asSessionId(id), tenant);
102
+ if (!session)
103
+ throw new Error(`Session ${id} not found`);
104
+ return session;
105
+ }
106
+ async createProject(params, tenantId) {
107
+ if (params.tenantId !== tenantId)
108
+ throw new TenantIsolationError({ requested: tenantId, resource: 'project payload' });
109
+ asTenantId(tenantId);
110
+ const rootPath = params.rootPath === undefined ? undefined : await canonicalizePath(params.rootPath);
111
+ return this.use(true, (db) => {
112
+ if (rootPath !== undefined) {
113
+ const existing = db
114
+ .prepare('SELECT id FROM projects WHERE tenant_id = ? AND root_path = ?')
115
+ .get(tenantId, rootPath);
116
+ if (existing)
117
+ throw new ProjectRootPathTakenError({
118
+ rootPath,
119
+ existingProjectId: asProjectId(String(existing.id)),
120
+ });
121
+ }
122
+ const now = new Date();
123
+ const project = {
124
+ id: generateProjectId(),
125
+ tenantId,
126
+ name: params.name,
127
+ config: {
128
+ maxDelegationDepth: params.config?.maxDelegationDepth ?? 4,
129
+ maxDelegationWidth: params.config?.maxDelegationWidth ?? 8,
130
+ maxInterventionDepth: 10,
131
+ },
132
+ status: 'open',
133
+ ownerVersion: 0,
134
+ ...(rootPath === undefined ? {} : { rootPath }),
135
+ createdAt: now,
136
+ updatedAt: now,
137
+ };
138
+ db.prepare('INSERT INTO projects VALUES (?, ?, ?, ?, ?)').run(project.id, tenantId, rootPath ?? null, now.getTime(), encode(project));
139
+ return project;
140
+ });
141
+ }
142
+ async findProjectByRootPath(rootPath, tenantId) {
143
+ const canonical = await canonicalizePath(rootPath);
144
+ return this.use(false, (db) => {
145
+ const row = db
146
+ .prepare('SELECT body FROM projects WHERE tenant_id = ? AND root_path = ?')
147
+ .get(asTenantId(tenantId), canonical);
148
+ return row ? decode(String(row.body)) : null;
149
+ });
150
+ }
151
+ async getProject(id, tenant) {
152
+ return this.use(false, (db) => this.get(db, 'projects', asProjectId(id), tenant));
153
+ }
154
+ async updateProject(id, config, tenant) {
155
+ return this.use(true, (db) => {
156
+ const old = this.get(db, 'projects', asProjectId(id), tenant);
157
+ if (!old)
158
+ return null;
159
+ const project = {
160
+ ...old,
161
+ config: {
162
+ ...old.config,
163
+ ...(config.maxDelegationDepth === undefined
164
+ ? {}
165
+ : { maxDelegationDepth: config.maxDelegationDepth }),
166
+ ...(config.maxDelegationWidth === undefined
167
+ ? {}
168
+ : { maxDelegationWidth: config.maxDelegationWidth }),
169
+ },
170
+ updatedAt: new Date(),
171
+ };
172
+ db.prepare('UPDATE projects SET body = ? WHERE id = ?').run(encode(project), id);
173
+ return project;
174
+ });
175
+ }
176
+ async setProjectStatus(id, status, tenant, expectedOwnerVersion) {
177
+ return this.use(true, (db) => {
178
+ const old = this.get(db, 'projects', asProjectId(id), tenant);
179
+ if (!old)
180
+ return null;
181
+ if (old.ownerVersion !== expectedOwnerVersion)
182
+ throw new StaleProjectError({
183
+ projectId: id,
184
+ expectedOwnerVersion,
185
+ actualOwnerVersion: old.ownerVersion,
186
+ });
187
+ const project = { ...old, status, ownerVersion: old.ownerVersion + 1, updatedAt: new Date() };
188
+ db.prepare('UPDATE projects SET body = ? WHERE id = ?').run(encode(project), id);
189
+ return project;
190
+ });
191
+ }
192
+ async listProjects(tenant) {
193
+ return this.use(false, (db) => db
194
+ .prepare('SELECT body FROM projects WHERE tenant_id = ? ORDER BY created_at, id')
195
+ .all(asTenantId(tenant))
196
+ .map((r) => decode(String(r.body))));
197
+ }
198
+ async createSession(params, tenant) {
199
+ return this.use(true, (db) => {
200
+ if (!this.get(db, 'projects', asProjectId(params.projectId), tenant))
201
+ throw new Error(`Project ${params.projectId} not found`);
202
+ const id = params.id === undefined ? generateSessionId() : asSessionId(params.id);
203
+ if (this.get(db, 'sessions', id, tenant))
204
+ throw new Error(`Session ${id} already exists`);
205
+ const now = new Date();
206
+ const session = {
207
+ id,
208
+ topicId: asTopicId(params.topicId),
209
+ projectId: params.projectId,
210
+ tenantId: tenant,
211
+ status: 'idle',
212
+ currentActor: params.currentActor,
213
+ previousActors: [],
214
+ workspaceId: null,
215
+ ownerVersion: 0,
216
+ createdAt: now,
217
+ updatedAt: now,
218
+ };
219
+ db.prepare('INSERT INTO sessions VALUES (?, ?, ?, ?, ?, ?)').run(id, tenant, session.projectId, session.topicId, now.getTime(), encode(session));
220
+ return session;
221
+ });
222
+ }
223
+ async getSession(id, tenant) {
224
+ return this.use(false, (db) => this.get(db, 'sessions', asSessionId(id), tenant));
225
+ }
226
+ async listSessionsByProject(id, tenant) {
227
+ return this.use(false, (db) => db
228
+ .prepare('SELECT body FROM sessions WHERE tenant_id = ? AND project_id = ? ORDER BY created_at, id')
229
+ .all(asTenantId(tenant), asProjectId(id))
230
+ .map((r) => decode(String(r.body))));
231
+ }
232
+ async listSessionsByTopic(id, tenant) {
233
+ return this.use(false, (db) => db
234
+ .prepare('SELECT body FROM sessions WHERE tenant_id = ? AND topic_id = ? ORDER BY created_at, id')
235
+ .all(asTenantId(tenant), asTopicId(id))
236
+ .map((r) => decode(String(r.body))));
237
+ }
238
+ async updateSession(session, tenant, expectedOwnerVersion) {
239
+ this.use(true, (db) => {
240
+ const old = this.requiredSession(db, session.id, tenant);
241
+ if (session.tenantId !== tenant)
242
+ throw new TenantIsolationError({ requested: tenant, resource: 'session payload' });
243
+ if (session.projectId !== old.projectId || session.topicId !== old.topicId)
244
+ throw new Error('Session project and topic bindings cannot change');
245
+ if (expectedOwnerVersion !== undefined && old.ownerVersion !== expectedOwnerVersion)
246
+ throw new StaleSessionError({
247
+ sessionId: session.id,
248
+ expectedVersion: expectedOwnerVersion,
249
+ actualVersion: old.ownerVersion,
250
+ });
251
+ db.prepare('UPDATE sessions SET body = ? WHERE id = ?').run(encode({ ...session, updatedAt: new Date() }), session.id);
252
+ });
253
+ }
254
+ async deleteSession(id, tenant) {
255
+ this.use(true, (db) => {
256
+ if (!this.get(db, 'sessions', asSessionId(id), tenant))
257
+ return;
258
+ if (db
259
+ .prepare('SELECT 1 FROM subsessions WHERE parent_id = ? OR child_id = ? LIMIT 1')
260
+ .get(id, id))
261
+ throw new Error(`Session ${id} has attached sub-sessions; delete them before deleting the session`);
262
+ db.prepare('DELETE FROM messages WHERE session_id = ?').run(id);
263
+ db.prepare('DELETE FROM summaries WHERE id = ?').run(id);
264
+ db.prepare('DELETE FROM sessions WHERE id = ?').run(id);
265
+ });
266
+ }
267
+ async createSubSession(params, tenant) {
268
+ return this.use(true, (db) => {
269
+ this.requiredSession(db, params.parentSessionId, tenant);
270
+ this.requiredSession(db, params.childSessionId, tenant);
271
+ const now = new Date();
272
+ const sub = {
273
+ id: generateSubSessionId(),
274
+ parentSessionId: params.parentSessionId,
275
+ childSessionId: params.childSessionId,
276
+ kind: params.kind,
277
+ status: 'pending',
278
+ spawnedBy: params.spawnedBy,
279
+ spawnedAt: now,
280
+ failureMode: params.failureMode ?? 'delegate',
281
+ completionMode: params.completionMode ?? 'summary_ref',
282
+ workspaceId: null,
283
+ updatedAt: now,
284
+ };
285
+ db.prepare('INSERT INTO subsessions VALUES (?, ?, ?, ?, ?)').run(sub.id, tenant, sub.parentSessionId, sub.childSessionId, encode(sub));
286
+ return sub;
287
+ });
288
+ }
289
+ async getSubSession(id, tenant) {
290
+ return this.use(false, (db) => this.get(db, 'subsessions', asSubSessionId(id), tenant));
291
+ }
292
+ async updateSubSession(sub, tenant) {
293
+ this.use(true, (db) => {
294
+ const old = this.get(db, 'subsessions', asSubSessionId(sub.id), tenant);
295
+ if (!old)
296
+ throw new Error(`SubSession ${sub.id} not found`);
297
+ if (old.parentSessionId !== sub.parentSessionId || old.childSessionId !== sub.childSessionId)
298
+ throw new Error('Sub-session parent and child bindings cannot change');
299
+ db.prepare('UPDATE subsessions SET body = ? WHERE id = ?').run(encode({ ...sub, updatedAt: new Date() }), sub.id);
300
+ });
301
+ }
302
+ async deleteSubSession(id, tenant) {
303
+ this.use(true, (db) => {
304
+ if (this.get(db, 'subsessions', asSubSessionId(id), tenant))
305
+ db.prepare('DELETE FROM subsessions WHERE id = ?').run(id);
306
+ });
307
+ }
308
+ async appendMessage(id, message, tenant) {
309
+ return this.use(true, (db) => {
310
+ this.requiredSession(db, id, tenant);
311
+ const entry = {
312
+ id: generateMessageId(),
313
+ sessionId: id,
314
+ tenantId: tenant,
315
+ message,
316
+ at: new Date(),
317
+ };
318
+ db.prepare("INSERT INTO messages (session_id, kind, body) VALUES (?, 'message', ?)").run(id, encode(entry));
319
+ return entry.id;
320
+ });
321
+ }
322
+ async replaceMessages(id, messages, tenant) {
323
+ this.use(true, (db) => {
324
+ this.requiredSession(db, id, tenant);
325
+ const entries = messages.map((message) => ({
326
+ id: generateMessageId(),
327
+ sessionId: id,
328
+ tenantId: tenant,
329
+ message,
330
+ at: new Date(),
331
+ }));
332
+ db.prepare("INSERT INTO messages (session_id, kind, body) VALUES (?, 'replacement', ?)").run(id, encode(entries));
333
+ });
334
+ }
335
+ async loadMessages(id, tenant) {
336
+ return (await this.loadSessionMessages(id, tenant)).map((entry) => entry.message);
337
+ }
338
+ async loadSessionMessages(id, tenant) {
339
+ return this.use(false, (db) => {
340
+ if (!this.get(db, 'sessions', asSessionId(id), tenant))
341
+ return [];
342
+ const replacement = db
343
+ .prepare("SELECT seq, body FROM messages WHERE session_id = ? AND kind = 'replacement' ORDER BY seq DESC LIMIT 1")
344
+ .get(id);
345
+ const entries = replacement
346
+ ? JSON.parse(String(replacement.body)).map(decodeMessage)
347
+ : [];
348
+ const later = db
349
+ .prepare("SELECT body FROM messages WHERE session_id = ? AND seq > ? AND kind = 'message' ORDER BY seq")
350
+ .all(id, Number(replacement?.seq ?? 0));
351
+ return entries.concat(later.map((row) => decodeMessage(JSON.parse(String(row.body)))));
352
+ });
353
+ }
354
+ linkage(db, tenant) {
355
+ return {
356
+ findChildSubSessions: (id) => db
357
+ .prepare('SELECT body FROM subsessions WHERE tenant_id = ? AND parent_id = ?')
358
+ .all(tenant, id)
359
+ .map((r) => decode(String(r.body))),
360
+ findParentSubSession: (id) => {
361
+ const row = db
362
+ .prepare('SELECT body FROM subsessions WHERE tenant_id = ? AND child_id = ? ORDER BY id LIMIT 1')
363
+ .get(tenant, id);
364
+ return row ? decode(String(row.body)) : null;
365
+ },
366
+ };
367
+ }
368
+ async getChildren(id, tenant) {
369
+ return this.use(false, (db) => this.get(db, 'sessions', asSessionId(id), tenant)
370
+ ? orderChildren(getChildren(this.linkage(db, tenant), id))
371
+ : []);
372
+ }
373
+ async getAncestry(id, tenant) {
374
+ return this.use(false, (db) => this.get(db, 'sessions', asSessionId(id), tenant)
375
+ ? getAncestry(this.linkage(db, tenant), id)
376
+ : []);
377
+ }
378
+ async drill(id, tenant) {
379
+ return this.use(false, (db) => {
380
+ const session = this.get(db, 'sessions', asSessionId(id), tenant);
381
+ if (!session)
382
+ return null;
383
+ const view = this.linkage(db, tenant);
384
+ return {
385
+ session,
386
+ children: orderChildren(getChildren(view, id)),
387
+ ancestry: getAncestry(view, id),
388
+ };
389
+ });
390
+ }
391
+ async recordSummary(summary, tenant) {
392
+ this.use(true, (db) => {
393
+ if (summary.tenantId !== tenant)
394
+ throw new TenantIsolationError({ requested: tenant, resource: 'summary payload' });
395
+ const session = this.requiredSession(db, summary.sessionRef, tenant);
396
+ const existing = this.get(db, 'summaries', summary.sessionRef, tenant);
397
+ if (existing && existing.id !== summary.id)
398
+ throw new SessionAlreadySummarizedError({
399
+ sessionId: session.id,
400
+ existingSummaryId: existing.id,
401
+ });
402
+ if (!existing)
403
+ db.prepare('INSERT INTO summaries VALUES (?, ?, ?)').run(session.id, tenant, encode(summary));
404
+ if (['active', 'locked', 'awaiting_merge'].includes(session.status))
405
+ db.prepare('UPDATE sessions SET body = ? WHERE id = ?').run(encode({ ...session, status: 'idle', updatedAt: new Date() }), session.id);
406
+ });
407
+ }
408
+ async getSummary(id, tenant) {
409
+ return this.use(false, (db) => this.get(db, 'summaries', asSessionId(id), tenant));
410
+ }
411
+ }
412
+ function encode(value) {
413
+ return JSON.stringify(value);
414
+ }
415
+ function decode(body) {
416
+ const value = JSON.parse(body);
417
+ for (const key of ['createdAt', 'updatedAt', 'spawnedAt', 'archivedAt', 'at']) {
418
+ if (typeof value[key] === 'string')
419
+ value[key] = new Date(value[key]);
420
+ }
421
+ if (Array.isArray(value.keyDecisions)) {
422
+ value.keyDecisions = value.keyDecisions.map((entry) => ({ ...entry, at: new Date(entry.at) }));
423
+ }
424
+ return value;
425
+ }
426
+ function decodeMessage(value) {
427
+ const entry = value;
428
+ return { ...entry, at: new Date(entry.at) };
429
+ }
430
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/store/session/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/job.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,OAAO;;;;EAkGlB,CAAA"}
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/job.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,OAAO;;;;EAiGlB,CAAA"}
@@ -34,11 +34,10 @@ export const JobTool = defineTool({
34
34
  inputSchema,
35
35
  category: 'shell',
36
36
  permissions: ['shell_execute'],
37
- // `read` and `list` observe; `kill` stops work. The tool as a whole is not
38
- // read-only, and claiming otherwise would let a read-only permission
39
- // preset hand the model a way to terminate a running process.
40
- readOnly: false,
41
- destructive: (input) => input.action === 'kill',
37
+ // The static permission describes the full capability. The prepared action
38
+ // determines whether this call only observes its owner-bound registry.
39
+ readOnly: (input) => input?.action === 'read' || input?.action === 'list',
40
+ destructive: (input) => input?.action === 'kill',
42
41
  concurrencySafe: true,
43
42
  presentCall(input) {
44
43
  const label = input.action === 'list'
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/tools/builtins/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/tools/builtins/job.ts"],"names":[],"mappings":"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"}
@@ -128,7 +128,7 @@ export const WriteFileTool = defineTool({
128
128
  // This write is now the runtime's newest observation. Recording only
129
129
  // the boolean would leave an older content fingerprint in place and
130
130
  // make the next same-run write refuse its own predecessor as drift.
131
- context.fileReadTracker?.recordRead(valid.path, content);
131
+ context.fileReadTracker?.recordRead(valid.path, content, context.toolUseId);
132
132
  return fileWriteResult(valid.path, current === null ? null : current?.toString('utf-8'), content, true);
133
133
  }
134
134
  const hostPath = filePath;
@@ -143,7 +143,7 @@ export const WriteFileTool = defineTool({
143
143
  // leaves the destination truncated — and this tool overwrites a
144
144
  // whole file, so the truncation is the user's previous work.
145
145
  await atomicWriteFile(hostPath, content);
146
- context.fileReadTracker?.recordRead(hostPath, content);
146
+ context.fileReadTracker?.recordRead(hostPath, content, context.toolUseId);
147
147
  return fileWriteResult(hostPath, current, content);
148
148
  });
149
149
  },
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/builtins/write-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/builtins/write-file.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ export interface DefineToolOptions<S extends z.ZodType> {
10
10
  validationErrorHint?: string;
11
11
  category: ToolDefinition['category'];
12
12
  permissions: ToolPermission[];
13
- readOnly: boolean;
13
+ /** Whether this exact call only observes state; conservative for unknown inputs. */
14
+ readOnly: boolean | ((input: z.infer<S>) => boolean);
14
15
  destructive: boolean | ((input: z.infer<S>) => boolean);
15
16
  concurrencySafe: boolean;
16
17
  /** Batch ordering boundary; see {@link ToolDefinition.executionBarrier}. */
@@ -1 +1 @@
1
- {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA2C5B"}
1
+ {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACpD,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA4C5B"}
@@ -20,7 +20,7 @@ export function defineTool(options) {
20
20
  : {}),
21
21
  category: options.category,
22
22
  permissions: options.permissions,
23
- isReadOnly: () => options.readOnly,
23
+ isReadOnly: typeof options.readOnly === 'function' ? options.readOnly : () => options.readOnly,
24
24
  isDestructive: typeof options.destructive === 'function'
25
25
  ? options.destructive
26
26
  : () => options.destructive,
@@ -1 +1 @@
1
- {"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAyDlD,MAAM,UAAU,UAAU,CACzB,OAA6B;IAI7B,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ;QAClC,aAAa,EACZ,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;YACxC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAsB;QACxC,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe;QAEhD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAoB;YAChD,IAAI,CAAC;gBACJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACnC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,EAAE;iBAC3C,CAAA;YACF,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AA0DlD,MAAM,UAAU,UAAU,CACzB,OAA6B;IAI7B,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EACT,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAmB;QAC9F,aAAa,EACZ,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;YACxC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAsB;QACxC,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe;QAEhD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAoB;YAChD,IAAI,CAAC;gBACJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACnC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,EAAE;iBAC3C,CAAA;YACF,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-read-tracker.d.ts","sourceRoot":"","sources":["../../src/tools/file-read-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAG7D,sGAAsG;AACtG,wBAAgB,qBAAqB,IAAI,eAAe,CAWvD"}
1
+ {"version":3,"file":"file-read-tracker.d.ts","sourceRoot":"","sources":["../../src/tools/file-read-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAG7D,sGAAsG;AACtG,wBAAgB,qBAAqB,IAAI,eAAe,CAiBvD"}
@@ -3,14 +3,23 @@ import { fingerprintContent } from './builtins/content-fingerprint.js';
3
3
  export function createFileReadTracker() {
4
4
  const paths = new Set();
5
5
  const fingerprints = new Map();
6
+ const writes = new Map();
6
7
  return {
7
- recordRead(key, content) {
8
+ recordRead(key, content, fullWriteCallId) {
8
9
  paths.add(key);
9
- if (content !== undefined)
10
- fingerprints.set(key, fingerprintContent(content));
10
+ const next = content === undefined ? undefined : fingerprintContent(content);
11
+ if (next === undefined || next !== fingerprints.get(key))
12
+ writes.delete(key);
13
+ if (next !== undefined)
14
+ fingerprints.set(key, next);
15
+ else
16
+ fingerprints.delete(key);
17
+ if (next !== undefined && fullWriteCallId)
18
+ writes.set(key, fullWriteCallId);
11
19
  },
12
20
  hasRead: (key) => paths.has(key),
13
21
  fingerprint: (key) => fingerprints.get(key),
22
+ writeCallId: (key) => writes.get(key),
14
23
  };
15
24
  }
16
25
  //# sourceMappingURL=file-read-tracker.js.map