@remnic/core 9.69.76 → 9.69.77

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 (270) hide show
  1. package/dist/access-admin-ops-surface.js +37 -36
  2. package/dist/access-authorization-probe.js +38 -37
  3. package/dist/access-boundary.js +37 -36
  4. package/dist/access-cli.js +101 -100
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +37 -36
  7. package/dist/access-http-briefing.js +38 -37
  8. package/dist/access-http-query.js +39 -38
  9. package/dist/access-http.js +56 -55
  10. package/dist/access-identity-continuity-surface.js +37 -36
  11. package/dist/access-lcm-surface.js +37 -36
  12. package/dist/access-mcp.js +46 -45
  13. package/dist/access-namespace-preflight.js +37 -36
  14. package/dist/access-observe-write-category.js +6 -6
  15. package/dist/access-observe-write-surface.js +37 -36
  16. package/dist/access-offline-manifest.js +3 -3
  17. package/dist/access-operations-batch.js +38 -37
  18. package/dist/access-operations.js +45 -44
  19. package/dist/access-recall-concurrency.js +37 -36
  20. package/dist/access-recall-response.js +37 -36
  21. package/dist/access-recall-surface.js +37 -36
  22. package/dist/access-schema.js +5 -5
  23. package/dist/access-service.js +37 -36
  24. package/dist/access-surface-catalog.js +39 -38
  25. package/dist/access-surface-catalog.js.map +1 -1
  26. package/dist/active-recall.js +13 -13
  27. package/dist/adapters/index.js +4 -4
  28. package/dist/adapters/registry.js +2 -2
  29. package/dist/briefing-followup-timeout.d.ts +3 -0
  30. package/dist/briefing-followup-timeout.d.ts.map +1 -0
  31. package/dist/briefing-followup-timeout.js +10 -0
  32. package/dist/briefing.d.ts.map +1 -1
  33. package/dist/briefing.js +10 -9
  34. package/dist/buffer.js +4 -4
  35. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-GWVG7LGC.js} +2 -2
  36. package/dist/capsule-crypto-GWVG7LGC.js.map +1 -0
  37. package/dist/causal-consolidation.js +10 -10
  38. package/dist/{chunk-TWUMZCGA.js → chunk-2CH6MMO2.js} +6 -6
  39. package/dist/{chunk-N6TUO3O6.js → chunk-2GKLHU2D.js} +2 -2
  40. package/dist/{chunk-I6PZTU3Q.js → chunk-2I6VHX6Q.js} +2 -2
  41. package/dist/{chunk-LVFI5LG7.js → chunk-2L5FSNPC.js} +5 -5
  42. package/dist/{chunk-FAT6HY7N.js → chunk-345MEMRU.js} +15 -2
  43. package/dist/chunk-345MEMRU.js.map +1 -0
  44. package/dist/{chunk-IGJL6JOD.js → chunk-3AGCSD42.js} +2 -2
  45. package/dist/{chunk-252U6XYX.js → chunk-3K3PITOE.js} +2 -2
  46. package/dist/{chunk-5Z574AVZ.js → chunk-5ELENZTA.js} +2 -2
  47. package/dist/{chunk-5ELXQQY7.js → chunk-5X7ZTLFS.js} +2 -2
  48. package/dist/{chunk-NRPLDEFR.js → chunk-6DTJBTHL.js} +2 -2
  49. package/dist/{chunk-IV2CY3RE.js → chunk-6MJGDUC7.js} +3 -3
  50. package/dist/{chunk-JU5MAF2L.js → chunk-7DZHRPCO.js} +2 -2
  51. package/dist/{chunk-YPWOZ6ME.js → chunk-7G6WUOLB.js} +3 -3
  52. package/dist/{chunk-JBHCTDYF.js → chunk-7QXTCONH.js} +2 -2
  53. package/dist/{chunk-LTS2XIU3.js → chunk-7WO66MKJ.js} +2 -2
  54. package/dist/{chunk-RQIETS2K.js → chunk-A2XDQ3JW.js} +2 -2
  55. package/dist/{chunk-XNTIX4LA.js → chunk-ALOMLIRC.js} +64 -61
  56. package/dist/{chunk-XNTIX4LA.js.map → chunk-ALOMLIRC.js.map} +1 -1
  57. package/dist/{chunk-OH6AMNSA.js → chunk-AVO2CBIL.js} +2 -2
  58. package/dist/{chunk-FUWW7ED4.js → chunk-AZ2X5LNA.js} +2 -2
  59. package/dist/{chunk-3NTVCMDD.js → chunk-B3OFQP5Y.js} +2 -2
  60. package/dist/chunk-B3OFQP5Y.js.map +1 -0
  61. package/dist/{chunk-HC4RWJR3.js → chunk-BNPLDVM6.js} +2 -2
  62. package/dist/{chunk-VDX2J7OX.js → chunk-BUKK5SWA.js} +2 -2
  63. package/dist/{chunk-WZ7M2QRP.js → chunk-CDEI5S5W.js} +2 -2
  64. package/dist/{chunk-KOXUUJE3.js → chunk-CLSYE5OZ.js} +2 -2
  65. package/dist/{chunk-YNNXM6FN.js → chunk-CYCE3L2I.js} +40 -40
  66. package/dist/{chunk-34R75BVF.js → chunk-DCPAAAIC.js} +2 -2
  67. package/dist/{chunk-N25RPRSI.js → chunk-DSQWTXHP.js} +8 -8
  68. package/dist/{chunk-6VQFPA3J.js → chunk-EJPF6XDQ.js} +2 -2
  69. package/dist/{chunk-BRBB62TS.js → chunk-EVBI7S4J.js} +2 -2
  70. package/dist/{chunk-5D6IMOW6.js → chunk-FMT52ROU.js} +37 -37
  71. package/dist/{chunk-JOAR32R6.js → chunk-FVK5NQ3V.js} +2 -2
  72. package/dist/{chunk-3SL52JKD.js → chunk-FZVROZKC.js} +5 -5
  73. package/dist/{chunk-MKGIW5W6.js → chunk-GARVFCV6.js} +2 -2
  74. package/dist/{chunk-364F6EMG.js → chunk-GATQP7CE.js} +2 -2
  75. package/dist/{chunk-6OR3AQHP.js → chunk-GXQ5GDUH.js} +2 -2
  76. package/dist/chunk-GZFKCLRC.js +17 -0
  77. package/dist/chunk-GZFKCLRC.js.map +1 -0
  78. package/dist/{chunk-VVX5PZFS.js → chunk-H36X4NRH.js} +2 -2
  79. package/dist/{chunk-2VH2JWYN.js → chunk-I4G4UWQA.js} +2 -2
  80. package/dist/{chunk-6OACG7JV.js → chunk-IBGEHKQ6.js} +3 -3
  81. package/dist/{chunk-P2FJ2KYJ.js → chunk-IILMR37Z.js} +14 -14
  82. package/dist/{chunk-X2PBZOYZ.js → chunk-IP5VLSLO.js} +2 -2
  83. package/dist/{chunk-2MLWQMXH.js → chunk-IVH7INFM.js} +3 -3
  84. package/dist/{chunk-UHKME3I7.js → chunk-K2SXIWEV.js} +2 -2
  85. package/dist/{chunk-OJMAM4RO.js → chunk-LEP46X5Y.js} +2 -2
  86. package/dist/{chunk-74C5FI4S.js → chunk-LZLJK2IA.js} +5 -5
  87. package/dist/{chunk-W5VYWOU3.js → chunk-MQQPONTM.js} +2 -2
  88. package/dist/{chunk-BFDBLAVG.js → chunk-NGFRFDSK.js} +2 -2
  89. package/dist/{chunk-OIKX22FU.js → chunk-NHV6WCM5.js} +1 -1
  90. package/dist/{chunk-FCVPZIHF.js → chunk-NYZRJW5X.js} +2 -2
  91. package/dist/{chunk-HKPGEFIT.js → chunk-OHRIBMSS.js} +2 -2
  92. package/dist/{chunk-4MONIKIY.js → chunk-OJ3TV57W.js} +12 -7
  93. package/dist/chunk-OJ3TV57W.js.map +1 -0
  94. package/dist/{chunk-BXLOS5AJ.js → chunk-OWHERGF2.js} +2 -2
  95. package/dist/{chunk-YYI5DZAQ.js → chunk-QIDMGBUY.js} +2 -2
  96. package/dist/{chunk-6FJCKMSJ.js → chunk-QJAGDPY7.js} +3 -3
  97. package/dist/{chunk-Y37KZVUM.js → chunk-RDUM6BKQ.js} +2 -2
  98. package/dist/{chunk-XQSAPG34.js → chunk-RGX4DGOG.js} +2 -2
  99. package/dist/{chunk-OMYCECTS.js → chunk-RJLV4BKR.js} +2 -2
  100. package/dist/{chunk-XIA4CN3T.js → chunk-RKTT72XV.js} +4 -4
  101. package/dist/{chunk-OOWUOWXK.js → chunk-RMG22TH2.js} +2 -2
  102. package/dist/{chunk-XLLRMUMH.js → chunk-RRMIACBG.js} +8 -8
  103. package/dist/{chunk-XLLRMUMH.js.map → chunk-RRMIACBG.js.map} +1 -1
  104. package/dist/{chunk-4GPI3GVE.js → chunk-SLEAJ67D.js} +5 -5
  105. package/dist/{chunk-XC4MDMQE.js → chunk-SUSMEKBE.js} +3 -3
  106. package/dist/{chunk-YZENVZWY.js → chunk-TY446V34.js} +2 -2
  107. package/dist/{chunk-PIG4WJFQ.js → chunk-UHESJ6TQ.js} +2 -2
  108. package/dist/{chunk-PIG4WJFQ.js.map → chunk-UHESJ6TQ.js.map} +1 -1
  109. package/dist/{chunk-GN7YTM5I.js → chunk-UKB7ZDKK.js} +2 -2
  110. package/dist/{chunk-DQEMWVMT.js → chunk-UVYI6VIX.js} +1 -1
  111. package/dist/{chunk-VKWMW32Y.js → chunk-WGXWZE3K.js} +2 -2
  112. package/dist/{chunk-ZHOXXHT5.js → chunk-WQZZDN5M.js} +4 -4
  113. package/dist/{chunk-TYR4D4GH.js → chunk-X33QB7LW.js} +2 -2
  114. package/dist/{chunk-NQBD3R24.js → chunk-X3NZ2HAO.js} +2 -2
  115. package/dist/{chunk-Q4AUIFUA.js → chunk-XAITGGX5.js} +4 -4
  116. package/dist/{chunk-NC7OAEYY.js → chunk-XNYTMLPS.js} +3 -3
  117. package/dist/{chunk-SFDZ66MD.js → chunk-YL273SOF.js} +2 -2
  118. package/dist/{chunk-6RBUAPQT.js → chunk-YUAOU2B2.js} +3 -3
  119. package/dist/{chunk-AV5K5QH4.js → chunk-ZWWF7PI5.js} +4 -4
  120. package/dist/{chunk-J3NN2Q4Z.js → chunk-ZYBLNHUB.js} +4 -4
  121. package/dist/cli.js +75 -74
  122. package/dist/coding/export-okf-codegraph.js +9 -9
  123. package/dist/compounding/engine.js +9 -9
  124. package/dist/config-qmd.js +1 -1
  125. package/dist/config.js +13 -13
  126. package/dist/connectors/codex-materialize-runner.js +9 -9
  127. package/dist/connectors/index.js +9 -9
  128. package/dist/convergence-refresh.js +11 -11
  129. package/dist/corpus-watermark.js +11 -11
  130. package/dist/deep-recall-http-glue.js +6 -6
  131. package/dist/directory-sidecars.d.ts.map +1 -1
  132. package/dist/directory-sidecars.js +1 -1
  133. package/dist/entity-retrieval.js +9 -9
  134. package/dist/external-wiki-access.js +38 -37
  135. package/dist/extraction-span-materialize.js +2 -2
  136. package/dist/extraction.js +16 -16
  137. package/dist/{first-start-migration-7OATHJKB.js → first-start-migration-GAT7G733.js} +4 -4
  138. package/dist/harmonic-retrieval.js +1 -1
  139. package/dist/index.js +156 -155
  140. package/dist/lcm/engine.js +2 -2
  141. package/dist/lcm/index.js +5 -5
  142. package/dist/location/index.js +11 -11
  143. package/dist/maintenance/memory-governance.js +9 -9
  144. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -9
  145. package/dist/maintenance/rebuild-memory-projection.js +10 -10
  146. package/dist/memory-browse-operations.js +38 -37
  147. package/dist/memory-browse.js +5 -5
  148. package/dist/namespaces/migrate.js +10 -10
  149. package/dist/namespaces/search.js +5 -5
  150. package/dist/namespaces/storage.js +9 -9
  151. package/dist/offline-sync.js +2 -2
  152. package/dist/operator-doctor-corpus.js +12 -12
  153. package/dist/operator-toolkit.js +22 -22
  154. package/dist/orchestration/maintenance.js +17 -17
  155. package/dist/orchestration/recall-recognition-search.d.ts +1 -0
  156. package/dist/orchestration/recall-recognition-search.d.ts.map +1 -1
  157. package/dist/orchestrator.js +102 -101
  158. package/dist/qmd.d.ts +1 -1
  159. package/dist/qmd.d.ts.map +1 -1
  160. package/dist/qmd.js +1 -1
  161. package/dist/recall-navigation-operations.js +38 -37
  162. package/dist/recall-navigation.js +37 -36
  163. package/dist/recall-state-view-admission.js +5 -5
  164. package/dist/recall-why-service.js +5 -5
  165. package/dist/resume-bundles.js +14 -14
  166. package/dist/search/factory.js +4 -4
  167. package/dist/search/index.js +8 -8
  168. package/dist/semantic-consolidation.js +10 -10
  169. package/dist/semantic-rule-promotion.js +9 -9
  170. package/dist/semantic-rule-verifier.js +9 -9
  171. package/dist/source-agent-qualifier.js +12 -12
  172. package/dist/standup/build.js +9 -9
  173. package/dist/storage.js +8 -8
  174. package/dist/support-passport/index.js +40 -39
  175. package/dist/transfer/backup.js +2 -2
  176. package/dist/transfer/capsule-export.js +2 -2
  177. package/dist/transfer/capsule-import.js +2 -2
  178. package/dist/transfer/export-okf.js +10 -10
  179. package/dist/verified-recall.js +9 -9
  180. package/dist/who-knows-cli.js +10 -10
  181. package/dist/who-knows.js +9 -9
  182. package/package.json +2 -2
  183. package/src/briefing-followup-timeout.test.ts +15 -0
  184. package/src/briefing-followup-timeout.ts +14 -0
  185. package/src/briefing.ts +8 -9
  186. package/src/config-qmd.ts +1 -1
  187. package/src/config.test.ts +2 -2
  188. package/src/config.ts +1 -1
  189. package/src/directory-sidecars.test.ts +36 -1
  190. package/src/directory-sidecars.ts +14 -1
  191. package/src/orchestration/recall-internal.ts +1 -1
  192. package/src/orchestration/recall-recognition-search.test.ts +8 -0
  193. package/src/orchestration/recall-recognition-search.ts +5 -1
  194. package/src/orchestration/recall-search-pipeline.ts +1 -1
  195. package/src/qmd.ts +4 -4
  196. package/src/recall-budget-config.test.ts +1 -1
  197. package/dist/chunk-3NTVCMDD.js.map +0 -1
  198. package/dist/chunk-4MONIKIY.js.map +0 -1
  199. package/dist/chunk-FAT6HY7N.js.map +0 -1
  200. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → briefing-followup-timeout.js.map} +0 -0
  201. /package/dist/{chunk-TWUMZCGA.js.map → chunk-2CH6MMO2.js.map} +0 -0
  202. /package/dist/{chunk-N6TUO3O6.js.map → chunk-2GKLHU2D.js.map} +0 -0
  203. /package/dist/{chunk-I6PZTU3Q.js.map → chunk-2I6VHX6Q.js.map} +0 -0
  204. /package/dist/{chunk-LVFI5LG7.js.map → chunk-2L5FSNPC.js.map} +0 -0
  205. /package/dist/{chunk-IGJL6JOD.js.map → chunk-3AGCSD42.js.map} +0 -0
  206. /package/dist/{chunk-252U6XYX.js.map → chunk-3K3PITOE.js.map} +0 -0
  207. /package/dist/{chunk-5Z574AVZ.js.map → chunk-5ELENZTA.js.map} +0 -0
  208. /package/dist/{chunk-5ELXQQY7.js.map → chunk-5X7ZTLFS.js.map} +0 -0
  209. /package/dist/{chunk-NRPLDEFR.js.map → chunk-6DTJBTHL.js.map} +0 -0
  210. /package/dist/{chunk-IV2CY3RE.js.map → chunk-6MJGDUC7.js.map} +0 -0
  211. /package/dist/{chunk-JU5MAF2L.js.map → chunk-7DZHRPCO.js.map} +0 -0
  212. /package/dist/{chunk-YPWOZ6ME.js.map → chunk-7G6WUOLB.js.map} +0 -0
  213. /package/dist/{chunk-JBHCTDYF.js.map → chunk-7QXTCONH.js.map} +0 -0
  214. /package/dist/{chunk-LTS2XIU3.js.map → chunk-7WO66MKJ.js.map} +0 -0
  215. /package/dist/{chunk-RQIETS2K.js.map → chunk-A2XDQ3JW.js.map} +0 -0
  216. /package/dist/{chunk-OH6AMNSA.js.map → chunk-AVO2CBIL.js.map} +0 -0
  217. /package/dist/{chunk-FUWW7ED4.js.map → chunk-AZ2X5LNA.js.map} +0 -0
  218. /package/dist/{chunk-HC4RWJR3.js.map → chunk-BNPLDVM6.js.map} +0 -0
  219. /package/dist/{chunk-VDX2J7OX.js.map → chunk-BUKK5SWA.js.map} +0 -0
  220. /package/dist/{chunk-WZ7M2QRP.js.map → chunk-CDEI5S5W.js.map} +0 -0
  221. /package/dist/{chunk-KOXUUJE3.js.map → chunk-CLSYE5OZ.js.map} +0 -0
  222. /package/dist/{chunk-YNNXM6FN.js.map → chunk-CYCE3L2I.js.map} +0 -0
  223. /package/dist/{chunk-34R75BVF.js.map → chunk-DCPAAAIC.js.map} +0 -0
  224. /package/dist/{chunk-N25RPRSI.js.map → chunk-DSQWTXHP.js.map} +0 -0
  225. /package/dist/{chunk-6VQFPA3J.js.map → chunk-EJPF6XDQ.js.map} +0 -0
  226. /package/dist/{chunk-BRBB62TS.js.map → chunk-EVBI7S4J.js.map} +0 -0
  227. /package/dist/{chunk-5D6IMOW6.js.map → chunk-FMT52ROU.js.map} +0 -0
  228. /package/dist/{chunk-JOAR32R6.js.map → chunk-FVK5NQ3V.js.map} +0 -0
  229. /package/dist/{chunk-3SL52JKD.js.map → chunk-FZVROZKC.js.map} +0 -0
  230. /package/dist/{chunk-MKGIW5W6.js.map → chunk-GARVFCV6.js.map} +0 -0
  231. /package/dist/{chunk-364F6EMG.js.map → chunk-GATQP7CE.js.map} +0 -0
  232. /package/dist/{chunk-6OR3AQHP.js.map → chunk-GXQ5GDUH.js.map} +0 -0
  233. /package/dist/{chunk-VVX5PZFS.js.map → chunk-H36X4NRH.js.map} +0 -0
  234. /package/dist/{chunk-2VH2JWYN.js.map → chunk-I4G4UWQA.js.map} +0 -0
  235. /package/dist/{chunk-6OACG7JV.js.map → chunk-IBGEHKQ6.js.map} +0 -0
  236. /package/dist/{chunk-P2FJ2KYJ.js.map → chunk-IILMR37Z.js.map} +0 -0
  237. /package/dist/{chunk-X2PBZOYZ.js.map → chunk-IP5VLSLO.js.map} +0 -0
  238. /package/dist/{chunk-2MLWQMXH.js.map → chunk-IVH7INFM.js.map} +0 -0
  239. /package/dist/{chunk-UHKME3I7.js.map → chunk-K2SXIWEV.js.map} +0 -0
  240. /package/dist/{chunk-OJMAM4RO.js.map → chunk-LEP46X5Y.js.map} +0 -0
  241. /package/dist/{chunk-74C5FI4S.js.map → chunk-LZLJK2IA.js.map} +0 -0
  242. /package/dist/{chunk-W5VYWOU3.js.map → chunk-MQQPONTM.js.map} +0 -0
  243. /package/dist/{chunk-BFDBLAVG.js.map → chunk-NGFRFDSK.js.map} +0 -0
  244. /package/dist/{chunk-OIKX22FU.js.map → chunk-NHV6WCM5.js.map} +0 -0
  245. /package/dist/{chunk-FCVPZIHF.js.map → chunk-NYZRJW5X.js.map} +0 -0
  246. /package/dist/{chunk-HKPGEFIT.js.map → chunk-OHRIBMSS.js.map} +0 -0
  247. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-OWHERGF2.js.map} +0 -0
  248. /package/dist/{chunk-YYI5DZAQ.js.map → chunk-QIDMGBUY.js.map} +0 -0
  249. /package/dist/{chunk-6FJCKMSJ.js.map → chunk-QJAGDPY7.js.map} +0 -0
  250. /package/dist/{chunk-Y37KZVUM.js.map → chunk-RDUM6BKQ.js.map} +0 -0
  251. /package/dist/{chunk-XQSAPG34.js.map → chunk-RGX4DGOG.js.map} +0 -0
  252. /package/dist/{chunk-OMYCECTS.js.map → chunk-RJLV4BKR.js.map} +0 -0
  253. /package/dist/{chunk-XIA4CN3T.js.map → chunk-RKTT72XV.js.map} +0 -0
  254. /package/dist/{chunk-OOWUOWXK.js.map → chunk-RMG22TH2.js.map} +0 -0
  255. /package/dist/{chunk-4GPI3GVE.js.map → chunk-SLEAJ67D.js.map} +0 -0
  256. /package/dist/{chunk-XC4MDMQE.js.map → chunk-SUSMEKBE.js.map} +0 -0
  257. /package/dist/{chunk-YZENVZWY.js.map → chunk-TY446V34.js.map} +0 -0
  258. /package/dist/{chunk-GN7YTM5I.js.map → chunk-UKB7ZDKK.js.map} +0 -0
  259. /package/dist/{chunk-DQEMWVMT.js.map → chunk-UVYI6VIX.js.map} +0 -0
  260. /package/dist/{chunk-VKWMW32Y.js.map → chunk-WGXWZE3K.js.map} +0 -0
  261. /package/dist/{chunk-ZHOXXHT5.js.map → chunk-WQZZDN5M.js.map} +0 -0
  262. /package/dist/{chunk-TYR4D4GH.js.map → chunk-X33QB7LW.js.map} +0 -0
  263. /package/dist/{chunk-NQBD3R24.js.map → chunk-X3NZ2HAO.js.map} +0 -0
  264. /package/dist/{chunk-Q4AUIFUA.js.map → chunk-XAITGGX5.js.map} +0 -0
  265. /package/dist/{chunk-NC7OAEYY.js.map → chunk-XNYTMLPS.js.map} +0 -0
  266. /package/dist/{chunk-SFDZ66MD.js.map → chunk-YL273SOF.js.map} +0 -0
  267. /package/dist/{chunk-6RBUAPQT.js.map → chunk-YUAOU2B2.js.map} +0 -0
  268. /package/dist/{chunk-AV5K5QH4.js.map → chunk-ZWWF7PI5.js.map} +0 -0
  269. /package/dist/{chunk-J3NN2Q4Z.js.map → chunk-ZYBLNHUB.js.map} +0 -0
  270. /package/dist/{first-start-migration-7OATHJKB.js.map → first-start-migration-GAT7G733.js.map} +0 -0
