@remnic/core 9.45.3 → 9.45.4

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 (747) hide show
  1. package/dist/abort-error.d.ts +2 -1
  2. package/dist/abort-error.js +3 -1
  3. package/dist/access-admin-ops-surface.d.ts +14 -10
  4. package/dist/access-admin-ops-surface.js +84 -76
  5. package/dist/access-audit.js +2 -2
  6. package/dist/access-authorization-probe.d.ts +14 -10
  7. package/dist/access-authorization-probe.js +85 -77
  8. package/dist/access-boundary.d.ts +15 -11
  9. package/dist/access-boundary.js +84 -76
  10. package/dist/access-citation-namespace.js +2 -2
  11. package/dist/access-cli.js +193 -181
  12. package/dist/access-cli.js.map +1 -1
  13. package/dist/access-coding-context-resolution.d.ts +16 -0
  14. package/dist/access-coding-context-resolution.js +13 -0
  15. package/dist/access-coding-context-resolution.js.map +1 -0
  16. package/dist/access-extraction-force-flush.d.ts +14 -10
  17. package/dist/access-extraction-force-flush.js +84 -76
  18. package/dist/access-health-types.d.ts +2 -1
  19. package/dist/access-http-lcm-compaction.d.ts +16 -12
  20. package/dist/access-http-lcm-compaction.js +3 -3
  21. package/dist/access-http-lifecycle-flush.d.ts +14 -10
  22. package/dist/access-http-lifecycle-flush.js +2 -2
  23. package/dist/access-http-offline-stream.d.ts +123 -0
  24. package/dist/access-http-offline-stream.js +10 -0
  25. package/dist/access-http-offline-stream.js.map +1 -0
  26. package/dist/access-http-query.js +84 -76
  27. package/dist/access-http.d.ts +15 -10
  28. package/dist/access-http.js +105 -92
  29. package/dist/access-identity-continuity-surface.d.ts +9 -8
  30. package/dist/access-identity-continuity-surface.js +84 -76
  31. package/dist/access-lcm-surface.d.ts +14 -10
  32. package/dist/access-lcm-surface.js +84 -76
  33. package/dist/access-mcp-output-schemas.js +1 -1
  34. package/dist/access-mcp.d.ts +14 -10
  35. package/dist/access-mcp.js +95 -83
  36. package/dist/access-memory-search-fanout.d.ts +3 -2
  37. package/dist/{access-namespace-preflight-5yZ4g6F8.d.ts → access-namespace-preflight-CWUDwB4M.d.ts} +1 -1
  38. package/dist/access-namespace-preflight.d.ts +4 -3
  39. package/dist/access-namespace-preflight.js +84 -76
  40. package/dist/access-observe-helpers.d.ts +1 -0
  41. package/dist/access-observe-helpers.js +1 -1
  42. package/dist/access-observe-write-surface.d.ts +16 -10
  43. package/dist/access-observe-write-surface.js +84 -76
  44. package/dist/access-offline-manifest.d.ts +104 -0
  45. package/dist/access-offline-manifest.js +45 -0
  46. package/dist/access-offline-manifest.js.map +1 -0
  47. package/dist/access-operations-batch.js +86 -78
  48. package/dist/access-operations.d.ts +15 -11
  49. package/dist/access-operations.js +91 -80
  50. package/dist/access-recall-concurrency.d.ts +16 -26
  51. package/dist/access-recall-concurrency.js +86 -77
  52. package/dist/access-recall-response.d.ts +18 -14
  53. package/dist/access-recall-response.js +84 -76
  54. package/dist/access-recall-surface.d.ts +29 -24
  55. package/dist/access-recall-surface.js +84 -76
  56. package/dist/access-schema.js +3 -3
  57. package/dist/{access-service-CiJRsgAB.d.ts → access-service-CsU-ljFD.d.ts} +25 -16
  58. package/dist/access-service-helpers.d.ts +14 -10
  59. package/dist/access-service.d.ts +14 -10
  60. package/dist/access-service.js +84 -76
  61. package/dist/access-surface-catalog.d.ts +14 -10
  62. package/dist/access-surface-catalog.js +4 -0
  63. package/dist/access-surface-catalog.js.map +1 -1
  64. package/dist/access-wearables-meetings-surface.d.ts +4 -3
  65. package/dist/action-confidence.d.ts +2 -1
  66. package/dist/active-memory-bridge.d.ts +2 -1
  67. package/dist/active-recall.d.ts +2 -1
  68. package/dist/active-recall.js +10 -8
  69. package/dist/active-recall.js.map +1 -1
  70. package/dist/adapters/index.js +7 -7
  71. package/dist/adapters/registry.js +3 -3
  72. package/dist/{auto-sync-5OE5QOZB.js → auto-sync-UPTUVE4X.js} +6 -6
  73. package/dist/behavior-learner.d.ts +2 -1
  74. package/dist/behavior-learner.js +1 -1
  75. package/dist/behavior-signals.d.ts +2 -1
  76. package/dist/bootstrap.d.ts +9 -8
  77. package/dist/briefing.d.ts +3 -2
  78. package/dist/briefing.js +23 -22
  79. package/dist/buffer-surprise-report.d.ts +2 -1
  80. package/dist/buffer-turn-helpers.d.ts +2 -1
  81. package/dist/buffer.d.ts +3 -2
  82. package/dist/buffer.js +12 -11
  83. package/dist/bulk-import/index.d.ts +4 -3
  84. package/dist/calibration.d.ts +2 -1
  85. package/dist/capabilities.d.ts +2 -1
  86. package/dist/{capsule-merge-IDWJPCWK.js → capsule-merge-Q6AR3XL7.js} +67 -54
  87. package/dist/capsule-merge-Q6AR3XL7.js.map +1 -0
  88. package/dist/{catalog-scBmy0sO.d.ts → catalog-bctMURhN.d.ts} +1 -1
  89. package/dist/causal-behavior.d.ts +2 -1
  90. package/dist/causal-behavior.js +2 -2
  91. package/dist/causal-chain.js +2 -2
  92. package/dist/causal-consolidation.d.ts +2 -1
  93. package/dist/causal-consolidation.js +27 -26
  94. package/dist/causal-consolidation.js.map +1 -1
  95. package/dist/causal-retrieval.js +2 -2
  96. package/dist/causal-trajectory-graph.d.ts +2 -1
  97. package/dist/causal-trajectory.js +1 -1
  98. package/dist/{chunk-VUPTKTDV.js → chunk-2MRHJNWL.js} +3 -3
  99. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  100. package/dist/{chunk-5IVLTFOV.js → chunk-44N6ESJ4.js} +2 -2
  101. package/dist/{chunk-WOCNN776.js → chunk-4POAMKV6.js} +100 -41
  102. package/dist/chunk-4POAMKV6.js.map +1 -0
  103. package/dist/{chunk-HO3QBJEY.js → chunk-5546W5SI.js} +2 -2
  104. package/dist/{chunk-U7GW7NE7.js → chunk-5CEECY6P.js} +10 -10
  105. package/dist/{chunk-4UH4BTGK.js → chunk-5SNZSWWR.js} +82 -82
  106. package/dist/{chunk-6CZPDBJS.js → chunk-5U7ID3EZ.js} +3 -3
  107. package/dist/{chunk-GF22HWS2.js → chunk-6NNNURLK.js} +7 -7
  108. package/dist/chunk-773TRRGT.js +36 -0
  109. package/dist/chunk-773TRRGT.js.map +1 -0
  110. package/dist/chunk-7CITSYSH.js +242 -0
  111. package/dist/chunk-7CITSYSH.js.map +1 -0
  112. package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
  113. package/dist/{chunk-E5UK4VPE.js → chunk-7SHJHPTY.js} +5 -5
  114. package/dist/{chunk-UVIKWC7M.js → chunk-7YERSTN7.js} +17 -17
  115. package/dist/{chunk-DLVPUX7U.js → chunk-7YKVM5H3.js} +8 -6
  116. package/dist/chunk-7YKVM5H3.js.map +1 -0
  117. package/dist/{chunk-3CE77VAP.js → chunk-A4JMGKCD.js} +87 -74
  118. package/dist/chunk-A4JMGKCD.js.map +1 -0
  119. package/dist/chunk-A5KNZSNA.js +26 -0
  120. package/dist/chunk-A5KNZSNA.js.map +1 -0
  121. package/dist/{chunk-S2NCTZGJ.js → chunk-AJQ57VV3.js} +15 -15
  122. package/dist/chunk-AJQ57VV3.js.map +1 -0
  123. package/dist/{chunk-CUM2BBPN.js → chunk-AUMWZSE7.js} +19 -10
  124. package/dist/chunk-AUMWZSE7.js.map +1 -0
  125. package/dist/{chunk-XYTOI63Z.js → chunk-BGHFOD5A.js} +19 -11
  126. package/dist/chunk-BGHFOD5A.js.map +1 -0
  127. package/dist/{chunk-BUE5E2HL.js → chunk-BGLY7EEM.js} +5 -314
  128. package/dist/chunk-BGLY7EEM.js.map +1 -0
  129. package/dist/chunk-BIPBQQFI.js +44 -0
  130. package/dist/chunk-BIPBQQFI.js.map +1 -0
  131. package/dist/{chunk-S5SLVSVY.js → chunk-BQIFZ2MP.js} +5 -5
  132. package/dist/chunk-BTTPKDIL.js +34 -0
  133. package/dist/{chunk-PVGDJXVK.js.map → chunk-BTTPKDIL.js.map} +1 -1
  134. package/dist/{chunk-E53DSZEN.js → chunk-C26TE27X.js} +3 -3
  135. package/dist/{chunk-LZ4LDKHZ.js → chunk-CLB32OHM.js} +6 -6
  136. package/dist/{chunk-Q6IP2ARR.js → chunk-CSOYVTRX.js} +2 -2
  137. package/dist/{chunk-XOQSEF7X.js → chunk-CVILPI77.js} +6 -6
  138. package/dist/chunk-D3I2MCN7.js +29 -0
  139. package/dist/chunk-D3I2MCN7.js.map +1 -0
  140. package/dist/{chunk-A5OJCXZL.js → chunk-DSUAAZZX.js} +15 -4
  141. package/dist/chunk-DSUAAZZX.js.map +1 -0
  142. package/dist/{chunk-HREE4JHI.js → chunk-DYVMXPCF.js} +486 -287
  143. package/dist/chunk-DYVMXPCF.js.map +1 -0
  144. package/dist/{chunk-J7VGGECD.js → chunk-DZPFMQZ7.js} +1 -1
  145. package/dist/chunk-DZPFMQZ7.js.map +1 -0
  146. package/dist/{chunk-PDLBLTOK.js → chunk-EITZHSX6.js} +9 -9
  147. package/dist/{chunk-D3J5SLQK.js → chunk-EJHEWCGQ.js} +81 -20
  148. package/dist/chunk-EJHEWCGQ.js.map +1 -0
  149. package/dist/{chunk-WUNIWKY4.js → chunk-ELIL2A37.js} +6 -6
  150. package/dist/{chunk-E6PNLPGJ.js → chunk-FZP32336.js} +806 -470
  151. package/dist/chunk-FZP32336.js.map +1 -0
  152. package/dist/{chunk-HZFHQ4AQ.js → chunk-G7A5HLUS.js} +23 -17
  153. package/dist/chunk-G7A5HLUS.js.map +1 -0
  154. package/dist/{chunk-CINZGPSJ.js → chunk-GUMZC2BO.js} +2 -2
  155. package/dist/{chunk-H24WNPA2.js → chunk-GWFSVJ4P.js} +3 -3
  156. package/dist/{chunk-7XC2HX75.js → chunk-GYPQL6XN.js} +157 -16
  157. package/dist/chunk-GYPQL6XN.js.map +1 -0
  158. package/dist/{chunk-TSH56VPU.js → chunk-HAYSYUAB.js} +2 -2
  159. package/dist/{chunk-TDHTVMPG.js → chunk-HFPASSFV.js} +7 -2
  160. package/dist/chunk-HFPASSFV.js.map +1 -0
  161. package/dist/chunk-J2WC5LF4.js +395 -0
  162. package/dist/chunk-J2WC5LF4.js.map +1 -0
  163. package/dist/{chunk-PKNLM44P.js → chunk-JH6BPLOP.js} +9 -9
  164. package/dist/{chunk-KXB4VXHY.js → chunk-JIYDRBVZ.js} +2 -2
  165. package/dist/chunk-JV3C2MNQ.js +74 -0
  166. package/dist/chunk-JV3C2MNQ.js.map +1 -0
  167. package/dist/{chunk-AV5ZEH4M.js → chunk-KVJRXN2E.js} +2 -2
  168. package/dist/{chunk-JVLCVFQ4.js → chunk-KXEFRMCF.js} +3 -3
  169. package/dist/{chunk-WFTIGIIS.js → chunk-L6CQ7WIW.js} +5 -5
  170. package/dist/{chunk-EJUEXZHX.js → chunk-LLJMAULE.js} +2 -2
  171. package/dist/{chunk-N5Z4EVOR.js → chunk-LNEWDF2A.js} +36 -11
  172. package/dist/chunk-LNEWDF2A.js.map +1 -0
  173. package/dist/{chunk-AS7YMSL6.js → chunk-M23RF3LJ.js} +4 -4
  174. package/dist/{chunk-UYLMNVY6.js → chunk-MDISBSYA.js} +16 -9
  175. package/dist/chunk-MDISBSYA.js.map +1 -0
  176. package/dist/{chunk-3F2LKUMU.js → chunk-NIS256NW.js} +2 -2
  177. package/dist/{chunk-YIAA2X3D.js → chunk-NK5RGJ65.js} +3 -3
  178. package/dist/chunk-NLDVVWCL.js +84 -0
  179. package/dist/chunk-NLDVVWCL.js.map +1 -0
  180. package/dist/{chunk-OQ5PRDDS.js → chunk-NTOIP2E6.js} +6 -6
  181. package/dist/{chunk-HLPD7B7P.js → chunk-NUEQKLNB.js} +2 -2
  182. package/dist/{chunk-4J7G5SY4.js → chunk-NZBZ7IS2.js} +72 -24
  183. package/dist/chunk-NZBZ7IS2.js.map +1 -0
  184. package/dist/{chunk-3TBLDMJA.js → chunk-O4KMGRXE.js} +5 -2
  185. package/dist/chunk-O4KMGRXE.js.map +1 -0
  186. package/dist/{chunk-33PLLLL7.js → chunk-P7NGM24P.js} +6 -6
  187. package/dist/{chunk-7TWUCYER.js → chunk-PNRA7FAD.js} +7 -7
  188. package/dist/{chunk-5I4M26Q7.js → chunk-QBSFOKY6.js} +4 -4
  189. package/dist/{chunk-QJAQNXWI.js → chunk-QCECHYZL.js} +76 -79
  190. package/dist/chunk-QCECHYZL.js.map +1 -0
  191. package/dist/{chunk-P4DRWEYC.js → chunk-QVSBTCVP.js} +2 -2
  192. package/dist/{chunk-AAIUERNB.js → chunk-R5RFK3CB.js} +6 -6
  193. package/dist/{chunk-WDISJRMG.js → chunk-RMMVQQA6.js} +2 -2
  194. package/dist/{chunk-KWMXR7XS.js → chunk-S2V7RUCL.js} +8 -1
  195. package/dist/{chunk-KWMXR7XS.js.map → chunk-S2V7RUCL.js.map} +1 -1
  196. package/dist/{chunk-5SM35XZR.js → chunk-S5NZBKKQ.js} +2 -2
  197. package/dist/{chunk-VNA7W7QF.js → chunk-SVH57F5Z.js} +12 -4
  198. package/dist/chunk-SVH57F5Z.js.map +1 -0
  199. package/dist/{chunk-WIPEXG6R.js → chunk-SXIMQLGV.js} +2 -2
  200. package/dist/{chunk-RVLJEII5.js → chunk-SYUBB3WM.js} +256 -187
  201. package/dist/chunk-SYUBB3WM.js.map +1 -0
  202. package/dist/{chunk-OAEQLRCY.js → chunk-TN76AKO3.js} +5 -5
  203. package/dist/{chunk-QN25OCUF.js → chunk-TQ4GD737.js} +5 -5
  204. package/dist/{chunk-VCD4PSK2.js → chunk-TQZ4DVBC.js} +7 -4
  205. package/dist/chunk-TQZ4DVBC.js.map +1 -0
  206. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  207. package/dist/{chunk-DNWXFTLD.js → chunk-TYISDI6B.js} +2 -2
  208. package/dist/{chunk-4LMA77JH.js → chunk-U2VLVBBH.js} +3 -3
  209. package/dist/{chunk-5ZE7QHTK.js → chunk-ULVR5KG7.js} +5 -5
  210. package/dist/{chunk-NVRYW264.js → chunk-UQWIKLQK.js} +18 -15
  211. package/dist/chunk-UQWIKLQK.js.map +1 -0
  212. package/dist/{chunk-YV32N67O.js → chunk-URS5GSM7.js} +1 -1
  213. package/dist/chunk-URS5GSM7.js.map +1 -0
  214. package/dist/{chunk-4B77XSG5.js → chunk-UV72DEZD.js} +5 -5
  215. package/dist/{chunk-S2BBISHU.js → chunk-VANZKHTN.js} +3 -3
  216. package/dist/chunk-VHFXP27N.js +250 -0
  217. package/dist/chunk-VHFXP27N.js.map +1 -0
  218. package/dist/{chunk-3Y224NYC.js → chunk-VYISFWVX.js} +2 -2
  219. package/dist/{chunk-TIHMZFIV.js → chunk-W3IC7QOY.js} +3 -3
  220. package/dist/{chunk-NRV4Y3PM.js → chunk-W4FBGYGK.js} +1 -1
  221. package/dist/{chunk-P2BM76KT.js → chunk-WAS4HV46.js} +174 -43
  222. package/dist/chunk-WAS4HV46.js.map +1 -0
  223. package/dist/{chunk-57QKLRBV.js → chunk-WB7JSQCP.js} +2 -1
  224. package/dist/chunk-WB7JSQCP.js.map +1 -0
  225. package/dist/chunk-WGP57SR3.js +68 -0
  226. package/dist/chunk-WGP57SR3.js.map +1 -0
  227. package/dist/{chunk-ECK75GDJ.js → chunk-WQIHRA5F.js} +43 -24
  228. package/dist/chunk-WQIHRA5F.js.map +1 -0
  229. package/dist/{chunk-MU7ZHSZE.js → chunk-WZFAPHIK.js} +2 -2
  230. package/dist/{chunk-T2TTP3KU.js → chunk-X4IDNPOS.js} +2 -2
  231. package/dist/{chunk-BLAKS3CP.js → chunk-XL3TATMJ.js} +3 -3
  232. package/dist/{chunk-W4XJFLAL.js → chunk-XPRJSHNI.js} +2 -2
  233. package/dist/{chunk-5TFP4CUL.js → chunk-XQ3HXAQH.js} +14 -11
  234. package/dist/chunk-XQ3HXAQH.js.map +1 -0
  235. package/dist/{chunk-VWAXN2BN.js → chunk-XSFHWBQO.js} +93 -31
  236. package/dist/chunk-XSFHWBQO.js.map +1 -0
  237. package/dist/{chunk-DL7ZD3JH.js → chunk-XTAUXTDO.js} +14 -9
  238. package/dist/chunk-XTAUXTDO.js.map +1 -0
  239. package/dist/{chunk-JE7EK33X.js → chunk-Y7HRYCNW.js} +2 -2
  240. package/dist/{chunk-E6EE5B67.js → chunk-YK6BDDHP.js} +4 -4
  241. package/dist/{chunk-ES36HTSC.js → chunk-YLHM5BQQ.js} +3 -3
  242. package/dist/{chunk-RN7DY3FC.js → chunk-YMAQDHQM.js} +31 -12
  243. package/dist/chunk-YMAQDHQM.js.map +1 -0
  244. package/dist/{chunk-ULARSG5Z.js → chunk-YN6ASZUG.js} +10 -8
  245. package/dist/{chunk-ULARSG5Z.js.map → chunk-YN6ASZUG.js.map} +1 -1
  246. package/dist/{chunk-IKKWIPYN.js → chunk-YYQAKIDJ.js} +37 -1
  247. package/dist/chunk-YYQAKIDJ.js.map +1 -0
  248. package/dist/{chunk-BJKPPZ6Z.js → chunk-ZFGZ6PZ2.js} +2 -2
  249. package/dist/{chunk-CJ2ZR7UA.js → chunk-ZI32MKDW.js} +267 -214
  250. package/dist/chunk-ZI32MKDW.js.map +1 -0
  251. package/dist/{chunk-64UDOIMI.js → chunk-ZLQ37WJX.js} +2 -2
  252. package/dist/chunk-ZMAYKGPN.js +351 -0
  253. package/dist/chunk-ZMAYKGPN.js.map +1 -0
  254. package/dist/{cli-BUGN3d6_.d.ts → cli-BBHDtG36.d.ts} +5 -5
  255. package/dist/cli.d.ts +16 -12
  256. package/dist/cli.js +138 -124
  257. package/dist/compounding/engine.d.ts +3 -2
  258. package/dist/compounding/engine.js +24 -23
  259. package/dist/compounding/preference-consolidator.d.ts +2 -1
  260. package/dist/compression-optimizer.d.ts +2 -1
  261. package/dist/config.d.ts +2 -1
  262. package/dist/config.js +10 -8
  263. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  264. package/dist/connectors/codex-materialize-runner.js +23 -22
  265. package/dist/connectors/codex-materialize.d.ts +2 -1
  266. package/dist/connectors/index.d.ts +2 -1
  267. package/dist/connectors/index.js +26 -25
  268. package/dist/consolidation-provenance-check.d.ts +3 -2
  269. package/dist/consolidation-provenance-check.js +4 -4
  270. package/dist/consolidation-undo.d.ts +3 -2
  271. package/dist/consolidation-undo.js +10 -7
  272. package/dist/consolidation-undo.js.map +1 -1
  273. package/dist/contradiction/index.d.ts +3 -2
  274. package/dist/converge-config.d.ts +2 -1
  275. package/dist/convergence-refresh.d.ts +4 -3
  276. package/dist/convergence-refresh.js +27 -26
  277. package/dist/conversation-index/backend.d.ts +2 -1
  278. package/dist/conversation-index/backend.js +2 -2
  279. package/dist/conversation-index/chunker.d.ts +2 -1
  280. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  281. package/dist/conversation-index/indexer.d.ts +2 -1
  282. package/dist/conversation-index/search.d.ts +2 -1
  283. package/dist/corpus-watermark.d.ts +2 -1
  284. package/dist/corpus-watermark.js +42 -41
  285. package/dist/day-summary.d.ts +2 -1
  286. package/dist/delinearize.d.ts +2 -1
  287. package/dist/direct-answer-wiring.d.ts +2 -1
  288. package/dist/direct-answer-wiring.js +2 -2
  289. package/dist/direct-answer.d.ts +2 -1
  290. package/dist/embedding-fallback.d.ts +2 -1
  291. package/dist/embedding-fallback.js +2 -2
  292. package/dist/enrichment/index.d.ts +2 -1
  293. package/dist/entity-retrieval-boundaries.js +1 -1
  294. package/dist/entity-retrieval.d.ts +3 -2
  295. package/dist/entity-retrieval.js +24 -23
  296. package/dist/entity-schema.d.ts +2 -1
  297. package/dist/explicit-capture.d.ts +9 -8
  298. package/dist/explicit-capture.js +11 -9
  299. package/dist/external-wiki-access.d.ts +127 -0
  300. package/dist/external-wiki-access.js +186 -0
  301. package/dist/external-wiki-access.js.map +1 -0
  302. package/dist/external-wiki-cli.d.ts +13 -0
  303. package/dist/external-wiki-cli.js +96 -0
  304. package/dist/external-wiki-cli.js.map +1 -0
  305. package/dist/external-wiki-collection-registration.d.ts +39 -0
  306. package/dist/external-wiki-collection-registration.js +79 -0
  307. package/dist/external-wiki-collection-registration.js.map +1 -0
  308. package/dist/external-wiki-collection.d.ts +50 -0
  309. package/dist/external-wiki-collection.js +387 -0
  310. package/dist/external-wiki-collection.js.map +1 -0
  311. package/dist/external-wiki-config.d.ts +13 -0
  312. package/dist/external-wiki-config.js +13 -0
  313. package/dist/external-wiki-config.js.map +1 -0
  314. package/dist/external-wiki-guard.d.ts +11 -0
  315. package/dist/external-wiki-guard.js +18 -0
  316. package/dist/external-wiki-guard.js.map +1 -0
  317. package/dist/external-wiki-mcp-tools.d.ts +123 -0
  318. package/dist/external-wiki-mcp-tools.js +8 -0
  319. package/dist/external-wiki-mcp-tools.js.map +1 -0
  320. package/dist/external-wiki-search.d.ts +42 -0
  321. package/dist/external-wiki-search.js +11 -0
  322. package/dist/external-wiki-search.js.map +1 -0
  323. package/dist/external-wiki.d.ts +43 -0
  324. package/dist/external-wiki.js +16 -0
  325. package/dist/external-wiki.js.map +1 -0
  326. package/dist/extraction-error-classification.d.ts +2 -1
  327. package/dist/extraction-faithfulness.d.ts +2 -1
  328. package/dist/extraction-judge-telemetry.d.ts +2 -1
  329. package/dist/extraction-judge-training.d.ts +2 -1
  330. package/dist/extraction-judge.d.ts +2 -1
  331. package/dist/extraction-liveness.d.ts +2 -1
  332. package/dist/extraction-source-grounding-helpers.d.ts +5 -3
  333. package/dist/extraction-source-grounding-helpers.js +1 -1
  334. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  335. package/dist/extraction-source-grounding-rules.js +2 -2
  336. package/dist/extraction-source-grounding.d.ts +2 -1
  337. package/dist/extraction-source-grounding.js +5 -5
  338. package/dist/extraction.d.ts +2 -1
  339. package/dist/extraction.js +45 -43
  340. package/dist/fallback-llm.d.ts +2 -1
  341. package/dist/graph-dashboard-diff.d.ts +2 -1
  342. package/dist/graph-dashboard-key.d.ts +2 -1
  343. package/dist/graph-dashboard-parser.d.ts +2 -1
  344. package/dist/graph-edge-reinforcement.d.ts +2 -1
  345. package/dist/graph-snapshot.d.ts +2 -1
  346. package/dist/graph.d.ts +2 -1
  347. package/dist/harmonic-retrieval.js +2 -2
  348. package/dist/importance.d.ts +2 -1
  349. package/dist/importers/index.d.ts +2 -1
  350. package/dist/in-flight-reads.d.ts +2 -1
  351. package/dist/index.d.ts +362 -350
  352. package/dist/index.js +291 -259
  353. package/dist/intent.d.ts +2 -1
  354. package/dist/lcm/engine.d.ts +2 -1
  355. package/dist/lcm/engine.js +3 -3
  356. package/dist/lcm/index.d.ts +2 -1
  357. package/dist/lcm/index.js +8 -8
  358. package/dist/lcm/tools.d.ts +2 -1
  359. package/dist/lifecycle.d.ts +2 -1
  360. package/dist/live-connectors-runner.d.ts +2 -1
  361. package/dist/local-llm.d.ts +2 -1
  362. package/dist/local-llm.js +2 -2
  363. package/dist/local-model-endpoint.d.ts +2 -1
  364. package/dist/maintenance/memory-governance.d.ts +2 -1
  365. package/dist/maintenance/memory-governance.js +24 -23
  366. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  367. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +24 -23
  368. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  369. package/dist/maintenance/rebuild-memory-projection.js +26 -25
  370. package/dist/{maintenance-LbuS2rUA.d.ts → maintenance-D2mveyCd.d.ts} +3 -3
  371. package/dist/mcp-memory-inspector-app.d.ts +14 -10
  372. package/dist/mcp-read-only-tools.js +1 -1
  373. package/dist/memory-action-policy.d.ts +2 -1
  374. package/dist/memory-cache.d.ts +2 -1
  375. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  376. package/dist/memory-projection-store.d.ts +2 -1
  377. package/dist/memory-provenance.d.ts +2 -1
  378. package/dist/memory-worth-outcomes.d.ts +3 -2
  379. package/dist/models-json.d.ts +2 -1
  380. package/dist/namespaces/migrate.d.ts +4 -3
  381. package/dist/namespaces/migrate.js +40 -39
  382. package/dist/namespaces/principal.d.ts +2 -1
  383. package/dist/namespaces/search.d.ts +2 -1
  384. package/dist/namespaces/search.js +18 -18
  385. package/dist/namespaces/storage.d.ts +4 -3
  386. package/dist/namespaces/storage.js +23 -22
  387. package/dist/native-knowledge.d.ts +2 -1
  388. package/dist/offline-sync-impression-drain.d.ts +2 -1
  389. package/dist/offline-sync-impression-drain.js +11 -9
  390. package/dist/offline-sync.d.ts +29 -3
  391. package/dist/offline-sync.js +6 -2
  392. package/dist/operator-doctor-corpus.d.ts +2 -1
  393. package/dist/operator-doctor-corpus.js +45 -44
  394. package/dist/operator-doctor-replica.d.ts +2 -1
  395. package/dist/operator-doctor-replica.js +3 -3
  396. package/dist/operator-toolkit.d.ts +4 -3
  397. package/dist/operator-toolkit.js +59 -55
  398. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  399. package/dist/orchestration/maintenance.d.ts +5 -4
  400. package/dist/orchestration/maintenance.js +36 -33
  401. package/dist/{orchestrator-rHiWt32X.d.ts → orchestrator-DJYlwiUv.d.ts} +14 -7
  402. package/dist/orchestrator.d.ts +9 -8
  403. package/dist/orchestrator.js +201 -189
  404. package/dist/page-versioning.js +3 -3
  405. package/dist/patterns-cli.d.ts +2 -1
  406. package/dist/{pipeline-W_97O8BV.d.ts → pipeline-CNjY4wk3.d.ts} +1 -1
  407. package/dist/policy-runtime.d.ts +2 -1
  408. package/dist/policy-runtime.js +1 -1
  409. package/dist/proactive-contention.d.ts +2 -1
  410. package/dist/provenance.d.ts +2 -1
  411. package/dist/provenance.js +2 -2
  412. package/dist/{qmd-LWtMofAf.d.ts → qmd-C0UDZidt.d.ts} +9 -7
  413. package/dist/qmd-preflight.d.ts +5 -4
  414. package/dist/qmd-preflight.js +2 -2
  415. package/dist/qmd-recall-cache.d.ts +2 -1
  416. package/dist/qmd.d.ts +4 -3
  417. package/dist/qmd.js +5 -5
  418. package/dist/recall-concurrency-config.d.ts +2 -1
  419. package/dist/recall-disclosure-escalation.d.ts +2 -1
  420. package/dist/recall-explain-renderer.d.ts +2 -1
  421. package/dist/recall-explain-renderer.js +3 -3
  422. package/dist/recall-memory-map.d.ts +2 -1
  423. package/dist/recall-planner-llm.d.ts +2 -1
  424. package/dist/recall-state.d.ts +2 -1
  425. package/dist/recall-tag-filter.d.ts +2 -1
  426. package/dist/recall-timings.d.ts +2 -1
  427. package/dist/recall-xray-cli.d.ts +2 -1
  428. package/dist/recall-xray-cli.js +4 -4
  429. package/dist/recall-xray-renderer.d.ts +2 -1
  430. package/dist/recall-xray-renderer.js +3 -3
  431. package/dist/recall-xray.d.ts +8 -1
  432. package/dist/recall-xray.js +2 -2
  433. package/dist/reconcile/cursor.d.ts +12 -2
  434. package/dist/reconcile/cursor.js +46 -7
  435. package/dist/reconcile/cursor.js.map +1 -1
  436. package/dist/reconcile/manifest.d.ts +9 -2
  437. package/dist/reconcile/manifest.js +15 -268
  438. package/dist/reconcile/manifest.js.map +1 -1
  439. package/dist/reconcile/plan.d.ts +4 -1
  440. package/dist/reconcile/plan.js +4 -4
  441. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  442. package/dist/replay/normalizers/claude.d.ts +2 -1
  443. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  444. package/dist/replay/normalizers/shared.d.ts +2 -1
  445. package/dist/replay/runner.d.ts +2 -1
  446. package/dist/replay/types.d.ts +2 -1
  447. package/dist/replica-divergence.d.ts +2 -1
  448. package/dist/replica-divergence.js +2 -2
  449. package/dist/replica-peers-config.d.ts +2 -1
  450. package/dist/resolve-auth-token.d.ts +2 -1
  451. package/dist/resume-bundles.js +12 -10
  452. package/dist/retrieval-agents.d.ts +4 -3
  453. package/dist/retrieval-agents.js +2 -2
  454. package/dist/retrieval-tiers.d.ts +2 -1
  455. package/dist/routing/engine.d.ts +2 -1
  456. package/dist/routing/store.d.ts +2 -1
  457. package/dist/salvage-envelope.d.ts +2 -1
  458. package/dist/schemas.d.ts +32 -32
  459. package/dist/{scope-profiles-BiQKOE-p.d.ts → scope-profiles-BJzp2F5A.d.ts} +1 -1
  460. package/dist/search/embed-helper.d.ts +2 -1
  461. package/dist/search/embed-helper.js +3 -3
  462. package/dist/search/factory.d.ts +4 -2
  463. package/dist/search/factory.js +20 -18
  464. package/dist/search/index.d.ts +2 -1
  465. package/dist/search/index.js +22 -22
  466. package/dist/search/lancedb-backend.d.ts +2 -1
  467. package/dist/search/lancedb-backend.js +4 -4
  468. package/dist/search/meilisearch-backend.d.ts +2 -1
  469. package/dist/search/meilisearch-backend.js +4 -4
  470. package/dist/search/noop-backend.d.ts +2 -1
  471. package/dist/search/orama-backend.d.ts +2 -1
  472. package/dist/search/orama-backend.js +4 -4
  473. package/dist/search/port.d.ts +18 -1
  474. package/dist/search/port.js +1 -1
  475. package/dist/search/remote-backend.d.ts +2 -1
  476. package/dist/search/remote-backend.js +2 -2
  477. package/dist/secure-store/index.js +2 -2
  478. package/dist/{semantic-consolidation-dHYCyqgh.d.ts → semantic-consolidation-D4KAZO2G.d.ts} +1 -1
  479. package/dist/semantic-consolidation.d.ts +3 -2
  480. package/dist/semantic-consolidation.js +25 -24
  481. package/dist/semantic-rule-promotion.js +23 -22
  482. package/dist/semantic-rule-verifier.d.ts +2 -1
  483. package/dist/semantic-rule-verifier.js +24 -23
  484. package/dist/{service-DJG3KCQ4.d.ts → service-BeDxSqE-.d.ts} +2 -2
  485. package/dist/session-observer-bands.d.ts +2 -1
  486. package/dist/session-observer-state.d.ts +2 -1
  487. package/dist/shared-context/manager.d.ts +2 -1
  488. package/dist/shared-context/manager.js +2 -2
  489. package/dist/signal.d.ts +2 -1
  490. package/dist/source-agent-qualifier.d.ts +2 -1
  491. package/dist/source-agent-qualifier.js +42 -40
  492. package/dist/{storage-F9FVh-w9.d.ts → storage-DfjxusTE.d.ts} +24 -12
  493. package/dist/storage.d.ts +3 -2
  494. package/dist/storage.js +25 -24
  495. package/dist/summarizer.d.ts +2 -1
  496. package/dist/summarizer.js +5 -5
  497. package/dist/summary-snapshot.d.ts +2 -1
  498. package/dist/temporal-supersession.d.ts +3 -2
  499. package/dist/temporal-timeline-recall.d.ts +2 -1
  500. package/dist/temporal-validity.d.ts +2 -1
  501. package/dist/threading.d.ts +2 -1
  502. package/dist/tier-migration.d.ts +3 -2
  503. package/dist/tier-routing.d.ts +2 -1
  504. package/dist/tool-scoped-memory.d.ts +5 -1
  505. package/dist/tool-scoped-memory.js +3 -1
  506. package/dist/topics.d.ts +2 -1
  507. package/dist/transcript.d.ts +2 -1
  508. package/dist/transfer/capsule-import.js +4 -4
  509. package/dist/transfer/types.d.ts +12 -12
  510. package/dist/trust-score-stage.d.ts +2 -1
  511. package/dist/trust-score.d.ts +2 -1
  512. package/dist/{types-rEwubvim.d.ts → types-yX_FwERf.d.ts} +8 -1
  513. package/dist/types.d.ts +2 -1
  514. package/dist/types.js +1 -1
  515. package/dist/utility-runtime.d.ts +2 -1
  516. package/dist/verified-recall.js +24 -23
  517. package/dist/write-envelope.d.ts +2 -1
  518. package/package.json +2 -2
  519. package/src/abort-error.ts +17 -0
  520. package/src/access-admin-ops-surface.ts +1 -0
  521. package/src/access-boundary.ts +1 -0
  522. package/src/access-coding-context-resolution.ts +42 -0
  523. package/src/access-extraction-force-flush.ts +38 -2
  524. package/src/access-http-lcm-compaction.ts +5 -2
  525. package/src/access-http-offline-stream.ts +79 -0
  526. package/src/access-http.test.ts +310 -3
  527. package/src/access-http.ts +85 -21
  528. package/src/access-mcp-output-schemas.ts +36 -0
  529. package/src/access-mcp.test.ts +95 -1
  530. package/src/access-mcp.ts +7 -9
  531. package/src/access-observe-helpers.ts +64 -22
  532. package/src/access-observe-write-surface.ts +8 -0
  533. package/src/access-offline-manifest.ts +54 -0
  534. package/src/access-operations-batch.ts +3 -3
  535. package/src/access-operations.ts +13 -7
  536. package/src/access-recall-concurrency.ts +3 -27
  537. package/src/access-recall-surface.ts +3 -0
  538. package/src/access-service-health.test.ts +32 -7
  539. package/src/access-service-namespace.test.ts +55 -0
  540. package/src/access-service-observe-idempotency.test.ts +34 -2
  541. package/src/access-service-observe-lcm-parity.test.ts +138 -3
  542. package/src/access-service-observe-scope.test.ts +160 -1
  543. package/src/access-service-offline-file-content.test.ts +345 -1
  544. package/src/access-service.ts +86 -59
  545. package/src/access-surface-catalog.ts +4 -0
  546. package/src/admin/admin-surfaces.ts +2 -0
  547. package/src/binary-lifecycle/pipeline.test.ts +106 -1
  548. package/src/binary-lifecycle/pipeline.ts +3 -0
  549. package/src/coding/git-context.test.ts +47 -0
  550. package/src/coding/git-context.ts +129 -27
  551. package/src/config.test.ts +24 -0
  552. package/src/config.ts +9 -12
  553. package/src/connector-provenance.test.ts +101 -0
  554. package/src/consolidation-undo.ts +3 -0
  555. package/src/convergence-refresh.ts +14 -2
  556. package/src/correction/correction-access-wiring.ts +9 -7
  557. package/src/correction/correction-executor.test.ts +206 -2
  558. package/src/correction/correction-executor.ts +29 -20
  559. package/src/correction/correction-planner.test.ts +36 -0
  560. package/src/correction/correction-planner.ts +9 -15
  561. package/src/correction/correction-service.ts +3 -1
  562. package/src/correction/correction-storage-integration.test.ts +77 -0
  563. package/src/correction/correction-surfaces.test.ts +41 -28
  564. package/src/correction/passive-capture.test.ts +59 -0
  565. package/src/correction/passive-capture.ts +4 -1
  566. package/src/entity-retrieval-boundaries.ts +17 -4
  567. package/src/entity-retrieval.ts +27 -6
  568. package/src/external-wiki-access.test.ts +65 -0
  569. package/src/external-wiki-access.ts +31 -0
  570. package/src/external-wiki-cli.ts +92 -0
  571. package/src/external-wiki-collection-registration.test.ts +163 -0
  572. package/src/external-wiki-collection-registration.ts +101 -0
  573. package/src/external-wiki-collection.test.ts +502 -0
  574. package/src/external-wiki-collection.ts +503 -0
  575. package/src/external-wiki-config.test.ts +135 -0
  576. package/src/external-wiki-config.ts +100 -0
  577. package/src/external-wiki-guard.ts +83 -0
  578. package/src/external-wiki-mcp-tools.ts +23 -0
  579. package/src/external-wiki-search.test.ts +301 -0
  580. package/src/external-wiki-search.ts +362 -0
  581. package/src/external-wiki.test.ts +240 -0
  582. package/src/external-wiki.ts +453 -0
  583. package/src/extraction-scope-source-agent.test.ts +21 -0
  584. package/src/extraction-source-grounding-helpers.ts +243 -53
  585. package/src/extraction-source-grounding-rules.ts +133 -39
  586. package/src/extraction-source-grounding.test.ts +363 -33
  587. package/src/extraction-timeout.test.ts +1 -0
  588. package/src/extraction-watermark.test.ts +150 -7
  589. package/src/extraction.ts +8 -1
  590. package/src/index.ts +8 -0
  591. package/src/mcp-read-only-tools.ts +1 -0
  592. package/src/offline-sync.test.ts +194 -0
  593. package/src/offline-sync.ts +217 -13
  594. package/src/orchestration/external-wiki-recall-guard.test.ts +94 -0
  595. package/src/orchestration/extraction-persist.ts +19 -2
  596. package/src/orchestration/extraction-run-helpers.ts +37 -19
  597. package/src/orchestration/extraction-run.test.ts +171 -2
  598. package/src/orchestration/extraction-run.ts +11 -13
  599. package/src/orchestration/extraction-watermark.ts +106 -17
  600. package/src/orchestration/generic-recall-paths.ts +14 -0
  601. package/src/orchestration/orchestrator-helpers.ts +2 -0
  602. package/src/orchestration/orchestrator-init.ts +9 -0
  603. package/src/orchestration/recall-internal-deps.ts +6 -0
  604. package/src/orchestration/recall-internal.ts +154 -33
  605. package/src/orchestration/recall-rerank-coordinator.ts +60 -25
  606. package/src/orchestration/recall-search-pipeline.test.ts +75 -1
  607. package/src/orchestration/recall-search-pipeline.ts +50 -10
  608. package/src/orchestrator-convergence-refresh.test.ts +36 -2
  609. package/src/orchestrator.ts +13 -3
  610. package/src/page-versioning.ts +5 -19
  611. package/src/procedural/procedure-recall.ts +5 -1
  612. package/src/provenance-surfaces.test.ts +3 -0
  613. package/src/qmd-client.test.ts +78 -17
  614. package/src/qmd.test.ts +24 -0
  615. package/src/qmd.ts +224 -315
  616. package/src/recall-explain-renderer.ts +3 -0
  617. package/src/recall-rerank-coordinator.test.ts +61 -0
  618. package/src/recall-xray-renderer.test.ts +6 -0
  619. package/src/recall-xray.test.ts +88 -1
  620. package/src/recall-xray.ts +15 -0
  621. package/src/reconcile/cursor.test.ts +48 -0
  622. package/src/reconcile/cursor.ts +58 -11
  623. package/src/reconcile/manifest.test.ts +4 -0
  624. package/src/reconcile/manifest.ts +41 -51
  625. package/src/reconcile/plan.test.ts +4 -0
  626. package/src/reconcile/plan.ts +28 -16
  627. package/src/search/factory.ts +6 -6
  628. package/src/search/port.ts +25 -9
  629. package/src/secure-store/secure-fs.ts +20 -12
  630. package/src/secure-store/secure-store.test.ts +41 -2
  631. package/src/spaces/index.test.ts +61 -2
  632. package/src/spaces/index.ts +44 -18
  633. package/src/storage/entity-alias-config.ts +97 -0
  634. package/src/storage/entity-canonical-id-lock.ts +53 -23
  635. package/src/storage/entity-canonical-id-migration.ts +53 -22
  636. package/src/storage/entity-canonical-id-references.ts +3 -0
  637. package/src/storage/entity-id-safety.ts +7 -0
  638. package/src/storage/entity-store.ts +6 -2
  639. package/src/storage/memory-frontmatter-metadata.ts +4 -9
  640. package/src/storage/memory-migration-serialization.ts +10 -15
  641. package/src/storage/tombstone-blocked-capture-mutation.ts +52 -64
  642. package/src/storage/tombstone-blocked-capture-sync.ts +244 -199
  643. package/src/storage-deletion-revisions.test.ts +91 -0
  644. package/src/storage-fact-hash-index-defer.test.ts +446 -163
  645. package/src/storage.ts +534 -245
  646. package/src/tool-scoped-memory.ts +10 -0
  647. package/src/transfer/capsule-import.ts +13 -0
  648. package/src/transfer/capsule-merge.ts +13 -0
  649. package/src/trust-score-recall-paths.test.ts +75 -1
  650. package/src/types.ts +7 -3
  651. package/dist/capsule-merge-IDWJPCWK.js.map +0 -1
  652. package/dist/chunk-3CE77VAP.js.map +0 -1
  653. package/dist/chunk-3TBLDMJA.js.map +0 -1
  654. package/dist/chunk-4J7G5SY4.js.map +0 -1
  655. package/dist/chunk-57QKLRBV.js.map +0 -1
  656. package/dist/chunk-5TFP4CUL.js.map +0 -1
  657. package/dist/chunk-7XC2HX75.js.map +0 -1
  658. package/dist/chunk-A5OJCXZL.js.map +0 -1
  659. package/dist/chunk-BUE5E2HL.js.map +0 -1
  660. package/dist/chunk-CJ2ZR7UA.js.map +0 -1
  661. package/dist/chunk-CUM2BBPN.js.map +0 -1
  662. package/dist/chunk-D3J5SLQK.js.map +0 -1
  663. package/dist/chunk-DL7ZD3JH.js.map +0 -1
  664. package/dist/chunk-DLVPUX7U.js.map +0 -1
  665. package/dist/chunk-E6PNLPGJ.js.map +0 -1
  666. package/dist/chunk-ECK75GDJ.js.map +0 -1
  667. package/dist/chunk-HREE4JHI.js.map +0 -1
  668. package/dist/chunk-HZFHQ4AQ.js.map +0 -1
  669. package/dist/chunk-IKKWIPYN.js.map +0 -1
  670. package/dist/chunk-J7VGGECD.js.map +0 -1
  671. package/dist/chunk-N5Z4EVOR.js.map +0 -1
  672. package/dist/chunk-NVRYW264.js.map +0 -1
  673. package/dist/chunk-P2BM76KT.js.map +0 -1
  674. package/dist/chunk-PVGDJXVK.js +0 -21
  675. package/dist/chunk-QJAQNXWI.js.map +0 -1
  676. package/dist/chunk-RN7DY3FC.js.map +0 -1
  677. package/dist/chunk-RVLJEII5.js.map +0 -1
  678. package/dist/chunk-S2NCTZGJ.js.map +0 -1
  679. package/dist/chunk-TDHTVMPG.js.map +0 -1
  680. package/dist/chunk-UYLMNVY6.js.map +0 -1
  681. package/dist/chunk-VCD4PSK2.js.map +0 -1
  682. package/dist/chunk-VNA7W7QF.js.map +0 -1
  683. package/dist/chunk-VWAXN2BN.js.map +0 -1
  684. package/dist/chunk-WOCNN776.js.map +0 -1
  685. package/dist/chunk-XYTOI63Z.js.map +0 -1
  686. package/dist/chunk-YV32N67O.js.map +0 -1
  687. /package/dist/{auto-sync-5OE5QOZB.js.map → auto-sync-UPTUVE4X.js.map} +0 -0
  688. /package/dist/{chunk-VUPTKTDV.js.map → chunk-2MRHJNWL.js.map} +0 -0
  689. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  690. /package/dist/{chunk-5IVLTFOV.js.map → chunk-44N6ESJ4.js.map} +0 -0
  691. /package/dist/{chunk-HO3QBJEY.js.map → chunk-5546W5SI.js.map} +0 -0
  692. /package/dist/{chunk-U7GW7NE7.js.map → chunk-5CEECY6P.js.map} +0 -0
  693. /package/dist/{chunk-4UH4BTGK.js.map → chunk-5SNZSWWR.js.map} +0 -0
  694. /package/dist/{chunk-6CZPDBJS.js.map → chunk-5U7ID3EZ.js.map} +0 -0
  695. /package/dist/{chunk-GF22HWS2.js.map → chunk-6NNNURLK.js.map} +0 -0
  696. /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
  697. /package/dist/{chunk-E5UK4VPE.js.map → chunk-7SHJHPTY.js.map} +0 -0
  698. /package/dist/{chunk-UVIKWC7M.js.map → chunk-7YERSTN7.js.map} +0 -0
  699. /package/dist/{chunk-S5SLVSVY.js.map → chunk-BQIFZ2MP.js.map} +0 -0
  700. /package/dist/{chunk-E53DSZEN.js.map → chunk-C26TE27X.js.map} +0 -0
  701. /package/dist/{chunk-LZ4LDKHZ.js.map → chunk-CLB32OHM.js.map} +0 -0
  702. /package/dist/{chunk-Q6IP2ARR.js.map → chunk-CSOYVTRX.js.map} +0 -0
  703. /package/dist/{chunk-XOQSEF7X.js.map → chunk-CVILPI77.js.map} +0 -0
  704. /package/dist/{chunk-PDLBLTOK.js.map → chunk-EITZHSX6.js.map} +0 -0
  705. /package/dist/{chunk-WUNIWKY4.js.map → chunk-ELIL2A37.js.map} +0 -0
  706. /package/dist/{chunk-CINZGPSJ.js.map → chunk-GUMZC2BO.js.map} +0 -0
  707. /package/dist/{chunk-H24WNPA2.js.map → chunk-GWFSVJ4P.js.map} +0 -0
  708. /package/dist/{chunk-TSH56VPU.js.map → chunk-HAYSYUAB.js.map} +0 -0
  709. /package/dist/{chunk-PKNLM44P.js.map → chunk-JH6BPLOP.js.map} +0 -0
  710. /package/dist/{chunk-KXB4VXHY.js.map → chunk-JIYDRBVZ.js.map} +0 -0
  711. /package/dist/{chunk-AV5ZEH4M.js.map → chunk-KVJRXN2E.js.map} +0 -0
  712. /package/dist/{chunk-JVLCVFQ4.js.map → chunk-KXEFRMCF.js.map} +0 -0
  713. /package/dist/{chunk-WFTIGIIS.js.map → chunk-L6CQ7WIW.js.map} +0 -0
  714. /package/dist/{chunk-EJUEXZHX.js.map → chunk-LLJMAULE.js.map} +0 -0
  715. /package/dist/{chunk-AS7YMSL6.js.map → chunk-M23RF3LJ.js.map} +0 -0
  716. /package/dist/{chunk-3F2LKUMU.js.map → chunk-NIS256NW.js.map} +0 -0
  717. /package/dist/{chunk-YIAA2X3D.js.map → chunk-NK5RGJ65.js.map} +0 -0
  718. /package/dist/{chunk-OQ5PRDDS.js.map → chunk-NTOIP2E6.js.map} +0 -0
  719. /package/dist/{chunk-HLPD7B7P.js.map → chunk-NUEQKLNB.js.map} +0 -0
  720. /package/dist/{chunk-33PLLLL7.js.map → chunk-P7NGM24P.js.map} +0 -0
  721. /package/dist/{chunk-7TWUCYER.js.map → chunk-PNRA7FAD.js.map} +0 -0
  722. /package/dist/{chunk-5I4M26Q7.js.map → chunk-QBSFOKY6.js.map} +0 -0
  723. /package/dist/{chunk-P4DRWEYC.js.map → chunk-QVSBTCVP.js.map} +0 -0
  724. /package/dist/{chunk-AAIUERNB.js.map → chunk-R5RFK3CB.js.map} +0 -0
  725. /package/dist/{chunk-WDISJRMG.js.map → chunk-RMMVQQA6.js.map} +0 -0
  726. /package/dist/{chunk-5SM35XZR.js.map → chunk-S5NZBKKQ.js.map} +0 -0
  727. /package/dist/{chunk-WIPEXG6R.js.map → chunk-SXIMQLGV.js.map} +0 -0
  728. /package/dist/{chunk-OAEQLRCY.js.map → chunk-TN76AKO3.js.map} +0 -0
  729. /package/dist/{chunk-QN25OCUF.js.map → chunk-TQ4GD737.js.map} +0 -0
  730. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  731. /package/dist/{chunk-DNWXFTLD.js.map → chunk-TYISDI6B.js.map} +0 -0
  732. /package/dist/{chunk-4LMA77JH.js.map → chunk-U2VLVBBH.js.map} +0 -0
  733. /package/dist/{chunk-5ZE7QHTK.js.map → chunk-ULVR5KG7.js.map} +0 -0
  734. /package/dist/{chunk-4B77XSG5.js.map → chunk-UV72DEZD.js.map} +0 -0
  735. /package/dist/{chunk-S2BBISHU.js.map → chunk-VANZKHTN.js.map} +0 -0
  736. /package/dist/{chunk-3Y224NYC.js.map → chunk-VYISFWVX.js.map} +0 -0
  737. /package/dist/{chunk-TIHMZFIV.js.map → chunk-W3IC7QOY.js.map} +0 -0
  738. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-W4FBGYGK.js.map} +0 -0
  739. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-WZFAPHIK.js.map} +0 -0
  740. /package/dist/{chunk-T2TTP3KU.js.map → chunk-X4IDNPOS.js.map} +0 -0
  741. /package/dist/{chunk-BLAKS3CP.js.map → chunk-XL3TATMJ.js.map} +0 -0
  742. /package/dist/{chunk-W4XJFLAL.js.map → chunk-XPRJSHNI.js.map} +0 -0
  743. /package/dist/{chunk-JE7EK33X.js.map → chunk-Y7HRYCNW.js.map} +0 -0
  744. /package/dist/{chunk-E6EE5B67.js.map → chunk-YK6BDDHP.js.map} +0 -0
  745. /package/dist/{chunk-ES36HTSC.js.map → chunk-YLHM5BQQ.js.map} +0 -0
  746. /package/dist/{chunk-BJKPPZ6Z.js.map → chunk-ZFGZ6PZ2.js.map} +0 -0
  747. /package/dist/{chunk-64UDOIMI.js.map → chunk-ZLQ37WJX.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isAbortError
3
- } from "./chunk-PVGDJXVK.js";
3
+ } from "./chunk-BTTPKDIL.js";
4
4
 
