@remnic/core 10.0.1 → 10.0.3

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 (261) hide show
  1. package/dist/access-admin-ops-surface.js +40 -39
  2. package/dist/access-authorization-probe.js +41 -40
  3. package/dist/access-boundary.js +40 -39
  4. package/dist/access-citation-namespace.js +2 -2
  5. package/dist/access-cli.js +89 -88
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +40 -39
  8. package/dist/access-http-briefing.js +41 -40
  9. package/dist/access-http-query.js +42 -41
  10. package/dist/access-http.js +58 -57
  11. package/dist/access-identity-continuity-surface.js +40 -39
  12. package/dist/access-lcm-surface.js +40 -39
  13. package/dist/access-mcp.js +49 -48
  14. package/dist/access-namespace-preflight.js +40 -39
  15. package/dist/access-observe-write-category.js +9 -9
  16. package/dist/access-observe-write-surface.js +40 -39
  17. package/dist/access-offline-manifest.js +6 -6
  18. package/dist/access-operations-batch.js +41 -40
  19. package/dist/access-operations.js +48 -47
  20. package/dist/access-recall-concurrency.js +40 -39
  21. package/dist/access-recall-response.js +40 -39
  22. package/dist/access-recall-surface.js +40 -39
  23. package/dist/access-schema.js +8 -8
  24. package/dist/access-service.js +40 -39
  25. package/dist/access-surface-catalog.js +42 -41
  26. package/dist/access-surface-catalog.js.map +1 -1
  27. package/dist/active-recall.js +12 -12
  28. package/dist/briefing.js +8 -8
  29. package/dist/causal-consolidation.js +9 -9
  30. package/dist/{chunk-A7V7GZ7F.js → chunk-2DHJTJIY.js} +2 -2
  31. package/dist/{chunk-MJ737UIA.js → chunk-2NV7MMMM.js} +2 -2
  32. package/dist/{chunk-34TSXVQS.js → chunk-2QZFZNXO.js} +2 -2
  33. package/dist/{chunk-TVPDF6CZ.js → chunk-44PBRUXB.js} +2 -2
  34. package/dist/{chunk-YX5F4V7H.js → chunk-4DDIWRT7.js} +2 -2
  35. package/dist/{chunk-EPFNPPWH.js → chunk-4NRZ7BRS.js} +2 -2
  36. package/dist/{chunk-VSPBXHGR.js → chunk-5QXMESS7.js} +2 -2
  37. package/dist/{chunk-S4DDLTPX.js → chunk-5Y43VGYB.js} +2 -2
  38. package/dist/{chunk-VXCTQ3B3.js → chunk-6AA7XFMO.js} +2 -2
  39. package/dist/{chunk-LI3OM3NP.js → chunk-6GU3TNJJ.js} +5 -5
  40. package/dist/{chunk-HPEONBM3.js → chunk-6JIHC5AS.js} +4 -4
  41. package/dist/chunk-6JIHC5AS.js.map +1 -0
  42. package/dist/{chunk-B2UCJX76.js → chunk-7KICGR5W.js} +2 -2
  43. package/dist/chunk-7PZHH4KC.js +63 -0
  44. package/dist/chunk-7PZHH4KC.js.map +1 -0
  45. package/dist/{chunk-UT7WE7RM.js → chunk-AUWMKDKL.js} +2 -2
  46. package/dist/{chunk-U6VC6RP3.js → chunk-AWLQNLTM.js} +2 -2
  47. package/dist/{chunk-PJSK6OJM.js → chunk-BANSBRNX.js} +2 -2
  48. package/dist/{chunk-2TCNEJ36.js → chunk-BNMI3JBV.js} +3 -3
  49. package/dist/{chunk-LTDWZ2HC.js → chunk-CFCEJNOE.js} +2 -2
  50. package/dist/{chunk-R6NHHKXE.js → chunk-CGOKNQDK.js} +2 -2
  51. package/dist/{chunk-HNU5CZ7E.js → chunk-CHI37EHP.js} +6 -6
  52. package/dist/{chunk-SFDKLEIY.js → chunk-CSLK7BN6.js} +2 -2
  53. package/dist/{chunk-6O2VUWV6.js → chunk-EIFYYHAF.js} +2 -2
  54. package/dist/{chunk-7AUC2YSU.js → chunk-GBA4N2SG.js} +16 -16
  55. package/dist/{chunk-V3NKVYUD.js → chunk-GUD6FYQG.js} +2 -2
  56. package/dist/{chunk-YY5FM5M7.js → chunk-HO7IQP7G.js} +3 -3
  57. package/dist/{chunk-EUYNHJTK.js → chunk-HP4CU2ZA.js} +2 -2
  58. package/dist/{chunk-GS6LTJFW.js → chunk-HRZZJ4XB.js} +2 -2
  59. package/dist/{chunk-KM2HQZR3.js → chunk-I2KEH2LS.js} +2 -2
  60. package/dist/{chunk-GYLDYYRA.js → chunk-I6WFBNA4.js} +4 -4
  61. package/dist/{chunk-S3BB34NI.js → chunk-IHCYCE6D.js} +3 -3
  62. package/dist/{chunk-PXDEIJL5.js → chunk-IXYIW3MZ.js} +2 -2
  63. package/dist/{chunk-BOT276JC.js → chunk-JSUA4YFE.js} +2 -2
  64. package/dist/{chunk-7LCGFUMB.js → chunk-KQAFEZQX.js} +4 -4
  65. package/dist/{chunk-WWUFQ3AG.js → chunk-KRTIHXWC.js} +2 -2
  66. package/dist/{chunk-VH76UQK3.js → chunk-KW77LGDX.js} +2 -2
  67. package/dist/{chunk-DX3ZODO3.js → chunk-L6DJJEFW.js} +2 -2
  68. package/dist/{chunk-FF4KLI5W.js → chunk-LDPPTPO5.js} +8 -1
  69. package/dist/chunk-LDPPTPO5.js.map +1 -0
  70. package/dist/{chunk-CRZ7BU6R.js → chunk-LMMC55WM.js} +2 -2
  71. package/dist/{chunk-3I375S4J.js → chunk-ME2LMFHF.js} +42 -42
  72. package/dist/{chunk-DHQUQ34W.js → chunk-MYYHACOW.js} +2 -2
  73. package/dist/{chunk-BKPV47BK.js → chunk-NGOZH7R5.js} +27 -27
  74. package/dist/{chunk-DPX3J2N4.js → chunk-NLDMTXWV.js} +2 -2
  75. package/dist/{chunk-U46P4UAR.js → chunk-NQHSXHJP.js} +4 -4
  76. package/dist/{chunk-FB6FQT4P.js → chunk-NXVD46HT.js} +2 -2
  77. package/dist/{chunk-QPG72IPU.js → chunk-O24EWFPQ.js} +3 -3
  78. package/dist/{chunk-DDPPV3KA.js → chunk-O6AYMAPJ.js} +2 -2
  79. package/dist/{chunk-JLUS56YZ.js → chunk-OV7EYM6M.js} +2 -2
  80. package/dist/{chunk-WIVBNNA3.js → chunk-OWHPA4JS.js} +2 -2
  81. package/dist/{chunk-3UP6NP4C.js → chunk-OZVHLBH6.js} +2 -2
  82. package/dist/{chunk-QHHWJVVW.js → chunk-PNFWIB4X.js} +2 -2
  83. package/dist/{chunk-AM4T6CHX.js → chunk-Q4E24IRR.js} +9 -8
  84. package/dist/chunk-Q4E24IRR.js.map +1 -0
  85. package/dist/{chunk-SBBZXDVJ.js → chunk-Q6GI7HEC.js} +2 -2
  86. package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
  87. package/dist/{chunk-OJP3N7UK.js → chunk-R7WYAXPO.js} +2 -2
  88. package/dist/{chunk-6DNMUYEE.js → chunk-RIEGCK2W.js} +2 -2
  89. package/dist/{chunk-BCTDTVSR.js → chunk-RKSGUMVL.js} +2 -2
  90. package/dist/{chunk-GZRTH3WZ.js → chunk-RXT6UB25.js} +127 -6
  91. package/dist/chunk-RXT6UB25.js.map +1 -0
  92. package/dist/{chunk-47I2EK6G.js → chunk-SIYZDT2V.js} +3 -3
  93. package/dist/{chunk-5R4YPRAR.js → chunk-TGF43K66.js} +18 -18
  94. package/dist/{chunk-UP3XXGEN.js → chunk-TNVZCLJU.js} +2 -2
  95. package/dist/{chunk-RGGXSN5A.js → chunk-U6HWKOGD.js} +2 -2
  96. package/dist/{chunk-RWZXVCGX.js → chunk-UK5EH7AI.js} +4 -4
  97. package/dist/{chunk-DYZHVVJM.js → chunk-UVVSOSHL.js} +36 -36
  98. package/dist/{chunk-NUSQ3YEL.js → chunk-UXIZ5XN5.js} +2 -2
  99. package/dist/{chunk-DB6XFMOF.js → chunk-VC4J4UTI.js} +5 -5
  100. package/dist/{chunk-FYX2LXIX.js → chunk-WI37MWRZ.js} +2 -2
  101. package/dist/{chunk-P5FPO2BR.js → chunk-WWDO7ZWM.js} +3 -3
  102. package/dist/{chunk-GZ2KV2RO.js → chunk-WWLAKRMX.js} +4 -4
  103. package/dist/{chunk-QJWZJ7HL.js → chunk-X6X4UASX.js} +7 -5
  104. package/dist/chunk-X6X4UASX.js.map +1 -0
  105. package/dist/{chunk-NVZRIHW5.js → chunk-Y2ADLCB3.js} +7 -7
  106. package/dist/{chunk-VKQI47DJ.js → chunk-Y7427SL7.js} +4 -4
  107. package/dist/{chunk-LQGX5TCI.js → chunk-YQSWNFZE.js} +2 -2
  108. package/dist/{chunk-7DB7KYSR.js → chunk-ZS7RK6H6.js} +4 -4
  109. package/dist/cli.js +75 -74
  110. package/dist/coding/export-okf-codegraph.js +7 -7
  111. package/dist/compounding/engine.js +8 -8
  112. package/dist/config.js +12 -12
  113. package/dist/connectors/codex-materialize-runner.js +8 -8
  114. package/dist/connectors/index.js +8 -8
  115. package/dist/convergence-refresh.js +10 -10
  116. package/dist/conversation-index/backend.js +2 -2
  117. package/dist/corpus-watermark.js +10 -10
  118. package/dist/deep-recall-http-glue.js +9 -9
  119. package/dist/entity-retrieval.js +8 -8
  120. package/dist/explicit-capture.js +3 -3
  121. package/dist/external-wiki-access.js +41 -40
  122. package/dist/extraction.js +8 -8
  123. package/dist/harmonic-retrieval.d.ts.map +1 -1
  124. package/dist/harmonic-retrieval.js +91 -1
  125. package/dist/index.js +94 -93
  126. package/dist/lcm/engine.js +2 -2
  127. package/dist/lcm/index.js +2 -2
  128. package/dist/location/index.js +10 -10
  129. package/dist/maintenance/memory-governance.js +8 -8
  130. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  131. package/dist/maintenance/rebuild-memory-projection.d.ts.map +1 -1
  132. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  133. package/dist/memory-browse-operations.js +41 -40
  134. package/dist/memory-projection-batch.d.ts +20 -0
  135. package/dist/memory-projection-batch.d.ts.map +1 -0
  136. package/dist/memory-projection-batch.js +11 -0
  137. package/dist/memory-projection-batch.js.map +1 -0
  138. package/dist/namespaces/migrate.js +9 -9
  139. package/dist/namespaces/search.js +4 -4
  140. package/dist/namespaces/storage.js +8 -8
  141. package/dist/offline-sync-changeset-generations.js +3 -3
  142. package/dist/offline-sync-embedding-generation.js +2 -2
  143. package/dist/offline-sync-snapshot-stream.js +6 -6
  144. package/dist/offline-sync.js +5 -5
  145. package/dist/operator-doctor-corpus.js +11 -11
  146. package/dist/operator-toolkit.js +21 -21
  147. package/dist/orchestration/maintenance.js +16 -16
  148. package/dist/orchestrator.js +91 -90
  149. package/dist/recall-navigation-operations.js +41 -40
  150. package/dist/recall-navigation.js +40 -39
  151. package/dist/resume-bundles.js +15 -15
  152. package/dist/search/factory.js +3 -3
  153. package/dist/search/index.js +3 -3
  154. package/dist/semantic-consolidation.js +9 -9
  155. package/dist/semantic-rule-promotion.js +8 -8
  156. package/dist/semantic-rule-verifier.js +8 -8
  157. package/dist/session-identity.js +2 -2
  158. package/dist/session-transcript-migration.js +3 -3
  159. package/dist/source-agent-qualifier.js +8 -8
  160. package/dist/standup/build.js +8 -8
  161. package/dist/storage-paths.d.ts +11 -0
  162. package/dist/storage-paths.d.ts.map +1 -1
  163. package/dist/storage-paths.js +3 -1
  164. package/dist/storage.d.ts +1 -1
  165. package/dist/storage.d.ts.map +1 -1
  166. package/dist/storage.js +7 -7
  167. package/dist/summarizer.js +4 -4
  168. package/dist/summary-snapshot.js +2 -2
  169. package/dist/support-passport/index.js +43 -42
  170. package/dist/threading.js +2 -2
  171. package/dist/transcript.d.ts +3 -3
  172. package/dist/transcript.d.ts.map +1 -1
  173. package/dist/transcript.js +3 -3
  174. package/dist/transfer/capsule-export.js +2 -2
  175. package/dist/transfer/capsule-import.js +2 -2
  176. package/dist/transfer/export-okf.js +8 -8
  177. package/dist/verified-recall.js +8 -8
  178. package/dist/who-knows-cli.js +9 -9
  179. package/dist/who-knows.js +8 -8
  180. package/dist/write-quarantine.js +2 -2
  181. package/package.json +2 -2
  182. package/src/harmonic-retrieval-index.test.ts +387 -0
  183. package/src/harmonic-retrieval.ts +181 -15
  184. package/src/maintenance/rebuild-memory-projection.ts +3 -0
  185. package/src/memory-projection-batch.ts +82 -0
  186. package/src/storage-paths.ts +18 -0
  187. package/src/storage.ts +1 -1
  188. package/src/transcript-recent-unscoped.test.ts +139 -0
  189. package/src/transcript.ts +6 -6
  190. package/dist/chunk-AM4T6CHX.js.map +0 -1
  191. package/dist/chunk-FF4KLI5W.js.map +0 -1
  192. package/dist/chunk-GZRTH3WZ.js.map +0 -1
  193. package/dist/chunk-HPEONBM3.js.map +0 -1
  194. package/dist/chunk-QJWZJ7HL.js.map +0 -1
  195. /package/dist/{chunk-A7V7GZ7F.js.map → chunk-2DHJTJIY.js.map} +0 -0
  196. /package/dist/{chunk-MJ737UIA.js.map → chunk-2NV7MMMM.js.map} +0 -0
  197. /package/dist/{chunk-34TSXVQS.js.map → chunk-2QZFZNXO.js.map} +0 -0
  198. /package/dist/{chunk-TVPDF6CZ.js.map → chunk-44PBRUXB.js.map} +0 -0
  199. /package/dist/{chunk-YX5F4V7H.js.map → chunk-4DDIWRT7.js.map} +0 -0
  200. /package/dist/{chunk-EPFNPPWH.js.map → chunk-4NRZ7BRS.js.map} +0 -0
  201. /package/dist/{chunk-VSPBXHGR.js.map → chunk-5QXMESS7.js.map} +0 -0
  202. /package/dist/{chunk-S4DDLTPX.js.map → chunk-5Y43VGYB.js.map} +0 -0
  203. /package/dist/{chunk-VXCTQ3B3.js.map → chunk-6AA7XFMO.js.map} +0 -0
  204. /package/dist/{chunk-LI3OM3NP.js.map → chunk-6GU3TNJJ.js.map} +0 -0
  205. /package/dist/{chunk-B2UCJX76.js.map → chunk-7KICGR5W.js.map} +0 -0
  206. /package/dist/{chunk-UT7WE7RM.js.map → chunk-AUWMKDKL.js.map} +0 -0
  207. /package/dist/{chunk-U6VC6RP3.js.map → chunk-AWLQNLTM.js.map} +0 -0
  208. /package/dist/{chunk-PJSK6OJM.js.map → chunk-BANSBRNX.js.map} +0 -0
  209. /package/dist/{chunk-2TCNEJ36.js.map → chunk-BNMI3JBV.js.map} +0 -0
  210. /package/dist/{chunk-LTDWZ2HC.js.map → chunk-CFCEJNOE.js.map} +0 -0
  211. /package/dist/{chunk-R6NHHKXE.js.map → chunk-CGOKNQDK.js.map} +0 -0
  212. /package/dist/{chunk-HNU5CZ7E.js.map → chunk-CHI37EHP.js.map} +0 -0
  213. /package/dist/{chunk-SFDKLEIY.js.map → chunk-CSLK7BN6.js.map} +0 -0
  214. /package/dist/{chunk-6O2VUWV6.js.map → chunk-EIFYYHAF.js.map} +0 -0
  215. /package/dist/{chunk-7AUC2YSU.js.map → chunk-GBA4N2SG.js.map} +0 -0
  216. /package/dist/{chunk-V3NKVYUD.js.map → chunk-GUD6FYQG.js.map} +0 -0
  217. /package/dist/{chunk-YY5FM5M7.js.map → chunk-HO7IQP7G.js.map} +0 -0
  218. /package/dist/{chunk-EUYNHJTK.js.map → chunk-HP4CU2ZA.js.map} +0 -0
  219. /package/dist/{chunk-GS6LTJFW.js.map → chunk-HRZZJ4XB.js.map} +0 -0
  220. /package/dist/{chunk-KM2HQZR3.js.map → chunk-I2KEH2LS.js.map} +0 -0
  221. /package/dist/{chunk-GYLDYYRA.js.map → chunk-I6WFBNA4.js.map} +0 -0
  222. /package/dist/{chunk-S3BB34NI.js.map → chunk-IHCYCE6D.js.map} +0 -0
  223. /package/dist/{chunk-PXDEIJL5.js.map → chunk-IXYIW3MZ.js.map} +0 -0
  224. /package/dist/{chunk-BOT276JC.js.map → chunk-JSUA4YFE.js.map} +0 -0
  225. /package/dist/{chunk-7LCGFUMB.js.map → chunk-KQAFEZQX.js.map} +0 -0
  226. /package/dist/{chunk-WWUFQ3AG.js.map → chunk-KRTIHXWC.js.map} +0 -0
  227. /package/dist/{chunk-VH76UQK3.js.map → chunk-KW77LGDX.js.map} +0 -0
  228. /package/dist/{chunk-DX3ZODO3.js.map → chunk-L6DJJEFW.js.map} +0 -0
  229. /package/dist/{chunk-CRZ7BU6R.js.map → chunk-LMMC55WM.js.map} +0 -0
  230. /package/dist/{chunk-3I375S4J.js.map → chunk-ME2LMFHF.js.map} +0 -0
  231. /package/dist/{chunk-DHQUQ34W.js.map → chunk-MYYHACOW.js.map} +0 -0
  232. /package/dist/{chunk-BKPV47BK.js.map → chunk-NGOZH7R5.js.map} +0 -0
  233. /package/dist/{chunk-DPX3J2N4.js.map → chunk-NLDMTXWV.js.map} +0 -0
  234. /package/dist/{chunk-U46P4UAR.js.map → chunk-NQHSXHJP.js.map} +0 -0
  235. /package/dist/{chunk-FB6FQT4P.js.map → chunk-NXVD46HT.js.map} +0 -0
  236. /package/dist/{chunk-QPG72IPU.js.map → chunk-O24EWFPQ.js.map} +0 -0
  237. /package/dist/{chunk-DDPPV3KA.js.map → chunk-O6AYMAPJ.js.map} +0 -0
  238. /package/dist/{chunk-JLUS56YZ.js.map → chunk-OV7EYM6M.js.map} +0 -0
  239. /package/dist/{chunk-WIVBNNA3.js.map → chunk-OWHPA4JS.js.map} +0 -0
  240. /package/dist/{chunk-3UP6NP4C.js.map → chunk-OZVHLBH6.js.map} +0 -0
  241. /package/dist/{chunk-QHHWJVVW.js.map → chunk-PNFWIB4X.js.map} +0 -0
  242. /package/dist/{chunk-SBBZXDVJ.js.map → chunk-Q6GI7HEC.js.map} +0 -0
  243. /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
  244. /package/dist/{chunk-OJP3N7UK.js.map → chunk-R7WYAXPO.js.map} +0 -0
  245. /package/dist/{chunk-6DNMUYEE.js.map → chunk-RIEGCK2W.js.map} +0 -0
  246. /package/dist/{chunk-BCTDTVSR.js.map → chunk-RKSGUMVL.js.map} +0 -0
  247. /package/dist/{chunk-47I2EK6G.js.map → chunk-SIYZDT2V.js.map} +0 -0
  248. /package/dist/{chunk-5R4YPRAR.js.map → chunk-TGF43K66.js.map} +0 -0
  249. /package/dist/{chunk-UP3XXGEN.js.map → chunk-TNVZCLJU.js.map} +0 -0
  250. /package/dist/{chunk-RGGXSN5A.js.map → chunk-U6HWKOGD.js.map} +0 -0
  251. /package/dist/{chunk-RWZXVCGX.js.map → chunk-UK5EH7AI.js.map} +0 -0
  252. /package/dist/{chunk-DYZHVVJM.js.map → chunk-UVVSOSHL.js.map} +0 -0
  253. /package/dist/{chunk-NUSQ3YEL.js.map → chunk-UXIZ5XN5.js.map} +0 -0
  254. /package/dist/{chunk-DB6XFMOF.js.map → chunk-VC4J4UTI.js.map} +0 -0
  255. /package/dist/{chunk-FYX2LXIX.js.map → chunk-WI37MWRZ.js.map} +0 -0
  256. /package/dist/{chunk-P5FPO2BR.js.map → chunk-WWDO7ZWM.js.map} +0 -0
  257. /package/dist/{chunk-GZ2KV2RO.js.map → chunk-WWLAKRMX.js.map} +0 -0
  258. /package/dist/{chunk-NVZRIHW5.js.map → chunk-Y2ADLCB3.js.map} +0 -0
  259. /package/dist/{chunk-VKQI47DJ.js.map → chunk-Y7427SL7.js.map} +0 -0
  260. /package/dist/{chunk-LQGX5TCI.js.map → chunk-YQSWNFZE.js.map} +0 -0
  261. /package/dist/{chunk-7DB7KYSR.js.map → chunk-ZS7RK6H6.js.map} +0 -0