@@ -4,16 +4,16 @@ import {
4
4
  buildProjectedGovernanceProposedActions,
5
5
  hasGroupedGovernanceActions,
6
6
  shapeMemorySummary
7
- } from "./chunk-5D6IMOW6.js";
7
+ } from "./chunk-FMT52ROU.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
- import "./chunk-VVX5PZFS.js";
10
+ import "./chunk-H36X4NRH.js";
11
11
  import "./chunk-IFBSZGW3.js";
12
12
  import "./chunk-OGXXGHW6.js";
13
13
  import "./chunk-C3QXITIP.js";
14
14
  import "./chunk-VQ7B2Q6M.js";
15
- import "./chunk-YYI5DZAQ.js";
16
15
  import "./chunk-PJSK6OJM.js";
16
+ import "./chunk-QIDMGBUY.js";
17
17
  import "./chunk-ROBHL3GL.js";
18
18
  import "./chunk-GNVZQ5JN.js";
19
19
  import "./chunk-YN2UN7N3.js";
@@ -22,30 +22,30 @@ import "./chunk-6DNMUYEE.js";
22
22
  import "./chunk-P5FPO2BR.js";
23
23
  import "./chunk-S4DDLTPX.js";
24
24
  import "./chunk-6ET2VII7.js";
25
- import "./chunk-6VQFPA3J.js";
25
+ import "./chunk-EJPF6XDQ.js";
26
26
  import "./chunk-5HFVWYHL.js";