5
5
  // src/qmd-preflight.ts
6
6
  var QMD_PROBE_TIMEOUT_MS = 8e3;
@@ -118,4 +118,4 @@ export {
118
118
  getQmdPostInstallProbeTargets,
119
119
  qmdVersionToString
120
120
  };
121
- //# sourceMappingURL=chunk-64UDOIMI.js.map
121
+ //# sourceMappingURL=chunk-ZLQ37WJX.js.map
@@ -0,0 +1,351 @@
1
+ // src/external-wiki.ts
2
+ import { constants } from "fs";
3
+ import { open, opendir, realpath, stat } from "fs/promises";
4
+ import path from "path";
5
+ var DEFAULT_MAX_INDEX_BYTES = 1048576;
6
+ var DEFAULT_MAX_PAGE_BYTES = 1048576;
7
+ var DEFAULT_MAX_CATALOG_ENTRIES = 1e4;
8
+ var DEFAULT_MAX_DIRECTORY_DEPTH = 32;
9
+ var MAX_READ_BYTES = 16777216;
10
+ var MAX_CATALOG_ENTRIES = 1e5;
11
+ var MAX_DIRECTORY_DEPTH = 128;
12
+ var MIN_VISITED_ENTRIES = 100;
13
+ var MAX_VISITED_ENTRIES = 1e6;
14
+ function assertPositiveInteger(value, keyName, maximum) {
15
+ if (!Number.isSafeInteger(value) || value <= 0) {
16
+ throw new Error(`${keyName} must be a positive integer`);
17
+ }
18
+ if (maximum !== void 0 && value > maximum) {
19
+ throw new Error(`${keyName} must be at most ${maximum}`);
20
+ }
21
+ }
22
+ function isInside(baseDir, candidate) {
23
+ const relative = path.relative(baseDir, candidate);
24
+ return relative === "" || relative !== ".." && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);
25
+ }
26
+ function resolveInside(baseDir, relativePath, keyName) {
27
+ const resolved = path.resolve(baseDir, relativePath);
28
+ if (!isInside(baseDir, resolved) || resolved === baseDir) {
29
+ throw new Error(`${keyName} must stay within ${baseDir}`);
30
+ }
31
+ return resolved;
32
+ }
33
+ async function requireDirectory(candidate, rootDir, description) {
34
+ let canonical;
35
+ try {
36
+ canonical = await realpath(candidate);
37
+ } catch (error) {
38
+ if (error.code === "ENOENT") {
39
+ throw new Error(`${description} does not exist: ${candidate}`);
40
+ }
41
+ throw error;
42
+ }
43
+ if (!isInside(rootDir, canonical)) throw new Error(`${description} escapes rootDir`);
44
+ if (!(await stat(canonical)).isDirectory()) throw new Error(`${description} is not a directory`);
45
+ return canonical;
46
+ }
47
+ async function optionalDirectory(rootDir, name) {
48
+ const candidate = path.join(rootDir, name);
49
+ let canonical;
50
+ try {
51
+ canonical = await realpath(candidate);
52
+ } catch (error) {
53
+ if (error.code === "ENOENT") return void 0;
54
+ throw error;
55
+ }
56
+ if (!isInside(rootDir, canonical)) throw new Error(`${name} directory escapes rootDir`);
57
+ if (!(await stat(canonical)).isDirectory()) throw new Error(`${name} path is not a directory`);
58
+ return canonical;
59
+ }
60
+ async function optionalIndexFile(candidate, rootDir) {
61
+ let canonical;
62
+ try {
63
+ canonical = await realpath(candidate);
64
+ } catch (error) {
65
+ if (error.code === "ENOENT") return void 0;
66
+ throw error;
67
+ }
68
+ if (!isInside(rootDir, canonical)) throw new Error("catalog index escapes rootDir");
69
+ if (!(await stat(canonical)).isFile()) throw new Error("catalog index is not a file");
70
+ return canonical;
71
+ }
72
+ async function validateExternalWikiLayout(config) {
73
+ let rootDir;
74
+ try {
75
+ rootDir = await realpath(config.rootDir);
76
+ } catch (error) {
77
+ if (error.code === "ENOENT") {
78
+ throw new Error(`external wiki root does not exist: ${config.rootDir}`);
79
+ }
80
+ throw error;
81
+ }
82
+ if (!(await stat(rootDir)).isDirectory()) throw new Error("external wiki root is not a directory");
83
+ const pagesDir = await requireDirectory(
84
+ resolveInside(rootDir, config.pagesDir, "pages directory"),
85
+ rootDir,
86
+ "pages directory"
87
+ );
88
+ const configuredIndexFile = resolveInside(rootDir, config.indexFile, "catalog index");
89
+ const canonicalIndexFile = await optionalIndexFile(configuredIndexFile, rootDir);
90
+ const [rawDir, outputsDir] = await Promise.all([
91
+ optionalDirectory(rootDir, "raw"),
92
+ optionalDirectory(rootDir, "outputs")
93
+ ]);
94
+ return {
95
+ rootDir,
96
+ pagesDir,
97
+ indexFile: canonicalIndexFile ?? configuredIndexFile,
98
+ indexPresent: canonicalIndexFile !== void 0,
99
+ ...rawDir === void 0 ? {} : { rawDir },
100
+ ...outputsDir === void 0 ? {} : { outputsDir }
101
+ };
102
+ }
103
+ function normalizeCatalogPath(target, config, base) {
104
+ let decoded;
105
+ try {
106
+ decoded = decodeURIComponent(target.trim());
107
+ } catch {
108
+ return null;
109
+ }
110
+ const withoutFragment = decoded.split(/[?#]/, 1)[0] ?? "";
111
+ if (withoutFragment.length === 0 || withoutFragment.startsWith("/") || withoutFragment.includes("\\") || /^[a-z][a-z0-9+.-]*:/i.test(withoutFragment)) {
112
+ return null;
113
+ }
114
+ const pagesDir = path.posix.normalize(config.pagesDir);
115
+ const baseDir = base === "index" ? path.posix.dirname(config.indexFile) : pagesDir;
116
+ const rootRelativeTarget = path.posix.normalize(path.posix.join(baseDir, withoutFragment));
117
+ const relative = path.posix.relative(pagesDir, rootRelativeTarget);
118
+ if (relative === ".." || relative.startsWith("../") || path.posix.isAbsolute(relative) || relative === "." || !relative.toLowerCase().endsWith(".md")) {
119
+ return null;
120
+ }
121
+ return relative;
122
+ }
123
+ function catalogBlurb(line, matchEnd) {
124
+ const blurb = line.slice(matchEnd).trim().replace(/^[-:|]\s*/, "").trim();
125
+ return blurb.length === 0 ? void 0 : blurb;
126
+ }
127
+ function parseExternalWikiCatalog(content, config, limits = {}) {
128
+ const maxEntries = limits.maxEntries ?? DEFAULT_MAX_CATALOG_ENTRIES;
129
+ assertPositiveInteger(maxEntries, "maxEntries", MAX_CATALOG_ENTRIES);
130
+ const entries = [];
131
+ const seenPaths = /* @__PURE__ */ new Set();
132
+ for (const [lineIndex, line] of content.split(/\r?\n/).entries()) {
133
+ const markdownMatch = /\[([^\]]+)]\(([^)\s]+)(?:\s+"[^"]*")?\)/.exec(line);
134
+ const wikiMatch = /\[\[([^\]|]+)(?:\|([^\]]+))?]]/.exec(line);
135
+ let target;
136
+ let title;
137
+ let matchEnd;
138
+ let pathBase;
139
+ if (markdownMatch) {
140
+ title = markdownMatch[1]?.trim() ?? "";
141
+ target = markdownMatch[2]?.trim() ?? "";
142
+ matchEnd = (markdownMatch.index ?? 0) + markdownMatch[0].length;
143
+ pathBase = "index";
144
+ } else if (wikiMatch) {
145
+ const wikiTarget = wikiMatch[1]?.trim() ?? "";
146
+ title = wikiMatch[2]?.trim() || humanizePagePath(wikiTarget);
147
+ target = wikiTarget.toLowerCase().endsWith(".md") ? wikiTarget : `${wikiTarget}.md`;
148
+ matchEnd = (wikiMatch.index ?? 0) + wikiMatch[0].length;
149
+ pathBase = "pages";
150
+ } else {
151
+ continue;
152
+ }
153
+ const pagePath = normalizeCatalogPath(target, config, pathBase);
154
+ if (!pagePath || title.length === 0 || seenPaths.has(pagePath)) continue;
155
+ if (entries.length >= maxEntries) {
156
+ throw new Error(`catalog contains more than ${maxEntries} entries`);
157
+ }
158
+ seenPaths.add(pagePath);
159
+ const indexBlurb = catalogBlurb(line, matchEnd);
160
+ entries.push({
161
+ title,
162
+ path: pagePath,
163
+ ...indexBlurb === void 0 ? {} : { indexBlurb },
164
+ indexLine: lineIndex + 1
165
+ });
166
+ }
167
+ return entries;
168
+ }
169
+ async function canonicalOpenedFile(handle, filePath, displayPath) {
170
+ if (process.platform === "linux") {
171
+ const descriptorPath = await realpath(`/proc/self/fd/${handle.fd}`).catch(() => void 0);
172
+ if (descriptorPath !== void 0) return descriptorPath;
173
+ }
174
+ let canonical;
175
+ try {
176
+ canonical = await realpath(filePath);
177
+ } catch {
178
+ throw new Error(`${displayPath} changed while being opened`);
179
+ }
180
+ const [openedStat, pathStat] = await Promise.all([handle.stat(), stat(canonical)]);
181
+ if (openedStat.dev !== pathStat.dev || openedStat.ino !== pathStat.ino) {
182
+ throw new Error(`${displayPath} changed while being opened`);
183
+ }
184
+ return canonical;
185
+ }
186
+ async function readBoundedUtf8(filePath, allowedRoot, maxBytes, displayPath) {
187
+ assertPositiveInteger(maxBytes, "maxBytes", MAX_READ_BYTES);
188
+ const handle = await open(filePath, constants.O_RDONLY | constants.O_NOFOLLOW);
189
+ try {
190
+ const openedStat = await handle.stat();
191
+ if (!openedStat.isFile()) throw new Error(`${displayPath} is not a file`);
192
+ const canonical = await canonicalOpenedFile(handle, filePath, displayPath);
193
+ if (!isInside(allowedRoot, canonical)) {
194
+ throw new Error(`${displayPath} escapes configured root`);
195
+ }
196
+ const buffer = Buffer.allocUnsafe(maxBytes + 1);
197
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
198
+ if (bytesRead > maxBytes) throw new Error(`${displayPath} exceeds ${maxBytes} bytes`);
199
+ let content;
200
+ try {
201
+ content = new TextDecoder("utf-8", { fatal: true }).decode(buffer.subarray(0, bytesRead));
202
+ } catch {
203
+ throw new Error(`${displayPath} is not valid UTF-8`);
204
+ }
205
+ return { content, bytes: bytesRead };
206
+ } finally {
207
+ await handle.close();
208
+ }
209
+ }
210
+ function humanizePagePath(pagePath) {
211
+ const stem = path.posix.basename(pagePath, path.posix.extname(pagePath));
212
+ const words = stem.replace(/[-_]+/g, " ").trim();
213
+ return words.length === 0 ? stem : `${words[0]?.toUpperCase() ?? ""}${words.slice(1)}`;
214
+ }
215
+ async function listMarkdownPages(pagesDir, maxEntries, maxDepth) {
216
+ assertPositiveInteger(maxEntries, "maxEntries", MAX_CATALOG_ENTRIES);
217
+ assertPositiveInteger(maxDepth, "maxDepth", MAX_DIRECTORY_DEPTH);
218
+ const paths = [];
219
+ const maxVisitedEntries = Math.min(MAX_VISITED_ENTRIES, Math.max(MIN_VISITED_ENTRIES, maxEntries * 100));
220
+ let visitedEntries = 0;
221
+ const walk = async (directory, relativeDirectory, depth) => {
222
+ if (depth > maxDepth) throw new Error(`pages directory exceeds maxDepth ${maxDepth}`);
223
+ const dir = await opendir(directory);
224
+ for await (const entry of dir) {
225
+ visitedEntries += 1;
226
+ if (visitedEntries > maxVisitedEntries) {
227
+ throw new Error(`pages directory contains more than ${maxVisitedEntries} filesystem entries`);
228
+ }
229
+ const relativePath = relativeDirectory ? path.posix.join(relativeDirectory, entry.name) : entry.name;
230
+ if (entry.isDirectory()) {
231
+ await walk(path.join(directory, entry.name), relativePath, depth + 1);
232
+ } else if (entry.isFile() && entry.name.toLowerCase().endsWith(".md")) {
233
+ if (paths.length >= maxEntries) {
234
+ throw new Error(`pages directory contains more than ${maxEntries} markdown files`);
235
+ }
236
+ paths.push(relativePath);
237
+ }
238
+ }
239
+ };
240
+ await walk(pagesDir, "", 1);
241
+ return paths.sort((left, right) => left.localeCompare(right)).map((pagePath) => ({
242
+ title: humanizePagePath(pagePath),
243
+ path: pagePath
244
+ }));
245
+ }
246
+ function assertWikiEnabled(config) {
247
+ if (!config.enabled) throw new Error(`external wiki "${config.id}" is disabled`);
248
+ }
249
+ async function loadExternalWikiCatalog(config, limits = {}) {
250
+ assertWikiEnabled(config);
251
+ const maxIndexBytes = limits.maxIndexBytes ?? DEFAULT_MAX_INDEX_BYTES;
252
+ const maxEntries = limits.maxEntries ?? DEFAULT_MAX_CATALOG_ENTRIES;
253
+ const maxDepth = limits.maxDepth ?? DEFAULT_MAX_DIRECTORY_DEPTH;
254
+ assertPositiveInteger(maxEntries, "maxEntries", MAX_CATALOG_ENTRIES);
255
+ assertPositiveInteger(maxDepth, "maxDepth", MAX_DIRECTORY_DEPTH);
256
+ const layout = await validateExternalWikiLayout(config);
257
+ const entries = layout.indexPresent ? parseExternalWikiCatalog(
258
+ (await readBoundedUtf8(layout.indexFile, layout.rootDir, maxIndexBytes, config.indexFile)).content,
259
+ config,
260
+ { maxEntries }
261
+ ) : await listMarkdownPages(layout.pagesDir, maxEntries, maxDepth);
262
+ return { wikiId: config.id, indexPresent: layout.indexPresent, entries };
263
+ }
264
+ function normalizePagePath(relativePath) {
265
+ if (relativePath.includes("\\")) {
266
+ throw new Error("page path must use POSIX separators");
267
+ }
268
+ const normalized = path.posix.normalize(relativePath);
269
+ if (normalized === "." || normalized === ".." || normalized.startsWith("../") || normalized.startsWith("/")) {
270
+ throw new Error("page path must stay within the pages directory");
271
+ }
272
+ if (!normalized.toLowerCase().endsWith(".md")) {
273
+ throw new Error("page path must end in .md");
274
+ }
275
+ return normalized;
276
+ }
277
+ function pageTitle(content, pagePath) {
278
+ const heading = /^#\s+(.+?)\s*$/m.exec(content)?.[1]?.trim();
279
+ return heading && heading.length > 0 ? heading : humanizePagePath(pagePath);
280
+ }
281
+ async function readExternalWikiPage(config, relativePath, maxBytes = DEFAULT_MAX_PAGE_BYTES) {
282
+ assertWikiEnabled(config);
283
+ const pagePath = normalizePagePath(relativePath);
284
+ const layout = await validateExternalWikiLayout(config);
285
+ const candidate = resolveInside(layout.pagesDir, pagePath, "page path");
286
+ let canonical;
287
+ try {
288
+ canonical = await realpath(candidate);
289
+ } catch (error) {
290
+ if (error.code === "ENOENT") {
291
+ throw new Error(`external wiki page does not exist: ${pagePath}`);
292
+ }
293
+ throw error;
294
+ }
295
+ if (!isInside(layout.pagesDir, canonical)) {
296
+ throw new Error("page path must stay within the pages directory");
297
+ }
298
+ if (!(await stat(canonical)).isFile()) throw new Error(`external wiki page is not a file: ${pagePath}`);
299
+ const page = await readBoundedUtf8(canonical, layout.pagesDir, maxBytes, pagePath);
300
+ return {
301
+ wikiId: config.id,
302
+ path: pagePath,
303
+ title: pageTitle(page.content, pagePath),
304
+ content: page.content,
305
+ bytes: page.bytes
306
+ };
307
+ }
308
+ async function runExternalWikiCliCommand(roots, rest, io) {
309
+ const { searchExternalWikis } = await import("./external-wiki-search.js");
310
+ const query = rest.filter((a) => !a.startsWith("-")).join(" ").trim();
311
+ if (!query) {
312
+ io.stderr.write("external-wiki: provide a search query\n");
313
+ return 1;
314
+ }
315
+ const enabled = roots.filter((r) => r.enabled !== false);
316
+ if (enabled.length === 0) {
317
+ io.stderr.write("external-wiki: no enabled wiki roots configured\n");
318
+ return 1;
319
+ }
320
+ try {
321
+ const result = await searchExternalWikis(enabled, { query });
322
+ if (result.hits.length === 0) {
323
+ io.stdout.write("No results.\n");
324
+ return 0;
325
+ }
326
+ for (const hit of result.hits) {
327
+ io.stdout.write(`[${hit.wikiId}] ${hit.path} (score ${hit.score})
328
+ ${hit.snippet}
329
+
330
+ `);
331
+ }
332
+ if (result.degradedWikiIds.length > 0) {
333
+ io.stderr.write(`Warning: degraded roots: ${result.degradedWikiIds.join(", ")}
334
+ `);
335
+ }
336
+ return 0;
337
+ } catch (error) {
338
+ io.stderr.write(`external-wiki: ${error instanceof Error ? error.message : "search failed"}
339
+ `);
340
+ return 1;
341
+ }
342
+ }
343
+
344
+ export {
345
+ validateExternalWikiLayout,
346
+ parseExternalWikiCatalog,
347
+ loadExternalWikiCatalog,
348
+ readExternalWikiPage,
349
+ runExternalWikiCliCommand
350
+ };
351
+ //# sourceMappingURL=chunk-ZMAYKGPN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/external-wiki.ts"],"sourcesContent":["import { constants } from \"node:fs\";\nimport { open, opendir, realpath, stat } from \"node:fs/promises\";\nimport type { FileHandle } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type { ExternalWikiRoot } from \"./external-wiki-config.js\";\n\nconst DEFAULT_MAX_INDEX_BYTES = 1_048_576;\nconst DEFAULT_MAX_PAGE_BYTES = 1_048_576;\nconst DEFAULT_MAX_CATALOG_ENTRIES = 10_000;\nconst DEFAULT_MAX_DIRECTORY_DEPTH = 32;\nconst MAX_READ_BYTES = 16_777_216;\nconst MAX_CATALOG_ENTRIES = 100_000;\nconst MAX_DIRECTORY_DEPTH = 128;\nconst MIN_VISITED_ENTRIES = 100;\nconst MAX_VISITED_ENTRIES = 1_000_000;\n\nexport type { ExternalWikiRoot } from \"./external-wiki-config.js\";\n\nexport interface ExternalWikiLayout {\n rootDir: string;\n pagesDir: string;\n indexFile: string;\n indexPresent: boolean;\n rawDir?: string;\n outputsDir?: string;\n}\n\nexport interface ExternalWikiCatalogEntry {\n title: string;\n path: string;\n indexBlurb?: string;\n indexLine?: number;\n}\n\nexport interface ExternalWikiCatalog {\n wikiId: string;\n indexPresent: boolean;\n entries: ExternalWikiCatalogEntry[];\n}\n\nexport interface ExternalWikiCatalogLimits {\n maxIndexBytes?: number;\n maxEntries?: number;\n maxDepth?: number;\n}\n\nexport interface ExternalWikiPage {\n wikiId: string;\n path: string;\n title: string;\n content: string;\n bytes: number;\n}\n\nfunction assertPositiveInteger(value: number, keyName: string, maximum?: number): void {\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new Error(`${keyName} must be a positive integer`);\n }\n if (maximum !== undefined && value > maximum) {\n throw new Error(`${keyName} must be at most ${maximum}`);\n }\n}\n\nfunction isInside(baseDir: string, candidate: string): boolean {\n const relative = path.relative(baseDir, candidate);\n return relative === \"\" || (relative !== \"..\" && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative));\n}\n\nfunction resolveInside(baseDir: string, relativePath: string, keyName: string): string {\n const resolved = path.resolve(baseDir, relativePath);\n if (!isInside(baseDir, resolved) || resolved === baseDir) {\n throw new Error(`${keyName} must stay within ${baseDir}`);\n }\n return resolved;\n}\n\nasync function requireDirectory(candidate: string, rootDir: string, description: string): Promise<string> {\n let canonical: string;\n try {\n canonical = await realpath(candidate);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new Error(`${description} does not exist: ${candidate}`);\n }\n throw error;\n }\n if (!isInside(rootDir, canonical)) throw new Error(`${description} escapes rootDir`);\n if (!(await stat(canonical)).isDirectory()) throw new Error(`${description} is not a directory`);\n return canonical;\n}\n\nasync function optionalDirectory(rootDir: string, name: \"raw\" | \"outputs\"): Promise<string | undefined> {\n const candidate = path.join(rootDir, name);\n let canonical: string;\n try {\n canonical = await realpath(candidate);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return undefined;\n throw error;\n }\n if (!isInside(rootDir, canonical)) throw new Error(`${name} directory escapes rootDir`);\n if (!(await stat(canonical)).isDirectory()) throw new Error(`${name} path is not a directory`);\n return canonical;\n}\n\nasync function optionalIndexFile(candidate: string, rootDir: string): Promise<string | undefined> {\n let canonical: string;\n try {\n canonical = await realpath(candidate);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return undefined;\n throw error;\n }\n if (!isInside(rootDir, canonical)) throw new Error(\"catalog index escapes rootDir\");\n if (!(await stat(canonical)).isFile()) throw new Error(\"catalog index is not a file\");\n return canonical;\n}\n\nexport async function validateExternalWikiLayout(config: ExternalWikiRoot): Promise<ExternalWikiLayout> {\n let rootDir: string;\n try {\n rootDir = await realpath(config.rootDir);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new Error(`external wiki root does not exist: ${config.rootDir}`);\n }\n throw error;\n }\n if (!(await stat(rootDir)).isDirectory()) throw new Error(\"external wiki root is not a directory\");\n\n const pagesDir = await requireDirectory(\n resolveInside(rootDir, config.pagesDir, \"pages directory\"),\n rootDir,\n \"pages directory\"\n );\n const configuredIndexFile = resolveInside(rootDir, config.indexFile, \"catalog index\");\n const canonicalIndexFile = await optionalIndexFile(configuredIndexFile, rootDir);\n const [rawDir, outputsDir] = await Promise.all([\n optionalDirectory(rootDir, \"raw\"),\n optionalDirectory(rootDir, \"outputs\"),\n ]);\n\n return {\n rootDir,\n pagesDir,\n indexFile: canonicalIndexFile ?? configuredIndexFile,\n indexPresent: canonicalIndexFile !== undefined,\n ...(rawDir === undefined ? {} : { rawDir }),\n ...(outputsDir === undefined ? {} : { outputsDir }),\n };\n}\n\ntype CatalogPathBase = \"index\" | \"pages\";\n\nfunction normalizeCatalogPath(target: string, config: ExternalWikiRoot, base: CatalogPathBase): string | null {\n let decoded: string;\n try {\n decoded = decodeURIComponent(target.trim());\n } catch {\n return null;\n }\n const withoutFragment = decoded.split(/[?#]/, 1)[0] ?? \"\";\n if (\n withoutFragment.length === 0 ||\n withoutFragment.startsWith(\"/\") ||\n withoutFragment.includes(\"\\\\\") ||\n /^[a-z][a-z0-9+.-]*:/i.test(withoutFragment)\n ) {\n return null;\n }\n\n const pagesDir = path.posix.normalize(config.pagesDir);\n const baseDir = base === \"index\" ? path.posix.dirname(config.indexFile) : pagesDir;\n const rootRelativeTarget = path.posix.normalize(path.posix.join(baseDir, withoutFragment));\n const relative = path.posix.relative(pagesDir, rootRelativeTarget);\n if (\n relative === \"..\" ||\n relative.startsWith(\"../\") ||\n path.posix.isAbsolute(relative) ||\n relative === \".\" ||\n !relative.toLowerCase().endsWith(\".md\")\n ) {\n return null;\n }\n return relative;\n}\n\nfunction catalogBlurb(line: string, matchEnd: number): string | undefined {\n const blurb = line\n .slice(matchEnd)\n .trim()\n .replace(/^[-:|]\\s*/, \"\")\n .trim();\n return blurb.length === 0 ? undefined : blurb;\n}\n\nexport function parseExternalWikiCatalog(\n content: string,\n config: ExternalWikiRoot,\n limits: Pick<ExternalWikiCatalogLimits, \"maxEntries\"> = {}\n): ExternalWikiCatalogEntry[] {\n const maxEntries = limits.maxEntries ?? DEFAULT_MAX_CATALOG_ENTRIES;\n assertPositiveInteger(maxEntries, \"maxEntries\", MAX_CATALOG_ENTRIES);\n const entries: ExternalWikiCatalogEntry[] = [];\n const seenPaths = new Set<string>();\n\n for (const [lineIndex, line] of content.split(/\\r?\\n/).entries()) {\n const markdownMatch = /\\[([^\\]]+)]\\(([^)\\s]+)(?:\\s+\"[^\"]*\")?\\)/.exec(line);\n const wikiMatch = /\\[\\[([^\\]|]+)(?:\\|([^\\]]+))?]]/.exec(line);\n let target: string;\n let title: string;\n let matchEnd: number;\n let pathBase: CatalogPathBase;\n if (markdownMatch) {\n title = markdownMatch[1]?.trim() ?? \"\";\n target = markdownMatch[2]?.trim() ?? \"\";\n matchEnd = (markdownMatch.index ?? 0) + markdownMatch[0].length;\n pathBase = \"index\";\n } else if (wikiMatch) {\n const wikiTarget = wikiMatch[1]?.trim() ?? \"\";\n title = wikiMatch[2]?.trim() || humanizePagePath(wikiTarget);\n target = wikiTarget.toLowerCase().endsWith(\".md\") ? wikiTarget : `${wikiTarget}.md`;\n matchEnd = (wikiMatch.index ?? 0) + wikiMatch[0].length;\n pathBase = \"pages\";\n } else {\n continue;\n }\n\n const pagePath = normalizeCatalogPath(target, config, pathBase);\n if (!pagePath || title.length === 0 || seenPaths.has(pagePath)) continue;\n if (entries.length >= maxEntries) {\n throw new Error(`catalog contains more than ${maxEntries} entries`);\n }\n seenPaths.add(pagePath);\n const indexBlurb = catalogBlurb(line, matchEnd);\n entries.push({\n title,\n path: pagePath,\n ...(indexBlurb === undefined ? {} : { indexBlurb }),\n indexLine: lineIndex + 1,\n });\n }\n return entries;\n}\n\ninterface BoundedUtf8Read {\n content: string;\n bytes: number;\n}\n\nasync function canonicalOpenedFile(handle: FileHandle, filePath: string, displayPath: string): Promise<string> {\n if (process.platform === \"linux\") {\n const descriptorPath = await realpath(`/proc/self/fd/${handle.fd}`).catch(() => undefined);\n if (descriptorPath !== undefined) return descriptorPath;\n }\n\n let canonical: string;\n try {\n canonical = await realpath(filePath);\n } catch {\n throw new Error(`${displayPath} changed while being opened`);\n }\n const [openedStat, pathStat] = await Promise.all([handle.stat(), stat(canonical)]);\n if (openedStat.dev !== pathStat.dev || openedStat.ino !== pathStat.ino) {\n throw new Error(`${displayPath} changed while being opened`);\n }\n return canonical;\n}\n\nasync function readBoundedUtf8(\n filePath: string,\n allowedRoot: string,\n maxBytes: number,\n displayPath: string\n): Promise<BoundedUtf8Read> {\n assertPositiveInteger(maxBytes, \"maxBytes\", MAX_READ_BYTES);\n const handle = await open(filePath, constants.O_RDONLY | constants.O_NOFOLLOW);\n try {\n const openedStat = await handle.stat();\n if (!openedStat.isFile()) throw new Error(`${displayPath} is not a file`);\n const canonical = await canonicalOpenedFile(handle, filePath, displayPath);\n if (!isInside(allowedRoot, canonical)) {\n throw new Error(`${displayPath} escapes configured root`);\n }\n const buffer = Buffer.allocUnsafe(maxBytes + 1);\n const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);\n if (bytesRead > maxBytes) throw new Error(`${displayPath} exceeds ${maxBytes} bytes`);\n let content: string;\n try {\n content = new TextDecoder(\"utf-8\", { fatal: true }).decode(buffer.subarray(0, bytesRead));\n } catch {\n throw new Error(`${displayPath} is not valid UTF-8`);\n }\n return { content, bytes: bytesRead };\n } finally {\n await handle.close();\n }\n}\n\nfunction humanizePagePath(pagePath: string): string {\n const stem = path.posix.basename(pagePath, path.posix.extname(pagePath));\n const words = stem.replace(/[-_]+/g, \" \").trim();\n return words.length === 0 ? stem : `${words[0]?.toUpperCase() ?? \"\"}${words.slice(1)}`;\n}\n\nasync function listMarkdownPages(\n pagesDir: string,\n maxEntries: number,\n maxDepth: number\n): Promise<ExternalWikiCatalogEntry[]> {\n assertPositiveInteger(maxEntries, \"maxEntries\", MAX_CATALOG_ENTRIES);\n assertPositiveInteger(maxDepth, \"maxDepth\", MAX_DIRECTORY_DEPTH);\n const paths: string[] = [];\n const maxVisitedEntries = Math.min(MAX_VISITED_ENTRIES, Math.max(MIN_VISITED_ENTRIES, maxEntries * 100));\n let visitedEntries = 0;\n const walk = async (directory: string, relativeDirectory: string, depth: number): Promise<void> => {\n if (depth > maxDepth) throw new Error(`pages directory exceeds maxDepth ${maxDepth}`);\n const dir = await opendir(directory);\n for await (const entry of dir) {\n visitedEntries += 1;\n if (visitedEntries > maxVisitedEntries) {\n throw new Error(`pages directory contains more than ${maxVisitedEntries} filesystem entries`);\n }\n const relativePath = relativeDirectory ? path.posix.join(relativeDirectory, entry.name) : entry.name;\n if (entry.isDirectory()) {\n await walk(path.join(directory, entry.name), relativePath, depth + 1);\n } else if (entry.isFile() && entry.name.toLowerCase().endsWith(\".md\")) {\n if (paths.length >= maxEntries) {\n throw new Error(`pages directory contains more than ${maxEntries} markdown files`);\n }\n paths.push(relativePath);\n }\n }\n };\n await walk(pagesDir, \"\", 1);\n return paths\n .sort((left, right) => left.localeCompare(right))\n .map((pagePath) => ({\n title: humanizePagePath(pagePath),\n path: pagePath,\n }));\n}\n\nfunction assertWikiEnabled(config: ExternalWikiRoot): void {\n if (!config.enabled) throw new Error(`external wiki \"${config.id}\" is disabled`);\n}\n\nexport async function loadExternalWikiCatalog(\n config: ExternalWikiRoot,\n limits: ExternalWikiCatalogLimits = {}\n): Promise<ExternalWikiCatalog> {\n assertWikiEnabled(config);\n const maxIndexBytes = limits.maxIndexBytes ?? DEFAULT_MAX_INDEX_BYTES;\n const maxEntries = limits.maxEntries ?? DEFAULT_MAX_CATALOG_ENTRIES;\n const maxDepth = limits.maxDepth ?? DEFAULT_MAX_DIRECTORY_DEPTH;\n assertPositiveInteger(maxEntries, \"maxEntries\", MAX_CATALOG_ENTRIES);\n assertPositiveInteger(maxDepth, \"maxDepth\", MAX_DIRECTORY_DEPTH);\n const layout = await validateExternalWikiLayout(config);\n const entries = layout.indexPresent\n ? parseExternalWikiCatalog(\n (await readBoundedUtf8(layout.indexFile, layout.rootDir, maxIndexBytes, config.indexFile)).content,\n config,\n { maxEntries }\n )\n : await listMarkdownPages(layout.pagesDir, maxEntries, maxDepth);\n return { wikiId: config.id, indexPresent: layout.indexPresent, entries };\n}\n\nfunction normalizePagePath(relativePath: string): string {\n if (relativePath.includes(\"\\\\\")) {\n throw new Error(\"page path must use POSIX separators\");\n }\n const normalized = path.posix.normalize(relativePath);\n if (normalized === \".\" || normalized === \"..\" || normalized.startsWith(\"../\") || normalized.startsWith(\"/\")) {\n throw new Error(\"page path must stay within the pages directory\");\n }\n if (!normalized.toLowerCase().endsWith(\".md\")) {\n throw new Error(\"page path must end in .md\");\n }\n return normalized;\n}\n\nfunction pageTitle(content: string, pagePath: string): string {\n const heading = /^#\\s+(.+?)\\s*$/m.exec(content)?.[1]?.trim();\n return heading && heading.length > 0 ? heading : humanizePagePath(pagePath);\n}\n\nexport async function readExternalWikiPage(\n config: ExternalWikiRoot,\n relativePath: string,\n maxBytes = DEFAULT_MAX_PAGE_BYTES\n): Promise<ExternalWikiPage> {\n assertWikiEnabled(config);\n const pagePath = normalizePagePath(relativePath);\n const layout = await validateExternalWikiLayout(config);\n const candidate = resolveInside(layout.pagesDir, pagePath, \"page path\");\n let canonical: string;\n try {\n canonical = await realpath(candidate);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n throw new Error(`external wiki page does not exist: ${pagePath}`);\n }\n throw error;\n }\n if (!isInside(layout.pagesDir, canonical)) {\n throw new Error(\"page path must stay within the pages directory\");\n }\n if (!(await stat(canonical)).isFile()) throw new Error(`external wiki page is not a file: ${pagePath}`);\n const page = await readBoundedUtf8(canonical, layout.pagesDir, maxBytes, pagePath);\n return {\n wikiId: config.id,\n path: pagePath,\n title: pageTitle(page.content, pagePath),\n content: page.content,\n bytes: page.bytes,\n };\n}\n\nexport async function runExternalWikiCliCommand(\n roots: readonly ExternalWikiRoot[],\n rest: readonly string[],\n io: { stdout: NodeJS.WritableStream; stderr: NodeJS.WritableStream },\n): Promise<number> {\n const { searchExternalWikis } = await import(\"./external-wiki-search.js\");\n const query = rest.filter((a) => !a.startsWith(\"-\")).join(\" \").trim();\n if (!query) {\n io.stderr.write(\"external-wiki: provide a search query\\n\");\n return 1;\n }\n const enabled = roots.filter((r) => r.enabled !== false);\n if (enabled.length === 0) {\n io.stderr.write(\"external-wiki: no enabled wiki roots configured\\n\");\n return 1;\n }\n try {\n const result = await searchExternalWikis(enabled, { query });\n if (result.hits.length === 0) {\n io.stdout.write(\"No results.\\n\");\n return 0;\n }\n for (const hit of result.hits) {\n io.stdout.write(`[${hit.wikiId}] ${hit.path} (score ${hit.score})\\n${hit.snippet}\\n\\n`);\n }\n if (result.degradedWikiIds.length > 0) {\n io.stderr.write(`Warning: degraded roots: ${result.degradedWikiIds.join(\", \")}\\n`);\n }\n return 0;\n } catch (error) {\n io.stderr.write(`external-wiki: ${error instanceof Error ? error.message : \"search failed\"}\\n`);\n return 1;\n }\n}\n"],"mappings":"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","names":[]}
@@ -2,22 +2,22 @@ import { CompoundingPromotionReport } from './compounding/engine.js';
2
2
  import { ConversationIndexBackendInspection } from './conversation-index/backend.js';
