@remnic/core 9.4.2 → 9.5.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 (337) hide show
  1. package/dist/access-admin-ops-surface.d.ts +5 -5
  2. package/dist/access-admin-ops-surface.js +26 -26
  3. package/dist/access-boundary.d.ts +26 -7
  4. package/dist/access-boundary.js +31 -27
  5. package/dist/access-cli.js +79 -77
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-http.d.ts +51 -5
  8. package/dist/access-http.js +38 -36
  9. package/dist/access-identity-continuity-surface.d.ts +4 -4
  10. package/dist/access-identity-continuity-surface.js +26 -26
  11. package/dist/access-lcm-surface.d.ts +5 -5
  12. package/dist/access-lcm-surface.js +26 -26
  13. package/dist/access-mcp.d.ts +15 -5
  14. package/dist/access-mcp.js +35 -33
  15. package/dist/access-observe-write-surface.d.ts +5 -5
  16. package/dist/access-observe-write-surface.js +26 -26
  17. package/dist/access-operations-batch.js +31 -30
  18. package/dist/access-operations.d.ts +7 -7
  19. package/dist/access-operations.js +33 -32
  20. package/dist/access-recall-surface.d.ts +5 -5
  21. package/dist/access-recall-surface.js +26 -26
  22. package/dist/access-schema.js +4 -4
  23. package/dist/{access-service-m-2VO_Ig.d.ts → access-service-DZX0sYAv.d.ts} +3 -3
  24. package/dist/access-service.d.ts +5 -5
  25. package/dist/access-service.js +26 -26
  26. package/dist/access-surface-catalog.d.ts +5 -5
  27. package/dist/access-surface-catalog.js +1 -0
  28. package/dist/access-surface-catalog.js.map +1 -1
  29. package/dist/access-token-capabilities.d.ts +174 -0
  30. package/dist/access-token-capabilities.js +33 -0
  31. package/dist/action-confidence.d.ts +1 -1
  32. package/dist/active-memory-bridge.d.ts +1 -1
  33. package/dist/active-recall.d.ts +1 -1
  34. package/dist/active-recall.js +1 -1
  35. package/dist/adapters/index.js +4 -4
  36. package/dist/adapters/registry.js +2 -2
  37. package/dist/{auto-sync-HMHQHUAG.js → auto-sync-G6IU7L6C.js} +3 -3
  38. package/dist/behavior-learner.d.ts +1 -1
  39. package/dist/behavior-signals.d.ts +1 -1
  40. package/dist/bootstrap.d.ts +4 -4
  41. package/dist/briefing.d.ts +1 -1
  42. package/dist/briefing.js +7 -7
  43. package/dist/buffer-surprise-report.d.ts +1 -1
  44. package/dist/buffer.d.ts +1 -1
  45. package/dist/calibration.d.ts +1 -1
  46. package/dist/capabilities.d.ts +1 -1
  47. package/dist/{capsule-crypto-CZJSLEFG.js → capsule-crypto-RAARDY3M.js} +2 -2
  48. package/dist/capsule-crypto-RAARDY3M.js.map +1 -0
  49. package/dist/{catalog-BxWokdC2.d.ts → catalog-DoH2b0OR.d.ts} +1 -1
  50. package/dist/causal-behavior.d.ts +1 -1
  51. package/dist/causal-behavior.js +5 -5
  52. package/dist/causal-chain.js +3 -3
  53. package/dist/causal-consolidation.d.ts +1 -1
  54. package/dist/causal-consolidation.js +11 -11
  55. package/dist/causal-retrieval.js +3 -3
  56. package/dist/causal-trajectory-graph.d.ts +1 -1
  57. package/dist/causal-trajectory.js +1 -1
  58. package/dist/{chunk-7QWMTOIF.js → chunk-2B7DP7AP.js} +31 -31
  59. package/dist/{chunk-4BFRBP45.js → chunk-2JFDHI2K.js} +2 -2
  60. package/dist/{chunk-OHDJ34CC.js → chunk-2SFEFR5I.js} +2 -2
  61. package/dist/{chunk-E2SPGGUI.js → chunk-4OKLXWDZ.js} +13 -6
  62. package/dist/chunk-4OKLXWDZ.js.map +1 -0
  63. package/dist/{chunk-ILFJ7AVS.js → chunk-4WNLSSHL.js} +35 -21
  64. package/dist/chunk-4WNLSSHL.js.map +1 -0
  65. package/dist/{chunk-YDSWRD33.js → chunk-5K5VEDFY.js} +4 -4
  66. package/dist/{chunk-CZAZX7JP.js → chunk-7BAJAXGB.js} +4 -4
  67. package/dist/{chunk-CXLNZXG5.js → chunk-7XGSIUP5.js} +1 -1
  68. package/dist/{chunk-ZPOROUTX.js → chunk-AOYJVCFN.js} +5 -5
  69. package/dist/{chunk-IC6QX5TC.js → chunk-BGMSRN6I.js} +5 -5
  70. package/dist/{chunk-5QZDMSSN.js → chunk-CXEL3Y22.js} +70 -70
  71. package/dist/{chunk-M5QKGHCR.js → chunk-CYWCKFCL.js} +5 -5
  72. package/dist/{chunk-2U2A5HF4.js → chunk-D2XYYU5Q.js} +5 -5
  73. package/dist/chunk-D7FOKIY5.js +173 -0
  74. package/dist/chunk-D7FOKIY5.js.map +1 -0
  75. package/dist/{chunk-DGYCWCQ7.js → chunk-DZSAXE3T.js} +2 -2
  76. package/dist/{chunk-2BFLDH5F.js → chunk-EEIROWEG.js} +2 -2
  77. package/dist/{chunk-6ZIETXZ2.js → chunk-H5PFR5ZT.js} +2 -2
  78. package/dist/{chunk-2FOD2YY3.js → chunk-I74ZEBMA.js} +236 -103
  79. package/dist/chunk-I74ZEBMA.js.map +1 -0
  80. package/dist/chunk-IC2TCZJ2.js +54 -0
  81. package/dist/chunk-IC2TCZJ2.js.map +1 -0
  82. package/dist/{chunk-66FLU5BT.js → chunk-II6WHCCW.js} +6 -6
  83. package/dist/{chunk-YPEMNNNY.js → chunk-ITWTKT2R.js} +6 -6
  84. package/dist/{chunk-AKUCU7CI.js → chunk-JI5AVXYO.js} +5 -5
  85. package/dist/{chunk-27FLVMDC.js → chunk-KMF67QDQ.js} +7 -7
  86. package/dist/{chunk-FLVL4L3L.js → chunk-KTULX4YO.js} +4 -4
  87. package/dist/{chunk-FZGGZAAU.js → chunk-L2QJQSHL.js} +146 -2
  88. package/dist/chunk-L2QJQSHL.js.map +1 -0
  89. package/dist/{chunk-4P4626RY.js → chunk-L4UZBJNM.js} +4 -4
  90. package/dist/{chunk-JLR3JSTL.js → chunk-L6V3WJ55.js} +3 -3
  91. package/dist/{chunk-6BISDEN6.js → chunk-LNHJ32NK.js} +14 -14
  92. package/dist/{chunk-437S3G37.js → chunk-LNQUAJNC.js} +1 -1
  93. package/dist/{chunk-LOR6ZM5R.js → chunk-MFDJ63U5.js} +2 -2
  94. package/dist/{chunk-HRCACVHL.js → chunk-NFTABV56.js} +2 -2
  95. package/dist/{chunk-OUMTBFSQ.js → chunk-NKCPUHCI.js} +5 -5
  96. package/dist/{chunk-KCJ5H6XQ.js → chunk-ODSYJXDU.js} +2 -2
  97. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  98. package/dist/{chunk-NG7YBCJO.js → chunk-SNBEVJBX.js} +4 -4
  99. package/dist/{chunk-CZAA5N5S.js → chunk-SNNIUDRS.js} +2 -2
  100. package/dist/{chunk-P6SYWE4G.js → chunk-STCCFQU5.js} +9 -9
  101. package/dist/{chunk-X4A62ET7.js → chunk-TI7IHDBQ.js} +17 -17
  102. package/dist/{chunk-BGTAL46Y.js → chunk-TV7C3HCB.js} +2 -2
  103. package/dist/{chunk-EPGWWCZF.js → chunk-UBGAOYBP.js} +6 -6
  104. package/dist/{chunk-M7GGMGMZ.js → chunk-UDCDGP6A.js} +15 -15
  105. package/dist/{chunk-2MR3MFQB.js → chunk-UPSAT4PY.js} +2 -2
  106. package/dist/{chunk-CGS7UKWM.js → chunk-VCW74PNH.js} +2 -2
  107. package/dist/{chunk-DR6PEJU3.js → chunk-VWEWK2BM.js} +44 -59
  108. package/dist/chunk-VWEWK2BM.js.map +1 -0
  109. package/dist/{chunk-CLX5VDNY.js → chunk-Y4RKAQZ7.js} +4 -4
  110. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  111. package/dist/{cli-EiBBOt3r.d.ts → cli-1dghPCO2.d.ts} +3 -3
  112. package/dist/cli.d.ts +6 -6
  113. package/dist/cli.js +57 -55
  114. package/dist/compounding/engine.d.ts +1 -1
  115. package/dist/compounding/engine.js +7 -7
  116. package/dist/compounding/preference-consolidator.d.ts +1 -1
  117. package/dist/compression-optimizer.d.ts +1 -1
  118. package/dist/config.d.ts +1 -1
  119. package/dist/config.js +1 -1
  120. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  121. package/dist/connectors/codex-materialize-runner.js +7 -7
  122. package/dist/connectors/codex-materialize.d.ts +1 -1
  123. package/dist/connectors/index.d.ts +1 -1
  124. package/dist/connectors/index.js +11 -9
  125. package/dist/consolidation-provenance-check.d.ts +1 -1
  126. package/dist/consolidation-undo.d.ts +1 -1
  127. package/dist/contradiction/index.d.ts +1 -1
  128. package/dist/contradiction/index.js +4 -4
  129. package/dist/conversation-index/backend.d.ts +1 -1
  130. package/dist/conversation-index/backend.js +2 -2
  131. package/dist/conversation-index/chunker.d.ts +1 -1
  132. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  133. package/dist/conversation-index/indexer.d.ts +1 -1
  134. package/dist/conversation-index/search.d.ts +1 -1
  135. package/dist/dashboard-runtime.js +2 -2
  136. package/dist/day-summary.d.ts +1 -1
  137. package/dist/delinearize.d.ts +1 -1
  138. package/dist/direct-answer-wiring.d.ts +1 -1
  139. package/dist/direct-answer.d.ts +1 -1
  140. package/dist/embedding-fallback.d.ts +1 -1
  141. package/dist/enrichment/index.d.ts +1 -1
  142. package/dist/entity-retrieval.d.ts +1 -1
  143. package/dist/entity-retrieval.js +7 -7
  144. package/dist/entity-schema.d.ts +1 -1
  145. package/dist/explicit-capture.d.ts +4 -4
  146. package/dist/extraction-faithfulness.d.ts +1 -1
  147. package/dist/extraction-judge-telemetry.d.ts +1 -1
  148. package/dist/extraction-judge-training.d.ts +1 -1
  149. package/dist/extraction-judge.d.ts +1 -1
  150. package/dist/extraction.d.ts +1 -1
  151. package/dist/fallback-llm.d.ts +1 -1
  152. package/dist/{first-start-migration-DY6YCRC2.js → first-start-migration-VBJQL6OI.js} +5 -5
  153. package/dist/graph-dashboard-diff.d.ts +1 -1
  154. package/dist/graph-dashboard-key.d.ts +1 -1
  155. package/dist/graph-dashboard-parser.d.ts +1 -1
  156. package/dist/graph-edge-reinforcement.d.ts +1 -1
  157. package/dist/graph-snapshot.d.ts +1 -1
  158. package/dist/graph.d.ts +1 -1
  159. package/dist/identity-continuity.d.ts +1 -1
  160. package/dist/importance.d.ts +1 -1
  161. package/dist/index.d.ts +13 -10
  162. package/dist/index.js +115 -93
  163. package/dist/intent.d.ts +1 -1
  164. package/dist/lcm/engine.d.ts +1 -1
  165. package/dist/lcm/engine.js +2 -2
  166. package/dist/lcm/index.d.ts +1 -1
  167. package/dist/lcm/index.js +2 -2
  168. package/dist/lcm/tools.d.ts +1 -1
  169. package/dist/lifecycle.d.ts +1 -1
  170. package/dist/live-connectors-runner.d.ts +1 -1
  171. package/dist/local-llm.d.ts +1 -1
  172. package/dist/local-model-endpoint.d.ts +1 -1
  173. package/dist/maintenance/memory-governance.d.ts +1 -1
  174. package/dist/maintenance/memory-governance.js +8 -8
  175. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  176. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  177. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  178. package/dist/mcp-read-only-tools.d.ts +16 -0
  179. package/dist/mcp-read-only-tools.js +8 -0
  180. package/dist/mcp-read-only-tools.js.map +1 -0
  181. package/dist/memory-action-policy.d.ts +1 -1
  182. package/dist/memory-cache.d.ts +1 -1
  183. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  184. package/dist/memory-projection-store.d.ts +1 -1
  185. package/dist/memory-provenance.d.ts +1 -1
  186. package/dist/memory-worth-outcomes.d.ts +1 -1
  187. package/dist/models-json.d.ts +1 -1
  188. package/dist/namespaces/migrate.d.ts +2 -2
  189. package/dist/namespaces/migrate.js +17 -17
  190. package/dist/namespaces/principal.d.ts +1 -1
  191. package/dist/namespaces/search.d.ts +1 -1
  192. package/dist/namespaces/search.js +9 -9
  193. package/dist/namespaces/storage.d.ts +2 -2
  194. package/dist/namespaces/storage.js +7 -7
  195. package/dist/native-knowledge.d.ts +1 -1
  196. package/dist/operator-toolkit.d.ts +1 -1
  197. package/dist/operator-toolkit.js +22 -22
  198. package/dist/orchestration/compression-guideline-coordinator.d.ts +1 -1
  199. package/dist/orchestration/maintenance.d.ts +2 -2
  200. package/dist/orchestration/maintenance.js +9 -9
  201. package/dist/{orchestrator-B2Y28Z9t.d.ts → orchestrator-Dh3WSW_O.d.ts} +3 -3
  202. package/dist/orchestrator.d.ts +4 -4
  203. package/dist/orchestrator.js +81 -79
  204. package/dist/patterns-cli.d.ts +1 -1
  205. package/dist/policy-runtime.d.ts +1 -1
  206. package/dist/provenance.d.ts +1 -1
  207. package/dist/{qmd-Db9mOkzB.d.ts → qmd-DoUVxqND.d.ts} +1 -1
  208. package/dist/qmd-preflight.d.ts +2 -2
  209. package/dist/qmd-recall-cache.d.ts +1 -1
  210. package/dist/qmd.d.ts +2 -2
  211. package/dist/recall-disclosure-escalation.d.ts +1 -1
  212. package/dist/recall-explain-renderer.d.ts +1 -1
  213. package/dist/recall-planner-llm.d.ts +1 -1
  214. package/dist/recall-state.d.ts +1 -1
  215. package/dist/recall-tag-filter.d.ts +1 -1
  216. package/dist/recall-timings.d.ts +1 -1
  217. package/dist/recall-xray-cli.d.ts +1 -1
  218. package/dist/recall-xray-renderer.d.ts +1 -1
  219. package/dist/recall-xray.d.ts +1 -1
  220. package/dist/resolve-auth-token.d.ts +1 -1
  221. package/dist/resume-bundles.js +2 -2
  222. package/dist/retrieval-agents.d.ts +2 -2
  223. package/dist/retrieval-tiers.d.ts +1 -1
  224. package/dist/routing/engine.d.ts +1 -1
  225. package/dist/routing/store.d.ts +1 -1
  226. package/dist/search/embed-helper.d.ts +1 -1
  227. package/dist/search/factory.d.ts +1 -1
  228. package/dist/search/factory.js +8 -8
  229. package/dist/search/index.d.ts +1 -1
  230. package/dist/search/index.js +12 -12
  231. package/dist/search/lancedb-backend.d.ts +1 -1
  232. package/dist/search/lancedb-backend.js +2 -2
  233. package/dist/search/meilisearch-backend.d.ts +1 -1
  234. package/dist/search/meilisearch-backend.js +2 -2
  235. package/dist/search/noop-backend.d.ts +1 -1
  236. package/dist/search/orama-backend.d.ts +1 -1
  237. package/dist/search/orama-backend.js +2 -2
  238. package/dist/search/port.d.ts +1 -1
  239. package/dist/search/remote-backend.d.ts +1 -1
  240. package/dist/{semantic-consolidation-BDVIbLRw.d.ts → semantic-consolidation-Dof1865o.d.ts} +1 -1
  241. package/dist/semantic-consolidation.d.ts +2 -2
  242. package/dist/semantic-consolidation.js +9 -9
  243. package/dist/semantic-rule-promotion.js +7 -7
  244. package/dist/semantic-rule-verifier.d.ts +1 -1
  245. package/dist/semantic-rule-verifier.js +8 -8
  246. package/dist/session-observer-bands.d.ts +1 -1
  247. package/dist/session-observer-state.d.ts +1 -1
  248. package/dist/shared-context/manager.d.ts +1 -1
  249. package/dist/signal.d.ts +1 -1
  250. package/dist/storage.d.ts +1 -1
  251. package/dist/storage.js +6 -6
  252. package/dist/summarizer.d.ts +1 -1
  253. package/dist/summary-snapshot.d.ts +1 -1
  254. package/dist/temporal-supersession.d.ts +1 -1
  255. package/dist/temporal-validity.d.ts +1 -1
  256. package/dist/threading.d.ts +1 -1
  257. package/dist/tier-migration.d.ts +1 -1
  258. package/dist/tier-routing.d.ts +1 -1
  259. package/dist/{tier-stats-TG6GUZ6N.js → tier-stats-5XF4UBRQ.js} +4 -4
  260. package/dist/tokens.d.ts +17 -2
  261. package/dist/tokens.js +3 -1
  262. package/dist/topics.d.ts +1 -1
  263. package/dist/transcript.d.ts +1 -1
  264. package/dist/transfer/backup.js +2 -2
  265. package/dist/transfer/capsule-export.js +3 -3
  266. package/dist/transfer/capsule-import.js +3 -3
  267. package/dist/trust-score-stage.d.ts +1 -1
  268. package/dist/trust-score.d.ts +1 -1
  269. package/dist/{types-ljkd82rn.d.ts → types-C7HUgOuA.d.ts} +1 -1
  270. package/dist/types.d.ts +1 -1
  271. package/dist/utility-runtime.d.ts +1 -1
  272. package/dist/verified-recall.js +8 -8
  273. package/package.json +2 -2
  274. package/src/access-boundary.test.ts +62 -0
  275. package/src/access-boundary.ts +165 -126
  276. package/src/access-http.test.ts +781 -0
  277. package/src/access-http.ts +334 -108
  278. package/src/access-mcp.test.ts +264 -0
  279. package/src/access-mcp.ts +45 -70
  280. package/src/access-operations-batch.ts +35 -12
  281. package/src/access-surface-catalog.test.ts +22 -14
  282. package/src/access-surface-catalog.ts +6 -3
  283. package/src/access-token-capabilities.test.ts +844 -0
  284. package/src/access-token-capabilities.ts +391 -0
  285. package/src/chat/chat-mcp.test.ts +232 -0
  286. package/src/chat/chat-session.ts +34 -0
  287. package/src/index.ts +14 -0
  288. package/src/mcp-read-only-tools.ts +61 -0
  289. package/src/tokens.ts +32 -3
  290. package/dist/chunk-2FOD2YY3.js.map +0 -1
  291. package/dist/chunk-DR6PEJU3.js.map +0 -1
  292. package/dist/chunk-E2SPGGUI.js.map +0 -1
  293. package/dist/chunk-FZGGZAAU.js.map +0 -1
  294. package/dist/chunk-ILFJ7AVS.js.map +0 -1
  295. /package/dist/{capsule-crypto-CZJSLEFG.js.map → access-token-capabilities.js.map} +0 -0
  296. /package/dist/{auto-sync-HMHQHUAG.js.map → auto-sync-G6IU7L6C.js.map} +0 -0
  297. /package/dist/{chunk-7QWMTOIF.js.map → chunk-2B7DP7AP.js.map} +0 -0
  298. /package/dist/{chunk-4BFRBP45.js.map → chunk-2JFDHI2K.js.map} +0 -0
  299. /package/dist/{chunk-OHDJ34CC.js.map → chunk-2SFEFR5I.js.map} +0 -0
  300. /package/dist/{chunk-YDSWRD33.js.map → chunk-5K5VEDFY.js.map} +0 -0
  301. /package/dist/{chunk-CZAZX7JP.js.map → chunk-7BAJAXGB.js.map} +0 -0
  302. /package/dist/{chunk-CXLNZXG5.js.map → chunk-7XGSIUP5.js.map} +0 -0
  303. /package/dist/{chunk-ZPOROUTX.js.map → chunk-AOYJVCFN.js.map} +0 -0
  304. /package/dist/{chunk-IC6QX5TC.js.map → chunk-BGMSRN6I.js.map} +0 -0
  305. /package/dist/{chunk-5QZDMSSN.js.map → chunk-CXEL3Y22.js.map} +0 -0
  306. /package/dist/{chunk-M5QKGHCR.js.map → chunk-CYWCKFCL.js.map} +0 -0
  307. /package/dist/{chunk-2U2A5HF4.js.map → chunk-D2XYYU5Q.js.map} +0 -0
  308. /package/dist/{chunk-DGYCWCQ7.js.map → chunk-DZSAXE3T.js.map} +0 -0
  309. /package/dist/{chunk-2BFLDH5F.js.map → chunk-EEIROWEG.js.map} +0 -0
  310. /package/dist/{chunk-6ZIETXZ2.js.map → chunk-H5PFR5ZT.js.map} +0 -0
  311. /package/dist/{chunk-66FLU5BT.js.map → chunk-II6WHCCW.js.map} +0 -0
  312. /package/dist/{chunk-YPEMNNNY.js.map → chunk-ITWTKT2R.js.map} +0 -0
  313. /package/dist/{chunk-AKUCU7CI.js.map → chunk-JI5AVXYO.js.map} +0 -0
  314. /package/dist/{chunk-27FLVMDC.js.map → chunk-KMF67QDQ.js.map} +0 -0
  315. /package/dist/{chunk-FLVL4L3L.js.map → chunk-KTULX4YO.js.map} +0 -0
  316. /package/dist/{chunk-4P4626RY.js.map → chunk-L4UZBJNM.js.map} +0 -0
  317. /package/dist/{chunk-JLR3JSTL.js.map → chunk-L6V3WJ55.js.map} +0 -0
  318. /package/dist/{chunk-6BISDEN6.js.map → chunk-LNHJ32NK.js.map} +0 -0
  319. /package/dist/{chunk-437S3G37.js.map → chunk-LNQUAJNC.js.map} +0 -0
  320. /package/dist/{chunk-LOR6ZM5R.js.map → chunk-MFDJ63U5.js.map} +0 -0
  321. /package/dist/{chunk-HRCACVHL.js.map → chunk-NFTABV56.js.map} +0 -0
  322. /package/dist/{chunk-OUMTBFSQ.js.map → chunk-NKCPUHCI.js.map} +0 -0
  323. /package/dist/{chunk-KCJ5H6XQ.js.map → chunk-ODSYJXDU.js.map} +0 -0
  324. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  325. /package/dist/{chunk-NG7YBCJO.js.map → chunk-SNBEVJBX.js.map} +0 -0
  326. /package/dist/{chunk-CZAA5N5S.js.map → chunk-SNNIUDRS.js.map} +0 -0
  327. /package/dist/{chunk-P6SYWE4G.js.map → chunk-STCCFQU5.js.map} +0 -0
  328. /package/dist/{chunk-X4A62ET7.js.map → chunk-TI7IHDBQ.js.map} +0 -0
  329. /package/dist/{chunk-BGTAL46Y.js.map → chunk-TV7C3HCB.js.map} +0 -0
  330. /package/dist/{chunk-EPGWWCZF.js.map → chunk-UBGAOYBP.js.map} +0 -0
  331. /package/dist/{chunk-M7GGMGMZ.js.map → chunk-UDCDGP6A.js.map} +0 -0
  332. /package/dist/{chunk-2MR3MFQB.js.map → chunk-UPSAT4PY.js.map} +0 -0
  333. /package/dist/{chunk-CGS7UKWM.js.map → chunk-VCW74PNH.js.map} +0 -0
  334. /package/dist/{chunk-CLX5VDNY.js.map → chunk-Y4RKAQZ7.js.map} +0 -0
  335. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  336. /package/dist/{first-start-migration-DY6YCRC2.js.map → first-start-migration-VBJQL6OI.js.map} +0 -0
  337. /package/dist/{tier-stats-TG6GUZ6N.js.map → tier-stats-5XF4UBRQ.js.map} +0 -0