27
27
  import "./chunk-LI76ESJL.js";
28
+ import "./chunk-YE4JBZO5.js";
28
29
  import "./chunk-5KVT6G5U.js";
29
30
  import "./chunk-KIW3OOZE.js";
30
31
  import "./chunk-JLPNONPH.js";
31
- import "./chunk-YE4JBZO5.js";
32
32
  import "./chunk-7O5EW7KX.js";
33
+ import "./chunk-H7XKCNR6.js";
33
34
  import "./chunk-KN6CIN7I.js";
34
35
  import "./chunk-SOBJ6NEY.js";
35
36
  import "./chunk-SSUDD72S.js";
36
37
  import "./chunk-VYDGHJIN.js";
37
- import "./chunk-H7XKCNR6.js";
38
- import "./chunk-34R75BVF.js";
38
+ import "./chunk-DCPAAAIC.js";
39
39
  import "./chunk-E6UNM67F.js";
40
40
  import "./chunk-6WHJ2EAB.js";
41
41
  import "./chunk-AQEJKOKI.js";
42
42
  import "./chunk-HM7RHKS4.js";
43
- import "./chunk-UD7UNYRD.js";
44
43
  import "./chunk-IISBCCWR.js";
45
- import "./chunk-5Z574AVZ.js";
46
- import "./chunk-YPWOZ6ME.js";
44
+ import "./chunk-UD7UNYRD.js";
45
+ import "./chunk-5ELENZTA.js";
46
+ import "./chunk-7G6WUOLB.js";
47
47
  import "./chunk-2YA5N2BY.js";