3
3
  import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
4
4
  import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
5
- import { x as MemoryStatus, M as MemoryFile, a6 as BehaviorSignalEvent, Q as QmdSearchResult, ab as BulkImportResult, ag as MemoryActionEvent, z as MemoryLifecycleEvent } from './types-rEwubvim.js';
5
+ import { y as MemoryStatus, M as MemoryFile, a8 as BehaviorSignalEvent, Q as QmdSearchResult, ad as BulkImportResult, ai as MemoryActionEvent, J as MemoryLifecycleEvent } from './types-yX_FwERf.js';
6
6
  import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
7
7
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
8
8
  import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
- import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-rHiWt32X.js';
10
+ import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-DJYlwiUv.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
- import { P as ProcessBatchFn } from './pipeline-W_97O8BV.js';
14
- import { S as StorageManager } from './storage-F9FVh-w9.js';
13
+ import { P as ProcessBatchFn } from './pipeline-CNjY4wk3.js';
14
+ import { S as StorageManager } from './storage-DfjxusTE.js';
15
15
  import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
16
16
  import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/types.js';
17
17
  import { RoutePatternType } from './routing/engine.js';
18
18
  import { TailscaleSyncOptions } from './network/tailscale.js';
19
19
  import { DashboardStatus } from './dashboard-runtime.js';
