@remnic/core 9.66.8 → 9.66.9

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 (451) hide show
  1. package/dist/access-admin-ops-surface.d.ts +11 -11
  2. package/dist/access-admin-ops-surface.js +20 -20
  3. package/dist/access-authorization-probe.d.ts +11 -11
  4. package/dist/access-authorization-probe.js +21 -21
  5. package/dist/access-boundary.d.ts +11 -11
  6. package/dist/access-boundary.js +20 -20
  7. package/dist/access-cli.js +68 -67
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +11 -11
  11. package/dist/access-extraction-force-flush.js +20 -20
  12. package/dist/access-health-types.d.ts +1 -1
  13. package/dist/access-http-lcm-compaction.d.ts +11 -11
  14. package/dist/access-http-lifecycle-flush.d.ts +11 -11
  15. package/dist/access-http-offline-stream.d.ts +11 -11
  16. package/dist/access-http-query.d.ts +2 -2
  17. package/dist/access-http-query.js +22 -22
  18. package/dist/access-http.d.ts +12 -12
  19. package/dist/access-http.js +34 -34
  20. package/dist/access-identity-continuity-surface.d.ts +9 -9
  21. package/dist/access-identity-continuity-surface.js +20 -20
  22. package/dist/access-lcm-surface.d.ts +11 -11
  23. package/dist/access-lcm-surface.js +20 -20
  24. package/dist/access-mcp-output-schemas.js +1 -1
  25. package/dist/access-mcp.d.ts +11 -11
  26. package/dist/access-mcp.js +28 -28
  27. package/dist/access-memory-search-fanout.d.ts +2 -2
  28. package/dist/{access-namespace-preflight-50VIkPhB.d.ts → access-namespace-preflight-S8fhQcCo.d.ts} +1 -1
  29. package/dist/access-namespace-preflight.d.ts +3 -3
  30. package/dist/access-namespace-preflight.js +20 -20
  31. package/dist/access-observe-write-surface.d.ts +11 -11
  32. package/dist/access-observe-write-surface.js +20 -20
  33. package/dist/access-offline-manifest.d.ts +9 -9
  34. package/dist/access-operations-batch.js +21 -21
  35. package/dist/access-operations.d.ts +16 -16
  36. package/dist/access-operations.js +26 -26
  37. package/dist/access-recall-concurrency.d.ts +11 -11
  38. package/dist/access-recall-concurrency.js +20 -20
  39. package/dist/access-recall-response.d.ts +11 -11
  40. package/dist/access-recall-response.js +20 -20
  41. package/dist/access-recall-surface.d.ts +11 -11
  42. package/dist/access-recall-surface.js +20 -20
  43. package/dist/access-schema.d.ts +89 -89
  44. package/dist/{access-service-C2tV2-uL.d.ts → access-service-DcfM0Vf0.d.ts} +71 -71
  45. package/dist/access-service-helpers.d.ts +11 -11
  46. package/dist/access-service.d.ts +11 -11
  47. package/dist/access-service.js +20 -20
  48. package/dist/access-surface-catalog.d.ts +11 -11
  49. package/dist/access-surface-catalog.js +22 -22
  50. package/dist/access-wearables-meetings-surface.d.ts +3 -3
  51. package/dist/action-confidence.d.ts +1 -1
  52. package/dist/active-memory-bridge.d.ts +1 -1
  53. package/dist/active-recall.d.ts +1 -1
  54. package/dist/active-recall.js +2 -2
  55. package/dist/ambient-provenance.d.ts +1 -1
  56. package/dist/artifact-search.d.ts +1 -1
  57. package/dist/behavior-learner.d.ts +1 -1
  58. package/dist/behavior-signals.d.ts +1 -1
  59. package/dist/bootstrap.d.ts +9 -9
  60. package/dist/briefing-window.d.ts +2 -2
  61. package/dist/briefing.d.ts +2 -2
  62. package/dist/briefing.js +9 -9
  63. package/dist/buffer-surprise-report.d.ts +1 -1
  64. package/dist/buffer-turn-helpers.d.ts +1 -1
  65. package/dist/buffer.d.ts +2 -2
  66. package/dist/buffer.js +4 -4
  67. package/dist/bulk-import/index.d.ts +3 -3
  68. package/dist/calibration.d.ts +1 -1
  69. package/dist/capabilities.d.ts +1 -1
  70. package/dist/{catalog-C2jA-gLm.d.ts → catalog-BmBXTtOs.d.ts} +1 -1
  71. package/dist/causal-behavior.d.ts +1 -1
  72. package/dist/causal-consolidation.d.ts +1 -1
  73. package/dist/causal-consolidation.js +10 -10
  74. package/dist/causal-trajectory-graph.d.ts +1 -1
  75. package/dist/{chunk-LWI43S46.js → chunk-23F7HGBV.js} +1 -1
  76. package/dist/{chunk-BDGWA5GK.js → chunk-3HHLOKKU.js} +2 -2
  77. package/dist/{chunk-FNK4KIYR.js → chunk-47BX23NA.js} +2 -2
  78. package/dist/{chunk-GO657WPH.js → chunk-52I6AHO6.js} +2 -2
  79. package/dist/{chunk-KKGWB2LG.js → chunk-5CSKIWEB.js} +3 -3
  80. package/dist/{chunk-EKUABFXQ.js → chunk-5GZ6UWY5.js} +6 -6
  81. package/dist/{chunk-MWLBRFLY.js → chunk-5KVMT25I.js} +2 -2
  82. package/dist/{chunk-6BYJQ3L2.js → chunk-5NZIRM4Q.js} +5 -5
  83. package/dist/{chunk-UMSTKKMV.js → chunk-7JPKRZD5.js} +2 -2
  84. package/dist/{chunk-UMZUKOJU.js → chunk-A7GQBJP5.js} +7 -2
  85. package/dist/chunk-A7GQBJP5.js.map +1 -0
  86. package/dist/{chunk-VYIPVLRX.js → chunk-AAJK3PZ6.js} +2 -2
  87. package/dist/{chunk-OERZXNSK.js → chunk-B3TZLAO4.js} +2 -2
  88. package/dist/{chunk-C24UZSFW.js → chunk-CEH2AFXG.js} +6 -6
  89. package/dist/{chunk-S63O62DN.js → chunk-CIWOW2FH.js} +2 -2
  90. package/dist/{chunk-IE7N2YK6.js → chunk-CNZVEU4X.js} +2 -2
  91. package/dist/{chunk-5UP5R37C.js → chunk-DGKVUPBM.js} +3 -3
  92. package/dist/{chunk-2YDU4VR7.js → chunk-FNYVWAIK.js} +18 -18
  93. package/dist/{chunk-XSPVSEAN.js → chunk-FUPIAP6Q.js} +3 -3
  94. package/dist/{chunk-5IYJWCLC.js → chunk-G3TUQJFU.js} +2 -2
  95. package/dist/{chunk-K7NUAY36.js → chunk-G775FE2E.js} +8 -8
  96. package/dist/{chunk-NEWY74GS.js → chunk-GB4R6B5M.js} +2 -2
  97. package/dist/{chunk-RI4CMRTZ.js → chunk-HWWGPS2N.js} +2 -2
  98. package/dist/{chunk-I2TIUGLC.js → chunk-IBHUZEKL.js} +2 -2
  99. package/dist/{chunk-NEDBOZ7G.js → chunk-J67E4JNT.js} +2 -2
  100. package/dist/{chunk-XUKS57W7.js → chunk-JHU543UU.js} +2 -2
  101. package/dist/{chunk-XDUQR5R7.js → chunk-JVGBDNXA.js} +2 -2
  102. package/dist/{chunk-IGOINKTD.js → chunk-K4E3Y3ZX.js} +2 -2
  103. package/dist/chunk-K4E3Y3ZX.js.map +1 -0
  104. package/dist/{chunk-GUG4LW4I.js → chunk-KIJCXLW7.js} +2 -2
  105. package/dist/{chunk-AVYNKPFS.js → chunk-KVXMN33W.js} +4 -4
  106. package/dist/chunk-LD72P4YS.js +29 -0
  107. package/dist/chunk-LD72P4YS.js.map +1 -0
  108. package/dist/chunk-LTDN5WYF.js +202 -0
  109. package/dist/chunk-LTDN5WYF.js.map +1 -0
  110. package/dist/{chunk-FI6FT6YX.js → chunk-MBDUNO7J.js} +2 -2
  111. package/dist/{chunk-MBXTGOFR.js → chunk-MFI4QPW5.js} +2 -2
  112. package/dist/{chunk-UJICQ77Y.js → chunk-MK7EJLB4.js} +2 -2
  113. package/dist/{chunk-UOQZOV2J.js → chunk-NABJLNLU.js} +64 -32
  114. package/dist/chunk-NABJLNLU.js.map +1 -0
  115. package/dist/{chunk-X32ALJQB.js → chunk-NSP3HFJZ.js} +2 -2
  116. package/dist/{chunk-6ULLVM2V.js → chunk-OJSCH7QT.js} +8 -8
  117. package/dist/{chunk-MFIFCXS3.js → chunk-OT7WQ2I3.js} +2 -2
  118. package/dist/{chunk-XVCYV7WQ.js → chunk-Q3UMNZRK.js} +3 -3
  119. package/dist/{chunk-O2RJZR6J.js → chunk-Q5YKVBIV.js} +2 -2
  120. package/dist/{chunk-KMPEBHH5.js → chunk-QU2V4IO3.js} +2 -2
  121. package/dist/{chunk-SVATDJNY.js → chunk-RF3LMSQW.js} +2 -2
  122. package/dist/{chunk-OMA2B7GY.js → chunk-RLEJULGN.js} +2 -2
  123. package/dist/{chunk-KH2LZMD5.js → chunk-SJ5L4ZZX.js} +2 -2
  124. package/dist/{chunk-2MYBDWUY.js → chunk-SOQLXIQX.js} +2 -2
  125. package/dist/{chunk-2V4YPDIX.js → chunk-SRILZVR4.js} +2 -2
  126. package/dist/{chunk-5S6TQ36T.js → chunk-TEJKBBWS.js} +10 -10
  127. package/dist/{chunk-5S6TQ36T.js.map → chunk-TEJKBBWS.js.map} +1 -1
  128. package/dist/{chunk-AZLSFKGU.js → chunk-TKSBOV7N.js} +5 -5
  129. package/dist/{chunk-YSYHSZWD.js → chunk-TWMGWLHD.js} +2 -2
  130. package/dist/{chunk-QK375NXZ.js → chunk-UAWSKMWQ.js} +2 -2
  131. package/dist/{chunk-FY62KW6Q.js → chunk-VCYY7XEL.js} +2 -2
  132. package/dist/{chunk-46XR5FNZ.js → chunk-VSWRJQQW.js} +31 -5
  133. package/dist/chunk-VSWRJQQW.js.map +1 -0
  134. package/dist/{chunk-6ZRLH4VS.js → chunk-VX5YHEGJ.js} +3 -3
  135. package/dist/{chunk-RPHCLGQ7.js → chunk-XVNDP3RO.js} +2 -2
  136. package/dist/{chunk-XORZMKVF.js → chunk-ZC5L6ME2.js} +3 -3
  137. package/dist/{chunk-7X63THIR.js → chunk-ZJGHOPEO.js} +28 -28
  138. package/dist/{chunk-ULTK4NZY.js → chunk-ZVUGRXSY.js} +2 -2
  139. package/dist/{cli-CsfFMe6n.d.ts → cli-CFpMhqz5.d.ts} +5 -5
  140. package/dist/cli.d.ts +13 -13
  141. package/dist/cli.js +51 -51
  142. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  143. package/dist/coding/export-okf-codegraph.js +9 -9
  144. package/dist/coding/pre-action-gate.d.ts +1 -1
  145. package/dist/compounding/engine.d.ts +2 -2
  146. package/dist/compounding/engine.js +9 -9
  147. package/dist/compounding/preference-consolidator.d.ts +1 -1
  148. package/dist/compression-optimizer.d.ts +1 -1
  149. package/dist/config.d.ts +1 -1
  150. package/dist/config.js +2 -2
  151. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  152. package/dist/connectors/codex-materialize-runner.js +9 -9
  153. package/dist/connectors/codex-materialize.d.ts +1 -1
  154. package/dist/connectors/index.d.ts +1 -1
  155. package/dist/connectors/index.js +9 -9
  156. package/dist/consolidation-provenance-check.d.ts +2 -2
  157. package/dist/consolidation-undo.d.ts +2 -2
  158. package/dist/contradiction/index.d.ts +3 -3
  159. package/dist/converge-config.d.ts +1 -1
  160. package/dist/convergence-refresh.d.ts +2 -2
  161. package/dist/convergence-refresh.js +11 -11
  162. package/dist/conversation-index/backend.d.ts +1 -1
  163. package/dist/conversation-index/chunker.d.ts +1 -1
  164. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  165. package/dist/conversation-index/indexer.d.ts +1 -1
  166. package/dist/conversation-index/search.d.ts +1 -1
  167. package/dist/corpus-watermark.d.ts +1 -1
  168. package/dist/corpus-watermark.js +11 -11
  169. package/dist/cross-lingual-recall.d.ts +1 -1
  170. package/dist/day-summary.d.ts +1 -1
  171. package/dist/delinearize.d.ts +1 -1
  172. package/dist/dependency-propagation-config.d.ts +1 -1
  173. package/dist/{dependency-propagation-delivery-D4WMbOwA.d.ts → dependency-propagation-delivery-BC3bCEet.d.ts} +1 -1
  174. package/dist/direct-answer-wiring.d.ts +1 -1
  175. package/dist/direct-answer.d.ts +1 -1
  176. package/dist/embedding-fallback.d.ts +1 -1
  177. package/dist/enrichment/index.d.ts +1 -1
  178. package/dist/entity-origin-fields.d.ts +1 -1
  179. package/dist/entity-retrieval.d.ts +2 -2
  180. package/dist/entity-retrieval.js +9 -9
  181. package/dist/entity-schema.d.ts +1 -1
  182. package/dist/episodic-context.d.ts +1 -1
  183. package/dist/eval-trajectory-contracts.d.ts +1 -1
  184. package/dist/eval-trajectory-store.d.ts +1 -1
  185. package/dist/eval-trajectory.d.ts +1 -1
  186. package/dist/explicit-capture.d.ts +9 -9
  187. package/dist/external-wiki-access.d.ts +11 -11
  188. package/dist/external-wiki-access.js +21 -21
  189. package/dist/external-wiki-collection-registration.d.ts +1 -1
  190. package/dist/external-wiki-collection.d.ts +1 -1
  191. package/dist/external-wiki-mcp-tools.d.ts +11 -11
  192. package/dist/extraction-error-classification.d.ts +1 -1
  193. package/dist/extraction-faithfulness.d.ts +1 -1
  194. package/dist/extraction-judge-telemetry.d.ts +1 -1
  195. package/dist/extraction-judge-training.d.ts +1 -1
  196. package/dist/extraction-judge.d.ts +1 -1
  197. package/dist/extraction-liveness.d.ts +1 -1
  198. package/dist/extraction-normalization.d.ts +1 -1
  199. package/dist/extraction-prompt.d.ts +1 -1
  200. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  201. package/dist/extraction-source-grounding.d.ts +1 -1
  202. package/dist/extraction.d.ts +1 -1
  203. package/dist/extraction.js +12 -12
  204. package/dist/fallback-llm.d.ts +1 -1
  205. package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-UG32BSG2.js} +4 -4
  206. package/dist/graph-dashboard-diff.d.ts +1 -1
  207. package/dist/graph-dashboard-key.d.ts +1 -1
  208. package/dist/graph-dashboard-parser.d.ts +1 -1
  209. package/dist/graph-edge-reinforcement.d.ts +1 -1
  210. package/dist/graph-path-reconstruction.d.ts +1 -1
  211. package/dist/graph-path-scoring.d.ts +1 -1
  212. package/dist/graph-snapshot.d.ts +1 -1
  213. package/dist/graph.d.ts +1 -1
  214. package/dist/harmonic-retrieval.js +1 -1
  215. package/dist/importance.d.ts +1 -1
  216. package/dist/importers/index.d.ts +1 -1
  217. package/dist/in-flight-reads.d.ts +1 -1
  218. package/dist/{index-DuJnzwHv.d.ts → index-D4hS9uxK.d.ts} +2 -2
  219. package/dist/index.d.ts +719 -700
  220. package/dist/index.js +79 -76
  221. package/dist/intent.d.ts +1 -1
  222. package/dist/lcm/engine.d.ts +1 -1
  223. package/dist/lcm/engine.js +2 -1
  224. package/dist/lcm/index.d.ts +1 -1
  225. package/dist/lcm/index.js +5 -4
  226. package/dist/lcm/tools.d.ts +1 -1
  227. package/dist/lifecycle.d.ts +1 -1
  228. package/dist/live-connectors-runner.d.ts +1 -1
  229. package/dist/local-llm.d.ts +1 -1
  230. package/dist/local-model-endpoint.d.ts +1 -1
  231. package/dist/location/index.d.ts +3 -3
  232. package/dist/location/index.js +11 -11
  233. package/dist/maintenance/memory-governance.d.ts +1 -1
  234. package/dist/maintenance/memory-governance.js +9 -9
  235. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  236. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -9
  237. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  238. package/dist/maintenance/rebuild-memory-projection.js +10 -10
  239. package/dist/{maintenance-BBeaeYRR.d.ts → maintenance-BRcc3Hx8.d.ts} +3 -3
  240. package/dist/mcp-memory-inspector-app.d.ts +11 -11
  241. package/dist/memory-action-policy.d.ts +1 -1
  242. package/dist/memory-cache.d.ts +1 -1
  243. package/dist/memory-controller.d.ts +1 -1
  244. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  245. package/dist/memory-projection-store.d.ts +1 -1
  246. package/dist/memory-provenance.d.ts +1 -1
  247. package/dist/memory-snapshot.d.ts +1 -1
  248. package/dist/memory-subject-cli.d.ts +11 -11
  249. package/dist/memory-subject.d.ts +11 -11
  250. package/dist/memory-worth-outcomes.d.ts +2 -2
  251. package/dist/models-json.d.ts +1 -1
  252. package/dist/namespaces/migrate.d.ts +3 -3
  253. package/dist/namespaces/migrate.js +10 -10
  254. package/dist/namespaces/principal.d.ts +1 -1
  255. package/dist/namespaces/search.d.ts +1 -1
  256. package/dist/namespaces/search.js +6 -6
  257. package/dist/namespaces/storage.d.ts +3 -3
  258. package/dist/namespaces/storage.js +9 -9
  259. package/dist/native-binding-hint.d.ts +24 -0
  260. package/dist/native-binding-hint.js +10 -0
  261. package/dist/native-binding-hint.js.map +1 -0
  262. package/dist/native-knowledge.d.ts +1 -1
  263. package/dist/offline-sync-impression-drain.d.ts +1 -1
  264. package/dist/operator-doctor-corpus.d.ts +1 -1
  265. package/dist/operator-doctor-corpus.js +12 -12
  266. package/dist/operator-doctor-replica.d.ts +1 -1
  267. package/dist/operator-toolkit.d.ts +3 -3
  268. package/dist/operator-toolkit.js +19 -19
  269. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  270. package/dist/orchestration/maintenance.d.ts +4 -4
  271. package/dist/orchestration/maintenance.js +18 -18
  272. package/dist/{orchestrator-CaqnwNwM.d.ts → orchestrator-Btq9lzAN.d.ts} +8 -8
  273. package/dist/orchestrator.d.ts +9 -9
  274. package/dist/orchestrator.js +68 -67
  275. package/dist/patterns-cli.d.ts +1 -1
  276. package/dist/{pipeline-CrxVjlJr.d.ts → pipeline-CZoNdFb5.d.ts} +1 -1
  277. package/dist/policy-runtime.d.ts +1 -1
  278. package/dist/proactive-contention.d.ts +1 -1
  279. package/dist/provenance.d.ts +1 -1
  280. package/dist/{public-http-Cwvl4QZr.d.ts → public-http-C9-CHc40.d.ts} +1 -1
  281. package/dist/{qmd-BZgbJm0g.d.ts → qmd-VIjSCKIE.d.ts} +1 -1
  282. package/dist/qmd-preflight.d.ts +2 -2
  283. package/dist/qmd-recall-cache.d.ts +1 -1
  284. package/dist/qmd.d.ts +2 -2
  285. package/dist/qmd.js +4 -4
  286. package/dist/recall-concurrency-config.d.ts +1 -1
  287. package/dist/recall-disclosure-escalation.d.ts +1 -1
  288. package/dist/recall-explain-renderer.d.ts +1 -1
  289. package/dist/recall-memory-map.d.ts +1 -1
  290. package/dist/recall-navigate-access.d.ts +1 -1
  291. package/dist/recall-navigate.d.ts +1 -1
  292. package/dist/recall-planner-llm.d.ts +1 -1
  293. package/dist/recall-state.d.ts +1 -1
  294. package/dist/recall-tag-filter.d.ts +1 -1
  295. package/dist/recall-timings.d.ts +1 -1
  296. package/dist/recall-xray-cli.d.ts +1 -1
  297. package/dist/recall-xray-renderer.d.ts +1 -1
  298. package/dist/recall-xray.d.ts +1 -1
  299. package/dist/reconcile/cursor.d.ts +1 -1
  300. package/dist/reconcile/manifest.d.ts +1 -1
  301. package/dist/reconcile/plan.d.ts +1 -1
  302. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  303. package/dist/replay/normalizers/claude.d.ts +1 -1
  304. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  305. package/dist/replay/normalizers/shared.d.ts +1 -1
  306. package/dist/replay/runner.d.ts +1 -1
  307. package/dist/replay/types.d.ts +1 -1
  308. package/dist/replica-divergence.d.ts +1 -1
  309. package/dist/replica-peers-config.d.ts +1 -1
  310. package/dist/resolve-auth-token.d.ts +1 -1
  311. package/dist/resume-bundles.js +3 -3
  312. package/dist/retrieval-agents.d.ts +2 -2
  313. package/dist/retrieval-tiers.d.ts +1 -1
  314. package/dist/routing/engine.d.ts +1 -1
  315. package/dist/routing/store.d.ts +1 -1
  316. package/dist/salvage-envelope.d.ts +1 -1
  317. package/dist/schemas.d.ts +176 -176
  318. package/dist/{scope-profiles-DFaojvoP.d.ts → scope-profiles-DqbxQXIS.d.ts} +1 -1
  319. package/dist/search/embed-helper.d.ts +1 -1
  320. package/dist/search/factory.d.ts +1 -1
  321. package/dist/search/factory.js +5 -5
  322. package/dist/search/index.d.ts +1 -1
  323. package/dist/search/index.js +9 -9
  324. package/dist/search/lancedb-backend.d.ts +1 -1
  325. package/dist/search/meilisearch-backend.d.ts +1 -1
  326. package/dist/search/noop-backend.d.ts +1 -1
  327. package/dist/search/orama-backend.d.ts +1 -1
  328. package/dist/search/port.d.ts +1 -1
  329. package/dist/search/remote-backend.d.ts +1 -1
  330. package/dist/{semantic-consolidation-BiX68wZA.d.ts → semantic-consolidation-DW3rEUoW.d.ts} +1 -1
  331. package/dist/semantic-consolidation.d.ts +2 -2
  332. package/dist/semantic-consolidation.js +10 -10
  333. package/dist/semantic-rule-promotion.js +9 -9
  334. package/dist/semantic-rule-verifier.d.ts +1 -1
  335. package/dist/semantic-rule-verifier.js +9 -9
  336. package/dist/{service-D5h2zZ0M.d.ts → service-B2vJU_Bx.d.ts} +2 -2
  337. package/dist/session-observer-bands.d.ts +1 -1
  338. package/dist/session-observer-state.d.ts +1 -1
  339. package/dist/shared-context/manager.d.ts +7 -7
  340. package/dist/signal.d.ts +1 -1
  341. package/dist/source-agent-qualifier.d.ts +1 -1
  342. package/dist/source-agent-qualifier.js +11 -11
  343. package/dist/standup/build.d.ts +9 -3
  344. package/dist/standup/build.js +99 -7
  345. package/dist/{storage-CtsaojWD.d.ts → storage-6fn7BPmb.d.ts} +1 -1
  346. package/dist/storage.d.ts +2 -2
  347. package/dist/storage.js +8 -8
  348. package/dist/subject-config.d.ts +1 -1
  349. package/dist/summarizer.d.ts +1 -1
  350. package/dist/summary-snapshot.d.ts +1 -1
  351. package/dist/support-passport/index.d.ts +14 -14
  352. package/dist/support-passport/index.js +23 -23
  353. package/dist/temporal-supersession.d.ts +2 -2
  354. package/dist/temporal-timeline-recall.d.ts +1 -1
  355. package/dist/temporal-validity.d.ts +1 -1
  356. package/dist/threading.d.ts +1 -1
  357. package/dist/tier-migration.d.ts +2 -2
  358. package/dist/tier-routing.d.ts +1 -1
  359. package/dist/topics.d.ts +1 -1
  360. package/dist/transcript.d.ts +1 -1
  361. package/dist/transfer/export-okf.d.ts +1 -1
  362. package/dist/transfer/export-okf.js +10 -10
  363. package/dist/transfer/types.d.ts +78 -78
  364. package/dist/trust-score-stage.d.ts +1 -1
  365. package/dist/trust-score.d.ts +1 -1
  366. package/dist/{types-CIpfYz1I.d.ts → types-eM7QIcX2.d.ts} +4 -0
  367. package/dist/types.d.ts +1 -1
  368. package/dist/utility-runtime.d.ts +1 -1
  369. package/dist/verified-recall.js +9 -9
  370. package/dist/who-knows-cli.d.ts +11 -11
  371. package/dist/who-knows-cli.js +10 -10
  372. package/dist/who-knows.d.ts +11 -11
  373. package/dist/who-knows.js +9 -9
  374. package/dist/write-envelope.d.ts +1 -1
  375. package/package.json +2 -2
  376. package/scripts/ensure-better-sqlite3.mjs +10 -0
  377. package/src/access-mcp-output-schemas.ts +1 -1
  378. package/src/activity/config.test.ts +1 -1
  379. package/src/activity/config.ts +20 -4
  380. package/src/activity/journal.test.ts +40 -0
  381. package/src/activity/timeline/index.ts +1 -0
  382. package/src/activity/timeline/recap-window.test.ts +129 -0
  383. package/src/activity/timeline/recap-window.ts +55 -0
  384. package/src/activity/types.ts +4 -0
  385. package/src/config.test.ts +1 -1
  386. package/src/dedup/index.ts +7 -0
  387. package/src/dedup/merge-decision.test.ts +157 -0
  388. package/src/dedup/merge-decision.ts +78 -0
  389. package/src/lcm/engine.ts +4 -1
  390. package/src/native-binding-hint.test.ts +38 -0
  391. package/src/native-binding-hint.ts +51 -0
  392. package/src/standup/build.test.ts +138 -12
  393. package/src/standup/build.ts +172 -23
  394. package/src/standup/http-glue.ts +1 -1
  395. package/dist/chunk-46XR5FNZ.js.map +0 -1
  396. package/dist/chunk-IGOINKTD.js.map +0 -1
  397. package/dist/chunk-UMZUKOJU.js.map +0 -1
  398. package/dist/chunk-UOQZOV2J.js.map +0 -1
  399. package/dist/chunk-VOSWUO3K.js +0 -100
  400. package/dist/chunk-VOSWUO3K.js.map +0 -1
  401. /package/dist/{chunk-LWI43S46.js.map → chunk-23F7HGBV.js.map} +0 -0
  402. /package/dist/{chunk-BDGWA5GK.js.map → chunk-3HHLOKKU.js.map} +0 -0
  403. /package/dist/{chunk-FNK4KIYR.js.map → chunk-47BX23NA.js.map} +0 -0
  404. /package/dist/{chunk-GO657WPH.js.map → chunk-52I6AHO6.js.map} +0 -0
  405. /package/dist/{chunk-KKGWB2LG.js.map → chunk-5CSKIWEB.js.map} +0 -0
  406. /package/dist/{chunk-EKUABFXQ.js.map → chunk-5GZ6UWY5.js.map} +0 -0
  407. /package/dist/{chunk-MWLBRFLY.js.map → chunk-5KVMT25I.js.map} +0 -0
  408. /package/dist/{chunk-6BYJQ3L2.js.map → chunk-5NZIRM4Q.js.map} +0 -0
  409. /package/dist/{chunk-UMSTKKMV.js.map → chunk-7JPKRZD5.js.map} +0 -0
  410. /package/dist/{chunk-VYIPVLRX.js.map → chunk-AAJK3PZ6.js.map} +0 -0
  411. /package/dist/{chunk-OERZXNSK.js.map → chunk-B3TZLAO4.js.map} +0 -0
  412. /package/dist/{chunk-C24UZSFW.js.map → chunk-CEH2AFXG.js.map} +0 -0
  413. /package/dist/{chunk-S63O62DN.js.map → chunk-CIWOW2FH.js.map} +0 -0
  414. /package/dist/{chunk-IE7N2YK6.js.map → chunk-CNZVEU4X.js.map} +0 -0
  415. /package/dist/{chunk-5UP5R37C.js.map → chunk-DGKVUPBM.js.map} +0 -0
  416. /package/dist/{chunk-2YDU4VR7.js.map → chunk-FNYVWAIK.js.map} +0 -0
  417. /package/dist/{chunk-XSPVSEAN.js.map → chunk-FUPIAP6Q.js.map} +0 -0
  418. /package/dist/{chunk-5IYJWCLC.js.map → chunk-G3TUQJFU.js.map} +0 -0
  419. /package/dist/{chunk-K7NUAY36.js.map → chunk-G775FE2E.js.map} +0 -0
  420. /package/dist/{chunk-NEWY74GS.js.map → chunk-GB4R6B5M.js.map} +0 -0
  421. /package/dist/{chunk-RI4CMRTZ.js.map → chunk-HWWGPS2N.js.map} +0 -0
  422. /package/dist/{chunk-I2TIUGLC.js.map → chunk-IBHUZEKL.js.map} +0 -0
  423. /package/dist/{chunk-NEDBOZ7G.js.map → chunk-J67E4JNT.js.map} +0 -0
  424. /package/dist/{chunk-XUKS57W7.js.map → chunk-JHU543UU.js.map} +0 -0
  425. /package/dist/{chunk-XDUQR5R7.js.map → chunk-JVGBDNXA.js.map} +0 -0
  426. /package/dist/{chunk-GUG4LW4I.js.map → chunk-KIJCXLW7.js.map} +0 -0
  427. /package/dist/{chunk-AVYNKPFS.js.map → chunk-KVXMN33W.js.map} +0 -0
  428. /package/dist/{chunk-FI6FT6YX.js.map → chunk-MBDUNO7J.js.map} +0 -0
  429. /package/dist/{chunk-MBXTGOFR.js.map → chunk-MFI4QPW5.js.map} +0 -0
  430. /package/dist/{chunk-UJICQ77Y.js.map → chunk-MK7EJLB4.js.map} +0 -0
  431. /package/dist/{chunk-X32ALJQB.js.map → chunk-NSP3HFJZ.js.map} +0 -0
  432. /package/dist/{chunk-6ULLVM2V.js.map → chunk-OJSCH7QT.js.map} +0 -0
  433. /package/dist/{chunk-MFIFCXS3.js.map → chunk-OT7WQ2I3.js.map} +0 -0
  434. /package/dist/{chunk-XVCYV7WQ.js.map → chunk-Q3UMNZRK.js.map} +0 -0
  435. /package/dist/{chunk-O2RJZR6J.js.map → chunk-Q5YKVBIV.js.map} +0 -0
  436. /package/dist/{chunk-KMPEBHH5.js.map → chunk-QU2V4IO3.js.map} +0 -0
  437. /package/dist/{chunk-SVATDJNY.js.map → chunk-RF3LMSQW.js.map} +0 -0
  438. /package/dist/{chunk-OMA2B7GY.js.map → chunk-RLEJULGN.js.map} +0 -0
  439. /package/dist/{chunk-KH2LZMD5.js.map → chunk-SJ5L4ZZX.js.map} +0 -0
  440. /package/dist/{chunk-2MYBDWUY.js.map → chunk-SOQLXIQX.js.map} +0 -0
  441. /package/dist/{chunk-2V4YPDIX.js.map → chunk-SRILZVR4.js.map} +0 -0
  442. /package/dist/{chunk-AZLSFKGU.js.map → chunk-TKSBOV7N.js.map} +0 -0
  443. /package/dist/{chunk-YSYHSZWD.js.map → chunk-TWMGWLHD.js.map} +0 -0
  444. /package/dist/{chunk-QK375NXZ.js.map → chunk-UAWSKMWQ.js.map} +0 -0
  445. /package/dist/{chunk-FY62KW6Q.js.map → chunk-VCYY7XEL.js.map} +0 -0
  446. /package/dist/{chunk-6ZRLH4VS.js.map → chunk-VX5YHEGJ.js.map} +0 -0
  447. /package/dist/{chunk-RPHCLGQ7.js.map → chunk-XVNDP3RO.js.map} +0 -0
  448. /package/dist/{chunk-XORZMKVF.js.map → chunk-ZC5L6ME2.js.map} +0 -0
  449. /package/dist/{chunk-7X63THIR.js.map → chunk-ZJGHOPEO.js.map} +0 -0
  450. /package/dist/{chunk-ULTK4NZY.js.map → chunk-ZVUGRXSY.js.map} +0 -0
  451. /package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-UG32BSG2.js.map} +0 -0