@@ -4,49 +4,50 @@ import {
4
4
  buildProjectedGovernanceProposedActions,
5
5
  hasGroupedGovernanceActions,
6
6
  shapeMemorySummary
7
- } from "./chunk-BKPV47BK.js";
7
+ } from "./chunk-NGOZH7R5.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
- import "./chunk-RWZXVCGX.js";
10
+ import "./chunk-UK5EH7AI.js";
11
11
  import "./chunk-IFBSZGW3.js";
12
12
  import "./chunk-OGXXGHW6.js";
13
13
  import "./chunk-EQUD7FP4.js";
14
14
  import "./chunk-VQ7B2Q6M.js";
15
- import "./chunk-PJSK6OJM.js";
16
- import "./chunk-MJ737UIA.js";
15
+ import "./chunk-BANSBRNX.js";
16
+ import "./chunk-2NV7MMMM.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-ROBHL3GL.js";
20
- import "./chunk-U46P4UAR.js";
21
- import "./chunk-6DNMUYEE.js";
22
- import "./chunk-P5FPO2BR.js";
23
- import "./chunk-S4DDLTPX.js";
20
+ import "./chunk-NQHSXHJP.js";
21
+ import "./chunk-RIEGCK2W.js";
22
+ import "./chunk-WWDO7ZWM.js";
24
23
  import "./chunk-JYG2334B.js";
