@remnic/core 9.60.0 → 9.60.2

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 (446) hide show
  1. package/dist/access-admin-ops-surface.d.ts +11 -11
  2. package/dist/access-admin-ops-surface.js +25 -25
  3. package/dist/access-authorization-probe.d.ts +11 -11
  4. package/dist/access-authorization-probe.js +26 -26
  5. package/dist/access-boundary.d.ts +11 -11
  6. package/dist/access-boundary.js +25 -25
  7. package/dist/access-cli.js +80 -79
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +11 -11
  11. package/dist/access-extraction-force-flush.js +25 -25
  12. package/dist/access-health-types.d.ts +1 -1
  13. package/dist/access-http-lcm-compaction.d.ts +11 -11
  14. package/dist/access-http-lifecycle-flush.d.ts +11 -11
  15. package/dist/access-http-offline-stream.d.ts +11 -11
  16. package/dist/access-http-query.js +25 -25
  17. package/dist/access-http.d.ts +12 -12
  18. package/dist/access-http.js +38 -38
  19. package/dist/access-identity-continuity-surface.d.ts +9 -9
  20. package/dist/access-identity-continuity-surface.js +25 -25
  21. package/dist/access-lcm-surface.d.ts +11 -11
  22. package/dist/access-lcm-surface.js +25 -25
  23. package/dist/access-mcp.d.ts +11 -11
  24. package/dist/access-mcp.js +32 -32
  25. package/dist/access-memory-search-fanout.d.ts +2 -2
  26. package/dist/{access-namespace-preflight-TBXz-8s_.d.ts → access-namespace-preflight-EMvicnrb.d.ts} +1 -1
  27. package/dist/access-namespace-preflight.d.ts +3 -3
  28. package/dist/access-namespace-preflight.js +25 -25
  29. package/dist/access-observe-write-surface.d.ts +11 -11
  30. package/dist/access-observe-write-surface.js +25 -25
  31. package/dist/access-offline-manifest.d.ts +9 -9
  32. package/dist/access-operations-batch.js +27 -27
  33. package/dist/access-operations.d.ts +11 -11
  34. package/dist/access-operations.js +31 -31
  35. package/dist/access-recall-concurrency.d.ts +11 -11
  36. package/dist/access-recall-concurrency.js +25 -25
  37. package/dist/access-recall-response.d.ts +11 -11
  38. package/dist/access-recall-response.js +25 -25
  39. package/dist/access-recall-surface.d.ts +11 -11
  40. package/dist/access-recall-surface.js +25 -25
  41. package/dist/access-schema.js +3 -3
  42. package/dist/{access-service-BQkRul4d.d.ts → access-service-BeDYQQ62.d.ts} +7 -7
  43. package/dist/access-service-helpers.d.ts +11 -11
  44. package/dist/access-service.d.ts +11 -11
  45. package/dist/access-service.js +25 -25
  46. package/dist/access-surface-catalog.d.ts +11 -11
  47. package/dist/access-surface-catalog.js +27 -27
  48. package/dist/access-wearables-meetings-surface.d.ts +3 -3
  49. package/dist/action-confidence.d.ts +1 -1
  50. package/dist/active-memory-bridge.d.ts +1 -1
  51. package/dist/active-recall.d.ts +1 -1
  52. package/dist/active-recall.js +2 -2
  53. package/dist/adapters/index.js +4 -4
  54. package/dist/adapters/registry.js +2 -2
  55. package/dist/ambient-provenance.d.ts +1 -1
  56. package/dist/artifact-search.d.ts +1 -1
  57. package/dist/{auto-sync-5HVRCMGZ.js → auto-sync-FMWQQB3J.js} +3 -3
  58. package/dist/behavior-learner.d.ts +1 -1
  59. package/dist/behavior-signals.d.ts +1 -1
  60. package/dist/bootstrap.d.ts +9 -9
  61. package/dist/briefing-window.d.ts +2 -2
  62. package/dist/briefing.d.ts +2 -2
  63. package/dist/briefing.js +11 -11
  64. package/dist/buffer-surprise-report.d.ts +1 -1
  65. package/dist/buffer-turn-helpers.d.ts +1 -1
  66. package/dist/buffer.d.ts +2 -2
  67. package/dist/buffer.js +4 -4
  68. package/dist/bulk-import/index.d.ts +3 -3
  69. package/dist/calibration.d.ts +1 -1
  70. package/dist/capabilities.d.ts +1 -1
  71. package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
  72. package/dist/{catalog-z1UerMbh.d.ts → catalog-B2SxZ6LU.d.ts} +1 -1
  73. package/dist/causal-behavior.d.ts +1 -1
  74. package/dist/causal-consolidation.d.ts +1 -1
  75. package/dist/causal-consolidation.js +12 -12
  76. package/dist/causal-trajectory-graph.d.ts +1 -1
  77. package/dist/{chunk-7DHFB5SG.js → chunk-2GRLJMKJ.js} +3 -3
  78. package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
  79. package/dist/{chunk-B4CSPFYN.js → chunk-2RIDW23Y.js} +8 -8
  80. package/dist/{chunk-VOKK4WCG.js → chunk-3GPBFDXH.js} +2 -2
  81. package/dist/{chunk-KXYMU4IN.js → chunk-4JGSG7QN.js} +3 -3
  82. package/dist/{chunk-A7266TRJ.js → chunk-4XAVQLBR.js} +2 -2
  83. package/dist/{chunk-LLZKOSGM.js → chunk-5WVUO6QT.js} +1 -1
  84. package/dist/{chunk-LLZKOSGM.js.map → chunk-5WVUO6QT.js.map} +1 -1
  85. package/dist/{chunk-UBSM6TZP.js → chunk-76YNCJ5H.js} +2 -2
  86. package/dist/{chunk-JNWISMYG.js → chunk-7N7DB4L5.js} +5 -5
  87. package/dist/{chunk-6C7Q6NG3.js → chunk-AWRJBAIH.js} +16 -16
  88. package/dist/{chunk-PFPNUFKZ.js → chunk-C3R732UY.js} +59 -40
  89. package/dist/chunk-C3R732UY.js.map +1 -0
  90. package/dist/{chunk-DE6YCZEE.js → chunk-CIA6ZUBA.js} +2 -2
  91. package/dist/{chunk-PEDYKCJI.js → chunk-CK3NQUSQ.js} +2 -2
  92. package/dist/{chunk-OU7RWWW6.js → chunk-CM4SZZBN.js} +2 -2
  93. package/dist/{chunk-ODAE36PG.js → chunk-D5HDJWNN.js} +2 -2
  94. package/dist/{chunk-4IIKJOYM.js → chunk-DSA47WBN.js} +2 -2
  95. package/dist/{chunk-4CLE2LXB.js → chunk-EGW4O32Z.js} +75 -38
  96. package/dist/chunk-EGW4O32Z.js.map +1 -0
  97. package/dist/{chunk-KF75ANST.js → chunk-EHMMRZOZ.js} +2 -2
  98. package/dist/{chunk-7G34CBKS.js → chunk-EIQFIJDM.js} +2 -2
  99. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  100. package/dist/{chunk-RXN7Z2V5.js → chunk-FQSDU634.js} +2 -2
  101. package/dist/{chunk-G3JFFUKR.js → chunk-FW73HN33.js} +2 -2
  102. package/dist/{chunk-MMZK2DWN.js → chunk-G3YBWFUC.js} +1 -1
  103. package/dist/chunk-GKUA4MGB.js +40 -0
  104. package/dist/chunk-GKUA4MGB.js.map +1 -0
  105. package/dist/{chunk-I4BLRM7X.js → chunk-GN7HO2LA.js} +10 -10
  106. package/dist/{chunk-ZOGOOSB3.js → chunk-H32ANIFP.js} +2 -2
  107. package/dist/{chunk-AH2NX6S7.js → chunk-HEEEMJ26.js} +3 -3
  108. package/dist/{chunk-J65AKOD6.js → chunk-HQBVQICL.js} +2 -2
  109. package/dist/{chunk-VJXSAJFW.js → chunk-I67HKRBF.js} +2 -2
  110. package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
  111. package/dist/{chunk-RL3EGL7A.js → chunk-JGW2EUCQ.js} +2 -2
  112. package/dist/{chunk-R7IV3EUJ.js → chunk-JKW663ZN.js} +2 -2
  113. package/dist/{chunk-YBCZTBN2.js → chunk-KAB7TZN3.js} +2 -2
  114. package/dist/{chunk-4UUF2EX3.js → chunk-KPML4Q3M.js} +2 -2
  115. package/dist/{chunk-5W7CTZ2E.js → chunk-KQAFEZQX.js} +4 -4
  116. package/dist/{chunk-YKZFX2HQ.js → chunk-L33N3BCA.js} +2 -2
  117. package/dist/{chunk-PYHOAXTI.js → chunk-LRGSLV7M.js} +4 -4
  118. package/dist/{chunk-FI5EAP4N.js → chunk-MJ4UGUR6.js} +2 -2
  119. package/dist/{chunk-KBIIE57I.js → chunk-MU3TPZOV.js} +2 -2
  120. package/dist/{chunk-77DAFTUU.js → chunk-MYZ4NA43.js} +2 -2
  121. package/dist/{chunk-T2VJ2EO5.js → chunk-N4EPIKSY.js} +6 -6
  122. package/dist/{chunk-EZXGJJXM.js → chunk-N4OYPGZS.js} +2 -2
  123. package/dist/{chunk-L3JVAM5Q.js → chunk-PA5OPZX2.js} +2 -2
  124. package/dist/{chunk-RVO6TCTU.js → chunk-QCECHYZL.js} +6 -6
  125. package/dist/{chunk-EWL5DICB.js → chunk-QRKYABS6.js} +3 -3
  126. package/dist/{chunk-P6GOYLHN.js → chunk-QWPAQLYV.js} +2 -2
  127. package/dist/{chunk-BTHDQOF4.js → chunk-QYN5PXDZ.js} +5 -5
  128. package/dist/{chunk-MG7GI4TT.js → chunk-S3B3UIQ3.js} +2 -2
  129. package/dist/{chunk-6W2ISYUV.js → chunk-TE4MKFT2.js} +4 -4
  130. package/dist/{chunk-QUJC22CT.js → chunk-URN7XWGC.js} +2 -2
  131. package/dist/{chunk-G5OB4XZX.js → chunk-VANZKHTN.js} +4 -4
  132. package/dist/{chunk-ER4BLWI6.js → chunk-VI637ILW.js} +24 -7
  133. package/dist/chunk-VI637ILW.js.map +1 -0
  134. package/dist/{chunk-BPM6UHUL.js → chunk-VWDTV6SH.js} +2 -2
  135. package/dist/{chunk-P5OYNV7B.js → chunk-W3Y6FYRK.js} +2 -2
  136. package/dist/{chunk-VIM6QH4D.js → chunk-W4Q54HM3.js} +2 -2
  137. package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
  138. package/dist/{chunk-FUWS2MNJ.js → chunk-XBR5BAKW.js} +4 -4
  139. package/dist/{chunk-CZGOLAEW.js → chunk-XD4VGLDL.js} +47 -47
  140. package/dist/{chunk-OV36CROW.js → chunk-XDK6ZFLL.js} +3 -3
  141. package/dist/{chunk-JHMAYABJ.js → chunk-XL3TATMJ.js} +4 -4
  142. package/dist/{chunk-OLX2HJFW.js → chunk-YLHM5BQQ.js} +4 -4
  143. package/dist/{chunk-2VHCLHZ5.js → chunk-YUIBXMZY.js} +147 -40
  144. package/dist/chunk-YUIBXMZY.js.map +1 -0
  145. package/dist/{chunk-HVP33QVW.js → chunk-ZKOPY4WW.js} +60 -4
  146. package/dist/chunk-ZKOPY4WW.js.map +1 -0
  147. package/dist/{cli-DsyVvOFP.d.ts → cli-DB_uakTc.d.ts} +5 -5
  148. package/dist/cli.d.ts +13 -13
  149. package/dist/cli.js +61 -61
  150. package/dist/coding/pre-action-gate.d.ts +1 -1
  151. package/dist/compounding/engine.d.ts +2 -2
  152. package/dist/compounding/engine.js +12 -12
  153. package/dist/compounding/preference-consolidator.d.ts +1 -1
  154. package/dist/compression-optimizer.d.ts +1 -1
  155. package/dist/config.d.ts +1 -1
  156. package/dist/config.js +2 -2
  157. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  158. package/dist/connectors/codex-materialize-runner.js +11 -11
  159. package/dist/connectors/codex-materialize.d.ts +1 -1
  160. package/dist/connectors/index.d.ts +1 -1
  161. package/dist/connectors/index.js +11 -11
  162. package/dist/consolidation-provenance-check.d.ts +2 -2
  163. package/dist/consolidation-undo.d.ts +2 -2
  164. package/dist/contradiction/index.d.ts +2 -2
  165. package/dist/contradiction/index.js +4 -4
  166. package/dist/converge-config.d.ts +1 -1
  167. package/dist/convergence-refresh.d.ts +2 -2
  168. package/dist/convergence-refresh.js +13 -13
  169. package/dist/conversation-index/backend.d.ts +1 -1
  170. package/dist/conversation-index/chunker.d.ts +1 -1
  171. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  172. package/dist/conversation-index/indexer.d.ts +1 -1
  173. package/dist/conversation-index/search.d.ts +1 -1
  174. package/dist/corpus-watermark.d.ts +1 -1
  175. package/dist/corpus-watermark.js +13 -13
  176. package/dist/dashboard-runtime.js +2 -2
  177. package/dist/day-summary.d.ts +1 -1
  178. package/dist/delinearize.d.ts +1 -1
  179. package/dist/dependency-propagation-config.d.ts +1 -1
  180. package/dist/{dependency-propagation-delivery-DdwSc1qh.d.ts → dependency-propagation-delivery-DcOVpK3y.d.ts} +1 -1
  181. package/dist/direct-answer-wiring.d.ts +1 -1
  182. package/dist/direct-answer.d.ts +1 -1
  183. package/dist/embedding-fallback.d.ts +1 -1
  184. package/dist/enrichment/index.d.ts +1 -1
  185. package/dist/entity-origin-fields.d.ts +28 -0
  186. package/dist/entity-origin-fields.js +10 -0
  187. package/dist/entity-origin-fields.js.map +1 -0
  188. package/dist/entity-retrieval.d.ts +2 -2
  189. package/dist/entity-retrieval.js +12 -11
  190. package/dist/entity-schema.d.ts +1 -1
  191. package/dist/explicit-capture.d.ts +9 -9
  192. package/dist/external-wiki-access.d.ts +11 -11
  193. package/dist/external-wiki-access.js +26 -26
  194. package/dist/external-wiki-collection-registration.d.ts +1 -1
  195. package/dist/external-wiki-collection.d.ts +1 -1
  196. package/dist/external-wiki-mcp-tools.d.ts +11 -11
  197. package/dist/extraction-error-classification.d.ts +1 -1
  198. package/dist/extraction-faithfulness.d.ts +1 -1
  199. package/dist/extraction-judge-telemetry.d.ts +1 -1
  200. package/dist/extraction-judge-training.d.ts +1 -1
  201. package/dist/extraction-judge.d.ts +1 -1
  202. package/dist/extraction-liveness.d.ts +1 -1
  203. package/dist/extraction-normalization.d.ts +1 -1
  204. package/dist/extraction-prompt.d.ts +1 -1
  205. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  206. package/dist/extraction-source-grounding.d.ts +1 -1
  207. package/dist/extraction.d.ts +1 -1
  208. package/dist/extraction.js +15 -15
  209. package/dist/fallback-llm.d.ts +1 -1
  210. package/dist/graph-dashboard-diff.d.ts +1 -1
  211. package/dist/graph-dashboard-key.d.ts +1 -1
  212. package/dist/graph-dashboard-parser.d.ts +1 -1
  213. package/dist/graph-edge-reinforcement.d.ts +1 -1
  214. package/dist/graph-path-reconstruction.d.ts +1 -1
  215. package/dist/graph-path-scoring.d.ts +1 -1
  216. package/dist/graph-snapshot.d.ts +1 -1
  217. package/dist/graph.d.ts +1 -1
  218. package/dist/harmonic-retrieval.js +1 -1
  219. package/dist/importance.d.ts +1 -1
  220. package/dist/importers/index.d.ts +1 -1
  221. package/dist/in-flight-reads.d.ts +1 -1
  222. package/dist/index.d.ts +23 -23
  223. package/dist/index.js +90 -89
  224. package/dist/intent.d.ts +1 -1
  225. package/dist/lcm/engine.d.ts +1 -1
  226. package/dist/lcm/index.d.ts +1 -1
  227. package/dist/lcm/index.js +3 -3
  228. package/dist/lcm/tools.d.ts +1 -1
  229. package/dist/lifecycle.d.ts +1 -1
  230. package/dist/live-connectors-runner.d.ts +1 -1
  231. package/dist/local-llm.d.ts +1 -1
  232. package/dist/local-model-endpoint.d.ts +1 -1
  233. package/dist/maintenance/memory-governance.d.ts +1 -1
  234. package/dist/maintenance/memory-governance.js +11 -11
  235. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  236. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +11 -11
  237. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  238. package/dist/maintenance/rebuild-memory-projection.js +12 -12
  239. package/dist/{maintenance-DvkiF7fm.d.ts → maintenance-5c1olVtB.d.ts} +3 -3
  240. package/dist/mcp-memory-inspector-app.d.ts +11 -11
  241. package/dist/memory-action-policy.d.ts +1 -1
  242. package/dist/memory-cache.d.ts +1 -1
  243. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  244. package/dist/memory-projection-store.d.ts +1 -1
  245. package/dist/memory-provenance.d.ts +1 -1
  246. package/dist/memory-snapshot.d.ts +1 -1
  247. package/dist/memory-worth-outcomes.d.ts +2 -2
  248. package/dist/models-json.d.ts +1 -1
  249. package/dist/namespaces/migrate.d.ts +3 -3
  250. package/dist/namespaces/migrate.js +12 -12
  251. package/dist/namespaces/principal.d.ts +1 -1
  252. package/dist/namespaces/search.d.ts +1 -1
  253. package/dist/namespaces/search.js +8 -8
  254. package/dist/namespaces/storage.d.ts +3 -3
  255. package/dist/namespaces/storage.js +11 -11
  256. package/dist/native-knowledge.d.ts +1 -1
  257. package/dist/offline-sync-impression-drain.d.ts +1 -1
  258. package/dist/operator-doctor-corpus.d.ts +1 -1
  259. package/dist/operator-doctor-corpus.js +14 -14
  260. package/dist/operator-doctor-replica.d.ts +1 -1
  261. package/dist/operator-toolkit.d.ts +3 -3
  262. package/dist/operator-toolkit.js +20 -20
  263. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  264. package/dist/orchestration/maintenance.d.ts +4 -4
  265. package/dist/orchestration/maintenance.js +16 -16
  266. package/dist/{orchestrator-CXPIzs3D.d.ts → orchestrator-HPuY6I4i.d.ts} +8 -8
  267. package/dist/orchestrator.d.ts +9 -9
  268. package/dist/orchestrator.js +80 -79
  269. package/dist/patterns-cli.d.ts +1 -1
  270. package/dist/{pipeline-BuYWU9rt.d.ts → pipeline-CvVe1Q2_.d.ts} +1 -1
  271. package/dist/policy-runtime.d.ts +1 -1
  272. package/dist/proactive-contention.d.ts +1 -1
  273. package/dist/provenance.d.ts +1 -1
  274. package/dist/{public-http-m9x1Qyzn.d.ts → public-http-D0JKFkyf.d.ts} +1 -1
  275. package/dist/{qmd-DYnrPw-m.d.ts → qmd-Bd0Tp76_.d.ts} +1 -1
  276. package/dist/qmd-preflight.d.ts +2 -2
  277. package/dist/qmd-recall-cache.d.ts +1 -1
  278. package/dist/qmd.d.ts +2 -2
  279. package/dist/qmd.js +4 -4
  280. package/dist/recall-concurrency-config.d.ts +1 -1
  281. package/dist/recall-disclosure-escalation.d.ts +1 -1
  282. package/dist/recall-explain-renderer.d.ts +1 -1
  283. package/dist/recall-explain-renderer.js +3 -3
  284. package/dist/recall-memory-map.d.ts +1 -1
  285. package/dist/recall-planner-llm.d.ts +1 -1
  286. package/dist/recall-state.d.ts +1 -1
  287. package/dist/recall-tag-filter.d.ts +1 -1
  288. package/dist/recall-timings.d.ts +1 -1
  289. package/dist/recall-xray-cli.d.ts +1 -1
  290. package/dist/recall-xray-cli.js +4 -4
  291. package/dist/recall-xray-renderer.d.ts +1 -1
  292. package/dist/recall-xray-renderer.js +3 -3
  293. package/dist/recall-xray.d.ts +1 -1
  294. package/dist/recall-xray.js +2 -2
  295. package/dist/reconcile/cursor.d.ts +1 -1
  296. package/dist/reconcile/manifest.d.ts +1 -1
  297. package/dist/reconcile/plan.d.ts +1 -1
  298. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  299. package/dist/replay/normalizers/claude.d.ts +1 -1
  300. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  301. package/dist/replay/normalizers/shared.d.ts +1 -1
  302. package/dist/replay/runner.d.ts +1 -1
  303. package/dist/replay/types.d.ts +1 -1
  304. package/dist/replica-divergence.d.ts +1 -1
  305. package/dist/replica-peers-config.d.ts +1 -1
  306. package/dist/resolve-auth-token.d.ts +1 -1
  307. package/dist/resume-bundles.js +3 -3
  308. package/dist/retrieval-agents.d.ts +2 -2
  309. package/dist/retrieval-tiers.d.ts +1 -1
  310. package/dist/routing/engine.d.ts +1 -1
  311. package/dist/routing/store.d.ts +1 -1
  312. package/dist/salvage-envelope.d.ts +1 -1
  313. package/dist/{scope-profiles-C1QG4Cmv.d.ts → scope-profiles-ClLtm9gK.d.ts} +1 -1
  314. package/dist/search/embed-helper.d.ts +1 -1
  315. package/dist/search/factory.d.ts +1 -1
  316. package/dist/search/factory.js +7 -7
  317. package/dist/search/index.d.ts +1 -1
  318. package/dist/search/index.js +7 -7
  319. package/dist/search/lancedb-backend.d.ts +1 -1
  320. package/dist/search/lancedb-backend.js +2 -2
  321. package/dist/search/meilisearch-backend.d.ts +1 -1
  322. package/dist/search/meilisearch-backend.js +2 -2
  323. package/dist/search/noop-backend.d.ts +1 -1
  324. package/dist/search/orama-backend.d.ts +1 -1
  325. package/dist/search/orama-backend.js +2 -2
  326. package/dist/search/port.d.ts +1 -1
  327. package/dist/search/remote-backend.d.ts +1 -1
  328. package/dist/{semantic-consolidation-DMeX8XS0.d.ts → semantic-consolidation-B1EkeEDj.d.ts} +1 -1
  329. package/dist/semantic-consolidation.d.ts +2 -2
  330. package/dist/semantic-consolidation.js +12 -12
  331. package/dist/semantic-rule-promotion.js +11 -11
  332. package/dist/semantic-rule-verifier.d.ts +1 -1
  333. package/dist/semantic-rule-verifier.js +11 -11
  334. package/dist/{service-CT3ENiTO.d.ts → service-Cf3ANQj9.d.ts} +2 -2
  335. package/dist/session-observer-bands.d.ts +1 -1
  336. package/dist/session-observer-state.d.ts +1 -1
  337. package/dist/shared-context/manager.d.ts +4 -4
  338. package/dist/shared-context/manager.js +2 -1
  339. package/dist/signal.d.ts +1 -1
  340. package/dist/source-agent-qualifier.d.ts +1 -1
  341. package/dist/source-agent-qualifier.js +13 -13
  342. package/dist/{storage-B0L76y7N.d.ts → storage-DS2O_6Qt.d.ts} +4 -2
  343. package/dist/storage.d.ts +2 -2
  344. package/dist/storage.js +12 -10
  345. package/dist/summarizer.d.ts +1 -1
  346. package/dist/summary-snapshot.d.ts +1 -1
  347. package/dist/support-passport/index.d.ts +14 -14
  348. package/dist/support-passport/index.js +28 -28
  349. package/dist/temporal-supersession.d.ts +2 -2
  350. package/dist/temporal-timeline-recall.d.ts +1 -1
  351. package/dist/temporal-validity.d.ts +1 -1
  352. package/dist/threading.d.ts +1 -1
  353. package/dist/tier-migration.d.ts +2 -2
  354. package/dist/tier-routing.d.ts +1 -1
  355. package/dist/topics.d.ts +1 -1
  356. package/dist/transcript.d.ts +1 -1
  357. package/dist/transfer/backup.js +2 -2
  358. package/dist/transfer/capsule-export.js +2 -2
  359. package/dist/transfer/capsule-import.js +2 -2
  360. package/dist/transfer/import-sqlite.js +2 -2
  361. package/dist/trust-score-stage.d.ts +1 -1
  362. package/dist/trust-score.d.ts +1 -1
  363. package/dist/{types-D7pB0QwO.d.ts → types-BOANGhCJ.d.ts} +3 -1
  364. package/dist/types.d.ts +1 -1
  365. package/dist/types.js +1 -1
  366. package/dist/utility-runtime.d.ts +1 -1
  367. package/dist/verified-recall.js +11 -11
  368. package/dist/write-envelope.d.ts +1 -1
  369. package/package.json +2 -2
  370. package/src/entity-origin-fields.ts +56 -0
  371. package/src/entity-retrieval.ts +84 -84
  372. package/src/orchestration/extraction-injection-gate.ts +17 -5
  373. package/src/orchestration/extraction-persist.ts +1 -1
  374. package/src/orchestration/recall-internal.ts +3 -3
  375. package/src/recall-authority-fence.test.ts +40 -0
  376. package/src/security/audit-memory.test.ts +24 -1
  377. package/src/shared-context/manager.ts +21 -6
  378. package/src/storage/entity-store.ts +52 -17
  379. package/src/storage/entity-timeline.ts +96 -16
  380. package/src/storage.ts +18 -18
  381. package/src/types.ts +2 -2
  382. package/src/wearables/redaction.test.ts +44 -0
  383. package/src/wearables/text-language.ts +91 -23
  384. package/dist/chunk-2VHCLHZ5.js.map +0 -1
  385. package/dist/chunk-4CLE2LXB.js.map +0 -1
  386. package/dist/chunk-ER4BLWI6.js.map +0 -1
  387. package/dist/chunk-HVP33QVW.js.map +0 -1
  388. package/dist/chunk-PFPNUFKZ.js.map +0 -1
  389. /package/dist/{auto-sync-5HVRCMGZ.js.map → auto-sync-FMWQQB3J.js.map} +0 -0
  390. /package/dist/{capsule-crypto-GWVG7LGC.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  391. /package/dist/{chunk-7DHFB5SG.js.map → chunk-2GRLJMKJ.js.map} +0 -0
  392. /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
  393. /package/dist/{chunk-B4CSPFYN.js.map → chunk-2RIDW23Y.js.map} +0 -0
  394. /package/dist/{chunk-VOKK4WCG.js.map → chunk-3GPBFDXH.js.map} +0 -0
  395. /package/dist/{chunk-KXYMU4IN.js.map → chunk-4JGSG7QN.js.map} +0 -0
  396. /package/dist/{chunk-A7266TRJ.js.map → chunk-4XAVQLBR.js.map} +0 -0
  397. /package/dist/{chunk-UBSM6TZP.js.map → chunk-76YNCJ5H.js.map} +0 -0
  398. /package/dist/{chunk-JNWISMYG.js.map → chunk-7N7DB4L5.js.map} +0 -0
  399. /package/dist/{chunk-6C7Q6NG3.js.map → chunk-AWRJBAIH.js.map} +0 -0
  400. /package/dist/{chunk-DE6YCZEE.js.map → chunk-CIA6ZUBA.js.map} +0 -0
  401. /package/dist/{chunk-PEDYKCJI.js.map → chunk-CK3NQUSQ.js.map} +0 -0
  402. /package/dist/{chunk-OU7RWWW6.js.map → chunk-CM4SZZBN.js.map} +0 -0
  403. /package/dist/{chunk-ODAE36PG.js.map → chunk-D5HDJWNN.js.map} +0 -0
  404. /package/dist/{chunk-4IIKJOYM.js.map → chunk-DSA47WBN.js.map} +0 -0
  405. /package/dist/{chunk-KF75ANST.js.map → chunk-EHMMRZOZ.js.map} +0 -0
  406. /package/dist/{chunk-7G34CBKS.js.map → chunk-EIQFIJDM.js.map} +0 -0
  407. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  408. /package/dist/{chunk-RXN7Z2V5.js.map → chunk-FQSDU634.js.map} +0 -0
  409. /package/dist/{chunk-G3JFFUKR.js.map → chunk-FW73HN33.js.map} +0 -0
  410. /package/dist/{chunk-MMZK2DWN.js.map → chunk-G3YBWFUC.js.map} +0 -0
  411. /package/dist/{chunk-I4BLRM7X.js.map → chunk-GN7HO2LA.js.map} +0 -0
  412. /package/dist/{chunk-ZOGOOSB3.js.map → chunk-H32ANIFP.js.map} +0 -0
  413. /package/dist/{chunk-AH2NX6S7.js.map → chunk-HEEEMJ26.js.map} +0 -0
  414. /package/dist/{chunk-J65AKOD6.js.map → chunk-HQBVQICL.js.map} +0 -0
  415. /package/dist/{chunk-VJXSAJFW.js.map → chunk-I67HKRBF.js.map} +0 -0
  416. /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
  417. /package/dist/{chunk-RL3EGL7A.js.map → chunk-JGW2EUCQ.js.map} +0 -0
  418. /package/dist/{chunk-R7IV3EUJ.js.map → chunk-JKW663ZN.js.map} +0 -0
  419. /package/dist/{chunk-YBCZTBN2.js.map → chunk-KAB7TZN3.js.map} +0 -0
  420. /package/dist/{chunk-4UUF2EX3.js.map → chunk-KPML4Q3M.js.map} +0 -0
  421. /package/dist/{chunk-5W7CTZ2E.js.map → chunk-KQAFEZQX.js.map} +0 -0
  422. /package/dist/{chunk-YKZFX2HQ.js.map → chunk-L33N3BCA.js.map} +0 -0
  423. /package/dist/{chunk-PYHOAXTI.js.map → chunk-LRGSLV7M.js.map} +0 -0
  424. /package/dist/{chunk-FI5EAP4N.js.map → chunk-MJ4UGUR6.js.map} +0 -0
  425. /package/dist/{chunk-KBIIE57I.js.map → chunk-MU3TPZOV.js.map} +0 -0
  426. /package/dist/{chunk-77DAFTUU.js.map → chunk-MYZ4NA43.js.map} +0 -0
  427. /package/dist/{chunk-T2VJ2EO5.js.map → chunk-N4EPIKSY.js.map} +0 -0
  428. /package/dist/{chunk-EZXGJJXM.js.map → chunk-N4OYPGZS.js.map} +0 -0
  429. /package/dist/{chunk-L3JVAM5Q.js.map → chunk-PA5OPZX2.js.map} +0 -0
  430. /package/dist/{chunk-RVO6TCTU.js.map → chunk-QCECHYZL.js.map} +0 -0
  431. /package/dist/{chunk-EWL5DICB.js.map → chunk-QRKYABS6.js.map} +0 -0
  432. /package/dist/{chunk-P6GOYLHN.js.map → chunk-QWPAQLYV.js.map} +0 -0
  433. /package/dist/{chunk-BTHDQOF4.js.map → chunk-QYN5PXDZ.js.map} +0 -0
  434. /package/dist/{chunk-MG7GI4TT.js.map → chunk-S3B3UIQ3.js.map} +0 -0
  435. /package/dist/{chunk-6W2ISYUV.js.map → chunk-TE4MKFT2.js.map} +0 -0
  436. /package/dist/{chunk-QUJC22CT.js.map → chunk-URN7XWGC.js.map} +0 -0
  437. /package/dist/{chunk-G5OB4XZX.js.map → chunk-VANZKHTN.js.map} +0 -0
  438. /package/dist/{chunk-BPM6UHUL.js.map → chunk-VWDTV6SH.js.map} +0 -0
  439. /package/dist/{chunk-P5OYNV7B.js.map → chunk-W3Y6FYRK.js.map} +0 -0
  440. /package/dist/{chunk-VIM6QH4D.js.map → chunk-W4Q54HM3.js.map} +0 -0
  441. /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
  442. /package/dist/{chunk-FUWS2MNJ.js.map → chunk-XBR5BAKW.js.map} +0 -0
  443. /package/dist/{chunk-CZGOLAEW.js.map → chunk-XD4VGLDL.js.map} +0 -0
  444. /package/dist/{chunk-OV36CROW.js.map → chunk-XDK6ZFLL.js.map} +0 -0
  445. /package/dist/{chunk-JHMAYABJ.js.map → chunk-XL3TATMJ.js.map} +0 -0
  446. /package/dist/{chunk-OLX2HJFW.js.map → chunk-YLHM5BQQ.js.map} +0 -0
@@ -111,12 +111,67 @@ async function saveCorrectionsFile(memoryDir, rules) {
111
111
  }
112
112
 
113
113
  // src/wearables/text-language.ts
114
+ var SCRIPT_SOURCES = {
115
+ latin: "\\p{Script=Latin}",
116
+ cyrillic: "\\p{Script=Cyrillic}",
117
+ greek: "\\p{Script=Greek}",
118
+ arabic: "\\p{Script=Arabic}",
119
+ hebrew: "\\p{Script=Hebrew}",
120
+ hangul: "\\p{Script=Hangul}",
121
+ han: "\\p{Script=Han}",
122
+ kana: "\\p{Script=Hiragana}\\p{Script=Katakana}",
123
+ number: "\\p{N}",
124
+ mark: "\\p{M}",
125
+ other: ""
126
+ };
127
+ var WORD_SCRIPTS = [
128
+ "latin",
129
+ "cyrillic",
130
+ "greek",
131
+ "arabic",
132
+ "hebrew",
133
+ "hangul",
134
+ "han",
135
+ "kana",
136
+ "number",
137
+ "mark"
138
+ ];
139
+ var SCRIPT_PAIRS_THAT_MAY_ABUT_INSIDE_WORD = {
140
+ "latin:hangul": true,
141
+ "latin:han": true,
142
+ "latin:kana": true
143
+ };
144
+ function scriptOfCharacter(character) {
145
+ if (/\p{M}/u.test(character)) return "mark";
146
+ if (/\p{N}/u.test(character)) return "number";
147
+ if (/\p{Script=Latin}/u.test(character)) return "latin";
148
+ if (/\p{Script=Cyrillic}/u.test(character)) return "cyrillic";
149
+ if (/\p{Script=Greek}/u.test(character)) return "greek";
150
+ if (/\p{Script=Arabic}/u.test(character)) return "arabic";
151
+ if (/\p{Script=Hebrew}/u.test(character)) return "hebrew";
152
+ if (/\p{Script=Hangul}/u.test(character)) return "hangul";
153
+ if (/\p{Script=Han}/u.test(character)) return "han";
154
+ if (/[\p{Script=Hiragana}\p{Script=Katakana}]/u.test(character)) {
155
+ return "kana";
156
+ }
157
+ return "other";
158
+ }
159
+ function boundaryCharacterClass(edge) {
160
+ return WORD_SCRIPTS.filter(
161
+ (adjacent) => !SCRIPT_PAIRS_THAT_MAY_ABUT_INSIDE_WORD[`${edge}:${adjacent}`]
162
+ ).map((adjacent) => SCRIPT_SOURCES[adjacent]).join("");
163
+ }
164
+ function boundaryLookbehindFor(edge) {
165
+ return `(?<![${boundaryCharacterClass(edge)}])`;
166
+ }
167
+ function boundaryLookaheadFor(edge) {
168
+ return `(?![${boundaryCharacterClass(edge)}])`;
169
+ }
114
170
  var PREFIXABLE_EDGE_CHAR = /[\p{Script=Latin}\p{Script=Cyrillic}\p{Script=Greek}\p{Script=Arabic}\p{Script=Hebrew}\p{Script=Hangul}\p{N}]/u;
115
171
  var SUFFIXABLE_EDGE_CHAR = /[\p{Script=Latin}\p{Script=Cyrillic}\p{Script=Greek}\p{Script=Arabic}\p{Script=Hebrew}\p{N}\p{M}]/u;
116
172
  var PROCLITIC_EDGE_CHAR = /[\p{Script=Arabic}\p{Script=Hebrew}]/u;
117
173
  var PROCLITIC_LETTERS = "\u0648\u0641\u0628\u0643\u0644\u0633\u05D4\u05D5\u05DB\u05DC\u05DE\u05E9\u05D1";
118
174
  var BOUNDARY_LOOKBEHIND = "(?<![\\p{L}\\p{M}\\p{N}])";
119
- var BOUNDARY_LOOKAHEAD = "(?![\\p{L}\\p{M}\\p{N}])";
120
175
  var PROCLITIC_LOOKBEHIND = `(?:${BOUNDARY_LOOKBEHIND}|(?<=${BOUNDARY_LOOKBEHIND}[${PROCLITIC_LETTERS}]))`;
121
176
  var HAS_KANA = /[\p{Script=Hiragana}\p{Script=Katakana}]/u;
122
177
  var HAS_HAN = /\p{Script=Han}/u;
@@ -151,8 +206,9 @@ function buildPhraseMatcher(phrases) {
151
206
  const characters = Array.from(phrase);
152
207
  const body = phrase.split(/\s+/).map((word) => escapeRegExp2(word)).join("\\s+");
153
208
  const first = characters[0];
154
- const lead = PROCLITIC_EDGE_CHAR.test(first) ? PROCLITIC_LOOKBEHIND : PREFIXABLE_EDGE_CHAR.test(first) ? BOUNDARY_LOOKBEHIND : "";
155
- const tail = SUFFIXABLE_EDGE_CHAR.test(characters[characters.length - 1]) ? BOUNDARY_LOOKAHEAD : "";
209
+ const lead = PROCLITIC_EDGE_CHAR.test(first) ? PROCLITIC_LOOKBEHIND : PREFIXABLE_EDGE_CHAR.test(first) ? boundaryLookbehindFor(scriptOfCharacter(first)) : "";
210
+ const last = characters[characters.length - 1];
211
+ const tail = SUFFIXABLE_EDGE_CHAR.test(last) ? boundaryLookaheadFor(scriptOfCharacter(last)) : "";
156
212
  parts.push(`${lead}${body}${tail}`);
157
213
  }
158
214
  if (parts.length === 0) return null;
@@ -307,4 +363,4 @@ export {
307
363
  compileOffTheRecordMarkers,
308
364
  applyOffTheRecord
309
365
  };
310
- //# sourceMappingURL=chunk-HVP33QVW.js.map
366
+ //# sourceMappingURL=chunk-ZKOPY4WW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/wearables/corrections.ts","../src/wearables/text-language.ts","../src/wearables/redaction.ts"],"sourcesContent":["/**\n * Wearable transcript corrections — user-specific replacement rules.\n *\n * ASR engines consistently mishear the same proper nouns for the same\n * person (\"remnick\" for \"Remnic\", a colleague's name, product jargon).\n * Rules come from two places, merged at sync time:\n *\n * 1. `wearables.corrections` in plugin config (declarative, versioned\n * with the operator's config).\n * 2. A CLI-managed rules file at `state/wearables/corrections.json`\n * (added interactively via `remnic wearables corrections add`).\n *\n * Literal rules are regex-escaped before compilation and replacements\n * are applied via a function (never a replacement string) so `$` in\n * either side can't corrupt output.\n */\n\nimport { promises as fsPromises } from \"node:fs\";\nimport * as path from \"node:path\";\n\nimport type { WearableCorrectionRule } from \"./types.js\";\n\nexport interface CompiledCorrectionRule {\n rule: WearableCorrectionRule;\n pattern: RegExp;\n}\n\nexport interface CorrectionApplication {\n text: string;\n applied: number;\n}\n\n/** Hard cap on rule pattern length (bounds hostile/pathological regexes). */\nconst MAX_PATTERN_LENGTH = 256;\n\nfunction escapeRegExp(value: string): string {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Validate and compile a correction rule. Throws a descriptive error on\n * invalid input (empty match, regex that doesn't compile, regex that\n * matches the empty string) — callers surface this at config parse or\n * CLI time rather than skipping the rule silently.\n */\nexport function compileCorrectionRule(\n rule: WearableCorrectionRule,\n label: string,\n): CompiledCorrectionRule {\n if (typeof rule.match !== \"string\" || rule.match.length === 0) {\n throw new Error(`${label}: match must be a non-empty string`);\n }\n if (rule.match.length > MAX_PATTERN_LENGTH) {\n throw new Error(\n `${label}: match exceeds ${MAX_PATTERN_LENGTH} characters — correction patterns must stay short`,\n );\n }\n if (typeof rule.replace !== \"string\") {\n throw new Error(`${label}: replace must be a string`);\n }\n const flags = rule.caseInsensitive === false ? \"g\" : \"gi\";\n let pattern: RegExp;\n if (rule.regex === true) {\n try {\n // Operator-supplied regexes are the documented feature here\n // (rules live in the operator's own config / state file, never in\n // request input); the length cap above bounds pathological\n // patterns. CodeQL js/regex-injection is dismissed by design for\n // this site.\n pattern = new RegExp(rule.match, flags);\n } catch (err) {\n throw new Error(\n `${label}: match is not a valid regular expression: ${\n err instanceof Error ? err.message : String(err)\n }`,\n );\n }\n } else {\n // Literal rules match on word boundaries when both edges of the\n // match are word characters, so \"remnick\" doesn't fire inside\n // \"remnickson\" unless the user opts into regex mode.\n const escaped = escapeRegExp(rule.match);\n const leading = /^[\\p{L}\\p{N}_]/u.test(rule.match) ? \"\\\\b\" : \"\";\n const trailing = /[\\p{L}\\p{N}_]$/u.test(rule.match) ? \"\\\\b\" : \"\";\n pattern = new RegExp(`${leading}${escaped}${trailing}`, flags);\n }\n if (pattern.test(\"\")) {\n throw new Error(\n `${label}: pattern matches the empty string and would corrupt every transcript`,\n );\n }\n pattern.lastIndex = 0;\n return { rule, pattern };\n}\n\n/** Compile a rule list, labeling errors with their index. */\nexport function compileCorrectionRules(\n rules: WearableCorrectionRule[],\n labelPrefix: string,\n): CompiledCorrectionRule[] {\n return rules.map((rule, index) =>\n compileCorrectionRule(rule, `${labelPrefix}[${index}]`),\n );\n}\n\n/** Apply every applicable rule to a piece of transcript text. */\nexport function applyCorrections(\n text: string,\n rules: CompiledCorrectionRule[],\n sourceId: string,\n): CorrectionApplication {\n let applied = 0;\n let result = text;\n for (const { rule, pattern } of rules) {\n if (\n Array.isArray(rule.sources) &&\n rule.sources.length > 0 &&\n !rule.sources.includes(sourceId)\n ) {\n continue;\n }\n pattern.lastIndex = 0;\n result = result.replace(pattern, () => {\n applied += 1;\n // Replacement via function: `$` in rule.replace stays literal.\n return rule.replace;\n });\n }\n return { text: result, applied };\n}\n\n// ---------------------------------------------------------------------------\n// CLI-managed rules file\n// ---------------------------------------------------------------------------\n\ninterface CorrectionsFileShape {\n version: 1;\n rules: WearableCorrectionRule[];\n}\n\nexport function correctionsFilePath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", \"wearables\", \"corrections.json\");\n}\n\n/**\n * Load CLI-managed correction rules. A missing file means no rules; a\n * malformed file throws (operators should know their corrections are\n * not being applied rather than silently losing them).\n */\nexport async function loadCorrectionsFile(\n memoryDir: string,\n): Promise<WearableCorrectionRule[]> {\n const filePath = correctionsFilePath(memoryDir);\n let raw: string;\n try {\n raw = await fsPromises.readFile(filePath, \"utf-8\");\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n throw err;\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (err) {\n throw new Error(\n `wearables corrections file is not valid JSON (state/wearables/corrections.json): ${\n err instanceof Error ? err.message : String(err)\n }`,\n );\n }\n if (\n typeof parsed !== \"object\" ||\n parsed === null ||\n Array.isArray(parsed) ||\n !Array.isArray((parsed as CorrectionsFileShape).rules)\n ) {\n throw new Error(\n 'wearables corrections file has an unexpected shape (state/wearables/corrections.json); expected {\"version\":1,\"rules\":[...]}',\n );\n }\n const rules = (parsed as CorrectionsFileShape).rules;\n // Validate every persisted rule up front so a hand-edited bad rule\n // fails at load with its index, not mid-sync.\n compileCorrectionRules(rules, \"state corrections\");\n return rules;\n}\n\n/** Persist CLI-managed rules atomically (temp file + rename). */\nexport async function saveCorrectionsFile(\n memoryDir: string,\n rules: WearableCorrectionRule[],\n): Promise<void> {\n compileCorrectionRules(rules, \"state corrections\");\n const filePath = correctionsFilePath(memoryDir);\n await fsPromises.mkdir(path.dirname(filePath), { recursive: true });\n const payload: CorrectionsFileShape = { version: 1, rules };\n const tmpPath = `${filePath}.tmp-${process.pid}-${Date.now().toString(36)}`;\n await fsPromises.writeFile(\n tmpPath,\n `${JSON.stringify(payload, null, 2)}\\n`,\n \"utf-8\",\n );\n try {\n await fsPromises.rename(tmpPath, filePath);\n } catch (err) {\n // Clean up the temp file on rename failure; the original (if any)\n // is untouched.\n await fsPromises.unlink(tmpPath).catch(() => undefined);\n throw err;\n }\n}\n","/**\n * Script-aware text helpers shared by wearable cleanup and redaction.\n *\n * Both features were written for space-delimited English. A spoken\n * marker phrase or a filler token in Japanese, Korean, Chinese, Arabic,\n * or Russian never matched, so a privacy feature silently did nothing\n * (issue #2196). These helpers make phrase matching correct for scripts\n * that do not separate words with spaces.\n */\n\n/** Coarse script class used to select built-in token sets. */\nexport type ScriptHint =\n | \"latin\"\n | \"japanese\"\n | \"han\"\n | \"korean\"\n | \"arabic\"\n | \"cyrillic\";\n\n/**\n * Word boundaries depend on both sides of a phrase edge. Most documented\n * scripts use spaces or word-like runs consistently, but mixed-script text\n * can attach a phrase to a word in the adjacent script. Keep this table\n * directional: it describes the phrase edge first, then adjacent text.\n *\n * Unknown pairs do not get a boundary. The privacy feature must prefer a\n * match over silently retaining a marked span when script data is uncertain.\n */\ntype BoundaryScript =\n | \"latin\"\n | \"cyrillic\"\n | \"greek\"\n | \"arabic\"\n | \"hebrew\"\n | \"hangul\"\n | \"han\"\n | \"kana\"\n | \"number\"\n | \"mark\"\n | \"other\";\n\nconst SCRIPT_SOURCES: Record<BoundaryScript, string> = {\n latin: \"\\\\p{Script=Latin}\",\n cyrillic: \"\\\\p{Script=Cyrillic}\",\n greek: \"\\\\p{Script=Greek}\",\n arabic: \"\\\\p{Script=Arabic}\",\n hebrew: \"\\\\p{Script=Hebrew}\",\n hangul: \"\\\\p{Script=Hangul}\",\n han: \"\\\\p{Script=Han}\",\n kana: \"\\\\p{Script=Hiragana}\\\\p{Script=Katakana}\",\n number: \"\\\\p{N}\",\n mark: \"\\\\p{M}\",\n other: \"\",\n};\n\nconst WORD_SCRIPTS: readonly BoundaryScript[] = [\n \"latin\",\n \"cyrillic\",\n \"greek\",\n \"arabic\",\n \"hebrew\",\n \"hangul\",\n \"han\",\n \"kana\",\n \"number\",\n \"mark\",\n];\n\nconst SCRIPT_PAIRS_THAT_MAY_ABUT_INSIDE_WORD: Record<string, true> = {\n \"latin:hangul\": true,\n \"latin:han\": true,\n \"latin:kana\": true,\n};\n\nfunction scriptOfCharacter(character: string): BoundaryScript {\n if (/\\p{M}/u.test(character)) return \"mark\";\n if (/\\p{N}/u.test(character)) return \"number\";\n if (/\\p{Script=Latin}/u.test(character)) return \"latin\";\n if (/\\p{Script=Cyrillic}/u.test(character)) return \"cyrillic\";\n if (/\\p{Script=Greek}/u.test(character)) return \"greek\";\n if (/\\p{Script=Arabic}/u.test(character)) return \"arabic\";\n if (/\\p{Script=Hebrew}/u.test(character)) return \"hebrew\";\n if (/\\p{Script=Hangul}/u.test(character)) return \"hangul\";\n if (/\\p{Script=Han}/u.test(character)) return \"han\";\n if (/[\\p{Script=Hiragana}\\p{Script=Katakana}]/u.test(character)) {\n return \"kana\";\n }\n return \"other\";\n}\n\nfunction boundaryCharacterClass(edge: BoundaryScript): string {\n return WORD_SCRIPTS.filter(\n (adjacent) => !SCRIPT_PAIRS_THAT_MAY_ABUT_INSIDE_WORD[`${edge}:${adjacent}`],\n )\n .map((adjacent) => SCRIPT_SOURCES[adjacent])\n .join(\"\");\n}\n\nfunction boundaryLookbehindFor(edge: BoundaryScript): string {\n return `(?<![${boundaryCharacterClass(edge)}])`;\n}\n\nfunction boundaryLookaheadFor(edge: BoundaryScript): string {\n return `(?![${boundaryCharacterClass(edge)}])`;\n}\n\n/** Phrase edge scripts that use conventional word guards. */\nconst PREFIXABLE_EDGE_CHAR =\n /[\\p{Script=Latin}\\p{Script=Cyrillic}\\p{Script=Greek}\\p{Script=Arabic}\\p{Script=Hebrew}\\p{Script=Hangul}\\p{N}]/u;\nconst SUFFIXABLE_EDGE_CHAR =\n /[\\p{Script=Latin}\\p{Script=Cyrillic}\\p{Script=Greek}\\p{Script=Arabic}\\p{Script=Hebrew}\\p{N}\\p{M}]/u;\nconst PROCLITIC_EDGE_CHAR = /[\\p{Script=Arabic}\\p{Script=Hebrew}]/u;\n\n/**\n * Single-letter proclitics that attach to the following word in Arabic\n * and Hebrew. Kept to the unambiguous conjunctions and prepositions;\n * a longer prefix is a different word, not a clitic.\n */\nconst PROCLITIC_LETTERS = \"وفبكلسהוכלמשב\";\n\n/**\n * Combining marks count as word characters. Without `\\p{M}` a decomposed\n * `café` (base `e` plus U+0301) would let the phrase `cafe` match its\n * prefix and elide a span nobody marked.\n */\nconst BOUNDARY_LOOKBEHIND = \"(?<![\\\\p{L}\\\\p{M}\\\\p{N}])\";\n/** Word start, or exactly one word-initial proclitic before the phrase. */\nconst PROCLITIC_LOOKBEHIND = `(?:${BOUNDARY_LOOKBEHIND}|(?<=${BOUNDARY_LOOKBEHIND}[${PROCLITIC_LETTERS}]))`;\n\nconst HAS_KANA = /[\\p{Script=Hiragana}\\p{Script=Katakana}]/u;\nconst HAS_HAN = /\\p{Script=Han}/u;\nconst HAS_HANGUL = /\\p{Script=Hangul}/u;\nconst HAS_ARABIC = /\\p{Script=Arabic}/u;\nconst HAS_CYRILLIC = /\\p{Script=Cyrillic}/u;\n\n/**\n * Normalize text for phrase matching: NFC, then fold the Turkic dotted and\n * dotless I onto plain `i`.\n *\n * JavaScript's `/iu` folding is locale-independent, so it equates `i` with\n * `I` but never `ı` with `I` or `i` with `İ`. A Turkish marker such as\n * `kayıt dışı` would therefore miss an uppercase `KAYIT DIŞI` transcript and\n * leave the span on the record. Both sides of the comparison run through\n * this, so the fold cannot make one side drift from the other.\n */\nexport function foldForMatching(text: string): string {\n return text.normalize(\"NFC\").replace(/[\\u0131\\u0130I]/g, \"i\");\n}\n\n/**\n * Report which script-specific token sets apply to `text`.\n *\n * `latin` is always present: transcripts mix scripts freely, and the\n * Latin filler tokens are whole-token matches that cannot fire inside\n * non-Latin text. Japanese wins over Han when kana are present, because\n * Japanese text also contains Han characters.\n */\nexport function detectScriptHints(text: string): ScriptHint[] {\n const hints: ScriptHint[] = [\"latin\"];\n if (HAS_KANA.test(text)) hints.push(\"japanese\");\n else if (HAS_HAN.test(text)) hints.push(\"han\");\n if (HAS_HANGUL.test(text)) hints.push(\"korean\");\n if (HAS_ARABIC.test(text)) hints.push(\"arabic\");\n if (HAS_CYRILLIC.test(text)) hints.push(\"cyrillic\");\n return hints;\n}\n\nfunction escapeRegExp(value: string): string {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n/**\n * Compile `phrases` into one case-insensitive matcher, or `null` when\n * no usable phrase remains.\n *\n * Internal whitespace matches any whitespace run, so a transcript that\n * breaks a phrase across a line still matches. Boundaries use the phrase\n * edge and adjacent-script pair. An attachable pair omits that boundary.\n */\nexport function buildPhraseMatcher(\n phrases: readonly string[],\n): RegExp | null {\n const parts: string[] = [];\n const seen = new Set<string>();\n for (const raw of phrases) {\n if (typeof raw !== \"string\") continue;\n // Folded on both sides (the tester folds its input too): an ASR that\n // emits decomposed or Turkic-uppercase text would otherwise never match\n // its marker, and the span would be persisted (issue #2196).\n const phrase = foldForMatching(raw.trim());\n if (phrase.length === 0) continue;\n const key = phrase.toLowerCase();\n if (seen.has(key)) continue;\n seen.add(key);\n const characters = Array.from(phrase);\n const body = phrase\n .split(/\\s+/)\n .map((word) => escapeRegExp(word))\n .join(\"\\\\s+\");\n const first = characters[0];\n const lead = PROCLITIC_EDGE_CHAR.test(first)\n ? PROCLITIC_LOOKBEHIND\n : PREFIXABLE_EDGE_CHAR.test(first)\n ? boundaryLookbehindFor(scriptOfCharacter(first))\n : \"\";\n const last = characters[characters.length - 1];\n const tail = SUFFIXABLE_EDGE_CHAR.test(last)\n ? boundaryLookaheadFor(scriptOfCharacter(last))\n : \"\";\n parts.push(`${lead}${body}${tail}`);\n }\n if (parts.length === 0) return null;\n return new RegExp(parts.join(\"|\"), \"iu\");\n}\n","/**\n * Wearable transcript redaction — privacy guard applied before any\n * transcript text is persisted or fed to extraction.\n *\n * Always-on recorders capture things nobody intended to store: card\n * numbers read aloud, SSNs dictated to a pharmacy line. Built-in\n * patterns cover the unambiguous, high-sensitivity cases; users can add\n * their own regexes via `wearables.redactionPatterns` (validated at\n * config parse — invalid patterns are rejected loudly, never ignored).\n *\n * All built-in patterns are simple linear scans (no nested quantifiers)\n * to stay safely outside polynomial-ReDoS territory.\n */\n\nimport { buildPhraseMatcher, foldForMatching } from \"./text-language.js\";\nimport type {\n OffTheRecordMarkerSettings,\n WearableConversation,\n} from \"./types.js\";\n\nexport const REDACTION_PLACEHOLDER = \"[redacted]\";\n\n/**\n * Built-in patterns. Conservative by design — false positives erase\n * real transcript content, so each pattern targets formats that are\n * near-certain PII:\n * - US SSN with separators (123-45-6789). Bare 9-digit runs are NOT\n * matched (too many false positives: ids, tracking numbers).\n * - Payment-card-like runs: 13–19 digits in groups separated by\n * spaces/dashes (4111 1111 1111 1111) or contiguous 15–16 digits.\n */\nconst BUILT_IN_PATTERNS: RegExp[] = [\n /\\b\\d{3}-\\d{2}-\\d{4}\\b/g,\n // Starts and ENDS on a digit so a trailing separator is never\n // consumed (replacing it would glue the placeholder to the next word).\n /\\b\\d(?:[ -]?\\d){12,18}\\b/g,\n];\n\n/** Minimum digit count before a digit-run is treated as a card number. */\nconst CARD_MIN_DIGITS = 13;\n\nexport interface RedactionResult {\n text: string;\n redactions: number;\n}\n\nexport function redactText(\n text: string,\n userPatterns: RegExp[],\n): RedactionResult {\n let redactions = 0;\n let result = text;\n\n // SSN pattern first (more specific than the digit-run pattern).\n result = result.replace(BUILT_IN_PATTERNS[0], () => {\n redactions += 1;\n return REDACTION_PLACEHOLDER;\n });\n\n // Digit-run pattern with a post-match digit-count check so short\n // grouped numbers (\"call 555 0125 today\") survive.\n result = result.replace(BUILT_IN_PATTERNS[1], (match) => {\n const digits = match.replace(/\\D/g, \"\");\n if (digits.length < CARD_MIN_DIGITS || digits.length > 19) {\n return match;\n }\n redactions += 1;\n return REDACTION_PLACEHOLDER;\n });\n\n for (const pattern of userPatterns) {\n result = result.replace(pattern, () => {\n redactions += 1;\n return REDACTION_PLACEHOLDER;\n });\n }\n\n return { text: result, redactions };\n}\n\n/**\n * Compile user-supplied redaction patterns. Throws with a descriptive\n * message on the first invalid pattern — config parsing surfaces this\n * to the operator instead of silently skipping the rule.\n */\nexport function compileRedactionPatterns(patterns: string[]): RegExp[] {\n return patterns.map((pattern, index) => {\n if (typeof pattern !== \"string\" || pattern.trim().length === 0) {\n throw new Error(\n `wearables.redactionPatterns[${index}] must be a non-empty string`,\n );\n }\n if (pattern.length > 256) {\n throw new Error(\n `wearables.redactionPatterns[${index}] exceeds 256 characters — redaction patterns must stay short`,\n );\n }\n try {\n // Operator-supplied regexes from the operator's own config —\n // length-capped above; never request input.\n return new RegExp(pattern, \"gi\");\n } catch (err) {\n throw new Error(\n `wearables.redactionPatterns[${index}] is not a valid regular expression: ${\n err instanceof Error ? err.message : String(err)\n }`,\n );\n }\n });\n}\n\n/**\n * Built-in phrases that BEGIN an off-the-record span.\n *\n * Conservative by design: a false positive elides real transcript\n * content. Every phrase is a fixed multi-word expression, or a loanword\n * that only means \"off the record\" (issue #2196). Operators extend this\n * list through `wearables.offTheRecordMarkers.start`.\n */\nexport const BUILT_IN_OFF_THE_RECORD_START: readonly string[] = [\n \"off the record\",\n \"fuera de registro\",\n \"extraoficialmente\",\n \"fora de registro\",\n \"fora do registro\",\n \"hors micro\",\n \"nicht fürs protokoll\",\n \"nicht für das protokoll\",\n \"fuori registro\",\n \"オフレコ\",\n \"오프더레코드\",\n \"不要记录\",\n \"не для протокола\",\n \"بدون تسجيل\",\n];\n\n/**\n * Built-in phrases that END an off-the-record span.\n *\n * Shorter than the start list on purpose. A start phrase with no\n * matching end phrase elides through the end of the conversation, which\n * is the fail-closed direction; an over-eager end phrase would leak. So\n * a language only appears here when the phrase is unambiguous.\n */\nexport const BUILT_IN_OFF_THE_RECORD_END: readonly string[] = [\n \"back on the record\",\n \"on the record\",\n \"de nuevo en registro\",\n \"de volta ao registro\",\n \"wieder fürs protokoll\",\n \"wieder für das protokoll\",\n \"オンレコ\",\n \"온더레코드\",\n];\n\n/**\n * Loose form of the parsed `OffTheRecordMarkerSettings`: callers that\n * only override one field pass a partial, so every property is\n * optional and read-only here.\n */\nexport type OffTheRecordMarkerInput = {\n readonly [K in keyof OffTheRecordMarkerSettings]?: K extends \"useBuiltIns\"\n ? boolean\n : readonly string[];\n};\n\nexport interface CompiledOffTheRecordMarkers {\n start: RegExp | null;\n end: RegExp | null;\n}\n\n/**\n * Compile marker settings into matchers. Omitting `settings` yields the\n * built-in lists, so callers that never configured markers keep the\n * previous behavior plus the new languages.\n */\nexport function compileOffTheRecordMarkers(\n settings?: OffTheRecordMarkerInput,\n): CompiledOffTheRecordMarkers {\n const useBuiltIns = settings?.useBuiltIns !== false;\n const start = [\n ...(useBuiltIns ? BUILT_IN_OFF_THE_RECORD_START : []),\n ...(settings?.start ?? []),\n ];\n const end = [\n ...(useBuiltIns ? BUILT_IN_OFF_THE_RECORD_END : []),\n ...(settings?.end ?? []),\n ];\n return {\n start: buildPhraseMatcher(start),\n end: buildPhraseMatcher(end),\n };\n}\n\nexport interface OffTheRecordResult {\n conversation: WearableConversation;\n droppedSegments: number;\n}\n\n/**\n * Drop segments between a spoken off-the-record marker and the next\n * back-on-the-record marker (or conversation end). The marker segments\n * themselves are kept, with the off-record span replaced by a visible\n * placeholder so the transcript shows that content was elided by\n * request rather than lost.\n */\nexport function applyOffTheRecord(\n conversation: WearableConversation,\n markers: CompiledOffTheRecordMarkers = compileOffTheRecordMarkers(),\n): OffTheRecordResult {\n if (!markers.start) {\n return { conversation, droppedSegments: 0 };\n }\n let offRecord = false;\n let droppedSegments = 0;\n const segments = [];\n for (const segment of conversation.segments) {\n // Matched folded, stored as written: the transcript keeps the ASR's own\n // bytes while a decomposed or Turkic-uppercase spelling still reaches\n // the marker.\n const probe = foldForMatching(segment.text);\n if (!offRecord && markers.start.test(probe)) {\n offRecord = true;\n segments.push({\n ...segment,\n text: \"[off the record — segment elided]\",\n });\n continue;\n }\n if (offRecord) {\n if (markers.end?.test(probe)) {\n offRecord = false;\n segments.push({\n ...segment,\n text: \"[back on the record]\",\n });\n } else {\n droppedSegments += 1;\n }\n continue;\n }\n segments.push(segment);\n }\n return {\n conversation: { ...conversation, segments },\n droppedSegments,\n };\n}\n"],"mappings":"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","names":["escapeRegExp"]}
@@ -1,16 +1,16 @@
1
1
  import { CompoundingPromotionReport } from './compounding/engine.js';
2
2
  import { ConversationIndexBackendInspection } from './conversation-index/backend.js';
3
3
  import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
4
- import { M as MemoryFile, l as MemoryFrontmatter, y as MemoryStatus, a6 as BehaviorSignalEvent, Q as QmdSearchResult, ab as BulkImportResult, ag as MemoryActionEvent, J as MemoryLifecycleEvent } from './types-D7pB0QwO.js';
5
- import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-CXPIzs3D.js';
6
- import { S as StorageManager } from './storage-B0L76y7N.js';
4
+ import { M as MemoryFile, l as MemoryFrontmatter, y as MemoryStatus, a6 as BehaviorSignalEvent, Q as QmdSearchResult, ab as BulkImportResult, ag as MemoryActionEvent, J as MemoryLifecycleEvent } from './types-BOANGhCJ.js';
5
+ import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-HPuY6I4i.js';
6
+ import { S as StorageManager } from './storage-DS2O_6Qt.js';
7
7
  import { TrustZoneDemoSeedResult, TrustZoneName, TrustZonePromotionResult, TrustZoneStoreStatus } from './trust-zones.js';
8
- import { f as EngramAccessService } from './access-service-BQkRul4d.js';
8
+ import { f as EngramAccessService } from './access-service-BeDYQQ62.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
10
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
11
11
  import { CausalTrajectoryStoreStatus } from './causal-trajectory.js';
12
12
  import { C as ConnectorRunResult, a as ConnectorsOutputFormat } from './connectors-cli-2iaQ5tX2.js';
13
- import { P as ProcessBatchFn } from './pipeline-BuYWU9rt.js';
13
+ import { P as ProcessBatchFn } from './pipeline-CvVe1Q2_.js';
14
14
  import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
15
15
  import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
16
16
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
package/dist/cli.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import './compounding/engine.js';
2
2
  import './conversation-index/backend.js';
3
3
  import './maintenance/migrate-observations.js';
4
- import './types-D7pB0QwO.js';
5
- import './orchestrator-CXPIzs3D.js';
6
- import './storage-B0L76y7N.js';
4
+ import './types-BOANGhCJ.js';
5
+ import './orchestrator-HPuY6I4i.js';
6
+ import './storage-DS2O_6Qt.js';
7
7
  import './trust-zones.js';
8
- export { c as AccessHttpServeCliCommandOptions, d as ArchiveObservationsCliCommandOptions, e as AuditMemoryCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, g as CliCommand, h as CliProgram, i as CompatCliCommandOptions, j as ConnectorsRunCliOutputOptions, k as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, l as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, m as MemoryActionAuditCliNamespaceSummary, n as MemoryActionAuditCliReport, o as MemoryGovernanceCliCommandOptions, q as MemoryGovernanceReportCliCommandOptions, s as MemoryGovernanceRestoreCliCommandOptions, t as MemoryReviewDispositionCliCommandOptions, u as MemoryTimelineCliCommandOptions, v as MigrateCliOrchestrator, w as MigrateCliReport, x as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, y as PolicyDiffEntry, z as PolicyRollbackCliReport, F as PolicyStatusCliReport, H as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, I as RebuildMemoryProjectionCliCommandOptions, J as RebuildObservationsCliCommandOptions, K as RepairMemoryProjectionCliCommandOptions, L as ReplayCliCommandOptions, N as ReplayCliOrchestrator, O as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, Q as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, U as TailscaleSyncCliCommandOptions, V as TierMigrateCliAdapter, W as TierMigrateCoordinatorCliAdapter, X as TierMigrateLegacyCliAdapter, Y as TierStatusCliAdapter, Z as TierStatusCoordinatorCliAdapter, _ as TierStatusLegacyCliAdapter, $ as TrainingExportCliCommandOptions, a0 as VerifyMemoryProjectionCliCommandOptions, a1 as WebDavServeCliCommandOptions, a2 as WorkProjectCliCommandOptions, a3 as WorkTaskCliCommandOptions, a4 as emitConnectorsRunCliResult, a5 as filterNormalMemorySearchResults, a6 as hasDestructivePurgeFailures, a7 as isNormalRetrievalVisibleMemory, a8 as listMemoryMarkdownFilePaths, a9 as parseDurationToMs, aa as parseStrictCliDate, ab as planAggressiveDuplicateDeletions, ac as planExactDuplicateDeletions, ad as registerCli, ae as resolveAccessPrincipalOverride, af as resolveMemoryDirForNamespace, ag as runAbstractionNodeStatusCliCommand, ah as runAccessHttpServeCliCommand, ai as runAccessHttpStatusCliCommand, aj as runAccessHttpStopCliCommand, ak as runAccessMcpServeCliCommand, al as runArchiveObservationsCliCommand, r as runAuditMemoryCliCommand, am as runBenchmarkBaselineReportCliCommand, an as runBenchmarkBaselineSnapshotCliCommand, ao as runBenchmarkCiGateCliCommand, ap as runBenchmarkImportCliCommand, aq as runBenchmarkStatusCliCommand, ar as runBenchmarkStoredBaselineCiGateCliCommand, as as runBenchmarkValidateCliCommand, b as runBulkImportCliCommand, at as runCausalTrajectoryStatusCliCommand, au as runCommitmentLifecycleCliCommand, av as runCommitmentRecordCliCommand, aw as runCommitmentSetStateCliCommand, ax as runCommitmentStatusCliCommand, ay as runCompatCliCommand, az as runCompoundingPromoteCliCommand, aA as runConversationIndexHealthCliCommand, aB as runConversationIndexInspectCliCommand, aC as runConversationIndexRebuildCliCommand, aD as runCueAnchorStatusCliCommand, aE as runDashboardStartCliCommand, aF as runDashboardStatusCliCommand, aG as runDashboardStopCliCommand, aH as runGraphHealthCliCommand, aI as runHarmonicSearchCliCommand, aJ as runMemoryActionAuditCliCommand, aK as runMemoryGovernanceCliCommand, aL as runMemoryGovernanceReportCliCommand, aM as runMemoryGovernanceRestoreCliCommand, aN as runMemoryReviewDispositionCliCommand, aO as runMemoryTimelineCliCommand, aP as runMigrateNormalizeFrontmatterCliCommand, aQ as runMigrateObservationsCliCommand, aR as runMigrateRechunkCliCommand, aS as runMigrateReextractCliCommand, aT as runMigrateRescoreImportanceCliCommand, aU as runObjectiveStateStatusCliCommand, aV as runPolicyDiffCliCommand, aW as runPolicyRollbackCliCommand, aX as runPolicyStatusCliCommand, aY as runRebuildMemoryLifecycleLedgerCliCommand, aZ as runRebuildMemoryProjectionCliCommand, a_ as runRebuildObservationsCliCommand, a$ as runRepairMemoryProjectionCliCommand, b0 as runReplayCliCommand, b1 as runResumeBundleBuildCliCommand, b2 as runResumeBundleRecordCliCommand, b3 as runResumeBundleStatusCliCommand, b4 as runRouteCliCommand, b5 as runSemanticRulePromoteCliCommand, b6 as runSemanticRuleVerifyCliCommand, b7 as runSessionCheckCliCommand, b8 as runSessionRepairCliCommand, b9 as runTailscaleStatusCliCommand, ba as runTailscaleSyncCliCommand, bb as runTierMigrateCliCommand, bc as runTierStatusCliCommand, bd as runTrainingExportCliCommand, be as runTrustZoneDemoSeedCliCommand, bf as runTrustZonePromoteCliCommand, bg as runTrustZoneStatusCliCommand, bh as runUtilityLearningCliCommand, bi as runUtilityLearningStatusCliCommand, bj as runUtilityTelemetryRecordCliCommand, bk as runUtilityTelemetryStatusCliCommand, bl as runVerifiedRecallSearchCliCommand, bm as runVerifyMemoryProjectionCliCommand, bn as runWebDavServeCliCommand, bo as runWebDavStopCliCommand, bp as runWorkProductRecallSearchCliCommand, bq as runWorkProductRecordCliCommand, br as runWorkProductStatusCliCommand, bs as runWorkProjectCliCommand, bt as runWorkTaskCliCommand } from './cli-DsyVvOFP.js';
9
- import './access-service-BQkRul4d.js';
8
+ export { c as AccessHttpServeCliCommandOptions, d as ArchiveObservationsCliCommandOptions, e as AuditMemoryCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, g as CliCommand, h as CliProgram, i as CompatCliCommandOptions, j as ConnectorsRunCliOutputOptions, k as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, l as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, m as MemoryActionAuditCliNamespaceSummary, n as MemoryActionAuditCliReport, o as MemoryGovernanceCliCommandOptions, q as MemoryGovernanceReportCliCommandOptions, s as MemoryGovernanceRestoreCliCommandOptions, t as MemoryReviewDispositionCliCommandOptions, u as MemoryTimelineCliCommandOptions, v as MigrateCliOrchestrator, w as MigrateCliReport, x as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, y as PolicyDiffEntry, z as PolicyRollbackCliReport, F as PolicyStatusCliReport, H as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, I as RebuildMemoryProjectionCliCommandOptions, J as RebuildObservationsCliCommandOptions, K as RepairMemoryProjectionCliCommandOptions, L as ReplayCliCommandOptions, N as ReplayCliOrchestrator, O as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, Q as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, U as TailscaleSyncCliCommandOptions, V as TierMigrateCliAdapter, W as TierMigrateCoordinatorCliAdapter, X as TierMigrateLegacyCliAdapter, Y as TierStatusCliAdapter, Z as TierStatusCoordinatorCliAdapter, _ as TierStatusLegacyCliAdapter, $ as TrainingExportCliCommandOptions, a0 as VerifyMemoryProjectionCliCommandOptions, a1 as WebDavServeCliCommandOptions, a2 as WorkProjectCliCommandOptions, a3 as WorkTaskCliCommandOptions, a4 as emitConnectorsRunCliResult, a5 as filterNormalMemorySearchResults, a6 as hasDestructivePurgeFailures, a7 as isNormalRetrievalVisibleMemory, a8 as listMemoryMarkdownFilePaths, a9 as parseDurationToMs, aa as parseStrictCliDate, ab as planAggressiveDuplicateDeletions, ac as planExactDuplicateDeletions, ad as registerCli, ae as resolveAccessPrincipalOverride, af as resolveMemoryDirForNamespace, ag as runAbstractionNodeStatusCliCommand, ah as runAccessHttpServeCliCommand, ai as runAccessHttpStatusCliCommand, aj as runAccessHttpStopCliCommand, ak as runAccessMcpServeCliCommand, al as runArchiveObservationsCliCommand, r as runAuditMemoryCliCommand, am as runBenchmarkBaselineReportCliCommand, an as runBenchmarkBaselineSnapshotCliCommand, ao as runBenchmarkCiGateCliCommand, ap as runBenchmarkImportCliCommand, aq as runBenchmarkStatusCliCommand, ar as runBenchmarkStoredBaselineCiGateCliCommand, as as runBenchmarkValidateCliCommand, b as runBulkImportCliCommand, at as runCausalTrajectoryStatusCliCommand, au as runCommitmentLifecycleCliCommand, av as runCommitmentRecordCliCommand, aw as runCommitmentSetStateCliCommand, ax as runCommitmentStatusCliCommand, ay as runCompatCliCommand, az as runCompoundingPromoteCliCommand, aA as runConversationIndexHealthCliCommand, aB as runConversationIndexInspectCliCommand, aC as runConversationIndexRebuildCliCommand, aD as runCueAnchorStatusCliCommand, aE as runDashboardStartCliCommand, aF as runDashboardStatusCliCommand, aG as runDashboardStopCliCommand, aH as runGraphHealthCliCommand, aI as runHarmonicSearchCliCommand, aJ as runMemoryActionAuditCliCommand, aK as runMemoryGovernanceCliCommand, aL as runMemoryGovernanceReportCliCommand, aM as runMemoryGovernanceRestoreCliCommand, aN as runMemoryReviewDispositionCliCommand, aO as runMemoryTimelineCliCommand, aP as runMigrateNormalizeFrontmatterCliCommand, aQ as runMigrateObservationsCliCommand, aR as runMigrateRechunkCliCommand, aS as runMigrateReextractCliCommand, aT as runMigrateRescoreImportanceCliCommand, aU as runObjectiveStateStatusCliCommand, aV as runPolicyDiffCliCommand, aW as runPolicyRollbackCliCommand, aX as runPolicyStatusCliCommand, aY as runRebuildMemoryLifecycleLedgerCliCommand, aZ as runRebuildMemoryProjectionCliCommand, a_ as runRebuildObservationsCliCommand, a$ as runRepairMemoryProjectionCliCommand, b0 as runReplayCliCommand, b1 as runResumeBundleBuildCliCommand, b2 as runResumeBundleRecordCliCommand, b3 as runResumeBundleStatusCliCommand, b4 as runRouteCliCommand, b5 as runSemanticRulePromoteCliCommand, b6 as runSemanticRuleVerifyCliCommand, b7 as runSessionCheckCliCommand, b8 as runSessionRepairCliCommand, b9 as runTailscaleStatusCliCommand, ba as runTailscaleSyncCliCommand, bb as runTierMigrateCliCommand, bc as runTierStatusCliCommand, bd as runTrainingExportCliCommand, be as runTrustZoneDemoSeedCliCommand, bf as runTrustZonePromoteCliCommand, bg as runTrustZoneStatusCliCommand, bh as runUtilityLearningCliCommand, bi as runUtilityLearningStatusCliCommand, bj as runUtilityTelemetryRecordCliCommand, bk as runUtilityTelemetryStatusCliCommand, bl as runVerifiedRecallSearchCliCommand, bm as runVerifyMemoryProjectionCliCommand, bn as runWebDavServeCliCommand, bo as runWebDavStopCliCommand, bp as runWorkProductRecallSearchCliCommand, bq as runWorkProductRecordCliCommand, br as runWorkProductStatusCliCommand, bs as runWorkProjectCliCommand, bt as runWorkTaskCliCommand } from './cli-DB_uakTc.js';
9
+ import './access-service-BeDYQQ62.js';
10
10
  import 'node:stream';
11
11
  import './resolve-auth-token.js';
12
12
  import './causal-trajectory.js';
13
13
  import './connectors-cli-2iaQ5tX2.js';
14
- import './pipeline-BuYWU9rt.js';
14
+ import './pipeline-CvVe1Q2_.js';
15
15
  import './maintenance/memory-governance.js';
16
16
  import './maintenance/rebuild-memory-projection.js';
17
17
  import './maintenance/rebuild-observations.js';
@@ -73,14 +73,14 @@ import './fallback-llm.js';
73
73
  import './resolve-provider-secret.js';
74
74
  import './transcript.js';
75
75
  import './summarizer.js';
76
- import './maintenance-DvkiF7fm.js';
77
- import './catalog-z1UerMbh.js';
76
+ import './maintenance-5c1olVtB.js';
77
+ import './catalog-B2SxZ6LU.js';
78
78
  import './namespaces/search.js';
79
79
  import './utility-runtime.js';
80
80
  import './tier-routing.js';
81
81
  import './lifecycle.js';
82
82
  import './orchestration/compression-guideline-coordinator.js';
83
- import './semantic-consolidation-DMeX8XS0.js';
83
+ import './semantic-consolidation-B1EkeEDj.js';
84
84
  import './connectors/codex-materialize.js';
85
85
  import './logger.js';
86
86
  import './embedding-fallback.js';
@@ -91,11 +91,11 @@ import './extraction-error-classification.js';
91
91
  import './harmonic-retrieval.js';
92
92
  import './trust-score-stage.js';
93
93
  import './trust-score.js';
94
- import './dependency-propagation-delivery-DdwSc1qh.js';
94
+ import './dependency-propagation-delivery-DcOVpK3y.js';
95
95
  import './boxes.js';
96
96
  import './namespaces/storage.js';
97
97
  import './threading.js';
98
- import './scope-profiles-C1QG4Cmv.js';
98
+ import './scope-profiles-ClLtm9gK.js';
99
99
  import './recall-xray.js';
100
100
  import './memory-provenance.js';
101
101
  import './user-model.js';
@@ -106,7 +106,7 @@ import './relevance.js';
106
106
  import './negative.js';
107
107
  import './session-observer-state.js';
108
108
  import './semantic-TddhF0y7.js';
109
- import './service-CT3ENiTO.js';
109
+ import './service-Cf3ANQj9.js';
110
110
  import './extraction-judge.js';
111
111
  import './lcm/engine.js';
112
112
  import './lcm/archive.js';
@@ -116,7 +116,7 @@ import './lcm/dag.js';
116
116
  import './lcm/recall.js';
117
117
  import './lcm/queue.js';
118
118
  import './maintenance/rebuild-memory-lifecycle-ledger.js';
119
- import './access-namespace-preflight-TBXz-8s_.js';
119
+ import './access-namespace-preflight-EMvicnrb.js';
120
120
  import './access-token-capabilities.js';
121
121
  import 'node:async_hooks';
122
122
  import './types-B1VHaf2w.js';
package/dist/cli.js CHANGED
@@ -91,65 +91,65 @@ import {
91
91
  runWorkProductStatusCliCommand,
92
92
  runWorkProjectCliCommand,
93
93
  runWorkTaskCliCommand
94
- } from "./chunk-CZGOLAEW.js";
94
+ } from "./chunk-XD4VGLDL.js";
95
95
  import "./chunk-MMACM5G2.js";