@@ -5,10 +5,10 @@ import {
5
5
  buildProjectedGovernanceProposedActions,
6
6
  hasGroupedGovernanceActions,
7
7
  shapeMemorySummary
8
- } from "./chunk-X4A62ET7.js";
8
+ } from "./chunk-TI7IHDBQ.js";
9
9
  import "./chunk-GDASG7NC.js";
10
10
  import "./chunk-GDB4J2H3.js";
11
- import "./chunk-M5QKGHCR.js";
11
+ import "./chunk-CYWCKFCL.js";
12
12
  import "./chunk-64SE4X5G.js";
13
13
  import "./chunk-VQ7B2Q6M.js";
14
14
  import "./chunk-ERA5RSMZ.js";
@@ -17,30 +17,30 @@ import "./chunk-PUBTHW5O.js";
17
17
  import "./chunk-S4DDLTPX.js";
18
18
  import "./chunk-FF4KLI5W.js";
19
19
  import "./chunk-BT7NVCML.js";
20
- import "./chunk-H7XKCNR6.js";
21
20
  import "./chunk-2KK5WNQB.js";
22
21
  import "./chunk-SOBJ6NEY.js";
23
22
  import "./chunk-6MMONPHM.js";
23
+ import "./chunk-H7XKCNR6.js";
24
24
  import "./chunk-ICP53SKG.js";
