@remnic/core 1.1.11 → 1.1.13

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 (1462) hide show
  1. package/README.md +3 -3
  2. package/dist/access-cli.d.ts +2 -1
  3. package/dist/access-cli.js +293 -104
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +31 -62
  6. package/dist/access-http.js +53 -35
  7. package/dist/access-mcp.d.ts +31 -8
  8. package/dist/access-mcp.js +45 -34
  9. package/dist/access-schema.d.ts +197 -14
  10. package/dist/access-schema.js +16 -5
  11. package/dist/access-service-DcCDmNYC.d.ts +1542 -0
  12. package/dist/access-service.d.ts +30 -9
  13. package/dist/access-service.js +42 -32
  14. package/dist/action-confidence.d.ts +83 -0
  15. package/dist/action-confidence.js +22 -0
  16. package/dist/active-memory-bridge.d.ts +1 -1
  17. package/dist/active-memory-bridge.js +2 -2
  18. package/dist/active-recall.d.ts +1 -1
  19. package/dist/active-recall.js +11 -3
  20. package/dist/active-recall.js.map +1 -1
  21. package/dist/adapters/claude-code.d.ts +24 -0
  22. package/dist/adapters/claude-code.js +9 -0
  23. package/dist/adapters/codex.d.ts +25 -0
  24. package/dist/adapters/codex.js +9 -0
  25. package/dist/adapters/hermes.d.ts +35 -0
  26. package/dist/adapters/hermes.js +9 -0
  27. package/dist/adapters/index.d.ts +6 -0
  28. package/dist/adapters/index.js +26 -0
  29. package/dist/adapters/registry.d.ts +20 -0
  30. package/dist/adapters/registry.js +13 -0
  31. package/dist/adapters/replit.d.ts +28 -0
  32. package/dist/adapters/replit.js +9 -0
  33. package/dist/adapters/types.d.ts +43 -0
  34. package/dist/adapters/types.js +8 -0
  35. package/dist/behavior-learner.d.ts +1 -1
  36. package/dist/behavior-signals.d.ts +1 -1
  37. package/dist/bootstrap.d.ts +23 -6
  38. package/dist/boxes.d.ts +7 -0
  39. package/dist/boxes.js +1 -1
  40. package/dist/briefing.d.ts +5 -3
  41. package/dist/briefing.js +10 -7
  42. package/dist/buffer-surprise-report.d.ts +1 -1
  43. package/dist/buffer-surprise-report.js +1 -1
  44. package/dist/buffer.d.ts +18 -4
  45. package/dist/buffer.js +1 -1
  46. package/dist/calibration.d.ts +1 -1
  47. package/dist/calibration.js +6 -6
  48. package/dist/capsule-cli.d.ts +4 -4
  49. package/dist/capsule-cli.js +1 -1
  50. package/dist/capsule-crypto-5CYAGVC5.js +18 -0
  51. package/dist/capsule-merge-4MGKE7C5.js +189 -0
  52. package/dist/causal-behavior.d.ts +9 -29
  53. package/dist/causal-behavior.js +6 -3
  54. package/dist/causal-behavior.js.map +1 -1
  55. package/dist/causal-chain.js +3 -2
  56. package/dist/causal-consolidation.d.ts +2 -2
  57. package/dist/causal-consolidation.js +28 -17
  58. package/dist/causal-consolidation.js.map +1 -1
  59. package/dist/causal-retrieval.js +3 -3
  60. package/dist/causal-trajectory.js +1 -1
  61. package/dist/chunk-25MQ7IHJ.js +427 -0
  62. package/dist/chunk-25MQ7IHJ.js.map +1 -0
  63. package/dist/chunk-2F2W355T.js +256 -0
  64. package/dist/chunk-2F2W355T.js.map +1 -0
  65. package/dist/chunk-2KI4QFHU.js +228 -0
  66. package/dist/chunk-2KI4QFHU.js.map +1 -0
  67. package/dist/chunk-2PRQG7PV.js +86 -0
  68. package/dist/chunk-2PRQG7PV.js.map +1 -0
  69. package/dist/chunk-2QR3XXIC.js +2272 -0
  70. package/dist/chunk-2QR3XXIC.js.map +1 -0
  71. package/dist/chunk-2WWLHTZY.js +121 -0
  72. package/dist/chunk-326G7DJK.js +2185 -0
  73. package/dist/chunk-326G7DJK.js.map +1 -0
  74. package/dist/chunk-34DQE4KF.js +174 -0
  75. package/dist/chunk-34DQE4KF.js.map +1 -0
  76. package/dist/chunk-3APJ5EVB.js +601 -0
  77. package/dist/chunk-3APJ5EVB.js.map +1 -0
  78. package/dist/chunk-3HPAPHUK.js +51 -0
  79. package/dist/chunk-3HPAPHUK.js.map +1 -0
  80. package/dist/chunk-3JXBXXM2.js +69 -0
  81. package/dist/chunk-3JXBXXM2.js.map +1 -0
  82. package/dist/chunk-3KW65B36.js +681 -0
  83. package/dist/chunk-3KW65B36.js.map +1 -0
  84. package/dist/chunk-3UXOZBHV.js +20 -0
  85. package/dist/chunk-3UXOZBHV.js.map +1 -0
  86. package/dist/chunk-3VAL7ZL2.js +266 -0
  87. package/dist/chunk-3VAL7ZL2.js.map +1 -0
  88. package/dist/chunk-3Y4P7RXM.js +31 -0
  89. package/dist/chunk-3Y4P7RXM.js.map +1 -0
  90. package/dist/chunk-47VWKCAF.js +273 -0
  91. package/dist/chunk-47VWKCAF.js.map +1 -0
  92. package/dist/chunk-4CRG46BG.js +271 -0
  93. package/dist/chunk-4RA3C3EV.js +60 -0
  94. package/dist/chunk-4RA3C3EV.js.map +1 -0
  95. package/dist/chunk-5375UYTQ.js +914 -0
  96. package/dist/chunk-5375UYTQ.js.map +1 -0
  97. package/dist/chunk-56K5QLHX.js +506 -0
  98. package/dist/chunk-56K5QLHX.js.map +1 -0
  99. package/dist/chunk-5NXIJZFX.js +180 -0
  100. package/dist/chunk-5NXIJZFX.js.map +1 -0
  101. package/dist/chunk-5RGLBDQF.js +596 -0
  102. package/dist/chunk-5RGLBDQF.js.map +1 -0
  103. package/dist/chunk-5UZXUTVO.js +9 -0
  104. package/dist/chunk-5UZXUTVO.js.map +1 -0
  105. package/dist/chunk-65PG43EQ.js +105 -0
  106. package/dist/chunk-65PG43EQ.js.map +1 -0
  107. package/dist/chunk-66DHUKLO.js +57 -0
  108. package/dist/chunk-66DHUKLO.js.map +1 -0
  109. package/dist/chunk-6FC5EGNV.js +46 -0
  110. package/dist/chunk-6FC5EGNV.js.map +1 -0
  111. package/dist/chunk-6H2TESSP.js +62 -0
  112. package/dist/chunk-6H2TESSP.js.map +1 -0
  113. package/dist/chunk-6LVVDPJ4.js +32 -0
  114. package/dist/chunk-6LVVDPJ4.js.map +1 -0
  115. package/dist/chunk-6NKAQ74D.js +2237 -0
  116. package/dist/chunk-6NKAQ74D.js.map +1 -0
  117. package/dist/chunk-6RVI47ZR.js +159 -0
  118. package/dist/chunk-6RVI47ZR.js.map +1 -0
  119. package/dist/chunk-7AAT6G4Q.js +5117 -0
  120. package/dist/chunk-7AAT6G4Q.js.map +1 -0
  121. package/dist/chunk-7DTASS5T.js +29 -0
  122. package/dist/chunk-7DTASS5T.js.map +1 -0
  123. package/dist/chunk-7IASACLB.js +596 -0
  124. package/dist/chunk-7MNMYOFP.js +32 -0
  125. package/dist/chunk-7MNMYOFP.js.map +1 -0
  126. package/dist/chunk-7N4KAIGN.js +133 -0
  127. package/dist/chunk-7N4KAIGN.js.map +1 -0
  128. package/dist/chunk-7OZ53EXP.js +101 -0
  129. package/dist/chunk-7OZ53EXP.js.map +1 -0
  130. package/dist/chunk-7XYTQGCC.js +134 -0
  131. package/dist/chunk-7XYTQGCC.js.map +1 -0
  132. package/dist/chunk-A2XUIMJ3.js +341 -0
  133. package/dist/chunk-A2XUIMJ3.js.map +1 -0
  134. package/dist/chunk-AC5LO7IU.js +308 -0
  135. package/dist/chunk-AC5LO7IU.js.map +1 -0
  136. package/dist/chunk-AGZQD76C.js +201 -0
  137. package/dist/chunk-AGZQD76C.js.map +1 -0
  138. package/dist/chunk-AH2JUU6X.js +336 -0
  139. package/dist/chunk-AH2JUU6X.js.map +1 -0
  140. package/dist/chunk-APO3DCMU.js +361 -0
  141. package/dist/chunk-APO3DCMU.js.map +1 -0
  142. package/dist/chunk-BFBF3XEF.js +283 -0
  143. package/dist/chunk-BFBF3XEF.js.map +1 -0
  144. package/dist/chunk-BJ3KMYTB.js +1974 -0
  145. package/dist/chunk-BJ3KMYTB.js.map +1 -0
  146. package/dist/chunk-C5BCH4ZS.js +317 -0
  147. package/dist/chunk-C5BCH4ZS.js.map +1 -0
  148. package/dist/chunk-CHEL3SKB.js +6758 -0
  149. package/dist/chunk-CHEL3SKB.js.map +1 -0
  150. package/dist/chunk-CQZRLNMV.js +1491 -0
  151. package/dist/chunk-CQZRLNMV.js.map +1 -0
  152. package/dist/chunk-D46YSIYX.js +892 -0
  153. package/dist/chunk-D46YSIYX.js.map +1 -0
  154. package/dist/chunk-DB5A3NHS.js +906 -0
  155. package/dist/chunk-DB5A3NHS.js.map +1 -0
  156. package/dist/chunk-DINWEURR.js +648 -0
  157. package/dist/chunk-DINWEURR.js.map +1 -0
  158. package/dist/chunk-DK5LDEQM.js +530 -0
  159. package/dist/chunk-DK5LDEQM.js.map +1 -0
  160. package/dist/chunk-DOM4GKSW.js +34 -0
  161. package/dist/chunk-DOM4GKSW.js.map +1 -0
  162. package/dist/chunk-EDTHC6UD.js +1075 -0
  163. package/dist/chunk-EDTHC6UD.js.map +1 -0
  164. package/dist/chunk-EFJ3MQ4V.js +721 -0
  165. package/dist/chunk-EHRTFRWW.js +89 -0
  166. package/dist/chunk-EHRTFRWW.js.map +1 -0
  167. package/dist/chunk-FAJ7FZYM.js +11 -0
  168. package/dist/chunk-FAJ7FZYM.js.map +1 -0
  169. package/dist/chunk-FBYESMQ2.js +570 -0
  170. package/dist/chunk-FBYESMQ2.js.map +1 -0
  171. package/dist/chunk-FDU6HUUL.js +147 -0
  172. package/dist/chunk-FF4KLI5W.js +99 -0
  173. package/dist/chunk-FF4KLI5W.js.map +1 -0
  174. package/dist/chunk-FIT6DMX6.js +310 -0
  175. package/dist/chunk-FIT6DMX6.js.map +1 -0
  176. package/dist/chunk-FJ43PRLT.js +272 -0
  177. package/dist/chunk-FJ43PRLT.js.map +1 -0
  178. package/dist/chunk-FKFMOY3N.js +32 -0
  179. package/dist/chunk-FKFMOY3N.js.map +1 -0
  180. package/dist/chunk-FLTNHQK6.js +262 -0
  181. package/dist/chunk-FLTNHQK6.js.map +1 -0
  182. package/dist/chunk-GA454ALV.js +12436 -0
  183. package/dist/chunk-GA454ALV.js.map +1 -0
  184. package/dist/chunk-GGKRUQOO.js +228 -0
  185. package/dist/chunk-GIF42EW3.js +63 -0
  186. package/dist/chunk-GIF42EW3.js.map +1 -0
  187. package/dist/chunk-GL6I6MEQ.js +647 -0
  188. package/dist/chunk-H3ME6L6D.js +709 -0
  189. package/dist/chunk-H3ME6L6D.js.map +1 -0
  190. package/dist/chunk-HHLLAQGZ.js +1 -0
  191. package/dist/chunk-HXXBL2KD.js +2040 -0
  192. package/dist/chunk-I5V2VDIW.js +219 -0
  193. package/dist/chunk-I5V2VDIW.js.map +1 -0
  194. package/dist/chunk-I6K5FBRQ.js +35 -0
  195. package/dist/chunk-I6K5FBRQ.js.map +1 -0
  196. package/dist/chunk-ICRIXAP2.js +121 -0
  197. package/dist/chunk-ICRIXAP2.js.map +1 -0
  198. package/dist/chunk-J4EB7DNW.js +11 -0
  199. package/dist/chunk-J4EB7DNW.js.map +1 -0
  200. package/dist/chunk-JLFA7DQG.js +62 -0
  201. package/dist/chunk-JLFA7DQG.js.map +1 -0
  202. package/dist/chunk-KJTKLXTH.js +9 -0
  203. package/dist/chunk-KJTKLXTH.js.map +1 -0
  204. package/dist/chunk-KLAO5DGL.js +917 -0
  205. package/dist/chunk-KLAO5DGL.js.map +1 -0
  206. package/dist/chunk-KNKUID7G.js +183 -0
  207. package/dist/chunk-KOSORCJG.js +624 -0
  208. package/dist/chunk-KOSORCJG.js.map +1 -0
  209. package/dist/chunk-KUJVMMZQ.js +1262 -0
  210. package/dist/chunk-KUJVMMZQ.js.map +1 -0
  211. package/dist/chunk-LCR46JY5.js +123 -0
  212. package/dist/chunk-LCR46JY5.js.map +1 -0
  213. package/dist/chunk-LLQ2LLWF.js +148 -0
  214. package/dist/chunk-LLQ2LLWF.js.map +1 -0
  215. package/dist/chunk-LPMVBPA3.js +236 -0
  216. package/dist/chunk-LT3NLYSI.js +50 -0
  217. package/dist/chunk-LT3NLYSI.js.map +1 -0
  218. package/dist/chunk-LUDTDZLK.js +287 -0
  219. package/dist/chunk-LUDTDZLK.js.map +1 -0
  220. package/dist/chunk-M23FSH32.js +3963 -0
  221. package/dist/chunk-M23FSH32.js.map +1 -0
  222. package/dist/chunk-MC26UJIM.js +118 -0
  223. package/dist/chunk-ME6ESPZU.js +119 -0
  224. package/dist/chunk-ME6ESPZU.js.map +1 -0
  225. package/dist/chunk-MGKYQQYF.js +272 -0
  226. package/dist/chunk-MGKYQQYF.js.map +1 -0
  227. package/dist/chunk-MJFNCJXV.js +66 -0
  228. package/dist/chunk-MJFNCJXV.js.map +1 -0
  229. package/dist/chunk-MSWG7JI6.js +237 -0
  230. package/dist/chunk-MSWG7JI6.js.map +1 -0
  231. package/dist/chunk-MT25YHYH.js +141 -0
  232. package/dist/chunk-MT25YHYH.js.map +1 -0
  233. package/dist/chunk-MT4HVDUZ.js +53 -0
  234. package/dist/chunk-MY6TPVXW.js +219 -0
  235. package/dist/chunk-N2D6GXBM.js +267 -0
  236. package/dist/chunk-N2D6GXBM.js.map +1 -0
  237. package/dist/chunk-NJ3MJQZX.js +46 -0
  238. package/dist/chunk-NJ3MJQZX.js.map +1 -0
  239. package/dist/chunk-NMZY542O.js +335 -0
  240. package/dist/chunk-NMZY542O.js.map +1 -0
  241. package/dist/chunk-NNVTUXEB.js +23 -0
  242. package/dist/chunk-NZL6GGQE.js +375 -0
  243. package/dist/chunk-NZL6GGQE.js.map +1 -0
  244. package/dist/chunk-OAZ5MFUB.js +4124 -0
  245. package/dist/chunk-OAZ5MFUB.js.map +1 -0
  246. package/dist/chunk-OIGNEXKZ.js +237 -0
  247. package/dist/chunk-OIGNEXKZ.js.map +1 -0
  248. package/dist/chunk-OZKZ2TRP.js +3729 -0
  249. package/dist/chunk-OZKZ2TRP.js.map +1 -0
  250. package/dist/chunk-P4NEIHUT.js +108 -0
  251. package/dist/chunk-P7FMDTKL.js +103 -0
  252. package/dist/chunk-P7FMDTKL.js.map +1 -0
  253. package/dist/chunk-PD6O7AXF.js +110 -0
  254. package/dist/chunk-PD6O7AXF.js.map +1 -0
  255. package/dist/chunk-PHK3HARR.js +32 -0
  256. package/dist/chunk-PHK3HARR.js.map +1 -0
  257. package/dist/chunk-PIRJPV5T.js +98 -0
  258. package/dist/chunk-PIRJPV5T.js.map +1 -0
  259. package/dist/chunk-PK7H5L6Y.js +159 -0
  260. package/dist/chunk-PK7H5L6Y.js.map +1 -0
  261. package/dist/chunk-PR5FBTFU.js +233 -0
  262. package/dist/chunk-PR5FBTFU.js.map +1 -0
  263. package/dist/chunk-PU63GXWS.js +174 -0
  264. package/dist/chunk-PU63GXWS.js.map +1 -0
  265. package/dist/chunk-PYPOFEMK.js +294 -0
  266. package/dist/chunk-PYPOFEMK.js.map +1 -0
  267. package/dist/chunk-PZIAX57I.js +124 -0
  268. package/dist/chunk-PZIAX57I.js.map +1 -0
  269. package/dist/chunk-Q7P4WJDP.js +26 -0
  270. package/dist/chunk-Q7P4WJDP.js.map +1 -0
  271. package/dist/chunk-QDZ2RLEC.js +908 -0
  272. package/dist/chunk-QDZ2RLEC.js.map +1 -0
  273. package/dist/chunk-QQUAB63I.js +63 -0
  274. package/dist/chunk-QQUAB63I.js.map +1 -0
  275. package/dist/chunk-QRNI5JBH.js +18 -0
  276. package/dist/chunk-RHY3HH7P.js +601 -0
  277. package/dist/chunk-RHY3HH7P.js.map +1 -0
  278. package/dist/chunk-RK6F44Y6.js +84 -0
  279. package/dist/chunk-RK6F44Y6.js.map +1 -0
  280. package/dist/chunk-RRF5UOBJ.js +91 -0
  281. package/dist/chunk-RXDLTSWT.js +124 -0
  282. package/dist/chunk-RXDLTSWT.js.map +1 -0
  283. package/dist/chunk-RYED3SPJ.js +42 -0
  284. package/dist/chunk-RYED3SPJ.js.map +1 -0
  285. package/dist/chunk-S7KDBTWT.js +106 -0
  286. package/dist/chunk-S7KDBTWT.js.map +1 -0
  287. package/dist/chunk-SEDEKFYQ.js +1 -0
  288. package/dist/chunk-SOAU2OE2.js +125 -0
  289. package/dist/chunk-SOAU2OE2.js.map +1 -0
  290. package/dist/chunk-TECVW3JP.js +36 -0
  291. package/dist/chunk-TECVW3JP.js.map +1 -0
  292. package/dist/chunk-TFO23QT4.js +88 -0
  293. package/dist/chunk-TFO23QT4.js.map +1 -0
  294. package/dist/chunk-TK4UEOSK.js +76 -0
  295. package/dist/chunk-TK4UEOSK.js.map +1 -0
  296. package/dist/chunk-TKWGAOLV.js +122 -0
  297. package/dist/chunk-TKWGAOLV.js.map +1 -0
  298. package/dist/chunk-TMM4S4IJ.js +597 -0
  299. package/dist/chunk-TMM4S4IJ.js.map +1 -0
  300. package/dist/chunk-TMQLARTH.js +188 -0
  301. package/dist/chunk-TMQLARTH.js.map +1 -0
  302. package/dist/chunk-TPDBFYEG.js +130 -0
  303. package/dist/chunk-TPDBFYEG.js.map +1 -0
  304. package/dist/chunk-TPMQ3G6Z.js +145 -0
  305. package/dist/chunk-TPMQ3G6Z.js.map +1 -0
  306. package/dist/chunk-TZOLIGIG.js +61 -0
  307. package/dist/chunk-TZOLIGIG.js.map +1 -0
  308. package/dist/chunk-U3PN77QT.js +113 -0
  309. package/dist/chunk-U3WSW6PZ.js +277 -0
  310. package/dist/chunk-U4SCL7B7.js +640 -0
  311. package/dist/chunk-U4SCL7B7.js.map +1 -0
  312. package/dist/chunk-UWK5OXUJ.js +156 -0
  313. package/dist/chunk-UWK5OXUJ.js.map +1 -0
  314. package/dist/chunk-UWVJF25J.js +74 -0
  315. package/dist/chunk-UXHQAFNA.js +1317 -0
  316. package/dist/chunk-UXHQAFNA.js.map +1 -0
  317. package/dist/chunk-V5OCT34X.js +1 -0
  318. package/dist/chunk-V5OCT34X.js.map +1 -0
  319. package/dist/chunk-VLXA6PI2.js +304 -0
  320. package/dist/chunk-VLXA6PI2.js.map +1 -0
  321. package/dist/chunk-VNO6ZJ35.js +500 -0
  322. package/dist/chunk-VNO6ZJ35.js.map +1 -0
  323. package/dist/chunk-VW676BEI.js +827 -0
  324. package/dist/chunk-VW676BEI.js.map +1 -0
  325. package/dist/chunk-VWT3F4IV.js +2161 -0
  326. package/dist/chunk-VWT3F4IV.js.map +1 -0
  327. package/dist/chunk-W3LR522O.js +2296 -0
  328. package/dist/chunk-W3LR522O.js.map +1 -0
  329. package/dist/chunk-W4L6CZKA.js +96 -0
  330. package/dist/chunk-W4L6CZKA.js.map +1 -0
  331. package/dist/chunk-W4RVMTHR.js +372 -0
  332. package/dist/chunk-W4RVMTHR.js.map +1 -0
  333. package/dist/chunk-WEHSQBFR.js +188 -0
  334. package/dist/chunk-WEHSQBFR.js.map +1 -0
  335. package/dist/chunk-WELDCG6C.js +380 -0
  336. package/dist/chunk-WELDCG6C.js.map +1 -0
  337. package/dist/chunk-WZYKANL3.js +2800 -0
  338. package/dist/chunk-WZYKANL3.js.map +1 -0
  339. package/dist/chunk-XIG5PDM7.js +48 -0
  340. package/dist/chunk-XJNBEDFE.js +193 -0
  341. package/dist/chunk-XJNBEDFE.js.map +1 -0
  342. package/dist/chunk-XVVIG67A.js +291 -0
  343. package/dist/chunk-XVVIG67A.js.map +1 -0
  344. package/dist/chunk-XVZ7B3HG.js +135 -0
  345. package/dist/chunk-YBPYIAA5.js +73 -0
  346. package/dist/chunk-YBPYIAA5.js.map +1 -0
  347. package/dist/chunk-Z734BLO3.js +21 -0
  348. package/dist/chunk-Z734BLO3.js.map +1 -0
  349. package/dist/chunk-ZKSK55RC.js +269 -0
  350. package/dist/chunk-ZKSK55RC.js.map +1 -0
  351. package/dist/chunk-ZTFCYYEZ.js +69 -0
  352. package/dist/chunk-ZTFCYYEZ.js.map +1 -0
  353. package/dist/chunk-ZY2MNJR6.js +329 -0
  354. package/dist/chunk-ZY2MNJR6.js.map +1 -0
  355. package/dist/cli-D3VpkVwB.d.ts +1136 -0
  356. package/dist/cli.d.ts +42 -10
  357. package/dist/cli.js +121 -58
  358. package/dist/codex-cli-fallback.d.ts +1 -0
  359. package/dist/codex-cli-fallback.js +1 -1
  360. package/dist/commitment-ledger.js +1 -1
  361. package/dist/compat/checks.d.ts +5 -0
  362. package/dist/compat/checks.js +11 -0
  363. package/dist/compat/checks.js.map +1 -0
  364. package/dist/compat/types.d.ts +30 -0
  365. package/dist/compat/types.js +1 -0
  366. package/dist/compat/types.js.map +1 -0
  367. package/dist/compounding/engine.d.ts +221 -0
  368. package/dist/compounding/engine.js +32 -0
  369. package/dist/compounding/engine.js.map +1 -0
  370. package/dist/compounding/preference-consolidator.d.ts +92 -0
  371. package/dist/compounding/preference-consolidator.js +553 -0
  372. package/dist/compounding/preference-consolidator.js.map +1 -0
  373. package/dist/compression-optimizer.d.ts +1 -1
  374. package/dist/config.d.ts +5 -3
  375. package/dist/config.js +9 -4
  376. package/dist/conflict-policy-DyJ2wd-h.d.ts +4 -0
  377. package/dist/connectors/codex-materialize-runner.d.ts +64 -0
  378. package/dist/connectors/codex-materialize-runner.js +33 -0
  379. package/dist/connectors/codex-materialize-runner.js.map +1 -0
  380. package/dist/connectors/codex-materialize.d.ts +195 -0
  381. package/dist/connectors/codex-materialize.js +38 -0
  382. package/dist/connectors/codex-materialize.js.map +1 -0
  383. package/dist/connectors/index.d.ts +444 -0
  384. package/dist/connectors/index.js +115 -0
  385. package/dist/connectors/index.js.map +1 -0
  386. package/dist/connectors-cli-CwbyjGR7.d.ts +257 -0
  387. package/dist/connectors-cli.d.ts +1 -1
  388. package/dist/consolidation-provenance-check.d.ts +4 -2
  389. package/dist/consolidation-undo.d.ts +4 -2
  390. package/dist/contradiction/index.d.ts +258 -0
  391. package/dist/contradiction/index.js +43 -0
  392. package/dist/contradiction/index.js.map +1 -0
  393. package/dist/contradiction-review-ATP4S6IC.js +30 -0
  394. package/dist/contradiction-review-ATP4S6IC.js.map +1 -0
  395. package/dist/contradiction-scan-5A4IDZV5.js +13 -0
  396. package/dist/contradiction-scan-5A4IDZV5.js.map +1 -0
  397. package/dist/conversation-index/backend.d.ts +97 -0
  398. package/dist/conversation-index/backend.js +13 -0
  399. package/dist/conversation-index/backend.js.map +1 -0
  400. package/dist/conversation-index/chunker.d.ts +16 -0
  401. package/dist/conversation-index/chunker.js +8 -0
  402. package/dist/conversation-index/chunker.js.map +1 -0
  403. package/dist/conversation-index/cleanup.d.ts +11 -0
  404. package/dist/conversation-index/cleanup.js +9 -0
  405. package/dist/conversation-index/cleanup.js.map +1 -0
  406. package/dist/conversation-index/faiss-adapter.d.ts +6 -0
  407. package/dist/conversation-index/faiss-adapter.js +16 -0
  408. package/dist/conversation-index/faiss-adapter.js.map +1 -0
  409. package/dist/conversation-index/indexer.d.ts +23 -0
  410. package/dist/conversation-index/indexer.js +15 -0
  411. package/dist/conversation-index/indexer.js.map +1 -0
  412. package/dist/conversation-index/search.d.ts +6 -0
  413. package/dist/conversation-index/search.js +11 -0
  414. package/dist/conversation-index/search.js.map +1 -0
  415. package/dist/day-summary.d.ts +1 -1
  416. package/dist/delinearize.d.ts +1 -1
  417. package/dist/direct-answer-wiring.d.ts +1 -1
  418. package/dist/direct-answer-wiring.js +1 -1
  419. package/dist/direct-answer.d.ts +1 -1
  420. package/dist/embedding-fallback.d.ts +1 -1
  421. package/dist/embedding-fallback.js +2 -2
  422. package/dist/enrichment/index.d.ts +163 -0
  423. package/dist/enrichment/index.js +18 -0
  424. package/dist/enrichment/index.js.map +1 -0
  425. package/dist/entity-retrieval.d.ts +4 -2
  426. package/dist/entity-retrieval.js +9 -6
  427. package/dist/entity-schema.d.ts +1 -1
  428. package/dist/evals.js +1 -1
  429. package/dist/event-order-recall.d.ts +17 -0
  430. package/dist/event-order-recall.js +11 -0
  431. package/dist/event-order-recall.js.map +1 -0
  432. package/dist/evidence-pack.d.ts +3 -1
  433. package/dist/evidence-pack.js +5 -3
  434. package/dist/explicit-capture.d.ts +23 -6
  435. package/dist/explicit-capture.js +2 -2
  436. package/dist/explicit-cue-recall.d.ts +4 -1
  437. package/dist/explicit-cue-recall.js +4 -2
  438. package/dist/extraction-judge-telemetry.d.ts +1 -1
  439. package/dist/extraction-judge-training.d.ts +1 -1
  440. package/dist/extraction-judge-training.js +1 -1
  441. package/dist/extraction-judge.d.ts +1 -1
  442. package/dist/extraction.d.ts +1 -1
  443. package/dist/extraction.js +11 -10
  444. package/dist/faiss-adapter-CzPghc4C.d.ts +70 -0
  445. package/dist/fallback-llm.d.ts +4 -1
  446. package/dist/fallback-llm.js +6 -6
  447. package/dist/focused-list-recall.d.ts +17 -0
  448. package/dist/focused-list-recall.js +11 -0
  449. package/dist/focused-list-recall.js.map +1 -0
  450. package/dist/graph-edge-decay-5DI5GUNL.js +207 -0
  451. package/dist/identity-continuity.d.ts +1 -1
  452. package/dist/importance.d.ts +1 -1
  453. package/dist/index-DJ9QWMw-.d.ts +35 -0
  454. package/dist/index.d.ts +107 -715
  455. package/dist/index.js +657 -2611
  456. package/dist/index.js.map +1 -1
  457. package/dist/intent.d.ts +1 -1
  458. package/dist/intent.js +1 -1
  459. package/dist/lcm/archive.d.ts +89 -0
  460. package/dist/lcm/archive.js +12 -0
  461. package/dist/lcm/archive.js.map +1 -0
  462. package/dist/lcm/dag.d.ts +48 -0
  463. package/dist/lcm/dag.js +8 -0
  464. package/dist/lcm/dag.js.map +1 -0
  465. package/dist/lcm/engine.d.ts +116 -0
  466. package/dist/lcm/engine.js +20 -0
  467. package/dist/lcm/engine.js.map +1 -0
  468. package/dist/lcm/index.d.ts +12 -0
  469. package/dist/lcm/index.js +44 -0
  470. package/dist/lcm/index.js.map +1 -0
  471. package/dist/lcm/queue.d.ts +62 -0
  472. package/dist/lcm/queue.js +8 -0
  473. package/dist/lcm/queue.js.map +1 -0
  474. package/dist/lcm/recall.d.ts +20 -0
  475. package/dist/lcm/recall.js +8 -0
  476. package/dist/lcm/recall.js.map +1 -0
  477. package/dist/lcm/schema.d.ts +16 -0
  478. package/dist/lcm/schema.js +14 -0
  479. package/dist/lcm/schema.js.map +1 -0
  480. package/dist/lcm/summarizer.d.ts +38 -0
  481. package/dist/lcm/summarizer.js +12 -0
  482. package/dist/lcm/summarizer.js.map +1 -0
  483. package/dist/lcm/tools.d.ts +29 -0
  484. package/dist/lcm/tools.js +8 -0
  485. package/dist/lcm/tools.js.map +1 -0
  486. package/dist/lifecycle.d.ts +1 -1
  487. package/dist/live-connectors-runner.d.ts +1 -1
  488. package/dist/live-connectors-runner.js +5 -5
  489. package/dist/local-llm.d.ts +8 -4
  490. package/dist/local-llm.js +3 -3
  491. package/dist/maintenance/archive-observations.d.ts +18 -0
  492. package/dist/maintenance/archive-observations.js +8 -0
  493. package/dist/maintenance/archive-observations.js.map +1 -0
  494. package/dist/maintenance/backup-stamp.d.ts +3 -0
  495. package/dist/maintenance/backup-stamp.js +8 -0
  496. package/dist/maintenance/backup-stamp.js.map +1 -0
  497. package/dist/maintenance/memory-governance-cron.d.ts +85 -0
  498. package/dist/maintenance/memory-governance-cron.js +22 -0
  499. package/dist/maintenance/memory-governance-cron.js.map +1 -0
  500. package/dist/maintenance/memory-governance.d.ts +137 -0
  501. package/dist/maintenance/memory-governance.js +40 -0
  502. package/dist/maintenance/memory-governance.js.map +1 -0
  503. package/dist/maintenance/migrate-observations.d.ts +18 -0
  504. package/dist/maintenance/migrate-observations.js +9 -0
  505. package/dist/maintenance/migrate-observations.js.map +1 -0
  506. package/dist/maintenance/observation-ledger-utils.d.ts +10 -0
  507. package/dist/maintenance/observation-ledger-utils.js +10 -0
  508. package/dist/maintenance/observation-ledger-utils.js.map +1 -0
  509. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +15 -0
  510. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +28 -0
  511. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js.map +1 -0
  512. package/dist/maintenance/rebuild-memory-projection.d.ts +77 -0
  513. package/dist/maintenance/rebuild-memory-projection.js +35 -0
  514. package/dist/maintenance/rebuild-memory-projection.js.map +1 -0
  515. package/dist/maintenance/rebuild-observations.d.ts +17 -0
  516. package/dist/maintenance/rebuild-observations.js +9 -0
  517. package/dist/maintenance/rebuild-observations.js.map +1 -0
  518. package/dist/mcp-memory-inspector-app.d.ts +124 -0
  519. package/dist/mcp-memory-inspector-app.js +20 -0
  520. package/dist/mcp-memory-inspector-app.js.map +1 -0
  521. package/dist/memory-action-policy.d.ts +1 -1
  522. package/dist/memory-cache.d.ts +1 -1
  523. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  524. package/dist/memory-projection-store.d.ts +108 -3
  525. package/dist/memory-projection-store.js +2 -1
  526. package/dist/memory-provenance.d.ts +57 -0
  527. package/dist/memory-provenance.js +13 -0
  528. package/dist/memory-provenance.js.map +1 -0
  529. package/dist/memory-worth-outcomes.d.ts +4 -2
  530. package/dist/migrate/from-engram.d.ts +24 -0
  531. package/dist/migrate/from-engram.js +12 -0
  532. package/dist/migrate/from-engram.js.map +1 -0
  533. package/dist/models-json.d.ts +1 -1
  534. package/dist/namespaces/migrate.d.ts +50 -0
  535. package/dist/namespaces/migrate.js +50 -0
  536. package/dist/namespaces/migrate.js.map +1 -0
  537. package/dist/namespaces/principal.d.ts +17 -0
  538. package/dist/namespaces/principal.js +16 -0
  539. package/dist/namespaces/principal.js.map +1 -0
  540. package/dist/namespaces/search.d.ts +46 -0
  541. package/dist/namespaces/search.js +28 -0
  542. package/dist/namespaces/search.js.map +1 -0
  543. package/dist/namespaces/storage.d.ts +32 -0
  544. package/dist/namespaces/storage.js +28 -0
  545. package/dist/namespaces/storage.js.map +1 -0
  546. package/dist/native-knowledge.d.ts +1 -1
  547. package/dist/network/tailscale.d.ts +41 -0
  548. package/dist/network/tailscale.js +9 -0
  549. package/dist/network/tailscale.js.map +1 -0
  550. package/dist/network/webdav.d.ts +39 -0
  551. package/dist/network/webdav.js +10 -0
  552. package/dist/network/webdav.js.map +1 -0
  553. package/dist/objective-state-writers.d.ts +1 -1
  554. package/dist/objective-state-writers.js +2 -2
  555. package/dist/operator-toolkit.d.ts +4 -2
  556. package/dist/operator-toolkit.js +35 -17
  557. package/dist/opik-exporter.js +2 -2
  558. package/dist/opik-exporter.js.map +1 -1
  559. package/dist/orchestrator-DuWl9Hwx.d.ts +1244 -0
  560. package/dist/orchestrator.d.ts +24 -7
  561. package/dist/orchestrator.js +107 -65
  562. package/dist/path-MR5JPYOP.js +9 -0
  563. package/dist/path-MR5JPYOP.js.map +1 -0
  564. package/dist/patterns-cli.d.ts +1 -1
  565. package/dist/policy-runtime.d.ts +1 -1
  566. package/dist/qmd-recall-cache.d.ts +2 -2
  567. package/dist/qmd.d.ts +103 -4
  568. package/dist/qmd.js +23 -5
  569. package/dist/recall-disclosure-escalation.d.ts +1 -1
  570. package/dist/recall-explain-renderer.d.ts +3 -1
  571. package/dist/recall-explain-renderer.js +5 -3
  572. package/dist/recall-state.d.ts +1 -1
  573. package/dist/recall-tag-filter.d.ts +3 -1
  574. package/dist/recall-xray-cli.d.ts +3 -1
  575. package/dist/recall-xray-cli.js +6 -4
  576. package/dist/recall-xray-renderer.d.ts +3 -1
  577. package/dist/recall-xray-renderer.js +5 -3
  578. package/dist/recall-xray.d.ts +8 -1
  579. package/dist/recall-xray.js +4 -2
  580. package/dist/replay/normalizers/chatgpt.d.ts +6 -0
  581. package/dist/replay/normalizers/chatgpt.js +11 -0
  582. package/dist/replay/normalizers/chatgpt.js.map +1 -0
  583. package/dist/replay/normalizers/claude.d.ts +6 -0
  584. package/dist/replay/normalizers/claude.js +11 -0
  585. package/dist/replay/normalizers/claude.js.map +1 -0
  586. package/dist/replay/normalizers/openclaw.d.ts +6 -0
  587. package/dist/replay/normalizers/openclaw.js +11 -0
  588. package/dist/replay/normalizers/openclaw.js.map +1 -0
  589. package/dist/replay/normalizers/shared.d.ts +16 -0
  590. package/dist/replay/normalizers/shared.js +14 -0
  591. package/dist/replay/normalizers/shared.js.map +1 -0
  592. package/dist/replay/runner.d.ts +35 -0
  593. package/dist/replay/runner.js +16 -0
  594. package/dist/replay/runner.js.map +1 -0
  595. package/dist/replay/types.d.ts +57 -0
  596. package/dist/replay/types.js +19 -0
  597. package/dist/replay/types.js.map +1 -0
  598. package/dist/resolution-B7FNQSSP.js +12 -0
  599. package/dist/resolution-B7FNQSSP.js.map +1 -0
  600. package/dist/resolve-auth-token.d.ts +1 -1
  601. package/dist/resolve-provider-secret.js +2 -2
  602. package/dist/response-guidance-recall.d.ts +18 -0
  603. package/dist/response-guidance-recall.js +11 -0
  604. package/dist/response-guidance-recall.js.map +1 -0
  605. package/dist/resume-bundles.js +7 -5
  606. package/dist/retrieval-agents.d.ts +2 -2
  607. package/dist/retrieval-tiers.d.ts +1 -1
  608. package/dist/routing/engine.d.ts +35 -0
  609. package/dist/routing/engine.js +16 -0
  610. package/dist/routing/engine.js.map +1 -0
  611. package/dist/routing/store.d.ts +27 -0
  612. package/dist/routing/store.js +10 -0
  613. package/dist/routing/store.js.map +1 -0
  614. package/dist/runtime/better-sqlite.d.ts +8 -0
  615. package/dist/runtime/better-sqlite.js +10 -0
  616. package/dist/runtime/better-sqlite.js.map +1 -0
  617. package/dist/runtime/child-process.d.ts +32 -0
  618. package/dist/runtime/child-process.js +10 -0
  619. package/dist/runtime/child-process.js.map +1 -0
  620. package/dist/runtime/env.d.ts +5 -0
  621. package/dist/runtime/env.js +12 -0
  622. package/dist/runtime/env.js.map +1 -0
  623. package/dist/sdk-compat.js +1 -1
  624. package/dist/search/document-scanner.d.ts +22 -0
  625. package/dist/search/document-scanner.js +8 -0
  626. package/dist/search/document-scanner.js.map +1 -0
  627. package/dist/search/embed-helper.d.ts +35 -0
  628. package/dist/search/embed-helper.js +9 -0
  629. package/dist/search/embed-helper.js.map +1 -0
  630. package/dist/search/factory.d.ts +32 -0
  631. package/dist/search/factory.js +29 -0
  632. package/dist/search/factory.js.map +1 -0
  633. package/dist/search/index.d.ts +15 -0
  634. package/dist/search/index.js +50 -0
  635. package/dist/search/index.js.map +1 -0
  636. package/dist/search/lancedb-backend.d.ts +51 -0
  637. package/dist/search/lancedb-backend.js +10 -0
  638. package/dist/search/lancedb-backend.js.map +1 -0
  639. package/dist/search/meilisearch-backend.d.ts +48 -0
  640. package/dist/search/meilisearch-backend.js +10 -0
  641. package/dist/search/meilisearch-backend.js.map +1 -0
  642. package/dist/search/noop-backend.d.ts +26 -0
  643. package/dist/search/noop-backend.js +8 -0
  644. package/dist/search/noop-backend.js.map +1 -0
  645. package/dist/search/orama-backend.d.ts +53 -0
  646. package/dist/search/orama-backend.js +10 -0
  647. package/dist/search/orama-backend.js.map +1 -0
  648. package/dist/search/port.d.ts +61 -0
  649. package/dist/search/port.js +1 -0
  650. package/dist/search/port.js.map +1 -0
  651. package/dist/search/remote-backend.d.ts +39 -0
  652. package/dist/search/remote-backend.js +9 -0
  653. package/dist/search/remote-backend.js.map +1 -0
  654. package/dist/secure-store/index.d.ts +890 -0
  655. package/dist/secure-store/index.js +156 -0
  656. package/dist/secure-store/index.js.map +1 -0
  657. package/dist/semantic-VwGI14Ok.d.ts +69 -0
  658. package/dist/semantic-consolidation-4HkHWgeI.d.ts +180 -0
  659. package/dist/semantic-consolidation.d.ts +3 -3
  660. package/dist/semantic-consolidation.js +15 -8
  661. package/dist/semantic-rule-promotion.js +9 -6
  662. package/dist/semantic-rule-verifier.d.ts +1 -1
  663. package/dist/semantic-rule-verifier.js +10 -7
  664. package/dist/session-observer-bands.d.ts +1 -1
  665. package/dist/session-observer-state.d.ts +1 -1
  666. package/dist/shared-context/manager.d.ts +131 -0
  667. package/dist/shared-context/manager.js +15 -0
  668. package/dist/shared-context/manager.js.map +1 -0
  669. package/dist/signal.d.ts +1 -1
  670. package/dist/skills-registry.js +13 -1
  671. package/dist/skills-registry.js.map +1 -1
  672. package/dist/state-store-VZU2IA53.js +16 -0
  673. package/dist/state-store-VZU2IA53.js.map +1 -0
  674. package/dist/storage-paths.d.ts +9 -0
  675. package/dist/storage-paths.js +20 -0
  676. package/dist/storage-paths.js.map +1 -0
  677. package/dist/storage.d.ts +6 -2
  678. package/dist/storage.js +8 -5
  679. package/dist/summarizer.d.ts +6 -1
  680. package/dist/summarizer.js +11 -10
  681. package/dist/summary-snapshot.d.ts +1 -1
  682. package/dist/summary-snapshot.js +2 -1
  683. package/dist/surfaces/dreams.d.ts +16 -0
  684. package/dist/surfaces/dreams.js +282 -0
  685. package/dist/surfaces/dreams.js.map +1 -0
  686. package/dist/surfaces/heartbeat.d.ts +17 -0
  687. package/dist/surfaces/heartbeat.js +265 -0
  688. package/dist/surfaces/heartbeat.js.map +1 -0
  689. package/dist/targeted-fact-recall.d.ts +17 -0
  690. package/dist/targeted-fact-recall.js +11 -0
  691. package/dist/targeted-fact-recall.js.map +1 -0
  692. package/dist/telemetry-transcript.d.ts +7 -0
  693. package/dist/telemetry-transcript.js +16 -0
  694. package/dist/telemetry-transcript.js.map +1 -0
  695. package/dist/temporal-supersession.d.ts +4 -2
  696. package/dist/temporal-supersession.js +2 -1
  697. package/dist/temporal-validity.d.ts +1 -1
  698. package/dist/threading.d.ts +6 -1
  699. package/dist/threading.js +2 -1
  700. package/dist/tier-migration.d.ts +5 -3
  701. package/dist/tier-routing.d.ts +1 -1
  702. package/dist/tokens.js +2 -2
  703. package/dist/topics.d.ts +1 -1
  704. package/dist/transcript.d.ts +16 -2
  705. package/dist/transcript.js +2 -1
  706. package/dist/transfer/autodetect.d.ts +4 -0
  707. package/dist/transfer/autodetect.js +15 -0
  708. package/dist/transfer/autodetect.js.map +1 -0
  709. package/dist/transfer/backup.d.ts +21 -0
  710. package/dist/transfer/backup.js +17 -0
  711. package/dist/transfer/backup.js.map +1 -0
  712. package/dist/transfer/capsule-export.d.ts +113 -0
  713. package/dist/transfer/capsule-export.js +19 -0
  714. package/dist/transfer/capsule-export.js.map +1 -0
  715. package/dist/transfer/capsule-import.d.ts +124 -0
  716. package/dist/transfer/capsule-import.js +16 -0
  717. package/dist/transfer/capsule-import.js.map +1 -0
  718. package/dist/transfer/constants.d.ts +13 -0
  719. package/dist/transfer/constants.js +12 -0
  720. package/dist/transfer/constants.js.map +1 -0
  721. package/dist/transfer/export-json.d.ts +11 -0
  722. package/dist/transfer/export-json.js +11 -0
  723. package/dist/transfer/export-json.js.map +1 -0
  724. package/dist/transfer/export-md.d.ts +10 -0
  725. package/dist/transfer/export-md.js +13 -0
  726. package/dist/transfer/export-md.js.map +1 -0
  727. package/dist/transfer/export-sqlite.d.ts +9 -0
  728. package/dist/transfer/export-sqlite.js +12 -0
  729. package/dist/transfer/export-sqlite.js.map +1 -0
  730. package/dist/transfer/fs-utils.d.ts +61 -0
  731. package/dist/transfer/fs-utils.js +40 -0
  732. package/dist/transfer/fs-utils.js.map +1 -0
  733. package/dist/transfer/import-json.d.ts +16 -0
  734. package/dist/transfer/import-json.js +13 -0
  735. package/dist/transfer/import-json.js.map +1 -0
  736. package/dist/transfer/import-md.d.ts +14 -0
  737. package/dist/transfer/import-md.js +11 -0
  738. package/dist/transfer/import-md.js.map +1 -0
  739. package/dist/transfer/import-sqlite.d.ts +14 -0
  740. package/dist/transfer/import-sqlite.js +12 -0
  741. package/dist/transfer/import-sqlite.js.map +1 -0
  742. package/dist/transfer/sqlite-schema.d.ts +4 -0
  743. package/dist/transfer/sqlite-schema.js +10 -0
  744. package/dist/transfer/sqlite-schema.js.map +1 -0
  745. package/dist/transfer/types.d.ts +916 -0
  746. package/dist/transfer/types.js +30 -0
  747. package/dist/transfer/types.js.map +1 -0
  748. package/dist/trust-zones.d.ts +3 -2
  749. package/dist/trust-zones.js +1 -1
  750. package/dist/types.d.ts +88 -3
  751. package/dist/types.js +1 -1
  752. package/dist/user-model.d.ts +37 -0
  753. package/dist/user-model.js +28 -0
  754. package/dist/user-model.js.map +1 -0
  755. package/dist/utility-runtime.d.ts +1 -1
  756. package/dist/verified-recall.js +11 -8
  757. package/dist/work/board.d.ts +43 -0
  758. package/dist/work/board.js +14 -0
  759. package/dist/work/board.js.map +1 -0
  760. package/dist/work/boundary.d.ts +8 -0
  761. package/dist/work/boundary.js +14 -0
  762. package/dist/work/boundary.js.map +1 -0
  763. package/dist/work/storage.d.ts +39 -0
  764. package/dist/work/storage.js +11 -0
  765. package/dist/work/storage.js.map +1 -0
  766. package/dist/work/types.d.ts +75 -0
  767. package/dist/work/types.js +1 -0
  768. package/dist/work/types.js.map +1 -0
  769. package/package.json +2767 -6
  770. package/scripts/faiss_index.py +816 -0
  771. package/scripts/faiss_requirements.txt +3 -0
  772. package/skills/remnic-entities/SKILL.md +51 -0
  773. package/skills/remnic-memory-workflow/SKILL.md +61 -0
  774. package/skills/remnic-recall/SKILL.md +51 -0
  775. package/skills/remnic-remember/SKILL.md +56 -0
  776. package/skills/remnic-search/SKILL.md +51 -0
  777. package/skills/remnic-status/SKILL.md +51 -0
  778. package/src/abort-error.test.ts +49 -0
  779. package/src/abort-error.ts +46 -0
  780. package/src/abstraction-nodes.ts +162 -0
  781. package/src/access-audit.test.ts +178 -0
  782. package/src/access-audit.ts +125 -0
  783. package/src/access-cli.test.ts +439 -0
  784. package/src/access-cli.ts +438 -0
  785. package/src/access-http.test.ts +225 -0
  786. package/src/access-http.ts +1899 -0
  787. package/src/access-idempotency.ts +232 -0
  788. package/src/access-mcp.test.ts +568 -0
  789. package/src/access-mcp.ts +3056 -0
  790. package/src/access-schema-pi.test.ts +60 -0
  791. package/src/access-schema.ts +522 -0
  792. package/src/access-service-namespace.test.ts +123 -0
  793. package/src/access-service.ts +5629 -0
  794. package/src/action-confidence.test.ts +206 -0
  795. package/src/action-confidence.ts +466 -0
  796. package/src/active-memory-bridge.test.ts +285 -0
  797. package/src/active-memory-bridge.ts +217 -0
  798. package/src/active-recall.test.ts +484 -0
  799. package/src/active-recall.ts +459 -0
  800. package/src/adapters/claude-code.ts +56 -0
  801. package/src/adapters/codex.ts +57 -0
  802. package/src/adapters/hermes.ts +64 -0
  803. package/src/adapters/index.ts +6 -0
  804. package/src/adapters/registry.ts +41 -0
  805. package/src/adapters/replit.ts +55 -0
  806. package/src/adapters/types.ts +51 -0
  807. package/src/behavior-learner.ts +144 -0
  808. package/src/behavior-signals.ts +73 -0
  809. package/src/binary-lifecycle/backend.ts +117 -0
  810. package/src/binary-lifecycle/index.ts +35 -0
  811. package/src/binary-lifecycle/manifest.ts +79 -0
  812. package/src/binary-lifecycle/pipeline.ts +352 -0
  813. package/src/binary-lifecycle/scanner.ts +89 -0
  814. package/src/binary-lifecycle/types.ts +89 -0
  815. package/src/bootstrap.ts +178 -0
  816. package/src/boxes.ts +521 -0
  817. package/src/briefing.test.ts +1535 -0
  818. package/src/briefing.ts +1382 -0
  819. package/src/buffer-session.test.ts +443 -0
  820. package/src/buffer-surprise-report.ts +176 -0
  821. package/src/buffer-surprise-telemetry.test.ts +606 -0
  822. package/src/buffer-surprise-trigger.test.ts +766 -0
  823. package/src/buffer-surprise.test.ts +339 -0
  824. package/src/buffer-surprise.ts +203 -0
  825. package/src/buffer.ts +900 -0
  826. package/src/bulk-import/cli-command.test.ts +204 -0
  827. package/src/bulk-import/index.ts +34 -0
  828. package/src/bulk-import/pipeline.test.ts +445 -0
  829. package/src/bulk-import/pipeline.ts +178 -0
  830. package/src/bulk-import/registry.test.ts +151 -0
  831. package/src/bulk-import/registry.ts +72 -0
  832. package/src/bulk-import/types.test.ts +272 -0
  833. package/src/bulk-import/types.ts +145 -0
  834. package/src/calibration.ts +394 -0
  835. package/src/capsule-cli.test.ts +398 -0
  836. package/src/capsule-cli.ts +565 -0
  837. package/src/causal-behavior.ts +308 -0
  838. package/src/causal-chain.ts +419 -0
  839. package/src/causal-consolidation.ts +370 -0
  840. package/src/causal-retrieval.ts +286 -0
  841. package/src/causal-trajectory-graph.ts +60 -0
  842. package/src/causal-trajectory.ts +303 -0
  843. package/src/chunking.ts +220 -0
  844. package/src/citations.ts +232 -0
  845. package/src/cli.ts +9403 -0
  846. package/src/codex-cli-fallback.ts +162 -0
  847. package/src/codex-thread-key.ts +1 -0
  848. package/src/coding/access-coding-context.test.ts +197 -0
  849. package/src/coding/coding-branch-scope.test.ts +281 -0
  850. package/src/coding/coding-namespace.test.ts +360 -0
  851. package/src/coding/coding-namespace.ts +412 -0
  852. package/src/coding/coding-orchestrator.test.ts +249 -0
  853. package/src/coding/git-context.test.ts +507 -0
  854. package/src/coding/git-context.ts +336 -0
  855. package/src/coding/mcp-set-coding-context.test.ts +174 -0
  856. package/src/coding/review-context.test.ts +316 -0
  857. package/src/coding/review-context.ts +349 -0
  858. package/src/coding/wire-coding-context.test.ts +468 -0
  859. package/src/commitment-ledger.test.ts +78 -0
  860. package/src/commitment-ledger.ts +337 -0
  861. package/src/compat/checks.test.ts +206 -0
  862. package/src/compat/checks.ts +716 -0
  863. package/src/compat/types.ts +33 -0
  864. package/src/compounding/engine.ts +1686 -0
  865. package/src/compounding/preference-consolidator.ts +778 -0
  866. package/src/compression-optimizer.ts +312 -0
  867. package/src/config.test.ts +930 -0
  868. package/src/config.ts +3807 -0
  869. package/src/connectors/codex/instructions.md +160 -0
  870. package/src/connectors/codex/resources/namespace-cheatsheet.md +48 -0
  871. package/src/connectors/codex-marketplace.ts +500 -0
  872. package/src/connectors/codex-materialize-runner.ts +212 -0
  873. package/src/connectors/codex-materialize.ts +983 -0
  874. package/src/connectors/coerce.ts +62 -0
  875. package/src/connectors/index.test.ts +1570 -0
  876. package/src/connectors/index.ts +3222 -0
  877. package/src/connectors/live/framework.ts +164 -0
  878. package/src/connectors/live/github.test.ts +1218 -0
  879. package/src/connectors/live/github.ts +1068 -0
  880. package/src/connectors/live/gmail.test.ts +1706 -0
  881. package/src/connectors/live/gmail.ts +1293 -0
  882. package/src/connectors/live/google-drive.test.ts +696 -0
  883. package/src/connectors/live/google-drive.ts +724 -0
  884. package/src/connectors/live/index.ts +101 -0
  885. package/src/connectors/live/live-connectors.test.ts +689 -0
  886. package/src/connectors/live/notion.test.ts +1109 -0
  887. package/src/connectors/live/notion.ts +978 -0
  888. package/src/connectors/live/registry.ts +103 -0
  889. package/src/connectors/live/state-store.ts +399 -0
  890. package/src/connectors/live/transient-errors.ts +150 -0
  891. package/src/connectors/weclone-installer.test.ts +850 -0
  892. package/src/connectors-cli.ts +513 -0
  893. package/src/console/state.test.ts +224 -0
  894. package/src/console/state.ts +514 -0
  895. package/src/console/trace.test.ts +813 -0
  896. package/src/console/trace.ts +603 -0
  897. package/src/console/tui.test.ts +582 -0
  898. package/src/console/tui.ts +508 -0
  899. package/src/consolidation-operator.ts +182 -0
  900. package/src/consolidation-provenance-check.ts +551 -0
  901. package/src/consolidation-undo.ts +718 -0
  902. package/src/contradiction/contradiction-judge.test.ts +189 -0
  903. package/src/contradiction/contradiction-judge.ts +333 -0
  904. package/src/contradiction/contradiction-review.ts +574 -0
  905. package/src/contradiction/contradiction-scan.ts +504 -0
  906. package/src/contradiction/contradiction.test.ts +2230 -0
  907. package/src/contradiction/index.ts +37 -0
  908. package/src/contradiction/resolution.ts +383 -0
  909. package/src/conversation-index/backend.ts +323 -0
  910. package/src/conversation-index/chunker.ts +47 -0
  911. package/src/conversation-index/cleanup.ts +53 -0
  912. package/src/conversation-index/faiss-adapter.ts +384 -0
  913. package/src/conversation-index/indexer.test.ts +164 -0
  914. package/src/conversation-index/indexer.ts +192 -0
  915. package/src/conversation-index/search.ts +37 -0
  916. package/src/cross-namespace-budget.test.ts +275 -0
  917. package/src/cross-namespace-budget.ts +365 -0
  918. package/src/cue-anchors.ts +163 -0
  919. package/src/curation/index.ts +544 -0
  920. package/src/dashboard-runtime.ts +337 -0
  921. package/src/day-summary.ts +122 -0
  922. package/src/dedup/index.ts +330 -0
  923. package/src/dedup/semantic.test.ts +1577 -0
  924. package/src/dedup/semantic.ts +148 -0
  925. package/src/delinearize.ts +193 -0
  926. package/src/direct-answer-wiring.test.ts +473 -0
  927. package/src/direct-answer-wiring.ts +180 -0
  928. package/src/direct-answer.test.ts +484 -0
  929. package/src/direct-answer.ts +273 -0
  930. package/src/embedding-fallback.ts +565 -0
  931. package/src/enrichment/audit.ts +89 -0
  932. package/src/enrichment/index.ts +27 -0
  933. package/src/enrichment/pipeline.ts +197 -0
  934. package/src/enrichment/provider-registry.ts +85 -0
  935. package/src/enrichment/types.ts +100 -0
  936. package/src/enrichment/web-search-provider.ts +63 -0
  937. package/src/entity-retrieval.ts +774 -0
  938. package/src/entity-schema.ts +239 -0
  939. package/src/evals.ts +1312 -0
  940. package/src/event-order-recall.test.ts +4164 -0
  941. package/src/event-order-recall.ts +2802 -0
  942. package/src/evidence-pack.test.ts +89 -0
  943. package/src/evidence-pack.ts +388 -0
  944. package/src/explicit-capture.ts +530 -0
  945. package/src/explicit-cue-recall.test.ts +3019 -0
  946. package/src/explicit-cue-recall.ts +5545 -0
  947. package/src/extraction-judge-telemetry.ts +234 -0
  948. package/src/extraction-judge-training.ts +221 -0
  949. package/src/extraction-judge.ts +846 -0
  950. package/src/extraction-timeout.test.ts +265 -0
  951. package/src/extraction.ts +2719 -0
  952. package/src/fallback-llm.test.ts +1060 -0
  953. package/src/fallback-llm.ts +918 -0
  954. package/src/focused-list-recall.test.ts +734 -0
  955. package/src/focused-list-recall.ts +1160 -0
  956. package/src/graph-dashboard-diff.ts +35 -0
  957. package/src/graph-dashboard-key.ts +5 -0
  958. package/src/graph-dashboard-parser.ts +104 -0
  959. package/src/graph-edge-reinforcement.ts +192 -0
  960. package/src/graph-events.ts +151 -0
  961. package/src/graph-recall.test.ts +164 -0
  962. package/src/graph-recall.ts +189 -0
  963. package/src/graph-retrieval.test.ts +809 -0
  964. package/src/graph-retrieval.ts +823 -0
  965. package/src/graph-snapshot.ts +329 -0
  966. package/src/graph.ts +813 -0
  967. package/src/harmonic-retrieval.ts +223 -0
  968. package/src/himem.ts +154 -0
  969. package/src/hygiene.ts +87 -0
  970. package/src/identity-continuity.ts +333 -0
  971. package/src/importance.ts +328 -0
  972. package/src/importers/base.test.ts +294 -0
  973. package/src/importers/base.ts +436 -0
  974. package/src/importers/index.ts +21 -0
  975. package/src/index.ts +1204 -0
  976. package/src/intent.ts +154 -0
  977. package/src/json-extract.ts +85 -0
  978. package/src/json-store.ts +42 -0
  979. package/src/lcm/archive.ts +617 -0
  980. package/src/lcm/dag.ts +199 -0
  981. package/src/lcm/engine.ts +645 -0
  982. package/src/lcm/index.ts +7 -0
  983. package/src/lcm/queue.test.ts +178 -0
  984. package/src/lcm/queue.ts +200 -0
  985. package/src/lcm/recall.ts +117 -0
  986. package/src/lcm/schema.ts +154 -0
  987. package/src/lcm/summarizer.ts +235 -0
  988. package/src/lcm/tools.ts +191 -0
  989. package/src/lcm-engine.test.ts +660 -0
  990. package/src/legacy-hook-compat.test.ts +20 -0
  991. package/src/legacy-hook-compat.ts +45 -0
  992. package/src/lifecycle.ts +289 -0
  993. package/src/live-connectors-runner.ts +385 -0
  994. package/src/local-llm-qos.test.ts +303 -0
  995. package/src/local-llm-thinking.test.ts +292 -0
  996. package/src/local-llm.ts +1464 -0
  997. package/src/logger.ts +49 -0
  998. package/src/maintenance/archive-observations.ts +147 -0
  999. package/src/maintenance/backup-stamp.ts +3 -0
  1000. package/src/maintenance/dreams-ledger.ts +516 -0
  1001. package/src/maintenance/first-start-migration.ts +362 -0
  1002. package/src/maintenance/forget.test.ts +206 -0
  1003. package/src/maintenance/forget.ts +126 -0
  1004. package/src/maintenance/graph-edge-decay.test.ts +409 -0
  1005. package/src/maintenance/graph-edge-decay.ts +394 -0
  1006. package/src/maintenance/memory-governance-cron.ts +447 -0
  1007. package/src/maintenance/memory-governance.ts +1039 -0
  1008. package/src/maintenance/migrate-observations.ts +216 -0
  1009. package/src/maintenance/observation-ledger-utils.ts +54 -0
  1010. package/src/maintenance/pattern-reinforcement.test.ts +875 -0
  1011. package/src/maintenance/pattern-reinforcement.ts +369 -0
  1012. package/src/maintenance/purge.ts +334 -0
  1013. package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +78 -0
  1014. package/src/maintenance/rebuild-memory-projection.ts +1234 -0
  1015. package/src/maintenance/rebuild-observations.ts +178 -0
  1016. package/src/maintenance/tier-stats.test.ts +378 -0
  1017. package/src/maintenance/tier-stats.ts +222 -0
  1018. package/src/mcp-memory-inspector-app.ts +421 -0
  1019. package/src/memory-action-policy.ts +80 -0
  1020. package/src/memory-cache.ts +208 -0
  1021. package/src/memory-extension/claude-code-publisher.ts +51 -0
  1022. package/src/memory-extension/codex-publisher.ts +149 -0
  1023. package/src/memory-extension/hermes-publisher.ts +51 -0
  1024. package/src/memory-extension/index.ts +100 -0
  1025. package/src/memory-extension/shared-instructions.ts +133 -0
  1026. package/src/memory-extension/types.ts +86 -0
  1027. package/src/memory-extension-host/host-discovery.ts +276 -0
  1028. package/src/memory-extension-host/index.ts +14 -0
  1029. package/src/memory-extension-host/render-extensions-block.ts +73 -0
  1030. package/src/memory-extension-host/types.ts +21 -0
  1031. package/src/memory-lifecycle-ledger-utils.ts +116 -0
  1032. package/src/memory-projection-format.ts +11 -0
  1033. package/src/memory-projection-store.ts +951 -0
  1034. package/src/memory-provenance.test.ts +196 -0
  1035. package/src/memory-provenance.ts +484 -0
  1036. package/src/memory-worth-bench.test.ts +71 -0
  1037. package/src/memory-worth-bench.ts +265 -0
  1038. package/src/memory-worth-filter.test.ts +209 -0
  1039. package/src/memory-worth-filter.ts +204 -0
  1040. package/src/memory-worth-frontmatter.test.ts +311 -0
  1041. package/src/memory-worth-outcomes.test.ts +316 -0
  1042. package/src/memory-worth-outcomes.ts +286 -0
  1043. package/src/memory-worth.test.ts +317 -0
  1044. package/src/memory-worth.ts +215 -0
  1045. package/src/message-parts/index.ts +806 -0
  1046. package/src/message-parts/message-parts.test.ts +421 -0
  1047. package/src/migrate/from-engram.ts +789 -0
  1048. package/src/model-registry.ts +313 -0
  1049. package/src/models-json.ts +76 -0
  1050. package/src/namespaces/migrate.ts +187 -0
  1051. package/src/namespaces/path.ts +25 -0
  1052. package/src/namespaces/principal.test.ts +195 -0
  1053. package/src/namespaces/principal.ts +86 -0
  1054. package/src/namespaces/search.test.ts +105 -0
  1055. package/src/namespaces/search.ts +233 -0
  1056. package/src/namespaces/storage.ts +74 -0
  1057. package/src/native-knowledge.ts +1823 -0
  1058. package/src/negative.ts +72 -0
  1059. package/src/network/tailscale.ts +179 -0
  1060. package/src/network/webdav.ts +385 -0
  1061. package/src/objective-state-writers.ts +951 -0
  1062. package/src/objective-state.ts +320 -0
  1063. package/src/onboarding/index.ts +529 -0
  1064. package/src/openai-chat-compat.ts +56 -0
  1065. package/src/operator-toolkit.ts +2132 -0
  1066. package/src/opik-exporter.test.ts +72 -0
  1067. package/src/opik-exporter.ts +587 -0
  1068. package/src/orchestrator-extraction-queue.test.ts +197 -0
  1069. package/src/orchestrator-flush.test.ts +1171 -0
  1070. package/src/orchestrator-pattern-reinforcement.test.ts +128 -0
  1071. package/src/orchestrator-source-attribution.test.ts +701 -0
  1072. package/src/orchestrator.ts +16368 -0
  1073. package/src/page-versioning.ts +450 -0
  1074. package/src/patterns-cli.ts +574 -0
  1075. package/src/peers/index.ts +54 -0
  1076. package/src/peers/migrate-from-identity-anchor.test.ts +291 -0
  1077. package/src/peers/migrate-from-identity-anchor.ts +350 -0
  1078. package/src/peers/peers.test.ts +419 -0
  1079. package/src/peers/profile-reasoner.ts +694 -0
  1080. package/src/peers/storage.ts +1350 -0
  1081. package/src/peers/types.ts +138 -0
  1082. package/src/plugin-id.ts +84 -0
  1083. package/src/policy-runtime.ts +209 -0
  1084. package/src/procedural/procedure-miner.ts +150 -0
  1085. package/src/procedural/procedure-recall.ts +93 -0
  1086. package/src/procedural/procedure-stats.ts +213 -0
  1087. package/src/procedural/procedure-types.ts +132 -0
  1088. package/src/procedural/reinforcement-core.test.ts +132 -0
  1089. package/src/procedural/reinforcement-core.ts +73 -0
  1090. package/src/profiling.test.ts +263 -0
  1091. package/src/profiling.ts +435 -0
  1092. package/src/projection/index.ts +398 -0
  1093. package/src/qmd-recall-cache.test.ts +138 -0
  1094. package/src/qmd-recall-cache.ts +111 -0
  1095. package/src/qmd.test.ts +257 -0
  1096. package/src/qmd.ts +2614 -0
  1097. package/src/reasoning-trace-recall.ts +201 -0
  1098. package/src/reasoning-trace-types.ts +235 -0
  1099. package/src/recall-audit-anomaly.test.ts +246 -0
  1100. package/src/recall-audit-anomaly.ts +297 -0
  1101. package/src/recall-audit.test.ts +51 -0
  1102. package/src/recall-audit.ts +72 -0
  1103. package/src/recall-budget-config.test.ts +87 -0
  1104. package/src/recall-disclosure-escalation.test.ts +196 -0
  1105. package/src/recall-disclosure-escalation.ts +158 -0
  1106. package/src/recall-disclosure-shaping.test.ts +146 -0
  1107. package/src/recall-disclosure.test.ts +214 -0
  1108. package/src/recall-explain-renderer.test.ts +140 -0
  1109. package/src/recall-explain-renderer.ts +356 -0
  1110. package/src/recall-mmr.test.ts +808 -0
  1111. package/src/recall-mmr.ts +607 -0
  1112. package/src/recall-qos.test.ts +85 -0
  1113. package/src/recall-qos.ts +82 -0
  1114. package/src/recall-query-policy.ts +221 -0
  1115. package/src/recall-state.test.ts +233 -0
  1116. package/src/recall-state.ts +456 -0
  1117. package/src/recall-tag-filter.ts +143 -0
  1118. package/src/recall-tokenization.ts +35 -0
  1119. package/src/recall-xray-cli.test.ts +118 -0
  1120. package/src/recall-xray-cli.ts +100 -0
  1121. package/src/recall-xray-disclosure-telemetry.test.ts +183 -0
  1122. package/src/recall-xray-renderer.test.ts +539 -0
  1123. package/src/recall-xray-renderer.ts +487 -0
  1124. package/src/recall-xray.test.ts +503 -0
  1125. package/src/recall-xray.ts +621 -0
  1126. package/src/reconstruct.ts +41 -0
  1127. package/src/release-changelog.ts +35 -0
  1128. package/src/relevance.ts +67 -0
  1129. package/src/replay/normalizers/chatgpt.ts +133 -0
  1130. package/src/replay/normalizers/claude.ts +102 -0
  1131. package/src/replay/normalizers/openclaw.ts +119 -0
  1132. package/src/replay/normalizers/shared.ts +69 -0
  1133. package/src/replay/runner.ts +197 -0
  1134. package/src/replay/types.ts +143 -0
  1135. package/src/rerank.test.ts +48 -0
  1136. package/src/rerank.ts +176 -0
  1137. package/src/resolve-auth-token.test.ts +226 -0
  1138. package/src/resolve-auth-token.ts +151 -0
  1139. package/src/resolve-provider-secret.test.ts +187 -0
  1140. package/src/resolve-provider-secret.ts +410 -0
  1141. package/src/response-guidance-recall.test.ts +3952 -0
  1142. package/src/response-guidance-recall.ts +4431 -0
  1143. package/src/resume-bundles.ts +415 -0
  1144. package/src/retrieval-agents.ts +623 -0
  1145. package/src/retrieval-tiers.ts +25 -0
  1146. package/src/retrieval.ts +104 -0
  1147. package/src/review/index.test.ts +201 -0
  1148. package/src/review/index.ts +536 -0
  1149. package/src/routing/engine.ts +162 -0
  1150. package/src/routing/store.ts +321 -0
  1151. package/src/runtime/better-sqlite.test.ts +32 -0
  1152. package/src/runtime/better-sqlite.ts +76 -0
  1153. package/src/runtime/child-process.ts +67 -0
  1154. package/src/runtime/env.ts +48 -0
  1155. package/src/sanitize.ts +58 -0
  1156. package/src/schemas.ts +449 -0
  1157. package/src/sdk-compat.ts +87 -0
  1158. package/src/search/document-scanner.ts +96 -0
  1159. package/src/search/embed-helper.ts +142 -0
  1160. package/src/search/factory.ts +189 -0
  1161. package/src/search/index.ts +10 -0
  1162. package/src/search/lancedb-backend.ts +342 -0
  1163. package/src/search/meilisearch-backend.ts +232 -0
  1164. package/src/search/noop-backend.ts +57 -0
  1165. package/src/search/orama-backend.ts +358 -0
  1166. package/src/search/port.ts +86 -0
  1167. package/src/search/remote-backend.ts +124 -0
  1168. package/src/secure-store/cipher.ts +271 -0
  1169. package/src/secure-store/cli-handlers.ts +355 -0
  1170. package/src/secure-store/cli-renderer.ts +131 -0
  1171. package/src/secure-store/header.ts +373 -0
  1172. package/src/secure-store/index.ts +137 -0
  1173. package/src/secure-store/kdf.ts +263 -0
  1174. package/src/secure-store/keyring.ts +106 -0
  1175. package/src/secure-store/metadata.ts +394 -0
  1176. package/src/secure-store/passphrase-reader.ts +252 -0
  1177. package/src/secure-store/secure-fs.ts +571 -0
  1178. package/src/secure-store/secure-store.test.ts +755 -0
  1179. package/src/semantic-chunking.ts +545 -0
  1180. package/src/semantic-consolidation.test.ts +182 -0
  1181. package/src/semantic-consolidation.ts +432 -0
  1182. package/src/semantic-rule-promotion.ts +183 -0
  1183. package/src/semantic-rule-verifier.ts +160 -0
  1184. package/src/session-integrity.ts +569 -0
  1185. package/src/session-observer-bands.ts +11 -0
  1186. package/src/session-observer-state.ts +346 -0
  1187. package/src/session-toggles.test.ts +96 -0
  1188. package/src/session-toggles.ts +159 -0
  1189. package/src/shared-context/manager.ts +810 -0
  1190. package/src/signal.ts +84 -0
  1191. package/src/skills-registry.test.ts +277 -0
  1192. package/src/skills-registry.ts +120 -0
  1193. package/src/source-attribution-roundtrip.test.ts +215 -0
  1194. package/src/source-attribution.test.ts +1425 -0
  1195. package/src/source-attribution.ts +639 -0
  1196. package/src/spaces/index.ts +627 -0
  1197. package/src/storage-paths.ts +117 -0
  1198. package/src/storage.ts +6657 -0
  1199. package/src/store-contract.ts +55 -0
  1200. package/src/summarizer.ts +844 -0
  1201. package/src/summary-snapshot.test.ts +681 -0
  1202. package/src/summary-snapshot.ts +238 -0
  1203. package/src/surfaces/dreams.test.ts +394 -0
  1204. package/src/surfaces/dreams.ts +346 -0
  1205. package/src/surfaces/heartbeat.test.ts +415 -0
  1206. package/src/surfaces/heartbeat.ts +325 -0
  1207. package/src/sync/index.ts +308 -0
  1208. package/src/targeted-fact-recall.test.ts +1694 -0
  1209. package/src/targeted-fact-recall.ts +2905 -0
  1210. package/src/taxonomy/default-taxonomy.ts +87 -0
  1211. package/src/taxonomy/index.ts +26 -0
  1212. package/src/taxonomy/resolver-doc-generator.ts +57 -0
  1213. package/src/taxonomy/resolver.ts +184 -0
  1214. package/src/taxonomy/taxonomy-loader.ts +186 -0
  1215. package/src/taxonomy/types.ts +48 -0
  1216. package/src/telemetry-transcript.ts +70 -0
  1217. package/src/temporal-index.ts +890 -0
  1218. package/src/temporal-supersession.test.ts +2703 -0
  1219. package/src/temporal-supersession.ts +493 -0
  1220. package/src/temporal-validity.test.ts +448 -0
  1221. package/src/temporal-validity.ts +123 -0
  1222. package/src/threading.ts +395 -0
  1223. package/src/tier-migration.ts +124 -0
  1224. package/src/tier-routing.ts +102 -0
  1225. package/src/tmt.ts +462 -0
  1226. package/src/tokens.test.ts +178 -0
  1227. package/src/tokens.ts +279 -0
  1228. package/src/topics.ts +147 -0
  1229. package/src/training-export/cli-date-validation.test.ts +258 -0
  1230. package/src/training-export/converter.test.ts +452 -0
  1231. package/src/training-export/converter.ts +319 -0
  1232. package/src/training-export/date-parse.ts +117 -0
  1233. package/src/training-export/index.ts +26 -0
  1234. package/src/training-export/registry.test.ts +85 -0
  1235. package/src/training-export/registry.ts +57 -0
  1236. package/src/training-export/types.ts +31 -0
  1237. package/src/transcript.ts +1179 -0
  1238. package/src/transfer/autodetect.ts +30 -0
  1239. package/src/transfer/backup.ts +138 -0
  1240. package/src/transfer/capsule-crypto.ts +485 -0
  1241. package/src/transfer/capsule-encrypt.test.ts +690 -0
  1242. package/src/transfer/capsule-export.ts +543 -0
  1243. package/src/transfer/capsule-fork.ts +375 -0
  1244. package/src/transfer/capsule-import.ts +564 -0
  1245. package/src/transfer/capsule-merge.ts +433 -0
  1246. package/src/transfer/conflict-policy.ts +16 -0
  1247. package/src/transfer/constants.ts +13 -0
  1248. package/src/transfer/exclusions.ts +37 -0
  1249. package/src/transfer/export-json.ts +65 -0
  1250. package/src/transfer/export-md.ts +59 -0
  1251. package/src/transfer/export-sqlite.ts +52 -0
  1252. package/src/transfer/fs-utils.ts +269 -0
  1253. package/src/transfer/import-json.ts +108 -0
  1254. package/src/transfer/import-md.ts +84 -0
  1255. package/src/transfer/import-sqlite.ts +100 -0
  1256. package/src/transfer/integrity.ts +71 -0
  1257. package/src/transfer/sqlite-schema.ts +16 -0
  1258. package/src/transfer/types.ts +297 -0
  1259. package/src/trust-zones.ts +1186 -0
  1260. package/src/types.ts +3074 -0
  1261. package/src/user-model.test.ts +124 -0
  1262. package/src/user-model.ts +162 -0
  1263. package/src/utility-learner.ts +353 -0
  1264. package/src/utility-runtime.ts +88 -0
  1265. package/src/utility-telemetry.ts +215 -0
  1266. package/src/utils/category-dir.ts +44 -0
  1267. package/src/utils/errno.ts +6 -0
  1268. package/src/utils/iso-timestamp.test.ts +37 -0
  1269. package/src/utils/iso-timestamp.ts +164 -0
  1270. package/src/utils/path.ts +26 -0
  1271. package/src/verified-recall.ts +138 -0
  1272. package/src/version-utils.test.ts +10 -0
  1273. package/src/version-utils.ts +9 -0
  1274. package/src/whitespace.ts +10 -0
  1275. package/src/work/board.ts +359 -0
  1276. package/src/work/boundary.ts +107 -0
  1277. package/src/work/storage.ts +436 -0
  1278. package/src/work/types.ts +82 -0
  1279. package/src/work-product-ledger.ts +265 -0
  1280. package/dist/access-service-BkXt3di1.d.ts +0 -2039
  1281. package/dist/capsule-crypto-SJS5VVAP.js +0 -18
  1282. package/dist/capsule-export-LLEVB2RG.js +0 -17
  1283. package/dist/capsule-import-UW45R2MZ.js +0 -16
  1284. package/dist/capsule-merge-DI7PNQ2H.js +0 -189
  1285. package/dist/chunk-2LGMW3DJ.js +0 -111
  1286. package/dist/chunk-2YMTO4ZJ.js +0 -265
  1287. package/dist/chunk-2YMTO4ZJ.js.map +0 -1
  1288. package/dist/chunk-363MWCD3.js +0 -9683
  1289. package/dist/chunk-363MWCD3.js.map +0 -1
  1290. package/dist/chunk-36CTNQY7.js +0 -1554
  1291. package/dist/chunk-36CTNQY7.js.map +0 -1
  1292. package/dist/chunk-457A4P3L.js +0 -119
  1293. package/dist/chunk-457A4P3L.js.map +0 -1
  1294. package/dist/chunk-4DXC6HQQ.js +0 -1837
  1295. package/dist/chunk-4DXC6HQQ.js.map +0 -1
  1296. package/dist/chunk-4IS4SXIQ.js +0 -2040
  1297. package/dist/chunk-57QNCUEZ.js +0 -1914
  1298. package/dist/chunk-57QNCUEZ.js.map +0 -1
  1299. package/dist/chunk-6AUUAZEX.js +0 -150
  1300. package/dist/chunk-6AUUAZEX.js.map +0 -1
  1301. package/dist/chunk-6TBWYBJ3.js +0 -236
  1302. package/dist/chunk-6XA7UN4Z.js +0 -135
  1303. package/dist/chunk-6Z6UH6TK.js +0 -2129
  1304. package/dist/chunk-6Z6UH6TK.js.map +0 -1
  1305. package/dist/chunk-74EMIVE4.js +0 -329
  1306. package/dist/chunk-74EMIVE4.js.map +0 -1
  1307. package/dist/chunk-74WWN7ZW.js +0 -82
  1308. package/dist/chunk-74WWN7ZW.js.map +0 -1
  1309. package/dist/chunk-767ODGE6.js +0 -183
  1310. package/dist/chunk-A4ACKWIW.js +0 -289
  1311. package/dist/chunk-A4ACKWIW.js.map +0 -1
  1312. package/dist/chunk-ASAITVLA.js +0 -64
  1313. package/dist/chunk-ASAITVLA.js.map +0 -1
  1314. package/dist/chunk-C5HUWVH2.js +0 -891
  1315. package/dist/chunk-C5HUWVH2.js.map +0 -1
  1316. package/dist/chunk-D54LZC5L.js +0 -147
  1317. package/dist/chunk-DF3RVK3X.js +0 -119
  1318. package/dist/chunk-DF3RVK3X.js.map +0 -1
  1319. package/dist/chunk-E6K4NIEU.js +0 -747
  1320. package/dist/chunk-E6K4NIEU.js.map +0 -1
  1321. package/dist/chunk-EEQLFRUM.js +0 -89
  1322. package/dist/chunk-EQINRHYR.js +0 -672
  1323. package/dist/chunk-EQINRHYR.js.map +0 -1
  1324. package/dist/chunk-ETOW6ACV.js +0 -158
  1325. package/dist/chunk-ETOW6ACV.js.map +0 -1
  1326. package/dist/chunk-EYNQTST2.js +0 -721
  1327. package/dist/chunk-FYIYMQ5N.js +0 -221
  1328. package/dist/chunk-FYIYMQ5N.js.map +0 -1
  1329. package/dist/chunk-G2WADRQ3.js +0 -219
  1330. package/dist/chunk-G4SK7DSQ.js +0 -121
  1331. package/dist/chunk-GGD5W7TB.js +0 -105
  1332. package/dist/chunk-GGD5W7TB.js.map +0 -1
  1333. package/dist/chunk-GVPWB7EY.js +0 -390
  1334. package/dist/chunk-GVPWB7EY.js.map +0 -1
  1335. package/dist/chunk-HJYHRE4S.js +0 -647
  1336. package/dist/chunk-I6BQZSML.js +0 -1451
  1337. package/dist/chunk-I6BQZSML.js.map +0 -1
  1338. package/dist/chunk-IBX3VFOM.js +0 -446
  1339. package/dist/chunk-IBX3VFOM.js.map +0 -1
  1340. package/dist/chunk-IXEJRKCZ.js +0 -18
  1341. package/dist/chunk-JBMSGZEQ.js +0 -441
  1342. package/dist/chunk-JBMSGZEQ.js.map +0 -1
  1343. package/dist/chunk-JRNQ3RNA.js +0 -284
  1344. package/dist/chunk-JRNQ3RNA.js.map +0 -1
  1345. package/dist/chunk-K6WK37A6.js +0 -865
  1346. package/dist/chunk-K6WK37A6.js.map +0 -1
  1347. package/dist/chunk-KBYWQWSB.js +0 -271
  1348. package/dist/chunk-KUHRUM6B.js +0 -14397
  1349. package/dist/chunk-KUHRUM6B.js.map +0 -1
  1350. package/dist/chunk-KWBPHZUU.js +0 -83
  1351. package/dist/chunk-KWBPHZUU.js.map +0 -1
  1352. package/dist/chunk-LIO5X3CM.js +0 -596
  1353. package/dist/chunk-MARWOCVP.js +0 -48
  1354. package/dist/chunk-MCC6KDQF.js +0 -5095
  1355. package/dist/chunk-MCC6KDQF.js.map +0 -1
  1356. package/dist/chunk-N5AKDXAI.js +0 -74
  1357. package/dist/chunk-NN3LPQ5D.js +0 -936
  1358. package/dist/chunk-NN3LPQ5D.js.map +0 -1
  1359. package/dist/chunk-O4XJUPSF.js +0 -533
  1360. package/dist/chunk-O4XJUPSF.js.map +0 -1
  1361. package/dist/chunk-OA3L7BFR.js +0 -183
  1362. package/dist/chunk-OA3L7BFR.js.map +0 -1
  1363. package/dist/chunk-OR64ZGRZ.js +0 -23
  1364. package/dist/chunk-P73JTV34.js +0 -275
  1365. package/dist/chunk-P73JTV34.js.map +0 -1
  1366. package/dist/chunk-P77UEOU2.js +0 -1521
  1367. package/dist/chunk-P77UEOU2.js.map +0 -1
  1368. package/dist/chunk-PB5KW5PL.js +0 -118
  1369. package/dist/chunk-PHNGXFQ6.js +0 -623
  1370. package/dist/chunk-PHNGXFQ6.js.map +0 -1
  1371. package/dist/chunk-QIGOEM65.js +0 -228
  1372. package/dist/chunk-RXTFCYQF.js +0 -108
  1373. package/dist/chunk-S2JJBLJG.js +0 -2101
  1374. package/dist/chunk-S2JJBLJG.js.map +0 -1
  1375. package/dist/chunk-S3IP6R6K.js +0 -219
  1376. package/dist/chunk-S3IP6R6K.js.map +0 -1
  1377. package/dist/chunk-SRBJUAMP.js +0 -403
  1378. package/dist/chunk-SRBJUAMP.js.map +0 -1
  1379. package/dist/chunk-URB2WSKZ.js +0 -350
  1380. package/dist/chunk-URB2WSKZ.js.map +0 -1
  1381. package/dist/chunk-VQXK37XA.js +0 -26
  1382. package/dist/chunk-VQXK37XA.js.map +0 -1
  1383. package/dist/chunk-VTU2B4VF.js +0 -146
  1384. package/dist/chunk-VTU2B4VF.js.map +0 -1
  1385. package/dist/chunk-VX2IUQFE.js +0 -613
  1386. package/dist/chunk-VX2IUQFE.js.map +0 -1
  1387. package/dist/chunk-WGK4VHGP.js +0 -4292
  1388. package/dist/chunk-WGK4VHGP.js.map +0 -1
  1389. package/dist/chunk-WTFWLUSX.js +0 -827
  1390. package/dist/chunk-WTFWLUSX.js.map +0 -1
  1391. package/dist/chunk-XJKFSSDW.js +0 -726
  1392. package/dist/chunk-XJKFSSDW.js.map +0 -1
  1393. package/dist/chunk-XMHBH5H6.js +0 -283
  1394. package/dist/chunk-XMHBH5H6.js.map +0 -1
  1395. package/dist/chunk-XMVFHBHT.js +0 -277
  1396. package/dist/chunk-Y5KDIOKF.js +0 -2403
  1397. package/dist/chunk-Y5KDIOKF.js.map +0 -1
  1398. package/dist/chunk-YNB73F22.js +0 -137
  1399. package/dist/chunk-YNB73F22.js.map +0 -1
  1400. package/dist/chunk-Z2E7VW55.js +0 -335
  1401. package/dist/chunk-Z2E7VW55.js.map +0 -1
  1402. package/dist/chunk-Z5S5HNGY.js +0 -2280
  1403. package/dist/chunk-Z5S5HNGY.js.map +0 -1
  1404. package/dist/chunk-ZL4S7ARC.js +0 -53
  1405. package/dist/chunk-ZTSE2ZJ6.js +0 -190
  1406. package/dist/chunk-ZTSE2ZJ6.js.map +0 -1
  1407. package/dist/cli-Cvy2SNhF.d.ts +0 -1259
  1408. package/dist/codex-materialize-CQlLTzke.d.ts +0 -139
  1409. package/dist/connectors-cli-DFGtY2DB.d.ts +0 -257
  1410. package/dist/contradiction-review-5LTTVDQV.js +0 -22
  1411. package/dist/contradiction-scan-3Z6YW7YA.js +0 -413
  1412. package/dist/contradiction-scan-3Z6YW7YA.js.map +0 -1
  1413. package/dist/engine-FOC3IJLA.js +0 -28
  1414. package/dist/fs-utils-IRVUFB6G.js +0 -30
  1415. package/dist/graph-edge-decay-PWB63GRE.js +0 -207
  1416. package/dist/index-1qIcnbG1.d.ts +0 -34
  1417. package/dist/memory-governance-F3QOJGEY.js +0 -37
  1418. package/dist/memory-projection-store-CY8TU40w.d.ts +0 -222
  1419. package/dist/orchestrator-AOQMo7QI.d.ts +0 -1784
  1420. package/dist/path-RMTY5Y5A.js +0 -9
  1421. package/dist/port-B6VEDIkC.d.ts +0 -53
  1422. package/dist/resolution-YGIBORXI.js +0 -101
  1423. package/dist/resolution-YGIBORXI.js.map +0 -1
  1424. package/dist/secure-store-4R2GSO7S.js +0 -156
  1425. package/dist/semantic-consolidation-ByBXb-sf.d.ts +0 -180
  1426. package/dist/state-store-3EH7HYIN.js +0 -16
  1427. package/dist/types-V3FJ26TF.js +0 -30
  1428. /package/dist/{capsule-crypto-SJS5VVAP.js.map → action-confidence.js.map} +0 -0
  1429. /package/dist/{capsule-export-LLEVB2RG.js.map → adapters/claude-code.js.map} +0 -0
  1430. /package/dist/{capsule-import-UW45R2MZ.js.map → adapters/codex.js.map} +0 -0
  1431. /package/dist/{contradiction-review-5LTTVDQV.js.map → adapters/hermes.js.map} +0 -0
  1432. /package/dist/{engine-FOC3IJLA.js.map → adapters/index.js.map} +0 -0
  1433. /package/dist/{fs-utils-IRVUFB6G.js.map → adapters/registry.js.map} +0 -0
  1434. /package/dist/{memory-governance-F3QOJGEY.js.map → adapters/replit.js.map} +0 -0
  1435. /package/dist/{path-RMTY5Y5A.js.map → adapters/types.js.map} +0 -0
  1436. /package/dist/{secure-store-4R2GSO7S.js.map → capsule-crypto-5CYAGVC5.js.map} +0 -0
  1437. /package/dist/{capsule-merge-DI7PNQ2H.js.map → capsule-merge-4MGKE7C5.js.map} +0 -0
  1438. /package/dist/{chunk-G4SK7DSQ.js.map → chunk-2WWLHTZY.js.map} +0 -0
  1439. /package/dist/{chunk-KBYWQWSB.js.map → chunk-4CRG46BG.js.map} +0 -0
  1440. /package/dist/{chunk-LIO5X3CM.js.map → chunk-7IASACLB.js.map} +0 -0
  1441. /package/dist/{chunk-EYNQTST2.js.map → chunk-EFJ3MQ4V.js.map} +0 -0
  1442. /package/dist/{chunk-D54LZC5L.js.map → chunk-FDU6HUUL.js.map} +0 -0
  1443. /package/dist/{chunk-QIGOEM65.js.map → chunk-GGKRUQOO.js.map} +0 -0
  1444. /package/dist/{chunk-HJYHRE4S.js.map → chunk-GL6I6MEQ.js.map} +0 -0
  1445. /package/dist/{state-store-3EH7HYIN.js.map → chunk-HHLLAQGZ.js.map} +0 -0
  1446. /package/dist/{chunk-4IS4SXIQ.js.map → chunk-HXXBL2KD.js.map} +0 -0
  1447. /package/dist/{chunk-767ODGE6.js.map → chunk-KNKUID7G.js.map} +0 -0
  1448. /package/dist/{chunk-6TBWYBJ3.js.map → chunk-LPMVBPA3.js.map} +0 -0
  1449. /package/dist/{chunk-PB5KW5PL.js.map → chunk-MC26UJIM.js.map} +0 -0
  1450. /package/dist/{chunk-ZL4S7ARC.js.map → chunk-MT4HVDUZ.js.map} +0 -0
  1451. /package/dist/{chunk-G2WADRQ3.js.map → chunk-MY6TPVXW.js.map} +0 -0
  1452. /package/dist/{chunk-OR64ZGRZ.js.map → chunk-NNVTUXEB.js.map} +0 -0
  1453. /package/dist/{chunk-RXTFCYQF.js.map → chunk-P4NEIHUT.js.map} +0 -0
  1454. /package/dist/{chunk-IXEJRKCZ.js.map → chunk-QRNI5JBH.js.map} +0 -0
  1455. /package/dist/{chunk-EEQLFRUM.js.map → chunk-RRF5UOBJ.js.map} +0 -0
  1456. /package/dist/{types-V3FJ26TF.js.map → chunk-SEDEKFYQ.js.map} +0 -0
  1457. /package/dist/{chunk-2LGMW3DJ.js.map → chunk-U3PN77QT.js.map} +0 -0
  1458. /package/dist/{chunk-XMVFHBHT.js.map → chunk-U3WSW6PZ.js.map} +0 -0
  1459. /package/dist/{chunk-N5AKDXAI.js.map → chunk-UWVJF25J.js.map} +0 -0
  1460. /package/dist/{chunk-MARWOCVP.js.map → chunk-XIG5PDM7.js.map} +0 -0
  1461. /package/dist/{chunk-6XA7UN4Z.js.map → chunk-XVZ7B3HG.js.map} +0 -0
  1462. /package/dist/{graph-edge-decay-PWB63GRE.js.map → graph-edge-decay-5DI5GUNL.js.map} +0 -0