96
96
  import "./chunk-54BGIBCR.js";
97
97
  import "./chunk-H4CKS5B2.js";
98
98
  import "./chunk-FXZTL7F7.js";
99
99
  import "./chunk-HDDRVXX4.js";
100
- import "./chunk-PYHOAXTI.js";
101
- import "./chunk-OWHERGF2.js";
102
- import "./chunk-UP6MOYCB.js";
103
- import "./chunk-BV2TIZ4F.js";
104
- import "./chunk-Z734BLO3.js";
100
+ import "./chunk-LRGSLV7M.js";
105
101
  import "./chunk-OZKVVUJB.js";
106
102
  import "./chunk-2DL3OFLD.js";
107
103
  import "./chunk-G4IAEX6D.js";
104
+ import "./chunk-2NLLXCJG.js";
105
+ import "./chunk-UP6MOYCB.js";
108
106
  import "./chunk-765K3SAT.js";
107
+ import "./chunk-BV2TIZ4F.js";
108
+ import "./chunk-Z734BLO3.js";
109
109
  import "./chunk-FGDKJJZS.js";
110
110
  import "./chunk-AJVLDJU6.js";
111
111
  import "./chunk-TBUEE7XF.js";
112
112
  import "./chunk-EEC4PCG5.js";
113
113
  import "./chunk-PYIFUBRK.js";