25
25
  import "./chunk-AQEJKOKI.js";
26
26
  import "./chunk-6HMYUWXR.js";
27
27
  import "./chunk-BAVVI5GP.js";
28
- import "./chunk-4BFRBP45.js";
29
- import "./chunk-27FLVMDC.js";
28
+ import "./chunk-2JFDHI2K.js";
29
+ import "./chunk-KMF67QDQ.js";
30
+ import "./chunk-7BAJAXGB.js";
30
31
  import "./chunk-ZIDSD6VC.js";
31
32
  import "./chunk-QWGNDWKB.js";
32
- import "./chunk-YDSWRD33.js";
33
- import "./chunk-4P4626RY.js";
34
- import "./chunk-CYEPCZN5.js";
35
- import "./chunk-CZAZX7JP.js";
36
- import "./chunk-CINZGPSJ.js";
33
+ import "./chunk-5K5VEDFY.js";
34
+ import "./chunk-L4UZBJNM.js";
37
35
  import "./chunk-AER6MT24.js";
36
+ import "./chunk-CINZGPSJ.js";
37
+ import "./chunk-CYEPCZN5.js";
38
38
  import "./chunk-EGGE52UU.js";
39
- import "./chunk-IC6QX5TC.js";
40
- import "./chunk-AKUCU7CI.js";
41
- import "./chunk-FC77VUX5.js";
39
+ import "./chunk-BGMSRN6I.js";
40
+ import "./chunk-JI5AVXYO.js";
42
41
  import "./chunk-TN7THW5U.js";
43
42
  import "./chunk-R5VAVVHP.js";
43
+ import "./chunk-FC77VUX5.js";
44
44
  import "./chunk-3F4N4WDH.js";
45
45
  import "./chunk-WU46YPY6.js";
46
46
  import "./chunk-64UDOIMI.js";
@@ -54,29 +54,31 @@ import "./chunk-K5LLP4CY.js";
54
54
  import "./chunk-3ONXXHQO.js";
55
55
  import "./chunk-ODPLEWB6.js";
56
56
  import "./chunk-ZY2MNJR6.js";
57
+ import "./chunk-7XGSIUP5.js";
57
58
  import "./chunk-OBMR4VIX.js";
58
59
  import "./chunk-2LSZVONP.js";
59
60
  import "./chunk-DEUNUKTD.js";
60
- import "./chunk-CXLNZXG5.js";
61
- import "./chunk-DGYCWCQ7.js";
62
- import "./chunk-M7GGMGMZ.js";
61
+ import "./chunk-TBBDFYXW.js";
62
+ import "./chunk-ZBJMUXZH.js";
63
+ import "./chunk-DZSAXE3T.js";
64
+ import "./chunk-UDCDGP6A.js";
63
65
  import "./chunk-M7XQSUBB.js";
64
66
  import "./chunk-L2B3EE7B.js";
65
67
  import "./chunk-5UZXUTVO.js";
66
68
  import "./chunk-5GPPACXK.js";
67
69
  import "./chunk-EHK6KZHK.js";
68
70
  import "./chunk-6CIAGZ6X.js";
69
- import "./chunk-SVOZFLIQ.js";
70
- import "./chunk-LTJAMRGI.js";
71
71
  import "./chunk-J6A3CX5N.js";
72
72
  import "./chunk-4KJLYTLS.js";
73
+ import "./chunk-SVOZFLIQ.js";
74
+ import "./chunk-LTJAMRGI.js";
73
75
  import "./chunk-JS2HKKOK.js";
76
+ import "./chunk-RHOZ5LLO.js";
77
+ import "./chunk-RL6NEVXT.js";
74
78
  import "./chunk-AWJ2FHCF.js";
75
79
  import "./chunk-42JKGUFJ.js";
76
80
  import "./chunk-RULE4VG5.js";
77
81
  import "./chunk-SCU65EZI.js";
78
- import "./chunk-RHOZ5LLO.js";
79
- import "./chunk-RL6NEVXT.js";
80
82
  import "./chunk-DM2T26WE.js";
81
83
  import "./chunk-LDXUBPMO.js";
82
84
  import "./chunk-MNUHL34L.js";
@@ -90,12 +92,12 @@ import "./chunk-L2EXJQJP.js";
90
92
  import "./chunk-VFSP73LP.js";
91
93
  import "./chunk-RGMVMVMF.js";
92
94
  import "./chunk-N7RWREIQ.js";
93
- import "./chunk-FLVL4L3L.js";
94
- import "./chunk-WEHSQBFR.js";
95
- import "./chunk-437S3G37.js";
95
+ import "./chunk-KTULX4YO.js";
96
+ import "./chunk-LNQUAJNC.js";
96
97
  import "./chunk-GWTFLF2P.js";
97
98
  import "./chunk-UKJAGEXH.js";
98
99
  import "./chunk-FP2373TW.js";
100
+ import "./chunk-WEHSQBFR.js";
99
101
  import "./chunk-J4EB7DNW.js";
100
102
  import "./chunk-Z2YFLXHU.js";
101
103
  import "./chunk-I4WBNM3M.js";
@@ -105,8 +107,8 @@ import "./chunk-U3PN77QT.js";
105
107
  import "./chunk-VSF7AAGE.js";
106
108
  import "./chunk-OEHCMALU.js";
107
109
  import "./chunk-PHK3HARR.js";
108
- import "./chunk-5GKPFL3S.js";
109
110
  import "./chunk-4DJQYKMN.js";
111
+ import "./chunk-5GKPFL3S.js";
110
112
  import "./chunk-EYIEWJNI.js";
111
113
  import "./chunk-JUC24CTX.js";
112
114
  import "./chunk-37CTGERM.js";
@@ -119,8 +121,6 @@ import "./chunk-P7FMDTKL.js";
119
121
  import "./chunk-VS2IYZRU.js";
120
122
  import "./chunk-6MKAMLQL.js";
121
123
  import "./chunk-JAKIDQB2.js";
