@remnic/core 9.65.7 → 9.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -14
  2. package/dist/access-admin-ops-surface.js +65 -62
  3. package/dist/access-authorization-probe.d.ts +15 -14
  4. package/dist/access-authorization-probe.js +66 -63
  5. package/dist/access-boundary.d.ts +15 -14
  6. package/dist/access-boundary.js +65 -62
  7. package/dist/access-citation-namespace.js +3 -3
  8. package/dist/access-cli.js +182 -174
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +2 -2
  11. package/dist/access-coding-context-resolution.js +2 -2
  12. package/dist/access-extraction-force-flush.d.ts +15 -14
  13. package/dist/access-extraction-force-flush.js +65 -62
  14. package/dist/access-health-types.d.ts +2 -2
  15. package/dist/access-http-lcm-compaction.d.ts +15 -14
  16. package/dist/access-http-lifecycle-flush.d.ts +15 -14
  17. package/dist/access-http-offline-stream.d.ts +15 -14
  18. package/dist/access-http-query.d.ts +3 -3
  19. package/dist/access-http-query.js +67 -64
  20. package/dist/access-http.d.ts +16 -15
  21. package/dist/access-http.js +87 -84
  22. package/dist/access-identity-continuity-surface.d.ts +13 -12
  23. package/dist/access-identity-continuity-surface.js +65 -62
  24. package/dist/access-lcm-surface.d.ts +15 -14
  25. package/dist/access-lcm-surface.js +65 -62
  26. package/dist/access-mcp-output-schemas.js +1 -1
  27. package/dist/access-mcp.d.ts +15 -14
  28. package/dist/access-mcp.js +77 -74
  29. package/dist/access-memory-search-fanout.d.ts +3 -3
  30. package/dist/{access-namespace-preflight-8VYKmRX0.d.ts → access-namespace-preflight-CLWUoMyW.d.ts} +1 -1
  31. package/dist/access-namespace-preflight.d.ts +4 -4
  32. package/dist/access-namespace-preflight.js +65 -62
  33. package/dist/access-observe-write-surface.d.ts +15 -14
  34. package/dist/access-observe-write-surface.js +65 -62
  35. package/dist/access-offline-manifest.d.ts +13 -12
  36. package/dist/access-offline-manifest.js +16 -16
  37. package/dist/access-operations-batch.js +69 -66
  38. package/dist/access-operations.d.ts +16 -15
  39. package/dist/access-operations.js +74 -71
  40. package/dist/access-recall-concurrency.d.ts +15 -14
  41. package/dist/access-recall-concurrency.js +65 -62
  42. package/dist/access-recall-response.d.ts +15 -14
  43. package/dist/access-recall-response.js +65 -62
  44. package/dist/access-recall-surface.d.ts +15 -14
  45. package/dist/access-recall-surface.js +65 -62
  46. package/dist/access-schema.js +7 -7
  47. package/dist/{access-service-Crk__Git.d.ts → access-service-CEUE1Isj.d.ts} +14 -14
  48. package/dist/access-service-helpers.d.ts +15 -14
  49. package/dist/access-service.d.ts +15 -14
  50. package/dist/access-service.js +65 -62
  51. package/dist/access-surface-catalog.d.ts +15 -14
  52. package/dist/access-surface-catalog.js +69 -64
  53. package/dist/access-surface-catalog.js.map +1 -1
  54. package/dist/access-wearables-meetings-surface.d.ts +6 -4
  55. package/dist/action-confidence.d.ts +2 -2
  56. package/dist/active-context-config.d.ts +27 -0
  57. package/dist/active-context-config.js +14 -0
  58. package/dist/active-context-transform.d.ts +267 -0
  59. package/dist/active-context-transform.js +31 -0
  60. package/dist/active-memory-bridge.d.ts +2 -2
  61. package/dist/active-memory-bridge.js +2 -2
  62. package/dist/active-recall.d.ts +2 -2
  63. package/dist/active-recall.js +17 -16
  64. package/dist/active-recall.js.map +1 -1
  65. package/dist/adapters/index.js +7 -7
  66. package/dist/adapters/registry.js +3 -3
  67. package/dist/ambient-provenance.d.ts +2 -2
  68. package/dist/artifact-search.d.ts +2 -2
  69. package/dist/{auto-sync-XVMLL2RH.js → auto-sync-Q6Q2FVSC.js} +10 -10
  70. package/dist/behavior-learner.d.ts +2 -2
  71. package/dist/behavior-signals.d.ts +2 -2
  72. package/dist/bootstrap.d.ts +13 -12
  73. package/dist/briefing-window.d.ts +5 -3
  74. package/dist/briefing.d.ts +5 -3
  75. package/dist/briefing.js +33 -33
  76. package/dist/buffer-surprise-report.d.ts +2 -2
  77. package/dist/buffer-turn-helpers.d.ts +2 -2
  78. package/dist/buffer.d.ts +5 -3
  79. package/dist/buffer.js +24 -8
  80. package/dist/bulk-import/index.d.ts +4 -4
  81. package/dist/calibration.d.ts +2 -2
  82. package/dist/calibration.js +1 -1
  83. package/dist/capabilities.d.ts +2 -2
  84. package/dist/{capsule-merge-SGIVB3WA.js → capsule-merge-SEHERWWP.js} +4 -4
  85. package/dist/{catalog-DybwVNW3.d.ts → catalog-D1HgugTA.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +4 -4
  87. package/dist/causal-consolidation.d.ts +2 -2
  88. package/dist/causal-consolidation.js +34 -34
  89. package/dist/causal-trajectory-graph.d.ts +2 -2
  90. package/dist/{chunk-CFGU52XJ.js → chunk-23CVL7HS.js} +2 -2
  91. package/dist/{chunk-PO7NXBG2.js → chunk-2GF27PGH.js} +5 -5
  92. package/dist/{chunk-6CPUQ5D6.js → chunk-2LBAFHOQ.js} +15 -15
  93. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  94. package/dist/{chunk-IP4ZNT4U.js → chunk-33MFRY25.js} +2 -2
  95. package/dist/{chunk-VFYRYFLL.js → chunk-3TSU662L.js} +3 -3
  96. package/dist/chunk-43HUVDTD.js +114 -0
  97. package/dist/chunk-43HUVDTD.js.map +1 -0
  98. package/dist/{chunk-VXVZ2GM3.js → chunk-4FHRZD5T.js} +2 -2
  99. package/dist/{chunk-FP7YTTVO.js → chunk-4OFKZAJG.js} +2 -1
  100. package/dist/chunk-4OFKZAJG.js.map +1 -0
  101. package/dist/{chunk-5VPQSRQO.js → chunk-4STAANV7.js} +3 -3
  102. package/dist/{chunk-46WM6JX2.js → chunk-4ZWCQJNM.js} +5 -5
  103. package/dist/{chunk-LLQCM2U2.js → chunk-56IV4J5W.js} +617 -167
  104. package/dist/chunk-56IV4J5W.js.map +1 -0
  105. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  106. package/dist/{chunk-YKWFK7XA.js → chunk-6CEGSTBD.js} +7 -7
  107. package/dist/{chunk-I7EX6KSH.js → chunk-6QDXA26G.js} +264 -210
  108. package/dist/chunk-6QDXA26G.js.map +1 -0
  109. package/dist/{chunk-GEPACVWN.js → chunk-6RUHELWR.js} +3 -3
  110. package/dist/{chunk-ZAOHJDKH.js → chunk-72OIT7KS.js} +4 -4
  111. package/dist/{chunk-KQAFEZQX.js → chunk-7LCGFUMB.js} +4 -4
  112. package/dist/{chunk-7TCGNUVP.js → chunk-7UTDHQZ5.js} +3 -3
  113. package/dist/{chunk-5HK3CJAR.js → chunk-7XOG75AU.js} +3 -3
  114. package/dist/{chunk-7BDZTALN.js → chunk-AJTG3CP7.js} +12 -2
  115. package/dist/chunk-AJTG3CP7.js.map +1 -0
  116. package/dist/{chunk-2LWQSV6A.js → chunk-AL3UYZ5N.js} +3 -2
  117. package/dist/chunk-AL3UYZ5N.js.map +1 -0
  118. package/dist/chunk-B32WYRXX.js +77 -0
  119. package/dist/chunk-B32WYRXX.js.map +1 -0
  120. package/dist/{chunk-C24UZSFW.js → chunk-CEH2AFXG.js} +6 -6
  121. package/dist/{chunk-YOXVZJFM.js → chunk-CFVTRUR3.js} +2 -2
  122. package/dist/{chunk-ACOC27BB.js → chunk-CN4VKV3S.js} +2 -2
  123. package/dist/{chunk-PMVPCZJZ.js → chunk-CTCGHNWN.js} +6 -6
  124. package/dist/{chunk-EGBDFJ36.js → chunk-DD5JFCWM.js} +2 -2
  125. package/dist/{chunk-T42L3S6A.js → chunk-DDX6KIXF.js} +2 -2
  126. package/dist/{chunk-JIYDRBVZ.js → chunk-DJORULH3.js} +2 -2
  127. package/dist/{chunk-WTOZBZNN.js → chunk-DMEHOEC7.js} +6 -6
  128. package/dist/{chunk-OPPBTPUU.js → chunk-DUAJKRR2.js} +4 -4
  129. package/dist/{chunk-XDL5CYZN.js → chunk-EEOUMG3J.js} +2 -1
  130. package/dist/{chunk-XDL5CYZN.js.map → chunk-EEOUMG3J.js.map} +1 -1
  131. package/dist/{chunk-SVVIASVX.js → chunk-EFQCDJZ2.js} +7 -7
  132. package/dist/{chunk-Q57GOHLF.js → chunk-EGALNSZ4.js} +3 -3
  133. package/dist/{chunk-KCT36JAW.js → chunk-ESNFSSO4.js} +2 -2
  134. package/dist/{chunk-XQ3HXAQH.js → chunk-ET2CNMLD.js} +4 -4
  135. package/dist/{chunk-Z4U3UN56.js → chunk-EZSCW4EM.js} +6 -6
  136. package/dist/{chunk-F6QHHRWP.js → chunk-FESUGFIL.js} +3 -3
  137. package/dist/{chunk-S3K2CIK5.js → chunk-FKKGCGYL.js} +3 -3
  138. package/dist/{chunk-BWGCOLEL.js → chunk-FTTJRVB7.js} +2 -2
  139. package/dist/{chunk-JAQXUGLN.js → chunk-FYWLSFFS.js} +2 -2
  140. package/dist/{chunk-BJTHRFFC.js → chunk-GEJKYA7D.js} +77 -36
  141. package/dist/chunk-GEJKYA7D.js.map +1 -0
  142. package/dist/chunk-GSKINLAK.js +267 -0
  143. package/dist/chunk-GSKINLAK.js.map +1 -0
  144. package/dist/{chunk-OPGL46PX.js → chunk-GX6FTSYH.js} +2 -2
  145. package/dist/{chunk-A32YEQAM.js → chunk-H7VDIF2V.js} +2 -2
  146. package/dist/{chunk-PDDSFELN.js → chunk-HJXA6ZM7.js} +2 -2
  147. package/dist/{chunk-RGCF4XNH.js → chunk-HNPE66LB.js} +8 -8
  148. package/dist/{chunk-SEA6M7SS.js → chunk-I5VB44ZK.js} +2 -2
  149. package/dist/{chunk-SDEPLF7V.js → chunk-IBJ6U753.js} +2 -2
  150. package/dist/{chunk-EUYWQ7TS.js → chunk-IEZ6CGTW.js} +2 -2
  151. package/dist/{chunk-RQE4TITU.js → chunk-IHGMRDEE.js} +431 -1834
  152. package/dist/chunk-IHGMRDEE.js.map +1 -0
  153. package/dist/{chunk-3RI5Y7KU.js → chunk-IVIAHQBR.js} +2 -2
  154. package/dist/{chunk-7WR462EM.js → chunk-J3OND5QT.js} +4 -4
  155. package/dist/{chunk-UW5NPZJ2.js → chunk-JALOAKSZ.js} +59 -7
  156. package/dist/chunk-JALOAKSZ.js.map +1 -0
  157. package/dist/{chunk-T3JQTCCO.js → chunk-JI7U6AS3.js} +4 -4
  158. package/dist/{chunk-DVYRD4HY.js → chunk-JRRQ747T.js} +36 -7
  159. package/dist/chunk-JRRQ747T.js.map +1 -0
  160. package/dist/{chunk-I32NKXE2.js → chunk-JTWZKNUH.js} +5 -5
  161. package/dist/chunk-K66OY4EI.js +202 -0
  162. package/dist/chunk-K66OY4EI.js.map +1 -0
  163. package/dist/{chunk-XAB6STPO.js → chunk-KODXCHXJ.js} +17 -3
  164. package/dist/chunk-KODXCHXJ.js.map +1 -0
  165. package/dist/{chunk-ZPUIRTIZ.js → chunk-KOLJJN5G.js} +12 -75
  166. package/dist/chunk-KOLJJN5G.js.map +1 -0
  167. package/dist/{chunk-FMQ4MOQO.js → chunk-KXIXO76C.js} +32 -19
  168. package/dist/chunk-KXIXO76C.js.map +1 -0
  169. package/dist/{chunk-VKCAHCBI.js → chunk-L4X4PJYK.js} +2 -2
  170. package/dist/chunk-LB7WCZHY.js +553 -0
  171. package/dist/chunk-LB7WCZHY.js.map +1 -0
  172. package/dist/{chunk-W4BMEGQA.js → chunk-LUDBXTBJ.js} +8 -8
  173. package/dist/{chunk-I4343FIA.js → chunk-MAH64N55.js} +28 -10
  174. package/dist/chunk-MAH64N55.js.map +1 -0
  175. package/dist/{chunk-RIAM7DND.js → chunk-ME35HVDJ.js} +2 -2
  176. package/dist/{chunk-H63EDPFJ.js → chunk-MI2OTWV5.js} +15 -2
  177. package/dist/{chunk-H63EDPFJ.js.map → chunk-MI2OTWV5.js.map} +1 -1
  178. package/dist/{chunk-LBFFNDFM.js → chunk-MINHJ55X.js} +1 -1
  179. package/dist/chunk-MINHJ55X.js.map +1 -0
  180. package/dist/{chunk-NG3MBQV4.js → chunk-MJRGVXPQ.js} +2 -2
  181. package/dist/{chunk-773TRRGT.js → chunk-MJUCDM3C.js} +2 -2
  182. package/dist/{chunk-7F27PCSN.js → chunk-MN5NOOI7.js} +2 -2
  183. package/dist/{chunk-JCWY73FK.js → chunk-N4F7ZSSG.js} +2 -2
  184. package/dist/{chunk-TR7DGXGI.js → chunk-NACLNNFQ.js} +5 -5
  185. package/dist/{chunk-LC2BDILZ.js → chunk-NBP4EX5N.js} +2 -2
  186. package/dist/{chunk-ZVPVTPGI.js → chunk-NNZFPYYX.js} +4 -4
  187. package/dist/{chunk-MFOSZUIT.js → chunk-NPIBN2VL.js} +2 -2
  188. package/dist/{chunk-IY7UXD3J.js → chunk-O57GM3FR.js} +2 -2
  189. package/dist/{chunk-I2HTKOOP.js → chunk-O7ERGZDA.js} +5 -5
  190. package/dist/{chunk-GTSVEEP3.js → chunk-OAJMQKQR.js} +3 -3
  191. package/dist/{chunk-HSZMX3ZJ.js → chunk-ODW5GDFE.js} +2 -2
  192. package/dist/{chunk-D4QVPP3G.js → chunk-PEBH5DCK.js} +18 -11
  193. package/dist/chunk-PEBH5DCK.js.map +1 -0
  194. package/dist/{chunk-J2WC5LF4.js → chunk-QBC33MPY.js} +2 -1
  195. package/dist/{chunk-EOHKUWXW.js → chunk-QCRJMU5V.js} +2 -2
  196. package/dist/chunk-QJCWK2A7.js +1466 -0
  197. package/dist/chunk-QJCWK2A7.js.map +1 -0
  198. package/dist/{chunk-THG4GYIE.js → chunk-RDGKVH6T.js} +11 -7
  199. package/dist/{chunk-THG4GYIE.js.map → chunk-RDGKVH6T.js.map} +1 -1
  200. package/dist/{chunk-5DH6PG4B.js → chunk-RZ3IZIJG.js} +3 -3
  201. package/dist/{chunk-AAXJNINV.js → chunk-SN4JXNLL.js} +2 -2
  202. package/dist/chunk-TB2MJRI6.js +866 -0
  203. package/dist/chunk-TB2MJRI6.js.map +1 -0
  204. package/dist/{chunk-7PHI6GUI.js → chunk-TEZ2HTC7.js} +42 -2
  205. package/dist/chunk-TEZ2HTC7.js.map +1 -0
  206. package/dist/{chunk-SVSRPG6M.js → chunk-TNGH4ZYI.js} +2 -2
  207. package/dist/{chunk-HZNYJN77.js → chunk-TNXNECAN.js} +6 -6
  208. package/dist/{chunk-JOEJG4SD.js → chunk-TVW4C7PV.js} +5 -5
  209. package/dist/{chunk-UFKPQBXH.js → chunk-U62OK7BB.js} +2 -2
  210. package/dist/{chunk-R2MZCYA6.js → chunk-UNUMFURP.js} +3 -3
  211. package/dist/{chunk-AX7UXCHJ.js → chunk-UYA36DQ7.js} +2 -1
  212. package/dist/chunk-UYA36DQ7.js.map +1 -0
  213. package/dist/{chunk-AFR6AIM4.js → chunk-VCKWULAK.js} +112 -87
  214. package/dist/chunk-VCKWULAK.js.map +1 -0
  215. package/dist/chunk-VOSWUO3K.js +100 -0
  216. package/dist/chunk-VOSWUO3K.js.map +1 -0
  217. package/dist/{chunk-YRVAKONL.js → chunk-VQ4AMTGZ.js} +1 -1
  218. package/dist/{chunk-3BCULS4U.js → chunk-VQNRICAQ.js} +145 -507
  219. package/dist/chunk-VQNRICAQ.js.map +1 -0
  220. package/dist/{chunk-RAIUTAZZ.js → chunk-WKAXBXVA.js} +2 -2
  221. package/dist/{chunk-ZIJDI4CP.js → chunk-WKJFIMVN.js} +2 -2
  222. package/dist/{chunk-SXIMQLGV.js → chunk-WVGXCBOC.js} +2 -2
  223. package/dist/{chunk-7BEPVIH3.js → chunk-X5YYSAZX.js} +4 -4
  224. package/dist/{chunk-FZEEWOI2.js → chunk-XJJYSX6F.js} +2 -2
  225. package/dist/{chunk-F635GAL7.js → chunk-XKNHFDTT.js} +33 -13
  226. package/dist/chunk-XKNHFDTT.js.map +1 -0
  227. package/dist/{chunk-UG6VXIOK.js → chunk-XSTNGNJP.js} +2 -2
  228. package/dist/{chunk-YDPAE2RD.js → chunk-YFLLGRXO.js} +2 -2
  229. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  230. package/dist/{chunk-ANJXPFRS.js → chunk-YXFCALVT.js} +14 -14
  231. package/dist/{chunk-Q4WONDMJ.js → chunk-YYGZJPOK.js} +2 -2
  232. package/dist/{chunk-5HERQ5FX.js → chunk-Z3YEGSR4.js} +10 -10
  233. package/dist/{chunk-YWSQD2IB.js → chunk-ZJPM7GZ3.js} +2 -2
  234. package/dist/{chunk-5S4LQOPE.js → chunk-ZW4VXELZ.js} +2 -2
  235. package/dist/{cli-B322UMvB.d.ts → cli-BEkm2MEf.d.ts} +5 -5
  236. package/dist/cli.d.ts +17 -16
  237. package/dist/cli.js +126 -120
  238. package/dist/coding/export-okf-codegraph.d.ts +56 -0
  239. package/dist/coding/export-okf-codegraph.js +526 -0
  240. package/dist/coding/export-okf-codegraph.js.map +1 -0
  241. package/dist/coding/pre-action-gate.d.ts +2 -2
  242. package/dist/compounding/engine.d.ts +5 -3
  243. package/dist/compounding/engine.js +34 -34
  244. package/dist/compounding/preference-consolidator.d.ts +4 -4
  245. package/dist/compression-optimizer.d.ts +2 -2
  246. package/dist/config-security.js +2 -2
  247. package/dist/config.d.ts +2 -2
  248. package/dist/config.js +17 -16
  249. package/dist/connectors/codex-materialize-runner.d.ts +2 -2
  250. package/dist/connectors/codex-materialize-runner.js +33 -33
  251. package/dist/connectors/codex-materialize.d.ts +2 -2
  252. package/dist/connectors/index.d.ts +2 -2
  253. package/dist/connectors/index.js +33 -33
  254. package/dist/consolidation-provenance-check.d.ts +5 -3
  255. package/dist/consolidation-provenance-check.js +5 -5
  256. package/dist/consolidation-undo.d.ts +5 -3
  257. package/dist/consolidation-undo.js +3 -3
  258. package/dist/context-summary.d.ts +43 -0
  259. package/dist/context-summary.js +14 -0
  260. package/dist/context-summary.js.map +1 -0
  261. package/dist/contradiction/index.d.ts +6 -4
  262. package/dist/contradiction/index.js +10 -10
  263. package/dist/{contradiction-scan-AKUWPX5N.js → contradiction-scan-NOYMFG66.js} +3 -3
  264. package/dist/contradiction-scan-NOYMFG66.js.map +1 -0
  265. package/dist/converge-config.d.ts +2 -2
  266. package/dist/convergence-refresh.d.ts +5 -3
  267. package/dist/convergence-refresh.js +36 -36
  268. package/dist/conversation-index/backend.d.ts +2 -2
  269. package/dist/conversation-index/chunker.d.ts +2 -2
  270. package/dist/conversation-index/faiss-adapter.d.ts +2 -2
  271. package/dist/conversation-index/indexer.d.ts +2 -2
  272. package/dist/conversation-index/search.d.ts +2 -2
  273. package/dist/corpus-watermark.d.ts +2 -2
  274. package/dist/corpus-watermark.js +35 -35
  275. package/dist/cross-lingual-recall.d.ts +2 -2
  276. package/dist/dashboard-runtime.js +2 -2
  277. package/dist/day-summary.d.ts +2 -2
  278. package/dist/delinearize.d.ts +2 -2
  279. package/dist/dependency-propagation-config.d.ts +2 -2
  280. package/dist/{dependency-propagation-delivery-BGcNairQ.d.ts → dependency-propagation-delivery-BCpeo14F.d.ts} +1 -1
  281. package/dist/direct-answer-wiring.d.ts +2 -2
  282. package/dist/direct-answer.d.ts +2 -2
  283. package/dist/embedding-fallback.d.ts +2 -2
  284. package/dist/enrichment/index.d.ts +2 -2
  285. package/dist/entity-origin-fields.d.ts +2 -2
  286. package/dist/entity-retrieval.d.ts +5 -3
  287. package/dist/entity-retrieval.js +34 -34
  288. package/dist/entity-schema.d.ts +2 -2
  289. package/dist/episodic-context.d.ts +2 -2
  290. package/dist/eval-trajectory-contracts.d.ts +2 -2
  291. package/dist/eval-trajectory-store.d.ts +2 -2
  292. package/dist/eval-trajectory.d.ts +2 -2
  293. package/dist/event-order-recall.js +3 -3
  294. package/dist/explicit-capture.d.ts +13 -12
  295. package/dist/explicit-capture.js +12 -12
  296. package/dist/external-wiki-access.d.ts +15 -14
  297. package/dist/external-wiki-access.js +66 -63
  298. package/dist/external-wiki-collection-registration.d.ts +2 -2
  299. package/dist/external-wiki-collection.d.ts +2 -2
  300. package/dist/external-wiki-mcp-tools.d.ts +15 -14
  301. package/dist/extraction-error-classification.d.ts +2 -2
  302. package/dist/extraction-faithfulness.d.ts +2 -2
  303. package/dist/extraction-faithfulness.js +2 -2
  304. package/dist/extraction-judge-telemetry.d.ts +2 -2
  305. package/dist/extraction-judge-training.d.ts +2 -2
  306. package/dist/extraction-judge.d.ts +2 -2
  307. package/dist/extraction-judge.js +2 -2
  308. package/dist/extraction-liveness.d.ts +2 -2
  309. package/dist/extraction-normalization.d.ts +2 -2
  310. package/dist/extraction-prompt.d.ts +2 -2
  311. package/dist/extraction-source-grounding-rules.d.ts +2 -2
  312. package/dist/extraction-source-grounding.d.ts +2 -2
  313. package/dist/extraction.d.ts +2 -2
  314. package/dist/extraction.js +47 -44
  315. package/dist/fallback-llm.d.ts +8 -2
  316. package/dist/fallback-llm.js +1 -1
  317. package/dist/{first-start-migration-4NETATFF.js → first-start-migration-KHIMCBIC.js} +3 -3
  318. package/dist/{forget-SZ2BXDGF.js → forget-2AE4MDK3.js} +3 -3
  319. package/dist/graph-dashboard-diff.d.ts +2 -2
  320. package/dist/graph-dashboard-key.d.ts +2 -2
  321. package/dist/graph-dashboard-parser.d.ts +2 -2
  322. package/dist/graph-edge-reinforcement.d.ts +2 -2
  323. package/dist/graph-path-reconstruction.d.ts +2 -2
  324. package/dist/graph-path-scoring.d.ts +2 -2
  325. package/dist/graph-snapshot.d.ts +2 -2
  326. package/dist/graph.d.ts +2 -2
  327. package/dist/harmonic-retrieval.js +1 -1
  328. package/dist/importance.d.ts +2 -2
  329. package/dist/importers/index.d.ts +2 -2
  330. package/dist/in-flight-reads.d.ts +2 -2
  331. package/dist/{index-By2QUAMh.d.ts → index-D_pyMUaP.d.ts} +2 -2
  332. package/dist/index.d.ts +261 -30
  333. package/dist/index.js +321 -257
  334. package/dist/intent.d.ts +2 -2
  335. package/dist/lcm/engine.d.ts +3 -3
  336. package/dist/lcm/engine.js +5 -4
  337. package/dist/lcm/index.d.ts +4 -3
  338. package/dist/lcm/index.js +12 -11
  339. package/dist/lcm/summarizer.d.ts +4 -6
  340. package/dist/lcm/summarizer.js +2 -1
  341. package/dist/lcm/tools.d.ts +4 -4
  342. package/dist/lifecycle.d.ts +2 -2
  343. package/dist/live-connectors-runner.d.ts +2 -2
  344. package/dist/local-llm.d.ts +2 -2
  345. package/dist/local-model-endpoint.d.ts +2 -2
  346. package/dist/location/index.d.ts +315 -6
  347. package/dist/location/index.js +151 -19
  348. package/dist/maintenance/memory-governance.d.ts +2 -2
  349. package/dist/maintenance/memory-governance.js +34 -34
  350. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +5 -3
  351. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +33 -33
  352. package/dist/maintenance/rebuild-memory-projection.d.ts +5 -3
  353. package/dist/maintenance/rebuild-memory-projection.js +35 -35
  354. package/dist/{maintenance-Dm2McrIx.d.ts → maintenance-DDUX9d6D.d.ts} +3 -3
  355. package/dist/mcp-memory-inspector-app.d.ts +15 -14
  356. package/dist/mcp-read-only-tools.js +1 -1
  357. package/dist/memory-action-policy.d.ts +18 -3
  358. package/dist/memory-action-policy.js +3 -1
  359. package/dist/memory-cache.d.ts +2 -2
  360. package/dist/memory-controller.d.ts +2 -2
  361. package/dist/memory-controller.js +2 -2
  362. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -2
  363. package/dist/memory-projection-mutations.js +3 -3
  364. package/dist/memory-projection-store.d.ts +2 -2
  365. package/dist/memory-projection-store.js +1 -1
  366. package/dist/memory-provenance.d.ts +2 -2
  367. package/dist/memory-snapshot.d.ts +2 -2
  368. package/dist/memory-subject-cli.d.ts +15 -14
  369. package/dist/memory-subject.d.ts +15 -14
  370. package/dist/memory-subject.js +5 -5
  371. package/dist/memory-worth-outcomes.d.ts +5 -3
  372. package/dist/models-json.d.ts +2 -2
  373. package/dist/namespaces/migrate.d.ts +6 -4
  374. package/dist/namespaces/migrate.js +34 -34
  375. package/dist/namespaces/principal.d.ts +2 -2
  376. package/dist/namespaces/search.d.ts +2 -2
  377. package/dist/namespaces/search.js +8 -8
  378. package/dist/namespaces/storage.d.ts +6 -4
  379. package/dist/namespaces/storage.js +33 -33
  380. package/dist/native-knowledge.d.ts +2 -2
  381. package/dist/offline-sync-file-io.js +3 -3
  382. package/dist/offline-sync-impression-drain.d.ts +2 -2
  383. package/dist/offline-sync-impression-drain.js +9 -9
  384. package/dist/offline-sync.js +4 -4
  385. package/dist/operator-doctor-corpus.d.ts +2 -2
  386. package/dist/operator-doctor-corpus.js +36 -36
  387. package/dist/operator-doctor-replica.d.ts +2 -2
  388. package/dist/operator-toolkit.d.ts +6 -4
  389. package/dist/operator-toolkit.js +56 -55
  390. package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -3
  391. package/dist/orchestration/maintenance.d.ts +7 -5
  392. package/dist/orchestration/maintenance.js +48 -47
  393. package/dist/{orchestrator-Co1DyfuP.d.ts → orchestrator-3F4jihCo.d.ts} +8 -8
  394. package/dist/orchestrator.d.ts +13 -12
  395. package/dist/orchestrator.js +182 -174
  396. package/dist/page-versioning.js +3 -3
  397. package/dist/patterns-cli.d.ts +2 -2
  398. package/dist/{pipeline-DotMnb6y.d.ts → pipeline-CB1dj6Uh.d.ts} +1 -1
  399. package/dist/policy-runtime.d.ts +2 -2
  400. package/dist/proactive-contention.d.ts +2 -2
  401. package/dist/provenance.d.ts +2 -2
  402. package/dist/{public-http-PJRtnSi-.d.ts → public-http-34-JIAGQ.d.ts} +1 -1
  403. package/dist/{purge-GB7PZHT2.js → purge-OP6BEDFY.js} +2 -2
  404. package/dist/{qmd-BP0n11fR.d.ts → qmd-edLLZXc5.d.ts} +1 -1
  405. package/dist/qmd-preflight.d.ts +3 -3
  406. package/dist/qmd-recall-cache.d.ts +2 -2
  407. package/dist/qmd.d.ts +3 -3
  408. package/dist/qmd.js +4 -4
  409. package/dist/recall-concurrency-config.d.ts +2 -2
  410. package/dist/recall-disclosure-escalation.d.ts +2 -2
  411. package/dist/recall-explain-renderer.d.ts +2 -2
  412. package/dist/recall-explain-renderer.js +3 -3
  413. package/dist/recall-memory-map.d.ts +2 -2
  414. package/dist/recall-planner-llm.d.ts +2 -2
  415. package/dist/recall-planner-llm.js +1 -1
  416. package/dist/recall-state.d.ts +2 -2
  417. package/dist/recall-tag-filter.d.ts +2 -2
  418. package/dist/recall-timings.d.ts +2 -2
  419. package/dist/recall-xray-cli.d.ts +2 -2
  420. package/dist/recall-xray-cli.js +4 -4
  421. package/dist/recall-xray-renderer.d.ts +2 -2
  422. package/dist/recall-xray-renderer.js +3 -3
  423. package/dist/recall-xray.d.ts +2 -2
  424. package/dist/recall-xray.js +2 -2
  425. package/dist/reconcile/cursor.d.ts +2 -2
  426. package/dist/reconcile/manifest.d.ts +2 -2
  427. package/dist/reconcile/manifest.js +5 -5
  428. package/dist/reconcile/plan.d.ts +2 -2
  429. package/dist/replay/normalizers/chatgpt.d.ts +2 -2
  430. package/dist/replay/normalizers/claude.d.ts +2 -2
  431. package/dist/replay/normalizers/openclaw.d.ts +2 -2
  432. package/dist/replay/normalizers/shared.d.ts +2 -2
  433. package/dist/replay/runner.d.ts +2 -2
  434. package/dist/replay/types.d.ts +2 -2
  435. package/dist/replica-divergence.d.ts +2 -2
  436. package/dist/replica-peers-config.d.ts +2 -2
  437. package/dist/{resolution-4552BNRV.js → resolution-4DLI3IOR.js} +11 -11
  438. package/dist/resolution-4DLI3IOR.js.map +1 -0
  439. package/dist/resolve-auth-token.d.ts +2 -2
  440. package/dist/resume-bundles.js +18 -17
  441. package/dist/retrieval-agents.d.ts +3 -3
  442. package/dist/retrieval-tiers.d.ts +2 -2
  443. package/dist/routing/engine.d.ts +2 -2
  444. package/dist/routing/store.d.ts +2 -2
  445. package/dist/salvage-envelope.d.ts +2 -2
  446. package/dist/salvage-envelope.js +7 -7
  447. package/dist/schemas.d.ts +572 -107
  448. package/dist/schemas.js +3 -1
  449. package/dist/{scope-profiles-6ChZKTy-.d.ts → scope-profiles-BF2lu81V.d.ts} +1 -1
  450. package/dist/search/document-scanner.js +1 -1
  451. package/dist/search/embed-helper.d.ts +2 -2
  452. package/dist/search/factory.d.ts +2 -2
  453. package/dist/search/factory.js +7 -7
  454. package/dist/search/index.d.ts +2 -2
  455. package/dist/search/index.js +13 -13
  456. package/dist/search/lancedb-backend.d.ts +2 -2
  457. package/dist/search/lancedb-backend.js +1 -1
  458. package/dist/search/meilisearch-backend.d.ts +2 -2
  459. package/dist/search/meilisearch-backend.js +1 -1
  460. package/dist/search/noop-backend.d.ts +2 -2
  461. package/dist/search/orama-backend.d.ts +2 -2
  462. package/dist/search/orama-backend.js +1 -1
  463. package/dist/search/port.d.ts +2 -2
  464. package/dist/search/remote-backend.d.ts +2 -2
  465. package/dist/secure-store/index.js +3 -3
  466. package/dist/{semantic-consolidation-DziYcW5J.d.ts → semantic-consolidation-5OuWXBRt.d.ts} +1 -1
  467. package/dist/semantic-consolidation.d.ts +3 -3
  468. package/dist/semantic-consolidation.js +37 -37
  469. package/dist/semantic-rule-promotion.js +33 -33
  470. package/dist/semantic-rule-verifier.d.ts +2 -2
  471. package/dist/semantic-rule-verifier.js +33 -33
  472. package/dist/{service-C7rIBuK_.d.ts → service-CrqEhLXD.d.ts} +2 -2
  473. package/dist/session-observer-bands.d.ts +2 -2
  474. package/dist/session-observer-state.d.ts +2 -2
  475. package/dist/shared-context/manager.d.ts +2 -2
  476. package/dist/signal.d.ts +2 -2
  477. package/dist/source-agent-qualifier.d.ts +2 -2
  478. package/dist/source-agent-qualifier.js +42 -39
  479. package/dist/standup/build.d.ts +16 -0
  480. package/dist/standup/build.js +17 -0
  481. package/dist/standup/build.js.map +1 -0
  482. package/dist/{storage-B1hEx8Xg.d.ts → storage-BQn-xnxm.d.ts} +4 -1
  483. package/dist/storage.d.ts +5 -3
  484. package/dist/storage.js +32 -32
  485. package/dist/subject-config.d.ts +2 -2
  486. package/dist/subject-config.js +6 -6
  487. package/dist/summarizer.d.ts +2 -2
  488. package/dist/summarizer.js +2 -2
  489. package/dist/summary-snapshot.d.ts +2 -2
  490. package/dist/support-passport/index.d.ts +20 -19
  491. package/dist/support-passport/index.js +68 -65
  492. package/dist/temporal-supersession.d.ts +3 -3
  493. package/dist/temporal-timeline-recall.d.ts +2 -2
  494. package/dist/temporal-validity.d.ts +2 -2
  495. package/dist/threading.d.ts +2 -2
  496. package/dist/tier-migration.d.ts +5 -3
  497. package/dist/tier-routing.d.ts +2 -2
  498. package/dist/tier-routing.js +2 -2
  499. package/dist/{tier-stats-4B5IJ3NE.js → tier-stats-2TOW3QNL.js} +3 -3
  500. package/dist/topics.d.ts +2 -2
  501. package/dist/transcript.d.ts +2 -2
  502. package/dist/transfer/capsule-export.js +2 -2
  503. package/dist/transfer/capsule-import.js +5 -5
  504. package/dist/transfer/export-okf.d.ts +39 -0
  505. package/dist/transfer/export-okf.js +112 -0
  506. package/dist/transfer/export-okf.js.map +1 -0
  507. package/dist/transfer/types.d.ts +12 -12
  508. package/dist/trust-score-stage.d.ts +2 -2
  509. package/dist/trust-score.d.ts +2 -2
  510. package/dist/{types-BHDNxGTT.d.ts → types-BRpcNjHZ.d.ts} +119 -3
  511. package/dist/types.d.ts +2 -2
  512. package/dist/types.js +1 -1
  513. package/dist/utility-runtime.d.ts +2 -2
  514. package/dist/verified-recall.js +33 -33
  515. package/dist/who-knows-cli.d.ts +15 -14
  516. package/dist/who-knows-cli.js +34 -34
  517. package/dist/who-knows.d.ts +15 -14
  518. package/dist/who-knows.js +33 -33
  519. package/dist/write-envelope.d.ts +2 -2
  520. package/dist/write-envelope.js +6 -6
  521. package/package.json +54 -3
  522. package/src/access-admin-ops-surface.ts +6 -1
  523. package/src/access-boundary.ts +1 -0
  524. package/src/access-http.ts +3 -1
  525. package/src/access-mcp-output-schemas.ts +1 -0
  526. package/src/access-mcp.ts +3 -3
  527. package/src/access-operations.ts +1 -0
  528. package/src/access-service-offline-file-content.test.ts +63 -0
  529. package/src/access-surface-catalog.ts +2 -0
  530. package/src/active-context-config.ts +98 -0
  531. package/src/active-context-transform.test.ts +533 -0
  532. package/src/active-context-transform.ts +981 -0
  533. package/src/activity/config.test.ts +1 -0
  534. package/src/activity/config.ts +21 -1
  535. package/src/activity/index.ts +1 -0
  536. package/src/activity/timeline/build.ts +279 -0
  537. package/src/activity/timeline/categories.ts +111 -0
  538. package/src/activity/timeline/classify.ts +110 -0
  539. package/src/activity/timeline/corrections.ts +145 -0
  540. package/src/activity/timeline/index.ts +6 -0
  541. package/src/activity/timeline/timeline.test.ts +277 -0
  542. package/src/activity/timeline/types.ts +106 -0
  543. package/src/activity/types.ts +6 -0
  544. package/src/cli/okf-commands.ts +45 -0
  545. package/src/cli.ts +2 -2
  546. package/src/coding/export-okf-codegraph.test.ts +381 -0
  547. package/src/coding/export-okf-codegraph.ts +565 -0
  548. package/src/config.test.ts +1 -0
  549. package/src/config.ts +3 -5
  550. package/src/context-summary.ts +182 -0
  551. package/src/extraction-prompt-safety.test.ts +14 -2
  552. package/src/extraction.ts +21 -1
  553. package/src/fallback-llm.test.ts +134 -0
  554. package/src/fallback-llm.ts +77 -5
  555. package/src/index.ts +4 -11
  556. package/src/lcm/summarizer.ts +14 -93
  557. package/src/location/access-operations.ts +17 -8
  558. package/src/location/backfill.ts +137 -0
  559. package/src/location/config.test.ts +3 -0
  560. package/src/location/config.ts +46 -2
  561. package/src/location/http-glue.ts +1 -1
  562. package/src/location/index.ts +3 -0
  563. package/src/location/intervals.ts +1 -0
  564. package/src/location/matching.test.ts +65 -0
  565. package/src/location/matching.ts +354 -0
  566. package/src/location/mcp-tools.ts +2 -1
  567. package/src/location/surfaces.test.ts +15 -2
  568. package/src/location/surfaces.ts +95 -18
  569. package/src/location/tagging.test.ts +119 -0
  570. package/src/location/tagging.ts +277 -0
  571. package/src/location/types.ts +23 -1
  572. package/src/mcp-read-only-tools.ts +1 -0
  573. package/src/memory-action-policy.ts +28 -0
  574. package/src/memory-projection-store.ts +3 -1
  575. package/src/okf/cli.ts +18 -5
  576. package/src/okf/config.ts +5 -0
  577. package/src/okf/index-files.test.ts +60 -0
  578. package/src/okf/index-files.ts +114 -0
  579. package/src/okf/render.ts +133 -0
  580. package/src/okf/type-mapping.test.ts +3 -0
  581. package/src/okf/type-mapping.ts +2 -0
  582. package/src/orchestration/extraction-run.ts +2 -1
  583. package/src/orchestration/generic-recall-paths.ts +4 -3
  584. package/src/schemas.ts +17 -1
  585. package/src/standup/access-operations.ts +14 -0
  586. package/src/standup/build.test.ts +34 -0
  587. package/src/standup/build.ts +115 -0
  588. package/src/standup/http-glue.ts +15 -0
  589. package/src/standup/mcp-tools.ts +16 -0
  590. package/src/storage/context-transform-ledger.ts +39 -0
  591. package/src/storage/secure-line-reader.ts +50 -1
  592. package/src/storage.ts +4 -1
  593. package/src/support-passport/card-projection.ts +1 -0
  594. package/src/support-passport/card-service-commit-forwarding.test.ts +1 -0
  595. package/src/support-passport/card-service.test.ts +75 -1
  596. package/src/support-passport/card-service.ts +6 -3
  597. package/src/support-passport/card-state.ts +5 -1
  598. package/src/support-passport/offline-sync-guard.ts +14 -1
  599. package/src/transfer/export-okf.test.ts +164 -0
  600. package/src/transfer/export-okf.ts +286 -0
  601. package/src/types.ts +2 -3
  602. package/dist/chunk-2LWQSV6A.js.map +0 -1
  603. package/dist/chunk-3BCULS4U.js.map +0 -1
  604. package/dist/chunk-7BDZTALN.js.map +0 -1
  605. package/dist/chunk-7PHI6GUI.js.map +0 -1
  606. package/dist/chunk-AFR6AIM4.js.map +0 -1
  607. package/dist/chunk-AX7UXCHJ.js.map +0 -1
  608. package/dist/chunk-BJTHRFFC.js.map +0 -1
  609. package/dist/chunk-D4QVPP3G.js.map +0 -1
  610. package/dist/chunk-DVYRD4HY.js.map +0 -1
  611. package/dist/chunk-F635GAL7.js.map +0 -1
  612. package/dist/chunk-FMQ4MOQO.js.map +0 -1
  613. package/dist/chunk-FP7YTTVO.js.map +0 -1
  614. package/dist/chunk-I4343FIA.js.map +0 -1
  615. package/dist/chunk-I7EX6KSH.js.map +0 -1
  616. package/dist/chunk-LBFFNDFM.js.map +0 -1
  617. package/dist/chunk-LLQCM2U2.js.map +0 -1
  618. package/dist/chunk-RQE4TITU.js.map +0 -1
  619. package/dist/chunk-UW5NPZJ2.js.map +0 -1
  620. package/dist/chunk-XAB6STPO.js.map +0 -1
  621. package/dist/chunk-ZPUIRTIZ.js.map +0 -1
  622. package/dist/types-CM86alG1.d.ts +0 -89
  623. /package/dist/{contradiction-scan-AKUWPX5N.js.map → active-context-config.js.map} +0 -0
  624. /package/dist/{resolution-4552BNRV.js.map → active-context-transform.js.map} +0 -0
  625. /package/dist/{auto-sync-XVMLL2RH.js.map → auto-sync-Q6Q2FVSC.js.map} +0 -0
  626. /package/dist/{capsule-merge-SGIVB3WA.js.map → capsule-merge-SEHERWWP.js.map} +0 -0
  627. /package/dist/{chunk-CFGU52XJ.js.map → chunk-23CVL7HS.js.map} +0 -0
  628. /package/dist/{chunk-PO7NXBG2.js.map → chunk-2GF27PGH.js.map} +0 -0
  629. /package/dist/{chunk-6CPUQ5D6.js.map → chunk-2LBAFHOQ.js.map} +0 -0
  630. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  631. /package/dist/{chunk-IP4ZNT4U.js.map → chunk-33MFRY25.js.map} +0 -0
  632. /package/dist/{chunk-VFYRYFLL.js.map → chunk-3TSU662L.js.map} +0 -0
  633. /package/dist/{chunk-VXVZ2GM3.js.map → chunk-4FHRZD5T.js.map} +0 -0
  634. /package/dist/{chunk-5VPQSRQO.js.map → chunk-4STAANV7.js.map} +0 -0
  635. /package/dist/{chunk-46WM6JX2.js.map → chunk-4ZWCQJNM.js.map} +0 -0
  636. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  637. /package/dist/{chunk-YKWFK7XA.js.map → chunk-6CEGSTBD.js.map} +0 -0
  638. /package/dist/{chunk-GEPACVWN.js.map → chunk-6RUHELWR.js.map} +0 -0
  639. /package/dist/{chunk-ZAOHJDKH.js.map → chunk-72OIT7KS.js.map} +0 -0
  640. /package/dist/{chunk-KQAFEZQX.js.map → chunk-7LCGFUMB.js.map} +0 -0
  641. /package/dist/{chunk-7TCGNUVP.js.map → chunk-7UTDHQZ5.js.map} +0 -0
  642. /package/dist/{chunk-5HK3CJAR.js.map → chunk-7XOG75AU.js.map} +0 -0
  643. /package/dist/{chunk-C24UZSFW.js.map → chunk-CEH2AFXG.js.map} +0 -0
  644. /package/dist/{chunk-YOXVZJFM.js.map → chunk-CFVTRUR3.js.map} +0 -0
  645. /package/dist/{chunk-ACOC27BB.js.map → chunk-CN4VKV3S.js.map} +0 -0
  646. /package/dist/{chunk-PMVPCZJZ.js.map → chunk-CTCGHNWN.js.map} +0 -0
  647. /package/dist/{chunk-EGBDFJ36.js.map → chunk-DD5JFCWM.js.map} +0 -0
  648. /package/dist/{chunk-T42L3S6A.js.map → chunk-DDX6KIXF.js.map} +0 -0
  649. /package/dist/{chunk-JIYDRBVZ.js.map → chunk-DJORULH3.js.map} +0 -0
  650. /package/dist/{chunk-WTOZBZNN.js.map → chunk-DMEHOEC7.js.map} +0 -0
  651. /package/dist/{chunk-OPPBTPUU.js.map → chunk-DUAJKRR2.js.map} +0 -0
  652. /package/dist/{chunk-SVVIASVX.js.map → chunk-EFQCDJZ2.js.map} +0 -0
  653. /package/dist/{chunk-Q57GOHLF.js.map → chunk-EGALNSZ4.js.map} +0 -0
  654. /package/dist/{chunk-KCT36JAW.js.map → chunk-ESNFSSO4.js.map} +0 -0
  655. /package/dist/{chunk-XQ3HXAQH.js.map → chunk-ET2CNMLD.js.map} +0 -0
  656. /package/dist/{chunk-Z4U3UN56.js.map → chunk-EZSCW4EM.js.map} +0 -0
  657. /package/dist/{chunk-F6QHHRWP.js.map → chunk-FESUGFIL.js.map} +0 -0
  658. /package/dist/{chunk-S3K2CIK5.js.map → chunk-FKKGCGYL.js.map} +0 -0
  659. /package/dist/{chunk-BWGCOLEL.js.map → chunk-FTTJRVB7.js.map} +0 -0
  660. /package/dist/{chunk-JAQXUGLN.js.map → chunk-FYWLSFFS.js.map} +0 -0
  661. /package/dist/{chunk-OPGL46PX.js.map → chunk-GX6FTSYH.js.map} +0 -0
  662. /package/dist/{chunk-A32YEQAM.js.map → chunk-H7VDIF2V.js.map} +0 -0
  663. /package/dist/{chunk-PDDSFELN.js.map → chunk-HJXA6ZM7.js.map} +0 -0
  664. /package/dist/{chunk-RGCF4XNH.js.map → chunk-HNPE66LB.js.map} +0 -0
  665. /package/dist/{chunk-SEA6M7SS.js.map → chunk-I5VB44ZK.js.map} +0 -0
  666. /package/dist/{chunk-SDEPLF7V.js.map → chunk-IBJ6U753.js.map} +0 -0
  667. /package/dist/{chunk-EUYWQ7TS.js.map → chunk-IEZ6CGTW.js.map} +0 -0
  668. /package/dist/{chunk-3RI5Y7KU.js.map → chunk-IVIAHQBR.js.map} +0 -0
  669. /package/dist/{chunk-7WR462EM.js.map → chunk-J3OND5QT.js.map} +0 -0
  670. /package/dist/{chunk-T3JQTCCO.js.map → chunk-JI7U6AS3.js.map} +0 -0
  671. /package/dist/{chunk-I32NKXE2.js.map → chunk-JTWZKNUH.js.map} +0 -0
  672. /package/dist/{chunk-VKCAHCBI.js.map → chunk-L4X4PJYK.js.map} +0 -0
  673. /package/dist/{chunk-W4BMEGQA.js.map → chunk-LUDBXTBJ.js.map} +0 -0
  674. /package/dist/{chunk-RIAM7DND.js.map → chunk-ME35HVDJ.js.map} +0 -0
  675. /package/dist/{chunk-NG3MBQV4.js.map → chunk-MJRGVXPQ.js.map} +0 -0
  676. /package/dist/{chunk-773TRRGT.js.map → chunk-MJUCDM3C.js.map} +0 -0
  677. /package/dist/{chunk-7F27PCSN.js.map → chunk-MN5NOOI7.js.map} +0 -0
  678. /package/dist/{chunk-JCWY73FK.js.map → chunk-N4F7ZSSG.js.map} +0 -0
  679. /package/dist/{chunk-TR7DGXGI.js.map → chunk-NACLNNFQ.js.map} +0 -0
  680. /package/dist/{chunk-LC2BDILZ.js.map → chunk-NBP4EX5N.js.map} +0 -0
  681. /package/dist/{chunk-ZVPVTPGI.js.map → chunk-NNZFPYYX.js.map} +0 -0
  682. /package/dist/{chunk-MFOSZUIT.js.map → chunk-NPIBN2VL.js.map} +0 -0
  683. /package/dist/{chunk-IY7UXD3J.js.map → chunk-O57GM3FR.js.map} +0 -0
  684. /package/dist/{chunk-I2HTKOOP.js.map → chunk-O7ERGZDA.js.map} +0 -0
  685. /package/dist/{chunk-GTSVEEP3.js.map → chunk-OAJMQKQR.js.map} +0 -0
  686. /package/dist/{chunk-HSZMX3ZJ.js.map → chunk-ODW5GDFE.js.map} +0 -0
  687. /package/dist/{chunk-J2WC5LF4.js.map → chunk-QBC33MPY.js.map} +0 -0
  688. /package/dist/{chunk-EOHKUWXW.js.map → chunk-QCRJMU5V.js.map} +0 -0
  689. /package/dist/{chunk-5DH6PG4B.js.map → chunk-RZ3IZIJG.js.map} +0 -0
  690. /package/dist/{chunk-AAXJNINV.js.map → chunk-SN4JXNLL.js.map} +0 -0
  691. /package/dist/{chunk-SVSRPG6M.js.map → chunk-TNGH4ZYI.js.map} +0 -0
  692. /package/dist/{chunk-HZNYJN77.js.map → chunk-TNXNECAN.js.map} +0 -0
  693. /package/dist/{chunk-JOEJG4SD.js.map → chunk-TVW4C7PV.js.map} +0 -0
  694. /package/dist/{chunk-UFKPQBXH.js.map → chunk-U62OK7BB.js.map} +0 -0
  695. /package/dist/{chunk-R2MZCYA6.js.map → chunk-UNUMFURP.js.map} +0 -0
  696. /package/dist/{chunk-YRVAKONL.js.map → chunk-VQ4AMTGZ.js.map} +0 -0
  697. /package/dist/{chunk-RAIUTAZZ.js.map → chunk-WKAXBXVA.js.map} +0 -0
  698. /package/dist/{chunk-ZIJDI4CP.js.map → chunk-WKJFIMVN.js.map} +0 -0
  699. /package/dist/{chunk-SXIMQLGV.js.map → chunk-WVGXCBOC.js.map} +0 -0
  700. /package/dist/{chunk-7BEPVIH3.js.map → chunk-X5YYSAZX.js.map} +0 -0
  701. /package/dist/{chunk-FZEEWOI2.js.map → chunk-XJJYSX6F.js.map} +0 -0
  702. /package/dist/{chunk-UG6VXIOK.js.map → chunk-XSTNGNJP.js.map} +0 -0
  703. /package/dist/{chunk-YDPAE2RD.js.map → chunk-YFLLGRXO.js.map} +0 -0
  704. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  705. /package/dist/{chunk-ANJXPFRS.js.map → chunk-YXFCALVT.js.map} +0 -0
  706. /package/dist/{chunk-Q4WONDMJ.js.map → chunk-YYGZJPOK.js.map} +0 -0
  707. /package/dist/{chunk-5HERQ5FX.js.map → chunk-Z3YEGSR4.js.map} +0 -0
  708. /package/dist/{chunk-YWSQD2IB.js.map → chunk-ZJPM7GZ3.js.map} +0 -0
  709. /package/dist/{chunk-5S4LQOPE.js.map → chunk-ZW4VXELZ.js.map} +0 -0
  710. /package/dist/{first-start-migration-4NETATFF.js.map → first-start-migration-KHIMCBIC.js.map} +0 -0
  711. /package/dist/{forget-SZ2BXDGF.js.map → forget-2AE4MDK3.js.map} +0 -0
  712. /package/dist/{purge-GB7PZHT2.js.map → purge-OP6BEDFY.js.map} +0 -0
  713. /package/dist/{tier-stats-4B5IJ3NE.js.map → tier-stats-2TOW3QNL.js.map} +0 -0
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  listMemoryGovernanceRuns,
9
9
  readMemoryGovernanceRunArtifact
10
- } from "./chunk-SVVIASVX.js";
10
+ } from "./chunk-EFQCDJZ2.js";
11
11
  import {
12
12
  StorageManager
13
- } from "./chunk-BJTHRFFC.js";
13
+ } from "./chunk-GEJKYA7D.js";
14
14
  import {
15
15
  normalizeProjectionPreview,
16
16
  normalizeProjectionTags
@@ -24,7 +24,7 @@ import {
24
24
  readProjectedGovernanceRows,
25
25
  readProjectedNativeKnowledgeRows,
26
26
  writeProjectionMetaHighWater
27
- } from "./chunk-DVYRD4HY.js";
27
+ } from "./chunk-JRRQ747T.js";
28
28
  import {
29
29
  MEMORY_LIFECYCLE_EVENT_SORT_ORDER,
30
30
  buildLifecycleEventsForMemory,
@@ -41,13 +41,13 @@ import {
41
41
  memoryCurrentSelectExpressions,
42
42
  parseCurrentRow,
43
43
  parseTimelineRows
44
- } from "./chunk-2LWQSV6A.js";
44
+ } from "./chunk-AL3UYZ5N.js";
45
45
  import {
46
46
  openBetterSqlite3
47
47
  } from "./chunk-RL6NEVXT.js";