@@ -0,0 +1,28 @@
1
+ import {
2
+ NamespaceSearchRouter,
3
+ namespaceCollectionName
4
+ } from "../chunk-PU63GXWS.js";
5
+ import "../chunk-6RVI47ZR.js";
6
+ import "../chunk-XVVIG67A.js";
7
+ import "../chunk-PIRJPV5T.js";
8
+ import "../chunk-RXDLTSWT.js";
9
+ import "../chunk-3VAL7ZL2.js";
10
+ import "../chunk-TMQLARTH.js";
11
+ import "../chunk-MJFNCJXV.js";
12
+ import "../chunk-NJ3MJQZX.js";
13
+ import "../chunk-PR5FBTFU.js";
14
+ import "../chunk-FJ43PRLT.js";
15
+ import "../chunk-LLQ2LLWF.js";
16
+ import "../chunk-7DTASS5T.js";
17
+ import "../chunk-BJ3KMYTB.js";
18
+ import "../chunk-PVGDJXVK.js";
19
+ import "../chunk-NNVTUXEB.js";
20
+ import "../chunk-PFV5C235.js";
21
+ import "../chunk-XIG5PDM7.js";
22
+ import "../chunk-2ODBA7MQ.js";
23
+ import "../chunk-PZ5AY32C.js";
24
+ export {
25
+ NamespaceSearchRouter,
26
+ namespaceCollectionName
27
+ };
28
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,32 @@
1
+ import { StorageManager } from '../storage.js';
2
+ import { PluginConfig } from '../types.js';
3
+ import '../page-versioning.js';
4
+ import '../consolidation-operator.js';
5
+ import '../memory-projection-store.js';
6
+ import '../maintenance/memory-governance.js';
7
+ import '../index-DJ9QWMw-.js';
8
+ import '../runtime/better-sqlite.js';
9
+ import 'better-sqlite3';
10
+
11
+ /**
12
+ * Storage routing for namespaces.
13
+ *
14
+ * Compatibility note:
15
+ * - When namespaces are enabled, non-default namespaces live under `memoryDir/namespaces/<ns>`.
16
+ * - The default namespace continues to use the legacy `memoryDir` root unless the caller
17
+ * has created `memoryDir/namespaces/<defaultNamespace>` (in which case we use that).
18
+ *
19
+ * This avoids surprising "lost memories" when an install flips namespaces on without
20
+ * migrating existing data.
21
+ */
22
+ declare class NamespaceStorageRouter {
23
+ private readonly config;
24
+ private readonly cache;
25
+ private defaultNsRootResolved;
26
+ constructor(config: PluginConfig);
27
+ private defaultNamespaceRoot;
28
+ private namespaceRootSync;
29
+ storageFor(namespace: string): Promise<StorageManager>;
30
+ }
31
+
32
+ export { NamespaceStorageRouter };
@@ -0,0 +1,28 @@
1
+ import {
2
+ NamespaceStorageRouter
3
+ } from "../chunk-QQUAB63I.js";
4
+ import "../chunk-U3PN77QT.js";
5
+ import "../chunk-7AAT6G4Q.js";
6
+ import "../chunk-5UZXUTVO.js";
7
+ import "../chunk-YNJHCGDT.js";
8
+ import "../chunk-P7FMDTKL.js";
9
+ import "../chunk-NN2DKE4T.js";
10
+ import "../chunk-Q7P4WJDP.js";
11
+ import "../chunk-SCU65EZI.js";
12
+ import "../chunk-3KW65B36.js";
13
+ import "../chunk-3HPAPHUK.js";
14
+ import "../chunk-PFV5C235.js";
15
+ import "../chunk-RULE4VG5.js";
16
+ import "../chunk-DM2T26WE.js";
17
+ import "../chunk-QSVPYQPG.js";
18
+ import "../chunk-FVQJYWH7.js";
19
+ import "../chunk-G7D6GZ5J.js";
20
+ import "../chunk-FAAFWE4G.js";
21
+ import "../chunk-4DJQYKMN.js";
22
+ import "../chunk-2ODBA7MQ.js";
23
+ import "../chunk-A6XUJE5D.js";
24
+ import "../chunk-PZ5AY32C.js";
25
+ export {
26
+ NamespaceStorageRouter
27
+ };
28
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { NativeKnowledgeConfig } from './types.js';
2
- import './index-1qIcnbG1.js';
2
+ import './index-DJ9QWMw-.js';
3
3
 