48
- import "./chunk-OIKX22FU.js";
48
+ import "./chunk-NHV6WCM5.js";
49
49
  import "./chunk-CHDGJJV6.js";
50
50
  import "./chunk-EI6V5UXY.js";
51
51
  import "./chunk-KKNZ7PUZ.js";
@@ -61,20 +61,20 @@ import "./chunk-LTHVM4XN.js";
61
61
  import "./chunk-7DE2NOON.js";
62
62
  import "./chunk-C37ZRXX7.js";
63
63
  import "./chunk-NVKO5YKP.js";
64
+ import "./chunk-3X5OPDPF.js";
64
65
  import "./chunk-HS75MCQF.js";
65
66
  import "./chunk-WTWQA7BB.js";
66
67
  import "./chunk-VZIAVM72.js";
67
68
  import "./chunk-HRATODNO.js";
69
+ import "./chunk-BMWN7B3Y.js";
68
70
  import "./chunk-NAFPHFDM.js";
69
71
  import "./chunk-RF2SMMPP.js";
70
- import "./chunk-3X5OPDPF.js";
71
- import "./chunk-JOAR32R6.js";
72
- import "./chunk-Y37KZVUM.js";
73
- import "./chunk-NC7OAEYY.js";
74
- import "./chunk-6OR3AQHP.js";
72
+ import "./chunk-FVK5NQ3V.js";
73
+ import "./chunk-RDUM6BKQ.js";
74
+ import "./chunk-XNYTMLPS.js";
75
+ import "./chunk-GXQ5GDUH.js";
75
76
  import "./chunk-UFGFMWAD.js";