114
+ import "./chunk-CM4SZZBN.js";
114
115
  import "./chunk-DQTCGVFK.js";
115
116
  import "./chunk-YLBE6PLR.js";
116
117
  import "./chunk-IIFFC3RL.js";
117
118
  import "./chunk-AXFWMRKI.js";
118
- import "./chunk-OU7RWWW6.js";
119
119
  import "./chunk-HSSERO3E.js";
120
120
  import "./chunk-NOUJNHWG.js";
121
121
  import "./chunk-CDKHKZL5.js";
122
122
  import "./chunk-HDQUQBPW.js";
123
123
  import "./chunk-6FC3IZ26.js";
124
- import "./chunk-FI5EAP4N.js";
124
+ import "./chunk-MJ4UGUR6.js";
125
125
  import "./chunk-HL4DB7TO.js";
126
126
  import "./chunk-OJP3N7UK.js";
127
- import "./chunk-ZOGOOSB3.js";
128
- import "./chunk-QUJC22CT.js";
129
- import "./chunk-RXN7Z2V5.js";
127
+ import "./chunk-H32ANIFP.js";
128
+ import "./chunk-URN7XWGC.js";
129
+ import "./chunk-FQSDU634.js";
130
130
  import "./chunk-WT6UL3UA.js";
131
131
  import "./chunk-AM4T6CHX.js";