48
48
  import {
49
49
  isSupportPassportPrivateMemory
50
- } from "./chunk-XDL5CYZN.js";
50
+ } from "./chunk-EEOUMG3J.js";
51
51
  import {
52
52
  log
53
53
  } from "./chunk-3WCASNQZ.js";
@@ -1005,4 +1005,4 @@ export {
1005
1005
  verifyMemoryProjection,
1006
1006
  repairMemoryProjection
1007
1007
  };
1008
- //# sourceMappingURL=chunk-WTOZBZNN.js.map
1008
+ //# sourceMappingURL=chunk-DMEHOEC7.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- sidecarKey
3
- } from "./chunk-UFKPQBXH.js";
4
1
  import {
5
2
  DERIVED_FROM_MEMORY_ID_RE,
6
3
  isConsolidationOperator
7
4
  } from "./chunk-G7D6GZ5J.js";
5
+ import {
6
+ sidecarKey
7
+ } from "./chunk-U62OK7BB.js";
8
8
  import {
9
9
  RECALL_FALLBACK_DIRS
10
10
  } from "./chunk-VS2IYZRU.js";
@@ -342,4 +342,4 @@ function isPathWithin(candidate, root) {
342
342
  export {
343
343
  runConsolidationProvenanceCheck
344
344
  };
345
- //# sourceMappingURL=chunk-OPPBTPUU.js.map
345
+ //# sourceMappingURL=chunk-DUAJKRR2.js.map
@@ -301,6 +301,7 @@ function parseSupportPassportCardMetadata(memory) {
301
301
  function hasLiveSupportPassportCard(memory) {
302
302
  const metadata = parseSupportPassportCardMetadata(memory);
303
303
  if (metadata?.fields.status !== "active" && metadata?.fields.status !== "pending_review") return false;
304
+ if (metadata.sourceMemoryIds.length === 0) return false;
304
305
  return SupportPassportCardSchema.omit({ revision: true }).safeParse({
305
306
  ...metadata.fields,
306
307
  statement: stripAttributesSuffix(memory.content)
@@ -367,4 +368,4 @@ export {
367
368
  hasLiveSupportPassportCard,
368
369
  projectSupportPassportCard
369
370
  };
370
- //# sourceMappingURL=chunk-XDL5CYZN.js.map
371
+ //# sourceMappingURL=chunk-EEOUMG3J.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/support-passport/contracts.ts","../src/support-passport/card-projection.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { z } from \"zod\";\n\nimport { normalizeNamespaceIdentity } from \"../namespaces/identity.js\";\nimport { parseIsoOffsetTimestamp } from \"../utils/iso-timestamp.js\";\n\nexport const SUPPORT_PASSPORT_CARD_CATEGORIES = [\n \"communication\",\n \"environment\",\n \"transitions\",\n \"sensory\",\n \"regulation\",\n \"interests\",\n \"other\",\n] as const;\n\nexport const SUPPORT_PASSPORT_CARD_STATUSES = [\n \"pending_review\",\n \"active\",\n \"rejected\",\n \"superseded\",\n \"archived\",\n] as const;\n\nexport const SupportPassportCardCategorySchema = z.enum(SUPPORT_PASSPORT_CARD_CATEGORIES);\nexport const SupportPassportCardStatusSchema = z.enum(SUPPORT_PASSPORT_CARD_STATUSES);\nexport const SupportPassportCardTitleSchema = z\n .string()\n .trim()\n .min(1)\n .max(80)\n .refine((title) => !title.includes(\"]\") && !title.includes(\"\\n\") && !title.includes(\"\\r\"), {\n message: \"card titles cannot contain closing brackets or line breaks\",\n });\n\nconst IsoTimestampSchema = z\n .string()\n .datetime({ offset: true })\n .refine((value) => parseIsoOffsetTimestamp(value) !== null, {\n message: \"timestamps must be valid ISO 8601 values\",\n });\nexport const SupportPassportNamespaceSchema = z\n .string()\n .min(1)\n .refine((namespace) => namespace === normalizeNamespaceIdentity(namespace), {\n message: \"namespaces must be canonical\",\n });\nexport const SupportPassportMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9._:-]+$/);\nexport const SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH = 512;\nexport const SupportPassportSourceMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH);\n\nexport const SupportPassportCardSchema = z\n .object({\n cardId: SupportPassportMemoryIdSchema,\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n status: SupportPassportCardStatusSchema,\n updatedAt: IsoTimestampSchema,\n reviewBy: IsoTimestampSchema,\n revision: z.string().regex(/^[a-f0-9]{64}$/),\n })\n .strict();\n\nexport const SupportPassportCardListSchema = z\n .array(SupportPassportCardSchema)\n .max(100)\n .superRefine((cards, ctx) => {\n const seen = new Set<string>();\n for (const [index, card] of cards.entries()) {\n if (seen.has(card.cardId)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"card IDs must be unique\",\n path: [index, \"cardId\"],\n });\n }\n seen.add(card.cardId);\n }\n });\n\nexport const SupportPassportListCardsInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n })\n .strict();\n\nexport const SupportPassportManualDraftInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n })\n .strict();\n\nexport const SupportPassportCardMutationInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n cardId: SupportPassportMemoryIdSchema,\n expectedRevision: z.string().regex(/^[a-f0-9]{64}$/),\n reasonCode: z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9-]+$/)\n .optional(),\n })\n .strict();\n\nexport const SupportPassportReplaceCardInputSchema = SupportPassportCardMutationInputSchema.extend({\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n}).strict();\n\nexport type SupportPassportCard = z.infer<typeof SupportPassportCardSchema>;\nexport type SupportPassportCardCategory = z.infer<typeof SupportPassportCardCategorySchema>;\nexport type SupportPassportCardStatus = z.infer<typeof SupportPassportCardStatusSchema>;\nexport type SupportPassportManualDraftInput = z.input<typeof SupportPassportManualDraftInputSchema>;\nexport type SupportPassportCardMutationInput = z.input<typeof SupportPassportCardMutationInputSchema>;\nexport type SupportPassportReplaceCardInput = z.input<typeof SupportPassportReplaceCardInputSchema>;\n\ntype RevisionFields = Omit<SupportPassportCard, \"revision\">;\n\nexport function computeSupportPassportCardRevision(fields: RevisionFields): string {\n const canonicalFields = {\n cardId: fields.cardId,\n category: fields.category,\n reviewBy: fields.reviewBy,\n statement: fields.statement,\n status: fields.status,\n title: fields.title,\n updatedAt: fields.updatedAt,\n };\n return createHash(\"sha256\").update(JSON.stringify(canonicalFields)).digest(\"hex\");\n}\n","import { createHash } from \"node:crypto\";\nimport { lstat } from \"node:fs/promises\";\n\nimport type { OfflineSyncExcludeFile } from \"../offline-sync-file-io.js\";\nimport { stripAttributesSuffix } from \"../structured-attributes.js\";\nimport type { MemoryFile } from \"../types.js\";\nimport {\n type SupportPassportCard,\n SupportPassportCardCategorySchema,\n SupportPassportCardSchema,\n SupportPassportCardStatusSchema,\n SupportPassportMemoryIdSchema,\n SupportPassportNamespaceSchema,\n SupportPassportSourceMemoryIdSchema,\n computeSupportPassportCardRevision,\n} from \"./contracts.js\";\n\nexport const SUPPORT_PASSPORT_CARD_TAG = \"support-passport-card\";\nexport const SUPPORT_PASSPORT_AUDIT_TAG = \"support-passport-audit\";\n\nexport function isSupportPassportPrivateMemory(memory: {\n frontmatter: {\n tags?: readonly string[];\n structuredAttributes?: Readonly<Record<string, string>>;\n };\n}): boolean {\n const tags = memory.frontmatter.tags;\n if (tags?.includes(SUPPORT_PASSPORT_CARD_TAG) === true || tags?.includes(SUPPORT_PASSPORT_AUDIT_TAG) === true) {\n return true;\n }\n return Object.keys(memory.frontmatter.structuredAttributes ?? {})\n .some((key) => key.startsWith(\"support-passport-\"));\n}\n\nexport function excludeSupportPassportPrivateMemories<T extends Pick<MemoryFile, \"frontmatter\">>(\n memories: readonly T[]\n): T[] {\n return memories.filter((memory) => !isSupportPassportPrivateMemory(memory));\n}\n\nexport function createSupportPassportPrivateFileExclusion(storage: {\n readMemoryByPath(filePath: string): Promise<MemoryFile | null>;\n}): OfflineSyncExcludeFile {\n const classifications = new Map<string, { identity: string; excluded: Promise<boolean> }>();\n return async ({ filePath }) => {\n let file: Awaited<ReturnType<typeof lstat>>;\n try {\n file = await lstat(filePath);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n classifications.delete(filePath);\n return false;\n }\n throw error;\n }\n const identity = `${file.dev}:${file.ino}:${file.size}:${file.mtimeMs}:${file.ctimeMs}`;\n const cached = classifications.get(filePath);\n if (cached?.identity === identity) return await cached.excluded;\n const excluded = storage\n .readMemoryByPath(filePath)\n .then((memory) => (memory ? isSupportPassportPrivateMemory(memory) : false));\n classifications.set(filePath, { identity, excluded });\n try {\n return await excluded;\n } catch (error) {\n if (classifications.get(filePath)?.excluded === excluded) classifications.delete(filePath);\n throw error;\n }\n };\n}\n\nexport const SUPPORT_PASSPORT_ATTRIBUTE_KEYS = Object.freeze({\n namespace: \"support-passport-namespace\",\n namespaceEncoding: \"support-passport-namespace-encoding\",\n owner: \"support-passport-owner\",\n title: \"support-passport-title\",\n category: \"support-passport-category\",\n order: \"support-passport-order\",\n reviewBy: \"support-passport-review-by\",\n sourceMemoryIds: \"support-passport-source-ids\",\n replacesDraftId: \"support-passport-replaces-draft-id\",\n replacedRevision: \"support-passport-replaced-revision\",\n draftReplacementPrepared: \"support-passport-draft-replacement-prepared\",\n replacementComplete: \"support-passport-replacement-complete\",\n generatedBatchId: \"support-passport-generated-batch-id\",\n generatedBatchSize: \"support-passport-generated-batch-size\",\n});\n\nconst SUPPORT_PASSPORT_NAMESPACE_ENCODING = \"base64url-v1\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX = \"support-passport-namespace-\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE = 1_024;\nconst LegacySupportPassportNamespaceSchema = SupportPassportNamespaceSchema.refine(\n (namespace) =>\n !namespace.includes(\"/\") &&\n !namespace.includes(\"\\\\\") &&\n !namespace.includes(\"..\") &&\n !namespace.includes(\"]\") &&\n !namespace.includes(\"\\0\") &&\n !namespace.includes(\"\\n\") &&\n !namespace.includes(\"\\r\")\n);\n\nexport function encodeSupportPassportNamespaceAttributes(namespace: string): Record<string, string> {\n const canonical = SupportPassportNamespaceSchema.parse(namespace);\n const encoded = Buffer.from(canonical, \"utf8\").toString(\"base64url\");\n const chunks = encoded.match(new RegExp(`.{1,${SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE}}`, \"g\")) ?? [];\n const digest = createHash(\"sha256\").update(encoded).digest(\"hex\");\n return Object.fromEntries([\n [SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace, chunks[0] ?? \"\"],\n [\n SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding,\n `${SUPPORT_PASSPORT_NAMESPACE_ENCODING}:${chunks.length}:${digest}`,\n ],\n ...chunks.slice(1).map((chunk, index) => [`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index + 1}`, chunk]),\n ]);\n}\n\nexport function decodeSupportPassportNamespaceAttributes(attributes: Readonly<Record<string, string>>): string | null {\n const firstChunk = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace];\n const encoding = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding];\n if (encoding === undefined) {\n const legacy = LegacySupportPassportNamespaceSchema.safeParse(firstChunk);\n return legacy.success ? legacy.data : null;\n }\n const match = /^base64url-v1:([1-9]\\d*):([a-f0-9]{64})$/.exec(encoding);\n if (!match || typeof firstChunk !== \"string\") return null;\n const chunkCount = Number(match[1]);\n if (!Number.isSafeInteger(chunkCount)) return null;\n const chunkIndexes = Object.keys(attributes).flatMap((key) => {\n const chunkMatch = /^support-passport-namespace-(\\d+)$/.exec(key);\n return chunkMatch ? [Number(chunkMatch[1])] : [];\n });\n if (\n chunkIndexes.length !== chunkCount - 1 ||\n chunkIndexes.some((index) => !Number.isSafeInteger(index) || index < 1 || index >= chunkCount)\n )\n return null;\n const chunks = [firstChunk];\n for (let index = 1; index < chunkCount; index += 1) {\n const chunk = attributes[`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index}`];\n if (typeof chunk !== \"string\" || chunk.length === 0) return null;\n chunks.push(chunk);\n }\n const encoded = chunks.join(\"\");\n if (createHash(\"sha256\").update(encoded).digest(\"hex\") !== match[2]) return null;\n const decoded = Buffer.from(encoded, \"base64url\").toString(\"utf8\");\n if (Buffer.from(decoded, \"utf8\").toString(\"base64url\") !== encoded) return null;\n const namespace = SupportPassportNamespaceSchema.safeParse(decoded);\n return namespace.success ? namespace.data : null;\n}\n\nexport interface StoredSupportPassportCard {\n card: SupportPassportCard;\n memory: MemoryFile;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nexport function computeSupportPassportOwnerKey(principal: string): string {\n return createHash(\"sha256\").update(principal).digest(\"hex\");\n}\n\nexport function activeSupportPassportReplacementPredecessorIds(\n cards: readonly StoredSupportPassportCard[],\n): Set<string> {\n return new Set(\n cards\n .filter((item) => item.card.status === \"active\")\n .map((item) => item.memory.frontmatter.supersedes)\n .filter((cardId): cardId is string => typeof cardId === \"string\"),\n );\n}\n\nfunction parseSourceMemoryIds(frontmatter: MemoryFile[\"frontmatter\"]): string[] | null {\n const lineage = frontmatter.lineage;\n const legacyValue = frontmatter.structuredAttributes?.[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.sourceMemoryIds];\n const rawIds = lineage ?? (legacyValue === undefined || legacyValue === \"\" ? [] : legacyValue.split(\",\"));\n if (rawIds.length > 5) return null;\n const normalized: string[] = [];\n for (const rawId of rawIds) {\n const parsed = SupportPassportSourceMemoryIdSchema.safeParse(rawId);\n if (!parsed.success) return null;\n normalized.push(parsed.data);\n }\n if (new Set(normalized).size !== normalized.length) return null;\n return normalized;\n}\n\ninterface SupportPassportCardMetadata {\n fields: Omit<SupportPassportCard, \"revision\" | \"statement\">;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nfunction parseSupportPassportCardMetadata(\n memory: Pick<MemoryFile, \"frontmatter\">,\n): SupportPassportCardMetadata | null {\n const frontmatter = memory.frontmatter;\n const attributes = frontmatter.structuredAttributes;\n if (frontmatter.category !== \"preference\") return null;\n if (!frontmatter.tags?.includes(SUPPORT_PASSPORT_CARD_TAG)) return null;\n if (\n !attributes ||\n frontmatter.blockedBy ||\n frontmatter.archivedAt ||\n frontmatter.supersededBy\n )\n return null;\n\n const category = SupportPassportCardCategorySchema.safeParse(\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.category],\n );\n const status = SupportPassportCardStatusSchema.safeParse(frontmatter.status);\n const rawOrder = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.order];\n const order = Number(rawOrder);\n const sourceMemoryIds = parseSourceMemoryIds(frontmatter);\n const namespace = decodeSupportPassportNamespaceAttributes(attributes);\n const owner = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.owner];\n let replacesDraftId: string | undefined;\n const rawReplacesDraftId =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacesDraftId];\n if (rawReplacesDraftId !== undefined) {\n const parsedReplacesDraftId =\n SupportPassportMemoryIdSchema.safeParse(rawReplacesDraftId);\n if (!parsedReplacesDraftId.success) return null;\n replacesDraftId = parsedReplacesDraftId.data;\n }\n let replacedRevision: string | undefined;\n const rawReplacedRevision =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacedRevision];\n if (rawReplacedRevision !== undefined) {\n if (!/^[a-f0-9]{64}$/.test(rawReplacedRevision)) return null;\n replacedRevision = rawReplacedRevision;\n }\n const generatedBatchId = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchId];\n const rawGeneratedBatchSize = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchSize];\n let generatedBatchSize: number | undefined;\n if (generatedBatchId !== undefined) {\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(generatedBatchId)) {\n return null;\n }\n if (\n typeof rawGeneratedBatchSize !== \"string\" ||\n !/^[1-8]$/.test(rawGeneratedBatchSize)\n ) {\n return null;\n }\n generatedBatchSize = Number(rawGeneratedBatchSize);\n } else if (rawGeneratedBatchSize !== undefined) {\n return null;\n }\n if (\n !category.success ||\n !status.success ||\n status.data === \"superseded\" ||\n typeof rawOrder !== \"string\" ||\n !/^(?:0|[1-9]\\d*)$/.test(rawOrder) ||\n !Number.isSafeInteger(order) ||\n namespace === null ||\n typeof owner !== \"string\" ||\n !/^[a-f0-9]{64}$/.test(owner) ||\n !sourceMemoryIds\n )\n return null;\n const fields = SupportPassportCardSchema.omit({\n revision: true,\n statement: true,\n }).safeParse({\n cardId: frontmatter.id,\n title: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.title],\n category: category.data,\n status: status.data,\n updatedAt: frontmatter.updated,\n reviewBy: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.reviewBy],\n });\n if (!fields.success) return null;\n return {\n fields: fields.data,\n order,\n sourceMemoryIds,\n namespace,\n owner,\n replacesDraftId,\n replacedRevision,\n draftReplacementPrepared:\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.draftReplacementPrepared] ===\n \"true\",\n generatedBatchId,\n generatedBatchSize,\n };\n}\n\nexport function hasLiveSupportPassportCard(memory: Pick<MemoryFile, \"frontmatter\" | \"content\">): boolean {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (metadata?.fields.status !== \"active\" && metadata?.fields.status !== \"pending_review\") return false;\n return SupportPassportCardSchema.omit({ revision: true }).safeParse({\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n }).success;\n}\n\nexport function projectSupportPassportCard(\n memory: MemoryFile,\n): StoredSupportPassportCard | null {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (!metadata) return null;\n\n const fields = {\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n };\n const normalized = SupportPassportCardSchema.omit({\n revision: true,\n }).safeParse(fields);\n if (!normalized.success) return null;\n const parsed = SupportPassportCardSchema.safeParse({\n ...normalized.data,\n revision: computeSupportPassportCardRevision(normalized.data),\n });\n if (!parsed.success) return null;\n return {\n card: parsed.data,\n memory,\n order: metadata.order,\n sourceMemoryIds: metadata.sourceMemoryIds,\n namespace: metadata.namespace,\n owner: metadata.owner,\n replacesDraftId: metadata.replacesDraftId,\n replacedRevision: metadata.replacedRevision,\n draftReplacementPrepared: metadata.draftReplacementPrepared,\n generatedBatchId: metadata.generatedBatchId,\n generatedBatchSize: metadata.generatedBatchSize,\n };\n}\n"],"mappings":"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","names":["createHash","createHash"]}
1
+ {"version":3,"sources":["../src/support-passport/contracts.ts","../src/support-passport/card-projection.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { z } from \"zod\";\n\nimport { normalizeNamespaceIdentity } from \"../namespaces/identity.js\";\nimport { parseIsoOffsetTimestamp } from \"../utils/iso-timestamp.js\";\n\nexport const SUPPORT_PASSPORT_CARD_CATEGORIES = [\n \"communication\",\n \"environment\",\n \"transitions\",\n \"sensory\",\n \"regulation\",\n \"interests\",\n \"other\",\n] as const;\n\nexport const SUPPORT_PASSPORT_CARD_STATUSES = [\n \"pending_review\",\n \"active\",\n \"rejected\",\n \"superseded\",\n \"archived\",\n] as const;\n\nexport const SupportPassportCardCategorySchema = z.enum(SUPPORT_PASSPORT_CARD_CATEGORIES);\nexport const SupportPassportCardStatusSchema = z.enum(SUPPORT_PASSPORT_CARD_STATUSES);\nexport const SupportPassportCardTitleSchema = z\n .string()\n .trim()\n .min(1)\n .max(80)\n .refine((title) => !title.includes(\"]\") && !title.includes(\"\\n\") && !title.includes(\"\\r\"), {\n message: \"card titles cannot contain closing brackets or line breaks\",\n });\n\nconst IsoTimestampSchema = z\n .string()\n .datetime({ offset: true })\n .refine((value) => parseIsoOffsetTimestamp(value) !== null, {\n message: \"timestamps must be valid ISO 8601 values\",\n });\nexport const SupportPassportNamespaceSchema = z\n .string()\n .min(1)\n .refine((namespace) => namespace === normalizeNamespaceIdentity(namespace), {\n message: \"namespaces must be canonical\",\n });\nexport const SupportPassportMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9._:-]+$/);\nexport const SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH = 512;\nexport const SupportPassportSourceMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH);\n\nexport const SupportPassportCardSchema = z\n .object({\n cardId: SupportPassportMemoryIdSchema,\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n status: SupportPassportCardStatusSchema,\n updatedAt: IsoTimestampSchema,\n reviewBy: IsoTimestampSchema,\n revision: z.string().regex(/^[a-f0-9]{64}$/),\n })\n .strict();\n\nexport const SupportPassportCardListSchema = z\n .array(SupportPassportCardSchema)\n .max(100)\n .superRefine((cards, ctx) => {\n const seen = new Set<string>();\n for (const [index, card] of cards.entries()) {\n if (seen.has(card.cardId)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"card IDs must be unique\",\n path: [index, \"cardId\"],\n });\n }\n seen.add(card.cardId);\n }\n });\n\nexport const SupportPassportListCardsInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n })\n .strict();\n\nexport const SupportPassportManualDraftInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n })\n .strict();\n\nexport const SupportPassportCardMutationInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n cardId: SupportPassportMemoryIdSchema,\n expectedRevision: z.string().regex(/^[a-f0-9]{64}$/),\n reasonCode: z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9-]+$/)\n .optional(),\n })\n .strict();\n\nexport const SupportPassportReplaceCardInputSchema = SupportPassportCardMutationInputSchema.extend({\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n}).strict();\n\nexport type SupportPassportCard = z.infer<typeof SupportPassportCardSchema>;\nexport type SupportPassportCardCategory = z.infer<typeof SupportPassportCardCategorySchema>;\nexport type SupportPassportCardStatus = z.infer<typeof SupportPassportCardStatusSchema>;\nexport type SupportPassportManualDraftInput = z.input<typeof SupportPassportManualDraftInputSchema>;\nexport type SupportPassportCardMutationInput = z.input<typeof SupportPassportCardMutationInputSchema>;\nexport type SupportPassportReplaceCardInput = z.input<typeof SupportPassportReplaceCardInputSchema>;\n\ntype RevisionFields = Omit<SupportPassportCard, \"revision\">;\n\nexport function computeSupportPassportCardRevision(fields: RevisionFields): string {\n const canonicalFields = {\n cardId: fields.cardId,\n category: fields.category,\n reviewBy: fields.reviewBy,\n statement: fields.statement,\n status: fields.status,\n title: fields.title,\n updatedAt: fields.updatedAt,\n };\n return createHash(\"sha256\").update(JSON.stringify(canonicalFields)).digest(\"hex\");\n}\n","import { createHash } from \"node:crypto\";\nimport { lstat } from \"node:fs/promises\";\n\nimport type { OfflineSyncExcludeFile } from \"../offline-sync-file-io.js\";\nimport { stripAttributesSuffix } from \"../structured-attributes.js\";\nimport type { MemoryFile } from \"../types.js\";\nimport {\n type SupportPassportCard,\n SupportPassportCardCategorySchema,\n SupportPassportCardSchema,\n SupportPassportCardStatusSchema,\n SupportPassportMemoryIdSchema,\n SupportPassportNamespaceSchema,\n SupportPassportSourceMemoryIdSchema,\n computeSupportPassportCardRevision,\n} from \"./contracts.js\";\n\nexport const SUPPORT_PASSPORT_CARD_TAG = \"support-passport-card\";\nexport const SUPPORT_PASSPORT_AUDIT_TAG = \"support-passport-audit\";\n\nexport function isSupportPassportPrivateMemory(memory: {\n frontmatter: {\n tags?: readonly string[];\n structuredAttributes?: Readonly<Record<string, string>>;\n };\n}): boolean {\n const tags = memory.frontmatter.tags;\n if (tags?.includes(SUPPORT_PASSPORT_CARD_TAG) === true || tags?.includes(SUPPORT_PASSPORT_AUDIT_TAG) === true) {\n return true;\n }\n return Object.keys(memory.frontmatter.structuredAttributes ?? {})\n .some((key) => key.startsWith(\"support-passport-\"));\n}\n\nexport function excludeSupportPassportPrivateMemories<T extends Pick<MemoryFile, \"frontmatter\">>(\n memories: readonly T[]\n): T[] {\n return memories.filter((memory) => !isSupportPassportPrivateMemory(memory));\n}\n\nexport function createSupportPassportPrivateFileExclusion(storage: {\n readMemoryByPath(filePath: string): Promise<MemoryFile | null>;\n}): OfflineSyncExcludeFile {\n const classifications = new Map<string, { identity: string; excluded: Promise<boolean> }>();\n return async ({ filePath }) => {\n let file: Awaited<ReturnType<typeof lstat>>;\n try {\n file = await lstat(filePath);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n classifications.delete(filePath);\n return false;\n }\n throw error;\n }\n const identity = `${file.dev}:${file.ino}:${file.size}:${file.mtimeMs}:${file.ctimeMs}`;\n const cached = classifications.get(filePath);\n if (cached?.identity === identity) return await cached.excluded;\n const excluded = storage\n .readMemoryByPath(filePath)\n .then((memory) => (memory ? isSupportPassportPrivateMemory(memory) : false));\n classifications.set(filePath, { identity, excluded });\n try {\n return await excluded;\n } catch (error) {\n if (classifications.get(filePath)?.excluded === excluded) classifications.delete(filePath);\n throw error;\n }\n };\n}\n\nexport const SUPPORT_PASSPORT_ATTRIBUTE_KEYS = Object.freeze({\n namespace: \"support-passport-namespace\",\n namespaceEncoding: \"support-passport-namespace-encoding\",\n owner: \"support-passport-owner\",\n title: \"support-passport-title\",\n category: \"support-passport-category\",\n order: \"support-passport-order\",\n reviewBy: \"support-passport-review-by\",\n sourceMemoryIds: \"support-passport-source-ids\",\n replacesDraftId: \"support-passport-replaces-draft-id\",\n replacedRevision: \"support-passport-replaced-revision\",\n draftReplacementPrepared: \"support-passport-draft-replacement-prepared\",\n replacementComplete: \"support-passport-replacement-complete\",\n generatedBatchId: \"support-passport-generated-batch-id\",\n generatedBatchSize: \"support-passport-generated-batch-size\",\n});\n\nconst SUPPORT_PASSPORT_NAMESPACE_ENCODING = \"base64url-v1\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX = \"support-passport-namespace-\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE = 1_024;\nconst LegacySupportPassportNamespaceSchema = SupportPassportNamespaceSchema.refine(\n (namespace) =>\n !namespace.includes(\"/\") &&\n !namespace.includes(\"\\\\\") &&\n !namespace.includes(\"..\") &&\n !namespace.includes(\"]\") &&\n !namespace.includes(\"\\0\") &&\n !namespace.includes(\"\\n\") &&\n !namespace.includes(\"\\r\")\n);\n\nexport function encodeSupportPassportNamespaceAttributes(namespace: string): Record<string, string> {\n const canonical = SupportPassportNamespaceSchema.parse(namespace);\n const encoded = Buffer.from(canonical, \"utf8\").toString(\"base64url\");\n const chunks = encoded.match(new RegExp(`.{1,${SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE}}`, \"g\")) ?? [];\n const digest = createHash(\"sha256\").update(encoded).digest(\"hex\");\n return Object.fromEntries([\n [SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace, chunks[0] ?? \"\"],\n [\n SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding,\n `${SUPPORT_PASSPORT_NAMESPACE_ENCODING}:${chunks.length}:${digest}`,\n ],\n ...chunks.slice(1).map((chunk, index) => [`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index + 1}`, chunk]),\n ]);\n}\n\nexport function decodeSupportPassportNamespaceAttributes(attributes: Readonly<Record<string, string>>): string | null {\n const firstChunk = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace];\n const encoding = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding];\n if (encoding === undefined) {\n const legacy = LegacySupportPassportNamespaceSchema.safeParse(firstChunk);\n return legacy.success ? legacy.data : null;\n }\n const match = /^base64url-v1:([1-9]\\d*):([a-f0-9]{64})$/.exec(encoding);\n if (!match || typeof firstChunk !== \"string\") return null;\n const chunkCount = Number(match[1]);\n if (!Number.isSafeInteger(chunkCount)) return null;\n const chunkIndexes = Object.keys(attributes).flatMap((key) => {\n const chunkMatch = /^support-passport-namespace-(\\d+)$/.exec(key);\n return chunkMatch ? [Number(chunkMatch[1])] : [];\n });\n if (\n chunkIndexes.length !== chunkCount - 1 ||\n chunkIndexes.some((index) => !Number.isSafeInteger(index) || index < 1 || index >= chunkCount)\n )\n return null;\n const chunks = [firstChunk];\n for (let index = 1; index < chunkCount; index += 1) {\n const chunk = attributes[`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index}`];\n if (typeof chunk !== \"string\" || chunk.length === 0) return null;\n chunks.push(chunk);\n }\n const encoded = chunks.join(\"\");\n if (createHash(\"sha256\").update(encoded).digest(\"hex\") !== match[2]) return null;\n const decoded = Buffer.from(encoded, \"base64url\").toString(\"utf8\");\n if (Buffer.from(decoded, \"utf8\").toString(\"base64url\") !== encoded) return null;\n const namespace = SupportPassportNamespaceSchema.safeParse(decoded);\n return namespace.success ? namespace.data : null;\n}\n\nexport interface StoredSupportPassportCard {\n card: SupportPassportCard;\n memory: MemoryFile;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nexport function computeSupportPassportOwnerKey(principal: string): string {\n return createHash(\"sha256\").update(principal).digest(\"hex\");\n}\n\nexport function activeSupportPassportReplacementPredecessorIds(\n cards: readonly StoredSupportPassportCard[],\n): Set<string> {\n return new Set(\n cards\n .filter((item) => item.card.status === \"active\")\n .map((item) => item.memory.frontmatter.supersedes)\n .filter((cardId): cardId is string => typeof cardId === \"string\"),\n );\n}\n\nfunction parseSourceMemoryIds(frontmatter: MemoryFile[\"frontmatter\"]): string[] | null {\n const lineage = frontmatter.lineage;\n const legacyValue = frontmatter.structuredAttributes?.[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.sourceMemoryIds];\n const rawIds = lineage ?? (legacyValue === undefined || legacyValue === \"\" ? [] : legacyValue.split(\",\"));\n if (rawIds.length > 5) return null;\n const normalized: string[] = [];\n for (const rawId of rawIds) {\n const parsed = SupportPassportSourceMemoryIdSchema.safeParse(rawId);\n if (!parsed.success) return null;\n normalized.push(parsed.data);\n }\n if (new Set(normalized).size !== normalized.length) return null;\n return normalized;\n}\n\ninterface SupportPassportCardMetadata {\n fields: Omit<SupportPassportCard, \"revision\" | \"statement\">;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nfunction parseSupportPassportCardMetadata(\n memory: Pick<MemoryFile, \"frontmatter\">,\n): SupportPassportCardMetadata | null {\n const frontmatter = memory.frontmatter;\n const attributes = frontmatter.structuredAttributes;\n if (frontmatter.category !== \"preference\") return null;\n if (!frontmatter.tags?.includes(SUPPORT_PASSPORT_CARD_TAG)) return null;\n if (\n !attributes ||\n frontmatter.blockedBy ||\n frontmatter.archivedAt ||\n frontmatter.supersededBy\n )\n return null;\n\n const category = SupportPassportCardCategorySchema.safeParse(\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.category],\n );\n const status = SupportPassportCardStatusSchema.safeParse(frontmatter.status);\n const rawOrder = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.order];\n const order = Number(rawOrder);\n const sourceMemoryIds = parseSourceMemoryIds(frontmatter);\n const namespace = decodeSupportPassportNamespaceAttributes(attributes);\n const owner = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.owner];\n let replacesDraftId: string | undefined;\n const rawReplacesDraftId =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacesDraftId];\n if (rawReplacesDraftId !== undefined) {\n const parsedReplacesDraftId =\n SupportPassportMemoryIdSchema.safeParse(rawReplacesDraftId);\n if (!parsedReplacesDraftId.success) return null;\n replacesDraftId = parsedReplacesDraftId.data;\n }\n let replacedRevision: string | undefined;\n const rawReplacedRevision =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacedRevision];\n if (rawReplacedRevision !== undefined) {\n if (!/^[a-f0-9]{64}$/.test(rawReplacedRevision)) return null;\n replacedRevision = rawReplacedRevision;\n }\n const generatedBatchId = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchId];\n const rawGeneratedBatchSize = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchSize];\n let generatedBatchSize: number | undefined;\n if (generatedBatchId !== undefined) {\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(generatedBatchId)) {\n return null;\n }\n if (\n typeof rawGeneratedBatchSize !== \"string\" ||\n !/^[1-8]$/.test(rawGeneratedBatchSize)\n ) {\n return null;\n }\n generatedBatchSize = Number(rawGeneratedBatchSize);\n } else if (rawGeneratedBatchSize !== undefined) {\n return null;\n }\n if (\n !category.success ||\n !status.success ||\n status.data === \"superseded\" ||\n typeof rawOrder !== \"string\" ||\n !/^(?:0|[1-9]\\d*)$/.test(rawOrder) ||\n !Number.isSafeInteger(order) ||\n namespace === null ||\n typeof owner !== \"string\" ||\n !/^[a-f0-9]{64}$/.test(owner) ||\n !sourceMemoryIds\n )\n return null;\n const fields = SupportPassportCardSchema.omit({\n revision: true,\n statement: true,\n }).safeParse({\n cardId: frontmatter.id,\n title: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.title],\n category: category.data,\n status: status.data,\n updatedAt: frontmatter.updated,\n reviewBy: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.reviewBy],\n });\n if (!fields.success) return null;\n return {\n fields: fields.data,\n order,\n sourceMemoryIds,\n namespace,\n owner,\n replacesDraftId,\n replacedRevision,\n draftReplacementPrepared:\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.draftReplacementPrepared] ===\n \"true\",\n generatedBatchId,\n generatedBatchSize,\n };\n}\n\nexport function hasLiveSupportPassportCard(memory: Pick<MemoryFile, \"frontmatter\" | \"content\">): boolean {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (metadata?.fields.status !== \"active\" && metadata?.fields.status !== \"pending_review\") return false;\n if (metadata.sourceMemoryIds.length === 0) return false;\n return SupportPassportCardSchema.omit({ revision: true }).safeParse({\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n }).success;\n}\n\nexport function projectSupportPassportCard(\n memory: MemoryFile,\n): StoredSupportPassportCard | null {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (!metadata) return null;\n\n const fields = {\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n };\n const normalized = SupportPassportCardSchema.omit({\n revision: true,\n }).safeParse(fields);\n if (!normalized.success) return null;\n const parsed = SupportPassportCardSchema.safeParse({\n ...normalized.data,\n revision: computeSupportPassportCardRevision(normalized.data),\n });\n if (!parsed.success) return null;\n return {\n card: parsed.data,\n memory,\n order: metadata.order,\n sourceMemoryIds: metadata.sourceMemoryIds,\n namespace: metadata.namespace,\n owner: metadata.owner,\n replacesDraftId: metadata.replacesDraftId,\n replacedRevision: metadata.replacedRevision,\n draftReplacementPrepared: metadata.draftReplacementPrepared,\n generatedBatchId: metadata.generatedBatchId,\n generatedBatchSize: metadata.generatedBatchSize,\n };\n}\n"],"mappings":"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","names":["createHash","createHash"]}
@@ -1,21 +1,21 @@
1
+ import {
2
+ decideLifecycleTransition
3
+ } from "./chunk-TBBDFYXW.js";
1
4
  import {
2
5
  StorageManager
3
- } from "./chunk-BJTHRFFC.js";
6
+ } from "./chunk-GEJKYA7D.js";
4
7
  import {
5
8
  bumpMemoryCorpusVersionForDir
6
9
  } from "./chunk-XCB6QDL6.js";
7
10
  import {
8
11
  requestEntityCanonicalIdReconcile
9
- } from "./chunk-ZVPVTPGI.js";
10
- import {
11
- decideLifecycleTransition
12
- } from "./chunk-TBBDFYXW.js";
12
+ } from "./chunk-NNZFPYYX.js";
13
13
  import {
14
14
  assertPathInsideRoot
15
15
  } from "./chunk-GCASGYIO.js";
16
16
  import {
17
17
  excludeSupportPassportPrivateMemories
18
- } from "./chunk-XDL5CYZN.js";
18
+ } from "./chunk-EEOUMG3J.js";
19
19
  import {
20
20
  RECALL_FALLBACK_DIRS
21
21
  } from "./chunk-VS2IYZRU.js";
@@ -765,4 +765,4 @@ export {
765
765
  listMemoryGovernanceRuns,
766
766
  readMemoryGovernanceRunArtifact
767
767
  };
768
- //# sourceMappingURL=chunk-SVVIASVX.js.map
768
+ //# sourceMappingURL=chunk-EFQCDJZ2.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  expandScopeProfileReadNamespaces,
3
3
  resolveScopeProfilePlan
4
- } from "./chunk-KCT36JAW.js";
4
+ } from "./chunk-ESNFSSO4.js";
5
5
  import {
6
6
  canReadNamespace,
7
7
  canWriteNamespace,
@@ -22,7 +22,7 @@ import {
22
22
  combineNamespaces,
23
23
  lcmReadSessionIdsForNamespaces,
24
24
  resolveCodingNamespaceOverlay
25
- } from "./chunk-J2WC5LF4.js";
25
+ } from "./chunk-QBC33MPY.js";
26
26
 