@@ -2,7 +2,7 @@ import { CausalChainIndex } from './causal-chain.js';
2
2
  import { ConsolidatedPreference } from './compounding/preference-consolidator.js';
3
3
  import './causal-trajectory.js';
4
4
  import './objective-state.js';
5
- import './types-CIpfYz1I.js';
5
+ import './types-eM7QIcX2.js';
6
6
  import './message-parts/index.js';
7
7
  import './bounded-jsonl-state.js';
8
8
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { G as GatewayConfig, A as AgentPersonaModelConfig, P as PluginConfig, M as MemoryFile } from './types-CIpfYz1I.js';
1
+ import { G as GatewayConfig, A as AgentPersonaModelConfig, P as PluginConfig, M as MemoryFile } from './types-eM7QIcX2.js';
2
2
  import { RolloutSummaryInput, MaterializeResult } from './connectors/codex-materialize.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -4,27 +4,27 @@ import {
4
4
  } from "./chunk-AWGXR2PV.js";
5
5
  import {
6
6
  buildExtensionsBlockForConsolidation
7
- } from "./chunk-XUKS57W7.js";
7
+ } from "./chunk-JHU543UU.js";
8
8
  import "./chunk-5JMAGU26.js";
9
9
  import "./chunk-B7RWBZXW.js";