122
- import "./chunk-TBBDFYXW.js";
123
- import "./chunk-ZBJMUXZH.js";
124
124
  import "./chunk-VFUEZZBS.js";
125
125
  import "./chunk-PVGDJXVK.js";
126
126
  import "./chunk-A2IYSXDQ.js";
@@ -1,11 +1,11 @@
1
1
  import { OperationName } from './access-boundary.js';
2
2
  import 'zod';
3
- import './access-service-m-2VO_Ig.js';
4
- import './catalog-BxWokdC2.js';
5
- import './types-ljkd82rn.js';
3
+ import './access-service-DZX0sYAv.js';
4
+ import './catalog-DoH2b0OR.js';
5
+ import './types-C7HUgOuA.js';
6
6
  import './types-gb_SNtjR.js';
7
7
  import './message-parts/index.js';
8
- import './orchestrator-B2Y28Z9t.js';
8
+ import './orchestrator-Dh3WSW_O.js';
9
9
  import './briefing.js';
10
10
  import './storage.js';
11
11
  import './page-versioning.js';
@@ -35,7 +35,7 @@ import './utility-runtime.js';
35
35
  import './tier-routing.js';
36
36
  import './lifecycle.js';
37
37
  import './orchestration/compression-guideline-coordinator.js';
38
- import './semantic-consolidation-BDVIbLRw.js';
38
+ import './semantic-consolidation-Dof1865o.js';
39
39
  import './connectors/codex-materialize.js';
40
40
  import './logger.js';
41
41
  import './embedding-fallback.js';
@@ -111,6 +111,7 @@ var MCP_TOOLS = [
111
111
  { tool: "dreams_run", operation: "dreams_run" }
112
112
  ];