24
+ import "./chunk-5Y43VGYB.js";
25
25
  import "./chunk-R4NGLTUS.js";
26
26
  import "./chunk-5HFVWYHL.js";
27
27
  import "./chunk-LI76ESJL.js";
28
+ import "./chunk-KIW3OOZE.js";
28
29
  import "./chunk-YE4JBZO5.js";
29
30
  import "./chunk-5KVT6G5U.js";
30
- import "./chunk-KIW3OOZE.js";
31
+ import "./chunk-VYDGHJIN.js";
31
32
  import "./chunk-35A7GCHG.js";
32
33
  import "./chunk-7O5EW7KX.js";
33
34
  import "./chunk-H7XKCNR6.js";
34
35
  import "./chunk-32HO62I4.js";
35
36
  import "./chunk-SOBJ6NEY.js";
36
37
  import "./chunk-QPWUG2S3.js";
37
- import "./chunk-VYDGHJIN.js";
38
- import "./chunk-SFDKLEIY.js";
38
+ import "./chunk-CSLK7BN6.js";
39
39
  import "./chunk-E6UNM67F.js";
40
- import "./chunk-2TCNEJ36.js";
40
+ import "./chunk-BNMI3JBV.js";
41
41
  import "./chunk-6WHJ2EAB.js";