132
- import "./chunk-7DHFB5SG.js";
132
+ import "./chunk-2GRLJMKJ.js";
133
+ import "./chunk-3T74IZB3.js";
133
134
  import "./chunk-33JBK2XP.js";
134
- import "./chunk-B4CSPFYN.js";
135
- import "./chunk-EZXGJJXM.js";
135
+ import "./chunk-2RIDW23Y.js";
136
+ import "./chunk-N4OYPGZS.js";
136
137
  import "./chunk-KFY3SGN7.js";
137
138
  import "./chunk-CMTINOFS.js";
138
- import "./chunk-YKZFX2HQ.js";
139
+ import "./chunk-L33N3BCA.js";
139
140
  import "./chunk-RMMVQQA6.js";
140
- import "./chunk-3T74IZB3.js";
141
141
  import "./chunk-UR6PBX2J.js";
142
142
  import "./chunk-6GUG4YNM.js";
143
- import "./chunk-MMZK2DWN.js";
144
143
  import "./chunk-JXS5PDQ7.js";
145
- import "./chunk-C7SRUWBW.js";
144
+ import "./chunk-G3YBWFUC.js";
146
145
  import "./chunk-OZKOPQCM.js";
146
+ import "./chunk-C7SRUWBW.js";
147
147
  import "./chunk-MCA2X4WH.js";