27
27
  // src/scopes/scope-plan.ts
28
28
  import path from "path";
@@ -204,4 +204,4 @@ export {
204
204
  resolveWritableNamespaceValue,
205
205
  resolveScopedWritableNamespaceValue
206
206
  };
207
- //# sourceMappingURL=chunk-Q57GOHLF.js.map
207
+ //# sourceMappingURL=chunk-EGALNSZ4.js.map
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  combineNamespaces,
17
17
  stableHash
18
- } from "./chunk-J2WC5LF4.js";
18
+ } from "./chunk-QBC33MPY.js";
19
19
 
20
20
  // src/namespaces/scope-profiles.ts
21
21
  import { createHash } from "crypto";
@@ -338,4 +338,4 @@ export {
338
338
  resolveScopeProfilePlan,
339
339
  expandScopeProfileReadNamespaces
340
340
  };
341
- //# sourceMappingURL=chunk-KCT36JAW.js.map
341
+ //# sourceMappingURL=chunk-ESNFSSO4.js.map
@@ -10,12 +10,12 @@ import {
10
10
  parseEnvelope,
11
11
  seal
12
12
  } from "./chunk-A6XUJE5D.js";
13
- import {
14
- isErrnoCode
15
- } from "./chunk-5UZXUTVO.js";
16
13
  import {
17
14
  RECALL_FALLBACK_DIRS
18
15
  } from "./chunk-VS2IYZRU.js";