42
42
  import "./chunk-AQEJKOKI.js";
43
43
  import "./chunk-HM7RHKS4.js";
44
- import "./chunk-UD7UNYRD.js";
45
44
  import "./chunk-IISBCCWR.js";
45
+ import "./chunk-UD7UNYRD.js";
46
46
  import "./chunk-EJJMDLVB.js";
47
47
  import "./chunk-2EZB2DL5.js";
48
48
  import "./chunk-2YA5N2BY.js";
49
- import "./chunk-GZRTH3WZ.js";
49
+ import "./chunk-RXT6UB25.js";
50
+ import "./chunk-7PZHH4KC.js";
50
51
  import "./chunk-CHDGJJV6.js";
51
52
  import "./chunk-EI6V5UXY.js";
52
53
  import "./chunk-QAIKLICT.js";
@@ -59,7 +60,7 @@ import "./chunk-QM2SPLKQ.js";
59
60
  import "./chunk-U4LUIE6Y.js";
60
61
  import "./chunk-JUXOTY6J.js";
61
62
  import "./chunk-LTHVM4XN.js";
62
- import "./chunk-NUSQ3YEL.js";
63
+ import "./chunk-UXIZ5XN5.js";
63
64
  import "./chunk-C37ZRXX7.js";
64
65
  import "./chunk-NVKO5YKP.js";
65
66
  import "./chunk-RF2SMMPP.js";
@@ -71,12 +72,12 @@ import "./chunk-HRATODNO.js";
71
72
  import "./chunk-UFGFMWAD.js";
72
73
  import "./chunk-BMWN7B3Y.js";
73
74
  import "./chunk-JNLEJE4A.js";
74
- import "./chunk-PXDEIJL5.js";
75
- import "./chunk-R6NHHKXE.js";
76
- import "./chunk-QPG72IPU.js";
77
- import "./chunk-LTDWZ2HC.js";
75
+ import "./chunk-IXYIW3MZ.js";
76
+ import "./chunk-CGOKNQDK.js";
77
+ import "./chunk-O24EWFPQ.js";
78
+ import "./chunk-CFCEJNOE.js";
78
79
  import "./chunk-ZY2MNJR6.js";
79
- import "./chunk-DX3ZODO3.js";
80
+ import "./chunk-L6DJJEFW.js";
80
81
  import "./chunk-3UXOZBHV.js";
81
82
  import "./chunk-PIWFNPQT.js";
82
83
  import "./chunk-2U3R3DDH.js";
@@ -85,7 +86,7 @@ import "./chunk-EUT2WCWS.js";
85
86
  import "./chunk-GKCXTSFF.js";
86
87
  import "./chunk-2LSZVONP.js";
87
88
  import "./chunk-DEUNUKTD.js";
88
- import "./chunk-VXCTQ3B3.js";
89
+ import "./chunk-6AA7XFMO.js";
89
90
  import "./chunk-6JMQR72P.js";
90
91
  import "./chunk-NLYOOGZ7.js";