148
- import "./chunk-YNDLCWXS.js";
149
- import "./chunk-AUDJPF4N.js";
148
+ import "./chunk-EZ25VE3G.js";
150
149
  import "./chunk-44442YCH.js";
150
+ import "./chunk-AUDJPF4N.js";
151
151
  import "./chunk-Y4Z4I6WK.js";
152
- import "./chunk-AH2NX6S7.js";
152
+ import "./chunk-HEEEMJ26.js";
153
153
  import "./chunk-KJTKLXTH.js";
154
154
  import "./chunk-2DQ2XREU.js";
155
155
  import "./chunk-ACPCA4NO.js";
@@ -159,8 +159,8 @@ import "./chunk-NOB2T2FC.js";
159
159
  import "./chunk-B7RWBZXW.js";
160
160
  import "./chunk-YBPYIAA5.js";
161
161
  import "./chunk-6TBIWIAG.js";
162
- import "./chunk-4IIKJOYM.js";
163
- import "./chunk-HVP33QVW.js";
162
+ import "./chunk-DSA47WBN.js";
163
+ import "./chunk-ZKOPY4WW.js";
164
164
  import "./chunk-62OKGIJA.js";
165
165
  import "./chunk-7RAJ3GXO.js";
166
166
  import "./chunk-Z5LAYHGJ.js";
