@remnic/core 1.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 (551) hide show
  1. package/dist/abstraction-nodes.d.ts +52 -0
  2. package/dist/abstraction-nodes.js +15 -0
  3. package/dist/abstraction-nodes.js.map +1 -0
  4. package/dist/access-cli.d.ts +5 -0
  5. package/dist/access-cli.js +308 -0
  6. package/dist/access-cli.js.map +1 -0
  7. package/dist/access-http.d.ts +158 -0
  8. package/dist/access-http.js +32 -0
  9. package/dist/access-http.js.map +1 -0
  10. package/dist/access-idempotency.d.ts +31 -0
  11. package/dist/access-idempotency.js +11 -0
  12. package/dist/access-idempotency.js.map +1 -0
  13. package/dist/access-mcp.d.ts +76 -0
  14. package/dist/access-mcp.js +8 -0
  15. package/dist/access-mcp.js.map +1 -0
  16. package/dist/access-schema.d.ts +266 -0
  17. package/dist/access-schema.js +29 -0
  18. package/dist/access-schema.js.map +1 -0
  19. package/dist/access-service.d.ts +614 -0
  20. package/dist/access-service.js +32 -0
  21. package/dist/access-service.js.map +1 -0
  22. package/dist/behavior-learner.d.ts +16 -0
  23. package/dist/behavior-learner.js +124 -0
  24. package/dist/behavior-learner.js.map +1 -0
  25. package/dist/behavior-signals.d.ts +15 -0
  26. package/dist/behavior-signals.js +11 -0
  27. package/dist/behavior-signals.js.map +1 -0
  28. package/dist/bootstrap.d.ts +46 -0
  29. package/dist/bootstrap.js +9 -0
  30. package/dist/bootstrap.js.map +1 -0
  31. package/dist/boxes.d.ts +93 -0
  32. package/dist/boxes.js +14 -0
  33. package/dist/boxes.js.map +1 -0
  34. package/dist/buffer.d.ts +22 -0
  35. package/dist/buffer.js +9 -0
  36. package/dist/buffer.js.map +1 -0
  37. package/dist/calibration.d.ts +81 -0
  38. package/dist/calibration.js +239 -0
  39. package/dist/calibration.js.map +1 -0
  40. package/dist/causal-behavior.d.ts +79 -0
  41. package/dist/causal-behavior.js +190 -0
  42. package/dist/causal-behavior.js.map +1 -0
  43. package/dist/causal-chain.d.ts +61 -0
  44. package/dist/causal-chain.js +24 -0
  45. package/dist/causal-chain.js.map +1 -0
  46. package/dist/causal-consolidation.d.ts +71 -0
  47. package/dist/causal-consolidation.js +211 -0
  48. package/dist/causal-consolidation.js.map +1 -0
  49. package/dist/causal-retrieval.d.ts +44 -0
  50. package/dist/causal-retrieval.js +184 -0
  51. package/dist/causal-retrieval.js.map +1 -0
  52. package/dist/causal-trajectory-graph.d.ts +13 -0
  53. package/dist/causal-trajectory-graph.js +59 -0
  54. package/dist/causal-trajectory-graph.js.map +1 -0
  55. package/dist/causal-trajectory.d.ts +68 -0
  56. package/dist/causal-trajectory.js +18 -0
  57. package/dist/causal-trajectory.js.map +1 -0
  58. package/dist/chunk-2CJCWDMR.js +87 -0
  59. package/dist/chunk-2CJCWDMR.js.map +1 -0
  60. package/dist/chunk-2NMMFZ5T.js +216 -0
  61. package/dist/chunk-2NMMFZ5T.js.map +1 -0
  62. package/dist/chunk-2PO5ZRKV.js +103 -0
  63. package/dist/chunk-2PO5ZRKV.js.map +1 -0
  64. package/dist/chunk-3QKK7QOS.js +154 -0
  65. package/dist/chunk-3QKK7QOS.js.map +1 -0
  66. package/dist/chunk-3SLRNYNG.js +26 -0
  67. package/dist/chunk-3SLRNYNG.js.map +1 -0
  68. package/dist/chunk-4A24LIM2.js +68 -0
  69. package/dist/chunk-4A24LIM2.js.map +1 -0
  70. package/dist/chunk-6HZ6AO2P.js +164 -0
  71. package/dist/chunk-6HZ6AO2P.js.map +1 -0
  72. package/dist/chunk-763GUIOU.js +302 -0
  73. package/dist/chunk-763GUIOU.js.map +1 -0
  74. package/dist/chunk-AAI7JARD.js +173 -0
  75. package/dist/chunk-AAI7JARD.js.map +1 -0
  76. package/dist/chunk-B7LOFDVE.js +112 -0
  77. package/dist/chunk-B7LOFDVE.js.map +1 -0
  78. package/dist/chunk-BDFZXRSO.js +318 -0
  79. package/dist/chunk-BDFZXRSO.js.map +1 -0
  80. package/dist/chunk-BOUYNNYD.js +707 -0
  81. package/dist/chunk-BOUYNNYD.js.map +1 -0
  82. package/dist/chunk-BRK4ODMI.js +60 -0
  83. package/dist/chunk-BRK4ODMI.js.map +1 -0
  84. package/dist/chunk-C6QPK5GG.js +111 -0
  85. package/dist/chunk-C6QPK5GG.js.map +1 -0
  86. package/dist/chunk-C7VW7C3F.js +117 -0
  87. package/dist/chunk-C7VW7C3F.js.map +1 -0
  88. package/dist/chunk-CDW777AI.js +621 -0
  89. package/dist/chunk-CDW777AI.js.map +1 -0
  90. package/dist/chunk-CULXMQJH.js +185 -0
  91. package/dist/chunk-CULXMQJH.js.map +1 -0
  92. package/dist/chunk-CXWFUJR2.js +1203 -0
  93. package/dist/chunk-CXWFUJR2.js.map +1 -0
  94. package/dist/chunk-DGXUHMOV.js +61 -0
  95. package/dist/chunk-DGXUHMOV.js.map +1 -0
  96. package/dist/chunk-DM2T26WE.js +61 -0
  97. package/dist/chunk-DM2T26WE.js.map +1 -0
  98. package/dist/chunk-DORBM6OB.js +81 -0
  99. package/dist/chunk-DORBM6OB.js.map +1 -0
  100. package/dist/chunk-DT5TVLJE.js +32 -0
  101. package/dist/chunk-DT5TVLJE.js.map +1 -0
  102. package/dist/chunk-EEQLFRUM.js +89 -0
  103. package/dist/chunk-EEQLFRUM.js.map +1 -0
  104. package/dist/chunk-EQINRHYR.js +672 -0
  105. package/dist/chunk-EQINRHYR.js.map +1 -0
  106. package/dist/chunk-ESSMF2FR.js +146 -0
  107. package/dist/chunk-ESSMF2FR.js.map +1 -0
  108. package/dist/chunk-ETOW6ACV.js +158 -0
  109. package/dist/chunk-ETOW6ACV.js.map +1 -0
  110. package/dist/chunk-FYIYMQ5N.js +221 -0
  111. package/dist/chunk-FYIYMQ5N.js.map +1 -0
  112. package/dist/chunk-G3AG3KZN.js +78 -0
  113. package/dist/chunk-G3AG3KZN.js.map +1 -0
  114. package/dist/chunk-GJR6D6KC.js +61 -0
  115. package/dist/chunk-GJR6D6KC.js.map +1 -0
  116. package/dist/chunk-GPGBSNKM.js +380 -0
  117. package/dist/chunk-GPGBSNKM.js.map +1 -0
  118. package/dist/chunk-H63EDPFJ.js +57 -0
  119. package/dist/chunk-H63EDPFJ.js.map +1 -0
  120. package/dist/chunk-HG2NKWR2.js +185 -0
  121. package/dist/chunk-HG2NKWR2.js.map +1 -0
  122. package/dist/chunk-HL4DB7TO.js +13 -0
  123. package/dist/chunk-HL4DB7TO.js.map +1 -0
  124. package/dist/chunk-HLBYLYRD.js +346 -0
  125. package/dist/chunk-HLBYLYRD.js.map +1 -0
  126. package/dist/chunk-HLXVTBF3.js +109 -0
  127. package/dist/chunk-HLXVTBF3.js.map +1 -0
  128. package/dist/chunk-IFFFR3MR.js +68 -0
  129. package/dist/chunk-IFFFR3MR.js.map +1 -0
  130. package/dist/chunk-ISY75RLM.js +1027 -0
  131. package/dist/chunk-ISY75RLM.js.map +1 -0
  132. package/dist/chunk-IZME7KW2.js +1886 -0
  133. package/dist/chunk-IZME7KW2.js.map +1 -0
  134. package/dist/chunk-J3BT33K7.js +720 -0
  135. package/dist/chunk-J3BT33K7.js.map +1 -0
  136. package/dist/chunk-J47FNDR7.js +113 -0
  137. package/dist/chunk-J47FNDR7.js.map +1 -0
  138. package/dist/chunk-JWPLJLDU.js +63 -0
  139. package/dist/chunk-JWPLJLDU.js.map +1 -0
  140. package/dist/chunk-K6WK37A6.js +865 -0
  141. package/dist/chunk-K6WK37A6.js.map +1 -0
  142. package/dist/chunk-KL4CP4SB.js +130 -0
  143. package/dist/chunk-KL4CP4SB.js.map +1 -0
  144. package/dist/chunk-KT4NEUNF.js +315 -0
  145. package/dist/chunk-KT4NEUNF.js.map +1 -0
  146. package/dist/chunk-KWBU5S5U.js +42 -0
  147. package/dist/chunk-KWBU5S5U.js.map +1 -0
  148. package/dist/chunk-L5RPWGFK.js +59 -0
  149. package/dist/chunk-L5RPWGFK.js.map +1 -0
  150. package/dist/chunk-L7WO3MZ4.js +128 -0
  151. package/dist/chunk-L7WO3MZ4.js.map +1 -0
  152. package/dist/chunk-LIRZNNUP.js +74 -0
  153. package/dist/chunk-LIRZNNUP.js.map +1 -0
  154. package/dist/chunk-LK6SGL53.js +22 -0
  155. package/dist/chunk-LK6SGL53.js.map +1 -0
  156. package/dist/chunk-LOBRX7VD.js +200 -0
  157. package/dist/chunk-LOBRX7VD.js.map +1 -0
  158. package/dist/chunk-LPSF4OQH.js +47 -0
  159. package/dist/chunk-LPSF4OQH.js.map +1 -0
  160. package/dist/chunk-LU3GQNDQ.js +152 -0
  161. package/dist/chunk-LU3GQNDQ.js.map +1 -0
  162. package/dist/chunk-M5KEYE5E.js +350 -0
  163. package/dist/chunk-M5KEYE5E.js.map +1 -0
  164. package/dist/chunk-M62O4P4T.js +41 -0
  165. package/dist/chunk-M62O4P4T.js.map +1 -0
  166. package/dist/chunk-MARWOCVP.js +48 -0
  167. package/dist/chunk-MARWOCVP.js.map +1 -0
  168. package/dist/chunk-MDDAA2AO.js +925 -0
  169. package/dist/chunk-MDDAA2AO.js.map +1 -0
  170. package/dist/chunk-MWGVGUIS.js +198 -0
  171. package/dist/chunk-MWGVGUIS.js.map +1 -0
  172. package/dist/chunk-N5AKDXAI.js +74 -0
  173. package/dist/chunk-N5AKDXAI.js.map +1 -0
  174. package/dist/chunk-NGAVDO7E.js +115 -0
  175. package/dist/chunk-NGAVDO7E.js.map +1 -0
  176. package/dist/chunk-NTTLPF7F.js +283 -0
  177. package/dist/chunk-NTTLPF7F.js.map +1 -0
  178. package/dist/chunk-ONRU4L2N.js +240 -0
  179. package/dist/chunk-ONRU4L2N.js.map +1 -0
  180. package/dist/chunk-ORZMT74A.js +209 -0
  181. package/dist/chunk-ORZMT74A.js.map +1 -0
  182. package/dist/chunk-OTAVQCSF.js +268 -0
  183. package/dist/chunk-OTAVQCSF.js.map +1 -0
  184. package/dist/chunk-PGK3VUHN.js +160 -0
  185. package/dist/chunk-PGK3VUHN.js.map +1 -0
  186. package/dist/chunk-Q6FETXJA.js +1362 -0
  187. package/dist/chunk-Q6FETXJA.js.map +1 -0
  188. package/dist/chunk-QANCTXQF.js +271 -0
  189. package/dist/chunk-QANCTXQF.js.map +1 -0
  190. package/dist/chunk-QCCCQT3O.js +189 -0
  191. package/dist/chunk-QCCCQT3O.js.map +1 -0
  192. package/dist/chunk-QDOSNLB4.js +1048 -0
  193. package/dist/chunk-QDOSNLB4.js.map +1 -0
  194. package/dist/chunk-QFQVZOGA.js +2168 -0
  195. package/dist/chunk-QFQVZOGA.js.map +1 -0
  196. package/dist/chunk-QPKFPHOO.js +178 -0
  197. package/dist/chunk-QPKFPHOO.js.map +1 -0
  198. package/dist/chunk-QSVPYQPG.js +268 -0
  199. package/dist/chunk-QSVPYQPG.js.map +1 -0
  200. package/dist/chunk-QWUUMMIK.js +3045 -0
  201. package/dist/chunk-QWUUMMIK.js.map +1 -0
  202. package/dist/chunk-QY2BHY5O.js +2378 -0
  203. package/dist/chunk-QY2BHY5O.js.map +1 -0
  204. package/dist/chunk-SCHEKPYH.js +349 -0
  205. package/dist/chunk-SCHEKPYH.js.map +1 -0
  206. package/dist/chunk-SCU65EZI.js +15 -0
  207. package/dist/chunk-SCU65EZI.js.map +1 -0
  208. package/dist/chunk-T4WRIV2C.js +170 -0
  209. package/dist/chunk-T4WRIV2C.js.map +1 -0
  210. package/dist/chunk-TKO4HZCK.js +1852 -0
  211. package/dist/chunk-TKO4HZCK.js.map +1 -0
  212. package/dist/chunk-TP4FZJIZ.js +93 -0
  213. package/dist/chunk-TP4FZJIZ.js.map +1 -0
  214. package/dist/chunk-TPB3I2AC.js +403 -0
  215. package/dist/chunk-TPB3I2AC.js.map +1 -0
  216. package/dist/chunk-TVVVQQAK.js +1431 -0
  217. package/dist/chunk-TVVVQQAK.js.map +1 -0
  218. package/dist/chunk-U4PV25RD.js +14 -0
  219. package/dist/chunk-U4PV25RD.js.map +1 -0
  220. package/dist/chunk-UCYSTFZR.js +284 -0
  221. package/dist/chunk-UCYSTFZR.js.map +1 -0
  222. package/dist/chunk-UHGBNIOS.js +205 -0
  223. package/dist/chunk-UHGBNIOS.js.map +1 -0
  224. package/dist/chunk-UIYZ5T3I.js +108 -0
  225. package/dist/chunk-UIYZ5T3I.js.map +1 -0
  226. package/dist/chunk-UV2FO7J4.js +747 -0
  227. package/dist/chunk-UV2FO7J4.js.map +1 -0
  228. package/dist/chunk-UZB5KHKX.js +63 -0
  229. package/dist/chunk-UZB5KHKX.js.map +1 -0
  230. package/dist/chunk-V3RXWQIE.js +626 -0
  231. package/dist/chunk-V3RXWQIE.js.map +1 -0
  232. package/dist/chunk-V4YC4LUK.js +444 -0
  233. package/dist/chunk-V4YC4LUK.js.map +1 -0
  234. package/dist/chunk-VEWZZM3H.js +133 -0
  235. package/dist/chunk-VEWZZM3H.js.map +1 -0
  236. package/dist/chunk-WWIQTB2Y.js +98 -0
  237. package/dist/chunk-WWIQTB2Y.js.map +1 -0
  238. package/dist/chunk-X7XN6YU4.js +24 -0
  239. package/dist/chunk-X7XN6YU4.js.map +1 -0
  240. package/dist/chunk-XKECPATV.js +202 -0
  241. package/dist/chunk-XKECPATV.js.map +1 -0
  242. package/dist/chunk-XYIK4LF6.js +75 -0
  243. package/dist/chunk-XYIK4LF6.js.map +1 -0
  244. package/dist/chunk-Y27UJK6V.js +39 -0
  245. package/dist/chunk-Y27UJK6V.js.map +1 -0
  246. package/dist/chunk-Y4Z4I6WK.js +9 -0
  247. package/dist/chunk-Y4Z4I6WK.js.map +1 -0
  248. package/dist/chunk-YAPUAHAY.js +10761 -0
  249. package/dist/chunk-YAPUAHAY.js.map +1 -0
  250. package/dist/chunk-YAZNBMNF.js +92 -0
  251. package/dist/chunk-YAZNBMNF.js.map +1 -0
  252. package/dist/chunk-YCN4BVDK.js +66 -0
  253. package/dist/chunk-YCN4BVDK.js.map +1 -0
  254. package/dist/chunk-YNCQ7E4M.js +388 -0
  255. package/dist/chunk-YNCQ7E4M.js.map +1 -0
  256. package/dist/chunk-YNI4S5WT.js +143 -0
  257. package/dist/chunk-YNI4S5WT.js.map +1 -0
  258. package/dist/chunk-YRMVARQP.js +406 -0
  259. package/dist/chunk-YRMVARQP.js.map +1 -0
  260. package/dist/chunk-Z5AAYHUC.js +79 -0
  261. package/dist/chunk-Z5AAYHUC.js.map +1 -0
  262. package/dist/chunk-Z5LAYHGJ.js +15 -0
  263. package/dist/chunk-Z5LAYHGJ.js.map +1 -0
  264. package/dist/chunk-ZJLY4QSU.js +823 -0
  265. package/dist/chunk-ZJLY4QSU.js.map +1 -0
  266. package/dist/chunk-ZKYI7UVO.js +276 -0
  267. package/dist/chunk-ZKYI7UVO.js.map +1 -0
  268. package/dist/chunk-ZPKBYX2F.js +297 -0
  269. package/dist/chunk-ZPKBYX2F.js.map +1 -0
  270. package/dist/chunking.d.ts +48 -0
  271. package/dist/chunking.js +11 -0
  272. package/dist/chunking.js.map +1 -0
  273. package/dist/cli.d.ts +1162 -0
  274. package/dist/cli.js +7187 -0
  275. package/dist/cli.js.map +1 -0
  276. package/dist/commitment-ledger.d.ts +83 -0
  277. package/dist/commitment-ledger.js +19 -0
  278. package/dist/commitment-ledger.js.map +1 -0
  279. package/dist/compression-optimizer.d.ts +37 -0
  280. package/dist/compression-optimizer.js +13 -0
  281. package/dist/compression-optimizer.js.map +1 -0
  282. package/dist/config.d.ts +6 -0
  283. package/dist/config.js +12 -0
  284. package/dist/config.js.map +1 -0
  285. package/dist/cue-anchors.d.ts +50 -0
  286. package/dist/cue-anchors.js +15 -0
  287. package/dist/cue-anchors.js.map +1 -0
  288. package/dist/dashboard-runtime.d.ts +46 -0
  289. package/dist/dashboard-runtime.js +10 -0
  290. package/dist/dashboard-runtime.js.map +1 -0
  291. package/dist/day-summary.d.ts +6 -0
  292. package/dist/day-summary.js +10 -0
  293. package/dist/day-summary.js.map +1 -0
  294. package/dist/delinearize.d.ts +34 -0
  295. package/dist/delinearize.js +11 -0
  296. package/dist/delinearize.js.map +1 -0
  297. package/dist/embedding-fallback.d.ts +22 -0
  298. package/dist/embedding-fallback.js +8 -0
  299. package/dist/embedding-fallback.js.map +1 -0
  300. package/dist/engine-P26JFSVY.js +19 -0
  301. package/dist/engine-P26JFSVY.js.map +1 -0
  302. package/dist/entity-retrieval.d.ts +23 -0
  303. package/dist/entity-retrieval.js +24 -0
  304. package/dist/entity-retrieval.js.map +1 -0
  305. package/dist/evals.d.ts +282 -0
  306. package/dist/evals.js +32 -0
  307. package/dist/evals.js.map +1 -0
  308. package/dist/explicit-capture.d.ts +60 -0
  309. package/dist/explicit-capture.js +23 -0
  310. package/dist/explicit-capture.js.map +1 -0
  311. package/dist/extraction.d.ts +141 -0
  312. package/dist/extraction.js +22 -0
  313. package/dist/extraction.js.map +1 -0
  314. package/dist/fallback-llm.d.ts +95 -0
  315. package/dist/fallback-llm.js +12 -0
  316. package/dist/fallback-llm.js.map +1 -0
  317. package/dist/graph-dashboard-diff.d.ts +12 -0
  318. package/dist/graph-dashboard-diff.js +8 -0
  319. package/dist/graph-dashboard-diff.js.map +1 -0
  320. package/dist/graph-dashboard-key.d.ts +5 -0
  321. package/dist/graph-dashboard-key.js +7 -0
  322. package/dist/graph-dashboard-key.js.map +1 -0
  323. package/dist/graph-dashboard-parser.d.ts +20 -0
  324. package/dist/graph-dashboard-parser.js +8 -0
  325. package/dist/graph-dashboard-parser.js.map +1 -0
  326. package/dist/graph.d.ts +157 -0
  327. package/dist/graph.js +27 -0
  328. package/dist/graph.js.map +1 -0
  329. package/dist/harmonic-retrieval.d.ts +27 -0
  330. package/dist/harmonic-retrieval.js +12 -0
  331. package/dist/harmonic-retrieval.js.map +1 -0
  332. package/dist/himem.d.ts +23 -0
  333. package/dist/himem.js +7 -0
  334. package/dist/himem.js.map +1 -0
  335. package/dist/hygiene.d.ts +24 -0
  336. package/dist/hygiene.js +9 -0
  337. package/dist/hygiene.js.map +1 -0
  338. package/dist/identity-continuity.d.ts +17 -0
  339. package/dist/identity-continuity.js +19 -0
  340. package/dist/identity-continuity.js.map +1 -0
  341. package/dist/importance.d.ts +25 -0
  342. package/dist/importance.js +11 -0
  343. package/dist/importance.js.map +1 -0
  344. package/dist/index.d.ts +923 -0
  345. package/dist/index.js +2512 -0
  346. package/dist/index.js.map +1 -0
  347. package/dist/intent.d.ts +8 -0
  348. package/dist/intent.js +13 -0
  349. package/dist/intent.js.map +1 -0
  350. package/dist/json-extract.d.ts +14 -0
  351. package/dist/json-extract.js +9 -0
  352. package/dist/json-extract.js.map +1 -0
  353. package/dist/json-store.d.ts +5 -0
  354. package/dist/json-store.js +11 -0
  355. package/dist/json-store.js.map +1 -0
  356. package/dist/legacy-hook-compat.d.ts +3 -0
  357. package/dist/legacy-hook-compat.js +35 -0
  358. package/dist/legacy-hook-compat.js.map +1 -0
  359. package/dist/lifecycle.d.ts +52 -0
  360. package/dist/lifecycle.js +21 -0
  361. package/dist/lifecycle.js.map +1 -0
  362. package/dist/local-llm.d.ts +154 -0
  363. package/dist/local-llm.js +10 -0
  364. package/dist/local-llm.js.map +1 -0
  365. package/dist/logger.d.ts +15 -0
  366. package/dist/logger.js +9 -0
  367. package/dist/logger.js.map +1 -0
  368. package/dist/memory-action-policy.d.ts +13 -0
  369. package/dist/memory-action-policy.js +7 -0
  370. package/dist/memory-action-policy.js.map +1 -0
  371. package/dist/memory-cache.d.ts +35 -0
  372. package/dist/memory-cache.js +37 -0
  373. package/dist/memory-cache.js.map +1 -0
  374. package/dist/memory-lifecycle-ledger-utils.d.ts +13 -0
  375. package/dist/memory-lifecycle-ledger-utils.js +23 -0
  376. package/dist/memory-lifecycle-ledger-utils.js.map +1 -0
  377. package/dist/memory-projection-format.d.ts +4 -0
  378. package/dist/memory-projection-format.js +9 -0
  379. package/dist/memory-projection-format.js.map +1 -0
  380. package/dist/memory-projection-store-NxMkbocT.d.ts +221 -0
  381. package/dist/memory-projection-store.d.ts +3 -0
  382. package/dist/memory-projection-store.js +31 -0
  383. package/dist/memory-projection-store.js.map +1 -0
  384. package/dist/model-registry.d.ts +60 -0
  385. package/dist/model-registry.js +8 -0
  386. package/dist/model-registry.js.map +1 -0
  387. package/dist/native-knowledge.d.ts +94 -0
  388. package/dist/native-knowledge.js +26 -0
  389. package/dist/native-knowledge.js.map +1 -0
  390. package/dist/negative.d.ts +26 -0
  391. package/dist/negative.js +8 -0
  392. package/dist/negative.js.map +1 -0
  393. package/dist/objective-state-writers.d.ts +22 -0
  394. package/dist/objective-state-writers.js +313 -0
  395. package/dist/objective-state-writers.js.map +1 -0
  396. package/dist/objective-state.d.ts +75 -0
  397. package/dist/objective-state.js +17 -0
  398. package/dist/objective-state.js.map +1 -0
  399. package/dist/openai-chat-compat.d.ts +13 -0
  400. package/dist/openai-chat-compat.js +11 -0
  401. package/dist/openai-chat-compat.js.map +1 -0
  402. package/dist/operator-toolkit.d.ts +304 -0
  403. package/dist/operator-toolkit.js +41 -0
  404. package/dist/operator-toolkit.js.map +1 -0
  405. package/dist/opik-exporter.d.ts +72 -0
  406. package/dist/opik-exporter.js +361 -0
  407. package/dist/opik-exporter.js.map +1 -0
  408. package/dist/orchestrator-zTa-Qo-1.d.ts +1104 -0
  409. package/dist/orchestrator.d.ts +21 -0
  410. package/dist/orchestrator.js +145 -0
  411. package/dist/orchestrator.js.map +1 -0
  412. package/dist/policy-runtime.d.ts +37 -0
  413. package/dist/policy-runtime.js +13 -0
  414. package/dist/policy-runtime.js.map +1 -0
  415. package/dist/port-C1GZFv8h.d.ts +41 -0
  416. package/dist/profiling.d.ts +80 -0
  417. package/dist/profiling.js +10 -0
  418. package/dist/profiling.js.map +1 -0
  419. package/dist/qmd-recall-cache.d.ts +29 -0
  420. package/dist/qmd-recall-cache.js +13 -0
  421. package/dist/qmd-recall-cache.js.map +1 -0
  422. package/dist/qmd.d.ts +105 -0
  423. package/dist/qmd.js +13 -0
  424. package/dist/qmd.js.map +1 -0
  425. package/dist/recall-qos.d.ts +33 -0
  426. package/dist/recall-qos.js +10 -0
  427. package/dist/recall-qos.js.map +1 -0
  428. package/dist/recall-query-policy.d.ts +20 -0
  429. package/dist/recall-query-policy.js +11 -0
  430. package/dist/recall-query-policy.js.map +1 -0
  431. package/dist/recall-state.d.ts +113 -0
  432. package/dist/recall-state.js +12 -0
  433. package/dist/recall-state.js.map +1 -0
  434. package/dist/recall-tokenization.d.ts +4 -0
  435. package/dist/recall-tokenization.js +9 -0
  436. package/dist/recall-tokenization.js.map +1 -0
  437. package/dist/reconstruct.d.ts +16 -0
  438. package/dist/reconstruct.js +7 -0
  439. package/dist/reconstruct.js.map +1 -0
  440. package/dist/release-changelog.d.ts +7 -0
  441. package/dist/release-changelog.js +30 -0
  442. package/dist/release-changelog.js.map +1 -0
  443. package/dist/relevance.d.ts +18 -0
  444. package/dist/relevance.js +8 -0
  445. package/dist/relevance.js.map +1 -0
  446. package/dist/rerank.d.ts +57 -0
  447. package/dist/rerank.js +11 -0
  448. package/dist/rerank.js.map +1 -0
  449. package/dist/resolve-provider-secret.d.ts +16 -0
  450. package/dist/resolve-provider-secret.js +11 -0
  451. package/dist/resolve-provider-secret.js.map +1 -0
  452. package/dist/resume-bundles.d.ts +66 -0
  453. package/dist/resume-bundles.js +27 -0
  454. package/dist/resume-bundles.js.map +1 -0
  455. package/dist/retrieval-agents.d.ts +129 -0
  456. package/dist/retrieval-agents.js +23 -0
  457. package/dist/retrieval-agents.js.map +1 -0
  458. package/dist/retrieval.d.ts +19 -0
  459. package/dist/retrieval.js +10 -0
  460. package/dist/retrieval.js.map +1 -0
  461. package/dist/sanitize.d.ts +9 -0
  462. package/dist/sanitize.js +9 -0
  463. package/dist/sanitize.js.map +1 -0
  464. package/dist/schemas.d.ts +688 -0
  465. package/dist/schemas.js +51 -0
  466. package/dist/schemas.js.map +1 -0
  467. package/dist/sdk-compat.d.ts +21 -0
  468. package/dist/sdk-compat.js +28 -0
  469. package/dist/sdk-compat.js.map +1 -0
  470. package/dist/semantic-consolidation.d.ts +42 -0
  471. package/dist/semantic-consolidation.js +12 -0
  472. package/dist/semantic-consolidation.js.map +1 -0
  473. package/dist/semantic-rule-promotion.d.ts +28 -0
  474. package/dist/semantic-rule-promotion.js +17 -0
  475. package/dist/semantic-rule-promotion.js.map +1 -0
  476. package/dist/semantic-rule-verifier.d.ts +19 -0
  477. package/dist/semantic-rule-verifier.js +18 -0
  478. package/dist/semantic-rule-verifier.js.map +1 -0
  479. package/dist/session-integrity.d.ts +67 -0
  480. package/dist/session-integrity.js +11 -0
  481. package/dist/session-integrity.js.map +1 -0
  482. package/dist/session-observer-bands.d.ts +6 -0
  483. package/dist/session-observer-bands.js +9 -0
  484. package/dist/session-observer-bands.js.map +1 -0
  485. package/dist/session-observer-state.d.ts +40 -0
  486. package/dist/session-observer-state.js +11 -0
  487. package/dist/session-observer-state.js.map +1 -0
  488. package/dist/signal.d.ts +6 -0
  489. package/dist/signal.js +9 -0
  490. package/dist/signal.js.map +1 -0
  491. package/dist/storage.d.ts +453 -0
  492. package/dist/storage.js +24 -0
  493. package/dist/storage.js.map +1 -0
  494. package/dist/store-contract.d.ts +10 -0
  495. package/dist/store-contract.js +21 -0
  496. package/dist/store-contract.js.map +1 -0
  497. package/dist/summarizer.d.ts +35 -0
  498. package/dist/summarizer.js +17 -0
  499. package/dist/summarizer.js.map +1 -0
  500. package/dist/summary-snapshot.d.ts +8 -0
  501. package/dist/summary-snapshot.js +13 -0
  502. package/dist/summary-snapshot.js.map +1 -0
  503. package/dist/temporal-index.d.ts +139 -0
  504. package/dist/temporal-index.js +29 -0
  505. package/dist/temporal-index.js.map +1 -0
  506. package/dist/threading.d.ts +62 -0
  507. package/dist/threading.js +8 -0
  508. package/dist/threading.js.map +1 -0
  509. package/dist/tier-migration.d.ts +44 -0
  510. package/dist/tier-migration.js +7 -0
  511. package/dist/tier-migration.js.map +1 -0
  512. package/dist/tier-routing.d.ts +21 -0
  513. package/dist/tier-routing.js +10 -0
  514. package/dist/tier-routing.js.map +1 -0
  515. package/dist/tmt.d.ts +79 -0
  516. package/dist/tmt.js +29 -0
  517. package/dist/tmt.js.map +1 -0
  518. package/dist/tokens.d.ts +24 -0
  519. package/dist/tokens.js +21 -0
  520. package/dist/tokens.js.map +1 -0
  521. package/dist/topics.d.ts +29 -0
  522. package/dist/topics.js +9 -0
  523. package/dist/topics.js.map +1 -0
  524. package/dist/transcript.d.ts +171 -0
  525. package/dist/transcript.js +9 -0
  526. package/dist/transcript.js.map +1 -0
  527. package/dist/trust-zones.d.ts +170 -0
  528. package/dist/trust-zones.js +32 -0
  529. package/dist/trust-zones.js.map +1 -0
  530. package/dist/types.d.ts +1243 -0
  531. package/dist/types.js +9 -0
  532. package/dist/types.js.map +1 -0
  533. package/dist/utility-learner.d.ts +59 -0
  534. package/dist/utility-learner.js +17 -0
  535. package/dist/utility-learner.js.map +1 -0
  536. package/dist/utility-runtime.d.ts +21 -0
  537. package/dist/utility-runtime.js +16 -0
  538. package/dist/utility-runtime.js.map +1 -0
  539. package/dist/utility-telemetry.d.ts +68 -0
  540. package/dist/utility-telemetry.js +17 -0
  541. package/dist/utility-telemetry.js.map +1 -0
  542. package/dist/verified-recall.d.ts +17 -0
  543. package/dist/verified-recall.js +19 -0
  544. package/dist/verified-recall.js.map +1 -0
  545. package/dist/version-utils.d.ts +4 -0
  546. package/dist/version-utils.js +7 -0
  547. package/dist/version-utils.js.map +1 -0
  548. package/dist/work-product-ledger.d.ts +65 -0
  549. package/dist/work-product-ledger.js +18 -0
  550. package/dist/work-product-ledger.js.map +1 -0
  551. package/package.json +58 -0
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Model Registry - Stores and retrieves model capabilities
3
+ * Avoids repeated external lookups by caching model info locally
4
+ */
5
+ interface ModelCapabilities {
6
+ modelId: string;
7
+ maxPositionEmbeddings: number;
8
+ contextWindow: number;
9
+ supportsExtendedContext: boolean;
10
+ ropeScaling?: {
11
+ type: string;
12
+ factor: number;
13
+ originalMaxPositionEmbeddings: number;
14
+ };
15
+ typicalOutputTokens: number;
16
+ source: "huggingface" | "lmstudio" | "manual" | "default";
17
+ fetchedAt: string;
18
+ }
19
+ declare class ModelRegistry {
20
+ private registryPath;
21
+ private data;
22
+ private readonly CACHE_TTL_DAYS;
23
+ constructor(memoryDir: string);
24
+ private loadRegistry;
25
+ private saveRegistry;
26
+ private isCacheExpired;
27
+ private normalizeModelId;
28
+ /**
29
+ * Get capabilities for a model, using cache if available
30
+ */
31
+ getCapabilities(modelId: string): ModelCapabilities;
32
+ /**
33
+ * Store capabilities for a model
34
+ */
35
+ setCapabilities(modelId: string, capabilities: Omit<ModelCapabilities, "modelId" | "fetchedAt">): void;
36
+ /**
37
+ * Calculate optimal input/output sizes for a model
38
+ * @param maxContextOverride - Optional override for max context (e.g., if LLM server defaults to smaller window)
39
+ */
40
+ calculateContextSizes(modelId: string, maxContextOverride?: number): {
41
+ maxInputChars: number;
42
+ maxOutputTokens: number;
43
+ description: string;
44
+ };
45
+ /**
46
+ * Fetch capabilities from Hugging Face (if available)
47
+ * Returns true if successful
48
+ */
49
+ fetchFromHuggingFace(modelId: string): Promise<boolean>;
50
+ /**
51
+ * List all cached models
52
+ */
53
+ listCached(): string[];
54
+ /**
55
+ * Clear expired cache entries
56
+ */
57
+ cleanExpired(): number;
58
+ }
59
+
60
+ export { type ModelCapabilities, ModelRegistry };
@@ -0,0 +1,8 @@
1
+ import {
2
+ ModelRegistry
3
+ } from "./chunk-ONRU4L2N.js";
4
+ import "./chunk-KWBU5S5U.js";
5
+ export {
6
+ ModelRegistry
7
+ };
8
+ //# sourceMappingURL=model-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,94 @@
1
+ import { NativeKnowledgeConfig } from './types.js';
2
+
3
+ type NativeKnowledgeChunk = {
4
+ chunkId: string;
5
+ sourcePath: string;
6
+ title: string;
7
+ sourceKind: "identity" | "memory" | "workspace_doc" | "obsidian_note" | "bootstrap_doc" | "handoff" | "daily_summary" | "automation_note";
8
+ startLine: number;
9
+ endLine: number;
10
+ content: string;
11
+ vaultId?: string;
12
+ notePath?: string;
13
+ noteKey?: string;
14
+ derivedDate?: string;
15
+ tags?: string[];
16
+ aliases?: string[];
17
+ wikilinks?: string[];
18
+ backlinks?: string[];
19
+ namespace?: string;
20
+ privacyClass?: string;
21
+ sourceHash?: string;
22
+ mtimeMs?: number;
23
+ sessionKey?: string;
24
+ workflowKey?: string;
25
+ author?: string;
26
+ agent?: string;
27
+ };
28
+ type NativeKnowledgeSearchResult = NativeKnowledgeChunk & {
29
+ score: number;
30
+ };
31
+ interface NativeKnowledgeSyncResult {
32
+ statePath: string;
33
+ vaultCount: number;
34
+ touchedNotes: number;
35
+ deletedNotes: number;
36
+ chunkCount: number;
37
+ activeChunks: NativeKnowledgeChunk[];
38
+ }
39
+ declare function resolveNativeKnowledgeStatePath(memoryDir: string, config: NativeKnowledgeConfig): string;
40
+ declare function resolveCuratedIncludeFilesStatePath(memoryDir: string, config: NativeKnowledgeConfig): string;
41
+ declare function resolveOpenClawWorkspaceStatePath(memoryDir: string, config: NativeKnowledgeConfig): string;
42
+ declare function syncObsidianVaults(options: {
43
+ memoryDir: string;
44
+ config: NativeKnowledgeConfig;
45
+ }): Promise<NativeKnowledgeSyncResult>;
46
+ declare function loadPersistedNativeKnowledgeChunks(options: {
47
+ memoryDir: string;
48
+ recallNamespaces?: string[];
49
+ defaultNamespace: string;
50
+ }): Promise<NativeKnowledgeChunk[]>;
51
+ declare function syncOpenClawWorkspaceArtifacts(options: {
52
+ workspaceDir: string;
53
+ memoryDir: string;
54
+ config: NativeKnowledgeConfig;
55
+ }): Promise<{
56
+ statePath: string;
57
+ touchedFiles: number;
58
+ deletedFiles: number;
59
+ chunkCount: number;
60
+ activeChunks: NativeKnowledgeChunk[];
61
+ }>;
62
+ declare function syncCuratedIncludeFiles(options: {
63
+ workspaceDir: string;
64
+ memoryDir: string;
65
+ config: NativeKnowledgeConfig;
66
+ recallNamespaces?: string[];
67
+ defaultNamespace: string;
68
+ skipSourcePaths?: string[];
69
+ }): Promise<{
70
+ statePath: string;
71
+ touchedFiles: number;
72
+ deletedFiles: number;
73
+ chunkCount: number;
74
+ activeChunks: NativeKnowledgeChunk[];
75
+ }>;
76
+ declare function collectNativeKnowledgeChunks(options: {
77
+ workspaceDir: string;
78
+ memoryDir?: string;
79
+ config: NativeKnowledgeConfig;
80
+ recallNamespaces?: string[];
81
+ defaultNamespace: string;
82
+ abortSignal?: AbortSignal;
83
+ }): Promise<NativeKnowledgeChunk[]>;
84
+ declare function searchNativeKnowledge(options: {
85
+ query: string;
86
+ chunks: NativeKnowledgeChunk[];
87
+ maxResults: number;
88
+ }): NativeKnowledgeSearchResult[];
89
+ declare function formatNativeKnowledgeSection(options: {
90
+ results: NativeKnowledgeSearchResult[];
91
+ maxChars: number;
92
+ }): string | null;
93
+
94
+ export { type NativeKnowledgeChunk, type NativeKnowledgeSearchResult, type NativeKnowledgeSyncResult, collectNativeKnowledgeChunks, formatNativeKnowledgeSection, loadPersistedNativeKnowledgeChunks, resolveCuratedIncludeFilesStatePath, resolveNativeKnowledgeStatePath, resolveOpenClawWorkspaceStatePath, searchNativeKnowledge, syncCuratedIncludeFiles, syncObsidianVaults, syncOpenClawWorkspaceArtifacts };
@@ -0,0 +1,26 @@
1
+ import {
2
+ collectNativeKnowledgeChunks,
3
+ formatNativeKnowledgeSection,
4
+ loadPersistedNativeKnowledgeChunks,
5
+ resolveCuratedIncludeFilesStatePath,
6
+ resolveNativeKnowledgeStatePath,
7
+ resolveOpenClawWorkspaceStatePath,
8
+ searchNativeKnowledge,
9
+ syncCuratedIncludeFiles,
10
+ syncObsidianVaults,
11
+ syncOpenClawWorkspaceArtifacts
12
+ } from "./chunk-Q6FETXJA.js";
13
+ import "./chunk-KWBU5S5U.js";
14
+ export {
15
+ collectNativeKnowledgeChunks,
16
+ formatNativeKnowledgeSection,
17
+ loadPersistedNativeKnowledgeChunks,
18
+ resolveCuratedIncludeFilesStatePath,
19
+ resolveNativeKnowledgeStatePath,
20
+ resolveOpenClawWorkspaceStatePath,
21
+ searchNativeKnowledge,
22
+ syncCuratedIncludeFiles,
23
+ syncObsidianVaults,
24
+ syncOpenClawWorkspaceArtifacts
25
+ };
26
+ //# sourceMappingURL=native-knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,26 @@
1
+ interface NegativeExampleEntry {
2
+ notUseful: number;
3
+ lastUpdatedAt: string;
4
+ notes?: string[];
5
+ }
6
+ declare class NegativeExampleStore {
7
+ private readonly statePath;
8
+ private state;
9
+ constructor(memoryDir: string);
10
+ load(): Promise<void>;
11
+ /**
12
+ * Record that a memory was retrieved but not useful for the user.
13
+ * This should be lightweight and never block agent execution.
14
+ */
15
+ recordNotUseful(memoryIds: string[], note?: string): Promise<void>;
16
+ /**
17
+ * Convert negative examples into a small score penalty.
18
+ * Intended as a soft bias, not a hard filter.
19
+ */
20
+ penalty(memoryId: string, opts: {
21
+ perHit: number;
22
+ cap: number;
23
+ }): number;
24
+ }
25
+
26
+ export { type NegativeExampleEntry, NegativeExampleStore };
@@ -0,0 +1,8 @@
1
+ import {
2
+ NegativeExampleStore
3
+ } from "./chunk-GJR6D6KC.js";
4
+ import "./chunk-KWBU5S5U.js";
5
+ export {
6
+ NegativeExampleStore
7
+ };
8
+ //# sourceMappingURL=negative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,22 @@
1
+ import { ObjectiveStateSnapshot } from './objective-state.js';
2
+
3
+ interface DerivedObjectiveStateResult {
4
+ snapshots: ObjectiveStateSnapshot[];
5
+ filePaths: string[];
6
+ }
7
+ declare function deriveObjectiveStateSnapshotsFromAgentMessages(options: {
8
+ sessionKey: string;
9
+ recordedAt: string;
10
+ messages: Array<Record<string, unknown>>;
11
+ }): ObjectiveStateSnapshot[];
12
+ declare function recordObjectiveStateSnapshotsFromAgentMessages(options: {
13
+ memoryDir: string;
14
+ objectiveStateStoreDir?: string;
15
+ objectiveStateMemoryEnabled: boolean;
16
+ objectiveStateSnapshotWritesEnabled: boolean;
17
+ sessionKey: string;
18
+ recordedAt: string;
19
+ messages: Array<Record<string, unknown>>;
20
+ }): Promise<DerivedObjectiveStateResult>;
21
+
22
+ export { deriveObjectiveStateSnapshotsFromAgentMessages, recordObjectiveStateSnapshotsFromAgentMessages };
@@ -0,0 +1,313 @@
1
+ import {
2
+ recordObjectiveStateSnapshot
3
+ } from "./chunk-LOBRX7VD.js";
4
+ import "./chunk-DGXUHMOV.js";
5
+ import "./chunk-LPSF4OQH.js";
6
+
7
+ // src/objective-state-writers.ts
8
+ import crypto from "crypto";
9
+ function hashSha256(value) {
10
+ return crypto.createHash("sha256").update(value).digest("hex");
11
+ }
12
+ function isRecord(value) {
13
+ return typeof value === "object" && value !== null && !Array.isArray(value);
14
+ }
15
+ function optionalString(value) {
16
+ if (typeof value !== "string") return void 0;
17
+ const trimmed = value.trim();
18
+ return trimmed.length > 0 ? trimmed : void 0;
19
+ }
20
+ function toolNameTokens(toolName) {
21
+ if (!toolName) return [];
22
+ return toolName.replace(/([a-z0-9])([A-Z])/g, "$1_$2").toLowerCase().split(/[^a-z0-9]+/).filter((token) => token.length > 0);
23
+ }
24
+ function normalizedToolName(toolName) {
25
+ return toolNameTokens(toolName).join("_");
26
+ }
27
+ function parseToolArguments(value) {
28
+ if (isRecord(value)) return value;
29
+ if (typeof value !== "string") return void 0;
30
+ try {
31
+ const parsed = JSON.parse(value);
32
+ return isRecord(parsed) ? parsed : void 0;
33
+ } catch {
34
+ return void 0;
35
+ }
36
+ }
37
+ function extractTextContent(value) {
38
+ if (typeof value === "string") return value.trim();
39
+ if (Array.isArray(value)) {
40
+ return value.map((block) => {
41
+ if (typeof block === "string") return block.trim();
42
+ if (isRecord(block) && block.type === "text" && typeof block.text === "string") {
43
+ return block.text.trim();
44
+ }
45
+ return "";
46
+ }).filter((item) => item.length > 0).join("\n");
47
+ }
48
+ if (isRecord(value)) {
49
+ return JSON.stringify(value);
50
+ }
51
+ return "";
52
+ }
53
+ function parseToolResultPayload(content) {
54
+ const text = extractTextContent(content);
55
+ if (text.length === 0) return void 0;
56
+ try {
57
+ return JSON.parse(text);
58
+ } catch {
59
+ return text;
60
+ }
61
+ }
62
+ function resultHash(value) {
63
+ if (value === void 0) return void 0;
64
+ const canonical = typeof value === "string" ? value : JSON.stringify(value);
65
+ if (!canonical || canonical.length === 0) return void 0;
66
+ return `sha256:${hashSha256(canonical)}`;
67
+ }
68
+ function getToolCallContexts(messages) {
69
+ const contexts = /* @__PURE__ */ new Map();
70
+ for (const message of messages) {
71
+ if (message.role !== "assistant") continue;
72
+ const toolCalls = message.tool_calls ?? message.toolCalls;
73
+ if (!Array.isArray(toolCalls)) continue;
74
+ for (const call of toolCalls) {
75
+ if (!isRecord(call)) continue;
76
+ const toolCallId = optionalString(call.id) ?? optionalString(call.toolCallId);
77
+ if (!toolCallId) continue;
78
+ const fn = isRecord(call.function) ? call.function : void 0;
79
+ const toolName = optionalString(fn?.name) ?? optionalString(call.name);
80
+ const args = parseToolArguments(fn?.arguments) ?? parseToolArguments(call.arguments) ?? parseToolArguments(call.args) ?? parseToolArguments(call.input);
81
+ contexts.set(toolCallId, { toolCallId, toolName, args });
82
+ }
83
+ }
84
+ return contexts;
85
+ }
86
+ function toolCallIdForMessage(message) {
87
+ return optionalString(message.tool_call_id) ?? optionalString(message.toolCallId) ?? optionalString(message.tool_use_id) ?? optionalString(message.toolUseId);
88
+ }
89
+ function toolNameForMessage(message, context) {
90
+ return optionalString(message.name) ?? optionalString(message.toolName) ?? optionalString(message.tool) ?? context?.toolName;
91
+ }
92
+ function pickString(args, keys) {
93
+ if (!args) return void 0;
94
+ for (const key of keys) {
95
+ const value = optionalString(args[key]);
96
+ if (value) return value;
97
+ }
98
+ return void 0;
99
+ }
100
+ function pickFirstStringArrayValue(args, key) {
101
+ const value = args?.[key];
102
+ if (!Array.isArray(value)) return void 0;
103
+ for (const item of value) {
104
+ const candidate = optionalString(item);
105
+ if (candidate) return candidate;
106
+ }
107
+ return void 0;
108
+ }
109
+ function fileScopeFromArgs(args) {
110
+ const destinationPath = pickString(args, ["destination", "dest", "targetPath", "target", "to"]) ?? pickString(args, ["path", "filePath", "workspacePath", "projectPath"]) ?? pickFirstStringArrayValue(args, "paths");
111
+ const sourcePath = pickString(args, ["source", "src", "from", "oldPath"]);
112
+ const scope = destinationPath ?? sourcePath;
113
+ return { scope, sourcePath, destinationPath };
114
+ }
115
+ function fileContentHash(args) {
116
+ const content = pickString(args, ["content", "patch", "diff", "text", "value"]) ?? args?.updates;
117
+ return resultHash(content);
118
+ }
119
+ function inferOutcome(message, parsedPayload) {
120
+ if (message.isError === true) return "failure";
121
+ if (isRecord(parsedPayload)) {
122
+ if (parsedPayload.partial === true || parsedPayload.status === "partial") return "partial";
123
+ if (parsedPayload.success === false || parsedPayload.ok === false) return "failure";
124
+ if (parsedPayload.success === true || parsedPayload.ok === true) return "success";
125
+ if (typeof parsedPayload.exitCode === "number") {
126
+ return parsedPayload.exitCode === 0 ? "success" : "failure";
127
+ }
128
+ if (optionalString(parsedPayload.error)) return "failure";
129
+ if (parsedPayload.status === "error" || parsedPayload.status === "failed") return "failure";
130
+ if (parsedPayload.status === "ok" || parsedPayload.status === "success") return "success";
131
+ }
132
+ if (typeof parsedPayload === "string") {
133
+ const lowered = parsedPayload.toLowerCase();
134
+ const loweredForFailure = lowered.replace(/\b(?:previously\s+)?failed tests?\s+now\s+pass(?:ed|es)?\b/g, "");
135
+ const hasZeroCountMarker = /\b(?:0|no)\s+(?:errors?|failures?|exceptions?|timeouts?)\b/.test(lowered);
136
+ const loweredForFailureCounts = loweredForFailure.replace(/\b(?:0|no)\s+errors?\b/g, "").replace(/\b(?:0|no)\s+failures?\b/g, "").replace(/\b(?:0|no)\s+exceptions?\b/g, "").replace(/\b(?:0|no)\s+timeouts?\b/g, "");
137
+ const hasNonZeroErrorCounts = /\b[1-9]\d*\s+errors?\b/.test(loweredForFailureCounts);
138
+ const hasNegatedSuccessMarkers = /\b(?:not|did not|didn't|doesn't|isn't|aren't|wasn't|weren't|won't|can't|couldn't|shouldn't|wouldn't)\s+(?:ok|pass|passed|passes|succeeded|success)\b/.test(loweredForFailure);
139
+ const hasSuccessMarkers = /\b(success|succeeded|pass|passes|passed|ok)\b/.test(lowered) || hasZeroCountMarker;
140
+ const hasFailureMarkers = hasNegatedSuccessMarkers || /\b(exceptions?|failed|failures?|fatal|timeouts?|timed out)\b/.test(loweredForFailureCounts) || hasNonZeroErrorCounts || /\berrors?\b/.test(loweredForFailureCounts) || /\b[a-z]+error\b/.test(loweredForFailureCounts) || /\b[a-z]+exception\b/.test(loweredForFailureCounts);
141
+ if (hasFailureMarkers) return "failure";
142
+ if (hasSuccessMarkers) return "success";
143
+ }
144
+ return "unknown";
145
+ }
146
+ function isProcessTool(toolName, args) {
147
+ const tokens = toolNameTokens(toolName);
148
+ const normalizedName = normalizedToolName(toolName);
149
+ if (pickString(args, ["cmd", "command", "script"])) return true;
150
+ return ["exec", "shell", "bash", "terminal", "run_command", "exec_command"].some(
151
+ (token) => token.includes("_") ? normalizedName === token : tokens.includes(token)
152
+ );
153
+ }
154
+ function isFileTool(toolName, args) {
155
+ const tokens = toolNameTokens(toolName);
156
+ const fileScope = fileScopeFromArgs(args);
157
+ if (fileScope.scope) return true;
158
+ return ["file", "path", "patch", "directory", "mkdir", "rename", "move"].some(
159
+ (token) => tokens.includes(token)
160
+ );
161
+ }
162
+ function inferFileChangeKind(toolName, outcome) {
163
+ if (outcome === "failure") return "failed";
164
+ const tokens = toolNameTokens(toolName);
165
+ if (["delete", "remove", "unlink"].some((token) => tokens.includes(token))) return "deleted";
166
+ if (["create", "mkdir", "new"].some((token) => tokens.includes(token))) return "created";
167
+ if (["write", "edit", "patch", "update", "append", "move", "rename"].some((token) => tokens.includes(token))) {
168
+ return "updated";
169
+ }
170
+ return "observed";
171
+ }
172
+ function buildFileValueRefs(args, changeKind) {
173
+ const { sourcePath, destinationPath, scope } = fileScopeFromArgs(args);
174
+ const contentHash = fileContentHash(args);
175
+ if (changeKind === "failed") {
176
+ if (sourcePath && destinationPath && sourcePath !== destinationPath) {
177
+ return {
178
+ before: { ref: sourcePath },
179
+ after: { ref: destinationPath }
180
+ };
181
+ }
182
+ return {
183
+ before: sourcePath ? { ref: sourcePath } : void 0,
184
+ after: scope ? { ref: scope } : void 0
185
+ };
186
+ }
187
+ if (changeKind === "deleted") {
188
+ return {
189
+ before: scope ? { exists: true, ref: scope } : void 0,
190
+ after: { exists: false }
191
+ };
192
+ }
193
+ if (changeKind === "created") {
194
+ return {
195
+ after: {
196
+ exists: true,
197
+ ref: scope,
198
+ valueHash: contentHash
199
+ }
200
+ };
201
+ }
202
+ if (sourcePath && destinationPath && sourcePath !== destinationPath) {
203
+ return {
204
+ before: { exists: true, ref: sourcePath },
205
+ after: {
206
+ exists: true,
207
+ ref: destinationPath
208
+ }
209
+ };
210
+ }
211
+ return {
212
+ after: {
213
+ exists: true,
214
+ ref: scope,
215
+ valueHash: contentHash
216
+ }
217
+ };
218
+ }
219
+ function summarizeSnapshot(kind, changeKind, toolName, scope) {
220
+ const action = changeKind === "executed" ? "Executed" : changeKind === "failed" ? "Failed" : changeKind === "created" ? "Created" : changeKind === "deleted" ? "Deleted" : changeKind === "updated" ? "Updated" : "Observed";
221
+ if (kind === "process") return `${action} process via ${toolName}: ${scope}`;
222
+ if (kind === "file") return `${action} file via ${toolName}: ${scope}`;
223
+ return `${action} tool result from ${toolName}: ${scope}`;
224
+ }
225
+ function buildGenericToolAfterRef(outcome, parsedPayload) {
226
+ const valueHash = resultHash(parsedPayload);
227
+ return valueHash ? { valueHash } : { exists: outcome !== "failure" };
228
+ }
229
+ function snapshotIdFor(sessionKey, recordedAt, index, toolName, scope) {
230
+ const digest = crypto.createHash("sha256").update(`${sessionKey}|${recordedAt}|${index}|${toolName}|${scope}`).digest("hex").slice(0, 12);
231
+ return `obj-${digest}`;
232
+ }
233
+ function deriveObjectiveStateSnapshotsFromAgentMessages(options) {
234
+ const toolCallsById = getToolCallContexts(options.messages);
235
+ const snapshots = [];
236
+ for (const message of options.messages) {
237
+ if (message.role !== "tool") continue;
238
+ const toolCallId = toolCallIdForMessage(message);
239
+ const context = toolCallId ? toolCallsById.get(toolCallId) : void 0;
240
+ const toolName = toolNameForMessage(message, context);
241
+ if (!toolName) continue;
242
+ const parsedPayload = parseToolResultPayload(message.content);
243
+ const outcome = inferOutcome(message, parsedPayload);
244
+ const args = context?.args;
245
+ const command = pickString(args, ["cmd", "command", "script"]);
246
+ let kind = "tool";
247
+ let changeKind = outcome === "failure" ? "failed" : "observed";
248
+ let scope = toolName;
249
+ let before;
250
+ let after;
251
+ if (isProcessTool(toolName, args)) {
252
+ kind = "process";
253
+ changeKind = outcome === "failure" ? "failed" : "executed";
254
+ scope = command ?? toolName;
255
+ after = { exists: outcome !== "failure", valueHash: resultHash(parsedPayload) };
256
+ } else if (isFileTool(toolName, args)) {
257
+ kind = "file";
258
+ changeKind = inferFileChangeKind(toolName, outcome);
259
+ const fileScope = fileScopeFromArgs(args);
260
+ scope = fileScope.scope ?? toolName;
261
+ const refs = buildFileValueRefs(args, changeKind);
262
+ before = refs.before;
263
+ after = refs.after;
264
+ } else {
265
+ after = buildGenericToolAfterRef(outcome, parsedPayload);
266
+ }
267
+ snapshots.push({
268
+ schemaVersion: 1,
269
+ snapshotId: snapshotIdFor(options.sessionKey, options.recordedAt, snapshots.length, toolName, scope),
270
+ recordedAt: options.recordedAt,
271
+ sessionKey: options.sessionKey,
272
+ source: "tool_result",
273
+ kind,
274
+ changeKind,
275
+ scope,
276
+ summary: summarizeSnapshot(kind, changeKind, toolName, scope),
277
+ toolName,
278
+ command,
279
+ outcome,
280
+ before,
281
+ after,
282
+ tags: ["agent-end", `tool:${toolName}`],
283
+ metadata: toolCallId ? { toolCallId } : void 0
284
+ });
285
+ }
286
+ return snapshots;
287
+ }
288
+ async function recordObjectiveStateSnapshotsFromAgentMessages(options) {
289
+ if (!options.objectiveStateMemoryEnabled || !options.objectiveStateSnapshotWritesEnabled) {
290
+ return { snapshots: [], filePaths: [] };
291
+ }
292
+ const snapshots = deriveObjectiveStateSnapshotsFromAgentMessages({
293
+ sessionKey: options.sessionKey,
294
+ recordedAt: options.recordedAt,
295
+ messages: options.messages
296
+ });
297
+ const filePaths = [];
298
+ for (const snapshot of snapshots) {
299
+ filePaths.push(
300
+ await recordObjectiveStateSnapshot({
301
+ memoryDir: options.memoryDir,
302
+ objectiveStateStoreDir: options.objectiveStateStoreDir,
303
+ snapshot
304
+ })
305
+ );
306
+ }
307
+ return { snapshots, filePaths };
308
+ }
309
+ export {
310
+ deriveObjectiveStateSnapshotsFromAgentMessages,
311
+ recordObjectiveStateSnapshotsFromAgentMessages
312
+ };
313
+ //# sourceMappingURL=objective-state-writers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/objective-state-writers.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport {\n type ObjectiveStateChangeKind,\n type ObjectiveStateOutcome,\n type ObjectiveStateSnapshot,\n recordObjectiveStateSnapshot,\n} from \"./objective-state.js\";\n\ninterface ToolCallContext {\n toolName?: string;\n toolCallId?: string;\n args?: Record<string, unknown>;\n}\n\ninterface DerivedObjectiveStateResult {\n snapshots: ObjectiveStateSnapshot[];\n filePaths: string[];\n}\n\nfunction hashSha256(value: string): string {\n return crypto.createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction optionalString(value: unknown): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction toolNameTokens(toolName: string | undefined): string[] {\n if (!toolName) return [];\n return toolName\n .replace(/([a-z0-9])([A-Z])/g, \"$1_$2\")\n .toLowerCase()\n .split(/[^a-z0-9]+/)\n .filter((token) => token.length > 0);\n}\n\nfunction normalizedToolName(toolName: string | undefined): string {\n return toolNameTokens(toolName).join(\"_\");\n}\n\nfunction parseToolArguments(value: unknown): Record<string, unknown> | undefined {\n if (isRecord(value)) return value;\n if (typeof value !== \"string\") return undefined;\n try {\n const parsed = JSON.parse(value) as unknown;\n return isRecord(parsed) ? parsed : undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction extractTextContent(value: unknown): string {\n if (typeof value === \"string\") return value.trim();\n if (Array.isArray(value)) {\n return value\n .map((block) => {\n if (typeof block === \"string\") return block.trim();\n if (isRecord(block) && block.type === \"text\" && typeof block.text === \"string\") {\n return block.text.trim();\n }\n return \"\";\n })\n .filter((item) => item.length > 0)\n .join(\"\\n\");\n }\n if (isRecord(value)) {\n return JSON.stringify(value);\n }\n return \"\";\n}\n\nfunction parseToolResultPayload(content: unknown): unknown {\n const text = extractTextContent(content);\n if (text.length === 0) return undefined;\n try {\n return JSON.parse(text) as unknown;\n } catch {\n return text;\n }\n}\n\nfunction resultHash(value: unknown): string | undefined {\n if (value === undefined) return undefined;\n const canonical =\n typeof value === \"string\" ? value : JSON.stringify(value);\n if (!canonical || canonical.length === 0) return undefined;\n return `sha256:${hashSha256(canonical)}`;\n}\n\nfunction getToolCallContexts(messages: Array<Record<string, unknown>>): Map<string, ToolCallContext> {\n const contexts = new Map<string, ToolCallContext>();\n for (const message of messages) {\n if (message.role !== \"assistant\") continue;\n const toolCalls = message.tool_calls ?? message.toolCalls;\n if (!Array.isArray(toolCalls)) continue;\n for (const call of toolCalls) {\n if (!isRecord(call)) continue;\n const toolCallId = optionalString(call.id) ?? optionalString(call.toolCallId);\n if (!toolCallId) continue;\n const fn = isRecord(call.function) ? call.function : undefined;\n const toolName =\n optionalString(fn?.name) ??\n optionalString(call.name);\n const args =\n parseToolArguments(fn?.arguments) ??\n parseToolArguments(call.arguments) ??\n parseToolArguments(call.args) ??\n parseToolArguments(call.input);\n contexts.set(toolCallId, { toolCallId, toolName, args });\n }\n }\n return contexts;\n}\n\nfunction toolCallIdForMessage(message: Record<string, unknown>): string | undefined {\n return (\n optionalString(message.tool_call_id) ??\n optionalString(message.toolCallId) ??\n optionalString(message.tool_use_id) ??\n optionalString(message.toolUseId)\n );\n}\n\nfunction toolNameForMessage(message: Record<string, unknown>, context?: ToolCallContext): string | undefined {\n return (\n optionalString(message.name) ??\n optionalString(message.toolName) ??\n optionalString(message.tool) ??\n context?.toolName\n );\n}\n\nfunction pickString(args: Record<string, unknown> | undefined, keys: string[]): string | undefined {\n if (!args) return undefined;\n for (const key of keys) {\n const value = optionalString(args[key]);\n if (value) return value;\n }\n return undefined;\n}\n\nfunction pickFirstStringArrayValue(args: Record<string, unknown> | undefined, key: string): string | undefined {\n const value = args?.[key];\n if (!Array.isArray(value)) return undefined;\n for (const item of value) {\n const candidate = optionalString(item);\n if (candidate) return candidate;\n }\n return undefined;\n}\n\nfunction fileScopeFromArgs(args: Record<string, unknown> | undefined): {\n scope?: string;\n sourcePath?: string;\n destinationPath?: string;\n} {\n const destinationPath =\n pickString(args, [\"destination\", \"dest\", \"targetPath\", \"target\", \"to\"]) ??\n pickString(args, [\"path\", \"filePath\", \"workspacePath\", \"projectPath\"]) ??\n pickFirstStringArrayValue(args, \"paths\");\n const sourcePath =\n pickString(args, [\"source\", \"src\", \"from\", \"oldPath\"]);\n const scope = destinationPath ?? sourcePath;\n return { scope, sourcePath, destinationPath };\n}\n\nfunction fileContentHash(args: Record<string, unknown> | undefined): string | undefined {\n const content =\n pickString(args, [\"content\", \"patch\", \"diff\", \"text\", \"value\"]) ??\n args?.updates;\n return resultHash(content);\n}\n\nfunction inferOutcome(message: Record<string, unknown>, parsedPayload: unknown): ObjectiveStateOutcome {\n if (message.isError === true) return \"failure\";\n if (isRecord(parsedPayload)) {\n if (parsedPayload.partial === true || parsedPayload.status === \"partial\") return \"partial\";\n if (parsedPayload.success === false || parsedPayload.ok === false) return \"failure\";\n if (parsedPayload.success === true || parsedPayload.ok === true) return \"success\";\n if (typeof parsedPayload.exitCode === \"number\") {\n return parsedPayload.exitCode === 0 ? \"success\" : \"failure\";\n }\n if (optionalString(parsedPayload.error)) return \"failure\";\n if (parsedPayload.status === \"error\" || parsedPayload.status === \"failed\") return \"failure\";\n if (parsedPayload.status === \"ok\" || parsedPayload.status === \"success\") return \"success\";\n }\n if (typeof parsedPayload === \"string\") {\n const lowered = parsedPayload.toLowerCase();\n const loweredForFailure = lowered\n .replace(/\\b(?:previously\\s+)?failed tests?\\s+now\\s+pass(?:ed|es)?\\b/g, \"\");\n const hasZeroCountMarker = /\\b(?:0|no)\\s+(?:errors?|failures?|exceptions?|timeouts?)\\b/.test(lowered);\n const loweredForFailureCounts = loweredForFailure\n .replace(/\\b(?:0|no)\\s+errors?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+failures?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+exceptions?\\b/g, \"\")\n .replace(/\\b(?:0|no)\\s+timeouts?\\b/g, \"\");\n const hasNonZeroErrorCounts = /\\b[1-9]\\d*\\s+errors?\\b/.test(loweredForFailureCounts);\n const hasNegatedSuccessMarkers =\n /\\b(?:not|did not|didn't|doesn't|isn't|aren't|wasn't|weren't|won't|can't|couldn't|shouldn't|wouldn't)\\s+(?:ok|pass|passed|passes|succeeded|success)\\b/.test(loweredForFailure);\n const hasSuccessMarkers =\n /\\b(success|succeeded|pass|passes|passed|ok)\\b/.test(lowered) ||\n hasZeroCountMarker;\n const hasFailureMarkers =\n hasNegatedSuccessMarkers ||\n /\\b(exceptions?|failed|failures?|fatal|timeouts?|timed out)\\b/.test(loweredForFailureCounts) ||\n hasNonZeroErrorCounts ||\n /\\berrors?\\b/.test(loweredForFailureCounts) ||\n /\\b[a-z]+error\\b/.test(loweredForFailureCounts) ||\n /\\b[a-z]+exception\\b/.test(loweredForFailureCounts);\n\n if (hasFailureMarkers) return \"failure\";\n if (hasSuccessMarkers) return \"success\";\n }\n return \"unknown\";\n}\n\nfunction isProcessTool(toolName: string | undefined, args: Record<string, unknown> | undefined): boolean {\n const tokens = toolNameTokens(toolName);\n const normalizedName = normalizedToolName(toolName);\n if (pickString(args, [\"cmd\", \"command\", \"script\"])) return true;\n return [\"exec\", \"shell\", \"bash\", \"terminal\", \"run_command\", \"exec_command\"].some((token) =>\n token.includes(\"_\") ? normalizedName === token : tokens.includes(token),\n );\n}\n\nfunction isFileTool(toolName: string | undefined, args: Record<string, unknown> | undefined): boolean {\n const tokens = toolNameTokens(toolName);\n const fileScope = fileScopeFromArgs(args);\n if (fileScope.scope) return true;\n return [\"file\", \"path\", \"patch\", \"directory\", \"mkdir\", \"rename\", \"move\"].some((token) =>\n tokens.includes(token),\n );\n}\n\nfunction inferFileChangeKind(toolName: string | undefined, outcome: ObjectiveStateOutcome): ObjectiveStateChangeKind {\n if (outcome === \"failure\") return \"failed\";\n const tokens = toolNameTokens(toolName);\n if ([\"delete\", \"remove\", \"unlink\"].some((token) => tokens.includes(token))) return \"deleted\";\n if ([\"create\", \"mkdir\", \"new\"].some((token) => tokens.includes(token))) return \"created\";\n if ([\"write\", \"edit\", \"patch\", \"update\", \"append\", \"move\", \"rename\"].some((token) => tokens.includes(token))) {\n return \"updated\";\n }\n return \"observed\";\n}\n\nfunction buildFileValueRefs(\n args: Record<string, unknown> | undefined,\n changeKind: ObjectiveStateChangeKind,\n): Pick<ObjectiveStateSnapshot, \"before\" | \"after\"> {\n const { sourcePath, destinationPath, scope } = fileScopeFromArgs(args);\n const contentHash = fileContentHash(args);\n\n if (changeKind === \"failed\") {\n if (sourcePath && destinationPath && sourcePath !== destinationPath) {\n return {\n before: { ref: sourcePath },\n after: { ref: destinationPath },\n };\n }\n return {\n before: sourcePath ? { ref: sourcePath } : undefined,\n after: scope ? { ref: scope } : undefined,\n };\n }\n\n if (changeKind === \"deleted\") {\n return {\n before: scope ? { exists: true, ref: scope } : undefined,\n after: { exists: false },\n };\n }\n\n if (changeKind === \"created\") {\n return {\n after: {\n exists: true,\n ref: scope,\n valueHash: contentHash,\n },\n };\n }\n\n if (sourcePath && destinationPath && sourcePath !== destinationPath) {\n return {\n before: { exists: true, ref: sourcePath },\n after: {\n exists: true,\n ref: destinationPath,\n },\n };\n }\n\n return {\n after: {\n exists: true,\n ref: scope,\n valueHash: contentHash,\n },\n };\n}\n\nfunction summarizeSnapshot(\n kind: ObjectiveStateSnapshot[\"kind\"],\n changeKind: ObjectiveStateChangeKind,\n toolName: string,\n scope: string,\n): string {\n const action =\n changeKind === \"executed\"\n ? \"Executed\"\n : changeKind === \"failed\"\n ? \"Failed\"\n : changeKind === \"created\"\n ? \"Created\"\n : changeKind === \"deleted\"\n ? \"Deleted\"\n : changeKind === \"updated\"\n ? \"Updated\"\n : \"Observed\";\n if (kind === \"process\") return `${action} process via ${toolName}: ${scope}`;\n if (kind === \"file\") return `${action} file via ${toolName}: ${scope}`;\n return `${action} tool result from ${toolName}: ${scope}`;\n}\n\nfunction buildGenericToolAfterRef(outcome: ObjectiveStateOutcome, parsedPayload: unknown): ObjectiveStateSnapshot[\"after\"] {\n const valueHash = resultHash(parsedPayload);\n return valueHash ? { valueHash } : { exists: outcome !== \"failure\" };\n}\n\nfunction snapshotIdFor(\n sessionKey: string,\n recordedAt: string,\n index: number,\n toolName: string,\n scope: string,\n): string {\n const digest = crypto\n .createHash(\"sha256\")\n .update(`${sessionKey}|${recordedAt}|${index}|${toolName}|${scope}`)\n .digest(\"hex\")\n .slice(0, 12);\n return `obj-${digest}`;\n}\n\nexport function deriveObjectiveStateSnapshotsFromAgentMessages(options: {\n sessionKey: string;\n recordedAt: string;\n messages: Array<Record<string, unknown>>;\n}): ObjectiveStateSnapshot[] {\n const toolCallsById = getToolCallContexts(options.messages);\n const snapshots: ObjectiveStateSnapshot[] = [];\n\n for (const message of options.messages) {\n if (message.role !== \"tool\") continue;\n const toolCallId = toolCallIdForMessage(message);\n const context = toolCallId ? toolCallsById.get(toolCallId) : undefined;\n const toolName = toolNameForMessage(message, context);\n if (!toolName) continue;\n\n const parsedPayload = parseToolResultPayload(message.content);\n const outcome = inferOutcome(message, parsedPayload);\n const args = context?.args;\n const command = pickString(args, [\"cmd\", \"command\", \"script\"]);\n\n let kind: ObjectiveStateSnapshot[\"kind\"] = \"tool\";\n let changeKind: ObjectiveStateChangeKind = outcome === \"failure\" ? \"failed\" : \"observed\";\n let scope = toolName;\n let before: ObjectiveStateSnapshot[\"before\"];\n let after: ObjectiveStateSnapshot[\"after\"];\n\n if (isProcessTool(toolName, args)) {\n kind = \"process\";\n changeKind = outcome === \"failure\" ? \"failed\" : \"executed\";\n scope = command ?? toolName;\n after = { exists: outcome !== \"failure\", valueHash: resultHash(parsedPayload) };\n } else if (isFileTool(toolName, args)) {\n kind = \"file\";\n changeKind = inferFileChangeKind(toolName, outcome);\n const fileScope = fileScopeFromArgs(args);\n scope = fileScope.scope ?? toolName;\n const refs = buildFileValueRefs(args, changeKind);\n before = refs.before;\n after = refs.after;\n } else {\n after = buildGenericToolAfterRef(outcome, parsedPayload);\n }\n\n snapshots.push({\n schemaVersion: 1,\n snapshotId: snapshotIdFor(options.sessionKey, options.recordedAt, snapshots.length, toolName, scope),\n recordedAt: options.recordedAt,\n sessionKey: options.sessionKey,\n source: \"tool_result\",\n kind,\n changeKind,\n scope,\n summary: summarizeSnapshot(kind, changeKind, toolName, scope),\n toolName,\n command,\n outcome,\n before,\n after,\n tags: [\"agent-end\", `tool:${toolName}`],\n metadata: toolCallId ? { toolCallId } : undefined,\n });\n }\n\n return snapshots;\n}\n\nexport async function recordObjectiveStateSnapshotsFromAgentMessages(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n objectiveStateMemoryEnabled: boolean;\n objectiveStateSnapshotWritesEnabled: boolean;\n sessionKey: string;\n recordedAt: string;\n messages: Array<Record<string, unknown>>;\n}): Promise<DerivedObjectiveStateResult> {\n if (!options.objectiveStateMemoryEnabled || !options.objectiveStateSnapshotWritesEnabled) {\n return { snapshots: [], filePaths: [] };\n }\n\n const snapshots = deriveObjectiveStateSnapshotsFromAgentMessages({\n sessionKey: options.sessionKey,\n recordedAt: options.recordedAt,\n messages: options.messages,\n });\n\n const filePaths: string[] = [];\n for (const snapshot of snapshots) {\n filePaths.push(\n await recordObjectiveStateSnapshot({\n memoryDir: options.memoryDir,\n objectiveStateStoreDir: options.objectiveStateStoreDir,\n snapshot,\n }),\n );\n }\n\n return { snapshots, filePaths };\n}\n"],"mappings":"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","names":[]}