4
4
  type NativeKnowledgeChunk = {
5
5
  chunkId: string;
@@ -0,0 +1,41 @@
1
+ interface TailscaleCommandResult {
2
+ code: number;
3
+ stdout: string;
4
+ stderr: string;
5
+ }
6
+ type TailscaleCommandRunner = (command: string, args: string[], options?: {
7
+ timeoutMs?: number;
8
+ }) => Promise<TailscaleCommandResult>;
9
+ interface TailscaleStatus {
10
+ available: boolean;
11
+ running: boolean;
12
+ backendState?: string;
13
+ version?: string;
14
+ selfHostname?: string;
15
+ selfIp?: string;
16
+ }
17
+ interface TailscaleSyncOptions {
18
+ sourceDir: string;
19
+ destination: string;
20
+ delete?: boolean;
21
+ dryRun?: boolean;
22
+ extraArgs?: string[];
23
+ }
24
+ interface TailscaleHelperOptions {
25
+ tailscaleBinary?: string;
26
+ rsyncBinary?: string;
27
+ timeoutMs?: number;
28
+ runner?: TailscaleCommandRunner;
29
+ }
30
+ declare class TailscaleHelper {
31
+ private readonly tailscaleBinary;
32
+ private readonly rsyncBinary;
33
+ private readonly timeoutMs;
34
+ private readonly runner;
35
+ constructor(options?: TailscaleHelperOptions);
36
+ isAvailable(): Promise<boolean>;
37
+ status(): Promise<TailscaleStatus>;
38
+ syncDirectory(options: TailscaleSyncOptions): Promise<void>;
39
+ }
40
+
41
+ export { type TailscaleCommandResult, type TailscaleCommandRunner, TailscaleHelper, type TailscaleHelperOptions, type TailscaleStatus, type TailscaleSyncOptions };
@@ -0,0 +1,9 @@
1
+ import {
2
+ TailscaleHelper
3
+ } from "../chunk-TKWGAOLV.js";
4
+ import "../chunk-NNVTUXEB.js";
5
+ import "../chunk-PZ5AY32C.js";
6
+ export {
7
+ TailscaleHelper
8
+ };
9
+ //# sourceMappingURL=tailscale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,39 @@
1
+ declare function hostToUrlAuthority(host: string): string;
2
+ interface WebDavAuth {
3
+ username: string;
4
+ password: string;
5
+ }
6
+ interface WebDavServerOptions {
7
+ enabled?: boolean;
8
+ host?: string;
9
+ port: number;
10
+ allowlistDirs: string[];
11
+ auth?: WebDavAuth;
12
+ }
13
+ interface WebDavServerStatus {
14
+ running: boolean;
15
+ host: string;
16
+ port: number;
17
+ rootCount: number;
18
+ }
19
+ declare class WebDavServer {
20
+ private readonly options;
21
+ private readonly allowedRoots;
22
+ private server;
23
+ private boundPort;
24
+ private constructor();
25
+ static create(input: WebDavServerOptions): Promise<WebDavServer>;
26
+ start(): Promise<WebDavServerStatus>;
27
+ stop(): Promise<void>;
28
+ status(): WebDavServerStatus;
29
+ private handle;
30
+ private isAuthorized;
31
+ private timingSafeStringEqual;
32
+ private encodeAuthField;
33
+ private resolvePath;
34
+ private handleRead;
35
+ private handlePropfind;
36
+ private isPathInside;
37
+ }
38
+
39
+ export { type WebDavAuth, WebDavServer, type WebDavServerOptions, type WebDavServerStatus, hostToUrlAuthority };
@@ -0,0 +1,10 @@
1
+ import {
2
+ WebDavServer,
3
+ hostToUrlAuthority
4
+ } from "../chunk-FIT6DMX6.js";
5
+ import "../chunk-PZ5AY32C.js";
6
+ export {
7
+ WebDavServer,
8
+ hostToUrlAuthority
9
+ };
10
+ //# sourceMappingURL=webdav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,5 @@
1
1
  import { ObjectiveStateSnapshot } from './objective-state.js';
2
- import { L as LcmMessagePartInput, M as MessagePartSourceFormat } from './index-1qIcnbG1.js';
2
+ import { L as LcmMessagePartInput, M as MessagePartSourceFormat } from './index-DJ9QWMw-.js';
3
3
 
4
4
  interface DerivedObjectiveStateResult {
5
5
  snapshots: ObjectiveStateSnapshot[];
@@ -3,8 +3,8 @@ import {
3
3
  deriveObjectiveStateSnapshotsFromObservedMessages,
4
4
  recordObjectiveStateSnapshotsFromAgentMessages,
5
5
  recordObjectiveStateSnapshotsFromObservedMessages
6
- } from "./chunk-HJYHRE4S.js";
7
- import "./chunk-IBX3VFOM.js";
6
+ } from "./chunk-GL6I6MEQ.js";
7
+ import "./chunk-3APJ5EVB.js";
8
8
  import "./chunk-5UM2VJ6D.js";
9
9
  import "./chunk-DGXUHMOV.js";
10
10
  import "./chunk-LPSF4OQH.js";
@@ -5,9 +5,11 @@ import { SessionIntegrityReport, SessionRepairPlan, SessionRepairApplyResult } f
5
5
  import { PluginConfig } from './types.js';
6
6
  import './page-versioning.js';
7
7
  import './consolidation-operator.js';
8
- import './memory-projection-store-CY8TU40w.js';
8
+ import './memory-projection-store.js';
9
+ import './maintenance/memory-governance.js';
10
+ import './index-DJ9QWMw-.js';
11
+ import './runtime/better-sqlite.js';
9
12
  import 'better-sqlite3';
10
- import './index-1qIcnbG1.js';
11
13
 
12
14
  interface QmdRuntimeLike {
13
15
  probe(): Promise<boolean>;
@@ -11,41 +11,59 @@ import {
11
11
  summarizeMemoryWorthLegacyCounters,
12
12
  summarizeObservationThroughput,
13
13
  summarizeTierDistribution
14
- } from "./chunk-I6BQZSML.js";
14
+ } from "./chunk-UXHQAFNA.js";
15
+ import "./chunk-MT25YHYH.js";
15
16
  import "./chunk-5HRY2WRF.js";
16
- import "./chunk-ASAITVLA.js";
17
- import "./chunk-57QNCUEZ.js";
17
+ import "./chunk-YBPYIAA5.js";
18
+ import "./chunk-PU63GXWS.js";
19
+ import "./chunk-6RVI47ZR.js";
20
+ import "./chunk-XVVIG67A.js";
21
+ import "./chunk-PIRJPV5T.js";
22
+ import "./chunk-RXDLTSWT.js";
23
+ import "./chunk-3VAL7ZL2.js";
24
+ import "./chunk-TMQLARTH.js";
25
+ import "./chunk-MJFNCJXV.js";
26
+ import "./chunk-NJ3MJQZX.js";
27
+ import "./chunk-QQUAB63I.js";
28
+ import "./chunk-PR5FBTFU.js";
29
+ import "./chunk-FJ43PRLT.js";
30
+ import "./chunk-LLQ2LLWF.js";
31
+ import "./chunk-7DTASS5T.js";
18
32
  import "./chunk-YRMVARQP.js";
19
- import "./chunk-P77UEOU2.js";
20
33
  import "./chunk-U66YHYC7.js";
21
- import "./chunk-K6WK37A6.js";
22
- import "./chunk-AJU4PJGY.js";
34
+ import "./chunk-BJ3KMYTB.js";
23
35
  import "./chunk-7SEAZFFB.js";
24
- import "./chunk-6Z6UH6TK.js";
36
+ import "./chunk-D46YSIYX.js";
37
+ import "./chunk-AJU4PJGY.js";
38
+ import "./chunk-2QR3XXIC.js";
39
+ import "./chunk-PHK3HARR.js";
25
40
  import "./chunk-Z5LAYHGJ.js";
26
41
  import "./chunk-PVGDJXVK.js";
27
- import "./chunk-EYNQTST2.js";
28
- import "./chunk-OR64ZGRZ.js";
29
- import "./chunk-2LGMW3DJ.js";
42
+ import "./chunk-EFJ3MQ4V.js";
43
+ import "./chunk-NNVTUXEB.js";
44
+ import "./chunk-U3PN77QT.js";
30
45
  import "./chunk-RK2Y4XOM.js";
31
46
  import "./chunk-2LSZVONP.js";
32
47
  import "./chunk-WIICJPET.js";
33
- import "./chunk-TBBDFYXW.js";
34
- import "./chunk-MCC6KDQF.js";
48
+ import "./chunk-7AAT6G4Q.js";
49
+ import "./chunk-5UZXUTVO.js";
35
50
  import "./chunk-YNJHCGDT.js";
51
+ import "./chunk-P7FMDTKL.js";
36
52
  import "./chunk-NN2DKE4T.js";
37
- import "./chunk-VQXK37XA.js";
53
+ import "./chunk-Q7P4WJDP.js";
54
+ import "./chunk-SCU65EZI.js";
55
+ import "./chunk-3KW65B36.js";
56
+ import "./chunk-3HPAPHUK.js";
38
57
  import "./chunk-PFV5C235.js";
39
58
  import "./chunk-RULE4VG5.js";
40
- import "./chunk-SCU65EZI.js";
41
- import "./chunk-XJKFSSDW.js";
42
59
  import "./chunk-DM2T26WE.js";
43
60
  import "./chunk-QSVPYQPG.js";
44
61
  import "./chunk-FVQJYWH7.js";
45
- import "./chunk-4DJQYKMN.js";
46
62
  import "./chunk-G7D6GZ5J.js";
47
63
  import "./chunk-FAAFWE4G.js";
48
- import "./chunk-MARWOCVP.js";
64
+ import "./chunk-4DJQYKMN.js";
65
+ import "./chunk-XIG5PDM7.js";
66
+ import "./chunk-TBBDFYXW.js";
49
67
  import "./chunk-2ODBA7MQ.js";
50
68
  import "./chunk-LPSF4OQH.js";
51
69
  import "./chunk-A6XUJE5D.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readEnvVar,
3
3
  resolveHomeDir
4
- } from "./chunk-MARWOCVP.js";
4
+ } from "./chunk-XIG5PDM7.js";
5
5
  import "./chunk-PZ5AY32C.js";