@@ -175,35 +175,35 @@ import "./chunk-PIG4WJFQ.js";
175
175
  import "./chunk-T3JQTCCO.js";
176
176
  import "./chunk-KFZY2OFH.js";
177
177
  import "./chunk-LBJBNWS2.js";
178
- import "./chunk-I4BLRM7X.js";
178
+ import "./chunk-GN7HO2LA.js";
179
179
  import "./chunk-V7IZKJI3.js";
180
180
  import "./chunk-TB6CBZ5V.js";
181
181
  import "./chunk-SEDEKFYQ.js";
182
- import "./chunk-RKNJBZ55.js";
182
+ import "./chunk-JBPKEARU.js";
183
+ import "./chunk-TMSXWOBZ.js";
183
184
  import "./chunk-J64TK33U.js";
184
185
  import "./chunk-RSUYKGGZ.js";
185
186
  import "./chunk-42NQ7AVG.js";
186
- import "./chunk-TMSXWOBZ.js";
187
187
  import "./chunk-7RXCMVFQ.js";
188
188
  import "./chunk-3HSRWJTC.js";
189
- import "./chunk-7G34CBKS.js";
190
- import "./chunk-YBCZTBN2.js";
189
+ import "./chunk-EIQFIJDM.js";
190
+ import "./chunk-KAB7TZN3.js";
191
191
  import "./chunk-6ZYQ36IB.js";