91
92
  import "./chunk-PCO3P7WJ.js";
@@ -111,12 +112,12 @@ import "./chunk-236PXYG7.js";
111
112
  import "./chunk-ZCUTSMR2.js";
112
113
  import "./chunk-QDW3E4RD.js";
113
114
  import "./chunk-VZBW6CDG.js";
114
- import "./chunk-HPEONBM3.js";
115
+ import "./chunk-6JIHC5AS.js";
115
116
  import "./chunk-UHVXE24Y.js";
116
117
  import "./chunk-46WM6JX2.js";
117
118
  import "./chunk-V4JZCTMK.js";
118
- import "./chunk-V3NKVYUD.js";
119
- import "./chunk-JLUS56YZ.js";
119
+ import "./chunk-GUD6FYQG.js";
120
+ import "./chunk-OV7EYM6M.js";
120
121
  import "./chunk-S7LWX2PQ.js";
121
122
  import "./chunk-T2YX56QI.js";
122
123
  import "./chunk-CYEPCZN5.js";
@@ -125,10 +126,10 @@ import "./chunk-7VO6E5UD.js";
125
126
  import "./chunk-4O6WRBGE.js";
126
127
  import "./chunk-5BUCKFRE.js";
127
128
  import "./chunk-GUMZC2BO.js";
128
- import "./chunk-TFA6HPOA.js";
129
+ import "./chunk-QCP75JGO.js";
130
+ import "./chunk-A7Q43EUZ.js";
129
131
  import "./chunk-F4TWWUMP.js";
130
132
  import "./chunk-72A4L5JJ.js";
131
- import "./chunk-A7Q43EUZ.js";
132
133
  import "./chunk-S2V7RUCL.js";
133
134
  import "./chunk-X3724WL4.js";
134
135
  import "./chunk-S2HLHAZ4.js";
@@ -138,7 +139,7 @@ import "./chunk-LDXUBPMO.js";
138
139
  import "./chunk-FF6N7BXC.js";
139
140
  import "./chunk-2DT7PIDZ.js";
140
141
  import "./chunk-AAD2ZS6P.js";
141
- import "./chunk-6O2VUWV6.js";
142
+ import "./chunk-EIFYYHAF.js";
142
143
  import "./chunk-ZIKENA2C.js";
143
144
  import "./chunk-345MEMRU.js";
144
145
  import "./chunk-SCU65EZI.js";
@@ -179,16 +180,16 @@ import "./chunk-Z7L72ZHL.js";
179
180
  import "./chunk-4O4TKIXQ.js";
180
181
  import "./chunk-RMMA44HE.js";
181
182
  import "./chunk-SYOIVK7K.js";
182
- import "./chunk-GS6LTJFW.js";
183
+ import "./chunk-HRZZJ4XB.js";
183
184
  import "./chunk-MY7B3HYC.js";
184
185
  import "./chunk-353C5UNV.js";
185
186
  import "./chunk-5AYUHSAU.js";
186
187
  import "./chunk-BT7NVCML.js";
187
188
  import "./chunk-PO7NXNGC.js";
188
- import "./chunk-47I2EK6G.js";
189
- import "./chunk-7LCGFUMB.js";
190
- import "./chunk-X7Y7WX73.js";
189
+ import "./chunk-SIYZDT2V.js";
190
+ import "./chunk-KQAFEZQX.js";
191
191
  import "./chunk-WEHSQBFR.js";
192
+ import "./chunk-X7Y7WX73.js";
192
193
  import "./chunk-J4EB7DNW.js";
193
194
  import "./chunk-Z2YFLXHU.js";
194
195
  import "./chunk-I4WBNM3M.js";
@@ -196,7 +197,7 @@ import "./chunk-SOAU2OE2.js";
196
197
  import "./chunk-BJMBJZ2Y.js";
197
198
  import "./chunk-UKJAGEXH.js";
198
199
  import "./chunk-FP2373TW.js";
199
- import "./chunk-FYX2LXIX.js";
200
+ import "./chunk-WI37MWRZ.js";
200
201
  import "./chunk-N7QV3CMX.js";
201
202
  import "./chunk-PAAJWQH5.js";
202
203
  import "./chunk-2JRB3Z5N.js";
@@ -214,15 +215,15 @@ import "./chunk-C7HJ3NEI.js";
214
215
  import "./chunk-N4PYB235.js";
215
216
  import "./chunk-AW4QUFQF.js";
216
217
  import "./chunk-5FVVY2EB.js";
217
- import "./chunk-5R4YPRAR.js";
218
+ import "./chunk-TGF43K66.js";
218
219
  import "./chunk-UI3NYK34.js";
219
220
  import "./chunk-3E6DGSGZ.js";
220
- import "./chunk-EFHNFTWB.js";
221
- import "./chunk-DB6XFMOF.js";
222
- import "./chunk-GZ2KV2RO.js";
221
+ import "./chunk-VC4J4UTI.js";
222
+ import "./chunk-WWLAKRMX.js";
223
223
  import "./chunk-63LFM77Z.js";
224
- import "./chunk-TYT4TEQV.js";
224
+ import "./chunk-EFHNFTWB.js";
225
225
  import "./chunk-GCGJW34D.js";
226
+ import "./chunk-TYT4TEQV.js";
226
227
  import "./chunk-75PT4N7Q.js";
227
228
  import "./chunk-Y57GJDG5.js";
228
229
  import "./chunk-LQWOFU6L.js";
@@ -263,8 +264,8 @@ import "./chunk-B6O2YLUR.js";
263
264
  import "./chunk-DAOMWGO2.js";
264
265
  import "./chunk-RFYAYKTD.js";
265
266
  import "./chunk-4MN27537.js";
266
- import "./chunk-U6VC6RP3.js";
267
- import "./chunk-FF4KLI5W.js";
267
+ import "./chunk-AWLQNLTM.js";
268
+ import "./chunk-LDPPTPO5.js";
268
269
  import "./chunk-MAAL6OZV.js";
269
270
  import "./chunk-A6XUJE5D.js";
270
271
  import "./chunk-VS2IYZRU.js";
@@ -1,52 +1,53 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES
3
- } from "./chunk-34TSXVQS.js";
3
+ } from "./chunk-2QZFZNXO.js";
4
4
  import {
5
5
  SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES
6
- } from "./chunk-EUYNHJTK.js";
7
- import "./chunk-BKPV47BK.js";
6
+ } from "./chunk-HP4CU2ZA.js";
7
+ import "./chunk-NGOZH7R5.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
- import "./chunk-RWZXVCGX.js";
10
+ import "./chunk-UK5EH7AI.js";
11
11
  import "./chunk-IFBSZGW3.js";
12
12
  import "./chunk-OGXXGHW6.js";
13
13
  import "./chunk-EQUD7FP4.js";
14
14
  import "./chunk-VQ7B2Q6M.js";
15
- import "./chunk-PJSK6OJM.js";
16
- import "./chunk-MJ737UIA.js";
15
+ import "./chunk-BANSBRNX.js";
16
+ import "./chunk-2NV7MMMM.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-ROBHL3GL.js";
20
- import "./chunk-U46P4UAR.js";
21
- import "./chunk-6DNMUYEE.js";
22
- import "./chunk-P5FPO2BR.js";
23
- import "./chunk-S4DDLTPX.js";
20
+ import "./chunk-NQHSXHJP.js";
21
+ import "./chunk-RIEGCK2W.js";
22
+ import "./chunk-WWDO7ZWM.js";
24
23
  import "./chunk-JYG2334B.js";