76
- import "./chunk-BMWN7B3Y.js";
77
- import "./chunk-W5VYWOU3.js";
77
+ import "./chunk-MQQPONTM.js";
78
78
  import "./chunk-3UXOZBHV.js";
79
79
  import "./chunk-PIWFNPQT.js";
80
80
  import "./chunk-2U3R3DDH.js";
@@ -83,15 +83,16 @@ import "./chunk-EUT2WCWS.js";
83
83
  import "./chunk-GKCXTSFF.js";
84
84
  import "./chunk-2LSZVONP.js";
85
85
  import "./chunk-DEUNUKTD.js";
86
- import "./chunk-NRPLDEFR.js";
87
- import "./chunk-2VH2JWYN.js";
86
+ import "./chunk-OJ3TV57W.js";
87
+ import "./chunk-6DTJBTHL.js";
88
+ import "./chunk-I4G4UWQA.js";
88
89
  import "./chunk-CSAKJVXW.js";
89
90
  import "./chunk-K2XUWZBM.js";
90
91
  import "./chunk-OD4FM2U7.js";
91
92
  import "./chunk-ZY2MNJR6.js";
92
93
  import "./chunk-2QG4SLZI.js";
93
94
  import "./chunk-TBBDFYXW.js";
94
- import "./chunk-4MONIKIY.js";
95
+ import "./chunk-GZFKCLRC.js";
95
96
  import "./chunk-6JMQR72P.js";