113
113
  var HTTP_ROUTES = [
114
+ { method: "GET", pathname: "/engram/v1/adapters", operation: "adapters_status" },
114
115
  { method: "POST", pathname: "/engram/v1/recall", operation: "recall" },
115
116
  { method: "POST", pathname: "/engram/v1/coding-context", operation: "set_coding_context" },
116
117
  { method: "POST", pathname: "/engram/v1/capsules/export", operation: "capsule_export" },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/access-surface-catalog.ts"],"sourcesContent":["/**\n * Static inventory of every handler on the MCP and HTTP access surfaces, with\n * its migration status against the access boundary (issue #1525).\n *\n * The fitness test (`access-surface-catalog.test.ts`) walks this catalog,\n * checks each entry against the live registry, and counts unmigrated handlers.\n * The ratchet (`scripts/check-ratchets.mjs`) reads this file and counts\n * `operation: null` entries so the unmigrated count can only decrease.\n *\n * WHEN MIGRATING A HANDLER (follow-up PRs):\n * 1. Add the operation to `access-operations.ts` via `defineOperation`.\n * 2. Flip its entry here from `operation: null` to `operation: \"<name>\"`.\n * 3. Delete the surface-local validation the handler used to do.\n * 4. Run `node scripts/check-ratchets.mjs --update` to ratchet the count\n * down — the improvement is recorded in `scripts/ratchet-baseline.json`.\n *\n * WHEN ADDING A NEW HANDLER:\n * 1. Add the entry here with `operation: null` (the fitness test will fail\n * until you either migrate it or acknowledge it as unmigrated).\n * 2. Migrate it in the same PR if it carries user input — the boundary's\n * whole point is that no new handler bypasses it.\n */\n\nimport type { OperationName } from \"./access-boundary.js\";\n\n/**\n * One row per MCP tool, keyed by the canonical SHORT name (no `engram.`/\n * `remnic.` prefix — both aliases dispatch to the same operation). The name\n * MUST match the tool's short suffix as advertised by `tools/list`.\n */\nexport interface McpToolEntry {\n readonly tool: string;\n readonly operation: OperationName | null;\n}\n\n/**\n * One row per HTTP route that invokes an access-service method. Routes that\n * only serve static assets, SSE streams, or admin console HTML are excluded —\n * they don't carry user-validated request envelopes into the facade.\n */\nexport interface HttpRouteEntry {\n readonly method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n readonly pathname: string;\n readonly operation: OperationName | null;\n}\n\n// Each tool below corresponds 1:1 to an `engram.*` definition in\n// `EngramMcpServer.tools` (access-mcp.ts). The fitness test asserts the live\n// `tools/list` response matches this list by short name, so a new tool cannot\n// land without either migrating it or acknowledging the unmigrated count.\nexport const MCP_TOOLS: readonly McpToolEntry[] = [\n { tool: \"recall\", operation: \"recall\" },\n { tool: \"recall_explain\", operation: \"recall_explain\" },\n { tool: \"set_coding_context\", operation: \"set_coding_context\" },\n { tool: \"recall_tier_explain\", operation: \"recall_tier_explain\" },\n { tool: \"recall_xray\", operation: \"recall_xray\" },\n { tool: \"wearables_status\", operation: \"wearables_status\" },\n { tool: \"wearables_sync\", operation: \"wearables_sync\" },\n { tool: \"transcript_day\", operation: \"transcript_day\" },\n { tool: \"transcript_search\", operation: \"transcript_search\" },\n { tool: \"transcript_memories\", operation: \"transcript_memories\" },\n { tool: \"action_confidence\", operation: \"action_confidence\" },\n { tool: \"chatgpt_memory_inspector\", operation: \"chatgpt_memory_inspector\" },\n { tool: \"day_summary\", operation: \"day_summary\" },\n { tool: \"capsule_export\", operation: \"capsule_export\" },\n { tool: \"capsule_import\", operation: \"capsule_import\" },\n { tool: \"capsule_list\", operation: \"capsule_list\" },\n { tool: \"memory_governance_run\", operation: \"memory_governance_run\" },\n { tool: \"procedure_mining_run\", operation: \"procedure_mining_run\" },\n { tool: \"pattern_reinforcement_run\", operation: \"pattern_reinforcement_run\" },\n { tool: \"procedural_stats\", operation: \"procedural_stats\" },\n { tool: \"memory_get\", operation: \"memory_get\" },\n { tool: \"memory_timeline\", operation: \"memory_timeline\" },\n { tool: \"memory_store\", operation: \"memory_store\" },\n // Correction Contract (issue #1580) — one plan/apply pipeline.\n { tool: \"memory_correct_plan\", operation: \"memory_correct_plan\" },\n { tool: \"memory_correct_apply\", operation: \"memory_correct_apply\" },\n // Conversational memory inspection + correction (issue #1583) — unmigrated\n // handler dispatched to processChatMessage (not a boundary operation).\n { tool: \"memory_chat\", operation: \"chat_message\" },\n { tool: \"coding_decision\", operation: \"coding_decision\" },\n { tool: \"coding_architecture\", operation: \"coding_architecture\" },\n // codegraph parity tools (issue #1554)\n { tool: \"codegraph_index\", operation: \"codegraph_index\" },\n { tool: \"codegraph_list_projects\", operation: \"codegraph_list_projects\" },\n { tool: \"codegraph_delete_project\", operation: \"codegraph_delete_project\" },\n { tool: \"codegraph_index_status\", operation: \"codegraph_index_status\" },\n { tool: \"codegraph_search_graph\", operation: \"codegraph_search_graph\" },\n { tool: \"codegraph_trace_path\", operation: \"codegraph_trace_path\" },\n { tool: \"codegraph_detect_changes\", operation: \"codegraph_detect_changes\" },\n { tool: \"codegraph_query_graph\", operation: \"codegraph_query_graph\" },\n { tool: \"codegraph_get_schema\", operation: \"codegraph_get_schema\" },\n { tool: \"codegraph_get_snippet\", operation: \"codegraph_get_snippet\" },\n { tool: \"codegraph_get_architecture\", operation: \"codegraph_get_architecture\" },\n { tool: \"codegraph_search_code\", operation: \"codegraph_search_code\" },\n { tool: \"codegraph_manage_adr\", operation: \"codegraph_manage_adr\" },\n { tool: \"codegraph_ingest_traces\", operation: \"codegraph_ingest_traces\" },\n { tool: \"coding_delta\", operation: \"coding_delta\" },\n { tool: \"suggestion_submit\", operation: \"suggestion_submit\" },\n { tool: \"entity_get\", operation: \"entity_get\" },\n { tool: \"review_queue_list\", operation: \"review_queue_list\" },\n { tool: \"observe\", operation: \"observe\" },\n { tool: \"lcm_search\", operation: \"lcm_search\" },\n { tool: \"lcm_compaction_flush\", operation: \"lcm_compaction_flush\" },\n { tool: \"lcm_compaction_record\", operation: \"lcm_compaction_record\" },\n { tool: \"continuity_audit_generate\", operation: \"continuity_audit_generate\" },\n { tool: \"continuity_incident_open\", operation: \"continuity_incident_open\" },\n { tool: \"continuity_incident_close\", operation: \"continuity_incident_close\" },\n { tool: \"continuity_incident_list\", operation: \"continuity_incident_list\" },\n { tool: \"continuity_loop_add_or_update\", operation: \"continuity_loop_add_or_update\" },\n { tool: \"continuity_loop_review\", operation: \"continuity_loop_review\" },\n { tool: \"identity_anchor_get\", operation: \"identity_anchor_get\" },\n { tool: \"identity_anchor_update\", operation: \"identity_anchor_update\" },\n { tool: \"memory_identity\", operation: \"memory_identity\" },\n { tool: \"work_task\", operation: \"work_task\" },\n { tool: \"work_project\", operation: \"work_project\" },\n { tool: \"work_board\", operation: \"work_board\" },\n { tool: \"shared_context_write_output\", operation: \"shared_context_write_output\" },\n { tool: \"shared_feedback_record\", operation: \"shared_feedback_record\" },\n { tool: \"shared_priorities_append\", operation: \"shared_priorities_append\" },\n { tool: \"shared_context_cross_signals_run\", operation: \"shared_context_cross_signals_run\" },\n { tool: \"shared_context_curate_daily\", operation: \"shared_context_curate_daily\" },\n { tool: \"compounding_weekly_synthesize\", operation: \"compounding_weekly_synthesize\" },\n { tool: \"compounding_promote_candidate\", operation: \"compounding_promote_candidate\" },\n { tool: \"compression_guidelines_optimize\", operation: \"compression_guidelines_optimize\" },\n { tool: \"compression_guidelines_activate\", operation: \"compression_guidelines_activate\" },\n { tool: \"memory_search\", operation: \"memory_search\" },\n { tool: \"memory_profile\", operation: \"memory_profile\" },\n { tool: \"memory_entities_list\", operation: \"memory_entities_list\" },\n { tool: \"memory_questions\", operation: \"memory_questions\" },\n { tool: \"memory_last_recall\", operation: \"memory_last_recall\" },\n { tool: \"memory_intent_debug\", operation: \"memory_intent_debug\" },\n { tool: \"memory_qmd_debug\", operation: \"memory_qmd_debug\" },\n { tool: \"memory_graph_explain\", operation: \"memory_graph_explain\" },\n { tool: \"graph_snapshot\", operation: \"graph_snapshot\" },\n { tool: \"memory_feedback\", operation: \"memory_feedback\" },\n { tool: \"memory_promote\", operation: \"memory_promote\" },\n { tool: \"memory_outcome\", operation: \"memory_outcome\" },\n { tool: \"memory_action_apply\", operation: \"memory_action_apply\" },\n { tool: \"context_checkpoint\", operation: \"context_checkpoint\" },\n { tool: \"briefing\", operation: \"briefing\" },\n { tool: \"review_list\", operation: \"review_list\" },\n { tool: \"review_resolve\", operation: \"review_resolve\" },\n { tool: \"contradiction_scan_run\", operation: \"contradiction_scan_run\" },\n { tool: \"memory_summarize_hourly\", operation: \"memory_summarize_hourly\" },\n { tool: \"conversation_index_update\", operation: \"conversation_index_update\" },\n { tool: \"profiling_report\", operation: \"profiling_report\" },\n { tool: \"graph_edge_decay_run\", operation: \"graph_edge_decay_run\" },\n { tool: \"live_connectors_run\", operation: \"live_connectors_run\" },\n { tool: \"peer_list\", operation: \"peer_list\" },\n { tool: \"peer_get\", operation: \"peer_get\" },\n { tool: \"peer_set\", operation: \"peer_set\" },\n { tool: \"peer_delete\", operation: \"peer_delete\" },\n { tool: \"peer_profile_get\", operation: \"peer_profile_get\" },\n { tool: \"peer_forget\", operation: \"peer_forget\" },\n { tool: \"console_state\", operation: \"console_state\" },\n { tool: \"dreams_status\", operation: \"dreams_status\" },\n { tool: \"dreams_run\", operation: \"dreams_run\" },\n];\n\n// Each route below corresponds 1:1 to a service-invoking route branch in\n// `EngramAccessHttpServer.handle` (access-http.ts). Pathname patterns use\n// `:param` for path segments. The fitness test asserts each entry resolves\n// against the catalog so a new service route cannot land without either\n// migrating it or acknowledging the unmigrated count. Infrastructure probes\n// (health, adapters, the /mcp delegate, admin console, SSE-only endpoints)\n// carry no user request envelope and are intentionally excluded.\nexport const HTTP_ROUTES: readonly HttpRouteEntry[] = [\n { method: \"POST\", pathname: \"/engram/v1/recall\", operation: \"recall\" },\n { method: \"POST\", pathname: \"/engram/v1/coding-context\", operation: \"set_coding_context\" },\n { method: \"POST\", pathname: \"/engram/v1/capsules/export\", operation: \"capsule_export\" },\n { method: \"POST\", pathname: \"/engram/v1/capsules/import\", operation: \"capsule_import\" },\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: \"offline_sync_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: \"offline_sync_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/files\", operation: \"offline_sync_files\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/file-content\", operation: \"offline_sync_file_content\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply-file-content\", operation: \"offline_sync_apply_file_content\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply\", operation: \"offline_sync_apply\" },\n { method: \"POST\", pathname: \"/engram/v1/recall/explain\", operation: \"recall_explain\" },\n { method: \"POST\", pathname: \"/engram/v1/action-confidence\", operation: \"action_confidence\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/tier-explain\", operation: \"recall_tier_explain\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/xray\", operation: \"recall_xray\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/status\", operation: \"wearables_status\" },\n { method: \"POST\", pathname: \"/engram/v1/wearables/sync\", operation: \"wearables_sync\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcript\", operation: \"transcript_day\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcripts/search\", operation: \"transcript_search\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/memories\", operation: \"transcript_memories\" },\n { method: \"POST\", pathname: \"/engram/v1/observe\", operation: \"observe\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/search\", operation: \"lcm_search\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/flush\", operation: \"lcm_compaction_flush\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/record\", operation: \"lcm_compaction_record\" },\n { method: \"GET\", pathname: \"/engram/v1/lcm/status\", operation: \"lcm_status\" },\n // Correction Contract (issue #1580) — plan/apply/pending.\n { method: \"POST\", pathname: \"/engram/v1/correction/plan\", operation: \"memory_correct_plan\" },\n { method: \"POST\", pathname: \"/engram/v1/correction/apply\", operation: \"memory_correct_apply\" },\n { method: \"GET\", pathname: \"/engram/v1/correction/pending\", operation: \"correction_pending\" },\n { method: \"POST\", pathname: \"/engram/v1/memories\", operation: \"memory_store\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/decisions\", operation: \"coding_decision\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/architecture\", operation: \"coding_architecture\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/delta\", operation: \"coding_delta\" },\n { method: \"POST\", pathname: \"/engram/v1/suggestions\", operation: \"suggestion_submit\" },\n { method: \"GET\", pathname: \"/engram/v1/memories\", operation: \"memory_list\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/timings\", operation: \"recall_timings\" },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id\", operation: \"memory_get\" },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id/timeline\", operation: \"memory_timeline\" },\n { method: \"GET\", pathname: \"/engram/v1/entities\", operation: \"entity_list\" },\n { method: \"GET\", pathname: \"/engram/v1/entities/:id\", operation: \"entity_get\" },\n { method: \"GET\", pathname: \"/engram/v1/review-queue\", operation: \"review_queue_list\" },\n { method: \"GET\", pathname: \"/engram/v1/maintenance\", operation: \"maintenance_status\" },\n { method: \"GET\", pathname: \"/engram/v1/quality\", operation: \"quality_status\" },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/status\", operation: \"trust_zones_status\" },\n { method: \"GET\", pathname: \"/engram/v1/procedural/stats\", operation: \"procedural_stats\" },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/records\", operation: \"trust_zones_records\" },\n { method: \"POST\", pathname: \"/engram/v1/review-disposition\", operation: \"review_disposition\" },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/promote\", operation: \"trust_zones_promote\" },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/demo-seed\", operation: \"trust_zones_demo_seed\" },\n { method: \"POST\", pathname: \"/v1/citations/observed\", operation: \"citations_observed\" },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions\", operation: \"review_list\" },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions/:id\", operation: \"contradiction_detail\" },\n { method: \"POST\", pathname: \"/engram/v1/review/resolve\", operation: \"review_resolve\" },\n { method: \"GET\", pathname: \"/engram/v1/graph/snapshot\", operation: \"graph_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/contradiction-scan\", operation: \"contradiction_scan_run\" },\n { method: \"GET\", pathname: \"/engram/v1/console/state\", operation: \"console_state\" },\n { method: \"GET\", pathname: \"/engram/v1/peers\", operation: \"peer_list\" },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id/profile\", operation: \"peer_profile_get\" },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_get\" },\n { method: \"PUT\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_set\" },\n { method: \"DELETE\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_delete\" },\n { method: \"GET\", pathname: \"/engram/v1/dreams/status\", operation: \"dreams_status\" },\n { method: \"POST\", pathname: \"/engram/v1/dreams/run\", operation: \"dreams_run\" },\n // SSE-only endpoints: carried in the catalog for completeness tracking.\n // The operation registration makes them visible to the boundary; the\n // streaming lifecycle is owned by the HTTP transport (handleGraphEventsSSE).\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot-stream\", operation: \"offline_sync_snapshot_stream\" },\n { method: \"GET\", pathname: \"/engram/v1/graph/events\", operation: \"graph_events\" },\n { method: \"POST\", pathname: \"/engram/v1/chat/message\", operation: \"chat_message\" },\n { method: \"GET\", pathname: \"/engram/v1/chat/events/:id\", operation: \"chat_events\" },\n];\n\n/**\n * Total unmigrated-handler count across both surfaces. The ratchet baseline\n * tracks this number; it may only decrease. `access-surface-catalog.test.ts`\n * recomputes it from the live catalog and asserts equality, so a catalog edit\n * without a baseline bump (or, ideally, a migration) fails the gate.\n */\nexport function countUnmigratedHandlers(): number {\n let count = 0;\n for (const entry of MCP_TOOLS) {\n if (entry.operation === null) count += 1;\n }\n for (const entry of HTTP_ROUTES) {\n if (entry.operation === null) count += 1;\n }\n return count;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/access-surface-catalog.ts"],"sourcesContent":["/**\n * Static inventory of every handler on the MCP and HTTP access surfaces, with\n * its migration status against the access boundary (issue #1525).\n *\n * The fitness test (`access-surface-catalog.test.ts`) walks this catalog,\n * checks each entry against the live registry, and counts unmigrated handlers.\n * The ratchet (`scripts/check-ratchets.mjs`) reads this file and counts\n * `operation: null` entries so the unmigrated count can only decrease.\n *\n * WHEN MIGRATING A HANDLER (follow-up PRs):\n * 1. Add the operation to `access-operations.ts` via `defineOperation`.\n * 2. Flip its entry here from `operation: null` to `operation: \"<name>\"`.\n * 3. Delete the surface-local validation the handler used to do.\n * 4. Run `node scripts/check-ratchets.mjs --update` to ratchet the count\n * down — the improvement is recorded in `scripts/ratchet-baseline.json`.\n *\n * WHEN ADDING A NEW HANDLER:\n * 1. Add the entry here with `operation: null` (the fitness test will fail\n * until you either migrate it or acknowledge it as unmigrated).\n * 2. Migrate it in the same PR if it carries user input — the boundary's\n * whole point is that no new handler bypasses it.\n */\n\nimport type { OperationName } from \"./access-boundary.js\";\n\n/**\n * One row per MCP tool, keyed by the canonical SHORT name (no `engram.`/\n * `remnic.` prefix — both aliases dispatch to the same operation). The name\n * MUST match the tool's short suffix as advertised by `tools/list`.\n */\nexport interface McpToolEntry {\n readonly tool: string;\n readonly operation: OperationName | null;\n}\n\n/**\n * One row per HTTP route that invokes an access-service method. Routes that\n * only serve static assets, SSE streams, or admin console HTML are excluded —\n * they don't carry user-validated request envelopes into the facade.\n */\nexport interface HttpRouteEntry {\n readonly method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n readonly pathname: string;\n readonly operation: OperationName | null;\n}\n\n// Each tool below corresponds 1:1 to an `engram.*` definition in\n// `EngramMcpServer.tools` (access-mcp.ts). The fitness test asserts the live\n// `tools/list` response matches this list by short name, so a new tool cannot\n// land without either migrating it or acknowledging the unmigrated count.\nexport const MCP_TOOLS: readonly McpToolEntry[] = [\n { tool: \"recall\", operation: \"recall\" },\n { tool: \"recall_explain\", operation: \"recall_explain\" },\n { tool: \"set_coding_context\", operation: \"set_coding_context\" },\n { tool: \"recall_tier_explain\", operation: \"recall_tier_explain\" },\n { tool: \"recall_xray\", operation: \"recall_xray\" },\n { tool: \"wearables_status\", operation: \"wearables_status\" },\n { tool: \"wearables_sync\", operation: \"wearables_sync\" },\n { tool: \"transcript_day\", operation: \"transcript_day\" },\n { tool: \"transcript_search\", operation: \"transcript_search\" },\n { tool: \"transcript_memories\", operation: \"transcript_memories\" },\n { tool: \"action_confidence\", operation: \"action_confidence\" },\n { tool: \"chatgpt_memory_inspector\", operation: \"chatgpt_memory_inspector\" },\n { tool: \"day_summary\", operation: \"day_summary\" },\n { tool: \"capsule_export\", operation: \"capsule_export\" },\n { tool: \"capsule_import\", operation: \"capsule_import\" },\n { tool: \"capsule_list\", operation: \"capsule_list\" },\n { tool: \"memory_governance_run\", operation: \"memory_governance_run\" },\n { tool: \"procedure_mining_run\", operation: \"procedure_mining_run\" },\n { tool: \"pattern_reinforcement_run\", operation: \"pattern_reinforcement_run\" },\n { tool: \"procedural_stats\", operation: \"procedural_stats\" },\n { tool: \"memory_get\", operation: \"memory_get\" },\n { tool: \"memory_timeline\", operation: \"memory_timeline\" },\n { tool: \"memory_store\", operation: \"memory_store\" },\n // Correction Contract (issue #1580) — one plan/apply pipeline.\n { tool: \"memory_correct_plan\", operation: \"memory_correct_plan\" },\n { tool: \"memory_correct_apply\", operation: \"memory_correct_apply\" },\n // Conversational memory inspection + correction (issue #1583) — unmigrated\n // handler dispatched to processChatMessage (not a boundary operation).\n { tool: \"memory_chat\", operation: \"chat_message\" },\n { tool: \"coding_decision\", operation: \"coding_decision\" },\n { tool: \"coding_architecture\", operation: \"coding_architecture\" },\n // codegraph parity tools (issue #1554)\n { tool: \"codegraph_index\", operation: \"codegraph_index\" },\n { tool: \"codegraph_list_projects\", operation: \"codegraph_list_projects\" },\n { tool: \"codegraph_delete_project\", operation: \"codegraph_delete_project\" },\n { tool: \"codegraph_index_status\", operation: \"codegraph_index_status\" },\n { tool: \"codegraph_search_graph\", operation: \"codegraph_search_graph\" },\n { tool: \"codegraph_trace_path\", operation: \"codegraph_trace_path\" },\n { tool: \"codegraph_detect_changes\", operation: \"codegraph_detect_changes\" },\n { tool: \"codegraph_query_graph\", operation: \"codegraph_query_graph\" },\n { tool: \"codegraph_get_schema\", operation: \"codegraph_get_schema\" },\n { tool: \"codegraph_get_snippet\", operation: \"codegraph_get_snippet\" },\n { tool: \"codegraph_get_architecture\", operation: \"codegraph_get_architecture\" },\n { tool: \"codegraph_search_code\", operation: \"codegraph_search_code\" },\n { tool: \"codegraph_manage_adr\", operation: \"codegraph_manage_adr\" },\n { tool: \"codegraph_ingest_traces\", operation: \"codegraph_ingest_traces\" },\n { tool: \"coding_delta\", operation: \"coding_delta\" },\n { tool: \"suggestion_submit\", operation: \"suggestion_submit\" },\n { tool: \"entity_get\", operation: \"entity_get\" },\n { tool: \"review_queue_list\", operation: \"review_queue_list\" },\n { tool: \"observe\", operation: \"observe\" },\n { tool: \"lcm_search\", operation: \"lcm_search\" },\n { tool: \"lcm_compaction_flush\", operation: \"lcm_compaction_flush\" },\n { tool: \"lcm_compaction_record\", operation: \"lcm_compaction_record\" },\n { tool: \"continuity_audit_generate\", operation: \"continuity_audit_generate\" },\n { tool: \"continuity_incident_open\", operation: \"continuity_incident_open\" },\n { tool: \"continuity_incident_close\", operation: \"continuity_incident_close\" },\n { tool: \"continuity_incident_list\", operation: \"continuity_incident_list\" },\n { tool: \"continuity_loop_add_or_update\", operation: \"continuity_loop_add_or_update\" },\n { tool: \"continuity_loop_review\", operation: \"continuity_loop_review\" },\n { tool: \"identity_anchor_get\", operation: \"identity_anchor_get\" },\n { tool: \"identity_anchor_update\", operation: \"identity_anchor_update\" },\n { tool: \"memory_identity\", operation: \"memory_identity\" },\n { tool: \"work_task\", operation: \"work_task\" },\n { tool: \"work_project\", operation: \"work_project\" },\n { tool: \"work_board\", operation: \"work_board\" },\n { tool: \"shared_context_write_output\", operation: \"shared_context_write_output\" },\n { tool: \"shared_feedback_record\", operation: \"shared_feedback_record\" },\n { tool: \"shared_priorities_append\", operation: \"shared_priorities_append\" },\n { tool: \"shared_context_cross_signals_run\", operation: \"shared_context_cross_signals_run\" },\n { tool: \"shared_context_curate_daily\", operation: \"shared_context_curate_daily\" },\n { tool: \"compounding_weekly_synthesize\", operation: \"compounding_weekly_synthesize\" },\n { tool: \"compounding_promote_candidate\", operation: \"compounding_promote_candidate\" },\n { tool: \"compression_guidelines_optimize\", operation: \"compression_guidelines_optimize\" },\n { tool: \"compression_guidelines_activate\", operation: \"compression_guidelines_activate\" },\n { tool: \"memory_search\", operation: \"memory_search\" },\n { tool: \"memory_profile\", operation: \"memory_profile\" },\n { tool: \"memory_entities_list\", operation: \"memory_entities_list\" },\n { tool: \"memory_questions\", operation: \"memory_questions\" },\n { tool: \"memory_last_recall\", operation: \"memory_last_recall\" },\n { tool: \"memory_intent_debug\", operation: \"memory_intent_debug\" },\n { tool: \"memory_qmd_debug\", operation: \"memory_qmd_debug\" },\n { tool: \"memory_graph_explain\", operation: \"memory_graph_explain\" },\n { tool: \"graph_snapshot\", operation: \"graph_snapshot\" },\n { tool: \"memory_feedback\", operation: \"memory_feedback\" },\n { tool: \"memory_promote\", operation: \"memory_promote\" },\n { tool: \"memory_outcome\", operation: \"memory_outcome\" },\n { tool: \"memory_action_apply\", operation: \"memory_action_apply\" },\n { tool: \"context_checkpoint\", operation: \"context_checkpoint\" },\n { tool: \"briefing\", operation: \"briefing\" },\n { tool: \"review_list\", operation: \"review_list\" },\n { tool: \"review_resolve\", operation: \"review_resolve\" },\n { tool: \"contradiction_scan_run\", operation: \"contradiction_scan_run\" },\n { tool: \"memory_summarize_hourly\", operation: \"memory_summarize_hourly\" },\n { tool: \"conversation_index_update\", operation: \"conversation_index_update\" },\n { tool: \"profiling_report\", operation: \"profiling_report\" },\n { tool: \"graph_edge_decay_run\", operation: \"graph_edge_decay_run\" },\n { tool: \"live_connectors_run\", operation: \"live_connectors_run\" },\n { tool: \"peer_list\", operation: \"peer_list\" },\n { tool: \"peer_get\", operation: \"peer_get\" },\n { tool: \"peer_set\", operation: \"peer_set\" },\n { tool: \"peer_delete\", operation: \"peer_delete\" },\n { tool: \"peer_profile_get\", operation: \"peer_profile_get\" },\n { tool: \"peer_forget\", operation: \"peer_forget\" },\n { tool: \"console_state\", operation: \"console_state\" },\n { tool: \"dreams_status\", operation: \"dreams_status\" },\n { tool: \"dreams_run\", operation: \"dreams_run\" },\n];\n\n// Each route below corresponds 1:1 to a service-invoking route branch in\n// `EngramAccessHttpServer.handle` (access-http.ts). Pathname patterns use\n// `:param` for path segments. The fitness test asserts each entry resolves\n// against the catalog so a new service route cannot land without either\n// Infrastructure routes (health, the /mcp delegate, admin console, UI assets)\n// carry no user request envelope and are intentionally excluded. The adapters\n// route was migrated through the boundary in issue #1850 round 5 (finding 1):\n// it is now op-gated by `enforceTokenOp(\"adapters_status\")` so a scoped token\n// cannot reach adapter metadata, and is tracked here so the gate is enforced.\nexport const HTTP_ROUTES: readonly HttpRouteEntry[] = [\n { method: \"GET\", pathname: \"/engram/v1/adapters\", operation: \"adapters_status\" },\n { method: \"POST\", pathname: \"/engram/v1/recall\", operation: \"recall\" },\n { method: \"POST\", pathname: \"/engram/v1/coding-context\", operation: \"set_coding_context\" },\n { method: \"POST\", pathname: \"/engram/v1/capsules/export\", operation: \"capsule_export\" },\n { method: \"POST\", pathname: \"/engram/v1/capsules/import\", operation: \"capsule_import\" },\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: \"offline_sync_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: \"offline_sync_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/files\", operation: \"offline_sync_files\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/file-content\", operation: \"offline_sync_file_content\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply-file-content\", operation: \"offline_sync_apply_file_content\" },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply\", operation: \"offline_sync_apply\" },\n { method: \"POST\", pathname: \"/engram/v1/recall/explain\", operation: \"recall_explain\" },\n { method: \"POST\", pathname: \"/engram/v1/action-confidence\", operation: \"action_confidence\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/tier-explain\", operation: \"recall_tier_explain\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/xray\", operation: \"recall_xray\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/status\", operation: \"wearables_status\" },\n { method: \"POST\", pathname: \"/engram/v1/wearables/sync\", operation: \"wearables_sync\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcript\", operation: \"transcript_day\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcripts/search\", operation: \"transcript_search\" },\n { method: \"GET\", pathname: \"/engram/v1/wearables/memories\", operation: \"transcript_memories\" },\n { method: \"POST\", pathname: \"/engram/v1/observe\", operation: \"observe\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/search\", operation: \"lcm_search\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/flush\", operation: \"lcm_compaction_flush\" },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/record\", operation: \"lcm_compaction_record\" },\n { method: \"GET\", pathname: \"/engram/v1/lcm/status\", operation: \"lcm_status\" },\n // Correction Contract (issue #1580) — plan/apply/pending.\n { method: \"POST\", pathname: \"/engram/v1/correction/plan\", operation: \"memory_correct_plan\" },\n { method: \"POST\", pathname: \"/engram/v1/correction/apply\", operation: \"memory_correct_apply\" },\n { method: \"GET\", pathname: \"/engram/v1/correction/pending\", operation: \"correction_pending\" },\n { method: \"POST\", pathname: \"/engram/v1/memories\", operation: \"memory_store\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/decisions\", operation: \"coding_decision\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/architecture\", operation: \"coding_architecture\" },\n { method: \"POST\", pathname: \"/engram/v1/coding/delta\", operation: \"coding_delta\" },\n { method: \"POST\", pathname: \"/engram/v1/suggestions\", operation: \"suggestion_submit\" },\n { method: \"GET\", pathname: \"/engram/v1/memories\", operation: \"memory_list\" },\n { method: \"GET\", pathname: \"/engram/v1/recall/timings\", operation: \"recall_timings\" },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id\", operation: \"memory_get\" },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id/timeline\", operation: \"memory_timeline\" },\n { method: \"GET\", pathname: \"/engram/v1/entities\", operation: \"entity_list\" },\n { method: \"GET\", pathname: \"/engram/v1/entities/:id\", operation: \"entity_get\" },\n { method: \"GET\", pathname: \"/engram/v1/review-queue\", operation: \"review_queue_list\" },\n { method: \"GET\", pathname: \"/engram/v1/maintenance\", operation: \"maintenance_status\" },\n { method: \"GET\", pathname: \"/engram/v1/quality\", operation: \"quality_status\" },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/status\", operation: \"trust_zones_status\" },\n { method: \"GET\", pathname: \"/engram/v1/procedural/stats\", operation: \"procedural_stats\" },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/records\", operation: \"trust_zones_records\" },\n { method: \"POST\", pathname: \"/engram/v1/review-disposition\", operation: \"review_disposition\" },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/promote\", operation: \"trust_zones_promote\" },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/demo-seed\", operation: \"trust_zones_demo_seed\" },\n { method: \"POST\", pathname: \"/v1/citations/observed\", operation: \"citations_observed\" },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions\", operation: \"review_list\" },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions/:id\", operation: \"contradiction_detail\" },\n { method: \"POST\", pathname: \"/engram/v1/review/resolve\", operation: \"review_resolve\" },\n { method: \"GET\", pathname: \"/engram/v1/graph/snapshot\", operation: \"graph_snapshot\" },\n { method: \"POST\", pathname: \"/engram/v1/contradiction-scan\", operation: \"contradiction_scan_run\" },\n { method: \"GET\", pathname: \"/engram/v1/console/state\", operation: \"console_state\" },\n { method: \"GET\", pathname: \"/engram/v1/peers\", operation: \"peer_list\" },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id/profile\", operation: \"peer_profile_get\" },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_get\" },\n { method: \"PUT\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_set\" },\n { method: \"DELETE\", pathname: \"/engram/v1/peers/:id\", operation: \"peer_delete\" },\n { method: \"GET\", pathname: \"/engram/v1/dreams/status\", operation: \"dreams_status\" },\n { method: \"POST\", pathname: \"/engram/v1/dreams/run\", operation: \"dreams_run\" },\n // SSE-only endpoints: carried in the catalog for completeness tracking.\n // The operation registration makes them visible to the boundary; the\n // streaming lifecycle is owned by the HTTP transport (handleGraphEventsSSE).\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot-stream\", operation: \"offline_sync_snapshot_stream\" },\n { method: \"GET\", pathname: \"/engram/v1/graph/events\", operation: \"graph_events\" },\n { method: \"POST\", pathname: \"/engram/v1/chat/message\", operation: \"chat_message\" },\n { method: \"GET\", pathname: \"/engram/v1/chat/events/:id\", operation: \"chat_events\" },\n];\n\n/**\n * Total unmigrated-handler count across both surfaces. The ratchet baseline\n * tracks this number; it may only decrease. `access-surface-catalog.test.ts`\n * recomputes it from the live catalog and asserts equality, so a catalog edit\n * without a baseline bump (or, ideally, a migration) fails the gate.\n */\nexport function countUnmigratedHandlers(): number {\n let count = 0;\n for (const entry of MCP_TOOLS) {\n if (entry.operation === null) count += 1;\n }\n for (const entry of HTTP_ROUTES) {\n if (entry.operation === null) count += 1;\n }\n return count;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,174 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+
3
+ /**
4
+ * Per-token capabilities (issue #1837).
5
+ *
6
+ * A token entry MAY carry an explicit, versioned capabilities record. The
7
+ * record's PRESENCE is mechanically detectable, which is load-bearing for
8
+ * security:
9
+ *
10
+ * - ABSENT `capabilities` field ⇒ a PRE-FEATURE legacy entry (minted
11
+ * before this feature). It is UNRESTRICTED — full access — purely for
12
+ * backward compatibility. This is the ONLY path by which "full access"
13
+ * is granted by omission.
14
+ *
15
+ * - PRESENT `capabilities` record (always carries a `version` marker) ⇒ a
16
+ * token minted by the capability-aware path. Even a new token minted
17
+ * without `--ops`/`--namespaces` records an EXPLICIT unrestricted record
18
+ * (`{ version: 1 }`) — a deliberate, auditable choice, never an
19
+ * accidentally-omitted field. Within the record, the two axes follow
20
+ * absent-vs-present semantics:
21
+ * * axis ABSENT (e.g. no `ops` key) ⇒ unrestricted on that axis.
22
+ * * axis PRESENT and empty (`ops: []`) ⇒ deny all (fail-closed).
23
+ * * axis PRESENT and non-empty ⇒ allow only the listed values.
24
+ *
25
+ * Malformed capability input at mint time (bad version, non-array axes,
26
+ * non-string elements, unknown op names against the catalog, malformed
27
+ * namespace values) is REJECTED — a token is never created from invalid
28
+ * input (rule: invalid input rejected, not defaulted).
29
+ *
30
+ * This module owns the pure capability logic (shape validation, allow-list
31
+ * checks) and the per-request AsyncLocalStorage carrying the presenting
32
+ * token's resolved capabilities down to the access boundary. It imports
33
+ * nothing else in the package except the forbidden-error class, so it can be
34
+ * reused by the token store, the boundary, and the HTTP/MCP surfaces without
35
+ * cycles.
36
+ */
37
+
38
+ /** Current capability-record schema version. */
39
+ declare const TOKEN_CAPABILITIES_VERSION: 1;
40
+ /**
41
+ * Versioned capabilities record stored on a token entry. Presence of this
42
+ * record (vs. an absent field) is what distinguishes a capability-aware
43
+ * token from a pre-feature legacy entry.
44
+ */
45
+ interface TokenCapabilities {
46
+ readonly version: typeof TOKEN_CAPABILITIES_VERSION;
47
+ /**
48
+ * Operations allow-list. `undefined` (key absent) ⇒ unrestricted on this
49
+ * axis. `[]` ⇒ deny all ops (fail-closed). Non-empty ⇒ allow only listed.
50
+ */
51
+ ops?: string[];
52
+ /**
53
+ * Namespaces allow-list. `undefined` ⇒ unrestricted. `[]` ⇒ deny all.
54
+ * Non-empty ⇒ allow only listed.
55
+ */
56
+ namespaces?: string[];
57
+ }
58
+ /** True when `value` is an acceptable namespace allow-list entry. */
59
+ declare function isValidNamespaceValue(value: unknown): value is string;
60
+ /**
61
+ * Normalize a capabilities record for PERSISTENCE/LOAD. Returns `undefined`
62
+ * ONLY when the record is entirely absent (a pre-feature legacy entry ⇒
63
+ * unrestricted). When present, an absent/`undefined` `version` is COERCED to
64
+ * the current default (1) — mirroring {@link validateCapabilitiesForMint} — so
65
+ * a record that mint-validated also load-normalizes without a schema throw.
66
+ * An explicitly-present WRONG version (not 1) is still rejected. Throws on a
67
+ * malformed record (non-object, explicitly-wrong version, malformed axes).
68
+ */
69
+ declare function normalizeCapabilities(raw: unknown): TokenCapabilities | undefined;
70
+ /**
71
+ * Validate a capabilities record at MINT time. ALWAYS returns a versioned
72
+ * record (never `undefined`) so every newly-minted token carries an explicit
73
+ * capability decision — a new token can never gain full access by OMITTING
74
+ * the field. When `raw` is absent/null, the result is an explicit
75
+ * unrestricted record (`{ version: 1 }`), a deliberate/auditable choice. A
76
+ * present-but-`undefined` (or absent) `version` is coerced to the current
77
+ * default (1); an explicitly-wrong version is rejected. This version rule is
78
+ * identical to {@link normalizeCapabilities} (mint/load symmetry). Rejects
79
+ * unknown op names against the catalog and malformed namespace values;
80
+ * throws a plain Error — the caller must NOT create a token when this throws.
81
+ */
82
+ declare function validateCapabilitiesForMint(raw: unknown, validOps: readonly string[]): TokenCapabilities;
83
+ /**
84
+ * True when `caps` imposes any restriction (a present record with at least
85
+ * one axis key). `undefined` (legacy / absent record) ⇒ unrestricted. A
86
+ * present `{ version: 1 }` record with no axes ⇒ also unrestricted (but
87
+ * auditable — it is a deliberate new-token decision, not omission).
88
+ */
89
+ declare function isCapabilityRestricted(caps: TokenCapabilities | undefined | null): boolean;
90
+ /**
91
+ * True when `caps` permits `op`.
92
+ * - record ABSENT (legacy) ⇒ unrestricted (true).
93
+ * - ops axis ABSENT ⇒ unrestricted on this axis (true).
94
+ * - ops axis PRESENT ⇒ `op` must be listed; `[]` ⇒ false (deny all).
95
+ */
96
+ declare function capabilityAllowsOp(caps: TokenCapabilities | undefined | null, op: string): boolean;
97
+ /**
98
+ * True when `caps` permits `namespace`.
99
+ * - record ABSENT / namespaces axis ABSENT ⇒ unrestricted (true).
100
+ * - namespaces axis PRESENT ⇒ `namespace` must be listed; undefined
101
+ * namespace ⇒ false; `[]` ⇒ false (deny all).
102
+ */
103
+ declare function capabilityAllowsNamespace(caps: TokenCapabilities | undefined | null, namespace: string | undefined): boolean;
104
+ /**
105
+ * Throw {@link EngramAccessForbiddenError} when `caps` restricts ops and
106
+ * `op` is not permitted. No-op for unrestricted tokens.
107
+ */
108
+ declare function assertOperationAllowed(caps: TokenCapabilities | undefined | null, op: string): void;
109
+ /**
110
+ * Throw {@link EngramAccessForbiddenError} when `caps` restricts namespaces
111
+ * and `namespace` is not permitted. No-op for unrestricted tokens.
112
+ */
113
+ declare function assertNamespaceAllowed(caps: TokenCapabilities | undefined | null, namespace: string | undefined): void;
114
+ /**
115
+ * Resolve the EFFECTIVE namespace an operation runs against: a present,
116
+ * non-empty request namespace wins, otherwise the server default — the same
117
+ * resolution downstream storage applies
118
+ * (`getWritableStorageForNamespace(undefined)` → `defaultNamespace`). Empty
119
+ * strings are treated as absent. Centralized so every invocation surface
120
+ * (HTTP query/body, MCP `tools/call`, id-loaded records, legacy pairs that
121
+ * carry no namespace) applies ONE rule and none can dodge the check by
122
+ * dropping the param. (issue #1850)
123
+ */
124
+ declare function resolveEffectiveNamespace(namespace: string | undefined, defaultNamespace: string | undefined): string | undefined;
125
+ /**
126
+ * The single effective-namespace allow-list chokepoint (issues #1837/#1850).
127
+ * Throws {@link EngramAccessForbiddenError} when `caps` carries a namespaces
128
+ * allow-list and the EFFECTIVE namespace (request value OR server default) is
129
+ * not a member. FAIL CLOSED:
130
+ * - a scoped token whose allow-list does not cover the effective namespace
131
+ * (explicit OR defaulted) is rejected;
132
+ * - an absent server default (unconfigured) is also rejected for scoped
133
+ * tokens, so omitting `?namespace=` can never bypass the allow-list.
134
+ * No-op for unrestricted tokens (no namespaces axis) so legacy/unrestricted
135
+ * behavior is unchanged. Both the HTTP transport (`resolveNamespace`) and the
136
+ * MCP dispatch route through this ONE function so no surface is missed.
137
+ */
138
+ declare function enforceNamespaceAllowList(caps: TokenCapabilities | undefined | null, namespace: string | undefined, defaultNamespace: string | undefined): void;
139
+ /**
140
+ * Fleet-wide / global maintenance operation guard (issue #1850 round 10).
141
+ *
142
+ * A distinct escalation class from the id-addressed routes (round 9) and the
143
+ * param-namespace ops (round 4): some boundary operations inherently run
144
+ * ACROSS ALL namespaces — or against a single global layer (compression
145
+ * guidelines, shared context, compounding) that is not namespace-partitioned
146
+ * — and carry NO `namespace` argument, so the MCP `tools/call` effective-
147
+ * namespace chokepoint ({@link enforceNamespaceAllowList}, which only fires
148
+ * when `toolAcceptsNamespace`) never applies. Without this guard a bearer
149
+ * scoped to ONE tenant could trigger maintenance that mutates state in EVERY
150
+ * namespace (privilege escalation).
151
+ *
152
+ * Fail CLOSED exactly like the other shared guards: a namespace-SCOPED token
153
+ * (namespaces axis present) is rejected; unrestricted / legacy tokens (absent
154
+ * record or no namespaces axis — i.e. cron and internal callers that never
155
+ * bind a capability record) are unaffected. Reuses the EXISTING capability
156
+ * model via {@link capabilityAllowsNamespace} — no new "all"/"*" scope concept.
157
+ * Must run BEFORE any side effect so a denial never leaks a partial mutation.
158
+ */
159
+ declare function assertFleetWideOperationAllowed(caps: TokenCapabilities | undefined | null): void;
160
+ /**
161
+ * Per-request AsyncLocalStorage carrying the presenting token's resolved
162
+ * capabilities. The HTTP surface binds the resolved capabilities with
163
+ * `.run(caps, handler)` for the WHOLE authorized request dispatch (NOT
164
+ * `.enterWith()`, which mutates the current async resource and does not
165
+ * reliably isolate the store across the handler's awaits / concurrent
166
+ * requests — risking a fail-open read of undefined mid-handler); the
167
+ * access boundary reads `.getStore()` to enforce the ops allow-list for
168
+ * every boundary operation without each dispatch site threading the value
169
+ * explicitly. Unset (CLI, direct boundary callers, tests) ⇒ undefined ⇒
170
+ * unrestricted (issue #1850 round 7).
171
+ */
172
+ declare const tokenCapabilityStore: AsyncLocalStorage<TokenCapabilities | undefined>;
173
+
174
+ export { TOKEN_CAPABILITIES_VERSION, type TokenCapabilities, assertFleetWideOperationAllowed, assertNamespaceAllowed, assertOperationAllowed, capabilityAllowsNamespace, capabilityAllowsOp, enforceNamespaceAllowList, isCapabilityRestricted, isValidNamespaceValue, normalizeCapabilities, resolveEffectiveNamespace, tokenCapabilityStore, validateCapabilitiesForMint };
@@ -0,0 +1,33 @@
1
+ import {
2
+ TOKEN_CAPABILITIES_VERSION,
3
+ assertFleetWideOperationAllowed,
4
+ assertNamespaceAllowed,
5
+ assertOperationAllowed,
6
+ capabilityAllowsNamespace,
7
+ capabilityAllowsOp,
8
+ enforceNamespaceAllowList,
9
+ isCapabilityRestricted,
10
+ isValidNamespaceValue,
11
+ normalizeCapabilities,
12
+ resolveEffectiveNamespace,
13
+ tokenCapabilityStore,
14
+ validateCapabilitiesForMint
15
+ } from "./chunk-D7FOKIY5.js";
16
+ import "./chunk-RANHFI3P.js";
17
+ import "./chunk-PZ5AY32C.js";
18
+ export {
19
+ TOKEN_CAPABILITIES_VERSION,
20
+ assertFleetWideOperationAllowed,
21
+ assertNamespaceAllowed,
22
+ assertOperationAllowed,
23
+ capabilityAllowsNamespace,
24
+ capabilityAllowsOp,
25
+ enforceNamespaceAllowList,
26
+ isCapabilityRestricted,
27
+ isValidNamespaceValue,
28
+ normalizeCapabilities,
29
+ resolveEffectiveNamespace,
30
+ tokenCapabilityStore,
31
+ validateCapabilitiesForMint
32
+ };
33
+ //# sourceMappingURL=access-token-capabilities.js.map
@@ -1,5 +1,5 @@
1
1
  import { RetrievedMemoryCorrectionState, RetrievedMemorySafety } from './memory-provenance.js';
2
- import './types-ljkd82rn.js';
2
+ import './types-C7HUgOuA.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
  import './user-model.js';
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, M as MemoryFile } from './types-ljkd82rn.js';
1
+ import { P as PluginConfig, M as MemoryFile } from './types-C7HUgOuA.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { A as ActiveRecallChatType, c as ActiveRecallQueryMode, d as ActiveRecallPromptStyle, e as ActiveRecallThinking, f as ActiveRecallModelFallbackPolicy } from './types-ljkd82rn.js';
1
+ import { A as ActiveRecallChatType, c as ActiveRecallQueryMode, d as ActiveRecallPromptStyle, e as ActiveRecallThinking, f as ActiveRecallModelFallbackPolicy } from './types-C7HUgOuA.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -8,8 +8,8 @@ import "./chunk-OO42R444.js";
8
8
  import "./chunk-K6MV3TRQ.js";