24
+ import "./chunk-5Y43VGYB.js";
25
25
  import "./chunk-R4NGLTUS.js";
26
26
  import "./chunk-5HFVWYHL.js";
27
27
  import "./chunk-LI76ESJL.js";
28
+ import "./chunk-KIW3OOZE.js";
28
29
  import "./chunk-YE4JBZO5.js";
29
30
  import "./chunk-5KVT6G5U.js";
30
- import "./chunk-KIW3OOZE.js";
31
+ import "./chunk-VYDGHJIN.js";
31
32
  import "./chunk-35A7GCHG.js";
32
33
  import "./chunk-7O5EW7KX.js";
33
34
  import "./chunk-H7XKCNR6.js";
34
35
  import "./chunk-32HO62I4.js";
35
36
  import "./chunk-SOBJ6NEY.js";
36
37
  import "./chunk-QPWUG2S3.js";
37
- import "./chunk-VYDGHJIN.js";
38
- import "./chunk-SFDKLEIY.js";
38
+ import "./chunk-CSLK7BN6.js";
39
39
  import "./chunk-E6UNM67F.js";
40
- import "./chunk-2TCNEJ36.js";
40
+ import "./chunk-BNMI3JBV.js";
41
41
  import "./chunk-6WHJ2EAB.js";
42
42
  import "./chunk-AQEJKOKI.js";
43
43
  import "./chunk-HM7RHKS4.js";
44
- import "./chunk-UD7UNYRD.js";
45
44
  import "./chunk-IISBCCWR.js";
45
+ import "./chunk-UD7UNYRD.js";
46
46
  import "./chunk-EJJMDLVB.js";
47
47
  import "./chunk-2EZB2DL5.js";
48
48
  import "./chunk-2YA5N2BY.js";
49
- import "./chunk-GZRTH3WZ.js";
49
+ import "./chunk-RXT6UB25.js";
50
+ import "./chunk-7PZHH4KC.js";
50
51
  import "./chunk-CHDGJJV6.js";
51
52
  import "./chunk-EI6V5UXY.js";
52
53
  import "./chunk-QAIKLICT.js";
@@ -59,7 +60,7 @@ import "./chunk-QM2SPLKQ.js";
59
60
  import "./chunk-U4LUIE6Y.js";
60
61
  import "./chunk-JUXOTY6J.js";
61
62
  import "./chunk-LTHVM4XN.js";
62
- import "./chunk-NUSQ3YEL.js";
63
+ import "./chunk-UXIZ5XN5.js";
63
64
  import "./chunk-C37ZRXX7.js";
64
65
  import "./chunk-NVKO5YKP.js";
65
66
  import "./chunk-RF2SMMPP.js";
@@ -71,12 +72,12 @@ import "./chunk-HRATODNO.js";
71
72
  import "./chunk-UFGFMWAD.js";
72
73
  import "./chunk-BMWN7B3Y.js";
73
74
  import "./chunk-JNLEJE4A.js";
74
- import "./chunk-PXDEIJL5.js";
75
- import "./chunk-R6NHHKXE.js";
76
- import "./chunk-QPG72IPU.js";
77
- import "./chunk-LTDWZ2HC.js";
75
+ import "./chunk-IXYIW3MZ.js";
76
+ import "./chunk-CGOKNQDK.js";
77
+ import "./chunk-O24EWFPQ.js";
78
+ import "./chunk-CFCEJNOE.js";
78
79
  import "./chunk-ZY2MNJR6.js";
79
- import "./chunk-DX3ZODO3.js";
80
+ import "./chunk-L6DJJEFW.js";
80
81
  import "./chunk-3UXOZBHV.js";
81
82
  import "./chunk-PIWFNPQT.js";
82
83
  import "./chunk-2U3R3DDH.js";
@@ -85,7 +86,7 @@ import "./chunk-EUT2WCWS.js";
85
86
  import "./chunk-GKCXTSFF.js";
86
87
  import "./chunk-2LSZVONP.js";
87
88
  import "./chunk-DEUNUKTD.js";
88
- import "./chunk-VXCTQ3B3.js";
89
+ import "./chunk-6AA7XFMO.js";
89
90
  import "./chunk-6JMQR72P.js";
90
91
  import "./chunk-NLYOOGZ7.js";
91
92
  import "./chunk-PCO3P7WJ.js";
@@ -111,12 +112,12 @@ import "./chunk-236PXYG7.js";
111
112
  import "./chunk-ZCUTSMR2.js";
112
113
  import "./chunk-QDW3E4RD.js";
113
114
  import "./chunk-VZBW6CDG.js";
114
- import "./chunk-HPEONBM3.js";
115
+ import "./chunk-6JIHC5AS.js";
115
116
  import "./chunk-UHVXE24Y.js";
116
117
  import "./chunk-46WM6JX2.js";
117
118
  import "./chunk-V4JZCTMK.js";
118
- import "./chunk-V3NKVYUD.js";
119
- import "./chunk-JLUS56YZ.js";
119
+ import "./chunk-GUD6FYQG.js";
120
+ import "./chunk-OV7EYM6M.js";
120
121
  import "./chunk-S7LWX2PQ.js";
121
122
  import "./chunk-T2YX56QI.js";
122
123
  import "./chunk-CYEPCZN5.js";
@@ -125,10 +126,10 @@ import "./chunk-7VO6E5UD.js";
125
126
  import "./chunk-4O6WRBGE.js";
126
127
  import "./chunk-5BUCKFRE.js";
127
128
  import "./chunk-GUMZC2BO.js";
128
- import "./chunk-TFA6HPOA.js";
129
+ import "./chunk-QCP75JGO.js";
130
+ import "./chunk-A7Q43EUZ.js";
129
131
  import "./chunk-F4TWWUMP.js";
130
132
  import "./chunk-72A4L5JJ.js";
131
- import "./chunk-A7Q43EUZ.js";
132
133
  import "./chunk-S2V7RUCL.js";
133
134
  import "./chunk-X3724WL4.js";
134
135
  import "./chunk-S2HLHAZ4.js";
@@ -138,7 +139,7 @@ import "./chunk-LDXUBPMO.js";
138
139
  import "./chunk-FF6N7BXC.js";
139
140
  import "./chunk-2DT7PIDZ.js";
140
141
  import "./chunk-AAD2ZS6P.js";
141
- import "./chunk-6O2VUWV6.js";
142
+ import "./chunk-EIFYYHAF.js";
142
143
  import "./chunk-ZIKENA2C.js";
143
144
  import "./chunk-345MEMRU.js";
144
145
  import "./chunk-SCU65EZI.js";
@@ -179,16 +180,16 @@ import "./chunk-Z7L72ZHL.js";
179
180
  import "./chunk-4O4TKIXQ.js";
180
181
  import "./chunk-RMMA44HE.js";
181
182
  import "./chunk-SYOIVK7K.js";