96
97
  import "./chunk-TOTT6S2V.js";
97
98
  import "./chunk-QLK3SL7Q.js";
@@ -109,19 +110,19 @@ import "./chunk-236PXYG7.js";
109
110
  import "./chunk-ZCUTSMR2.js";
110
111
  import "./chunk-QDW3E4RD.js";
111
112
  import "./chunk-VZBW6CDG.js";
112
- import "./chunk-6RBUAPQT.js";
113
+ import "./chunk-YUAOU2B2.js";
113
114
  import "./chunk-UHVXE24Y.js";
114
115
  import "./chunk-46WM6JX2.js";
115
116
  import "./chunk-D5F7TKMH.js";
116
- import "./chunk-OMYCECTS.js";
117
- import "./chunk-4GPI3GVE.js";
117
+ import "./chunk-RJLV4BKR.js";
118
+ import "./chunk-SLEAJ67D.js";
119
+ import "./chunk-S7LWX2PQ.js";
118
120
  import "./chunk-T2YX56QI.js";
119
121
  import "./chunk-CYEPCZN5.js";
120
122
  import "./chunk-T3FMRLWQ.js";
121
123
  import "./chunk-7VO6E5UD.js";
122
- import "./chunk-Z4TXB4K7.js";
123
- import "./chunk-S7LWX2PQ.js";
124
124
  import "./chunk-4O6WRBGE.js";
125
+ import "./chunk-Z4TXB4K7.js";
125
126
  import "./chunk-GUMZC2BO.js";
126
127
  import "./chunk-TFA6HPOA.js";
127
128
  import "./chunk-F4TWWUMP.js";
@@ -136,11 +137,11 @@ import "./chunk-FF6N7BXC.js";
136
137
  import "./chunk-J3IWHCMF.js";
137
138
  import "./chunk-AAD2ZS6P.js";
138
139
  import "./chunk-DUJYRVUD.js";
140
+ import "./chunk-3ONXXHQO.js";
139
141
  import "./chunk-YXZG5TVN.js";
140
142
  import "./chunk-ZIKENA2C.js";
141
- import "./chunk-FAT6HY7N.js";
143
+ import "./chunk-345MEMRU.js";
142
144
  import "./chunk-SCU65EZI.js";
143
- import "./chunk-3ONXXHQO.js";
144
145
  import "./chunk-5GINB5LC.js";
145
146
  import "./chunk-3WU7XOFN.js";
146
147
  import "./chunk-G7D6GZ5J.js";
@@ -150,7 +151,7 @@ import "./chunk-RBOJCG4T.js";
150
151
  import "./chunk-R7QY5ZVB.js";
151
152
  import "./chunk-5WITETWU.js";
152
153
  import "./chunk-6CIAGZ6X.js";
153
- import "./chunk-3NTVCMDD.js";
154
+ import "./chunk-B3OFQP5Y.js";
154
155
  import "./chunk-G26YNEOC.js";
155
156
  import "./chunk-ZLQ37WJX.js";
156
157
  import "./chunk-IUM3VSHI.js";
@@ -172,16 +173,16 @@ import "./chunk-4O4TKIXQ.js";
172
173
  import "./chunk-C5C7IJ4Q.js";
173
174
  import "./chunk-3QL24R5Y.js";
174
175
  import "./chunk-SYOIVK7K.js";
175
- import "./chunk-YZENVZWY.js";
176
+ import "./chunk-TY446V34.js";
176
177
  import "./chunk-BMYZTZ5D.js";
177
178
  import "./chunk-353C5UNV.js";
178
179
  import "./chunk-GDYU6VF4.js";
179
180
  import "./chunk-BT7NVCML.js";
180
181
  import "./chunk-VYCOJKSX.js";
181
- import "./chunk-6OACG7JV.js";
182
- import "./chunk-VDX2J7OX.js";
182
+ import "./chunk-IBGEHKQ6.js";
183
+ import "./chunk-BUKK5SWA.js";
183
184
  import "./chunk-WEHSQBFR.js";
184
- import "./chunk-DQEMWVMT.js";
185
+ import "./chunk-UVYI6VIX.js";
185
186
  import "./chunk-J4EB7DNW.js";
186
187
  import "./chunk-BJMBJZ2Y.js";
187
188
  import "./chunk-UKJAGEXH.js";
@@ -189,7 +190,7 @@ import "./chunk-FP2373TW.js";
189
190
  import "./chunk-Z2YFLXHU.js";
190
191
  import "./chunk-I4WBNM3M.js";
191
192
  import "./chunk-SOAU2OE2.js";
192
- import "./chunk-BRBB62TS.js";
193
+ import "./chunk-EVBI7S4J.js";
193
194
  import "./chunk-S3YM4SZQ.js";
194
195
  import "./chunk-PAAJWQH5.js";
195
196
  import "./chunk-MOQPEFLN.js";
@@ -208,11 +209,11 @@ import "./chunk-NB3LRY4T.js";
208
209
  import "./chunk-AW4QUFQF.js";
209
210
  import "./chunk-5FVVY2EB.js";
210
211
  import "./chunk-FFAZ2XFU.js";
211
- import "./chunk-ZHOXXHT5.js";
212
+ import "./chunk-WQZZDN5M.js";
212
213
  import "./chunk-UI3NYK34.js";
213
214
  import "./chunk-GCGJW34D.js";
214
- import "./chunk-3BTFBQLO.js";
215
215
  import "./chunk-AREGMX2J.js";