10
10
  import {
11
11
  runPostConsolidationMaterialize
12
- } from "./chunk-FI6FT6YX.js";
12
+ } from "./chunk-MBDUNO7J.js";
13
13
  import "./chunk-ZXBTTMGZ.js";
14
- import "./chunk-K7NUAY36.js";
15
- import "./chunk-UHVXE24Y.js";
14
+ import "./chunk-G775FE2E.js";
16
15
  import "./chunk-4ZWCQJNM.js";
16
+ import "./chunk-UHVXE24Y.js";
17
17
  import "./chunk-WVGXCBOC.js";
18
- import "./chunk-OERZXNSK.js";
19
- import "./chunk-6BYJQ3L2.js";
18
+ import "./chunk-B3TZLAO4.js";
19
+ import "./chunk-5NZIRM4Q.js";
20
+ import "./chunk-GIC6BASP.js";
20
21
  import "./chunk-YQNNHLCG.js";
21
22
  import "./chunk-6KTXE6A3.js";
22
23
  import "./chunk-N37X5RU7.js";
23
24
  import "./chunk-NNBZS3DY.js";
24
- import "./chunk-CYEPCZN5.js";
25
- import "./chunk-GIC6BASP.js";
26
25
  import "./chunk-W7IGLX4G.js";
27
26
  import "./chunk-GUMZC2BO.js";