182
- import "./chunk-GS6LTJFW.js";
183
+ import "./chunk-HRZZJ4XB.js";
183
184
  import "./chunk-MY7B3HYC.js";
184
185
  import "./chunk-353C5UNV.js";
185
186
  import "./chunk-5AYUHSAU.js";
186
187
  import "./chunk-BT7NVCML.js";
187
188
  import "./chunk-PO7NXNGC.js";
188
- import "./chunk-47I2EK6G.js";
189
- import "./chunk-7LCGFUMB.js";
190
- import "./chunk-X7Y7WX73.js";
189
+ import "./chunk-SIYZDT2V.js";
190
+ import "./chunk-KQAFEZQX.js";
191
191
  import "./chunk-WEHSQBFR.js";
192
+ import "./chunk-X7Y7WX73.js";
192
193
  import "./chunk-J4EB7DNW.js";
193
194
  import "./chunk-Z2YFLXHU.js";
194
195
  import "./chunk-I4WBNM3M.js";
@@ -196,7 +197,7 @@ import "./chunk-SOAU2OE2.js";
196
197
  import "./chunk-BJMBJZ2Y.js";
197
198
  import "./chunk-UKJAGEXH.js";
198
199
  import "./chunk-FP2373TW.js";
199
- import "./chunk-FYX2LXIX.js";
200
+ import "./chunk-WI37MWRZ.js";
200
201
  import "./chunk-N7QV3CMX.js";
201
202
  import "./chunk-PAAJWQH5.js";
202
203
  import "./chunk-2JRB3Z5N.js";
@@ -214,15 +215,15 @@ import "./chunk-C7HJ3NEI.js";
214
215
  import "./chunk-N4PYB235.js";
215
216
  import "./chunk-AW4QUFQF.js";
216
217
  import "./chunk-5FVVY2EB.js";
217
- import "./chunk-5R4YPRAR.js";
218
+ import "./chunk-TGF43K66.js";
218
219
  import "./chunk-UI3NYK34.js";
219
220
  import "./chunk-3E6DGSGZ.js";
220
- import "./chunk-EFHNFTWB.js";
221
- import "./chunk-DB6XFMOF.js";
222
- import "./chunk-GZ2KV2RO.js";
221
+ import "./chunk-VC4J4UTI.js";
222
+ import "./chunk-WWLAKRMX.js";
223
223
  import "./chunk-63LFM77Z.js";
224
- import "./chunk-TYT4TEQV.js";
224
+ import "./chunk-EFHNFTWB.js";
225
225
  import "./chunk-GCGJW34D.js";
226
+ import "./chunk-TYT4TEQV.js";
226
227
  import "./chunk-75PT4N7Q.js";
227
228
  import "./chunk-Y57GJDG5.js";
228
229
  import "./chunk-LQWOFU6L.js";
@@ -260,8 +261,8 @@ import "./chunk-B6O2YLUR.js";
260
261
  import "./chunk-DAOMWGO2.js";
261
262
  import "./chunk-RFYAYKTD.js";
262
263
  import "./chunk-4MN27537.js";
263
- import "./chunk-U6VC6RP3.js";
264
- import "./chunk-FF4KLI5W.js";
264
+ import "./chunk-AWLQNLTM.js";
265
+ import "./chunk-LDPPTPO5.js";
265
266
  import "./chunk-MAAL6OZV.js";
266
267
  import "./chunk-A6XUJE5D.js";
267
268
  import "./chunk-VS2IYZRU.js";