16
+ import {
17
+ isErrnoCode
18
+ } from "./chunk-5UZXUTVO.js";
19
19
 
20
20
  // src/secure-store/secure-fs.ts
21
21
  import { createCipheriv, createDecipheriv, randomBytes, randomUUID } from "crypto";
@@ -550,4 +550,4 @@ export {
550
550
  migrateMemoryDirToEncrypted,
551
551
  decryptMemoryDirToPlaintext
552
552
  };
553
- //# sourceMappingURL=chunk-XQ3HXAQH.js.map
553
+ //# sourceMappingURL=chunk-ET2CNMLD.js.map
@@ -1,7 +1,3 @@
1
- import {
2
- buildOriginStructuredSections,
3
- sanitizeOriginatedFacts
4
- } from "./chunk-GKUA4MGB.js";
5
1
  import {
6
2
  checkEntityRecallAbort,
7
3
  entityRecallSectionAbsent,
@@ -15,6 +11,10 @@ import {
15
11
  detectEntityQueryMode,
16
12
  isStructuralEntityFollowUpQuery
17
13
  } from "./chunk-MKYRCCSN.js";
14
+ import {
15
+ buildOriginStructuredSections,
16
+ sanitizeOriginatedFacts
17
+ } from "./chunk-GKUA4MGB.js";
18
18
  import {
19
19
  collectNativeKnowledgeChunks
20
20
  } from "./chunk-2DQ2XREU.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-7ZNJN5WZ.js";
24
24
  import {
25
25
  compareEntityTimestamps
26
- } from "./chunk-BJTHRFFC.js";
26
+ } from "./chunk-GEJKYA7D.js";
27
27
  import {
28
28
  normalizeEntityName
29
29
  } from "./chunk-YXZG5TVN.js";