27
+ import "./chunk-CYEPCZN5.js";
28
28
  import "./chunk-227UFSEQ.js";
29
29
  import "./chunk-ET356KSB.js";
30
30
  import "./chunk-72A4L5JJ.js";
@@ -50,10 +50,10 @@ import "./chunk-RBOJCG4T.js";
50
50
  import "./chunk-NNZFPYYX.js";
51
51
  import "./chunk-5WITETWU.js";
52
52
  import "./chunk-6CIAGZ6X.js";
53
- import "./chunk-C24UZSFW.js";
53
+ import "./chunk-CEH2AFXG.js";
54
54
  import "./chunk-JXN77SGO.js";
55
- import "./chunk-ZLQ37WJX.js";
56
55
  import "./chunk-IUM3VSHI.js";
56
+ import "./chunk-ZLQ37WJX.js";
57
57
  import "./chunk-WKAXBXVA.js";
58
58
  import "./chunk-BT7NVCML.js";
59
59
  import "./chunk-C64XATK7.js";
@@ -1,7 +1,7 @@
1
1
  import { a as GraphEdge } from './graph-444E-DrF.js';
2
2
  import { CausalTrajectoryRecord } from './causal-trajectory.js';
3
3
  import './capabilities.js';
4
- import './types-CIpfYz1I.js';
4
+ import './types-eM7QIcX2.js';
5
5
  import './message-parts/index.js';
6
6
  import './bounded-jsonl-state.js';
7
7
  import './operator-doctor-types.js';
@@ -296,4 +296,4 @@ async function searchHarmonicRetrieval(options) {
296
296
  export {
297
297
  searchHarmonicRetrieval
298
298
  };
299
- //# sourceMappingURL=chunk-LWI43S46.js.map
299
+ //# sourceMappingURL=chunk-23F7HGBV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isNamespaceKind
3
- } from "./chunk-MBXTGOFR.js";
3
+ } from "./chunk-MFI4QPW5.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-2Z24E5W2.js";
@@ -40,4 +40,4 @@ export {
40
40
  positiveIntQueryParam,
41
41
  optionalNamespaceKindQueryParam
42
42
  };
43
- //# sourceMappingURL=chunk-BDGWA5GK.js.map
43
+ //# sourceMappingURL=chunk-3HHLOKKU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-XORZMKVF.js";
3
+ } from "./chunk-ZC5L6ME2.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-MZWSOLMT.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-FNK4KIYR.js.map
285
+ //# sourceMappingURL=chunk-47BX23NA.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-NOB2T2FC.js";
12
12
  import {
13
13
  parseConfig
14
- } from "./chunk-GUG4LW4I.js";
14
+ } from "./chunk-KIJCXLW7.js";
15
15
  import {
16
16
  resolveObjectiveStateStoreDir,
17
17
  validateObjectiveStateSnapshot
@@ -268,4 +268,4 @@ export {
268
268
  recordResumeBundle,
269
269
  getResumeBundleStatus
270
270
  };
271
- //# sourceMappingURL=chunk-GO657WPH.js.map
271
+ //# sourceMappingURL=chunk-52I6AHO6.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot
3
- } from "./chunk-MFIFCXS3.js";
3
+ } from "./chunk-OT7WQ2I3.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-K7NUAY36.js";
6
+ } from "./chunk-G775FE2E.js";
7
7
  import {
8
8
  composeLocationDayBody,
9
9
  composeLocationDayMeta,
@@ -728,4 +728,4 @@ export {
728
728
  runLocationBackfill,
729
729
  runLocationCliCommand
730
730
  };
731
- //# sourceMappingURL=chunk-KKGWB2LG.js.map
731
+ //# sourceMappingURL=chunk-5CSKIWEB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startLocationAutoSync
3
- } from "./chunk-S63O62DN.js";
3
+ } from "./chunk-CIWOW2FH.js";
4
4
  import {
5
5
  ensureContradictionScanCron,
6
6
  ensureDaySummaryCron,
@@ -12,17 +12,17 @@ import {
12
12
  } from "./chunk-666A3MOW.js";
13
13
  import {
14
14
  rebuildMemoryLifecycleLedger
15
- } from "./chunk-ULTK4NZY.js";
15
+ } from "./chunk-ZVUGRXSY.js";
16
16
  import {
17
17
  planNamespaceMaintenance,
18
18
  runNamespaceMaintenanceBatchPlan
19
- } from "./chunk-XSPVSEAN.js";
19
+ } from "./chunk-FUPIAP6Q.js";
20
20
  import {
21
21
  rebuildMemoryProjection
22
- } from "./chunk-XVCYV7WQ.js";
22
+ } from "./chunk-Q3UMNZRK.js";
23
23
  import {
24
24
  validateActivityBaseUrl
25
- } from "./chunk-46XR5FNZ.js";
25
+ } from "./chunk-VSWRJQQW.js";
26
26
  import {
27
27
  activityDayWindow,
28
28
  activityDigestPath,
@@ -1742,4 +1742,4 @@ export {
1742
1742
  ActivitySyncScheduler,
1743
1743
  MaintenanceScheduler
1744
1744
  };
1745
- //# sourceMappingURL=chunk-EKUABFXQ.js.map
1745
+ //# sourceMappingURL=chunk-5GZ6UWY5.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-UJICQ77Y.js";
16
+ } from "./chunk-MK7EJLB4.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-MRV7VSQK.js";
@@ -798,4 +798,4 @@ var SmartBuffer = class {
798
798
  export {
799
799
  SmartBuffer
800
800
  };
801
- //# sourceMappingURL=chunk-MWLBRFLY.js.map
801
+ //# sourceMappingURL=chunk-5KVMT25I.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ OramaBackend
3
+ } from "./chunk-GIC6BASP.js";
1
4
  import {
2
5
  RemoteSearchBackend
3
6
  } from "./chunk-YQNNHLCG.js";