@@ -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\";\nimport { SUPPORT_PASSPORT_OWNER_HTTP_ROUTES } from \"./support-passport/access-http.js\";\nimport { SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES } from \"./support-passport/public-http.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: \"recall_why\", operation: \"recall_why\" },\n { tool: \"who_knows\", operation: \"who_knows\" },\n { tool: \"promotion_candidates\", operation: \"promotion_candidates\" },\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: \"location_status\", operation: \"location_status\" },\n { tool: \"location_check\", operation: \"location_check\" },\n { tool: \"location_sync\", operation: \"location_sync\" },\n { tool: \"location_backfill\", operation: \"location_backfill\" },\n { tool: \"location_day\", operation: \"location_day\" },\n { tool: \"meetings_list\", operation: \"meetings_list\" },\n { tool: \"meetings_get\", operation: \"meetings_get\" },\n { tool: \"meetings_build\", operation: \"meetings_build\" },\n { tool: \"deep_recall\", operation: \"deep_recall\" },\n { tool: \"memory_expand\", operation: \"memory_expand\" },\n { tool: \"memory_traverse\", operation: \"memory_traverse\" },\n { tool: \"memory_ls\", operation: \"memory_ls\" },\n { tool: \"memory_tree\", operation: \"memory_tree\" },\n { tool: \"memory_find\", operation: \"memory_find\" },\n { tool: \"standup\", operation: \"standup\" },\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: \"entity_synthesis_run\", operation: \"entity_synthesis_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: \"procedure_library_maintenance\", operation: \"procedure_library_maintenance\" },\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: \"extraction_force_flush\", operation: \"extraction_force_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: \"external_wiki_search\", operation: \"external_wiki_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: \"preference_drift_scan\", operation: \"preference_drift_scan\" },\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 { tool: \"support_passport_memory_preview\", operation: \"support_passport_memory_preview\" },\n { tool: \"support_passport_cards_list\", operation: \"support_passport_cards_list\" },\n { tool: \"support_passport_draft_create\", operation: \"support_passport_draft_create\" },\n { tool: \"support_passport_drafts_generate\", operation: \"support_passport_drafts_generate\" },\n { tool: \"support_passport_card_replace\", operation: \"support_passport_card_replace\" },\n { tool: \"support_passport_card_approve\", operation: \"support_passport_card_approve\" },\n { tool: \"support_passport_card_reject\", operation: \"support_passport_card_reject\" },\n { tool: \"support_passport_card_withdraw\", operation: \"support_passport_card_withdraw\" },\n { tool: \"support_passport_grant_create\", operation: \"support_passport_grant_create\" },\n { tool: \"support_passport_grants_list\", operation: \"support_passport_grants_list\" },\n { tool: \"support_passport_grant_revoke\", operation: \"support_passport_grant_revoke\" },\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/external-wikis/search\", operation: \"external_wiki_search\" },\n { method: \"POST\", pathname: \"/engram/v1/memories/search\", operation: \"memory_search\" },\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: \"GET\", pathname: \"/engram/v1/offline-sync/capabilities\", 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 {\n method: \"POST\",\n pathname: \"/engram/v1/offline-sync/convergence-complete\",\n operation: \"offline_sync_apply_file_content\",\n },\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/recall/why\", operation: \"recall_why\" },\n { method: \"GET\", pathname: \"/engram/v1/who-knows\", operation: \"who_knows\" },\n { method: \"GET\", pathname: \"/engram/v1/namespace/writable\", operation: \"namespace_writable\" },\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: \"GET\", pathname: \"/engram/v1/location/status\", operation: \"location_status\" },\n { method: \"GET\", pathname: \"/engram/v1/location/check\", operation: \"location_check\" },\n { method: \"POST\", pathname: \"/engram/v1/location/sync\", operation: \"location_sync\" },\n { method: \"POST\", pathname: \"/engram/v1/location/backfill\", operation: \"location_backfill\" },\n { method: \"GET\", pathname: \"/engram/v1/location/day\", operation: \"location_day\" },\n { method: \"GET\", pathname: \"/engram/v1/meetings\", operation: \"meetings_list\" },\n { method: \"POST\", pathname: \"/engram/v1/meetings/build\", operation: \"meetings_build\" },\n { method: \"GET\", pathname: \"/engram/v1/meetings/:id\", operation: \"meetings_get\" },\n { method: \"POST\", pathname: \"/engram/v1/recall/deep\", operation: \"deep_recall\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/expand\", operation: \"memory_expand\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/traverse\", operation: \"memory_traverse\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/ls\", operation: \"memory_ls\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/tree\", operation: \"memory_tree\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/find\", operation: \"memory_find\" },\n { method: \"GET\", pathname: \"/engram/v1/standup\", operation: \"standup\" },\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/extraction/flush\", operation: \"extraction_force_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 { method: \"GET\", pathname: \"/engram/v1/relay/missions/:id\", operation: \"relay_mission_read\" },\n { method: \"POST\", pathname: \"/engram/v1/relay/missions/:id/events\", operation: \"relay_mission_append\" },\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/briefing\", operation: \"briefing\" },\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: \"GET\", pathname: \"/engram/v1/review/deck\", operation: \"review_deck_list\" },\n { method: \"POST\", pathname: \"/engram/v1/review/deck/action\", operation: \"review_deck_action\" },\n { method: \"POST\", pathname: \"/engram/v1/review/deck/undo\", operation: \"review_deck_undo\" },\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/offline-sync/manifest-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 ...SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,\n ...SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES,\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\";\nimport { SUPPORT_PASSPORT_OWNER_HTTP_ROUTES } from \"./support-passport/access-http.js\";\nimport { SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES } from \"./support-passport/public-http.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: \"recall_why\", operation: \"recall_why\" },\n { tool: \"who_knows\", operation: \"who_knows\" },\n { tool: \"promotion_candidates\", operation: \"promotion_candidates\" },\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: \"location_status\", operation: \"location_status\" },\n { tool: \"location_check\", operation: \"location_check\" },\n { tool: \"location_sync\", operation: \"location_sync\" },\n { tool: \"location_backfill\", operation: \"location_backfill\" },\n { tool: \"location_day\", operation: \"location_day\" },\n { tool: \"meetings_list\", operation: \"meetings_list\" },\n { tool: \"meetings_get\", operation: \"meetings_get\" },\n { tool: \"meetings_build\", operation: \"meetings_build\" },\n { tool: \"deep_recall\", operation: \"deep_recall\" },\n { tool: \"memory_expand\", operation: \"memory_expand\" },\n { tool: \"memory_traverse\", operation: \"memory_traverse\" },\n { tool: \"memory_ls\", operation: \"memory_ls\" },\n { tool: \"memory_tree\", operation: \"memory_tree\" },\n { tool: \"memory_find\", operation: \"memory_find\" },\n { tool: \"standup\", operation: \"standup\" },\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: \"entity_synthesis_run\", operation: \"entity_synthesis_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: \"procedure_library_maintenance\", operation: \"procedure_library_maintenance\" },\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: \"extraction_force_flush\", operation: \"extraction_force_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: \"external_wiki_search\", operation: \"external_wiki_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: \"preference_drift_scan\", operation: \"preference_drift_scan\" },\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 { tool: \"support_passport_memory_preview\", operation: \"support_passport_memory_preview\" },\n { tool: \"support_passport_cards_list\", operation: \"support_passport_cards_list\" },\n { tool: \"support_passport_draft_create\", operation: \"support_passport_draft_create\" },\n { tool: \"support_passport_drafts_generate\", operation: \"support_passport_drafts_generate\" },\n { tool: \"support_passport_card_replace\", operation: \"support_passport_card_replace\" },\n { tool: \"support_passport_card_approve\", operation: \"support_passport_card_approve\" },\n { tool: \"support_passport_card_reject\", operation: \"support_passport_card_reject\" },\n { tool: \"support_passport_card_withdraw\", operation: \"support_passport_card_withdraw\" },\n { tool: \"support_passport_grant_create\", operation: \"support_passport_grant_create\" },\n { tool: \"support_passport_grants_list\", operation: \"support_passport_grants_list\" },\n { tool: \"support_passport_grant_revoke\", operation: \"support_passport_grant_revoke\" },\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/external-wikis/search\", operation: \"external_wiki_search\" },\n { method: \"POST\", pathname: \"/engram/v1/memories/search\", operation: \"memory_search\" },\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: \"GET\", pathname: \"/engram/v1/offline-sync/capabilities\", 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 {\n method: \"POST\",\n pathname: \"/engram/v1/offline-sync/convergence-complete\",\n operation: \"offline_sync_apply_file_content\",\n },\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/recall/why\", operation: \"recall_why\" },\n { method: \"GET\", pathname: \"/engram/v1/who-knows\", operation: \"who_knows\" },\n { method: \"GET\", pathname: \"/engram/v1/namespace/writable\", operation: \"namespace_writable\" },\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: \"GET\", pathname: \"/engram/v1/location/status\", operation: \"location_status\" },\n { method: \"GET\", pathname: \"/engram/v1/location/check\", operation: \"location_check\" },\n { method: \"POST\", pathname: \"/engram/v1/location/sync\", operation: \"location_sync\" },\n { method: \"POST\", pathname: \"/engram/v1/location/backfill\", operation: \"location_backfill\" },\n { method: \"GET\", pathname: \"/engram/v1/location/day\", operation: \"location_day\" },\n { method: \"GET\", pathname: \"/engram/v1/meetings\", operation: \"meetings_list\" },\n { method: \"POST\", pathname: \"/engram/v1/meetings/build\", operation: \"meetings_build\" },\n { method: \"GET\", pathname: \"/engram/v1/meetings/:id\", operation: \"meetings_get\" },\n { method: \"POST\", pathname: \"/engram/v1/recall/deep\", operation: \"deep_recall\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/expand\", operation: \"memory_expand\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/traverse\", operation: \"memory_traverse\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/ls\", operation: \"memory_ls\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/tree\", operation: \"memory_tree\" },\n { method: \"POST\", pathname: \"/engram/v1/memory/find\", operation: \"memory_find\" },\n { method: \"GET\", pathname: \"/engram/v1/standup\", operation: \"standup\" },\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/extraction/flush\", operation: \"extraction_force_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 { method: \"GET\", pathname: \"/engram/v1/relay/missions/:id\", operation: \"relay_mission_read\" },\n { method: \"POST\", pathname: \"/engram/v1/relay/missions/:id/events\", operation: \"relay_mission_append\" },\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/briefing\", operation: \"briefing\" },\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: \"GET\", pathname: \"/engram/v1/review/deck\", operation: \"review_deck_list\" },\n { method: \"POST\", pathname: \"/engram/v1/review/deck/action\", operation: \"review_deck_action\" },\n { method: \"POST\", pathname: \"/engram/v1/review/deck/undo\", operation: \"review_deck_undo\" },\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/offline-sync/manifest-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 ...SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,\n ...SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES,\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":[]}