216
+ import "./chunk-3BTFBQLO.js";
216
217
  import "./chunk-LQWOFU6L.js";
217
218
  import "./chunk-Q3THVX75.js";
218
219
  import "./chunk-DINRT75P.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES
3
- } from "./chunk-OH6AMNSA.js";
3
+ } from "./chunk-AVO2CBIL.js";
4
4
  import {
5
5
  SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES
6
- } from "./chunk-JBHCTDYF.js";
7
- import "./chunk-5D6IMOW6.js";
6
+ } from "./chunk-7QXTCONH.js";
7
+ import "./chunk-FMT52ROU.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
- import "./chunk-VVX5PZFS.js";
10
+ import "./chunk-H36X4NRH.js";
11
11
  import "./chunk-IFBSZGW3.js";
12
12
  import "./chunk-OGXXGHW6.js";
13
13
  import "./chunk-C3QXITIP.js";
14
14
  import "./chunk-VQ7B2Q6M.js";
15
- import "./chunk-YYI5DZAQ.js";
16
15
  import "./chunk-PJSK6OJM.js";
16
+ import "./chunk-QIDMGBUY.js";
17
17
  import "./chunk-ROBHL3GL.js";
18
18
  import "./chunk-GNVZQ5JN.js";
19
19
  import "./chunk-YN2UN7N3.js";
@@ -22,30 +22,30 @@ import "./chunk-6DNMUYEE.js";
22
22
  import "./chunk-P5FPO2BR.js";
23
23
  import "./chunk-S4DDLTPX.js";
24
24
  import "./chunk-6ET2VII7.js";
25
- import "./chunk-6VQFPA3J.js";
25
+ import "./chunk-EJPF6XDQ.js";
26
26
  import "./chunk-5HFVWYHL.js";
27
27
  import "./chunk-LI76ESJL.js";
28
+ import "./chunk-YE4JBZO5.js";
28
29
  import "./chunk-5KVT6G5U.js";
29
30
  import "./chunk-KIW3OOZE.js";
30
31
  import "./chunk-JLPNONPH.js";
31
- import "./chunk-YE4JBZO5.js";
32
32
  import "./chunk-7O5EW7KX.js";
33
+ import "./chunk-H7XKCNR6.js";
33
34
  import "./chunk-KN6CIN7I.js";
34
35
  import "./chunk-SOBJ6NEY.js";
35
36
  import "./chunk-SSUDD72S.js";
36
37
  import "./chunk-VYDGHJIN.js";
37
- import "./chunk-H7XKCNR6.js";
38
- import "./chunk-34R75BVF.js";
38
+ import "./chunk-DCPAAAIC.js";
39
39
  import "./chunk-E6UNM67F.js";
40
40
  import "./chunk-6WHJ2EAB.js";
41
41
  import "./chunk-AQEJKOKI.js";
42
42
  import "./chunk-HM7RHKS4.js";
43
- import "./chunk-UD7UNYRD.js";
44
43
  import "./chunk-IISBCCWR.js";
45
- import "./chunk-5Z574AVZ.js";
46
- import "./chunk-YPWOZ6ME.js";
44
+ import "./chunk-UD7UNYRD.js";
45
+ import "./chunk-5ELENZTA.js";
46
+ import "./chunk-7G6WUOLB.js";
47
47
  import "./chunk-2YA5N2BY.js";
48
- import "./chunk-OIKX22FU.js";
48
+ import "./chunk-NHV6WCM5.js";
49
49
  import "./chunk-CHDGJJV6.js";
50
50
  import "./chunk-EI6V5UXY.js";
51
51
  import "./chunk-KKNZ7PUZ.js";
@@ -61,20 +61,20 @@ import "./chunk-LTHVM4XN.js";
61
61
  import "./chunk-7DE2NOON.js";
62
62
  import "./chunk-C37ZRXX7.js";
63
63
  import "./chunk-NVKO5YKP.js";
64
+ import "./chunk-3X5OPDPF.js";
64
65
  import "./chunk-HS75MCQF.js";
65
66
  import "./chunk-WTWQA7BB.js";
66
67
  import "./chunk-VZIAVM72.js";
67
68
  import "./chunk-HRATODNO.js";
69
+ import "./chunk-BMWN7B3Y.js";
68
70
  import "./chunk-NAFPHFDM.js";
69
71
  import "./chunk-RF2SMMPP.js";
70
- import "./chunk-3X5OPDPF.js";
71
- import "./chunk-JOAR32R6.js";
72
- import "./chunk-Y37KZVUM.js";
73
- import "./chunk-NC7OAEYY.js";
74
- import "./chunk-6OR3AQHP.js";
72
+ import "./chunk-FVK5NQ3V.js";
73
+ import "./chunk-RDUM6BKQ.js";
74
+ import "./chunk-XNYTMLPS.js";
75
+ import "./chunk-GXQ5GDUH.js";
75
76
  import "./chunk-UFGFMWAD.js";
76
- import "./chunk-BMWN7B3Y.js";
77
- import "./chunk-W5VYWOU3.js";
77
+ import "./chunk-MQQPONTM.js";
78
78
  import "./chunk-3UXOZBHV.js";
79
79
  import "./chunk-PIWFNPQT.js";
80
80
  import "./chunk-2U3R3DDH.js";
@@ -83,15 +83,16 @@ import "./chunk-EUT2WCWS.js";
83
83
  import "./chunk-GKCXTSFF.js";
84
84
  import "./chunk-2LSZVONP.js";
85
85
  import "./chunk-DEUNUKTD.js";
86
- import "./chunk-NRPLDEFR.js";
87
- import "./chunk-2VH2JWYN.js";
86
+ import "./chunk-OJ3TV57W.js";
87
+ import "./chunk-6DTJBTHL.js";
88
+ import "./chunk-I4G4UWQA.js";
88
89
  import "./chunk-CSAKJVXW.js";
89
90
  import "./chunk-K2XUWZBM.js";
90
91
  import "./chunk-OD4FM2U7.js";