20
- import { f as EngramAccessService } from './access-service-CiJRsgAB.js';
20
+ import { f as EngramAccessService } from './access-service-CsU-ljFD.js';
21
21
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
22
22
  import { CompatRunner, CompatReport } from './compat/types.js';
23
23
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';
package/dist/cli.d.ts CHANGED
@@ -2,21 +2,21 @@ import './compounding/engine.js';
2
2
  import './conversation-index/backend.js';
3
3
  import './maintenance/migrate-observations.js';
4
4
  import './maintenance/memory-governance.js';
5
- import './types-rEwubvim.js';
5
+ import './types-yX_FwERf.js';
6
6
  import './maintenance/rebuild-memory-projection.js';
7
7
  import './maintenance/rebuild-observations.js';
8
8
  import './maintenance/archive-observations.js';
9
9
  import 'node:stream';
10
- import './orchestrator-rHiWt32X.js';
10
+ import './orchestrator-DJYlwiUv.js';
11
11
  import './replay/runner.js';
12
12
  import './replay/types.js';
13
- import './pipeline-W_97O8BV.js';
14
- export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrateCliAdapter, N as TierMigrateCoordinatorCliAdapter, O as TierMigrateLegacyCliAdapter, Q as TierStatusCliAdapter, U as TierStatusCoordinatorCliAdapter, V as TierStatusLegacyCliAdapter, W as TrainingExportCliCommandOptions, X as VerifyMemoryProjectionCliCommandOptions, Y as WebDavServeCliCommandOptions, Z as WorkProjectCliCommandOptions, _ as WorkTaskCliCommandOptions, $ as emitConnectorsRunCliResult, a0 as filterNormalMemorySearchResults, a1 as hasDestructivePurgeFailures, a2 as isNormalRetrievalVisibleMemory, a3 as listMemoryMarkdownFilePaths, a4 as parseDurationToMs, a5 as parseStrictCliDate, a6 as planAggressiveDuplicateDeletions, a7 as planExactDuplicateDeletions, a8 as registerCli, a9 as resolveAccessPrincipalOverride, aa as resolveMemoryDirForNamespace, ab as runAbstractionNodeStatusCliCommand, ac as runAccessHttpServeCliCommand, ad as runAccessHttpStatusCliCommand, ae as runAccessHttpStopCliCommand, af as runAccessMcpServeCliCommand, ag as runArchiveObservationsCliCommand, ah as runBenchmarkBaselineReportCliCommand, ai as runBenchmarkBaselineSnapshotCliCommand, aj as runBenchmarkCiGateCliCommand, ak as runBenchmarkImportCliCommand, al as runBenchmarkStatusCliCommand, am as runBenchmarkStoredBaselineCiGateCliCommand, an as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ao as runCausalTrajectoryStatusCliCommand, ap as runCommitmentLifecycleCliCommand, aq as runCommitmentRecordCliCommand, ar as runCommitmentSetStateCliCommand, as as runCommitmentStatusCliCommand, at as runCompatCliCommand, au as runCompoundingPromoteCliCommand, av as runConversationIndexHealthCliCommand, aw as runConversationIndexInspectCliCommand, ax as runConversationIndexRebuildCliCommand, ay as runCueAnchorStatusCliCommand, az as runDashboardStartCliCommand, aA as runDashboardStatusCliCommand, aB as runDashboardStopCliCommand, aC as runGraphHealthCliCommand, aD as runHarmonicSearchCliCommand, aE as runMemoryActionAuditCliCommand, aF as runMemoryGovernanceCliCommand, aG as runMemoryGovernanceReportCliCommand, aH as runMemoryGovernanceRestoreCliCommand, aI as runMemoryReviewDispositionCliCommand, aJ as runMemoryTimelineCliCommand, aK as runMigrateNormalizeFrontmatterCliCommand, aL as runMigrateObservationsCliCommand, aM as runMigrateRechunkCliCommand, aN as runMigrateReextractCliCommand, aO as runMigrateRescoreImportanceCliCommand, aP as runObjectiveStateStatusCliCommand, aQ as runPolicyDiffCliCommand, aR as runPolicyRollbackCliCommand, aS as runPolicyStatusCliCommand, aT as runRebuildMemoryLifecycleLedgerCliCommand, aU as runRebuildMemoryProjectionCliCommand, aV as runRebuildObservationsCliCommand, aW as runRepairMemoryProjectionCliCommand, aX as runReplayCliCommand, aY as runResumeBundleBuildCliCommand, aZ as runResumeBundleRecordCliCommand, a_ as runResumeBundleStatusCliCommand, a$ as runRouteCliCommand, b0 as runSemanticRulePromoteCliCommand, b1 as runSemanticRuleVerifyCliCommand, b2 as runSessionCheckCliCommand, b3 as runSessionRepairCliCommand, b4 as runTailscaleStatusCliCommand, b5 as runTailscaleSyncCliCommand, b6 as runTierMigrateCliCommand, b7 as runTierStatusCliCommand, b8 as runTrainingExportCliCommand, b9 as runTrustZoneDemoSeedCliCommand, ba as runTrustZonePromoteCliCommand, bb as runTrustZoneStatusCliCommand, bc as runUtilityLearningCliCommand, bd as runUtilityLearningStatusCliCommand, be as runUtilityTelemetryRecordCliCommand, bf as runUtilityTelemetryStatusCliCommand, bg as runVerifiedRecallSearchCliCommand, bh as runVerifyMemoryProjectionCliCommand, bi as runWebDavServeCliCommand, bj as runWebDavStopCliCommand, bk as runWorkProductRecallSearchCliCommand, bl as runWorkProductRecordCliCommand, bm as runWorkProductStatusCliCommand, bn as runWorkProjectCliCommand, bo as runWorkTaskCliCommand } from './cli-BUGN3d6_.js';
13
+ import './pipeline-CNjY4wk3.js';
14
+ export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrateCliAdapter, N as TierMigrateCoordinatorCliAdapter, O as TierMigrateLegacyCliAdapter, Q as TierStatusCliAdapter, U as TierStatusCoordinatorCliAdapter, V as TierStatusLegacyCliAdapter, W as TrainingExportCliCommandOptions, X as VerifyMemoryProjectionCliCommandOptions, Y as WebDavServeCliCommandOptions, Z as WorkProjectCliCommandOptions, _ as WorkTaskCliCommandOptions, $ as emitConnectorsRunCliResult, a0 as filterNormalMemorySearchResults, a1 as hasDestructivePurgeFailures, a2 as isNormalRetrievalVisibleMemory, a3 as listMemoryMarkdownFilePaths, a4 as parseDurationToMs, a5 as parseStrictCliDate, a6 as planAggressiveDuplicateDeletions, a7 as planExactDuplicateDeletions, a8 as registerCli, a9 as resolveAccessPrincipalOverride, aa as resolveMemoryDirForNamespace, ab as runAbstractionNodeStatusCliCommand, ac as runAccessHttpServeCliCommand, ad as runAccessHttpStatusCliCommand, ae as runAccessHttpStopCliCommand, af as runAccessMcpServeCliCommand, ag as runArchiveObservationsCliCommand, ah as runBenchmarkBaselineReportCliCommand, ai as runBenchmarkBaselineSnapshotCliCommand, aj as runBenchmarkCiGateCliCommand, ak as runBenchmarkImportCliCommand, al as runBenchmarkStatusCliCommand, am as runBenchmarkStoredBaselineCiGateCliCommand, an as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ao as runCausalTrajectoryStatusCliCommand, ap as runCommitmentLifecycleCliCommand, aq as runCommitmentRecordCliCommand, ar as runCommitmentSetStateCliCommand, as as runCommitmentStatusCliCommand, at as runCompatCliCommand, au as runCompoundingPromoteCliCommand, av as runConversationIndexHealthCliCommand, aw as runConversationIndexInspectCliCommand, ax as runConversationIndexRebuildCliCommand, ay as runCueAnchorStatusCliCommand, az as runDashboardStartCliCommand, aA as runDashboardStatusCliCommand, aB as runDashboardStopCliCommand, aC as runGraphHealthCliCommand, aD as runHarmonicSearchCliCommand, aE as runMemoryActionAuditCliCommand, aF as runMemoryGovernanceCliCommand, aG as runMemoryGovernanceReportCliCommand, aH as runMemoryGovernanceRestoreCliCommand, aI as runMemoryReviewDispositionCliCommand, aJ as runMemoryTimelineCliCommand, aK as runMigrateNormalizeFrontmatterCliCommand, aL as runMigrateObservationsCliCommand, aM as runMigrateRechunkCliCommand, aN as runMigrateReextractCliCommand, aO as runMigrateRescoreImportanceCliCommand, aP as runObjectiveStateStatusCliCommand, aQ as runPolicyDiffCliCommand, aR as runPolicyRollbackCliCommand, aS as runPolicyStatusCliCommand, aT as runRebuildMemoryLifecycleLedgerCliCommand, aU as runRebuildMemoryProjectionCliCommand, aV as runRebuildObservationsCliCommand, aW as runRepairMemoryProjectionCliCommand, aX as runReplayCliCommand, aY as runResumeBundleBuildCliCommand, aZ as runResumeBundleRecordCliCommand, a_ as runResumeBundleStatusCliCommand, a$ as runRouteCliCommand, b0 as runSemanticRulePromoteCliCommand, b1 as runSemanticRuleVerifyCliCommand, b2 as runSessionCheckCliCommand, b3 as runSessionRepairCliCommand, b4 as runTailscaleStatusCliCommand, b5 as runTailscaleSyncCliCommand, b6 as runTierMigrateCliCommand, b7 as runTierStatusCliCommand, b8 as runTrainingExportCliCommand, b9 as runTrustZoneDemoSeedCliCommand, ba as runTrustZonePromoteCliCommand, bb as runTrustZoneStatusCliCommand, bc as runUtilityLearningCliCommand, bd as runUtilityLearningStatusCliCommand, be as runUtilityTelemetryRecordCliCommand, bf as runUtilityTelemetryStatusCliCommand, bg as runVerifiedRecallSearchCliCommand, bh as runVerifyMemoryProjectionCliCommand, bi as runWebDavServeCliCommand, bj as runWebDavStopCliCommand, bk as runWorkProductRecallSearchCliCommand, bl as runWorkProductRecordCliCommand, bm as runWorkProductStatusCliCommand, bn as runWorkProjectCliCommand, bo as runWorkTaskCliCommand } from './cli-BBHDtG36.js';
15
15
  import './work/types.js';
