@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
@@ -1,329 +0,0 @@
1
- // src/capsule-cli.ts
2
- import path from "path";
3
- function parseCapsuleOutputFormat(raw) {
4
- if (raw === void 0 || raw === null) return "text";
5
- if (typeof raw !== "string" || raw.trim() === "") {
6
- throw new Error(
7
- `--format expects one of text, markdown, json; got ${JSON.stringify(raw)}`
8
- );
9
- }
10
- const v = raw.trim();
11
- if (v !== "text" && v !== "markdown" && v !== "json") {
12
- throw new Error(
13
- `--format expects one of text, markdown, json; got ${JSON.stringify(raw)}`
14
- );
15
- }
16
- return v;
17
- }
18
- function parseCapsuleImportMode(raw) {
19
- if (raw === void 0 || raw === null) return "skip";
20
- if (typeof raw !== "string" || raw.trim() === "") {
21
- throw new Error(
22
- `--mode expects one of skip, overwrite, fork; got ${JSON.stringify(raw)}`
23
- );
24
- }
25
- const v = raw.trim();
26
- if (v !== "skip" && v !== "overwrite" && v !== "fork") {
27
- throw new Error(
28
- `--mode expects one of skip, overwrite, fork; got ${JSON.stringify(raw)}`
29
- );
30
- }
31
- return v;
32
- }
33
- function parseCapsuleConflictMode(raw) {
34
- if (raw === void 0 || raw === null) return "skip-conflicts";
35
- if (typeof raw !== "string" || raw.trim() === "") {
36
- throw new Error(
37
- `--conflict-mode expects one of skip-conflicts, prefer-source, prefer-local; got ${JSON.stringify(raw)}`
38
- );
39
- }
40
- const v = raw.trim();
41
- if (v !== "skip-conflicts" && v !== "prefer-source" && v !== "prefer-local") {
42
- throw new Error(
43
- `--conflict-mode expects one of skip-conflicts, prefer-source, prefer-local; got ${JSON.stringify(raw)}`
44
- );
45
- }
46
- return v;
47
- }
48
- var ISO_8601_RE = /^\d{4}-\d{2}-\d{2}(?:[Tt]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:[Zz]|[+-]\d{2}:?\d{2}))?$/;
49
- function parseCapsuleSince(raw) {
50
- if (raw === void 0 || raw === null) return void 0;
51
- if (typeof raw !== "string") {
52
- throw new Error(
53
- `--since expects an ISO 8601 timestamp; got ${JSON.stringify(raw)}`
54
- );
55
- }
56
- if (raw.trim() === "") {
57
- throw new Error(`--since expects an ISO 8601 timestamp; received empty string`);
58
- }
59
- if (!ISO_8601_RE.test(raw)) {
60
- throw new Error(
61
- `--since is not a valid ISO 8601 timestamp: ${raw}. Accepted forms: YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ, YYYY-MM-DDTHH:MM:SS\xB1HH:MM`
62
- );
63
- }
64
- const ms = Date.parse(raw);
65
- if (!Number.isFinite(ms)) {
66
- throw new Error(`--since is not a valid ISO 8601 timestamp: ${raw}`);
67
- }
68
- const m = /^(\d{4})-(\d{2})-(\d{2})/.exec(raw);
69
- if (m) {
70
- const offsetMatch = /([+-])(\d{2}):?(\d{2})$/.exec(raw);
71
- let displayMs = ms;
72
- if (offsetMatch) {
73
- const sign = offsetMatch[1] === "-" ? -1 : 1;
74
- const offsetMin = sign * (Number(offsetMatch[2]) * 60 + Number(offsetMatch[3]));
75
- displayMs = ms + offsetMin * 6e4;
76
- }
77
- const dd = new Date(displayMs);
78
- if (dd.getUTCFullYear() !== Number(m[1]) || dd.getUTCMonth() + 1 !== Number(m[2]) || dd.getUTCDate() !== Number(m[3])) {
79
- throw new Error(
80
- `--since: calendar overflow \u2014 ${raw} normalises to a different calendar date`
81
- );
82
- }
83
- }
84
- return raw;
85
- }
86
- function parseCapsuleIncludeKinds(raw) {
87
- if (raw === void 0 || raw === null) return void 0;
88
- if (typeof raw !== "string") {
89
- throw new Error(
90
- `--include-kinds expects a comma-separated list of directory names; got ${JSON.stringify(raw)}`
91
- );
92
- }
93
- if (raw.trim() === "") {
94
- throw new Error(
95
- `--include-kinds expects at least one non-empty kind name`
96
- );
97
- }
98
- const parts = raw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
99
- if (parts.length === 0) {
100
- throw new Error(`--include-kinds expects at least one non-empty kind name`);
101
- }
102
- for (const p of parts) {
103
- if (p.includes("/") || p.includes("\\")) {
104
- throw new Error(
105
- `--include-kinds entries must be top-level directory names (no path separators): ${p}`
106
- );
107
- }
108
- }
109
- return [...new Set(parts)];
110
- }
111
- function parseCapsulePeers(raw) {
112
- if (raw === void 0 || raw === null) return void 0;
113
- if (typeof raw !== "string") {
114
- throw new Error(
115
- `--peers expects a comma-separated list of peer ids; got ${JSON.stringify(raw)}`
116
- );
117
- }
118
- if (raw.trim() === "") {
119
- throw new Error(`--peers expects at least one non-empty peer id`);
120
- }
121
- const parts = raw.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
122
- if (parts.length === 0) {
123
- throw new Error(`--peers expects at least one non-empty peer id`);
124
- }
125
- for (const p of parts) {
126
- if (p.includes("/") || p.includes("\\") || p === "." || p === "..") {
127
- throw new Error(
128
- `--peers entries must be plain id tokens (no path separators): ${p}`
129
- );
130
- }
131
- }
132
- return [...new Set(parts)];
133
- }
134
- function parseCapsuleExportOptions(nameArg, opts) {
135
- if (typeof nameArg !== "string" || nameArg.trim() === "") {
136
- throw new Error(
137
- `capsule export: <name> is required (e.g. "remnic capsule export my-capsule")`
138
- );
139
- }
140
- const name = nameArg.trim();
141
- const out = typeof opts.out === "string" && opts.out.trim() !== "" ? opts.out.trim() : void 0;
142
- const since = parseCapsuleSince(opts.since);
143
- const includeKinds = parseCapsuleIncludeKinds(opts.includeKinds);
144
- const peers = parseCapsulePeers(opts.peers);
145
- return { name, out, since, includeKinds, peers };
146
- }
147
- function parseCapsuleImportOptions(archiveArg, opts) {
148
- if (typeof archiveArg !== "string" || archiveArg.trim() === "") {
149
- throw new Error(
150
- `capsule import: <archive> path is required (e.g. "remnic capsule import /path/to/my-capsule.capsule.json.gz")`
151
- );
152
- }
153
- const archive = archiveArg.trim();
154
- const mode = parseCapsuleImportMode(opts.mode);
155
- return { archive, mode };
156
- }
157
- function parseCapsuleMergeOptions(archiveArg, opts) {
158
- if (typeof archiveArg !== "string" || archiveArg.trim() === "") {
159
- throw new Error(
160
- `capsule merge: <archive> path is required (e.g. "remnic capsule merge /path/to/my-capsule.capsule.json.gz")`
161
- );
162
- }
163
- const archive = archiveArg.trim();
164
- const conflictMode = parseCapsuleConflictMode(opts.conflictMode);
165
- return { archive, conflictMode };
166
- }
167
- function parseCapsuleListOptions(opts, defaultCapsulesDir2) {
168
- const format = parseCapsuleOutputFormat(opts.format);
169
- const rawDir = typeof opts.dir === "string" && opts.dir.trim() !== "" ? opts.dir.trim() : void 0;
170
- const capsulesDir = rawDir ?? defaultCapsulesDir2;
171
- return { format, capsulesDir };
172
- }
173
- function parseCapsuleInspectOptions(archiveArg, opts) {
174
- if (typeof archiveArg !== "string" || archiveArg.trim() === "") {
175
- throw new Error(
176
- `capsule inspect: <archive> path is required (e.g. "remnic capsule inspect my-capsule.capsule.json.gz")`
177
- );
178
- }
179
- const archive = archiveArg.trim();
180
- const format = parseCapsuleOutputFormat(opts.format);
181
- return { archive, format };
182
- }
183
- function defaultCapsulesDir(memoryDir) {
184
- return path.join(memoryDir, ".capsules");
185
- }
186
- function escapeMarkdownCell(v) {
187
- return v.replace(/\\/g, "\\\\").replace(/\|/g, "\\|");
188
- }
189
- function renderCapsuleList(entries, format) {
190
- if (format === "json") {
191
- return JSON.stringify({ capsules: entries }, null, 2);
192
- }
193
- if (entries.length === 0) {
194
- if (format === "markdown") return "_No capsule archives found._\n";
195
- return "No capsule archives found.\n";
196
- }
197
- if (format === "markdown") {
198
- const rows = entries.map((e) => {
199
- const id = escapeMarkdownCell(e.id);
200
- const date = escapeMarkdownCell(e.createdAt?.slice(0, 10) ?? "\u2014");
201
- const ver = escapeMarkdownCell(e.pluginVersion ?? "\u2014");
202
- const files = e.fileCount !== null ? String(e.fileCount) : "\u2014";
203
- const desc = escapeMarkdownCell(
204
- e.description != null && e.description.trim() !== "" ? e.description.trim() : "\u2014"
205
- );
206
- return `| \`${id}\` | ${date} | ${ver} | ${files} | ${desc} |`;
207
- });
208
- return [
209
- "# Capsule archives",
210
- "",
211
- "| ID | Created | Version | Files | Description |",
212
- "| -- | ------- | ------- | ----- | ----------- |",
213
- ...rows,
214
- ""
215
- ].join("\n");
216
- }
217
- const lines = entries.map((e) => {
218
- const date = e.createdAt?.slice(0, 10) ?? "\u2014";
219
- const files = e.fileCount !== null ? `${e.fileCount} file${e.fileCount !== 1 ? "s" : ""}` : "? files";
220
- const desc = e.description != null && e.description.trim() !== "" ? ` ${e.description.trim()}` : "";
221
- return `${e.id} [${date}] [${files}]${desc}`;
222
- });
223
- return lines.join("\n") + "\n";
224
- }
225
- function renderCapsuleInspect(manifest, format) {
226
- if (format === "json") {
227
- return JSON.stringify(manifest, null, 2);
228
- }
229
- const {
230
- capsuleId,
231
- version,
232
- schemaVersion,
233
- createdAt,
234
- pluginVersion,
235
- fileCount,
236
- includesTranscripts,
237
- description,
238
- parentCapsule,
239
- retrievalPolicy,
240
- includes,
241
- topFiles
242
- } = manifest;
243
- if (format === "markdown") {
244
- const policyLines = Object.entries(retrievalPolicy.tierWeights ?? {}).map(
245
- ([k, v]) => ` - ${k}: ${v}`
246
- );
247
- const policyBlock = policyLines.length > 0 ? policyLines.join("\n") : " _(no tier weight overrides)_";
248
- return [
249
- `# Capsule: \`${capsuleId}\``,
250
- "",
251
- `**Version:** ${version} `,
252
- `**Schema version:** ${schemaVersion} `,
253
- `**Created:** ${createdAt ?? "\u2014"} `,
254
- `**Plugin version:** ${pluginVersion ?? "\u2014"} `,
255
- `**Files:** ${fileCount} `,
256
- `**Includes transcripts:** ${includesTranscripts ? "yes" : "no"} `,
257
- `**Parent capsule:** ${parentCapsule ?? "_none_"} `,
258
- `**Description:** ${description && description.trim() !== "" ? description.trim() : "_none_"} `,
259
- "",
260
- "## Includes",
261
- `- taxonomy: ${includes.taxonomy ? "yes" : "no"}`,
262
- `- identityAnchors: ${includes.identityAnchors ? "yes" : "no"}`,
263
- `- peerProfiles: ${includes.peerProfiles ? "yes" : "no"}`,
264
- `- procedural: ${includes.procedural ? "yes" : "no"}`,
265
- "",
266
- "## Retrieval policy",
267
- `- directAnswerEnabled: ${retrievalPolicy.directAnswerEnabled ? "yes" : "no"}`,
268
- `- tierWeights:`,
269
- policyBlock,
270
- "",
271
- ...topFiles.length > 0 ? [
272
- `## Files (${fileCount} total, showing first ${topFiles.length})`,
273
- ...topFiles.map((f) => `- \`${f}\``),
274
- ""
275
- ] : [`## Files (${fileCount} total)`, "_Empty capsule._", ""]
276
- ].join("\n");
277
- }
278
- const lines = [
279
- `Capsule: ${capsuleId}`,
280
- ` version: ${version}`,
281
- ` schema: ${schemaVersion}`,
282
- ` created: ${createdAt ?? "\u2014"}`,
283
- ` plugin: ${pluginVersion ?? "\u2014"}`,
284
- ` files: ${fileCount}`,
285
- ` transcripts: ${includesTranscripts ? "yes" : "no"}`,
286
- ` parent: ${parentCapsule ?? "(none)"}`,
287
- ` description: ${description && description.trim() !== "" ? description.trim() : "(none)"}`,
288
- "",
289
- ` includes.taxonomy: ${includes.taxonomy ? "yes" : "no"}`,
290
- ` includes.identityAnchors: ${includes.identityAnchors ? "yes" : "no"}`,
291
- ` includes.peerProfiles: ${includes.peerProfiles ? "yes" : "no"}`,
292
- ` includes.procedural: ${includes.procedural ? "yes" : "no"}`,
293
- "",
294
- ` policy.directAnswer: ${retrievalPolicy.directAnswerEnabled ? "yes" : "no"}`
295
- ];
296
- const weights = Object.entries(retrievalPolicy.tierWeights ?? {});
297
- if (weights.length > 0) {
298
- for (const [k, v] of weights) {
299
- lines.push(` policy.tierWeight[${k}]: ${v}`);
300
- }
301
- } else {
302
- lines.push(` policy.tierWeights: (none)`);
303
- }
304
- if (topFiles.length > 0) {
305
- lines.push("", ` files (first ${topFiles.length} of ${fileCount}):`);
306
- for (const f of topFiles) {
307
- lines.push(` ${f}`);
308
- }
309
- }
310
- return lines.join("\n") + "\n";
311
- }
312
-
313
- export {
314
- parseCapsuleOutputFormat,
315
- parseCapsuleImportMode,
316
- parseCapsuleConflictMode,
317
- parseCapsuleSince,
318
- parseCapsuleIncludeKinds,
319
- parseCapsulePeers,
320
- parseCapsuleExportOptions,
321
- parseCapsuleImportOptions,
322
- parseCapsuleMergeOptions,
323
- parseCapsuleListOptions,
324
- parseCapsuleInspectOptions,
325
- defaultCapsulesDir,
326
- renderCapsuleList,
327
- renderCapsuleInspect
328
- };
329
- //# sourceMappingURL=chunk-74EMIVE4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/capsule-cli.ts"],"sourcesContent":["/**\n * Pure-function helpers for the `remnic capsule` CLI surface (issue #676 PR 6/6).\n *\n * All functions here are free of orchestrator / filesystem side-effects so\n * they can be unit-tested without booting the gateway (CLAUDE.md rules 14, 51).\n *\n * Responsibilities:\n * - Input validation + option parsing for every capsule sub-command flag.\n * - Rendering of `capsule list` and `capsule inspect` output in text /\n * markdown / json forms.\n *\n * The actual I/O (export, import, merge, directory listing, manifest read) is\n * wired in `cli.ts` because those operations need the orchestrator's config.\n */\n\nimport path from \"node:path\";\n\n// ---------------------------------------------------------------------------\n// Shared types\n// ---------------------------------------------------------------------------\n\nexport type CapsuleOutputFormat = \"text\" | \"markdown\" | \"json\";\n\n/**\n * Metadata entry returned by `capsule list` for a single archive file found\n * in the capsule store directory.\n */\nexport interface CapsuleListEntry {\n /** Capsule id extracted from the filename (slug before `.capsule.json.gz`). */\n id: string;\n /** Absolute path to the `.capsule.json.gz` archive. */\n archivePath: string;\n /** Absolute path to the sidecar `.manifest.json`, or null if missing. */\n manifestPath: string | null;\n /** `createdAt` ISO string from the sidecar manifest, or null if unreadable. */\n createdAt: string | null;\n /** `pluginVersion` from the sidecar manifest, or null. */\n pluginVersion: string | null;\n /** `files` array length from the sidecar manifest, or null. */\n fileCount: number | null;\n /** `capsule.description` from the sidecar manifest, or null. */\n description: string | null;\n}\n\n// ---------------------------------------------------------------------------\n// Validation helpers\n// ---------------------------------------------------------------------------\n\n/**\n * Validate and coerce the `--format` flag value.\n *\n * Rule 51: invalid values must throw with a listed-options error, not silently\n * fall back to a default.\n */\nexport function parseCapsuleOutputFormat(\n raw: unknown,\n): CapsuleOutputFormat {\n if (raw === undefined || raw === null) return \"text\";\n if (typeof raw !== \"string\" || raw.trim() === \"\") {\n throw new Error(\n `--format expects one of text, markdown, json; got ${JSON.stringify(raw)}`,\n );\n }\n const v = raw.trim() as CapsuleOutputFormat;\n if (v !== \"text\" && v !== \"markdown\" && v !== \"json\") {\n throw new Error(\n `--format expects one of text, markdown, json; got ${JSON.stringify(raw)}`,\n );\n }\n return v;\n}\n\n/**\n * Validate and coerce the `--mode` flag for `capsule import`.\n */\nexport function parseCapsuleImportMode(\n raw: unknown,\n): \"skip\" | \"overwrite\" | \"fork\" {\n if (raw === undefined || raw === null) return \"skip\";\n if (typeof raw !== \"string\" || raw.trim() === \"\") {\n throw new Error(\n `--mode expects one of skip, overwrite, fork; got ${JSON.stringify(raw)}`,\n );\n }\n const v = raw.trim();\n if (v !== \"skip\" && v !== \"overwrite\" && v !== \"fork\") {\n throw new Error(\n `--mode expects one of skip, overwrite, fork; got ${JSON.stringify(raw)}`,\n );\n }\n return v as \"skip\" | \"overwrite\" | \"fork\";\n}\n\n/**\n * Validate and coerce the `--conflict-mode` flag for `capsule merge`.\n */\nexport function parseCapsuleConflictMode(\n raw: unknown,\n): \"skip-conflicts\" | \"prefer-source\" | \"prefer-local\" {\n if (raw === undefined || raw === null) return \"skip-conflicts\";\n if (typeof raw !== \"string\" || raw.trim() === \"\") {\n throw new Error(\n `--conflict-mode expects one of skip-conflicts, prefer-source, prefer-local; got ${JSON.stringify(raw)}`,\n );\n }\n const v = raw.trim();\n if (v !== \"skip-conflicts\" && v !== \"prefer-source\" && v !== \"prefer-local\") {\n throw new Error(\n `--conflict-mode expects one of skip-conflicts, prefer-source, prefer-local; got ${JSON.stringify(raw)}`,\n );\n }\n return v as \"skip-conflicts\" | \"prefer-source\" | \"prefer-local\";\n}\n\n/**\n * Parse and validate the `--since` ISO-8601 string.\n *\n * Accepts date-only (`YYYY-MM-DD`) and date+time with explicit timezone\n * (`YYYY-MM-DDTHH:MM...Z` / `±HH:MM`). Rejects datetime without a timezone\n * designator (host-dependent interpretation, Rule 51).\n */\nconst ISO_8601_RE =\n /^\\d{4}-\\d{2}-\\d{2}(?:[Tt]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,9})?)?(?:[Zz]|[+-]\\d{2}:?\\d{2}))?$/;\n\nexport function parseCapsuleSince(raw: unknown): string | undefined {\n if (raw === undefined || raw === null) return undefined;\n if (typeof raw !== \"string\") {\n throw new Error(\n `--since expects an ISO 8601 timestamp; got ${JSON.stringify(raw)}`,\n );\n }\n if (raw.trim() === \"\") {\n throw new Error(`--since expects an ISO 8601 timestamp; received empty string`);\n }\n if (!ISO_8601_RE.test(raw)) {\n throw new Error(\n `--since is not a valid ISO 8601 timestamp: ${raw}. ` +\n `Accepted forms: YYYY-MM-DD, YYYY-MM-DDTHH:MM:SSZ, YYYY-MM-DDTHH:MM:SS±HH:MM`,\n );\n }\n const ms = Date.parse(raw);\n if (!Number.isFinite(ms)) {\n throw new Error(`--since is not a valid ISO 8601 timestamp: ${raw}`);\n }\n // Calendar overflow detection (same logic as capsule-export.ts parseSince).\n const m = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(raw);\n if (m) {\n const offsetMatch = /([+-])(\\d{2}):?(\\d{2})$/.exec(raw);\n let displayMs = ms;\n if (offsetMatch) {\n const sign = offsetMatch[1] === \"-\" ? -1 : 1;\n const offsetMin = sign * (Number(offsetMatch[2]) * 60 + Number(offsetMatch[3]));\n displayMs = ms + offsetMin * 60_000;\n }\n const dd = new Date(displayMs);\n if (\n dd.getUTCFullYear() !== Number(m[1]) ||\n dd.getUTCMonth() + 1 !== Number(m[2]) ||\n dd.getUTCDate() !== Number(m[3])\n ) {\n throw new Error(\n `--since: calendar overflow — ${raw} normalises to a different calendar date`,\n );\n }\n }\n return raw;\n}\n\n/**\n * Parse a comma-separated `--include-kinds` value into an array of non-empty\n * top-level directory names. Rejects values containing path separators.\n */\nexport function parseCapsuleIncludeKinds(raw: unknown): string[] | undefined {\n if (raw === undefined || raw === null) return undefined;\n if (typeof raw !== \"string\") {\n throw new Error(\n `--include-kinds expects a comma-separated list of directory names; got ${JSON.stringify(raw)}`,\n );\n }\n if (raw.trim() === \"\") {\n throw new Error(\n `--include-kinds expects at least one non-empty kind name`,\n );\n }\n const parts = raw\n .split(\",\")\n .map((s) => s.trim())\n .filter((s) => s.length > 0);\n if (parts.length === 0) {\n throw new Error(`--include-kinds expects at least one non-empty kind name`);\n }\n for (const p of parts) {\n if (p.includes(\"/\") || p.includes(\"\\\\\")) {\n throw new Error(\n `--include-kinds entries must be top-level directory names (no path separators): ${p}`,\n );\n }\n }\n // Deduplicate while preserving order.\n return [...new Set(parts)];\n}\n\n/**\n * Parse a comma-separated `--peers` value into an array of peer ids.\n */\nexport function parseCapsulePeers(raw: unknown): string[] | undefined {\n if (raw === undefined || raw === null) return undefined;\n if (typeof raw !== \"string\") {\n throw new Error(\n `--peers expects a comma-separated list of peer ids; got ${JSON.stringify(raw)}`,\n );\n }\n if (raw.trim() === \"\") {\n throw new Error(`--peers expects at least one non-empty peer id`);\n }\n const parts = raw\n .split(\",\")\n .map((s) => s.trim())\n .filter((s) => s.length > 0);\n if (parts.length === 0) {\n throw new Error(`--peers expects at least one non-empty peer id`);\n }\n for (const p of parts) {\n if (p.includes(\"/\") || p.includes(\"\\\\\") || p === \".\" || p === \"..\") {\n throw new Error(\n `--peers entries must be plain id tokens (no path separators): ${p}`,\n );\n }\n }\n return [...new Set(parts)];\n}\n\n// ---------------------------------------------------------------------------\n// Parsed option bags (returned by the parse helpers below and consumed by\n// cli.ts action handlers).\n// ---------------------------------------------------------------------------\n\nexport interface CapsuleExportOptions {\n name: string;\n out: string | undefined;\n since: string | undefined;\n includeKinds: string[] | undefined;\n peers: string[] | undefined;\n}\n\nexport interface CapsuleImportOptions {\n archive: string;\n mode: \"skip\" | \"overwrite\" | \"fork\";\n}\n\nexport interface CapsuleMergeOptions {\n archive: string;\n conflictMode: \"skip-conflicts\" | \"prefer-source\" | \"prefer-local\";\n}\n\nexport interface CapsuleListOptions {\n format: CapsuleOutputFormat;\n capsulesDir: string;\n}\n\nexport interface CapsuleInspectOptions {\n archive: string;\n format: CapsuleOutputFormat;\n}\n\n// ---------------------------------------------------------------------------\n// Option bag parsers (Rule 51: validate + throw on bad input, never silently\n// default to a value that hides user misconfiguration).\n// ---------------------------------------------------------------------------\n\nexport function parseCapsuleExportOptions(\n nameArg: unknown,\n opts: Record<string, unknown>,\n): CapsuleExportOptions {\n if (typeof nameArg !== \"string\" || nameArg.trim() === \"\") {\n throw new Error(\n `capsule export: <name> is required (e.g. \"remnic capsule export my-capsule\")`,\n );\n }\n const name = nameArg.trim();\n\n const out =\n typeof opts.out === \"string\" && opts.out.trim() !== \"\"\n ? opts.out.trim()\n : undefined;\n\n const since = parseCapsuleSince(opts.since);\n const includeKinds = parseCapsuleIncludeKinds(opts.includeKinds);\n const peers = parseCapsulePeers(opts.peers);\n\n return { name, out, since, includeKinds, peers };\n}\n\nexport function parseCapsuleImportOptions(\n archiveArg: unknown,\n opts: Record<string, unknown>,\n): CapsuleImportOptions {\n if (typeof archiveArg !== \"string\" || archiveArg.trim() === \"\") {\n throw new Error(\n `capsule import: <archive> path is required (e.g. \"remnic capsule import /path/to/my-capsule.capsule.json.gz\")`,\n );\n }\n const archive = archiveArg.trim();\n const mode = parseCapsuleImportMode(opts.mode);\n return { archive, mode };\n}\n\nexport function parseCapsuleMergeOptions(\n archiveArg: unknown,\n opts: Record<string, unknown>,\n): CapsuleMergeOptions {\n if (typeof archiveArg !== \"string\" || archiveArg.trim() === \"\") {\n throw new Error(\n `capsule merge: <archive> path is required (e.g. \"remnic capsule merge /path/to/my-capsule.capsule.json.gz\")`,\n );\n }\n const archive = archiveArg.trim();\n const conflictMode = parseCapsuleConflictMode(opts.conflictMode);\n return { archive, conflictMode };\n}\n\nexport function parseCapsuleListOptions(\n opts: Record<string, unknown>,\n defaultCapsulesDir: string,\n): CapsuleListOptions {\n const format = parseCapsuleOutputFormat(opts.format);\n const rawDir =\n typeof opts.dir === \"string\" && opts.dir.trim() !== \"\"\n ? opts.dir.trim()\n : undefined;\n const capsulesDir = rawDir ?? defaultCapsulesDir;\n return { format, capsulesDir };\n}\n\nexport function parseCapsuleInspectOptions(\n archiveArg: unknown,\n opts: Record<string, unknown>,\n): CapsuleInspectOptions {\n if (typeof archiveArg !== \"string\" || archiveArg.trim() === \"\") {\n throw new Error(\n `capsule inspect: <archive> path is required (e.g. \"remnic capsule inspect my-capsule.capsule.json.gz\")`,\n );\n }\n const archive = archiveArg.trim();\n const format = parseCapsuleOutputFormat(opts.format);\n return { archive, format };\n}\n\n// ---------------------------------------------------------------------------\n// Default capsules directory\n// ---------------------------------------------------------------------------\n\n/**\n * Return the default capsule store directory for a given memory root.\n * This mirrors the `outDir` default in `exportCapsule` (`<root>/.capsules`)\n * so that `capsule list` discovers archives written by `capsule export`\n * without extra configuration.\n *\n * For `capsule list`, the POSIX conventional path is:\n * `<memoryDir>/.capsules`\n *\n * Operators can override it with `--dir <path>` at runtime.\n */\nexport function defaultCapsulesDir(memoryDir: string): string {\n return path.join(memoryDir, \".capsules\");\n}\n\n// ---------------------------------------------------------------------------\n// Renderers\n// ---------------------------------------------------------------------------\n\nfunction escapeMarkdownCell(v: string): string {\n return v.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\|/g, \"\\\\|\");\n}\n\n/**\n * Render the `capsule list` output.\n */\nexport function renderCapsuleList(\n entries: CapsuleListEntry[],\n format: CapsuleOutputFormat,\n): string {\n if (format === \"json\") {\n return JSON.stringify({ capsules: entries }, null, 2);\n }\n\n if (entries.length === 0) {\n if (format === \"markdown\") return \"_No capsule archives found._\\n\";\n return \"No capsule archives found.\\n\";\n }\n\n if (format === \"markdown\") {\n const rows = entries.map((e) => {\n const id = escapeMarkdownCell(e.id);\n const date = escapeMarkdownCell(e.createdAt?.slice(0, 10) ?? \"—\");\n const ver = escapeMarkdownCell(e.pluginVersion ?? \"—\");\n const files = e.fileCount !== null ? String(e.fileCount) : \"—\";\n const desc = escapeMarkdownCell(\n e.description != null && e.description.trim() !== \"\"\n ? e.description.trim()\n : \"—\",\n );\n return `| \\`${id}\\` | ${date} | ${ver} | ${files} | ${desc} |`;\n });\n return [\n \"# Capsule archives\",\n \"\",\n \"| ID | Created | Version | Files | Description |\",\n \"| -- | ------- | ------- | ----- | ----------- |\",\n ...rows,\n \"\",\n ].join(\"\\n\");\n }\n\n // text\n const lines = entries.map((e) => {\n const date = e.createdAt?.slice(0, 10) ?? \"—\";\n const files =\n e.fileCount !== null ? `${e.fileCount} file${e.fileCount !== 1 ? \"s\" : \"\"}` : \"? files\";\n const desc =\n e.description != null && e.description.trim() !== \"\"\n ? ` ${e.description.trim()}`\n : \"\";\n return `${e.id} [${date}] [${files}]${desc}`;\n });\n return lines.join(\"\\n\") + \"\\n\";\n}\n\n/**\n * Render the `capsule inspect` output from a manifest object.\n */\nexport function renderCapsuleInspect(\n manifest: CapsuleInspectData,\n format: CapsuleOutputFormat,\n): string {\n if (format === \"json\") {\n return JSON.stringify(manifest, null, 2);\n }\n\n const {\n capsuleId,\n version,\n schemaVersion,\n createdAt,\n pluginVersion,\n fileCount,\n includesTranscripts,\n description,\n parentCapsule,\n retrievalPolicy,\n includes,\n topFiles,\n } = manifest;\n\n if (format === \"markdown\") {\n const policyLines = Object.entries(retrievalPolicy.tierWeights ?? {}).map(\n ([k, v]) => ` - ${k}: ${v}`,\n );\n const policyBlock =\n policyLines.length > 0\n ? policyLines.join(\"\\n\")\n : \" _(no tier weight overrides)_\";\n\n return [\n `# Capsule: \\`${capsuleId}\\``,\n \"\",\n `**Version:** ${version} `,\n `**Schema version:** ${schemaVersion} `,\n `**Created:** ${createdAt ?? \"—\"} `,\n `**Plugin version:** ${pluginVersion ?? \"—\"} `,\n `**Files:** ${fileCount} `,\n `**Includes transcripts:** ${includesTranscripts ? \"yes\" : \"no\"} `,\n `**Parent capsule:** ${parentCapsule ?? \"_none_\"} `,\n `**Description:** ${description && description.trim() !== \"\" ? description.trim() : \"_none_\"} `,\n \"\",\n \"## Includes\",\n `- taxonomy: ${includes.taxonomy ? \"yes\" : \"no\"}`,\n `- identityAnchors: ${includes.identityAnchors ? \"yes\" : \"no\"}`,\n `- peerProfiles: ${includes.peerProfiles ? \"yes\" : \"no\"}`,\n `- procedural: ${includes.procedural ? \"yes\" : \"no\"}`,\n \"\",\n \"## Retrieval policy\",\n `- directAnswerEnabled: ${retrievalPolicy.directAnswerEnabled ? \"yes\" : \"no\"}`,\n `- tierWeights:`,\n policyBlock,\n \"\",\n ...(topFiles.length > 0\n ? [\n `## Files (${fileCount} total, showing first ${topFiles.length})`,\n ...topFiles.map((f) => `- \\`${f}\\``),\n \"\",\n ]\n : [`## Files (${fileCount} total)`, \"_Empty capsule._\", \"\"]),\n ].join(\"\\n\");\n }\n\n // text\n const lines: string[] = [\n `Capsule: ${capsuleId}`,\n ` version: ${version}`,\n ` schema: ${schemaVersion}`,\n ` created: ${createdAt ?? \"—\"}`,\n ` plugin: ${pluginVersion ?? \"—\"}`,\n ` files: ${fileCount}`,\n ` transcripts: ${includesTranscripts ? \"yes\" : \"no\"}`,\n ` parent: ${parentCapsule ?? \"(none)\"}`,\n ` description: ${description && description.trim() !== \"\" ? description.trim() : \"(none)\"}`,\n \"\",\n ` includes.taxonomy: ${includes.taxonomy ? \"yes\" : \"no\"}`,\n ` includes.identityAnchors: ${includes.identityAnchors ? \"yes\" : \"no\"}`,\n ` includes.peerProfiles: ${includes.peerProfiles ? \"yes\" : \"no\"}`,\n ` includes.procedural: ${includes.procedural ? \"yes\" : \"no\"}`,\n \"\",\n ` policy.directAnswer: ${retrievalPolicy.directAnswerEnabled ? \"yes\" : \"no\"}`,\n ];\n\n const weights = Object.entries(retrievalPolicy.tierWeights ?? {});\n if (weights.length > 0) {\n for (const [k, v] of weights) {\n lines.push(` policy.tierWeight[${k}]: ${v}`);\n }\n } else {\n lines.push(` policy.tierWeights: (none)`);\n }\n\n if (topFiles.length > 0) {\n lines.push(\"\", ` files (first ${topFiles.length} of ${fileCount}):`);\n for (const f of topFiles) {\n lines.push(` ${f}`);\n }\n }\n\n return lines.join(\"\\n\") + \"\\n\";\n}\n\n/**\n * Data shape consumed by {@link renderCapsuleInspect}.\n * Populated by the cli.ts action handler from the parsed manifest.\n */\nexport interface CapsuleInspectData {\n capsuleId: string;\n version: string;\n schemaVersion: string;\n createdAt: string | null;\n pluginVersion: string | null;\n fileCount: number;\n includesTranscripts: boolean;\n description: string;\n parentCapsule: string | null;\n retrievalPolicy: {\n tierWeights: Record<string, number>;\n directAnswerEnabled: boolean;\n };\n includes: {\n taxonomy: boolean;\n identityAnchors: boolean;\n peerProfiles: boolean;\n procedural: boolean;\n };\n /** First N file paths from manifest.files (for preview). */\n topFiles: string[];\n}\n"],"mappings":"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","names":["defaultCapsulesDir"]}
@@ -1,82 +0,0 @@
1
- // src/evidence-pack.ts
2
- var DEFAULT_MAX_ITEM_CHARS = 1200;
3
- function buildEvidencePack(items, options) {
4
- const budget = normalizePositiveInteger(options.maxChars);
5
- if (budget <= 0 || items.length === 0) {
6
- return "";
7
- }
8
- const maxItemChars = normalizePositiveInteger(
9
- options.maxItemChars ?? DEFAULT_MAX_ITEM_CHARS
10
- );
11
- if (maxItemChars <= 0) {
12
- return "";
13
- }
14
- const title = options.title ?? "Evidence";
15
- const lines = [`## ${title}`];
16
- const seenIds = /* @__PURE__ */ new Set();
17
- const seenContent = /* @__PURE__ */ new Set();
18
- let used = lines[0].length;
19
- for (const item of items) {
20
- const content = item.content.trim();
21
- if (!content) continue;
22
- const id = item.id ?? evidenceItemFallbackId(item);
23
- if (id && seenIds.has(id)) continue;
24
- const contentKey = normalizeEvidenceContent(content);
25
- if (seenContent.has(contentKey)) continue;
26
- const label = formatEvidenceLabel(item);
27
- const clipped = clipText(content, maxItemChars);
28
- const block = `${label}: ${clipped}`;
29
- const separatorLength = lines.length > 0 ? 2 : 0;
30
- const remaining = budget - used - separatorLength;
31
- if (remaining <= 0) break;
32
- const finalBlock = block.length > remaining ? clipText(block, remaining) : block;
33
- if (!finalBlock.trim()) break;
34
- lines.push(finalBlock);
35
- used += separatorLength + finalBlock.length;
36
- if (id) seenIds.add(id);
37
- seenContent.add(contentKey);
38
- }
39
- return lines.length === 1 ? "" : lines.join("\n\n");
40
- }
41
- function normalizePositiveInteger(value) {
42
- if (!Number.isFinite(value) || value <= 0) {
43
- return 0;
44
- }
45
- return Math.floor(value);
46
- }
47
- function evidenceItemFallbackId(item) {
48
- if (item.sessionId && typeof item.turnIndex === "number") {
49
- return `${item.sessionId}:${item.turnIndex}`;
50
- }
51
- return void 0;
52
- }
53
- function normalizeEvidenceContent(content) {
54
- return content.toLowerCase().replace(/\s+/g, " ").trim();
55
- }
56
- function formatEvidenceLabel(item) {
57
- const parts = [];
58
- if (item.sessionId) parts.push(item.sessionId);
59
- if (typeof item.turnIndex === "number") parts.push(`turn ${item.turnIndex}`);
60
- if (item.role) parts.push(item.role);
61
- if (typeof item.score === "number" && Number.isFinite(item.score)) {
62
- parts.push(`score ${item.score.toFixed(3)}`);
63
- }
64
- return parts.length > 0 ? `[${parts.join(", ")}]` : "[evidence]";
65
- }
66
- function clipText(text, maxChars) {
67
- if (text.length <= maxChars) {
68
- return text;
69
- }
70
- if (maxChars <= 1) {
71
- return text.slice(0, maxChars);
72
- }
73
- if (maxChars <= 3) {
74
- return text.slice(0, maxChars);
75
- }
76
- return `${text.slice(0, maxChars - 3).trimEnd()}...`;
77
- }
78
-
79
- export {
80
- buildEvidencePack
81
- };
82
- //# sourceMappingURL=chunk-74WWN7ZW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/evidence-pack.ts"],"sourcesContent":["export interface EvidencePackItem {\n id?: string;\n sessionId?: string;\n turnIndex?: number;\n role?: string;\n content: string;\n score?: number;\n}\n\nexport interface EvidencePackOptions {\n title?: string;\n maxChars: number;\n maxItemChars?: number;\n}\n\nconst DEFAULT_MAX_ITEM_CHARS = 1_200;\n\nexport function buildEvidencePack(\n items: readonly EvidencePackItem[],\n options: EvidencePackOptions,\n): string {\n const budget = normalizePositiveInteger(options.maxChars);\n if (budget <= 0 || items.length === 0) {\n return \"\";\n }\n\n const maxItemChars = normalizePositiveInteger(\n options.maxItemChars ?? DEFAULT_MAX_ITEM_CHARS,\n );\n if (maxItemChars <= 0) {\n return \"\";\n }\n\n const title = options.title ?? \"Evidence\";\n const lines: string[] = [`## ${title}`];\n const seenIds = new Set<string>();\n const seenContent = new Set<string>();\n let used = lines[0]!.length;\n\n for (const item of items) {\n const content = item.content.trim();\n if (!content) continue;\n\n const id = item.id ?? evidenceItemFallbackId(item);\n if (id && seenIds.has(id)) continue;\n\n const contentKey = normalizeEvidenceContent(content);\n if (seenContent.has(contentKey)) continue;\n\n const label = formatEvidenceLabel(item);\n const clipped = clipText(content, maxItemChars);\n const block = `${label}: ${clipped}`;\n const separatorLength = lines.length > 0 ? 2 : 0;\n const remaining = budget - used - separatorLength;\n if (remaining <= 0) break;\n\n const finalBlock =\n block.length > remaining ? clipText(block, remaining) : block;\n if (!finalBlock.trim()) break;\n\n lines.push(finalBlock);\n used += separatorLength + finalBlock.length;\n if (id) seenIds.add(id);\n seenContent.add(contentKey);\n }\n\n return lines.length === 1 ? \"\" : lines.join(\"\\n\\n\");\n}\n\nfunction normalizePositiveInteger(value: number): number {\n if (!Number.isFinite(value) || value <= 0) {\n return 0;\n }\n return Math.floor(value);\n}\n\nfunction evidenceItemFallbackId(item: EvidencePackItem): string | undefined {\n if (item.sessionId && typeof item.turnIndex === \"number\") {\n return `${item.sessionId}:${item.turnIndex}`;\n }\n return undefined;\n}\n\nfunction normalizeEvidenceContent(content: string): string {\n return content.toLowerCase().replace(/\\s+/g, \" \").trim();\n}\n\nfunction formatEvidenceLabel(item: EvidencePackItem): string {\n const parts: string[] = [];\n if (item.sessionId) parts.push(item.sessionId);\n if (typeof item.turnIndex === \"number\") parts.push(`turn ${item.turnIndex}`);\n if (item.role) parts.push(item.role);\n if (typeof item.score === \"number\" && Number.isFinite(item.score)) {\n parts.push(`score ${item.score.toFixed(3)}`);\n }\n return parts.length > 0 ? `[${parts.join(\", \")}]` : \"[evidence]\";\n}\n\nfunction clipText(text: string, maxChars: number): string {\n if (text.length <= maxChars) {\n return text;\n }\n if (maxChars <= 1) {\n return text.slice(0, maxChars);\n }\n if (maxChars <= 3) {\n return text.slice(0, maxChars);\n }\n return `${text.slice(0, maxChars - 3).trimEnd()}...`;\n}\n"],"mappings":";AAeA,IAAM,yBAAyB;AAExB,SAAS,kBACd,OACA,SACQ;AACR,QAAM,SAAS,yBAAyB,QAAQ,QAAQ;AACxD,MAAI,UAAU,KAAK,MAAM,WAAW,GAAG;AACrC,WAAO;AAAA,EACT;AAEA,QAAM,eAAe;AAAA,IACnB,QAAQ,gBAAgB;AAAA,EAC1B;AACA,MAAI,gBAAgB,GAAG;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,QAAQ,SAAS;AAC/B,QAAM,QAAkB,CAAC,MAAM,KAAK,EAAE;AACtC,QAAM,UAAU,oBAAI,IAAY;AAChC,QAAM,cAAc,oBAAI,IAAY;AACpC,MAAI,OAAO,MAAM,CAAC,EAAG;AAErB,aAAW,QAAQ,OAAO;AACxB,UAAM,UAAU,KAAK,QAAQ,KAAK;AAClC,QAAI,CAAC,QAAS;AAEd,UAAM,KAAK,KAAK,MAAM,uBAAuB,IAAI;AACjD,QAAI,MAAM,QAAQ,IAAI,EAAE,EAAG;AAE3B,UAAM,aAAa,yBAAyB,OAAO;AACnD,QAAI,YAAY,IAAI,UAAU,EAAG;AAEjC,UAAM,QAAQ,oBAAoB,IAAI;AACtC,UAAM,UAAU,SAAS,SAAS,YAAY;AAC9C,UAAM,QAAQ,GAAG,KAAK,KAAK,OAAO;AAClC,UAAM,kBAAkB,MAAM,SAAS,IAAI,IAAI;AAC/C,UAAM,YAAY,SAAS,OAAO;AAClC,QAAI,aAAa,EAAG;AAEpB,UAAM,aACJ,MAAM,SAAS,YAAY,SAAS,OAAO,SAAS,IAAI;AAC1D,QAAI,CAAC,WAAW,KAAK,EAAG;AAExB,UAAM,KAAK,UAAU;AACrB,YAAQ,kBAAkB,WAAW;AACrC,QAAI,GAAI,SAAQ,IAAI,EAAE;AACtB,gBAAY,IAAI,UAAU;AAAA,EAC5B;AAEA,SAAO,MAAM,WAAW,IAAI,KAAK,MAAM,KAAK,MAAM;AACpD;AAEA,SAAS,yBAAyB,OAAuB;AACvD,MAAI,CAAC,OAAO,SAAS,KAAK,KAAK,SAAS,GAAG;AACzC,WAAO;AAAA,EACT;AACA,SAAO,KAAK,MAAM,KAAK;AACzB;AAEA,SAAS,uBAAuB,MAA4C;AAC1E,MAAI,KAAK,aAAa,OAAO,KAAK,cAAc,UAAU;AACxD,WAAO,GAAG,KAAK,SAAS,IAAI,KAAK,SAAS;AAAA,EAC5C;AACA,SAAO;AACT;AAEA,SAAS,yBAAyB,SAAyB;AACzD,SAAO,QAAQ,YAAY,EAAE,QAAQ,QAAQ,GAAG,EAAE,KAAK;AACzD;AAEA,SAAS,oBAAoB,MAAgC;AAC3D,QAAM,QAAkB,CAAC;AACzB,MAAI,KAAK,UAAW,OAAM,KAAK,KAAK,SAAS;AAC7C,MAAI,OAAO,KAAK,cAAc,SAAU,OAAM,KAAK,QAAQ,KAAK,SAAS,EAAE;AAC3E,MAAI,KAAK,KAAM,OAAM,KAAK,KAAK,IAAI;AACnC,MAAI,OAAO,KAAK,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,GAAG;AACjE,UAAM,KAAK,SAAS,KAAK,MAAM,QAAQ,CAAC,CAAC,EAAE;AAAA,EAC7C;AACA,SAAO,MAAM,SAAS,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;AACtD;AAEA,SAAS,SAAS,MAAc,UAA0B;AACxD,MAAI,KAAK,UAAU,UAAU;AAC3B,WAAO;AAAA,EACT;AACA,MAAI,YAAY,GAAG;AACjB,WAAO,KAAK,MAAM,GAAG,QAAQ;AAAA,EAC/B;AACA,MAAI,YAAY,GAAG;AACjB,WAAO,KAAK,MAAM,GAAG,QAAQ;AAAA,EAC/B;AACA,SAAO,GAAG,KAAK,MAAM,GAAG,WAAW,CAAC,EAAE,QAAQ,CAAC;AACjD;","names":[]}
@@ -1,183 +0,0 @@
1
- import {
2
- getKey,
3
- readHeader,
4
- secureStoreDir
5
- } from "./chunk-BJMBJZ2Y.js";
6
- import {
7
- open,
8
- seal
9
- } from "./chunk-A6XUJE5D.js";
10
-
11
- // src/transfer/capsule-crypto.ts
12
- import { open as openFileHandle, readFile, writeFile } from "fs/promises";
13
- import path from "path";
14
- var MAGIC = Buffer.from("REMNIC-ENC\0", "ascii");
15
- var FORMAT_VERSION = 2;
16
- var MIN_ENC_SIZE_V1 = MAGIC.length + 1 + 45;
17
- var MIN_ENC_SIZE = MAGIC.length + 1 + 2;
18
- async function isEncryptedCapsuleFile(filePath) {
19
- if (!filePath.endsWith(".enc")) return false;
20
- let fh = null;
21
- try {
22
- fh = await openFileHandle(filePath, "r");
23
- const buf = Buffer.allocUnsafe(MAGIC.length);
24
- const { bytesRead } = await fh.read(buf, 0, MAGIC.length, 0);
25
- if (bytesRead < MAGIC.length) return false;
26
- return buf.equals(MAGIC);
27
- } catch {
28
- return false;
29
- } finally {
30
- if (fh !== null) {
31
- await fh.close().catch(() => void 0);
32
- }
33
- }
34
- }
35
- async function encryptCapsuleFile(opts) {
36
- const encPath = opts.outPath ?? `${opts.sourceGzPath}.enc`;
37
- const key = getKeyOrThrow(opts.memoryDir, "encrypt capsule");
38
- const plaintext = await readFile(opts.sourceGzPath);
39
- const basename = path.basename(encPath);
40
- const aad = Buffer.from(basename, "utf-8");
41
- const kdfSection = await loadKdfSection(opts.memoryDir);
42
- const envelope = seal(key, kdfSection.salt, plaintext, { aad });
43
- const versionBuf = Buffer.alloc(1);
44
- versionBuf.writeUInt8(FORMAT_VERSION, 0);
45
- const kdfJsonBuf = Buffer.from(kdfSection.json, "utf-8");
46
- const kdfLenBuf = Buffer.alloc(2);
47
- kdfLenBuf.writeUInt16LE(kdfJsonBuf.length, 0);
48
- const output = Buffer.concat([MAGIC, versionBuf, kdfLenBuf, kdfJsonBuf, envelope]);
49
- await writeFile(encPath, output);
50
- return { encPath };
51
- }
52
- async function decryptCapsuleFile(opts) {
53
- const gzPath = opts.outPath ?? opts.encPath.replace(/\.enc$/, "");
54
- const buf = await readFile(opts.encPath);
55
- if (buf.length < MIN_ENC_SIZE_V1) {
56
- throw new Error(
57
- `decryptCapsuleFile: file too short to be an encrypted capsule: ${opts.encPath}`
58
- );
59
- }
60
- if (!buf.subarray(0, MAGIC.length).equals(MAGIC)) {
61
- throw new Error(
62
- `decryptCapsuleFile: file does not start with REMNIC-ENC magic: ${opts.encPath}`
63
- );
64
- }
65
- const version = buf.readUInt8(MAGIC.length);
66
- if (version !== 1 && version !== 2) {
67
- throw new Error(
68
- `decryptCapsuleFile: unsupported encrypted-capsule format version ${version} (this build supports versions 1 and 2): ${opts.encPath}`
69
- );
70
- }
71
- const { key, envelopeOffset } = resolveKeyAndOffset(buf, version, opts.memoryDir, "decryptCapsuleFile", opts.encPath);
72
- const envelope = buf.subarray(envelopeOffset);
73
- const basename = path.basename(opts.encPath);
74
- const aad = Buffer.from(basename, "utf-8");
75
- let plaintext;
76
- try {
77
- plaintext = open(key, envelope, { aad });
78
- } catch (cause) {
79
- throw new Error(
80
- `decryptCapsuleFile: authentication failed \u2014 wrong passphrase, tampered archive, or key mismatch. Ensure the secure-store is unlocked with the correct passphrase and the archive has not been modified: ${opts.encPath}`,
81
- { cause }
82
- );
83
- }
84
- await writeFile(gzPath, plaintext);
85
- return { gzPath };
86
- }
87
- async function decryptCapsuleFileInMemory(encPath, memoryDir) {
88
- const buf = await readFile(encPath);
89
- if (buf.length < MIN_ENC_SIZE_V1) {
90
- throw new Error(
91
- `decryptCapsuleFileInMemory: file too short to be an encrypted capsule: ${encPath}`
92
- );
93
- }
94
- if (!buf.subarray(0, MAGIC.length).equals(MAGIC)) {
95
- throw new Error(
96
- `decryptCapsuleFileInMemory: file does not start with REMNIC-ENC magic: ${encPath}`
97
- );
98
- }
99
- const version = buf.readUInt8(MAGIC.length);
100
- if (version !== 1 && version !== 2) {
101
- throw new Error(
102
- `decryptCapsuleFileInMemory: unsupported encrypted-capsule format version ${version} (this build supports versions 1 and 2): ${encPath}`
103
- );
104
- }
105
- const { key, envelopeOffset } = resolveKeyAndOffset(buf, version, memoryDir, "decryptCapsuleFileInMemory", encPath);
106
- const envelope = buf.subarray(envelopeOffset);
107
- const basename = path.basename(encPath);
108
- const aad = Buffer.from(basename, "utf-8");
109
- try {
110
- return open(key, envelope, { aad });
111
- } catch (cause) {
112
- throw new Error(
113
- `decryptCapsuleFileInMemory: authentication failed \u2014 wrong passphrase, tampered archive, or key mismatch. Ensure the secure-store is unlocked with the correct passphrase and the archive has not been modified: ${encPath}`,
114
- { cause }
115
- );
116
- }
117
- }
118
- async function loadKdfSection(memoryDir) {
119
- try {
120
- const header = await readHeader(memoryDir);
121
- if (header !== null) {
122
- const { decodeMetadataSalt } = await import("./metadata-FC3XPDRQ.js");
123
- const salt2 = decodeMetadataSalt(header.metadata);
124
- const kdf = header.metadata.kdf;
125
- const json2 = JSON.stringify({
126
- algorithm: kdf.algorithm,
127
- params: kdf.params,
128
- salt: salt2.toString("hex")
129
- });
130
- return { json: json2, salt: salt2 };
131
- }
132
- } catch {
133
- }
134
- const { generateSalt } = await import("./cipher-GVE2GQ5H.js");
135
- const salt = generateSalt();
136
- const { DEFAULT_ARGON2ID_PARAMS } = await import("./kdf-7S6RWKLZ.js");
137
- const json = JSON.stringify({
138
- algorithm: "argon2id",
139
- params: DEFAULT_ARGON2ID_PARAMS,
140
- salt: salt.toString("hex")
141
- });
142
- return { json, salt };
143
- }
144
- function getKeyOrThrow(memoryDir, action) {
145
- const storeId = secureStoreDir(memoryDir);
146
- const key = getKey(storeId);
147
- if (key === null) {
148
- throw new Error(
149
- `Secure-store is locked or not initialized \u2014 cannot ${action}. Run \`remnic secure-store unlock\` first, or \`remnic secure-store init\` if the store has never been initialized.`
150
- );
151
- }
152
- return key;
153
- }
154
- function resolveKeyAndOffset(buf, version, memoryDir, caller, encPath) {
155
- if (version === 1) {
156
- const key2 = getKeyOrThrow(memoryDir, "decrypt capsule");
157
- return { key: key2, envelopeOffset: MAGIC.length + 1 };
158
- }
159
- const kdfLenOffset = MAGIC.length + 1;
160
- if (buf.length < kdfLenOffset + 2) {
161
- throw new Error(
162
- `${caller}: file too short for format v2 KDF length field: ${encPath}`
163
- );
164
- }
165
- const kdfLen = buf.readUInt16LE(kdfLenOffset);
166
- const kdfJsonOffset = kdfLenOffset + 2;
167
- if (buf.length < kdfJsonOffset + kdfLen) {
168
- throw new Error(
169
- `${caller}: file too short for format v2 KDF params section (expected ${kdfLen} bytes): ${encPath}`
170
- );
171
- }
172
- const envelopeOffset = kdfJsonOffset + kdfLen;
173
- const key = getKeyOrThrow(memoryDir, "decrypt capsule");
174
- return { key, envelopeOffset };
175
- }
176
-
177
- export {
178
- isEncryptedCapsuleFile,
179
- encryptCapsuleFile,
180
- decryptCapsuleFile,
181
- decryptCapsuleFileInMemory
182
- };
183
- //# sourceMappingURL=chunk-767ODGE6.js.map