@@ -918,4 +918,4 @@ export {
918
918
  entityIndexVersion,
919
919
  entityRecentTranscriptLookbackHours
920
920
  };
921
- //# sourceMappingURL=chunk-Z4U3UN56.js.map
921
+ //# sourceMappingURL=chunk-EZSCW4EM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-BJTHRFFC.js";
3
+ } from "./chunk-GEJKYA7D.js";
4
4
  import {
5
5
  normalizeEntityName
6
6
  } from "./chunk-YXZG5TVN.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-UBCBDJOB.js";
13
13
  import {
14
14
  excludeSupportPassportPrivateMemories
15
- } from "./chunk-XDL5CYZN.js";
15
+ } from "./chunk-EEOUMG3J.js";
16
16
  import {
17
17
  serializeMutations
18
18
  } from "./chunk-FFAZ2XFU.js";
@@ -957,4 +957,4 @@ export {
957
957
  resolveBriefingSaveDir,
958
958
  briefingFilename
959
959
  };
960
- //# sourceMappingURL=chunk-F6QHHRWP.js.map
960
+ //# sourceMappingURL=chunk-FESUGFIL.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-RQE4TITU.js";
4
+ } from "./chunk-IHGMRDEE.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
- } from "./chunk-XDL5CYZN.js";
7
+ } from "./chunk-EEOUMG3J.js";
8
8
 