@@ -13,9 +16,6 @@ import {
13
16
  import {
14
17
  NoopSearchBackend
15
18
  } from "./chunk-CYEPCZN5.js";
16
- import {
17
- OramaBackend
18
- } from "./chunk-GIC6BASP.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
21
  } from "./chunk-227UFSEQ.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-ET356KSB.js";
25
25
  import {
26
26
  QmdClient
27
- } from "./chunk-C24UZSFW.js";
27
+ } from "./chunk-CEH2AFXG.js";
28
28
  import {
29
29
  resolveIndexingCapabilities,
30
30
  resolvePipelineProcessingCapabilities,
@@ -179,4 +179,4 @@ export {
179
179
  createConversationSearchBackend,
180
180
  createConversationIndexRuntime
181
181
  };
182
- //# sourceMappingURL=chunk-6BYJQ3L2.js.map
182
+ //# sourceMappingURL=chunk-5NZIRM4Q.js.map
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-7ZNJN5WZ.js";
24
24
  import {
25
25
  compareEntityTimestamps
26
- } from "./chunk-K7NUAY36.js";
26
+ } from "./chunk-G775FE2E.js";
27
27
  import {
28
28
  normalizeEntityName
29
29
  } from "./chunk-YXZG5TVN.js";
@@ -918,4 +918,4 @@ export {
918
918
  entityIndexVersion,
919
919
  entityRecentTranscriptLookbackHours
920
920
  };
921
- //# sourceMappingURL=chunk-UMSTKKMV.js.map
921
+ //# sourceMappingURL=chunk-7JPKRZD5.js.map
@@ -17,6 +17,9 @@ import {
17
17
  import {
18
18
  LcmArchive
19
19
  } from "./chunk-WVP2I6C5.js";
20
+ import {
21
+ nativeBindingRecoveryHint
22
+ } from "./chunk-LD72P4YS.js";
20
23
  import {
21
24
  estimateTokenCount
22
25
  } from "./chunk-TOTT6S2V.js";
@@ -181,7 +184,9 @@ var LcmEngine = class {
181
184
  );
182
185
  }).catch((err) => {
183
186
  if (this.closed) return;
184
- log.error(`LCM observe enqueue initialization error: ${err}`);
187
+ log.error(
188
+ `LCM observe enqueue initialization error: ${err}${nativeBindingRecoveryHint(err)}`
189
+ );
185
190
  }).finally(() => {
186
191
  this.releasePendingObserveInit(normalizedSessionId);
187
192
  });
@@ -568,4 +573,4 @@ export {
568
573
  extractLcmConfig,
569
574
  LcmEngine
570
575
  };