6
6
 
7
7
  // src/opik-exporter.ts
@@ -11,7 +11,7 @@ import path from "path";
11
11
  var OPIK_EXPORTER_SLOT = "__openclawOpikExporter";
12
12
  function readOpikOpenclawConfig(log) {
13
13
  try {
14
- const configPath = readEnvVar("OPENCLAW_ENGRAM_CONFIG_PATH") || readEnvVar("OPENCLAW_CONFIG_PATH") || path.join(resolveHomeDir(), ".openclaw", "openclaw.json");
14
+ const configPath = readEnvVar("OPENCLAW_CONFIG_PATH") || readEnvVar("OPENCLAW_ENGRAM_CONFIG_PATH") || path.join(resolveHomeDir(), ".openclaw", "openclaw.json");
15
15
  const raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
16
16
  const entry = raw?.plugins?.entries?.["opik-openclaw"];
17
17
  if (!entry?.enabled || !entry?.config) return {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/opik-exporter.ts"],"sourcesContent":["import { createHash, randomBytes } from \"node:crypto\";\n/**\n * opik-exporter.ts — Engram-native Opik trace exporter\n *\n * Subscribes to the globalThis.__openclawEngramTrace slot that Engram already\n * emits on, and forwards recall + LLM events to a self-hosted (or cloud) Opik\n * instance via its REST API. No extra npm dependencies — uses Node's built-in\n * fetch.\n *\n * Auto-detects apiUrl / projectName from the opik-openclaw plugin config so\n * traces land in the same project and are grouped by session thread.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport type { LoggerBackend } from \"./logger.js\";\nimport { readEnvVar, resolveHomeDir } from \"./runtime/env.js\";\n\n// GlobalThis slot that tracks the active OpikExporter instance.\n// Used to make subscribe() idempotent across hot-reload / stop-start cycles.\nconst OPIK_EXPORTER_SLOT = \"__openclawOpikExporter\";\n\n// ---------------------------------------------------------------------------\n// Engram event types (mirrors types.ts without importing from it)\n// ---------------------------------------------------------------------------\n\ntype EngramLlmTraceEvent = {\n kind: \"llm_start\" | \"llm_end\" | \"llm_error\";\n traceId: string;\n model: string;\n operation: \"extraction\" | \"consolidation\" | \"profile_consolidation\" | \"identity_consolidation\" | \"day_summary\";\n input?: string;\n output?: string;\n durationMs?: number;\n error?: string;\n tokenUsage?: { input?: number; output?: number; total?: number };\n};\n\ntype EngramRecallTraceEvent = {\n kind: \"recall_summary\";\n traceId: string;\n operation: \"recall\";\n sessionKey?: string;\n promptLength: number;\n retrievalQueryLength: number;\n recallMode: string;\n recallResultLimit: number;\n qmdEnabled: boolean;\n qmdAvailable: boolean;\n recallNamespaces: string[];\n source: string;\n recalledMemoryCount: number;\n injected: boolean;\n contextChars: number;\n identityInjectionMode?: string;\n identityInjectedChars?: number;\n durationMs: number;\n timings?: Record<string, string>;\n recalledContent?: string;\n};\n\ntype EngramTraceEvent = EngramLlmTraceEvent | EngramRecallTraceEvent;\n\n// ---------------------------------------------------------------------------\n// Config\n// ---------------------------------------------------------------------------\n\nexport interface OpikExporterConfig {\n enabled: boolean;\n /** Base URL of the Opik API, e.g. http://192.168.3.147:5173/api */\n apiUrl: string;\n projectName: string;\n workspaceName: string;\n /** Optional API key (not required for self-hosted deployments) */\n apiKey?: string;\n /** Include recalled memory text in spans (default false) */\n traceRecallContent: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Auto-detect from opik-openclaw plugin config\n// ---------------------------------------------------------------------------\n\nfunction readOpikOpenclawConfig(log?: LoggerBackend): Partial<OpikExporterConfig> {\n try {\n const configPath =\n readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\") ||\n readEnvVar(\"OPENCLAW_CONFIG_PATH\") ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf-8\"));\n const entry = raw?.plugins?.entries?.[\"opik-openclaw\"];\n if (!entry?.enabled || !entry?.config) return {};\n const c = entry.config as Record<string, unknown>;\n return {\n apiUrl: typeof c.apiUrl === \"string\" && c.apiUrl.length > 0 ? c.apiUrl : undefined,\n projectName: typeof c.projectName === \"string\" ? c.projectName : undefined,\n workspaceName: typeof c.workspaceName === \"string\" ? c.workspaceName : undefined,\n apiKey: typeof c.apiKey === \"string\" && c.apiKey.length > 0 ? c.apiKey : undefined,\n };\n } catch (err) {\n log?.debug?.(`[opik-exporter] could not read opik-openclaw config: ${err}`);\n return {};\n }\n}\n\n// ---------------------------------------------------------------------------\n// UUID v7 generator (Opik requires v7, not v4)\n// ---------------------------------------------------------------------------\n\nfunction uuidV7(): string {\n const now = Date.now();\n const bytes = randomBytes(16);\n // Timestamp: 48-bit ms since epoch in bytes 0-5\n bytes[0] = (now / 2 ** 40) & 0xff;\n bytes[1] = (now / 2 ** 32) & 0xff;\n bytes[2] = (now / 2 ** 24) & 0xff;\n bytes[3] = (now / 2 ** 16) & 0xff;\n bytes[4] = (now / 2 ** 8) & 0xff;\n bytes[5] = now & 0xff;\n // Version 7\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n // Variant 10xx\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const hex = bytes.toString(\"hex\");\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\n// ---------------------------------------------------------------------------\n// REST helpers\n// ---------------------------------------------------------------------------\n\nfunction buildHeaders(cfg: OpikExporterConfig): Record<string, string> {\n const headers: Record<string, string> = { \"Content-Type\": \"application/json\" };\n if (cfg.workspaceName) headers[\"Comet-Workspace\"] = cfg.workspaceName;\n // Opik expects the raw API key in the authorization header without a Bearer prefix.\n if (cfg.apiKey) headers[\"authorization\"] = cfg.apiKey;\n return headers;\n}\n\nasync function postSpanBatch(\n cfg: OpikExporterConfig,\n spans: unknown[],\n log: LoggerBackend,\n): Promise<void> {\n const url = `${cfg.apiUrl.replace(/\\/$/, \"\")}/v1/private/spans/batch`;\n try {\n const res = await fetch(url, {\n method: \"POST\",\n headers: buildHeaders(cfg),\n body: JSON.stringify({ spans }),\n });\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n log.debug?.(`[opik-exporter] span batch failed ${res.status}: ${text}`);\n }\n } catch (err) {\n log.debug?.(`[opik-exporter] span batch error: ${err}`);\n }\n}\n\nasync function postTraceBatch(\n cfg: OpikExporterConfig,\n traces: unknown[],\n log: LoggerBackend,\n): Promise<boolean> {\n const url = `${cfg.apiUrl.replace(/\\/$/, \"\")}/v1/private/traces/batch`;\n try {\n const res = await fetch(url, {\n method: \"POST\",\n headers: buildHeaders(cfg),\n body: JSON.stringify({ traces }),\n });\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n log.debug?.(`[opik-exporter] trace batch failed ${res.status}: ${text}`);\n return false;\n }\n return true;\n } catch (err) {\n log.debug?.(`[opik-exporter] trace batch error: ${err}`);\n return false;\n }\n}\n\n// ---------------------------------------------------------------------------\n// In-flight LLM span tracking\n// ---------------------------------------------------------------------------\n\ntype InFlightLlm = {\n startedAt: number;\n startTime: string;\n model: string;\n operation: string;\n input?: string;\n spanId: string;\n traceId: string;\n};\n\n// ---------------------------------------------------------------------------\n// Main exporter class\n// ---------------------------------------------------------------------------\n\nexport class OpikExporter {\n private readonly cfg: OpikExporterConfig;\n private readonly log: LoggerBackend;\n private _handler: ((e: EngramTraceEvent) => void) | undefined;\n private readonly inFlight = new Map<string, InFlightLlm>();\n /** Track which trace_ids we have already created parent trace objects for. */\n private readonly createdTraces = new Set<string>();\n /** In-flight ensureTrace promises keyed by traceId — concurrent callers await the same promise. */\n private readonly pendingTraces = new Map<string, Promise<void>>();\n /** TTL for in-flight LLM entries (ms). Entries older than this are discarded. */\n private static readonly IN_FLIGHT_TTL_MS = 5 * 60 * 1000; // 5 minutes\n\n constructor(cfg: OpikExporterConfig, log: LoggerBackend) {\n this.cfg = cfg;\n this.log = log;\n }\n\n /**\n * Subscribe to Engram's global trace slot. Safe to call multiple times —\n * chains with existing subscribers (e.g. Langfuse) rather than replacing.\n */\n subscribe(): void {\n if (!this.cfg.enabled) return;\n\n // Idempotency guard: if this exact instance is already registered on globalThis,\n // skip re-wrapping to avoid stacking callbacks on hot-reload / stop-start cycles.\n const g = globalThis as Record<string, unknown>;\n const active = g[OPIK_EXPORTER_SLOT] as OpikExporter | undefined;\n if (active === this) {\n this.log.debug?.(\"[opik-exporter] already subscribed — skipping duplicate\");\n return;\n }\n // If a different (stale) exporter instance is registered, evict it first.\n if (active) active._detach();\n\n g[OPIK_EXPORTER_SLOT] = this;\n\n const existing = g.__openclawEngramTrace as\n | ((e: EngramTraceEvent) => void)\n | undefined;\n\n const handler = (event: EngramTraceEvent) => {\n try {\n this.handleEvent(event);\n } catch (err) {\n this.log.debug?.(`[opik-exporter] handler error: ${err}`);\n }\n };\n // Store handler ref so _detach() can remove it from the chain.\n this._handler = handler;\n\n // Chain: call existing subscribers first, then ours.\n // NOTE: when _detach() is later called, it marks this.cfg.enabled = false\n // rather than restoring the chain, so that any subscriber that chained\n // *after* us is not dropped. The cost is one disabled no-op wrapper\n // remaining in the chain per stop/start cycle. In practice, Engram\n // restarts Opik only a handful of times per process lifetime, so the\n // overhead is negligible (one boolean check per leftover closure).\n g.__openclawEngramTrace =\n typeof existing === \"function\"\n ? (event: EngramTraceEvent) => {\n try { existing(event); } catch { /* prior subscriber threw; continue */ }\n handler(event);\n }\n : handler;\n\n this.log.info(\n `[opik-exporter] subscribed — apiUrl=${this.cfg.apiUrl} project=${this.cfg.projectName}`,\n );\n }\n\n /** Deactivate this exporter instance.\n *\n * We intentionally do NOT restore __openclawEngramTrace to a prior handler\n * because any subscriber that chained *after* us would be silently dropped\n * by such a restoration. Instead we mark the instance as disabled so that\n * handleEvent() becomes a no-op while the callback chain itself is left\n * untouched. The next subscribe() call from a fresh instance will re-enter\n * the chain on top of whatever is there at that point.\n */\n _detach(): void {\n const g = globalThis as Record<string, unknown>;\n // Only clear the global slot if we are still the active exporter.\n // A stale instance must not evict a newer exporter that already took over.\n if (g[OPIK_EXPORTER_SLOT] === this) delete g[OPIK_EXPORTER_SLOT];\n // Disable event processing; the wrapper closure in the chain becomes a no-op.\n (this.cfg as OpikExporterConfig & { enabled: boolean }).enabled = false;\n this._handler = undefined;\n this.log.debug?.(\"[opik-exporter] detached — events silenced, chain preserved\");\n }\n\n unsubscribe(): void {\n this._detach();\n }\n\n private handleEvent(event: EngramTraceEvent): void {\n if (!this.cfg.enabled) return; // guard for after _detach()\n if (event.kind === \"recall_summary\") {\n void this.onRecall(event);\n } else if (event.kind === \"llm_start\") {\n this.onLlmStart(event);\n } else if (event.kind === \"llm_end\" || event.kind === \"llm_error\") {\n void this.onLlmEnd(event);\n }\n }\n\n // -------------------------------------------------------------------------\n // Recall events → general span\n // -------------------------------------------------------------------------\n\n private async onRecall(evt: EngramRecallTraceEvent): Promise<void> {\n const now = new Date();\n const startTime = new Date(now.getTime() - evt.durationMs).toISOString();\n const endTime = now.toISOString();\n\n const input: Record<string, unknown> = {\n recallMode: evt.recallMode,\n recalledMemoryCount: evt.recalledMemoryCount,\n recallNamespaces: evt.recallNamespaces,\n source: evt.source,\n qmdEnabled: evt.qmdEnabled,\n qmdAvailable: evt.qmdAvailable,\n retrievalQueryLength: evt.retrievalQueryLength,\n recallResultLimit: evt.recallResultLimit,\n promptLength: evt.promptLength,\n };\n\n if (this.cfg.traceRecallContent && evt.recalledContent) {\n input.recalledContent = evt.recalledContent;\n }\n\n const metadata: Record<string, unknown> = {\n source: \"engram\",\n injected: evt.injected,\n contextChars: evt.contextChars,\n durationMs: evt.durationMs,\n };\n\n if (evt.identityInjectionMode) {\n metadata.identityInjectionMode = evt.identityInjectionMode;\n metadata.identityInjectedChars = evt.identityInjectedChars;\n }\n\n if (evt.timings) metadata.timings = evt.timings;\n\n const traceId = evt.sessionKey ? this.sessionToTraceId(evt.sessionKey) : uuidV7();\n\n // Ensure parent trace exists so the span is not orphaned in Opik.\n await this.ensureTrace(traceId, evt.sessionKey ?? \"engram:recall\", startTime, endTime);\n\n const output: Record<string, unknown> = {\n injected: evt.injected,\n recalledMemoryCount: evt.recalledMemoryCount,\n contextChars: evt.contextChars,\n durationMs: evt.durationMs,\n };\n if (this.cfg.traceRecallContent && evt.recalledContent) {\n output.recalledContent = evt.recalledContent;\n }\n\n const span = {\n id: uuidV7(),\n trace_id: traceId,\n project_name: this.cfg.projectName,\n name: \"engram:recall\",\n type: \"general\",\n start_time: startTime,\n end_time: endTime,\n input,\n output,\n metadata,\n tags: [\"engram\", \"recall\"],\n };\n\n await postSpanBatch(this.cfg, [span], this.log);\n }\n\n // -------------------------------------------------------------------------\n // Engram internal LLM events (extraction / consolidation) → llm span\n // -------------------------------------------------------------------------\n\n private onLlmStart(evt: EngramLlmTraceEvent): void {\n // Use evt.traceId (Engram's correlation key) as the Opik spanId so spans\n // are deterministic and stable across retries. Derive a per-call Opik\n // trace_id from the same key so each LLM call maps to its own trace.\n this.inFlight.set(evt.traceId, {\n startedAt: Date.now(),\n startTime: new Date().toISOString(),\n model: evt.model,\n operation: evt.operation,\n input: evt.input,\n spanId: this.sessionToTraceId(evt.traceId + \":span\"),\n traceId: this.sessionToTraceId(evt.traceId),\n });\n }\n\n private sweepStaleInFlight(): void {\n const cutoff = Date.now() - OpikExporter.IN_FLIGHT_TTL_MS;\n for (const [id, entry] of this.inFlight) {\n if (entry.startedAt < cutoff) {\n this.inFlight.delete(id);\n }\n }\n }\n\n private async onLlmEnd(evt: EngramLlmTraceEvent): Promise<void> {\n // Opportunistically sweep stale entries to prevent unbounded map growth.\n if (this.inFlight.size > 20) this.sweepStaleInFlight();\n const state = this.inFlight.get(evt.traceId);\n this.inFlight.delete(evt.traceId);\n\n const startTime = state?.startTime ?? new Date().toISOString();\n const endTime = new Date().toISOString();\n\n const usage: Record<string, number> = {};\n if (evt.tokenUsage?.input != null) usage.prompt_tokens = evt.tokenUsage.input;\n if (evt.tokenUsage?.output != null) usage.completion_tokens = evt.tokenUsage.output;\n if (evt.tokenUsage?.total != null) usage.total_tokens = evt.tokenUsage.total;\n\n const traceId = state?.traceId ?? uuidV7();\n\n // Ensure parent trace exists so the span is not orphaned in Opik.\n await this.ensureTrace(traceId, `engram:${evt.operation}`, startTime, endTime);\n\n const span: Record<string, unknown> = {\n id: state?.spanId ?? uuidV7(),\n trace_id: traceId,\n project_name: this.cfg.projectName,\n name: `engram:${evt.operation}`,\n type: \"llm\",\n model: evt.model,\n start_time: startTime,\n end_time: endTime,\n input: state?.input != null ? { prompt: state.input } : undefined,\n output:\n evt.kind === \"llm_end\" && evt.output != null\n ? { completion: evt.output }\n : evt.kind === \"llm_error\"\n ? { error: evt.error }\n : undefined,\n metadata: {\n source: \"engram\",\n operation: evt.operation,\n durationMs: evt.durationMs ?? (state ? Date.now() - state.startedAt : undefined),\n },\n tags: [\"engram\", evt.operation],\n usage: Object.keys(usage).length > 0 ? usage : undefined,\n };\n\n await postSpanBatch(this.cfg, [span], this.log);\n }\n\n // -------------------------------------------------------------------------\n // Helpers\n // -------------------------------------------------------------------------\n\n /**\n * Create a parent trace object in Opik if we haven't already.\n * Opik does NOT auto-create traces from spans, so without this\n * the spans are orphaned and don't show up in the trace list UI.\n */\n private async ensureTrace(\n traceId: string,\n name: string,\n startTime: string,\n endTime: string,\n ): Promise<void> {\n if (this.createdTraces.has(traceId)) return;\n\n // If another call is already creating this trace, wait for it and then\n // re-check — if the first attempt failed we'll retry below.\n const existing = this.pendingTraces.get(traceId);\n if (existing) {\n await existing;\n if (this.createdTraces.has(traceId)) return;\n // First attempt failed — check if another waiter is already retrying.\n const retrying = this.pendingTraces.get(traceId);\n if (retrying) {\n await retrying;\n // Only return if the retry actually succeeded.\n if (this.createdTraces.has(traceId)) return;\n }\n // No one else retrying; fall through to create.\n }\n\n const work = (async () => {\n const trace = {\n id: traceId,\n project_name: this.cfg.projectName,\n name,\n start_time: startTime,\n end_time: endTime,\n tags: [\"engram\"],\n };\n\n const ok = await postTraceBatch(this.cfg, [trace], this.log);\n if (!ok) {\n this.pendingTraces.delete(traceId);\n return; // transient failure — allow retry on next span\n }\n\n this.createdTraces.add(traceId);\n this.pendingTraces.delete(traceId);\n\n // Cap the set size to prevent unbounded growth in long-running processes.\n if (this.createdTraces.size > 10_000) {\n const first = this.createdTraces.values().next().value;\n if (first) this.createdTraces.delete(first);\n }\n })();\n\n this.pendingTraces.set(traceId, work);\n await work;\n }\n\n /**\n * Convert a sessionKey to a stable, deterministic UUID v7-shaped ID so that\n * spans for the same session share a trace_id and are threaded in Opik.\n * Uses SHA-256 for collision resistance. The timestamp bytes (0-5) come from\n * the hash itself — they don't reflect real time, but Opik only validates\n * the version/variant bits, not timestamp ordering.\n */\n private sessionToTraceId(sessionKey: string): string {\n const digest = createHash(\"sha256\").update(sessionKey).digest();\n // Version 7 (bytes 0-5 are hash-derived, not real timestamps)\n digest[6] = (digest[6] & 0x0f) | 0x70;\n // Variant 10xx\n digest[8] = (digest[8] & 0x3f) | 0x80;\n const hex = digest.slice(0, 16).toString(\"hex\");\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Factory: build from Engram resolved config + auto-detect from opik-openclaw\n// ---------------------------------------------------------------------------\n\nexport interface OpikExporterRawConfig {\n opikTraceEnabled?: boolean;\n opikApiUrl?: string;\n opikProjectName?: string;\n opikWorkspaceName?: string;\n opikApiKey?: string;\n opikTraceRecallContent?: boolean;\n}\n\nexport function createOpikExporter(\n raw: OpikExporterRawConfig,\n log: LoggerBackend,\n): OpikExporter | null {\n // Explicit opt-out: if set to false, never enable.\n if (raw.opikTraceEnabled === false) return null;\n\n // Auto-detect from opik-openclaw plugin config.\n // If opikTraceEnabled is not set (undefined), we enable automatically\n // whenever opik-openclaw is configured — avoids needing extra fields in\n // Engram's openclaw.json config section (which would fail schema validation).\n const detected = readOpikOpenclawConfig(log);\n\n const apiUrl = raw.opikApiUrl ?? detected.apiUrl;\n if (!apiUrl) {\n // Only warn when the user explicitly opted in but forgot to set the URL.\n // When auto-detecting (opikTraceEnabled not set), return silently so non-Opik\n // users see no log noise on every startup.\n if (raw.opikTraceEnabled === true) {\n log.warn(\n \"[opik-exporter] opikTraceEnabled=true but no apiUrl found — \" +\n \"set opikApiUrl in Engram config or ensure opik-openclaw plugin is configured\",\n );\n }\n return null;\n }\n\n const cfg: OpikExporterConfig = {\n enabled: true,\n apiUrl,\n projectName: raw.opikProjectName ?? detected.projectName ?? \"openclaw\",\n workspaceName: raw.opikWorkspaceName ?? detected.workspaceName ?? \"default\",\n apiKey: raw.opikApiKey ?? detected.apiKey,\n traceRecallContent: raw.opikTraceRecallContent === true,\n };\n\n return new OpikExporter(cfg, log);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/opik-exporter.ts"],"sourcesContent":["import { createHash, randomBytes } from \"node:crypto\";\n/**\n * opik-exporter.ts — Engram-native Opik trace exporter\n *\n * Subscribes to the globalThis.__openclawEngramTrace slot that Engram already\n * emits on, and forwards recall + LLM events to a self-hosted (or cloud) Opik\n * instance via its REST API. No extra npm dependencies — uses Node's built-in\n * fetch.\n *\n * Auto-detects apiUrl / projectName from the opik-openclaw plugin config so\n * traces land in the same project and are grouped by session thread.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nimport type { LoggerBackend } from \"./logger.js\";\nimport { readEnvVar, resolveHomeDir } from \"./runtime/env.js\";\n\n// GlobalThis slot that tracks the active OpikExporter instance.\n// Used to make subscribe() idempotent across hot-reload / stop-start cycles.\nconst OPIK_EXPORTER_SLOT = \"__openclawOpikExporter\";\n\n// ---------------------------------------------------------------------------\n// Engram event types (mirrors types.ts without importing from it)\n// ---------------------------------------------------------------------------\n\ntype EngramLlmTraceEvent = {\n kind: \"llm_start\" | \"llm_end\" | \"llm_error\";\n traceId: string;\n model: string;\n operation: \"extraction\" | \"consolidation\" | \"profile_consolidation\" | \"identity_consolidation\" | \"day_summary\";\n input?: string;\n output?: string;\n durationMs?: number;\n error?: string;\n tokenUsage?: { input?: number; output?: number; total?: number };\n};\n\ntype EngramRecallTraceEvent = {\n kind: \"recall_summary\";\n traceId: string;\n operation: \"recall\";\n sessionKey?: string;\n promptLength: number;\n retrievalQueryLength: number;\n recallMode: string;\n recallResultLimit: number;\n qmdEnabled: boolean;\n qmdAvailable: boolean;\n recallNamespaces: string[];\n source: string;\n recalledMemoryCount: number;\n injected: boolean;\n contextChars: number;\n identityInjectionMode?: string;\n identityInjectedChars?: number;\n durationMs: number;\n timings?: Record<string, string>;\n recalledContent?: string;\n};\n\ntype EngramTraceEvent = EngramLlmTraceEvent | EngramRecallTraceEvent;\n\n// ---------------------------------------------------------------------------\n// Config\n// ---------------------------------------------------------------------------\n\nexport interface OpikExporterConfig {\n enabled: boolean;\n /** Base URL of the Opik API, e.g. http://192.168.3.147:5173/api */\n apiUrl: string;\n projectName: string;\n workspaceName: string;\n /** Optional API key (not required for self-hosted deployments) */\n apiKey?: string;\n /** Include recalled memory text in spans (default false) */\n traceRecallContent: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Auto-detect from opik-openclaw plugin config\n// ---------------------------------------------------------------------------\n\nfunction readOpikOpenclawConfig(log?: LoggerBackend): Partial<OpikExporterConfig> {\n try {\n const configPath =\n readEnvVar(\"OPENCLAW_CONFIG_PATH\") ||\n readEnvVar(\"OPENCLAW_ENGRAM_CONFIG_PATH\") ||\n path.join(resolveHomeDir(), \".openclaw\", \"openclaw.json\");\n const raw = JSON.parse(fs.readFileSync(configPath, \"utf-8\"));\n const entry = raw?.plugins?.entries?.[\"opik-openclaw\"];\n if (!entry?.enabled || !entry?.config) return {};\n const c = entry.config as Record<string, unknown>;\n return {\n apiUrl: typeof c.apiUrl === \"string\" && c.apiUrl.length > 0 ? c.apiUrl : undefined,\n projectName: typeof c.projectName === \"string\" ? c.projectName : undefined,\n workspaceName: typeof c.workspaceName === \"string\" ? c.workspaceName : undefined,\n apiKey: typeof c.apiKey === \"string\" && c.apiKey.length > 0 ? c.apiKey : undefined,\n };\n } catch (err) {\n log?.debug?.(`[opik-exporter] could not read opik-openclaw config: ${err}`);\n return {};\n }\n}\n\n// ---------------------------------------------------------------------------\n// UUID v7 generator (Opik requires v7, not v4)\n// ---------------------------------------------------------------------------\n\nfunction uuidV7(): string {\n const now = Date.now();\n const bytes = randomBytes(16);\n // Timestamp: 48-bit ms since epoch in bytes 0-5\n bytes[0] = (now / 2 ** 40) & 0xff;\n bytes[1] = (now / 2 ** 32) & 0xff;\n bytes[2] = (now / 2 ** 24) & 0xff;\n bytes[3] = (now / 2 ** 16) & 0xff;\n bytes[4] = (now / 2 ** 8) & 0xff;\n bytes[5] = now & 0xff;\n // Version 7\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n // Variant 10xx\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const hex = bytes.toString(\"hex\");\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\n// ---------------------------------------------------------------------------\n// REST helpers\n// ---------------------------------------------------------------------------\n\nfunction buildHeaders(cfg: OpikExporterConfig): Record<string, string> {\n const headers: Record<string, string> = { \"Content-Type\": \"application/json\" };\n if (cfg.workspaceName) headers[\"Comet-Workspace\"] = cfg.workspaceName;\n // Opik expects the raw API key in the authorization header without a Bearer prefix.\n if (cfg.apiKey) headers[\"authorization\"] = cfg.apiKey;\n return headers;\n}\n\nasync function postSpanBatch(\n cfg: OpikExporterConfig,\n spans: unknown[],\n log: LoggerBackend,\n): Promise<void> {\n const url = `${cfg.apiUrl.replace(/\\/$/, \"\")}/v1/private/spans/batch`;\n try {\n const res = await fetch(url, {\n method: \"POST\",\n headers: buildHeaders(cfg),\n body: JSON.stringify({ spans }),\n });\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n log.debug?.(`[opik-exporter] span batch failed ${res.status}: ${text}`);\n }\n } catch (err) {\n log.debug?.(`[opik-exporter] span batch error: ${err}`);\n }\n}\n\nasync function postTraceBatch(\n cfg: OpikExporterConfig,\n traces: unknown[],\n log: LoggerBackend,\n): Promise<boolean> {\n const url = `${cfg.apiUrl.replace(/\\/$/, \"\")}/v1/private/traces/batch`;\n try {\n const res = await fetch(url, {\n method: \"POST\",\n headers: buildHeaders(cfg),\n body: JSON.stringify({ traces }),\n });\n if (!res.ok) {\n const text = await res.text().catch(() => \"\");\n log.debug?.(`[opik-exporter] trace batch failed ${res.status}: ${text}`);\n return false;\n }\n return true;\n } catch (err) {\n log.debug?.(`[opik-exporter] trace batch error: ${err}`);\n return false;\n }\n}\n\n// ---------------------------------------------------------------------------\n// In-flight LLM span tracking\n// ---------------------------------------------------------------------------\n\ntype InFlightLlm = {\n startedAt: number;\n startTime: string;\n model: string;\n operation: string;\n input?: string;\n spanId: string;\n traceId: string;\n};\n\n// ---------------------------------------------------------------------------\n// Main exporter class\n// ---------------------------------------------------------------------------\n\nexport class OpikExporter {\n private readonly cfg: OpikExporterConfig;\n private readonly log: LoggerBackend;\n private _handler: ((e: EngramTraceEvent) => void) | undefined;\n private readonly inFlight = new Map<string, InFlightLlm>();\n /** Track which trace_ids we have already created parent trace objects for. */\n private readonly createdTraces = new Set<string>();\n /** In-flight ensureTrace promises keyed by traceId — concurrent callers await the same promise. */\n private readonly pendingTraces = new Map<string, Promise<void>>();\n /** TTL for in-flight LLM entries (ms). Entries older than this are discarded. */\n private static readonly IN_FLIGHT_TTL_MS = 5 * 60 * 1000; // 5 minutes\n\n constructor(cfg: OpikExporterConfig, log: LoggerBackend) {\n this.cfg = cfg;\n this.log = log;\n }\n\n /**\n * Subscribe to Engram's global trace slot. Safe to call multiple times —\n * chains with existing subscribers (e.g. Langfuse) rather than replacing.\n */\n subscribe(): void {\n if (!this.cfg.enabled) return;\n\n // Idempotency guard: if this exact instance is already registered on globalThis,\n // skip re-wrapping to avoid stacking callbacks on hot-reload / stop-start cycles.\n const g = globalThis as Record<string, unknown>;\n const active = g[OPIK_EXPORTER_SLOT] as OpikExporter | undefined;\n if (active === this) {\n this.log.debug?.(\"[opik-exporter] already subscribed — skipping duplicate\");\n return;\n }\n // If a different (stale) exporter instance is registered, evict it first.\n if (active) active._detach();\n\n g[OPIK_EXPORTER_SLOT] = this;\n\n const existing = g.__openclawEngramTrace as\n | ((e: EngramTraceEvent) => void)\n | undefined;\n\n const handler = (event: EngramTraceEvent) => {\n try {\n this.handleEvent(event);\n } catch (err) {\n this.log.debug?.(`[opik-exporter] handler error: ${err}`);\n }\n };\n // Store handler ref so _detach() can remove it from the chain.\n this._handler = handler;\n\n // Chain: call existing subscribers first, then ours.\n // NOTE: when _detach() is later called, it marks this.cfg.enabled = false\n // rather than restoring the chain, so that any subscriber that chained\n // *after* us is not dropped. The cost is one disabled no-op wrapper\n // remaining in the chain per stop/start cycle. In practice, Engram\n // restarts Opik only a handful of times per process lifetime, so the\n // overhead is negligible (one boolean check per leftover closure).\n g.__openclawEngramTrace =\n typeof existing === \"function\"\n ? (event: EngramTraceEvent) => {\n try { existing(event); } catch { /* prior subscriber threw; continue */ }\n handler(event);\n }\n : handler;\n\n this.log.info(\n `[opik-exporter] subscribed — apiUrl=${this.cfg.apiUrl} project=${this.cfg.projectName}`,\n );\n }\n\n /** Deactivate this exporter instance.\n *\n * We intentionally do NOT restore __openclawEngramTrace to a prior handler\n * because any subscriber that chained *after* us would be silently dropped\n * by such a restoration. Instead we mark the instance as disabled so that\n * handleEvent() becomes a no-op while the callback chain itself is left\n * untouched. The next subscribe() call from a fresh instance will re-enter\n * the chain on top of whatever is there at that point.\n */\n _detach(): void {\n const g = globalThis as Record<string, unknown>;\n // Only clear the global slot if we are still the active exporter.\n // A stale instance must not evict a newer exporter that already took over.\n if (g[OPIK_EXPORTER_SLOT] === this) delete g[OPIK_EXPORTER_SLOT];\n // Disable event processing; the wrapper closure in the chain becomes a no-op.\n (this.cfg as OpikExporterConfig & { enabled: boolean }).enabled = false;\n this._handler = undefined;\n this.log.debug?.(\"[opik-exporter] detached — events silenced, chain preserved\");\n }\n\n unsubscribe(): void {\n this._detach();\n }\n\n private handleEvent(event: EngramTraceEvent): void {\n if (!this.cfg.enabled) return; // guard for after _detach()\n if (event.kind === \"recall_summary\") {\n void this.onRecall(event);\n } else if (event.kind === \"llm_start\") {\n this.onLlmStart(event);\n } else if (event.kind === \"llm_end\" || event.kind === \"llm_error\") {\n void this.onLlmEnd(event);\n }\n }\n\n // -------------------------------------------------------------------------\n // Recall events → general span\n // -------------------------------------------------------------------------\n\n private async onRecall(evt: EngramRecallTraceEvent): Promise<void> {\n const now = new Date();\n const startTime = new Date(now.getTime() - evt.durationMs).toISOString();\n const endTime = now.toISOString();\n\n const input: Record<string, unknown> = {\n recallMode: evt.recallMode,\n recalledMemoryCount: evt.recalledMemoryCount,\n recallNamespaces: evt.recallNamespaces,\n source: evt.source,\n qmdEnabled: evt.qmdEnabled,\n qmdAvailable: evt.qmdAvailable,\n retrievalQueryLength: evt.retrievalQueryLength,\n recallResultLimit: evt.recallResultLimit,\n promptLength: evt.promptLength,\n };\n\n if (this.cfg.traceRecallContent && evt.recalledContent) {\n input.recalledContent = evt.recalledContent;\n }\n\n const metadata: Record<string, unknown> = {\n source: \"engram\",\n injected: evt.injected,\n contextChars: evt.contextChars,\n durationMs: evt.durationMs,\n };\n\n if (evt.identityInjectionMode) {\n metadata.identityInjectionMode = evt.identityInjectionMode;\n metadata.identityInjectedChars = evt.identityInjectedChars;\n }\n\n if (evt.timings) metadata.timings = evt.timings;\n\n const traceId = evt.sessionKey ? this.sessionToTraceId(evt.sessionKey) : uuidV7();\n\n // Ensure parent trace exists so the span is not orphaned in Opik.\n await this.ensureTrace(traceId, evt.sessionKey ?? \"engram:recall\", startTime, endTime);\n\n const output: Record<string, unknown> = {\n injected: evt.injected,\n recalledMemoryCount: evt.recalledMemoryCount,\n contextChars: evt.contextChars,\n durationMs: evt.durationMs,\n };\n if (this.cfg.traceRecallContent && evt.recalledContent) {\n output.recalledContent = evt.recalledContent;\n }\n\n const span = {\n id: uuidV7(),\n trace_id: traceId,\n project_name: this.cfg.projectName,\n name: \"engram:recall\",\n type: \"general\",\n start_time: startTime,\n end_time: endTime,\n input,\n output,\n metadata,\n tags: [\"engram\", \"recall\"],\n };\n\n await postSpanBatch(this.cfg, [span], this.log);\n }\n\n // -------------------------------------------------------------------------\n // Engram internal LLM events (extraction / consolidation) → llm span\n // -------------------------------------------------------------------------\n\n private onLlmStart(evt: EngramLlmTraceEvent): void {\n // Use evt.traceId (Engram's correlation key) as the Opik spanId so spans\n // are deterministic and stable across retries. Derive a per-call Opik\n // trace_id from the same key so each LLM call maps to its own trace.\n this.inFlight.set(evt.traceId, {\n startedAt: Date.now(),\n startTime: new Date().toISOString(),\n model: evt.model,\n operation: evt.operation,\n input: evt.input,\n spanId: this.sessionToTraceId(evt.traceId + \":span\"),\n traceId: this.sessionToTraceId(evt.traceId),\n });\n }\n\n private sweepStaleInFlight(): void {\n const cutoff = Date.now() - OpikExporter.IN_FLIGHT_TTL_MS;\n for (const [id, entry] of this.inFlight) {\n if (entry.startedAt < cutoff) {\n this.inFlight.delete(id);\n }\n }\n }\n\n private async onLlmEnd(evt: EngramLlmTraceEvent): Promise<void> {\n // Opportunistically sweep stale entries to prevent unbounded map growth.\n if (this.inFlight.size > 20) this.sweepStaleInFlight();\n const state = this.inFlight.get(evt.traceId);\n this.inFlight.delete(evt.traceId);\n\n const startTime = state?.startTime ?? new Date().toISOString();\n const endTime = new Date().toISOString();\n\n const usage: Record<string, number> = {};\n if (evt.tokenUsage?.input != null) usage.prompt_tokens = evt.tokenUsage.input;\n if (evt.tokenUsage?.output != null) usage.completion_tokens = evt.tokenUsage.output;\n if (evt.tokenUsage?.total != null) usage.total_tokens = evt.tokenUsage.total;\n\n const traceId = state?.traceId ?? uuidV7();\n\n // Ensure parent trace exists so the span is not orphaned in Opik.\n await this.ensureTrace(traceId, `engram:${evt.operation}`, startTime, endTime);\n\n const span: Record<string, unknown> = {\n id: state?.spanId ?? uuidV7(),\n trace_id: traceId,\n project_name: this.cfg.projectName,\n name: `engram:${evt.operation}`,\n type: \"llm\",\n model: evt.model,\n start_time: startTime,\n end_time: endTime,\n input: state?.input != null ? { prompt: state.input } : undefined,\n output:\n evt.kind === \"llm_end\" && evt.output != null\n ? { completion: evt.output }\n : evt.kind === \"llm_error\"\n ? { error: evt.error }\n : undefined,\n metadata: {\n source: \"engram\",\n operation: evt.operation,\n durationMs: evt.durationMs ?? (state ? Date.now() - state.startedAt : undefined),\n },\n tags: [\"engram\", evt.operation],\n usage: Object.keys(usage).length > 0 ? usage : undefined,\n };\n\n await postSpanBatch(this.cfg, [span], this.log);\n }\n\n // -------------------------------------------------------------------------\n // Helpers\n // -------------------------------------------------------------------------\n\n /**\n * Create a parent trace object in Opik if we haven't already.\n * Opik does NOT auto-create traces from spans, so without this\n * the spans are orphaned and don't show up in the trace list UI.\n */\n private async ensureTrace(\n traceId: string,\n name: string,\n startTime: string,\n endTime: string,\n ): Promise<void> {\n if (this.createdTraces.has(traceId)) return;\n\n // If another call is already creating this trace, wait for it and then\n // re-check — if the first attempt failed we'll retry below.\n const existing = this.pendingTraces.get(traceId);\n if (existing) {\n await existing;\n if (this.createdTraces.has(traceId)) return;\n // First attempt failed — check if another waiter is already retrying.\n const retrying = this.pendingTraces.get(traceId);\n if (retrying) {\n await retrying;\n // Only return if the retry actually succeeded.\n if (this.createdTraces.has(traceId)) return;\n }\n // No one else retrying; fall through to create.\n }\n\n const work = (async () => {\n const trace = {\n id: traceId,\n project_name: this.cfg.projectName,\n name,\n start_time: startTime,\n end_time: endTime,\n tags: [\"engram\"],\n };\n\n const ok = await postTraceBatch(this.cfg, [trace], this.log);\n if (!ok) {\n this.pendingTraces.delete(traceId);\n return; // transient failure — allow retry on next span\n }\n\n this.createdTraces.add(traceId);\n this.pendingTraces.delete(traceId);\n\n // Cap the set size to prevent unbounded growth in long-running processes.\n if (this.createdTraces.size > 10_000) {\n const first = this.createdTraces.values().next().value;\n if (first) this.createdTraces.delete(first);\n }\n })();\n\n this.pendingTraces.set(traceId, work);\n await work;\n }\n\n /**\n * Convert a sessionKey to a stable, deterministic UUID v7-shaped ID so that\n * spans for the same session share a trace_id and are threaded in Opik.\n * Uses SHA-256 for collision resistance. The timestamp bytes (0-5) come from\n * the hash itself — they don't reflect real time, but Opik only validates\n * the version/variant bits, not timestamp ordering.\n */\n private sessionToTraceId(sessionKey: string): string {\n const digest = createHash(\"sha256\").update(sessionKey).digest();\n // Version 7 (bytes 0-5 are hash-derived, not real timestamps)\n digest[6] = (digest[6] & 0x0f) | 0x70;\n // Variant 10xx\n digest[8] = (digest[8] & 0x3f) | 0x80;\n const hex = digest.slice(0, 16).toString(\"hex\");\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Factory: build from Engram resolved config + auto-detect from opik-openclaw\n// ---------------------------------------------------------------------------\n\nexport interface OpikExporterRawConfig {\n opikTraceEnabled?: boolean;\n opikApiUrl?: string;\n opikProjectName?: string;\n opikWorkspaceName?: string;\n opikApiKey?: string;\n opikTraceRecallContent?: boolean;\n}\n\nexport function createOpikExporter(\n raw: OpikExporterRawConfig,\n log: LoggerBackend,\n): OpikExporter | null {\n // Explicit opt-out: if set to false, never enable.\n if (raw.opikTraceEnabled === false) return null;\n\n // Auto-detect from opik-openclaw plugin config.\n // If opikTraceEnabled is not set (undefined), we enable automatically\n // whenever opik-openclaw is configured — avoids needing extra fields in\n // Engram's openclaw.json config section (which would fail schema validation).\n const detected = readOpikOpenclawConfig(log);\n\n const apiUrl = raw.opikApiUrl ?? detected.apiUrl;\n if (!apiUrl) {\n // Only warn when the user explicitly opted in but forgot to set the URL.\n // When auto-detecting (opikTraceEnabled not set), return silently so non-Opik\n // users see no log noise on every startup.\n if (raw.opikTraceEnabled === true) {\n log.warn(\n \"[opik-exporter] opikTraceEnabled=true but no apiUrl found — \" +\n \"set opikApiUrl in Engram config or ensure opik-openclaw plugin is configured\",\n );\n }\n return null;\n }\n\n const cfg: OpikExporterConfig = {\n enabled: true,\n apiUrl,\n projectName: raw.opikProjectName ?? detected.projectName ?? \"openclaw\",\n workspaceName: raw.opikWorkspaceName ?? detected.workspaceName ?? \"default\",\n apiKey: raw.opikApiKey ?? detected.apiKey,\n traceRecallContent: raw.opikTraceRecallContent === true,\n };\n\n return new OpikExporter(cfg, log);\n}\n"],"mappings":"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","names":[]}