9
9
  // src/support-passport/model-bridge.ts
10
10
  import { randomUUID } from "crypto";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-S3K2CIK5.js.map
346
+ //# sourceMappingURL=chunk-FKKGCGYL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runLocationSync
3
- } from "./chunk-3BCULS4U.js";
3
+ } from "./chunk-VQNRICAQ.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -58,4 +58,4 @@ export {
58
58
  LOCATION_SYNC_DEFAULT_INTERVAL_MS,
59
59
  startLocationAutoSync
60
60
  };
61
- //# sourceMappingURL=chunk-BWGCOLEL.js.map
61
+ //# sourceMappingURL=chunk-FTTJRVB7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-RGCF4XNH.js";
3
+ } from "./chunk-HNPE66LB.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -470,4 +470,4 @@ export {
470
470
  NamespaceSearchRouter,
471
471
  normalizeQmdResultPath
472
472
  };
473
- //# sourceMappingURL=chunk-JAQXUGLN.js.map
473
+ //# sourceMappingURL=chunk-FYWLSFFS.js.map
@@ -14,28 +14,28 @@ import {
14
14
  applyTombstoneResurrectionGate,
15
15
  buildRetiredFactTombstoneInputs,
16
16
  collectRetiredMemoriesForRebuild
17
- } from "./chunk-46WM6JX2.js";
17
+ } from "./chunk-4ZWCQJNM.js";
18
18
  import {
19
19
  normalizeQmdResultPath
20
- } from "./chunk-JAQXUGLN.js";
20
+ } from "./chunk-FYWLSFFS.js";
21
21
  import {
22
22
  withholdToolScopedFromSharedNamespace
23
23
  } from "./chunk-S2V7RUCL.js";