9
9
  import "./chunk-OEHCMALU.js";
10
10
  import "./chunk-PHK3HARR.js";
11
- import "./chunk-5GKPFL3S.js";
12
11
  import "./chunk-4DJQYKMN.js";
12
+ import "./chunk-5GKPFL3S.js";
13
13
  import "./chunk-EYIEWJNI.js";
14
14
  import "./chunk-JUC24CTX.js";
15
15
  import "./chunk-37CTGERM.js";
@@ -1,7 +1,10 @@
1
1
  import "../chunk-SEDEKFYQ.js";
2
2
  import {
3
3
  AdapterRegistry
4
- } from "../chunk-2QSZNTDO.js";
4
+ } from "../chunk-RKNJBZ55.js";
5
+ import {
6
+ ClaudeCodeAdapter
7
+ } from "../chunk-J64TK33U.js";
5
8
  import {
6
9
  CodexAdapter
7
10
  } from "../chunk-RSUYKGGZ.js";
@@ -11,9 +14,6 @@ import {
11
14
  import {
12
15
  ReplitAdapter
13
16
  } from "../chunk-TMSXWOBZ.js";
14
- import {
15
- ClaudeCodeAdapter
16
- } from "../chunk-J64TK33U.js";
17
17
  import "../chunk-7RXCMVFQ.js";
18
18
  import "../chunk-PZ5AY32C.js";
19
19
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AdapterRegistry
3
- } from "../chunk-2QSZNTDO.js";
3
+ } from "../chunk-RKNJBZ55.js";
4
+ import "../chunk-J64TK33U.js";
4
5
  import "../chunk-RSUYKGGZ.js";