571
- //# sourceMappingURL=chunk-UMZUKOJU.js.map
576
+ //# sourceMappingURL=chunk-A7GQBJP5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lcm/engine.ts"],"sourcesContent":["import type Database from \"better-sqlite3\";\nimport { openLcmDatabase, ensureLcmStateDir } from \"./schema.js\";\nimport { LcmArchive, type LcmMessage, type LcmStructuredRecallMatch } from \"./archive.js\";\nimport { LcmDag } from \"./dag.js\";\nimport { LcmSummarizer, type SummarizeFn } from \"./summarizer.js\";\nimport {\n assembleCompressedHistoryWithTrace,\n type LcmRecallConfig,\n type LcmRecallWithTraceResult,\n} from \"./recall.js\";\nimport { LcmWorkQueue, type LcmObserveMessage } from \"./queue.js\";\nimport type { PluginConfig } from \"../types.js\";\nimport { estimateTokenCount } from \"../token-estimate.js\";\nimport { log } from \"../logger.js\";\nimport { nativeBindingRecoveryHint } from \"../native-binding-hint.js\";\nexport interface LcmEngineConfig {\n enabled: boolean;\n leafBatchSize: number;\n rollupFanIn: number;\n freshTailTurns: number;\n maxDepth: number;\n deterministicMaxTokens: number;\n archiveRetentionDays: number;\n recallBudgetShare: number;\n observeConcurrency: number;\n telemetryPrefilterEnabled: boolean;\n messagePartsEnabled: boolean;\n messagePartsRecallMaxResults: number;\n}\n\n/** An expanded archive row with stable lineage identity; content may be budget-truncated. */\nexport interface LcmExpandedMessage {\n id: number;\n session_id: string;\n turn_index: number;\n role: string;\n content: string;\n}\n\nfunction positiveInteger(value: unknown, fallback: number, min = 1): number {\n if (typeof value !== \"number\" || !Number.isFinite(value)) return fallback;\n return Math.max(min, Math.floor(value));\n}\n\nexport function extractLcmConfig(cfg: PluginConfig): LcmEngineConfig {\n return {\n enabled: (cfg as any).lcmEnabled === true,\n leafBatchSize: positiveInteger((cfg as any).lcmLeafBatchSize, 8),\n rollupFanIn: positiveInteger((cfg as any).lcmRollupFanIn, 4, 2),\n freshTailTurns: positiveInteger((cfg as any).lcmFreshTailTurns, 16),\n maxDepth: positiveInteger((cfg as any).lcmMaxDepth, 5),\n deterministicMaxTokens: positiveInteger((cfg as any).lcmDeterministicMaxTokens, 512),\n archiveRetentionDays: positiveInteger((cfg as any).lcmArchiveRetentionDays, 90, 0),\n recallBudgetShare: (cfg as any).lcmRecallBudgetShare ?? 0.15,\n observeConcurrency:\n typeof (cfg as any).lcmObserveConcurrency === \"number\" &&\n Number.isFinite((cfg as any).lcmObserveConcurrency)\n ? Math.max(1, Math.floor((cfg as any).lcmObserveConcurrency))\n : 1,\n telemetryPrefilterEnabled: (cfg as any).lcmTelemetryPrefilterEnabled !== false,\n messagePartsEnabled: (cfg as any).messagePartsEnabled === true,\n messagePartsRecallMaxResults:\n typeof (cfg as any).messagePartsRecallMaxResults === \"number\"\n ? Math.max(0, Math.floor((cfg as any).messagePartsRecallMaxResults))\n : 6,\n };\n}\n\nfunction normalizeLcmSessionId(sessionId: string): string {\n return sessionId.trim();\n}\n\nfunction normalizeOptionalLcmSessionId(sessionId?: string): string | undefined {\n if (sessionId === undefined) {\n return undefined;\n }\n const normalized = normalizeLcmSessionId(sessionId);\n return normalized.length > 0 ? normalized : undefined;\n}\n\nconst EMPTY_LCM_STATS = {\n totalMessages: 0,\n totalSummaryNodes: 0,\n maxDepth: -1,\n} as const;\n\nexport class LcmEngine {\n private db: Database.Database | null = null;\n private archive: LcmArchive | null = null;\n private dag: LcmDag | null = null;\n private summarizer: LcmSummarizer | null = null;\n private observeQueue: LcmWorkQueue | null = null;\n private closed = false;\n private readonly config: LcmEngineConfig;\n private readonly memoryDir: string;\n private initPromise: Promise<void> | null = null;\n private readonly pendingObserveInitCounts = new Map<string, number>();\n private readonly pendingObserveInitWaiters = new Map<string, Array<() => void>>();\n private readonly pendingObserveInitIdleWaiters: Array<() => void> = [];\n\n constructor(\n pluginConfig: PluginConfig,\n private readonly summarizeFn: SummarizeFn,\n ) {\n this.config = extractLcmConfig(pluginConfig);\n this.memoryDir = pluginConfig.memoryDir;\n }\n\n get enabled(): boolean {\n return this.config.enabled;\n }\n\n /** Lazy init — open database on first use. */\n async ensureInitialized(): Promise<void> {\n if (this.closed) return;\n if (this.db) return;\n if (this.initPromise) {\n await this.initPromise;\n return;\n }\n this.initPromise = this.doInit().catch((err) => {\n // Reset so next call retries instead of caching the failure\n this.initPromise = null;\n throw err;\n });\n await this.initPromise;\n }\n\n private async doInit(): Promise<void> {\n await ensureLcmStateDir(this.memoryDir);\n const db = openLcmDatabase(this.memoryDir);\n const archive = new LcmArchive(db);\n const dag = new LcmDag(db);\n const { telemetryPrefilterEnabled } = this.config;\n const summarizer = new LcmSummarizer(\n archive,\n dag,\n this.summarizeFn,\n {\n leafBatchSize: this.config.leafBatchSize,\n rollupFanIn: this.config.rollupFanIn,\n maxDepth: this.config.maxDepth,\n deterministicMaxTokens: this.config.deterministicMaxTokens,\n telemetryPrefilterEnabled,\n },\n );\n const observeQueue = new LcmWorkQueue({\n concurrency: this.config.observeConcurrency,\n worker: async (sessionId, messages) => {\n await this.processObserveMessages(sessionId, messages);\n },\n hooks: {\n onJobStart: ({ sessionId, depth, inFlight, waitMs }) => {\n log.debug(\n `LCM observe queue start: session=${sessionId}, depth=${depth}, inFlight=${inFlight}, wait=${waitMs}ms`,\n );\n },\n onJobFinish: ({\n sessionId,\n depth,\n inFlight,\n waitMs,\n runMs,\n totalMs,\n error,\n }) => {\n if (error) {\n log.error(\n `LCM observe queue failure: session=${sessionId}, depth=${depth}, inFlight=${inFlight}, wait=${waitMs}ms, run=${runMs}ms, total=${totalMs}ms, error=${error}`,\n );\n return;\n }\n\n log.debug(\n `LCM observe queue finish: session=${sessionId}, depth=${depth}, inFlight=${inFlight}, wait=${waitMs}ms, run=${runMs}ms, total=${totalMs}ms`,\n );\n },\n },\n });\n\n if (this.closed) {\n db.close();\n return;\n }\n\n this.db = db;\n this.archive = archive;\n this.dag = dag;\n this.summarizer = summarizer;\n this.observeQueue = observeQueue;\n log.info(\"LCM engine initialized\");\n }\n\n /**\n * Enqueue messages from agent_end hook.\n * The queue worker performs the archive append and incremental summarization.\n */\n async observeMessages(\n sessionId: string,\n messages: LcmObserveMessage[],\n ): Promise<void> {\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n this.enqueueObserveMessages(normalizedSessionId, messages);\n }\n\n /** Enqueue an observe job without waiting for worker completion. */\n enqueueObserveMessages(\n sessionId: string,\n messages: LcmObserveMessage[],\n ): void {\n if (!this.config.enabled || this.closed) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n if (messages.length === 0) return;\n\n this.reservePendingObserveInit(normalizedSessionId);\n\n void this.ensureInitialized()\n .then(() => {\n if (this.closed || !this.observeQueue) return;\n this.observeQueue.enqueue(normalizedSessionId, messages);\n log.debug(\n `LCM observe enqueued: session=${normalizedSessionId}, depth=${this.observeQueue.depth}, inFlight=${this.observeQueue.inFlightCount}`,\n );\n })\n .catch((err) => {\n if (this.closed) return;\n log.error(\n `LCM observe enqueue initialization error: ${err}${nativeBindingRecoveryHint(err)}`,\n );\n })\n .finally(() => {\n this.releasePendingObserveInit(normalizedSessionId);\n });\n }\n\n private async processObserveMessages(\n sessionId: string,\n messages: LcmObserveMessage[],\n ): Promise<void> {\n if (this.closed) return;\n await this.ensureInitialized();\n if (this.closed || !this.archive || !this.summarizer) return;\n\n if (messages.length === 0) return;\n\n const currentMax = this.archive.getMaxTurnIndex(sessionId);\n const { messagePartsEnabled } = this.config;\n const newMessages = messages.map((m, i) => ({\n turnIndex: currentMax + 1 + i,\n role: m.role,\n content: m.content,\n parts: messagePartsEnabled ? m.parts : undefined,\n rawContent: messagePartsEnabled ? m.rawContent : undefined,\n sourceFormat: messagePartsEnabled ? m.sourceFormat : undefined,\n }));\n\n this.archive.appendMessages(sessionId, newMessages, {\n messagePartsEnabled,\n });\n\n // Trigger incremental summarization inside the worker, after append.\n try {\n await this.summarizer.summarizeIncremental(sessionId);\n } catch (err) {\n log.debug(`LCM incremental summarization error: ${err}`);\n }\n }\n\n get observeQueueDepth(): number {\n return this.observeQueue?.depth ?? 0;\n }\n\n get observeQueueInFlightCount(): number {\n return this.observeQueue?.inFlightCount ?? 0;\n }\n\n async waitForObserveQueueIdle(): Promise<void> {\n if (!this.config.enabled || this.closed) return;\n await this.ensureInitialized();\n if (this.closed) return;\n await this.waitForPendingObserveInitIdle();\n await this.observeQueue?.whenIdle();\n }\n\n async waitForSessionObserveIdle(sessionId: string): Promise<void> {\n if (!this.config.enabled || this.closed) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n await this.ensureInitialized();\n if (this.closed) return;\n await this.waitForPendingObserveInitIdle(normalizedSessionId);\n await this.observeQueue?.whenSessionIdle(normalizedSessionId);\n }\n\n private reservePendingObserveInit(sessionId: string): void {\n const count = this.pendingObserveInitCounts.get(sessionId) ?? 0;\n this.pendingObserveInitCounts.set(sessionId, count + 1);\n }\n\n private releasePendingObserveInit(sessionId: string): void {\n const count = this.pendingObserveInitCounts.get(sessionId);\n if (!count) return;\n\n if (count === 1) {\n this.pendingObserveInitCounts.delete(sessionId);\n const waiters = this.pendingObserveInitWaiters.get(sessionId) ?? [];\n this.pendingObserveInitWaiters.delete(sessionId);\n for (const resolve of waiters) resolve();\n if (this.pendingObserveInitCounts.size === 0) {\n const idleWaiters = this.pendingObserveInitIdleWaiters.splice(\n 0,\n this.pendingObserveInitIdleWaiters.length,\n );\n for (const resolve of idleWaiters) resolve();\n }\n return;\n }\n\n this.pendingObserveInitCounts.set(sessionId, count - 1);\n }\n\n private async waitForPendingObserveInitIdle(sessionId?: string): Promise<void> {\n if (sessionId) {\n if (!this.pendingObserveInitCounts.has(sessionId)) return;\n await new Promise<void>((resolve) => {\n const waiters = this.pendingObserveInitWaiters.get(sessionId) ?? [];\n waiters.push(resolve);\n this.pendingObserveInitWaiters.set(sessionId, waiters);\n });\n return;\n }\n\n if (this.pendingObserveInitCounts.size === 0) return;\n await new Promise<void>((resolve) => {\n this.pendingObserveInitIdleWaiters.push(resolve);\n });\n }\n\n /** Build the compressed history recall section for a session. */\n async assembleRecall(\n sessionId: string,\n budgetChars: number,\n ): Promise<string> {\n return (await this.assembleRecallWithTrace(sessionId, budgetChars)).text;\n }\n\n /** Build compressed recall plus content-free selected-summary receipts. */\n async assembleRecallWithTrace(\n sessionId: string,\n budgetChars: number,\n ): Promise<LcmRecallWithTraceResult> {\n if (!this.config.enabled) return { text: \"\", selectedSummaries: [] };\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return { text: \"\", selectedSummaries: [] };\n await this.ensureInitialized();\n\n const effectiveBudget = Math.ceil(\n budgetChars * this.config.recallBudgetShare,\n );\n if (effectiveBudget <= 0) return { text: \"\", selectedSummaries: [] };\n\n return assembleCompressedHistoryWithTrace(this.dag!, this.archive!, normalizedSessionId, {\n freshTailTurns: this.config.freshTailTurns,\n budgetChars: effectiveBudget,\n });\n }\n\n async searchStructuredParts(\n sessionId: string,\n query: string,\n limit = this.config.messagePartsRecallMaxResults,\n ): Promise<LcmStructuredRecallMatch[]> {\n const { messagePartsEnabled } = this.config;\n if (!this.config.enabled || !messagePartsEnabled) return [];\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return [];\n await this.ensureInitialized();\n if (!this.archive) return [];\n return this.archive.searchStructuredParts(query, limit, normalizedSessionId);\n }\n\n formatStructuredRecall(\n matches: LcmStructuredRecallMatch[],\n budgetChars: number,\n ): string {\n if (matches.length === 0 || budgetChars <= 0) return \"\";\n const lines: string[] = [];\n let used = \"## Structured Session Matches\\n\\n\".length;\n for (const match of matches) {\n const label = match.file_path\n ? `${match.kind} ${match.file_path}`\n : match.tool_name\n ? `${match.kind} ${match.tool_name}`\n : match.kind;\n const excerpt = match.content.replace(/\\s+/g, \" \").slice(0, 220);\n const line = `- turn ${match.turn_index} (${match.role}): ${label} — ${excerpt}`;\n if (used + line.length + 1 > budgetChars) break;\n lines.push(line);\n used += line.length + 1;\n }\n return lines.length > 0 ? `## Structured Session Matches\\n\\n${lines.join(\"\\n\")}` : \"\";\n }\n\n /** Flush pending summaries before compaction (called from before_compaction hook). */\n async preCompactionFlush(sessionId: string): Promise<void> {\n if (!this.config.enabled) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n await this.ensureInitialized();\n await this.waitForSessionObserveIdle(normalizedSessionId);\n\n try {\n await this.summarizer!.summarizeIncremental(normalizedSessionId);\n } catch (err) {\n log.debug(`LCM pre-compaction flush error: ${err}`);\n }\n }\n\n /** Record a compaction event with real token counts (called from after_compaction hook). */\n async recordCompaction(\n sessionId: string,\n tokensBefore: number,\n tokensAfter: number,\n ): Promise<void> {\n if (!this.config.enabled) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n await this.ensureInitialized();\n await this.waitForSessionObserveIdle(normalizedSessionId);\n\n const maxTurn = this.archive!.getMaxTurnIndex(normalizedSessionId);\n\n this.dag!.recordCompaction(normalizedSessionId, maxTurn, tokensBefore, tokensAfter);\n log.info(\n `LCM compaction recorded: session=${normalizedSessionId}, turn=${maxTurn}, tokens ${tokensBefore}→${tokensAfter}`,\n );\n }\n\n /** Verify archive coverage after compaction. */\n async verifyPostCompaction(sessionId: string): Promise<void> {\n if (!this.config.enabled) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n await this.ensureInitialized();\n\n const msgCount = this.archive!.getMessageCount(normalizedSessionId);\n const nodeCount = this.dag!.getNodeCount(normalizedSessionId);\n log.debug(\n `LCM post-compaction verify: session=${normalizedSessionId}, messages=${msgCount}, summaryNodes=${nodeCount}`,\n );\n }\n\n // ── MCP Tool implementations ──\n\n /** Search across all conversation history via FTS (snippet mode). */\n async searchContext(\n query: string,\n limit: number,\n sessionId?: string,\n sessionPrefix?: string,\n ): Promise<\n Array<{\n turn_index: number;\n role: string;\n snippet: string;\n session_id: string;\n }>\n > {\n if (!this.config.enabled) return [];\n const normalizedSessionId = normalizeOptionalLcmSessionId(sessionId);\n if (sessionId !== undefined && !normalizedSessionId) return [];\n const normalizedSessionPrefix = normalizeOptionalLcmSessionId(sessionPrefix);\n if (sessionPrefix !== undefined && !normalizedSessionPrefix) return [];\n await this.ensureInitialized();\n return this.archive!.search(query, limit, normalizedSessionId, normalizedSessionPrefix);\n }\n\n /** Search via FTS returning full message content (not snippets). */\n async searchContextFull(\n query: string,\n limit: number,\n sessionId?: string,\n sessionPrefix?: string,\n ): Promise<\n Array<{\n id: number;\n turn_index: number;\n role: string;\n content: string;\n session_id: string;\n score: number;\n }>\n > {\n if (!this.config.enabled) return [];\n const normalizedSessionId = normalizeOptionalLcmSessionId(sessionId);\n if (sessionId !== undefined && !normalizedSessionId) return [];\n const normalizedSessionPrefix = normalizeOptionalLcmSessionId(sessionPrefix);\n if (sessionPrefix !== undefined && !normalizedSessionPrefix) return [];\n await this.ensureInitialized();\n return this.archive!.searchWithContent(\n query,\n limit,\n normalizedSessionId,\n 1000,\n normalizedSessionPrefix,\n );\n }\n\n /** Get a compressed summary of a turn range. */\n async describeContext(\n sessionId: string,\n fromTurn: number,\n toTurn: number,\n ): Promise<{ summary: string; turn_count: number; depth: number } | null> {\n if (!this.config.enabled) return null;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return null;\n await this.ensureInitialized();\n\n const nodes = this.dag!.getCoveringNodes(normalizedSessionId, fromTurn, toTurn);\n if (nodes.length === 0) {\n // No summary exists — build a description from raw messages\n const messages = this.archive!.getMessages(normalizedSessionId, fromTurn, toTurn);\n if (messages.length === 0) return null;\n const preview = messages\n .slice(0, 5)\n .map((m) => `[${m.role}] ${m.content.slice(0, 100)}`)\n .join(\"\\n\");\n return {\n summary: `No summary available for this range. Preview of ${messages.length} messages:\\n${preview}`,\n turn_count: messages.length,\n depth: -1,\n };\n }\n\n // Use the deepest covering node\n const best = nodes[0]; // Already sorted by depth DESC\n return {\n summary: best.summary_text,\n turn_count: best.msg_end - best.msg_start + 1,\n depth: best.depth,\n };\n }\n\n /**\n * Retrieve raw archived messages for a turn range (inclusive bounds),\n * read-only and unshaped — no token-budget trimming (issue #2331\n * episodic-context). Callers own truncation and cleaning.\n */\n async getTurnRange(\n sessionId: string,\n fromTurn: number,\n toTurn: number,\n ): Promise<LcmMessage[]> {\n if (!this.config.enabled) return [];\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return [];\n await this.ensureInitialized();\n return this.archive!.getMessages(normalizedSessionId, fromTurn, toTurn);\n }\n\n /** Retrieve raw messages for a turn range (lossless expansion). */\n async expandContext(\n sessionId: string,\n fromTurn: number,\n toTurn: number,\n maxTokens: number,\n ): Promise<LcmExpandedMessage[]> {\n if (!this.config.enabled) return [];\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return [];\n await this.ensureInitialized();\n\n const messages = this.archive!.getMessages(normalizedSessionId, fromTurn, toTurn);\n if (messages.length === 0) return [];\n\n // Enforce the token budget while keeping the existing first/last shape.\n const tokenBudget = Math.max(0, Math.floor(maxTokens));\n if (tokenBudget === 0) return [];\n const totalTokens = messages.reduce(\n (sum, message) => sum + estimateTokenCount(message.content),\n 0,\n );\n if (totalTokens <= tokenBudget) {\n return messages.map((m) => ({\n id: m.id,\n session_id: m.session_id,\n turn_index: m.turn_index,\n role: m.role,\n content: m.content,\n }));\n }\n\n const result: LcmExpandedMessage[] = [];\n const lastMsg = messages[messages.length - 1];\n const reservedLastTokens = Math.min(\n estimateTokenCount(lastMsg.content),\n Math.max(1, Math.floor(tokenBudget * 0.3)),\n );\n let remainingTokens = tokenBudget - reservedLastTokens;\n\n for (let i = 0; i < messages.length - 1; i++) {\n if (remainingTokens <= 0) break;\n const content = truncateToTokenBudget(\n messages[i].content,\n remainingTokens,\n );\n if (!content) continue;\n result.push({\n id: messages[i].id,\n session_id: messages[i].session_id,\n turn_index: messages[i].turn_index,\n role: messages[i].role,\n content,\n });\n remainingTokens -= estimateTokenCount(content);\n }\n\n const lastContent = truncateToTokenBudget(\n lastMsg.content,\n reservedLastTokens + remainingTokens,\n );\n if (lastContent) {\n result.push({\n id: lastMsg.id,\n session_id: lastMsg.session_id,\n turn_index: lastMsg.turn_index,\n role: lastMsg.role,\n content: lastContent,\n });\n }\n return result;\n }\n\n\n /** Get statistics about the LCM archive. */\n async getStats(sessionId?: string): Promise<{\n totalMessages: number;\n totalSummaryNodes: number;\n maxDepth: number;\n maxTurnIndex?: number;\n }> {\n if (!this.config.enabled)\n return { totalMessages: 0, totalSummaryNodes: 0, maxDepth: -1 };\n const normalizedSessionId = normalizeOptionalLcmSessionId(sessionId);\n if (sessionId !== undefined && !normalizedSessionId) {\n return { ...EMPTY_LCM_STATS };\n }\n await this.ensureInitialized();\n\n if (normalizedSessionId) {\n return {\n totalMessages: this.archive!.getMessageCount(normalizedSessionId),\n totalSummaryNodes: this.dag!.getNodeCount(normalizedSessionId),\n maxDepth: this.dag!.getMaxDepth(normalizedSessionId),\n maxTurnIndex: this.archive!.getMaxTurnIndex(normalizedSessionId),\n };\n }\n\n return {\n totalMessages: this.archive!.getTotalMessageCount(),\n totalSummaryNodes: 0, // Would need a global count query\n maxDepth: -1,\n };\n }\n\n /** Clear all LCM archive and summary state for one session. */\n async clearSession(sessionId: string): Promise<void> {\n if (!this.config.enabled || this.closed) return;\n const normalizedSessionId = normalizeLcmSessionId(sessionId);\n if (!normalizedSessionId) return;\n await this.ensureInitialized();\n if (this.closed || !this.archive || !this.dag) return;\n await this.waitForSessionObserveIdle(normalizedSessionId);\n this.dag.deleteSession(normalizedSessionId);\n this.archive.deleteSession(normalizedSessionId);\n }\n\n /** Clear all LCM archive and summary state without closing the engine. */\n async clearAll(): Promise<void> {\n if (!this.config.enabled || this.closed) return;\n await this.ensureInitialized();\n if (this.closed || !this.archive || !this.dag) return;\n await this.waitForObserveQueueIdle();\n this.dag.deleteAll();\n this.archive.deleteAll();\n }\n\n /** Prune old data beyond retention period. */\n async prune(): Promise<{ messagesPruned: number; nodesPruned: number }> {\n if (!this.config.enabled) return { messagesPruned: 0, nodesPruned: 0 };\n await this.ensureInitialized();\n\n const messagesPruned = this.archive!.pruneOldMessages(\n this.config.archiveRetentionDays,\n );\n const nodesPruned = this.dag!.pruneOldNodes(\n this.config.archiveRetentionDays,\n );\n return { messagesPruned, nodesPruned };\n }\n\n /** Close the database connection. */\n close(): void {\n this.closed = true;\n if (this.db) {\n this.db.close();\n }\n this.db = null;\n this.archive = null;\n this.dag = null;\n this.summarizer = null;\n this.observeQueue = null;\n this.initPromise = null;\n }\n}\nfunction truncateToTokenBudget(text: string, maxTokens: number): string {\n if (maxTokens <= 0) return \"\";\n if (estimateTokenCount(text) <= maxTokens) return text;\n const codePoints = [...text];\n let low = 0;\n let high = codePoints.length;\n while (low < high) {\n const mid = Math.ceil((low + high) / 2);\n if (estimateTokenCount(codePoints.slice(0, mid).join(\"\")) <= maxTokens) {\n low = mid;\n } else {\n high = mid - 1;\n }\n }\n return codePoints.slice(0, low).join(\"\");\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseEntityFile
3
- } from "./chunk-K7NUAY36.js";
3
+ } from "./chunk-G775FE2E.js";
4
4
  import {
5
5
  inferMemoryStatus
6
6
  } from "./chunk-7RJUVTVF.js";