24
24
  import {
25
25
  SPECULATIVE_TTL_DAYS,
26
26
  confidenceTier
27
- } from "./chunk-LBFFNDFM.js";
27
+ } from "./chunk-MINHJ55X.js";
28
+ import {
29
+ normalizeProjectionPreview,
30
+ normalizeProjectionTags
31
+ } from "./chunk-SCU65EZI.js";
28
32
  import {
29
33
  rewriteProjectedEntityReferences,
30
34
  rewriteProjectedMemoryEntityReference
31
- } from "./chunk-PO7NXBG2.js";
35
+ } from "./chunk-2GF27PGH.js";
32
36
  import {
33
37
  createMemorySnapshot
34
38
  } from "./chunk-S2HLHAZ4.js";
35
- import {
36
- normalizeProjectionPreview,
37
- normalizeProjectionTags
38
- } from "./chunk-SCU65EZI.js";
39
39
  import {
40
40
  rotateMarkdownFileToArchive
41
41
  } from "./chunk-DM2T26WE.js";
@@ -51,7 +51,7 @@ import {
51
51
  import {
52
52
  parseFaithfulnessField,
53
53
  serializeFaithfulnessFields
54
- } from "./chunk-UG6VXIOK.js";
54
+ } from "./chunk-XSTNGNJP.js";
55
55
  import {
56
56
  DeletionRevisionStore,
57
57
  TombstoneBlockedCaptureIndexHost,
@@ -61,12 +61,7 @@ import {
61
61
  isQueuedReviewMemory,
62
62
  parseTombstoneBlockedOfflineSyncMemory,
63
63
  tombstoneBlocked
64
- } from "./chunk-W4BMEGQA.js";
65
- import {
66
- composeMemoryEnvelope,
67
- isSealedMemoryEnvelope,
68
- sealedWriteToLegacyArgs
69
- } from "./chunk-RAIUTAZZ.js";
64
+ } from "./chunk-LUDBXTBJ.js";
70
65
  import {
71
66
  normalizeEntityName
72
67
  } from "./chunk-YXZG5TVN.js";