91
92
  import "./chunk-ZY2MNJR6.js";
92
93
  import "./chunk-2QG4SLZI.js";
93
94
  import "./chunk-TBBDFYXW.js";
94
- import "./chunk-4MONIKIY.js";
95
+ import "./chunk-GZFKCLRC.js";
95
96
  import "./chunk-6JMQR72P.js";
96
97
  import "./chunk-TOTT6S2V.js";
97
98
  import "./chunk-QLK3SL7Q.js";
@@ -109,19 +110,19 @@ import "./chunk-236PXYG7.js";
109
110
  import "./chunk-ZCUTSMR2.js";
110
111
  import "./chunk-QDW3E4RD.js";
111
112
  import "./chunk-VZBW6CDG.js";
112
- import "./chunk-6RBUAPQT.js";
113
+ import "./chunk-YUAOU2B2.js";
113
114
  import "./chunk-UHVXE24Y.js";
114
115
  import "./chunk-46WM6JX2.js";
115
116
  import "./chunk-D5F7TKMH.js";
116
- import "./chunk-OMYCECTS.js";
117
- import "./chunk-4GPI3GVE.js";
117
+ import "./chunk-RJLV4BKR.js";
118
+ import "./chunk-SLEAJ67D.js";
119
+ import "./chunk-S7LWX2PQ.js";
118
120
  import "./chunk-T2YX56QI.js";
119
121
  import "./chunk-CYEPCZN5.js";
120
122
  import "./chunk-T3FMRLWQ.js";
121
123
  import "./chunk-7VO6E5UD.js";
122
- import "./chunk-Z4TXB4K7.js";
123
- import "./chunk-S7LWX2PQ.js";
124
124
  import "./chunk-4O6WRBGE.js";
125
+ import "./chunk-Z4TXB4K7.js";
125
126
  import "./chunk-GUMZC2BO.js";
126
127
  import "./chunk-TFA6HPOA.js";
127
128
  import "./chunk-F4TWWUMP.js";
@@ -136,11 +137,11 @@ import "./chunk-FF6N7BXC.js";
136
137
  import "./chunk-J3IWHCMF.js";
137
138
  import "./chunk-AAD2ZS6P.js";
138
139
  import "./chunk-DUJYRVUD.js";
140
+ import "./chunk-3ONXXHQO.js";
139
141
  import "./chunk-YXZG5TVN.js";
140
142
  import "./chunk-ZIKENA2C.js";
141
- import "./chunk-FAT6HY7N.js";
143
+ import "./chunk-345MEMRU.js";
142
144
  import "./chunk-SCU65EZI.js";
143
- import "./chunk-3ONXXHQO.js";
144
145
  import "./chunk-5GINB5LC.js";
145
146
  import "./chunk-3WU7XOFN.js";
146
147
  import "./chunk-G7D6GZ5J.js";
@@ -150,7 +151,7 @@ import "./chunk-RBOJCG4T.js";
150
151
  import "./chunk-R7QY5ZVB.js";
151
152
  import "./chunk-5WITETWU.js";
152
153
  import "./chunk-6CIAGZ6X.js";
153
- import "./chunk-3NTVCMDD.js";
154
+ import "./chunk-B3OFQP5Y.js";
154
155
  import "./chunk-G26YNEOC.js";
155
156
  import "./chunk-ZLQ37WJX.js";
156
157
  import "./chunk-IUM3VSHI.js";
@@ -172,16 +173,16 @@ import "./chunk-4O4TKIXQ.js";
172
173
  import "./chunk-C5C7IJ4Q.js";
173
174
  import "./chunk-3QL24R5Y.js";
174
175
  import "./chunk-SYOIVK7K.js";
175
- import "./chunk-YZENVZWY.js";
176
+ import "./chunk-TY446V34.js";
176
177
  import "./chunk-BMYZTZ5D.js";
177
178
  import "./chunk-353C5UNV.js";
178
179
  import "./chunk-GDYU6VF4.js";
179
180
  import "./chunk-BT7NVCML.js";
180
181
  import "./chunk-VYCOJKSX.js";
181
- import "./chunk-6OACG7JV.js";
182
- import "./chunk-VDX2J7OX.js";
182
+ import "./chunk-IBGEHKQ6.js";
183
+ import "./chunk-BUKK5SWA.js";
183
184
  import "./chunk-WEHSQBFR.js";
184
- import "./chunk-DQEMWVMT.js";
185
+ import "./chunk-UVYI6VIX.js";
185
186
  import "./chunk-J4EB7DNW.js";
186
187
  import "./chunk-BJMBJZ2Y.js";
187
188
  import "./chunk-UKJAGEXH.js";
@@ -189,7 +190,7 @@ import "./chunk-FP2373TW.js";
189
190
  import "./chunk-Z2YFLXHU.js";
190
191
  import "./chunk-I4WBNM3M.js";
191
192
  import "./chunk-SOAU2OE2.js";
192
- import "./chunk-BRBB62TS.js";
193
+ import "./chunk-EVBI7S4J.js";
193
194
  import "./chunk-S3YM4SZQ.js";
194
195
  import "./chunk-PAAJWQH5.js";
195
196
  import "./chunk-MOQPEFLN.js";
@@ -208,11 +209,11 @@ import "./chunk-NB3LRY4T.js";
208
209
  import "./chunk-AW4QUFQF.js";
209
210
  import "./chunk-5FVVY2EB.js";
210
211
  import "./chunk-FFAZ2XFU.js";
211
- import "./chunk-ZHOXXHT5.js";
212
+ import "./chunk-WQZZDN5M.js";
212
213
  import "./chunk-UI3NYK34.js";
213
214
  import "./chunk-GCGJW34D.js";
214
- import "./chunk-3BTFBQLO.js";
215
215
  import "./chunk-AREGMX2J.js";
216
+ import "./chunk-3BTFBQLO.js";
216
217
  import "./chunk-LQWOFU6L.js";
217
218
  import "./chunk-Q3THVX75.js";
218
219
  import "./chunk-DINRT75P.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":[]}