192
- import "./chunk-KXYMU4IN.js";
192
+ import "./chunk-4JGSG7QN.js";
193
193
  import "./chunk-HIEWDJ2O.js";
194
194
  import "./chunk-A5KNZSNA.js";
195
195
  import "./chunk-D24OXEPB.js";
196
- import "./chunk-FUWS2MNJ.js";
197
- import "./chunk-BPM6UHUL.js";
198
- import "./chunk-VOKK4WCG.js";
196
+ import "./chunk-XBR5BAKW.js";
197
+ import "./chunk-VWDTV6SH.js";
198
+ import "./chunk-3GPBFDXH.js";
199
199
  import "./chunk-7T4TOGMS.js";
200
200
  import "./chunk-7YQ6ESEA.js";
201
- import "./chunk-R7IV3EUJ.js";
202
- import "./chunk-T2VJ2EO5.js";
201
+ import "./chunk-JKW663ZN.js";
202
+ import "./chunk-N4EPIKSY.js";
203
203
  import "./chunk-LTBKKSCX.js";
204
204
  import "./chunk-EQWEIIKQ.js";
205
- import "./chunk-MDVBCPOS.js";
206
205
  import "./chunk-7BY7V4YX.js";
206
+ import "./chunk-MDVBCPOS.js";
207
207
  import "./chunk-35NN3ZFA.js";