16
16
  import './routing/engine.js';
17
17
  import './network/tailscale.js';
18
18
  import './dashboard-runtime.js';
19
- import './access-service-CiJRsgAB.js';
19
+ import './access-service-CsU-ljFD.js';
20
20
  import './resolve-auth-token.js';
21
21
  import './compat/types.js';
22
22
  import './evals.js';
@@ -37,7 +37,7 @@ import './objective-state.js';
37
37
  import './trust-zones.js';
38
38
  import './session-integrity.js';
39
39
  import './recall-state.js';
40
- import './storage-F9FVh-w9.js';
40
+ import './storage-DfjxusTE.js';
41
41
  import './connectors-cli-2iaQ5tX2.js';
42
42
  import './policy-runtime.js';
43
43
  import './shared-context/manager.js';
@@ -45,6 +45,7 @@ import 'zod';
45
45
  import './message-parts/index.js';
46
46
  import './bounded-jsonl-state.js';
47
47
  import './operator-doctor-types.js';
48
+ import './external-wiki-config.js';
48
49
  import './types-continuity.js';
49
50
  import './capabilities.js';
50
51
  import './entity-id-normalization.js';
@@ -69,14 +70,14 @@ import './fallback-llm.js';
69
70
  import './resolve-provider-secret.js';