@@ -76,9 +71,13 @@ import {
76
71
  import {
77
72
  detectLanguageHint
78
73
  } from "./chunk-3WU7XOFN.js";
74
+ import {
75
+ isConsolidationOperator,
76
+ isValidDerivedFromEntry
77
+ } from "./chunk-G7D6GZ5J.js";
79
78
  import {
80
79
  createVersion
81
- } from "./chunk-UFKPQBXH.js";
80
+ } from "./chunk-U62OK7BB.js";
82
81
  import {
83
82
  attachInFlightReader,
84
83
  beginCoalescedScan,
@@ -100,16 +99,17 @@ import {
100
99
  requestEntityCanonicalIdReconcileSync,
101
100
  resolveHistoricalEntityCanonicalId,
102
101
  withEntityCanonicalMutationLock
103
- } from "./chunk-ZVPVTPGI.js";
102
+ } from "./chunk-NNZFPYYX.js";
104
103
  import {
105
104
  computeSupersessionKey,
106
105
  normalizeSupersessionKey,
107
106
  supersessionKeysForFact
108
107
  } from "./chunk-5WITETWU.js";
109
108
  import {
110
- isConsolidationOperator,
111
- isValidDerivedFromEntry
112
- } from "./chunk-G7D6GZ5J.js";
109
+ composeMemoryEnvelope,
110
+ isSealedMemoryEnvelope,
111
+ sealedWriteToLegacyArgs
112
+ } from "./chunk-WKAXBXVA.js";
113
113
  import {
114
114
  clearMemoryCache,
115
115
  getCachedEntities,
@@ -160,19 +160,16 @@ import {
160
160
  readAllLifecycleEventsFromLedger,
161
161
  readAllLifecycleEventsFromLedgerBuffer,
162
162
  readBoundedLifecycleEventsFromLedger,
163
+ readContextTransformRecordRowsFromLines,
163
164
  readMaybeEncryptedLines,
164
165
  readMemoryActionEventRowsFromLines,
165
166
  readProjectionRebuiltAt,
166
167
  serializeLifecycleAppendPayload
167
- } from "./chunk-DVYRD4HY.js";
168
+ } from "./chunk-JRRQ747T.js";
168
169
  import {
169
170
  assertMemoryFrontmatterId,
170
171
  warnProjectionFallback
171
172
  } from "./chunk-ZA53AZND.js";
172
- import {
173
- assertPathInsideRoot,
174
- pathIsInside
175
- } from "./chunk-GCASGYIO.js";
176
173
  import {
177
174
  inferMemoryStatus,
178
175
  isArchivedMemoryPath,
@@ -185,21 +182,25 @@ import {
185
182
  readProjectedMemoryState,
186
183
  readProjectedMemoryTimeline,
187
184
  updateProjectedMemoryPath
188
- } from "./chunk-2LWQSV6A.js";
185
+ } from "./chunk-AL3UYZ5N.js";
186
+ import {
187
+ assertPathInsideRoot,
188
+ pathIsInside
189
+ } from "./chunk-GCASGYIO.js";
189
190
  import {
190
191
  isSupportPassportPrivateMemory
191
- } from "./chunk-XDL5CYZN.js";
192
+ } from "./chunk-EEOUMG3J.js";
192
193
  import {
193
194
  CONTENT_HASH_INDEX_RETRY_MAX_DELAY_MS,
194
195
  ContentHashIndex,
195
196
  FactHashIndexNotAuthoritativeError
196
- } from "./chunk-JOEJG4SD.js";
197
- import {
198
- computeLegacyContentHash
199
- } from "./chunk-5FVVY2EB.js";
197
+ } from "./chunk-TVW4C7PV.js";
200
198
  import {
201
199
  withHeldFileLock
202
200
  } from "./chunk-FFAZ2XFU.js";
201
+ import {
202
+ computeLegacyContentHash
203
+ } from "./chunk-5FVVY2EB.js";
203
204
  import {
204
205
  assemblePersistedBody,
205
206
  storedContentIdentityCandidates,
@@ -233,16 +234,16 @@ import {
233
234
  readMaybeEncryptedFile,
234
235
  readMaybeEncryptedFileBuffer,
235
236
  writeMaybeEncryptedFile
236
- } from "./chunk-XQ3HXAQH.js";
237
- import {
238
- isErrnoCode
239
- } from "./chunk-5UZXUTVO.js";
237
+ } from "./chunk-ET2CNMLD.js";
240
238
  import {
241
239
  ALL_CATEGORY_DIRS,
242
240
  RECALL_FALLBACK_DIRS,
243
241
  categoryDirName,
244
242
  getCategoryDir
245
243
  } from "./chunk-VS2IYZRU.js";
244
+ import {
245
+ isErrnoCode
246
+ } from "./chunk-5UZXUTVO.js";
246
247
  import {
247
248
  log
248
249
  } from "./chunk-3WCASNQZ.js";
@@ -1701,7 +1702,11 @@ function okfTypeForEntityKind(kind) {
1701
1702
  const normalized = kind?.trim().toLowerCase();
1702
1703
  return normalized !== void 0 && OKF_TYPE_BY_ENTITY_KIND[normalized] || "Entity";
1703
1704
  }
1705
+ var OKF_PROFILE_TYPE = "Profile";
1704
1706
  var OKF_QUESTION_TYPE = "Question";
1707
+ var OKF_DECISION_RECORD_TYPE = "Decision Record";
1708
+ var OKF_ARCHITECTURE_CARD_TYPE = "Architecture Card";
1709
+ var OKF_CODE_MODULE_TYPE = "Code Module";
1705
1710
  var OKF_RESERVED_BASENAMES = Object.freeze({
1706
1711
  "index.md": true,
1707
1712
  "log.md": true
@@ -1715,6 +1720,31 @@ function assertNotOkfReservedBasename(filePath) {
1715
1720
  }
1716
1721
  }
1717
1722
 
1723
+ // src/storage/context-transform-ledger.ts
1724
+ async function appendContextTransformRecords(host, records) {
1725
+ if (records.length === 0) return 0;
1726
+ await host.ensureDirectories();
1727
+ await host.appendStorageSecureFile(
1728
+ host.memoryActionsPath,
1729
+ records.map((record) => `${JSON.stringify(record)}
1730
+ `).join("")
1731
+ );
1732
+ return records.length;
1733
+ }
1734
+ async function readContextTransformRecords(host, limit = 200) {
1735
+ const cappedLimit = Math.max(0, Math.floor(limit));
1736
+ if (cappedLimit === 0 || Number.isNaN(cappedLimit)) return [];
1737
+ try {
1738
+ const rows = await readContextTransformRecordRowsFromLines(
1739
+ readMaybeEncryptedLines(host.memoryActionsPath, () => host.readStorageSecureFile(host.memoryActionsPath)),
1740
+ cappedLimit
1741
+ );
1742
+ return rows.map((row) => row.record);
1743
+ } catch {
1744
+ return [];
1745
+ }
1746
+ }
1747
+
1718
1748
  // src/orchestration/self-deps.ts
1719
1749
  function selfDeps(self) {
1720
1750
  const source = self;
@@ -9984,6 +10014,12 @@ ${memory.content}
9984
10014
  await this.appendStorageSecureFile(this.memoryActionsPath, payload);
9985
10015
  return events.length;
9986
10016
  }
10017
+ async appendContextTransformRecords(records) {
10018
+ return appendContextTransformRecords(this, records);
10019
+ }
10020
+ async readContextTransformRecords(limit = 200) {
10021
+ return readContextTransformRecords(this, limit);
10022
+ }
9987
10023
  async appendMemoryLifecycleEvents(events) {
9988
10024
  if (events.length === 0) return 0;
9989
10025
  await this.ensureDirectories();
@@ -11291,6 +11327,11 @@ export {
11291
11327
  serializeDriftProvenance,
11292
11328
  parseDriftProvenance,
11293
11329
  okfTypeForCategory,
11330
+ okfTypeForMemory,
11331
+ OKF_PROFILE_TYPE,
11332
+ OKF_DECISION_RECORD_TYPE,
11333
+ OKF_ARCHITECTURE_CARD_TYPE,
11334
+ OKF_CODE_MODULE_TYPE,
11294
11335
  OKF_RESERVED_BASENAMES,
11295
11336
  selfDeps,
11296
11337
  qmdCollectionPathParts,
@@ -11333,4 +11374,4 @@ export {
11333
11374
  isValidBufferSurpriseEvent,
11334
11375
  StorageManager3 as StorageManager
11335
11376
  };
11336
- //# sourceMappingURL=chunk-BJTHRFFC.js.map
11377
+ //# sourceMappingURL=chunk-GEJKYA7D.js.map