@@ -253,4 +253,4 @@ export {
253
253
  WHO_KNOWS_MCP_TOOLS,
254
254
  handleWhoKnowsHttpQuery
255
255
  };
256
- //# sourceMappingURL=chunk-VYIPVLRX.js.map
256
+ //# sourceMappingURL=chunk-AAJK3PZ6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-6BYJQ3L2.js";
3
+ } from "./chunk-5NZIRM4Q.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -470,4 +470,4 @@ export {
470
470
  NamespaceSearchRouter,
471
471
  normalizeQmdResultPath
472
472
  };
473
- //# sourceMappingURL=chunk-OERZXNSK.js.map
473
+ //# sourceMappingURL=chunk-B3TZLAO4.js.map
@@ -1,6 +1,11 @@
1
1
  import {
2
2
  resolveEnsureCollectionArgs
3
3
  } from "./chunk-JXN77SGO.js";
4
+ import {
5
+ EMPTY_QMD_STATUS,
6
+ embedQmdFiles,
7
+ fetchQmdStatus
8
+ } from "./chunk-IUM3VSHI.js";
4
9
  import {
5
10
  QMD_PROBE_RETRY_BACKOFF_MS,
6
11
  QMD_PROBE_TIMEOUT_MS,
@@ -13,11 +18,6 @@ import {
13
18
  qmdVersionToString,
14
19
  resolveQmdCapabilities
15
20
  } from "./chunk-ZLQ37WJX.js";
16
- import {
17
- EMPTY_QMD_STATUS,
18
- embedQmdFiles,
19
- fetchQmdStatus
20
- } from "./chunk-IUM3VSHI.js";
21
21
  import {
22
22
  clearQmdResultCaches,
23
23
  getCachedQmdSearch,
@@ -2245,4 +2245,4 @@ export {
2245
2245
  sharedDaemonSessionCountForTest,
2246
2246
  QmdClient
2247
2247
  };
2248
- //# sourceMappingURL=chunk-C24UZSFW.js.map
2248
+ //# sourceMappingURL=chunk-CEH2AFXG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runLocationSync
3
- } from "./chunk-KKGWB2LG.js";
3
+ } from "./chunk-5CSKIWEB.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -58,4 +58,4 @@ export {
58
58
  LOCATION_SYNC_DEFAULT_INTERVAL_MS,