70
71
  import './transcript.js';
71
72
  import './summarizer.js';
72
- import './maintenance-LbuS2rUA.js';
73
- import './catalog-scBmy0sO.js';
73
+ import './maintenance-D2mveyCd.js';
74
+ import './catalog-bctMURhN.js';
74
75
  import './namespaces/search.js';
75
76
  import './utility-runtime.js';
76
77
  import './tier-routing.js';
77
78
  import './lifecycle.js';
78
79
  import './orchestration/compression-guideline-coordinator.js';
79
- import './semantic-consolidation-dHYCyqgh.js';
80
+ import './semantic-consolidation-D4KAZO2G.js';
80
81
  import './connectors/codex-materialize.js';
81
82
  import './logger.js';
82
83
  import './embedding-fallback.js';
@@ -89,7 +90,7 @@ import './trust-score.js';
89
90
  import './boxes.js';
90
91
  import './namespaces/storage.js';
91
92
  import './threading.js';
92
- import './scope-profiles-BiQKOE-p.js';
93
+ import './scope-profiles-BJzp2F5A.js';
93
94
  import './recall-xray.js';
94
95
  import './memory-provenance.js';
95
96
  import './user-model.js';
@@ -100,7 +101,7 @@ import './relevance.js';
100
101
  import './negative.js';
101
102
  import './session-observer-state.js';
102
103
  import './semantic-TddhF0y7.js';
103
- import './service-DJG3KCQ4.js';
104
+ import './service-BeDxSqE-.js';
104
105
  import './extraction-judge.js';
105
106
  import './lcm/engine.js';
106
107
  import './lcm/archive.js';
@@ -109,7 +110,7 @@ import './lcm/dag.js';
109
110
  import './lcm/recall.js';
110
111
  import './lcm/queue.js';
111
112
  import './maintenance/rebuild-memory-lifecycle-ledger.js';
112
- import './access-namespace-preflight-5yZ4g6F8.js';
113
+ import './access-namespace-preflight-CWUDwB4M.js';
113
114
  import './access-token-capabilities.js';
114
115
  import 'node:async_hooks';
115
116
  import './types-B1VHaf2w.js';
@@ -130,5 +131,8 @@ import './transfer/types.js';
130
131
  import './transfer/capsule-export.js';
131
132
  import './capsule-cli.js';
132
133
  import './offline-sync.js';
134
+ import './access-offline-manifest.js';
135
+ import './reconcile/manifest.js';
136
+ import './reconcile/plan.js';
133
137
  import './action-confidence.js';
134
138
  import './access-errors.js';