5
6
  import "../chunk-42NQ7AVG.js";
6
7
  import "../chunk-TMSXWOBZ.js";
7
- import "../chunk-J64TK33U.js";
8
8
  import "../chunk-7RXCMVFQ.js";
9
9
  import "../chunk-PZ5AY32C.js";
10
10
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  dateInTimezone,
3
3
  defaultTimezone
4
- } from "./chunk-2U2A5HF4.js";
4
+ } from "./chunk-D2XYYU5Q.js";
5
5
  import "./chunk-YFBTVOMB.js";
6
6
  import "./chunk-JXS5PDQ7.js";
7
7
  import "./chunk-NDAH7BJ5.js";
@@ -9,6 +9,7 @@ import {
9
9
  describeErrorForOperator
10
10
  } from "./chunk-V7IZKJI3.js";
11
11
  import "./chunk-QDW3E4RD.js";
12
+ import "./chunk-ZBJMUXZH.js";
12
13
  import "./chunk-M7XQSUBB.js";
13
14
  import "./chunk-RL6NEVXT.js";
14
15
  import "./chunk-JIKJPDQJ.js";
@@ -20,7 +21,6 @@ import "./chunk-N7RWREIQ.js";
20
21
  import "./chunk-EYIEWJNI.js";
21
22
  import "./chunk-JUC24CTX.js";
22
23
  import "./chunk-37CTGERM.js";
23
- import "./chunk-ZBJMUXZH.js";
24
24
  import "./chunk-PZ5AY32C.js";
25
25
 
26
26
  // src/wearables/auto-sync.ts
@@ -72,4 +72,4 @@ function startWearablesAutoSync(settings, deps) {
72
72
  export {
73
73
  startWearablesAutoSync
74
74
  };
75
- //# sourceMappingURL=auto-sync-HMHQHUAG.js.map
75
+ //# sourceMappingURL=auto-sync-G6IU7L6C.js.map
@@ -1,4 +1,4 @@
1
- import { B as BehaviorSignalEvent, P as PluginConfig, g as BehaviorLoopPolicyState } from './types-ljkd82rn.js';
1
+ import { B as BehaviorSignalEvent, P as PluginConfig, g as BehaviorLoopPolicyState } from './types-C7HUgOuA.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { h as MemoryCategory, B as BehaviorSignalEvent } from './types-ljkd82rn.js';
1
+ import { t as MemoryCategory, B as BehaviorSignalEvent } from './types-C7HUgOuA.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4