208
208
  import "./chunk-CEN6DW6X.js";
209
209
  import "./chunk-T4WDJPEZ.js";
@@ -214,11 +214,11 @@ import "./chunk-GZ3R6XOE.js";
214
214
  import "./chunk-CK5KOVHW.js";
215
215
  import "./chunk-DJUKBGAD.js";
216
216
  import "./chunk-G73MCJKL.js";
217
- import "./chunk-L3JVAM5Q.js";
218
- import "./chunk-6C7Q6NG3.js";
217
+ import "./chunk-PA5OPZX2.js";
218
+ import "./chunk-AWRJBAIH.js";
219
219
  import "./chunk-GDASG7NC.js";
220
220
  import "./chunk-GDB4J2H3.js";
221
- import "./chunk-BTHDQOF4.js";
221
+ import "./chunk-QYN5PXDZ.js";
222
222
  import "./chunk-VQ7B2Q6M.js";
223
223
  import "./chunk-PJSK6OJM.js";
224
224
  import "./chunk-GNVZQ5JN.js";
@@ -227,10 +227,10 @@ import "./chunk-KQS72GCR.js";
227
227
  import "./chunk-P5FPO2BR.js";
228
228
  import "./chunk-S4DDLTPX.js";
229
229
  import "./chunk-H7XKCNR6.js";
230
- import "./chunk-UBSM6TZP.js";
230
+ import "./chunk-76YNCJ5H.js";
231
231
  import "./chunk-SOBJ6NEY.js";
232
- import "./chunk-KF75ANST.js";
233
- import "./chunk-DE6YCZEE.js";
232
+ import "./chunk-EHMMRZOZ.js";
233
+ import "./chunk-CIA6ZUBA.js";
234
234
  import "./chunk-CVILPI77.js";
235
235
  import "./chunk-2HIJHXB3.js";
236
236
  import "./chunk-AQEJKOKI.js";
@@ -249,45 +249,45 @@ import "./chunk-JUXOTY6J.js";
249
249
  import "./chunk-QDW3E4RD.js";
250
250
  import "./chunk-LTHVM4XN.js";
251
251
  import "./chunk-DLQQU4EG.js";
252
- import "./chunk-7ZNJN5WZ.js";
253
252
  import "./chunk-C37ZRXX7.js";
254
- import "./chunk-G3JFFUKR.js";
255
- import "./chunk-VJXSAJFW.js";
256
- import "./chunk-OV36CROW.js";
257
- import "./chunk-MG7GI4TT.js";
253
+ import "./chunk-7ZNJN5WZ.js";
254
+ import "./chunk-FW73HN33.js";
255
+ import "./chunk-I67HKRBF.js";
256
+ import "./chunk-XDK6ZFLL.js";
257
+ import "./chunk-S3B3UIQ3.js";
258
258
  import "./chunk-UFGFMWAD.js";
259
259
  import "./chunk-YMOPYG3K.js";
260
260
  import "./chunk-2LSZVONP.js";
261
261
  import "./chunk-DEUNUKTD.js";
262
262
  import "./chunk-LXY5VVGM.js";
263
- import "./chunk-4UUF2EX3.js";
263
+ import "./chunk-KPML4Q3M.js";
264
264
  import "./chunk-PD6O7AXF.js";
265
265
  import "./chunk-OD4FM2U7.js";
266
266
  import "./chunk-ZY2MNJR6.js";
267
- import "./chunk-KBIIE57I.js";
267
+ import "./chunk-MU3TPZOV.js";
268
268
  import "./chunk-RDFF2NAU.js";
269
269
  import "./chunk-HXXGZ4KV.js";
270
- import "./chunk-P5OYNV7B.js";
271
- import "./chunk-2VHCLHZ5.js";
270
+ import "./chunk-W3Y6FYRK.js";
271
+ import "./chunk-YUIBXMZY.js";
272
272
  import "./chunk-UHVXE24Y.js";
273
273
  import "./chunk-KHQ57QLJ.js";
274
274
  import "./chunk-SXIMQLGV.js";
275
- import "./chunk-P6GOYLHN.js";
276
- import "./chunk-JNWISMYG.js";
275
+ import "./chunk-QWPAQLYV.js";
276
+ import "./chunk-7N7DB4L5.js";
277
277
  import "./chunk-VYISFWVX.js";
278
278
  import "./chunk-6KTXE6A3.js";
279
- import "./chunk-JHMAYABJ.js";
280
- import "./chunk-G5OB4XZX.js";
279
+ import "./chunk-XL3TATMJ.js";
280
+ import "./chunk-VANZKHTN.js";
281
281
  import "./chunk-CYEPCZN5.js";
282
- import "./chunk-OLX2HJFW.js";
283
- import "./chunk-GUMZC2BO.js";
282
+ import "./chunk-YLHM5BQQ.js";
284
283
  import "./chunk-W7IGLX4G.js";
284
+ import "./chunk-GUMZC2BO.js";
285
285
  import "./chunk-227UFSEQ.js";
286
286
  import "./chunk-ET356KSB.js";
287
287
  import "./chunk-72A4L5JJ.js";
288
288
  import "./chunk-A7Q43EUZ.js";
289
289
  import "./chunk-S2V7RUCL.js";
290
- import "./chunk-LLZKOSGM.js";
290
+ import "./chunk-5WVUO6QT.js";
291
291
  import "./chunk-S2HLHAZ4.js";
292
292
  import "./chunk-SCU65EZI.js";
293
293
  import "./chunk-PO7NXBG2.js";
@@ -308,10 +308,10 @@ import "./chunk-RBOJCG4T.js";
308
308
  import "./chunk-GSTIBXBW.js";
309
309
  import "./chunk-5WITETWU.js";
310
310
  import "./chunk-6CIAGZ6X.js";
311
- import "./chunk-RVO6TCTU.js";
311
+ import "./chunk-QCECHYZL.js";
312
312
  import "./chunk-URS5GSM7.js";
313
- import "./chunk-IUM3VSHI.js";
314
313
  import "./chunk-ZLQ37WJX.js";
314
+ import "./chunk-IUM3VSHI.js";
315
315
  import "./chunk-XMMESCPD.js";
316
316
  import "./chunk-42JKGUFJ.js";
317
317
  import "./chunk-UW5NPZJ2.js";
@@ -338,9 +338,9 @@ import "./chunk-Z7L72ZHL.js";
338
338
  import "./chunk-4O4TKIXQ.js";
339
339
  import "./chunk-TBBDFYXW.js";
340
340
  import "./chunk-ZBJMUXZH.js";
341
- import "./chunk-5W7CTZ2E.js";
342
- import "./chunk-UVYI6VIX.js";
341
+ import "./chunk-KQAFEZQX.js";
343
342
  import "./chunk-WEHSQBFR.js";
343
+ import "./chunk-X7Y7WX73.js";
344
344
  import "./chunk-J4EB7DNW.js";
345
345
  import "./chunk-BJMBJZ2Y.js";
346
346
  import "./chunk-UKJAGEXH.js";
@@ -1,5 +1,5 @@
1
1
  import { ActionStrategyId, CausalTrajectoryStrictReadResult, ActionIntent } from '../causal-trajectory.js';
2
- import { C as CodingContext } from '../types-D7pB0QwO.js';
2
+ import { C as CodingContext } from '../types-BOANGhCJ.js';
3
3
  import '../objective-state.js';
4
4
  import '../message-parts/index.js';
5
5
  import '../bounded-jsonl-state.js';
@@ -1,5 +1,5 @@
1
- import { S as StorageManager } from '../storage-B0L76y7N.js';
2
- import { P as PluginConfig } from '../types-D7pB0QwO.js';
1
+ import { S as StorageManager } from '../storage-DS2O_6Qt.js';
2
+ import { P as PluginConfig } from '../types-BOANGhCJ.js';
3
3
  import { SharedFeedbackEntry } from '../shared-context/manager.js';
4
4
  import { QmdConfigProjection } from '../capabilities.js';
5
5
  import '../corpus-read-cancellation.js';
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  CompoundingEngine,
3
3
  defaultTierMigrationCycleBudget
4
- } from "../chunk-EWL5DICB.js";
5
- import "../chunk-ER4BLWI6.js";
4
+ } from "../chunk-QRKYABS6.js";
5
+ import "../chunk-VI637ILW.js";
6
6
  import "../chunk-UYCIS6V5.js";
7
- import "../chunk-2VHCLHZ5.js";
7
+ import "../chunk-YUIBXMZY.js";
8
8
  import "../chunk-UHVXE24Y.js";
9
9
  import "../chunk-KHQ57QLJ.js";
10
10
  import "../chunk-SXIMQLGV.js";
11
- import "../chunk-P6GOYLHN.js";
12
- import "../chunk-JNWISMYG.js";
11
+ import "../chunk-QWPAQLYV.js";
12
+ import "../chunk-7N7DB4L5.js";
13
13
  import "../chunk-VYISFWVX.js";
14
14
  import "../chunk-6KTXE6A3.js";
15
- import "../chunk-JHMAYABJ.js";
16
- import "../chunk-G5OB4XZX.js";
15
+ import "../chunk-XL3TATMJ.js";
16
+ import "../chunk-VANZKHTN.js";
17
17
  import "../chunk-CYEPCZN5.js";
18
- import "../chunk-OLX2HJFW.js";
19
- import "../chunk-GUMZC2BO.js";
18
+ import "../chunk-YLHM5BQQ.js";
20
19
  import "../chunk-W7IGLX4G.js";
20
+ import "../chunk-GUMZC2BO.js";
21
21
  import "../chunk-227UFSEQ.js";
22
22
  import "../chunk-ET356KSB.js";
23
23
  import "../chunk-72A4L5JJ.js";
24
24
  import "../chunk-A7Q43EUZ.js";
25
25
  import "../chunk-S2V7RUCL.js";
26
- import "../chunk-LLZKOSGM.js";
26
+ import "../chunk-5WVUO6QT.js";
27
27
  import "../chunk-S2HLHAZ4.js";
28
28
  import "../chunk-SCU65EZI.js";
29
29
  import "../chunk-PO7NXBG2.js";
@@ -44,10 +44,10 @@ import "../chunk-RBOJCG4T.js";
44
44
  import "../chunk-GSTIBXBW.js";
45
45
  import "../chunk-5WITETWU.js";
46
46
  import "../chunk-6CIAGZ6X.js";
47
- import "../chunk-RVO6TCTU.js";
47
+ import "../chunk-QCECHYZL.js";
48
48
  import "../chunk-URS5GSM7.js";
49
- import "../chunk-IUM3VSHI.js";
50
49
  import "../chunk-ZLQ37WJX.js";
50
+ import "../chunk-IUM3VSHI.js";
51
51
  import "../chunk-XMMESCPD.js";
52
52
  import "../chunk-42JKGUFJ.js";
53
53
  import "../chunk-UW5NPZJ2.js";
@@ -1,4 +1,4 @@
1
- import { w as MemoryCategory, M as MemoryFile } from '../types-D7pB0QwO.js';
1
+ import { w as MemoryCategory, M as MemoryFile } from '../types-BOANGhCJ.js';
2
2
  import { LcmEngine } from '../lcm/engine.js';
3
3
  import '../message-parts/index.js';
4
4
  import '../bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { ac as CompressionGuidelineOptimizerEventCounts, ad as CompressionGuidelineOptimizerActionSummary, ae as CompressionGuidelineOptimizerRuleUpdate, af as MemoryActionType, ag as MemoryActionEvent, ah as CompressionGuidelineOptimizerState } from './types-D7pB0QwO.js';
1
+ import { ac as CompressionGuidelineOptimizerEventCounts, ad as CompressionGuidelineOptimizerActionSummary, ae as CompressionGuidelineOptimizerRuleUpdate, af as MemoryActionType, ag as MemoryActionEvent, ah as CompressionGuidelineOptimizerState } from './types-BOANGhCJ.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig } from './types-D7pB0QwO.js';
1
+ import { P as PluginConfig } from './types-BOANGhCJ.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';