59
59
  startLocationAutoSync
60
60
  };
61
- //# sourceMappingURL=chunk-S63O62DN.js.map
61
+ //# sourceMappingURL=chunk-CIWOW2FH.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-5TBO7CDR.js";
11
11
  import {
12
12
  deriveSourceConnector
13
- } from "./chunk-UJICQ77Y.js";
13
+ } from "./chunk-MK7EJLB4.js";
14
14
  import {
15
15
  resolvePipelineProcessingCapabilities
16
16
  } from "./chunk-JUOZ62Y7.js";
@@ -108,4 +108,4 @@ export {
108
108
  renderExtractionConversation,
109
109
  applyGroundingWithConnector
110
110
  };
111
- //# sourceMappingURL=chunk-IE7N2YK6.js.map
111
+ //# sourceMappingURL=chunk-CNZVEU4X.js.map
@@ -33,10 +33,10 @@ import {
33
33
  defineOperation,
34
34
  parseNamespacePreflightWriteOp,
35
35
  resolveAuthorizedNamespaceWritablePreflight
36
- } from "./chunk-2YDU4VR7.js";
36
+ } from "./chunk-FNYVWAIK.js";
37
37
  import {
38
38
  validateBriefingFormat
39
- } from "./chunk-5IYJWCLC.js";
39
+ } from "./chunk-G3TUQJFU.js";
40
40
  import {
41
41
  enforceNamespaceAllowList,
42
42
  tokenCapabilityStore
@@ -538,4 +538,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
538
538
  defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
539
539
  defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
540
540
  defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
541
- //# sourceMappingURL=chunk-5UP5R37C.js.map
541
+ //# sourceMappingURL=chunk-DGKVUPBM.js.map
@@ -27,15 +27,15 @@ import {
27
27
  resolveCodegraphProjectId,
28
28
  serializeDecisionRecord
29
29
  } from "./chunk-QJCWK2A7.js";
30
+ import {
31
+ WriteQuarantineStore
32
+ } from "./chunk-PJSK6OJM.js";
30
33
  import {
31
34
  WHO_KNOWS_DEFAULT_LIMIT,
32
35
  computeWhoKnows,
33
36
  loadWhoKnowsEntities,
34
37
  validateWhoKnowsInput
35
- } from "./chunk-VYIPVLRX.js";
36
- import {
37
- WriteQuarantineStore
38
- } from "./chunk-PJSK6OJM.js";
38
+ } from "./chunk-AAJK3PZ6.js";
39
39
  import {
40
40
  getTrustZoneStoreStatus,
41
41
  isTrustZoneName,
@@ -65,19 +65,19 @@ import {
65
65
  } from "./chunk-LK4TOYPU.js";
66
66
  import {
67
67
  readAggregateExtractionWatermark
68
- } from "./chunk-NEDBOZ7G.js";
69
- import {
70
- ReplicaDivergenceMonitor
71
- } from "./chunk-CVILPI77.js";
72
- import {
73
- recordMemoryOutcome
74
- } from "./chunk-UD7UNYRD.js";
68
+ } from "./chunk-J67E4JNT.js";
75
69
  import {
76
70
  recordObjectiveStateSnapshotsFromObservedMessages
77
71
  } from "./chunk-2HIJHXB3.js";
78
72
  import {
79
73
  objectiveStateStoreOverrideForNamespace
80
74
  } from "./chunk-HTP6XRUI.js";
75
+ import {
76
+ ReplicaDivergenceMonitor
77
+ } from "./chunk-CVILPI77.js";
78
+ import {
79
+ recordMemoryOutcome
80
+ } from "./chunk-UD7UNYRD.js";
81
81
  import {
82
82
  coerceIncludedMemories
83
83
  } from "./chunk-2YA5N2BY.js";
@@ -122,11 +122,11 @@ import {
122
122
  listMemoryGovernanceRuns,
123
123
  readMemoryGovernanceRunArtifact,
124
124
  runMemoryGovernance
125
- } from "./chunk-O2RJZR6J.js";
125
+ } from "./chunk-Q5YKVBIV.js";
126
126
  import {
127
127
  CorpusWatermarkCache,
128
128
  computeServiceCorpusCensus
129
- } from "./chunk-FNK4KIYR.js";
129
+ } from "./chunk-47BX23NA.js";
130
130
  import {
131
131
  CrossNamespaceBudget,
132
132
  toBudgetWarning
@@ -137,7 +137,7 @@ import {
137
137
  enqueuePassiveCorrectionNotification,
138
138
  parseBriefingFocus,
139
139
  parseBriefingWindow
140
- } from "./chunk-5IYJWCLC.js";
140
+ } from "./chunk-G3TUQJFU.js";
141
141
  import {
142
142
  OKF_RESERVED_BASENAMES,
143
143
  parseEntityFile,
@@ -145,10 +145,10 @@ import {
145
145
  qmdCollectionPathParts,
146
146
  qmdResultPathCandidates,
147
147
  selfDeps
148
- } from "./chunk-K7NUAY36.js";
148
+ } from "./chunk-G775FE2E.js";
149
149
  import {
150
150
  namespaceCollectionName
151
- } from "./chunk-OERZXNSK.js";
151
+ } from "./chunk-B3TZLAO4.js";
152
152
  import {
153
153
  DEFAULT_RECALL_DISCLOSURE,
154
154
  isRecallDisclosure
@@ -180,7 +180,7 @@ import {
180
180
  isArtifactMemoryPath,
181
181
  isLocationDayPath,
182
182
  isMeetingRecordPath
183
- } from "./chunk-UJICQ77Y.js";
183
+ } from "./chunk-MK7EJLB4.js";
184
184
  import {
185
185
  STRUCTURED_ATTRIBUTE_LIMITS,
186
186
  buildAccessWriteRequestFingerprint,
@@ -18248,4 +18248,4 @@ export {
18248
18248
  EngramAccessService,
18249
18249
  AccessAdminOpsSurface
18250
18250
  };
18251
- //# sourceMappingURL=chunk-2YDU4VR7.js.map
18251
+ //# sourceMappingURL=chunk-FNYVWAIK.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-MBXTGOFR.js";
3
+ } from "./chunk-MFI4QPW5.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-MFIFCXS3.js";
6
+ } from "./chunk-OT7WQ2I3.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-EGALNSZ4.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-XSPVSEAN.js.map
727
+ //# sourceMappingURL=chunk-FUPIAP6Q.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-K7NUAY36.js";
3
+ } from "./chunk-G775FE2E.js";
4
4
  import {
5
5
  normalizeEntityName
6
6
  } from "./chunk-YXZG5TVN.js";
@@ -957,4 +957,4 @@ export {
957
957
  resolveBriefingSaveDir,
958
958
  briefingFilename
959
959
  };
960
- //# sourceMappingURL=chunk-5IYJWCLC.js.map
960
+ //# sourceMappingURL=chunk-G3TUQJFU.js.map
@@ -1,3 +1,9 @@
1
+ import {
2
+ TombstoneStore,
3
+ applyTombstoneResurrectionGate,
4
+ buildRetiredFactTombstoneInputs,
5
+ collectRetiredMemoriesForRebuild
6
+ } from "./chunk-4ZWCQJNM.js";
1
7
  import {
2
8
  WEARABLES_DIR_NAME,
3
9
  escapeSegmentText,
@@ -9,15 +15,9 @@ import {
9
15
  unescapeSegmentText,
10
16
  unescapeSpeakerLabel
11
17
  } from "./chunk-UHVXE24Y.js";
12
- import {
13
- TombstoneStore,
14
- applyTombstoneResurrectionGate,
15
- buildRetiredFactTombstoneInputs,
16
- collectRetiredMemoriesForRebuild
17
- } from "./chunk-4ZWCQJNM.js";
18
18
  import {
19
19
  normalizeQmdResultPath
20
- } from "./chunk-OERZXNSK.js";
20
+ } from "./chunk-B3TZLAO4.js";
21
21
  import {
22
22
  withholdToolScopedFromSharedNamespace
23
23
  } from "./chunk-S2V7RUCL.js";
@@ -11374,4 +11374,4 @@ export {
11374
11374
  isValidBufferSurpriseEvent,
11375
11375
  StorageManager3 as StorageManager
11376
11376
  };
11377
- //# sourceMappingURL=chunk-K7NUAY36.js.map
11377
+ //# sourceMappingURL=chunk-G775FE2E.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  rebuildMemoryProjection
3
- } from "./chunk-XVCYV7WQ.js";
3
+ } from "./chunk-Q3UMNZRK.js";
4
4
 
5
5
  // src/convergence-refresh.ts
6
6
  async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, getStorage, searchEnabled) {
@@ -32,4 +32,4 @@ async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, get
32
32
  export {
33
33
  refreshConvergedNamespaces
34
34
  };
35
- //# sourceMappingURL=chunk-NEWY74GS.js.map
35
+ //# sourceMappingURL=chunk-GB4R6B5M.js.map