@remnic/core 9.22.0 → 9.22.1

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 (399) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -12
  2. package/dist/access-admin-ops-surface.js +25 -24
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-boundary.d.ts +13 -10
  5. package/dist/access-boundary.js +25 -24
  6. package/dist/access-cli.js +84 -82
  7. package/dist/access-cli.js.map +1 -1
  8. package/dist/access-http.d.ts +16 -9
  9. package/dist/access-http.js +33 -32
  10. package/dist/access-identity-continuity-surface.d.ts +9 -7
  11. package/dist/access-identity-continuity-surface.js +25 -24
  12. package/dist/access-lcm-surface.d.ts +12 -9
  13. package/dist/access-lcm-surface.js +25 -24
  14. package/dist/access-mcp-output-schemas.js +1 -1
  15. package/dist/access-mcp.d.ts +22 -10
  16. package/dist/access-mcp.js +31 -30
  17. package/dist/access-memory-search-fanout.d.ts +2 -2
  18. package/dist/{access-namespace-preflight-tmwQgCT6.d.ts → access-namespace-preflight-CmErR03h.d.ts} +1 -1
  19. package/dist/access-namespace-preflight.d.ts +3 -3
  20. package/dist/access-namespace-preflight.js +25 -24
  21. package/dist/access-observe-write-surface.d.ts +12 -9
  22. package/dist/access-observe-write-surface.js +25 -24
  23. package/dist/access-operations-batch.js +27 -26
  24. package/dist/access-operations.d.ts +13 -10
  25. package/dist/access-operations.js +28 -27
  26. package/dist/access-recall-concurrency.d.ts +12 -9
  27. package/dist/access-recall-concurrency.js +25 -24
  28. package/dist/access-recall-response.d.ts +12 -9
  29. package/dist/access-recall-response.js +25 -24
  30. package/dist/access-recall-surface.d.ts +14 -11
  31. package/dist/access-recall-surface.js +25 -24
  32. package/dist/{access-service-BtxW52vv.d.ts → access-service-CKEROeFP.d.ts} +22 -11
  33. package/dist/access-service.d.ts +13 -10
  34. package/dist/access-service.js +25 -24
  35. package/dist/access-surface-catalog.d.ts +12 -9
  36. package/dist/access-surface-catalog.js +6 -0
  37. package/dist/access-surface-catalog.js.map +1 -1
  38. package/dist/access-wearables-meetings-surface.d.ts +78 -0
  39. package/dist/access-wearables-meetings-surface.js +22 -0
  40. package/dist/access-wearables-meetings-surface.js.map +1 -0
  41. package/dist/action-confidence.d.ts +1 -1
  42. package/dist/active-memory-bridge.d.ts +1 -1
  43. package/dist/active-recall.d.ts +1 -1
  44. package/dist/active-recall.js +2 -2
  45. package/dist/{auto-sync-UPTUVE4X.js → auto-sync-5OE5QOZB.js} +3 -3
  46. package/dist/behavior-learner.d.ts +1 -1
  47. package/dist/behavior-signals.d.ts +1 -1
  48. package/dist/bootstrap.d.ts +9 -7
  49. package/dist/briefing.d.ts +2 -2
  50. package/dist/briefing.js +5 -5
  51. package/dist/buffer-surprise-report.d.ts +1 -1
  52. package/dist/buffer.d.ts +2 -2
  53. package/dist/bulk-import/index.d.ts +3 -3
  54. package/dist/calibration.d.ts +1 -1
  55. package/dist/capabilities.d.ts +1 -1
  56. package/dist/{catalog-iWvWz61I.d.ts → catalog-BFTVo2Ez.d.ts} +1 -1
  57. package/dist/causal-behavior.d.ts +1 -1
  58. package/dist/causal-behavior.js +2 -2
  59. package/dist/causal-chain.js +2 -2
  60. package/dist/causal-consolidation.d.ts +1 -1
  61. package/dist/causal-consolidation.js +9 -9
  62. package/dist/causal-retrieval.js +2 -2
  63. package/dist/causal-trajectory-graph.d.ts +1 -1
  64. package/dist/causal-trajectory.js +1 -1
  65. package/dist/{chunk-GF22HWS2.js → chunk-2PHX3I5C.js} +7 -7
  66. package/dist/{chunk-JFDEYXF7.js → chunk-3NAHZQU3.js} +2 -2
  67. package/dist/{chunk-XBRPEGXF.js → chunk-3UOSVTFR.js} +5 -5
  68. package/dist/{chunk-TTKWTT72.js → chunk-3ZW6ZQO6.js} +3 -3
  69. package/dist/{chunk-UV72DEZD.js → chunk-4B77XSG5.js} +5 -5
  70. package/dist/{chunk-IC2TCZJ2.js → chunk-57QKLRBV.js} +3 -1
  71. package/dist/chunk-57QKLRBV.js.map +1 -0
  72. package/dist/{chunk-LMHDFOVV.js → chunk-5CPI2QWG.js} +3 -3
  73. package/dist/{chunk-P72WZMWQ.js → chunk-5FZQ74K5.js} +2 -2
  74. package/dist/{chunk-BRT7KEXU.js → chunk-6TWXQ4E2.js} +5 -5
  75. package/dist/{chunk-CV6ZYXK3.js → chunk-7I7AYIUQ.js} +3 -3
  76. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  77. package/dist/{chunk-MONWCSVL.js → chunk-7RAJ3GXO.js} +2 -1
  78. package/dist/chunk-7RAJ3GXO.js.map +1 -0
  79. package/dist/{chunk-SQEDDWAM.js → chunk-A2RFKL3V.js} +5 -34
  80. package/dist/chunk-A2RFKL3V.js.map +1 -0
  81. package/dist/{chunk-JN57HZCD.js → chunk-ATEAL5EI.js} +6 -6
  82. package/dist/{chunk-4PYLBXX6.js → chunk-AYAROCWD.js} +2 -2
  83. package/dist/chunk-BLDBT6HZ.js +39 -0
  84. package/dist/chunk-BLDBT6HZ.js.map +1 -0
  85. package/dist/{chunk-NB2P47N7.js → chunk-CUUY5CC4.js} +6 -6
  86. package/dist/{chunk-KL5Y6PEV.js → chunk-E3ZMFFQZ.js} +2 -2
  87. package/dist/{chunk-55FDQYPS.js → chunk-ES5IHQ6M.js} +2 -2
  88. package/dist/{chunk-N47ZWQBO.js → chunk-G2NSSQES.js} +2 -2
  89. package/dist/{chunk-GSWPU5CR.js → chunk-GD3QOBMB.js} +2 -2
  90. package/dist/{chunk-6ANPNUVL.js → chunk-IIXLB5E7.js} +58 -36
  91. package/dist/chunk-IIXLB5E7.js.map +1 -0
  92. package/dist/{chunk-SACPRJ7F.js → chunk-JNIJBXVK.js} +2 -2
  93. package/dist/{chunk-W3XT32W7.js → chunk-JVGUY2AU.js} +23 -13
  94. package/dist/chunk-JVGUY2AU.js.map +1 -0
  95. package/dist/{chunk-DGLON3AL.js → chunk-KNRG6ZGJ.js} +6 -6
  96. package/dist/{chunk-GEUDRENF.js → chunk-MMTG3SCJ.js} +2 -2
  97. package/dist/{chunk-WZFAPHIK.js → chunk-MU7ZHSZE.js} +2 -2
  98. package/dist/{chunk-W4FBGYGK.js → chunk-NRV4Y3PM.js} +1 -1
  99. package/dist/{chunk-QTO2FGBT.js → chunk-OUW4PAY4.js} +191 -117
  100. package/dist/chunk-OUW4PAY4.js.map +1 -0
  101. package/dist/{chunk-KQ2XCQYN.js → chunk-P2BLHUL2.js} +2 -2
  102. package/dist/{chunk-ACGGTPU4.js → chunk-QCKQEBIY.js} +17 -9
  103. package/dist/chunk-QCKQEBIY.js.map +1 -0
  104. package/dist/{chunk-6L775BUB.js → chunk-QE63OHLB.js} +2 -2
  105. package/dist/{chunk-ONHRRJZM.js → chunk-QJAQNXWI.js} +6 -6
  106. package/dist/{chunk-EQYBHXRR.js → chunk-ROUL7RZU.js} +385 -59
  107. package/dist/chunk-ROUL7RZU.js.map +1 -0
  108. package/dist/{chunk-N6M7MRVN.js → chunk-RT4TSR2C.js} +9034 -8726
  109. package/dist/chunk-RT4TSR2C.js.map +1 -0
  110. package/dist/{chunk-6NZ7U4R4.js → chunk-SCOT5DTA.js} +1 -1
  111. package/dist/chunk-SCOT5DTA.js.map +1 -0
  112. package/dist/{chunk-6RYWNBSA.js → chunk-SVZGA2MK.js} +2 -2
  113. package/dist/chunk-SYOIVK7K.js +63 -0
  114. package/dist/chunk-SYOIVK7K.js.map +1 -0
  115. package/dist/{chunk-DM5A4ZFL.js → chunk-TWCOYET2.js} +11 -1
  116. package/dist/chunk-TWCOYET2.js.map +1 -0
  117. package/dist/{chunk-7S5OMI76.js → chunk-WS32QRLO.js} +109 -44
  118. package/dist/chunk-WS32QRLO.js.map +1 -0
  119. package/dist/{chunk-OCMLGND7.js → chunk-WWZ35GWW.js} +5 -5
  120. package/dist/{chunk-QMGIQUBG.js → chunk-XWPFZX6S.js} +503 -139
  121. package/dist/chunk-XWPFZX6S.js.map +1 -0
  122. package/dist/{chunk-A5N6ISRK.js → chunk-ZN4UZWMT.js} +2 -2
  123. package/dist/{chunk-7M6APKJL.js → chunk-ZYU7ZFLT.js} +2 -2
  124. package/dist/{cli-D9vXgWwM.d.ts → cli-BrwT9YMD.d.ts} +5 -5
  125. package/dist/cli.d.ts +14 -11
  126. package/dist/cli.js +57 -56
  127. package/dist/compounding/engine.d.ts +2 -2
  128. package/dist/compounding/engine.js +5 -5
  129. package/dist/compounding/preference-consolidator.d.ts +1 -1
  130. package/dist/compression-optimizer.d.ts +1 -1
  131. package/dist/config.d.ts +1 -1
  132. package/dist/config.js +2 -2
  133. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  134. package/dist/connectors/codex-materialize-runner.js +5 -5
  135. package/dist/connectors/codex-materialize.d.ts +1 -1
  136. package/dist/connectors/index.d.ts +1 -1
  137. package/dist/connectors/index.js +5 -5
  138. package/dist/consolidation-provenance-check.d.ts +2 -2
  139. package/dist/consolidation-undo.d.ts +2 -2
  140. package/dist/contradiction/index.d.ts +2 -2
  141. package/dist/conversation-index/backend.d.ts +1 -1
  142. package/dist/conversation-index/chunker.d.ts +1 -1
  143. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  144. package/dist/conversation-index/indexer.d.ts +1 -1
  145. package/dist/conversation-index/search.d.ts +1 -1
  146. package/dist/day-summary.d.ts +1 -1
  147. package/dist/delinearize.d.ts +1 -1
  148. package/dist/direct-answer-wiring.d.ts +1 -1
  149. package/dist/direct-answer.d.ts +1 -1
  150. package/dist/embedding-fallback.d.ts +1 -1
  151. package/dist/enrichment/index.d.ts +1 -1
  152. package/dist/entity-retrieval.d.ts +2 -2
  153. package/dist/entity-retrieval.js +5 -5
  154. package/dist/entity-schema.d.ts +1 -1
  155. package/dist/explicit-capture.d.ts +9 -7
  156. package/dist/extraction-error-classification.d.ts +22 -0
  157. package/dist/extraction-error-classification.js +11 -0
  158. package/dist/extraction-error-classification.js.map +1 -0
  159. package/dist/extraction-faithfulness.d.ts +1 -1
  160. package/dist/extraction-judge-telemetry.d.ts +1 -1
  161. package/dist/extraction-judge-training.d.ts +1 -1
  162. package/dist/extraction-judge.d.ts +1 -1
  163. package/dist/extraction.d.ts +3 -17
  164. package/dist/extraction.js +5 -3
  165. package/dist/fallback-llm.d.ts +1 -1
  166. package/dist/{first-start-migration-LEXL3XYL.js → first-start-migration-BKNGOFED.js} +4 -4
  167. package/dist/graph-dashboard-diff.d.ts +1 -1
  168. package/dist/graph-dashboard-key.d.ts +1 -1
  169. package/dist/graph-dashboard-parser.d.ts +1 -1
  170. package/dist/graph-edge-reinforcement.d.ts +1 -1
  171. package/dist/graph-snapshot.d.ts +1 -1
  172. package/dist/graph.d.ts +1 -1
  173. package/dist/importance.d.ts +1 -1
  174. package/dist/importers/index.d.ts +1 -1
  175. package/dist/in-flight-reads.d.ts +1 -1
  176. package/dist/index.d.ts +309 -519
  177. package/dist/index.js +176 -140
  178. package/dist/intent.d.ts +1 -1
  179. package/dist/lcm/engine.d.ts +1 -1
  180. package/dist/lcm/engine.js +3 -3
  181. package/dist/lcm/index.d.ts +1 -1
  182. package/dist/lcm/index.js +11 -11
  183. package/dist/lcm/tools.d.ts +1 -1
  184. package/dist/lifecycle.d.ts +1 -1
  185. package/dist/live-connectors-runner.d.ts +1 -1
  186. package/dist/local-llm.d.ts +1 -1
  187. package/dist/local-model-endpoint.d.ts +1 -1
  188. package/dist/maintenance/memory-governance.d.ts +1 -1
  189. package/dist/maintenance/memory-governance.js +6 -6
  190. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  191. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
  192. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  193. package/dist/maintenance/rebuild-memory-projection.js +7 -7
  194. package/dist/maintenance-C98njYb8.d.ts +366 -0
  195. package/dist/mcp-memory-inspector-app.d.ts +12 -9
  196. package/dist/mcp-read-only-tools.js +1 -1
  197. package/dist/memory-action-policy.d.ts +1 -1
  198. package/dist/memory-cache.d.ts +1 -1
  199. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  200. package/dist/memory-projection-store.d.ts +1 -1
  201. package/dist/memory-provenance.d.ts +1 -1
  202. package/dist/memory-worth-outcomes.d.ts +2 -2
  203. package/dist/models-json.d.ts +1 -1
  204. package/dist/namespaces/migrate.d.ts +3 -3
  205. package/dist/namespaces/migrate.js +12 -12
  206. package/dist/namespaces/principal.d.ts +1 -1
  207. package/dist/namespaces/search.d.ts +1 -1
  208. package/dist/namespaces/search.js +6 -6
  209. package/dist/namespaces/storage.d.ts +3 -3
  210. package/dist/namespaces/storage.js +5 -5
  211. package/dist/native-knowledge.d.ts +1 -1
  212. package/dist/offline-sync-impression-drain.d.ts +1 -1
  213. package/dist/operator-toolkit.d.ts +2 -2
  214. package/dist/operator-toolkit.js +18 -18
  215. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  216. package/dist/orchestration/maintenance.d.ts +6 -223
  217. package/dist/orchestration/maintenance.js +12 -12
  218. package/dist/{orchestrator-DB93S48I.d.ts → orchestrator-C9ZVppNh.d.ts} +12 -481
  219. package/dist/orchestrator.d.ts +10 -8
  220. package/dist/orchestrator.js +84 -82
  221. package/dist/patterns-cli.d.ts +1 -1
  222. package/dist/{pipeline-DmGc-H66.d.ts → pipeline-id_-sqYm.d.ts} +1 -1
  223. package/dist/policy-runtime.d.ts +1 -1
  224. package/dist/proactive-contention.d.ts +1 -1
  225. package/dist/provenance.d.ts +1 -1
  226. package/dist/{qmd-cJT0crkF.d.ts → qmd-R6XaQOZK.d.ts} +1 -1
  227. package/dist/qmd-preflight.d.ts +2 -2
  228. package/dist/qmd-recall-cache.d.ts +1 -1
  229. package/dist/qmd.d.ts +2 -2
  230. package/dist/qmd.js +4 -4
  231. package/dist/recall-concurrency-config.d.ts +1 -1
  232. package/dist/recall-disclosure-escalation.d.ts +1 -1
  233. package/dist/recall-explain-renderer.d.ts +1 -1
  234. package/dist/recall-explain-renderer.js +3 -3
  235. package/dist/recall-memory-map.d.ts +1 -1
  236. package/dist/recall-planner-llm.d.ts +1 -1
  237. package/dist/recall-state.d.ts +1 -1
  238. package/dist/recall-tag-filter.d.ts +1 -1
  239. package/dist/recall-timings.d.ts +1 -1
  240. package/dist/recall-xray-cli.d.ts +1 -1
  241. package/dist/recall-xray-cli.js +4 -4
  242. package/dist/recall-xray-renderer.d.ts +1 -1
  243. package/dist/recall-xray-renderer.js +3 -3
  244. package/dist/recall-xray.d.ts +1 -1
  245. package/dist/recall-xray.js +2 -2
  246. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  247. package/dist/replay/normalizers/claude.d.ts +1 -1
  248. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  249. package/dist/replay/normalizers/shared.d.ts +1 -1
  250. package/dist/replay/runner.d.ts +1 -1
  251. package/dist/replay/types.d.ts +1 -1
  252. package/dist/resolve-auth-token.d.ts +1 -1
  253. package/dist/resume-bundles.js +4 -4
  254. package/dist/retrieval-agents.d.ts +2 -2
  255. package/dist/retrieval-tiers.d.ts +1 -1
  256. package/dist/routing/engine.d.ts +1 -1
  257. package/dist/routing/store.d.ts +1 -1
  258. package/dist/salvage-envelope.d.ts +1 -1
  259. package/dist/{scope-profiles-KG2nODX7.d.ts → scope-profiles-EhyuAKkd.d.ts} +1 -1
  260. package/dist/search/embed-helper.d.ts +1 -1
  261. package/dist/search/factory.d.ts +1 -1
  262. package/dist/search/factory.js +5 -5
  263. package/dist/search/index.d.ts +1 -1
  264. package/dist/search/index.js +9 -9
  265. package/dist/search/lancedb-backend.d.ts +1 -1
  266. package/dist/search/meilisearch-backend.d.ts +1 -1
  267. package/dist/search/noop-backend.d.ts +1 -1
  268. package/dist/search/orama-backend.d.ts +1 -1
  269. package/dist/search/port.d.ts +1 -1
  270. package/dist/search/remote-backend.d.ts +1 -1
  271. package/dist/{semantic-consolidation-BaZlg0D8.d.ts → semantic-consolidation-B2xo26UQ.d.ts} +1 -1
  272. package/dist/semantic-consolidation.d.ts +2 -2
  273. package/dist/semantic-consolidation.js +7 -7
  274. package/dist/semantic-rule-promotion.js +5 -5
  275. package/dist/semantic-rule-verifier.d.ts +1 -1
  276. package/dist/semantic-rule-verifier.js +6 -6
  277. package/dist/service-DgFWlZ-r.d.ts +835 -0
  278. package/dist/session-observer-bands.d.ts +1 -1
  279. package/dist/session-observer-state.d.ts +1 -1
  280. package/dist/shared-context/manager.d.ts +1 -1
  281. package/dist/signal.d.ts +1 -1
  282. package/dist/{storage-BKhHHnRo.d.ts → storage-XGawwqXE.d.ts} +131 -2
  283. package/dist/storage.d.ts +2 -2
  284. package/dist/storage.js +4 -4
  285. package/dist/summarizer.d.ts +1 -1
  286. package/dist/summary-snapshot.d.ts +1 -1
  287. package/dist/temporal-supersession.d.ts +2 -2
  288. package/dist/temporal-timeline-recall.d.ts +1 -1
  289. package/dist/temporal-validity.d.ts +1 -1
  290. package/dist/threading.d.ts +1 -1
  291. package/dist/tier-migration.d.ts +2 -2
  292. package/dist/tier-routing.d.ts +1 -1
  293. package/dist/topics.d.ts +1 -1
  294. package/dist/transcript.d.ts +1 -1
  295. package/dist/trust-score-stage.d.ts +1 -1
  296. package/dist/trust-score.d.ts +1 -1
  297. package/dist/{types-GBQZuT7l.d.ts → types-Bbs0qz6b.d.ts} +2 -3
  298. package/dist/types.d.ts +1 -1
  299. package/dist/types.js +1 -1
  300. package/dist/utility-runtime.d.ts +1 -1
  301. package/dist/verified-recall.js +6 -6
  302. package/dist/write-envelope.d.ts +1 -1
  303. package/package.json +2 -2
  304. package/src/access-boundary.ts +3 -0
  305. package/src/access-http.test.ts +63 -0
  306. package/src/access-http.ts +26 -37
  307. package/src/access-mcp-output-schemas.ts +10 -0
  308. package/src/access-mcp.ts +4 -121
  309. package/src/access-operations-batch.ts +10 -5
  310. package/src/access-service.ts +43 -46
  311. package/src/access-surface-catalog.ts +6 -0
  312. package/src/access-wearables-meetings-surface.ts +139 -0
  313. package/src/activity/digest.ts +1 -1
  314. package/src/activity/runner.test.ts +37 -0
  315. package/src/activity/runner.ts +12 -0
  316. package/src/activity/scheduler.test.ts +1 -0
  317. package/src/activity/sync-registration.ts +13 -0
  318. package/src/cli/meetings-commands.ts +70 -0
  319. package/src/cli.ts +7 -6
  320. package/src/extraction-error-classification.ts +52 -0
  321. package/src/extraction.ts +2 -50
  322. package/src/mcp-read-only-tools.ts +2 -0
  323. package/src/meetings/build-memory.test.ts +364 -0
  324. package/src/meetings/build-scheduler.test.ts +55 -0
  325. package/src/meetings/build-scheduler.ts +96 -0
  326. package/src/meetings/day-source.test.ts +275 -0
  327. package/src/meetings/day-source.ts +352 -0
  328. package/src/meetings/http-glue.ts +126 -0
  329. package/src/meetings/index.ts +5 -4
  330. package/src/meetings/manual-sync-flush.test.ts +72 -0
  331. package/src/meetings/mcp-tools.ts +65 -0
  332. package/src/meetings/memory-gen.test.ts +498 -0
  333. package/src/meetings/memory-gen.ts +549 -0
  334. package/src/meetings/memory-generator.ts +5 -0
  335. package/src/meetings/namespace-isolation.test.ts +159 -0
  336. package/src/meetings/service.test.ts +195 -0
  337. package/src/meetings/service.ts +157 -0
  338. package/src/meetings/summary-extractor.test.ts +287 -0
  339. package/src/meetings/summary-extractor.ts +264 -0
  340. package/src/orchestration/maintenance.ts +8 -0
  341. package/src/orchestration/orchestrator-init.ts +6 -1
  342. package/src/orchestration/workspace-ops.ts +172 -8
  343. package/src/orchestrator.ts +12 -13
  344. package/src/storage.ts +21 -0
  345. package/src/testing/subjects/meetings-namespace-harness.ts +159 -0
  346. package/src/testing/subjects/meetings-namespace.test.ts +93 -0
  347. package/src/types.ts +1 -2
  348. package/src/wearables/cli.ts +2 -1
  349. package/src/wearables/index.ts +1 -0
  350. package/src/wearables/mcp-tools.ts +143 -0
  351. package/src/wearables/registry.test.ts +11 -0
  352. package/src/wearables/registry.ts +13 -0
  353. package/src/wearables/service.test.ts +62 -1
  354. package/src/wearables/service.ts +30 -2
  355. package/src/wearables/transcript-search-namespace-isolation.test.ts +98 -0
  356. package/dist/chunk-6ANPNUVL.js.map +0 -1
  357. package/dist/chunk-6NZ7U4R4.js.map +0 -1
  358. package/dist/chunk-7S5OMI76.js.map +0 -1
  359. package/dist/chunk-ACGGTPU4.js.map +0 -1
  360. package/dist/chunk-DM5A4ZFL.js.map +0 -1
  361. package/dist/chunk-EQYBHXRR.js.map +0 -1
  362. package/dist/chunk-IC2TCZJ2.js.map +0 -1
  363. package/dist/chunk-MONWCSVL.js.map +0 -1
  364. package/dist/chunk-N6M7MRVN.js.map +0 -1
  365. package/dist/chunk-QMGIQUBG.js.map +0 -1
  366. package/dist/chunk-QTO2FGBT.js.map +0 -1
  367. package/dist/chunk-SQEDDWAM.js.map +0 -1
  368. package/dist/chunk-W3XT32W7.js.map +0 -1
  369. /package/dist/{auto-sync-UPTUVE4X.js.map → auto-sync-5OE5QOZB.js.map} +0 -0
  370. /package/dist/{chunk-GF22HWS2.js.map → chunk-2PHX3I5C.js.map} +0 -0
  371. /package/dist/{chunk-JFDEYXF7.js.map → chunk-3NAHZQU3.js.map} +0 -0
  372. /package/dist/{chunk-XBRPEGXF.js.map → chunk-3UOSVTFR.js.map} +0 -0
  373. /package/dist/{chunk-TTKWTT72.js.map → chunk-3ZW6ZQO6.js.map} +0 -0
  374. /package/dist/{chunk-UV72DEZD.js.map → chunk-4B77XSG5.js.map} +0 -0
  375. /package/dist/{chunk-LMHDFOVV.js.map → chunk-5CPI2QWG.js.map} +0 -0
  376. /package/dist/{chunk-P72WZMWQ.js.map → chunk-5FZQ74K5.js.map} +0 -0
  377. /package/dist/{chunk-BRT7KEXU.js.map → chunk-6TWXQ4E2.js.map} +0 -0
  378. /package/dist/{chunk-CV6ZYXK3.js.map → chunk-7I7AYIUQ.js.map} +0 -0
  379. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  380. /package/dist/{chunk-JN57HZCD.js.map → chunk-ATEAL5EI.js.map} +0 -0
  381. /package/dist/{chunk-4PYLBXX6.js.map → chunk-AYAROCWD.js.map} +0 -0
  382. /package/dist/{chunk-NB2P47N7.js.map → chunk-CUUY5CC4.js.map} +0 -0
  383. /package/dist/{chunk-KL5Y6PEV.js.map → chunk-E3ZMFFQZ.js.map} +0 -0
  384. /package/dist/{chunk-55FDQYPS.js.map → chunk-ES5IHQ6M.js.map} +0 -0
  385. /package/dist/{chunk-N47ZWQBO.js.map → chunk-G2NSSQES.js.map} +0 -0
  386. /package/dist/{chunk-GSWPU5CR.js.map → chunk-GD3QOBMB.js.map} +0 -0
  387. /package/dist/{chunk-SACPRJ7F.js.map → chunk-JNIJBXVK.js.map} +0 -0
  388. /package/dist/{chunk-DGLON3AL.js.map → chunk-KNRG6ZGJ.js.map} +0 -0
  389. /package/dist/{chunk-GEUDRENF.js.map → chunk-MMTG3SCJ.js.map} +0 -0
  390. /package/dist/{chunk-WZFAPHIK.js.map → chunk-MU7ZHSZE.js.map} +0 -0
  391. /package/dist/{chunk-W4FBGYGK.js.map → chunk-NRV4Y3PM.js.map} +0 -0
  392. /package/dist/{chunk-KQ2XCQYN.js.map → chunk-P2BLHUL2.js.map} +0 -0
  393. /package/dist/{chunk-6L775BUB.js.map → chunk-QE63OHLB.js.map} +0 -0
  394. /package/dist/{chunk-ONHRRJZM.js.map → chunk-QJAQNXWI.js.map} +0 -0
  395. /package/dist/{chunk-6RYWNBSA.js.map → chunk-SVZGA2MK.js.map} +0 -0
  396. /package/dist/{chunk-OCMLGND7.js.map → chunk-WWZ35GWW.js.map} +0 -0
  397. /package/dist/{chunk-A5N6ISRK.js.map → chunk-ZN4UZWMT.js.map} +0 -0
  398. /package/dist/{chunk-7M6APKJL.js.map → chunk-ZYU7ZFLT.js.map} +0 -0
  399. /package/dist/{first-start-migration-LEXL3XYL.js.map → first-start-migration-BKNGOFED.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { S as SessionObserverBandConfig } from './types-GBQZuT7l.js';
1
+ import { S as SessionObserverBandConfig } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { S as SessionObserverBandConfig } from './types-GBQZuT7l.js';
1
+ import { S as SessionObserverBandConfig } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { P as PluginConfig } from '../types-GBQZuT7l.js';
2
+ import { P as PluginConfig } from '../types-Bbs0qz6b.js';
3
3
  import '../message-parts/index.js';
4
4
  import '../bounded-jsonl-state.js';
5
5
  import '../types-continuity.js';
package/dist/signal.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ar as SignalScanResult } from './types-GBQZuT7l.js';
1
+ import { ar as SignalScanResult } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { au as FusedWearableConversation, av as FusedDayMeta, aw as FusedDayFile, ax as EntityTimelineEntry, ag as EntityStructuredSection, E as EntityFile, M as MemoryFile, P as PluginConfig, x as MemoryStatus, w as MemoryCategory, ah as ImportanceScore, ay as MemoryLink, o as MemoryFrontmatter, F as FaithfulnessFrontmatter, U as ProvenanceSource, az as BufferState, aA as MetaState, ab as MemoryActionEvent, z as MemoryLifecycleEvent, a0 as BufferSurpriseEvent, $ as BehaviorSignalEvent, ac as CompressionGuidelineOptimizerState, aB as FileHygieneConfig, aC as EntityRelationship, aD as EntityActivityEntry, aE as AccessTrackingEntry, y as MemoryProjectionCurrentState, aF as MemorySummary, as as TopicScore } from './types-GBQZuT7l.js';
1
+ import { ay as FusedWearableConversation, az as FusedDayMeta, aA as FusedDayFile, aB as MeetingRecord, aC as MeetingDetectionSource, aD as FusedMeeting, aE as EntityTimelineEntry, ag as EntityStructuredSection, E as EntityFile, M as MemoryFile, P as PluginConfig, x as MemoryStatus, w as MemoryCategory, ah as ImportanceScore, aF as MemoryLink, o as MemoryFrontmatter, F as FaithfulnessFrontmatter, O as ProvenanceSource, aG as BufferState, aH as MetaState, ab as MemoryActionEvent, z as MemoryLifecycleEvent, a0 as BufferSurpriseEvent, $ as BehaviorSignalEvent, ac as CompressionGuidelineOptimizerState, aI as FileHygieneConfig, aJ as EntityRelationship, aK as EntityActivityEntry, aL as AccessTrackingEntry, y as MemoryProjectionCurrentState, aM as MemorySummary, as as TopicScore } from './types-Bbs0qz6b.js';
2
2
  import { VersioningConfig } from './page-versioning.js';
3
3
  import { ConsolidationOperator } from './consolidation-operator.js';
4
4
  import { ProjectedMemoryBrowseOptions, ProjectedMemoryBrowsePage, readProjectedGovernanceRecord } from './memory-projection-store.js';
@@ -146,6 +146,127 @@ declare class FusionArtifactStore {
146
146
  private assertNoEscape;
147
147
  }
148
148
 
149
+ /**
150
+ * Meeting record composition, serialization, and the on-disk store (#1900).
151
+ *
152
+ * One markdown file per meeting under `<memoryDir>/meetings/<YYYY-MM-DD>/<id>.md`
153
+ * with YAML frontmatter. Placement mirrors the wearables day-store rationale:
154
+ *
155
+ * - OUTSIDE the memory scan roots (facts/, procedures/, …) so meeting
156
+ * transcripts never surface as memories in recall or governance passes;
157
+ * - INSIDE the QMD collection root (the memory dir) so records are full-text
158
+ * searchable after the next index update — but never auto-recalled raw.
159
+ *
160
+ * Records rebuild idempotently on `contentHash`: an unchanged meeting re-writes
161
+ * nothing. The transcript body reuses the wearables day-store line grammar
162
+ * (`**Name** [HH:MM]: text`, escape-aware) so existing parsers apply. File IO is
163
+ * injected (like the fusion artifact store) so encrypted-at-rest + atomic-write
164
+ * semantics are inherited without this module touching the secure-store key.
165
+ */
166
+
167
+ declare const MEETINGS_DIR_NAME = "meetings";
168
+ declare const MEETING_KIND: "meeting";
169
+ declare const MEETING_FORMAT_VERSION = 1;
170
+ /** The detection-source label from a meeting id would be ambiguous, so validate
171
+ * an id AND confirm its embedded date matches the directory it lives under. */
172
+ declare function meetingIdDate(id: string): string | null;
173
+ /** Base fields (identity + detection) a fused meeting is composed with. */
174
+ interface MeetingRecordBase {
175
+ id: string;
176
+ date: string;
177
+ startUtc: string;
178
+ endUtc: string;
179
+ app?: string;
180
+ detectionSource: MeetingDetectionSource;
181
+ title?: string;
182
+ }
183
+ /** Compose a full meeting record (with contentHash) from its base + fused view. */
184
+ declare function composeMeetingRecord(base: MeetingRecordBase, fused: FusedMeeting): MeetingRecord;
185
+ /** Serialize a meeting record into its persisted markdown form. */
186
+ declare function serializeMeetingRecord(record: MeetingRecord): string;
187
+ /** A meeting record's frontmatter, parsed for listing + idempotency checks. */
188
+ interface MeetingRecordSummary {
189
+ id: string;
190
+ date: string;
191
+ startUtc: string;
192
+ endUtc: string;
193
+ app?: string;
194
+ detectionSource: string;
195
+ title?: string;
196
+ attendees: string[];
197
+ sources: string[];
198
+ corroboratedBy: string[];
199
+ snapshotCount: number;
200
+ contentHash: string;
201
+ }
202
+ /** Parse a meeting record's frontmatter. Returns null when the content is not a
203
+ * meeting record (wrong kind, missing frontmatter) so callers distinguish a
204
+ * non-record from a corrupt one. */
205
+ declare function parseMeetingRecordSummary(raw: string): MeetingRecordSummary | null;
206
+ /**
207
+ * Encrypted-at-rest + atomic file IO the meeting record store needs. Satisfied
208
+ * by StorageManager (which owns the secure-store key + atomic write path) and
209
+ * injected so this module performs NO direct fs — records inherit the same
210
+ * encrypted-at-rest + atomic-write semantics as memories. Same shape as the
211
+ * fusion artifact store's IO port (kept per-module, not shared, so each store's
212
+ * boundary stays explicit).
213
+ */
214
+ interface MeetingRecordFileIo {
215
+ writeFile(filePath: string, content: string): Promise<void>;
216
+ readFile(filePath: string): Promise<string>;
217
+ readDir(dirPath: string): Promise<string[]>;
218
+ deleteFile(filePath: string): Promise<void>;
219
+ realpath(filePath: string): Promise<string>;
220
+ lstat(filePath: string): Promise<{
221
+ isSymbolicLink: boolean;
222
+ }>;
223
+ }
224
+ /** Result of an idempotent record save. */
225
+ interface MeetingSaveResult {
226
+ path: string;
227
+ /** False when the on-disk contentHash already matched (nothing rewritten). */
228
+ written: boolean;
229
+ contentHash: string;
230
+ }
231
+ /**
232
+ * Owns the meeting record files under `<memoryDir>/meetings/<date>/<id>.md`.
233
+ * Path construction, date/id validation, and symlink containment live here; the
234
+ * bytes flow through the injected secure IO. Containment is anchored to the real
235
+ * memory-dir root and mirrors the fusion artifact store (AGENTS.md pattern #3).
236
+ */
237
+ declare class MeetingRecordStore {
238
+ private readonly memoryDir;
239
+ private readonly io;
240
+ private readonly meetingsDir;
241
+ constructor(memoryDir: string, io: MeetingRecordFileIo);
242
+ recordPath(date: string, id: string): string;
243
+ /** Idempotently persist a record: skip the write when contentHash is unchanged. */
244
+ saveMeetingRecord(record: MeetingRecord): Promise<MeetingSaveResult>;
245
+ /** Read a stored record's raw markdown; null when absent. */
246
+ readMeetingRecord(date: string, id: string): Promise<string | null>;
247
+ /**
248
+ * Read + parse every stored record for a day exactly ONCE, sorted by start
249
+ * time (ascending, id tiebreak). The single day-read path both `listMeetingIds`
250
+ * and `listMeetingSummaries` derive from — no record is read twice.
251
+ */
252
+ private readDaySummaries;
253
+ /** List meeting ids stored for a day, sorted by start time (ascending). */
254
+ listMeetingIds(date: string): Promise<string[]>;
255
+ /** Read parsed summaries for a day, sorted by start time. */
256
+ listMeetingSummaries(date: string): Promise<MeetingRecordSummary[]>;
257
+ /** List dates that have at least one stored meeting record, newest first. */
258
+ listMeetingDates(): Promise<string[]>;
259
+ /** Remove a stored record. Idempotent: a no-op when already absent. */
260
+ deleteMeetingRecord(date: string, id: string): Promise<void>;
261
+ private readRaw;
262
+ private assertPathContained;
263
+ /** The `<meetings>/<date>` directory on the path to `targetPath`, or null when
264
+ * `targetPath` is the meetings root itself. */
265
+ private dayDirWithin;
266
+ private assertNotSymlink;
267
+ private assertNoEscape;
268
+ }
269
+
149
270
  /** Why a tombstone was emitted. */
150
271
  type TombstoneReason = "correction" | "supersession" | "retraction" | "contradiction_resolution";
151
272
  /** Who emitted the tombstone. */
@@ -1161,6 +1282,14 @@ declare class StorageManager {
1161
1282
  private _fusionStore?;
1162
1283
  /** Derived fusion-day IO; file IO lives in wearables/fusion (#1810). */
1163
1284
  fusionArtifactStore(): FusionArtifactStore;
1285
+ private _meetingRecordStore?;
1286
+ /**
1287
+ * Meeting record IO (issue #1900). Records live under `<baseDir>/meetings/`
1288
+ * — inside the QMD collection root (full-text searchable) but outside the
1289
+ * memory scan roots — and inherit the same encrypted-at-rest + atomic-write +
1290
+ * symlink-containment semantics as memories via the shared secure IO port.
1291
+ */
1292
+ meetingRecordStore(): MeetingRecordStore;
1164
1293
  /**
1165
1294
  * Locate a wearable-sourced memory by exact (trimmed) content,
1166
1295
  * ignoring the "[Attributes: ...]" suffix writeMemory appends for
@@ -1915,4 +2044,4 @@ declare class StorageManager {
1915
2044
  private appendGeneratedMemoryLifecycleEventFailOpen;
1916
2045
  }
1917
2046
 
1918
- export { ContentHashIndex as C, FusionArtifactStore as F, type MemoryWriteResult as M, type ReextractJobRequest as R, StorageManager as S, type WriteMemoryOptions as W, FUSION_KIND as a, parseFusionDay as b, composeFusionDayMeta as c, serializeFusionDay as d, type ContentHashIndexLockOptions as e, FactHashIndexNotAuthoritativeError as f, type MemoryLifecycleEventWriteOptions as g, hashFusionBody as h, type SealedWriteExtras as i, buildEntitySchemaCacheKey as j, compareEntityTimestamps as k, compileEntityFacts as l, countEntityStructuredFacts as m, fingerprintEntityStructuredFacts as n, isEntitySynthesisStale as o, parseEntityFile as p, isValidBufferSurpriseEvent as q, normalizeEntityName as r, serializeEntityFile as s, normalizeFrontmatterForPath as t, normalizeStructuredSectionFacts as u, parseFrontmatter as v, parseFrontmatterStringValue as w };
2047
+ export { countEntityStructuredFacts as A, fingerprintEntityStructuredFacts as B, ContentHashIndex as C, isEntitySynthesisStale as D, isValidBufferSurpriseEvent as E, FusionArtifactStore as F, normalizeEntityName as G, normalizeFrontmatterForPath as H, normalizeStructuredSectionFacts as I, parseFrontmatter as J, parseFrontmatterStringValue as K, type MemoryWriteResult as M, type ReextractJobRequest as R, StorageManager as S, type WriteMemoryOptions as W, MeetingRecordStore as a, type MeetingRecordSummary as b, FUSION_KIND as c, MEETINGS_DIR_NAME as d, MEETING_FORMAT_VERSION as e, MEETING_KIND as f, type MeetingRecordBase as g, type MeetingRecordFileIo as h, type MeetingSaveResult as i, composeFusionDayMeta as j, composeMeetingRecord as k, hashFusionBody as l, meetingIdDate as m, parseFusionDay as n, parseMeetingRecordSummary as o, parseEntityFile as p, serializeFusionDay as q, serializeMeetingRecord as r, serializeEntityFile as s, type ContentHashIndexLockOptions as t, FactHashIndexNotAuthoritativeError as u, type MemoryLifecycleEventWriteOptions as v, type SealedWriteExtras as w, buildEntitySchemaCacheKey as x, compareEntityTimestamps as y, compileEntityFacts as z };
package/dist/storage.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import './types-GBQZuT7l.js';
2
- export { C as ContentHashIndex, e as ContentHashIndexLockOptions, f as FactHashIndexNotAuthoritativeError, g as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, i as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, j as buildEntitySchemaCacheKey, k as compareEntityTimestamps, l as compileEntityFacts, m as countEntityStructuredFacts, n as fingerprintEntityStructuredFacts, o as isEntitySynthesisStale, q as isValidBufferSurpriseEvent, r as normalizeEntityName, t as normalizeFrontmatterForPath, u as normalizeStructuredSectionFacts, p as parseEntityFile, v as parseFrontmatter, w as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-BKhHHnRo.js';
1
+ import './types-Bbs0qz6b.js';
2
+ export { C as ContentHashIndex, t as ContentHashIndexLockOptions, u as FactHashIndexNotAuthoritativeError, v as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, w as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, x as buildEntitySchemaCacheKey, y as compareEntityTimestamps, z as compileEntityFacts, A as countEntityStructuredFacts, B as fingerprintEntityStructuredFacts, D as isEntitySynthesisStale, E as isValidBufferSurpriseEvent, G as normalizeEntityName, H as normalizeFrontmatterForPath, I as normalizeStructuredSectionFacts, p as parseEntityFile, J as parseFrontmatter, K as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-XGawwqXE.js';
3
3
  import './page-versioning.js';
4
4
  import './consolidation-operator.js';
5
5
  import './memory-projection-store.js';
package/dist/storage.js CHANGED
@@ -16,15 +16,15 @@ import {
16
16
  parseFrontmatter,
17
17
  parseFrontmatterStringValue,
18
18
  serializeEntityFile
19
- } from "./chunk-QMGIQUBG.js";
20
- import "./chunk-UHVXE24Y.js";
19
+ } from "./chunk-XWPFZX6S.js";
21
20
  import "./chunk-2QMKMVHH.js";
21
+ import "./chunk-UHVXE24Y.js";
22
22
  import "./chunk-DEBHXHJR.js";
23
23
  import "./chunk-DNHVPZOD.js";
24
24
  import "./chunk-6CIAGZ6X.js";
25
25
  import "./chunk-J6A3CX5N.js";
26
26
  import "./chunk-HKF5VASQ.js";
27
- import "./chunk-6NZ7U4R4.js";
27
+ import "./chunk-SCOT5DTA.js";
28
28
  import "./chunk-XKGPIWGI.js";
29
29
  import "./chunk-EGGE52UU.js";
30
30
  import "./chunk-GCASGYIO.js";
@@ -33,8 +33,8 @@ import "./chunk-ILGC6JH6.js";
33
33
  import "./chunk-SCU65EZI.js";
34
34
  import "./chunk-3CSX3ETE.js";
35
35
  import "./chunk-RL6NEVXT.js";
36
- import "./chunk-DM2T26WE.js";
37
36
  import "./chunk-LDXUBPMO.js";
37
+ import "./chunk-DM2T26WE.js";
38
38
  import "./chunk-JYIJNNN3.js";
39
39
  import "./chunk-AAD2ZS6P.js";
40
40
  import "./chunk-CGASUJVP.js";
@@ -1,5 +1,5 @@
1
1
  import { ModelRegistry } from './model-registry.js';
2
- import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-GBQZuT7l.js';
2
+ import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-Bbs0qz6b.js';
3
3
  import { TranscriptManager } from './transcript.js';
4
4
  import './message-parts/index.js';
5
5
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { H as HourlySummary } from './types-GBQZuT7l.js';
1
+ import { H as HourlySummary } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
- import { o as MemoryFrontmatter } from './types-GBQZuT7l.js';
2
- import { S as StorageManager } from './storage-BKhHHnRo.js';
1
+ import { o as MemoryFrontmatter } from './types-Bbs0qz6b.js';
2
+ import { S as StorageManager } from './storage-XGawwqXE.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-GBQZuT7l.js';
1
+ import { M as MemoryFile } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { o as MemoryFrontmatter } from './types-GBQZuT7l.js';
1
+ import { o as MemoryFrontmatter } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { n as BufferTurn, W as ConversationThread } from './types-GBQZuT7l.js';
1
+ import { n as BufferTurn, V as ConversationThread } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
- import { M as MemoryFile } from './types-GBQZuT7l.js';
2
- import { S as StorageManager } from './storage-BKhHHnRo.js';
1
+ import { M as MemoryFile } from './types-Bbs0qz6b.js';
2
+ import { S as StorageManager } from './storage-XGawwqXE.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
5
5
  import './message-parts/index.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-GBQZuT7l.js';
1
+ import { M as MemoryFile } from './types-Bbs0qz6b.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile, as as TopicScore } from './types-GBQZuT7l.js';
1
+ import { M as MemoryFile, as as TopicScore } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, T as TranscriptEntry, p as Checkpoint } from './types-GBQZuT7l.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, p as Checkpoint } from './types-Bbs0qz6b.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { F as FaithfulnessFrontmatter, U as ProvenanceSource, V as TrustWeights, Q as QmdSearchResult } from './types-GBQZuT7l.js';
1
+ import { F as FaithfulnessFrontmatter, O as ProvenanceSource, U as TrustWeights, Q as QmdSearchResult } from './types-Bbs0qz6b.js';
2
2
  import { TrustScoreResult, TrustSignals, TrustBand, TrustScoreComponent } from './trust-score.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { V as TrustWeights } from './types-GBQZuT7l.js';
1
+ import { U as TrustWeights } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
@@ -2104,8 +2104,7 @@ interface PluginConfig extends BoundedJsonlStateConfig {
2104
2104
  */
2105
2105
  wearables: WearablesConfig;
2106
2106
  activity: ActivityConfig;
2107
- /**
2108
- * Retrospective meeting intelligence (issue #1900): detect + fuse meetings
2107
+ /** Retrospective meeting intelligence (issue #1900): detect + fuse meetings
2109
2108
  * from already-ingested audio + screen activity. Disabled by default.
2110
2109
  */
2111
2110
  meetings: MeetingsConfig;
@@ -4451,4 +4450,4 @@ interface HourlySummary {
4451
4450
  generatedAt: string;
4452
4451
  }
4453
4452
 
4454
- export { type BehaviorSignalEvent as $, type ActiveRecallChatType as A, type BriefingSections as B, type CalendarSource as C, type DreamsPhase as D, type EntityFile as E, type FaithfulnessFrontmatter as F, type GatewayConfig as G, type HourlySummary as H, type IdentityInjectionMode as I, type ExtractionResult as J, type ConsolidationResult as K, type LiveConnectorsConfig as L, type MemoryFile as M, type DaySummaryResult as N, type ExtractionFailureClass as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallPlanMode as R, type SessionObserverBandConfig as S, type TranscriptEntry as T, type ProvenanceSource as U, type TrustWeights as V, type ConversationThread as W, type LifecycleState as X, type VerificationState as Y, type PolicyClass as Z, type ImportanceLevel as _, type DreamsRunResult as a, type FusionOptions as a$, type BufferSurpriseEvent as a0, type ImportTurn as a1, type BulkImportOptions as a2, type BulkImportSource as a3, type BulkImportResult as a4, type SecretRef as a5, type AgentAccessAuthToken as a6, type CompressionGuidelineOptimizerEventCounts as a7, type CompressionGuidelineOptimizerActionSummary as a8, type CompressionGuidelineOptimizerRuleUpdate as a9, type MetaState as aA, type FileHygieneConfig as aB, type EntityRelationship as aC, type EntityActivityEntry as aD, type AccessTrackingEntry as aE, type MemorySummary as aF, type CodingContext as aG, type DreamsStatusResult as aH, type WearableConversation as aI, type WearableSourceSettings as aJ, type WearableNativeMemory as aK, type WearableMemoryMode as aL, type WearableSourceConnector as aM, type WearablesConfig as aN, type WearableSyncSummary as aO, type WearableSourceStatus as aP, type WearableDayTranscript as aQ, type WearableCorrectionRule as aR, type RecallSectionConfig as aS, type BootstrapOptions as aT, type BootstrapResult as aU, type ConsolidationObservation as aV, type CodingModeConfig as aW, type FusionConversationInput as aX, type FusedSpeaker as aY, type FusedSegment as aZ, type FusedDisagreement as a_, type MemoryActionType as aa, type MemoryActionEvent as ab, type CompressionGuidelineOptimizerState as ac, type EntityMention as ad, type EntitySchemaDefinition as ae, type EntitySchemaSectionDefinition as af, type EntityStructuredSection as ag, type ImportanceScore as ah, type MemoryIntent as ai, type MemoryActionEligibilityContext as aj, type MemoryActionPolicyResult as ak, type MemoryLifecycleEventType as al, type MemoryLifecycleStateSummary as am, type ModelProviderConfig as an, type NativeKnowledgeConfig as ao, type ProvenanceConfig as ap, type RetrievalTier as aq, type SignalScanResult as ar, type TopicScore as as, type QmdSearchExplain as at, type FusedWearableConversation as au, type FusedDayMeta as av, type FusedDayFile as aw, type EntityTimelineEntry as ax, type MemoryLink as ay, type BufferState as az, type RecallDisclosure as b, type BufferEntryState as b$, type FusionDayResult as b0, type CodingKnowledgeConfig as b1, type WearableCleanupSettings as b2, type WearableFusionConfig as b3, type WearableDayTranscriptMeta as b4, type ActivitySnapshot as b5, type ActivityDayMeta as b6, type ActivityDayDigest as b7, type ActivitySourceClient as b8, type ActivitySourceCheck as b9, type ImportSourceRole as bA, type ImportTurnValidationIssue as bB, type MeetingAppSpan as bC, type MeetingAudioWindow as bD, type MeetingScreenContextEvent as bE, type MeetingSummaryMode as bF, type MemoryActionEligibilitySource as bG, type MemoryObservation as bH, type MemoryScope as bI, RECALL_DISCLOSURE_LEVELS as bJ, type SegmentPickReason as bK, type WearableAuthCheck as bL, type WearableFetchOptions as bM, type WearableFetchPage as bN, type WearableNativeMemoryPage as bO, type WearableTranscriptSegment as bP, isImportRole as bQ, isRecallDisclosure as bR, parseIsoTimestamp as bS, validateImportTurn as bT, type AgentAccessHttpConfig as bU, type AgentDefaultsConfig as bV, type AgentPersona as bW, type BehaviorLoopAdjustment as bX, type BehaviorSignalDirection as bY, type BehaviorSignalType as bZ, type BriefingCalendarSourceError as b_, type ActivitySnapshotPage as ba, type ActivityConfig as bb, type ActivitySourceConfig as bc, type MeetingsDetectionConfig as bd, type MeetingsDetectionInput as be, type DetectedMeeting as bf, type MeetingsConfig as bg, type MeetingBuildInput as bh, type FusedMeeting as bi, type MeetingDetectionSource as bj, type MeetingRecord as bk, type MeetingActivitySnapshot as bl, type ActivityExtractionMode as bm, type BriefingConfig as bn, type BriefingOpenCommitment as bo, type BriefingWindow as bp, type BulkImportError as bq, type BulkImportSourceAdapter as br, type CodexCompatConfig as bs, DEFAULT_RECALL_DISCLOSURE as bt, type DisagreementKind as bu, type ExtractedFact as bv, type FusedContribution as bw, type FusedConversationProvenance as bx, type FusedSegmentProvenance as by, type FusionSegmentInput as bz, type ActiveRecallQueryMode as c, type SlotBehaviorConfig as c$, type CaptureMode as c0, type ChatConfig as c1, type CodexCliReasoningEffort as c2, type CodexCompactionFlushMode as c3, type CodexConnectorConfig as c4, type CodingGraphLspConfig as c5, type CompressionGuidelineActivationState as c6, type CompressionGuidelineOptimizerSourceWindow as c7, type ConfidenceTier as c8, type ConsolidationAction as c9, type MemoryActionPolicyDecision as cA, type MemoryActionStatus as cB, type MemoryLinkType as cC, type MemoryOsPresetName as cD, type ModelApi as cE, type ModelDefinitionConfig as cF, type ModelProviderAuthMode as cG, type NamespacePolicy as cH, type NativeKnowledgeFolderRuleConfig as cI, type NativeKnowledgeObsidianVaultConfig as cJ, type NativeKnowledgeOpenClawWorkspaceConfig as cK, type NotionLiveConnectorConfig as cL, type PrincipalFromSessionKeyMode as cM, type PrincipalRule as cN, type ProceduralConfig as cO, type QuestionEntry as cP, type ReasoningEffort as cQ, type RecallPipelineConfig as cR, type RecallTraceEvent as cS, type RelevanceFeedback as cT, SPECULATIVE_TTL_DAYS as cU, type ScopeProfileAutoPromoteConfig as cV, type ScopeProfileTeamProjectConfig as cW, type ScopeTeamConfig as cX, type ScoredEntity as cY, type SemanticChunkingConfigShape as cZ, type SignalLevel as c_, type ConsolidationItem as ca, type ContradictionScanConfig as cb, type CronConversationRecallMode as cc, type CronRecallMode as cd, type DreamingConfig as ce, type DreamingNarrativePromptStyle as cf, type DreamsDeepSleepConfig as cg, type DreamsLightSleepConfig as ch, type DreamsPhaseStatus as ci, type DreamsPhasesConfig as cj, type DreamsRemConfig as ck, type EngramTraceEvent as cl, type ExtractedProcedureStep as cm, type ExtractedQuestion as cn, type ExtractedReasoningTrace as co, type ExtractedReasoningTraceStep as cp, type ExtractedRelationship as cq, type ExtractionPassSource as cr, type GitHubLiveConnectorConfig as cs, type GmailLiveConnectorConfig as ct, type GoogleDriveLiveConnectorConfig as cu, type HeartbeatConfig as cv, type HeartbeatDetectionMode as cw, type LlmTraceCallback as cx, type LlmTraceEvent as cy, type MemoryActionOutcome as cz, type ActiveRecallPromptStyle as d, type SlotMismatchMode as d0, type TriggerMode as d1, confidenceTier as d2, type ActiveRecallThinking as e, type ActiveRecallModelFallbackPolicy as f, type RecallTierExplain as g, type BriefingFollowup as h, type BriefingFocus as i, type CalendarEvent as j, type BriefingActiveThread as k, type BriefingResult as l, type BriefingRecentEntity as m, type BufferTurn as n, type MemoryFrontmatter as o, type Checkpoint as p, type AgentPersonaModelConfig as q, type SourceConnectorProvenance as r, type ScopeProfileConfig as s, type ScopeProfileLayerId as t, type ScopeProfilePromotionTarget as u, type BehaviorLoopPolicyState as v, type MemoryCategory as w, type MemoryStatus as x, type MemoryProjectionCurrentState as y, type MemoryLifecycleEvent as z };
4453
+ export { type BehaviorSignalEvent as $, type ActiveRecallChatType as A, type BriefingSections as B, type CalendarSource as C, type DreamsPhase as D, type EntityFile as E, type FaithfulnessFrontmatter as F, type GatewayConfig as G, type HourlySummary as H, type IdentityInjectionMode as I, type ExtractionResult as J, type ConsolidationResult as K, type LiveConnectorsConfig as L, type MemoryFile as M, type DaySummaryResult as N, type ProvenanceSource as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallPlanMode as R, type SessionObserverBandConfig as S, type TranscriptEntry as T, type TrustWeights as U, type ConversationThread as V, type LifecycleState as W, type VerificationState as X, type PolicyClass as Y, type ExtractionFailureClass as Z, type ImportanceLevel as _, type DreamsRunResult as a, type MeetingActivitySnapshot as a$, type BufferSurpriseEvent as a0, type ImportTurn as a1, type BulkImportOptions as a2, type BulkImportSource as a3, type BulkImportResult as a4, type SecretRef as a5, type AgentAccessAuthToken as a6, type CompressionGuidelineOptimizerEventCounts as a7, type CompressionGuidelineOptimizerActionSummary as a8, type CompressionGuidelineOptimizerRuleUpdate as a9, type FusedDayFile as aA, type MeetingRecord as aB, type MeetingDetectionSource as aC, type FusedMeeting as aD, type EntityTimelineEntry as aE, type MemoryLink as aF, type BufferState as aG, type MetaState as aH, type FileHygieneConfig as aI, type EntityRelationship as aJ, type EntityActivityEntry as aK, type AccessTrackingEntry as aL, type MemorySummary as aM, type WearableConversation as aN, type WearableSourceSettings as aO, type WearableNativeMemory as aP, type WearableMemoryMode as aQ, type WearableSourceConnector as aR, type WearablesConfig as aS, type WearableSyncSummary as aT, type WearableSourceStatus as aU, type WearableDayTranscript as aV, type WearableCorrectionRule as aW, type MeetingBuildInput as aX, type MeetingsConfig as aY, type MeetingsDetectionInput as aZ, type FusionConversationInput as a_, type MemoryActionType as aa, type MemoryActionEvent as ab, type CompressionGuidelineOptimizerState as ac, type EntityMention as ad, type EntitySchemaDefinition as ae, type EntitySchemaSectionDefinition as af, type EntityStructuredSection as ag, type ImportanceScore as ah, type MemoryIntent as ai, type MemoryActionEligibilityContext as aj, type MemoryActionPolicyResult as ak, type MemoryLifecycleEventType as al, type MemoryLifecycleStateSummary as am, type ModelProviderConfig as an, type NativeKnowledgeConfig as ao, type ProvenanceConfig as ap, type RetrievalTier as aq, type SignalScanResult as ar, type TopicScore as as, type QmdSearchExplain as at, type ActivitySnapshot as au, type ActivityConfig as av, type ActivitySourceConfig as aw, type ActivitySourceClient as ax, type FusedWearableConversation as ay, type FusedDayMeta as az, type RecallDisclosure as b, type BufferEntryState as b$, type DetectedMeeting as b0, type CodingContext as b1, type DreamsStatusResult as b2, type RecallSectionConfig as b3, type BootstrapOptions as b4, type BootstrapResult as b5, type ConsolidationObservation as b6, type CodingModeConfig as b7, type FusedSpeaker as b8, type FusedSegment as b9, type FusedSegmentProvenance as bA, type FusionSegmentInput as bB, type ImportSourceRole as bC, type ImportTurnValidationIssue as bD, type MeetingScreenContextEvent as bE, type MeetingSummaryMode as bF, type MemoryActionEligibilitySource as bG, type MemoryObservation as bH, type MemoryScope as bI, RECALL_DISCLOSURE_LEVELS as bJ, type SegmentPickReason as bK, type WearableAuthCheck as bL, type WearableFetchOptions as bM, type WearableFetchPage as bN, type WearableNativeMemoryPage as bO, type WearableTranscriptSegment as bP, isImportRole as bQ, isRecallDisclosure as bR, parseIsoTimestamp as bS, validateImportTurn as bT, type AgentAccessHttpConfig as bU, type AgentDefaultsConfig as bV, type AgentPersona as bW, type BehaviorLoopAdjustment as bX, type BehaviorSignalDirection as bY, type BehaviorSignalType as bZ, type BriefingCalendarSourceError as b_, type FusedDisagreement as ba, type FusionOptions as bb, type FusionDayResult as bc, type CodingKnowledgeConfig as bd, type WearableCleanupSettings as be, type WearableFusionConfig as bf, type WearableDayTranscriptMeta as bg, type ActivityDayMeta as bh, type ActivityDayDigest as bi, type ActivitySourceCheck as bj, type ActivitySnapshotPage as bk, type MeetingsDetectionConfig as bl, type MeetingAudioWindow as bm, type MeetingAppSpan as bn, type ActivityExtractionMode as bo, type BriefingConfig as bp, type BriefingOpenCommitment as bq, type BriefingWindow as br, type BulkImportError as bs, type BulkImportSourceAdapter as bt, type CodexCompatConfig as bu, DEFAULT_RECALL_DISCLOSURE as bv, type DisagreementKind as bw, type ExtractedFact as bx, type FusedContribution as by, type FusedConversationProvenance as bz, type ActiveRecallQueryMode as c, type SlotBehaviorConfig as c$, type CaptureMode as c0, type ChatConfig as c1, type CodexCliReasoningEffort as c2, type CodexCompactionFlushMode as c3, type CodexConnectorConfig as c4, type CodingGraphLspConfig as c5, type CompressionGuidelineActivationState as c6, type CompressionGuidelineOptimizerSourceWindow as c7, type ConfidenceTier as c8, type ConsolidationAction as c9, type MemoryActionPolicyDecision as cA, type MemoryActionStatus as cB, type MemoryLinkType as cC, type MemoryOsPresetName as cD, type ModelApi as cE, type ModelDefinitionConfig as cF, type ModelProviderAuthMode as cG, type NamespacePolicy as cH, type NativeKnowledgeFolderRuleConfig as cI, type NativeKnowledgeObsidianVaultConfig as cJ, type NativeKnowledgeOpenClawWorkspaceConfig as cK, type NotionLiveConnectorConfig as cL, type PrincipalFromSessionKeyMode as cM, type PrincipalRule as cN, type ProceduralConfig as cO, type QuestionEntry as cP, type ReasoningEffort as cQ, type RecallPipelineConfig as cR, type RecallTraceEvent as cS, type RelevanceFeedback as cT, SPECULATIVE_TTL_DAYS as cU, type ScopeProfileAutoPromoteConfig as cV, type ScopeProfileTeamProjectConfig as cW, type ScopeTeamConfig as cX, type ScoredEntity as cY, type SemanticChunkingConfigShape as cZ, type SignalLevel as c_, type ConsolidationItem as ca, type ContradictionScanConfig as cb, type CronConversationRecallMode as cc, type CronRecallMode as cd, type DreamingConfig as ce, type DreamingNarrativePromptStyle as cf, type DreamsDeepSleepConfig as cg, type DreamsLightSleepConfig as ch, type DreamsPhaseStatus as ci, type DreamsPhasesConfig as cj, type DreamsRemConfig as ck, type EngramTraceEvent as cl, type ExtractedProcedureStep as cm, type ExtractedQuestion as cn, type ExtractedReasoningTrace as co, type ExtractedReasoningTraceStep as cp, type ExtractedRelationship as cq, type ExtractionPassSource as cr, type GitHubLiveConnectorConfig as cs, type GmailLiveConnectorConfig as ct, type GoogleDriveLiveConnectorConfig as cu, type HeartbeatConfig as cv, type HeartbeatDetectionMode as cw, type LlmTraceCallback as cx, type LlmTraceEvent as cy, type MemoryActionOutcome as cz, type ActiveRecallPromptStyle as d, type SlotMismatchMode as d0, type TriggerMode as d1, confidenceTier as d2, type ActiveRecallThinking as e, type ActiveRecallModelFallbackPolicy as f, type RecallTierExplain as g, type BriefingFollowup as h, type BriefingFocus as i, type CalendarEvent as j, type BriefingActiveThread as k, type BriefingResult as l, type BriefingRecentEntity as m, type BufferTurn as n, type MemoryFrontmatter as o, type Checkpoint as p, type AgentPersonaModelConfig as q, type SourceConnectorProvenance as r, type ScopeProfileConfig as s, type ScopeProfileLayerId as t, type ScopeProfilePromotionTarget as u, type BehaviorLoopPolicyState as v, type MemoryCategory as w, type MemoryStatus as x, type MemoryProjectionCurrentState as y, type MemoryLifecycleEvent as z };
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { aE as AccessTrackingEntry, A as ActiveRecallChatType, f as ActiveRecallModelFallbackPolicy, d as ActiveRecallPromptStyle, c as ActiveRecallQueryMode, e as ActiveRecallThinking, a6 as AgentAccessAuthToken, bU as AgentAccessHttpConfig, bV as AgentDefaultsConfig, bW as AgentPersona, q as AgentPersonaModelConfig, bX as BehaviorLoopAdjustment, v as BehaviorLoopPolicyState, bY as BehaviorSignalDirection, $ as BehaviorSignalEvent, bZ as BehaviorSignalType, aT as BootstrapOptions, aU as BootstrapResult, k as BriefingActiveThread, b_ as BriefingCalendarSourceError, bn as BriefingConfig, i as BriefingFocus, h as BriefingFollowup, bo as BriefingOpenCommitment, m as BriefingRecentEntity, l as BriefingResult, B as BriefingSections, bp as BriefingWindow, b$ as BufferEntryState, az as BufferState, a0 as BufferSurpriseEvent, n as BufferTurn, j as CalendarEvent, C as CalendarSource, c0 as CaptureMode, c1 as ChatConfig, p as Checkpoint, c2 as CodexCliReasoningEffort, c3 as CodexCompactionFlushMode, bs as CodexCompatConfig, c4 as CodexConnectorConfig, aG as CodingContext, c5 as CodingGraphLspConfig, b1 as CodingKnowledgeConfig, aW as CodingModeConfig, c6 as CompressionGuidelineActivationState, a8 as CompressionGuidelineOptimizerActionSummary, a7 as CompressionGuidelineOptimizerEventCounts, a9 as CompressionGuidelineOptimizerRuleUpdate, c7 as CompressionGuidelineOptimizerSourceWindow, ac as CompressionGuidelineOptimizerState, c8 as ConfidenceTier, c9 as ConsolidationAction, ca as ConsolidationItem, aV as ConsolidationObservation, K as ConsolidationResult, cb as ContradictionScanConfig, W as ConversationThread, cc as CronConversationRecallMode, cd as CronRecallMode, bt as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, ce as DreamingConfig, cf as DreamingNarrativePromptStyle, cg as DreamsDeepSleepConfig, ch as DreamsLightSleepConfig, D as DreamsPhase, ci as DreamsPhaseStatus, cj as DreamsPhasesConfig, ck as DreamsRemConfig, a as DreamsRunResult, aH as DreamsStatusResult, cl as EngramTraceEvent, aD as EntityActivityEntry, E as EntityFile, ad as EntityMention, aC as EntityRelationship, ae as EntitySchemaDefinition, af as EntitySchemaSectionDefinition, ag as EntityStructuredSection, ax as EntityTimelineEntry, bv as ExtractedFact, cm as ExtractedProcedureStep, cn as ExtractedQuestion, co as ExtractedReasoningTrace, cp as ExtractedReasoningTraceStep, cq as ExtractedRelationship, O as ExtractionFailureClass, cr as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, aB as FileHygieneConfig, G as GatewayConfig, cs as GitHubLiveConnectorConfig, ct as GmailLiveConnectorConfig, cu as GoogleDriveLiveConnectorConfig, cv as HeartbeatConfig, cw as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, _ as ImportanceLevel, ah as ImportanceScore, X as LifecycleState, L as LiveConnectorsConfig, cx as LlmTraceCallback, cy as LlmTraceEvent, aj as MemoryActionEligibilityContext, bG as MemoryActionEligibilitySource, ab as MemoryActionEvent, cz as MemoryActionOutcome, cA as MemoryActionPolicyDecision, ak as MemoryActionPolicyResult, cB as MemoryActionStatus, aa as MemoryActionType, w as MemoryCategory, M as MemoryFile, o as MemoryFrontmatter, ai as MemoryIntent, z as MemoryLifecycleEvent, al as MemoryLifecycleEventType, am as MemoryLifecycleStateSummary, ay as MemoryLink, cC as MemoryLinkType, bH as MemoryObservation, cD as MemoryOsPresetName, y as MemoryProjectionCurrentState, bI as MemoryScope, x as MemoryStatus, aF as MemorySummary, aA as MetaState, cE as ModelApi, cF as ModelDefinitionConfig, cG as ModelProviderAuthMode, an as ModelProviderConfig, cH as NamespacePolicy, ao as NativeKnowledgeConfig, cI as NativeKnowledgeFolderRuleConfig, cJ as NativeKnowledgeObsidianVaultConfig, cK as NativeKnowledgeOpenClawWorkspaceConfig, cL as NotionLiveConnectorConfig, P as PluginConfig, Z as PolicyClass, cM as PrincipalFromSessionKeyMode, cN as PrincipalRule, cO as ProceduralConfig, ap as ProvenanceConfig, U as ProvenanceSource, at as QmdSearchExplain, Q as QmdSearchResult, cP as QuestionEntry, bJ as RECALL_DISCLOSURE_LEVELS, cQ as ReasoningEffort, b as RecallDisclosure, cR as RecallPipelineConfig, R as RecallPlanMode, aS as RecallSectionConfig, g as RecallTierExplain, cS as RecallTraceEvent, cT as RelevanceFeedback, aq as RetrievalTier, cU as SPECULATIVE_TTL_DAYS, cV as ScopeProfileAutoPromoteConfig, s as ScopeProfileConfig, t as ScopeProfileLayerId, u as ScopeProfilePromotionTarget, cW as ScopeProfileTeamProjectConfig, cX as ScopeTeamConfig, cY as ScoredEntity, a5 as SecretRef, cZ as SemanticChunkingConfigShape, S as SessionObserverBandConfig, c_ as SignalLevel, ar as SignalScanResult, c$ as SlotBehaviorConfig, d0 as SlotMismatchMode, r as SourceConnectorProvenance, as as TopicScore, T as TranscriptEntry, d1 as TriggerMode, V as TrustWeights, Y as VerificationState, d2 as confidenceTier, bR as isRecallDisclosure } from './types-GBQZuT7l.js';
1
+ export { aL as AccessTrackingEntry, A as ActiveRecallChatType, f as ActiveRecallModelFallbackPolicy, d as ActiveRecallPromptStyle, c as ActiveRecallQueryMode, e as ActiveRecallThinking, a6 as AgentAccessAuthToken, bU as AgentAccessHttpConfig, bV as AgentDefaultsConfig, bW as AgentPersona, q as AgentPersonaModelConfig, bX as BehaviorLoopAdjustment, v as BehaviorLoopPolicyState, bY as BehaviorSignalDirection, $ as BehaviorSignalEvent, bZ as BehaviorSignalType, b4 as BootstrapOptions, b5 as BootstrapResult, k as BriefingActiveThread, b_ as BriefingCalendarSourceError, bp as BriefingConfig, i as BriefingFocus, h as BriefingFollowup, bq as BriefingOpenCommitment, m as BriefingRecentEntity, l as BriefingResult, B as BriefingSections, br as BriefingWindow, b$ as BufferEntryState, aG as BufferState, a0 as BufferSurpriseEvent, n as BufferTurn, j as CalendarEvent, C as CalendarSource, c0 as CaptureMode, c1 as ChatConfig, p as Checkpoint, c2 as CodexCliReasoningEffort, c3 as CodexCompactionFlushMode, bu as CodexCompatConfig, c4 as CodexConnectorConfig, b1 as CodingContext, c5 as CodingGraphLspConfig, bd as CodingKnowledgeConfig, b7 as CodingModeConfig, c6 as CompressionGuidelineActivationState, a8 as CompressionGuidelineOptimizerActionSummary, a7 as CompressionGuidelineOptimizerEventCounts, a9 as CompressionGuidelineOptimizerRuleUpdate, c7 as CompressionGuidelineOptimizerSourceWindow, ac as CompressionGuidelineOptimizerState, c8 as ConfidenceTier, c9 as ConsolidationAction, ca as ConsolidationItem, b6 as ConsolidationObservation, K as ConsolidationResult, cb as ContradictionScanConfig, V as ConversationThread, cc as CronConversationRecallMode, cd as CronRecallMode, bv as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, ce as DreamingConfig, cf as DreamingNarrativePromptStyle, cg as DreamsDeepSleepConfig, ch as DreamsLightSleepConfig, D as DreamsPhase, ci as DreamsPhaseStatus, cj as DreamsPhasesConfig, ck as DreamsRemConfig, a as DreamsRunResult, b2 as DreamsStatusResult, cl as EngramTraceEvent, aK as EntityActivityEntry, E as EntityFile, ad as EntityMention, aJ as EntityRelationship, ae as EntitySchemaDefinition, af as EntitySchemaSectionDefinition, ag as EntityStructuredSection, aE as EntityTimelineEntry, bx as ExtractedFact, cm as ExtractedProcedureStep, cn as ExtractedQuestion, co as ExtractedReasoningTrace, cp as ExtractedReasoningTraceStep, cq as ExtractedRelationship, Z as ExtractionFailureClass, cr as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, aI as FileHygieneConfig, G as GatewayConfig, cs as GitHubLiveConnectorConfig, ct as GmailLiveConnectorConfig, cu as GoogleDriveLiveConnectorConfig, cv as HeartbeatConfig, cw as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, _ as ImportanceLevel, ah as ImportanceScore, W as LifecycleState, L as LiveConnectorsConfig, cx as LlmTraceCallback, cy as LlmTraceEvent, aj as MemoryActionEligibilityContext, bG as MemoryActionEligibilitySource, ab as MemoryActionEvent, cz as MemoryActionOutcome, cA as MemoryActionPolicyDecision, ak as MemoryActionPolicyResult, cB as MemoryActionStatus, aa as MemoryActionType, w as MemoryCategory, M as MemoryFile, o as MemoryFrontmatter, ai as MemoryIntent, z as MemoryLifecycleEvent, al as MemoryLifecycleEventType, am as MemoryLifecycleStateSummary, aF as MemoryLink, cC as MemoryLinkType, bH as MemoryObservation, cD as MemoryOsPresetName, y as MemoryProjectionCurrentState, bI as MemoryScope, x as MemoryStatus, aM as MemorySummary, aH as MetaState, cE as ModelApi, cF as ModelDefinitionConfig, cG as ModelProviderAuthMode, an as ModelProviderConfig, cH as NamespacePolicy, ao as NativeKnowledgeConfig, cI as NativeKnowledgeFolderRuleConfig, cJ as NativeKnowledgeObsidianVaultConfig, cK as NativeKnowledgeOpenClawWorkspaceConfig, cL as NotionLiveConnectorConfig, P as PluginConfig, Y as PolicyClass, cM as PrincipalFromSessionKeyMode, cN as PrincipalRule, cO as ProceduralConfig, ap as ProvenanceConfig, O as ProvenanceSource, at as QmdSearchExplain, Q as QmdSearchResult, cP as QuestionEntry, bJ as RECALL_DISCLOSURE_LEVELS, cQ as ReasoningEffort, b as RecallDisclosure, cR as RecallPipelineConfig, R as RecallPlanMode, b3 as RecallSectionConfig, g as RecallTierExplain, cS as RecallTraceEvent, cT as RelevanceFeedback, aq as RetrievalTier, cU as SPECULATIVE_TTL_DAYS, cV as ScopeProfileAutoPromoteConfig, s as ScopeProfileConfig, t as ScopeProfileLayerId, u as ScopeProfilePromotionTarget, cW as ScopeProfileTeamProjectConfig, cX as ScopeTeamConfig, cY as ScoredEntity, a5 as SecretRef, cZ as SemanticChunkingConfigShape, S as SessionObserverBandConfig, c_ as SignalLevel, ar as SignalScanResult, c$ as SlotBehaviorConfig, d0 as SlotMismatchMode, r as SourceConnectorProvenance, as as TopicScore, T as TranscriptEntry, d1 as TriggerMode, U as TrustWeights, X as VerificationState, d2 as confidenceTier, bR as isRecallDisclosure } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  export { ContinuityImprovementLoop, ContinuityIncidentCloseInput, ContinuityIncidentOpenInput, ContinuityIncidentRecord, ContinuityIncidentState, ContinuityLoopCadence, ContinuityLoopReviewInput, ContinuityLoopStatus, ContinuityLoopUpsertInput } from './types-continuity.js';
package/dist/types.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  SPECULATIVE_TTL_DAYS,
5
5
  confidenceTier,
6
6
  isRecallDisclosure
7
- } from "./chunk-6NZ7U4R4.js";
7
+ } from "./chunk-SCOT5DTA.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  DEFAULT_RECALL_DISCLOSURE,
@@ -1,5 +1,5 @@
1
1
  import { TierRoutingPolicy } from './tier-routing.js';
2
- import './types-GBQZuT7l.js';
2
+ import './types-Bbs0qz6b.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './types-continuity.js';
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-JN57HZCD.js";
4
+ } from "./chunk-ATEAL5EI.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
- import "./chunk-QMGIQUBG.js";
7
- import "./chunk-UHVXE24Y.js";
6
+ import "./chunk-ZBJMUXZH.js";
7
+ import "./chunk-XWPFZX6S.js";
8
8
  import "./chunk-2QMKMVHH.js";
9
+ import "./chunk-UHVXE24Y.js";
9
10
  import "./chunk-DEBHXHJR.js";
10
11
  import "./chunk-DNHVPZOD.js";
11
12
  import "./chunk-6CIAGZ6X.js";
12
13
  import "./chunk-J6A3CX5N.js";
13
14
  import "./chunk-HKF5VASQ.js";
14
- import "./chunk-6NZ7U4R4.js";
15
+ import "./chunk-SCOT5DTA.js";
15
16
  import "./chunk-XKGPIWGI.js";
16
17
  import "./chunk-EGGE52UU.js";
17
18
  import "./chunk-GCASGYIO.js";
@@ -20,8 +21,8 @@ import "./chunk-ILGC6JH6.js";
20
21
  import "./chunk-SCU65EZI.js";
21
22
  import "./chunk-3CSX3ETE.js";
22
23
  import "./chunk-RL6NEVXT.js";
23
- import "./chunk-DM2T26WE.js";
24
24
  import "./chunk-LDXUBPMO.js";
25
+ import "./chunk-DM2T26WE.js";
25
26
  import "./chunk-JYIJNNN3.js";
26
27
  import "./chunk-AAD2ZS6P.js";
27
28
  import "./chunk-CGASUJVP.js";
@@ -52,7 +53,6 @@ import "./chunk-JUC24CTX.js";
52
53
  import "./chunk-P7FMDTKL.js";
53
54
  import "./chunk-6MKAMLQL.js";
54
55
  import "./chunk-JAKIDQB2.js";
55
- import "./chunk-ZBJMUXZH.js";
56
56
  import "./chunk-RDQGLJRR.js";
57
57
  import "./chunk-FF4KLI5W.js";
58
58
  import "./chunk-AIK5W3IW.js";
@@ -1,4 +1,4 @@
1
- import { w as MemoryCategory } from './types-GBQZuT7l.js';
1
+ import { w as MemoryCategory } from './types-Bbs0qz6b.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './types-continuity.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.22.0",
3
+ "version": "9.22.1",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3045,7 +3045,7 @@
3045
3045
  "core"
3046
3046
  ],
3047
3047
  "peerDependencies": {
3048
- "@remnic/coding-graph": "^9.22.0"
3048
+ "@remnic/coding-graph": "^9.22.1"
3049
3049
  },
3050
3050
  "peerDependenciesMeta": {
3051
3051
  "@remnic/coding-graph": {
@@ -75,6 +75,9 @@ export const OPERATION_NAMES = [
75
75
  "transcript_day",
76
76
  "transcript_search",
77
77
  "transcript_memories",
78
+ "meetings_list",
79
+ "meetings_get",
80
+ "meetings_build",
78
81
  "action_confidence",
79
82
  "chatgpt_memory_inspector",
80
83
  "day_summary",
@@ -2895,3 +2895,66 @@ test("HTTP namespace/writable preflight admits write-scoped tokens and rejects r
2895
2895
  await server.stop();
2896
2896
  }
2897
2897
  });
2898
+
2899
+ test("HTTP meetings build enforces the per-principal write rate limit (issue #1937)", async () => {
2900
+ let builds = 0;
2901
+ const service = {
2902
+ meetingsBuild: async (date: string) => {
2903
+ builds += 1;
2904
+ return { enabled: true, date, meetings: [] };
2905
+ },
2906
+ } as unknown as EngramAccessService;
2907
+ const server = new EngramAccessHttpServer({
2908
+ service,
2909
+ port: 0,
2910
+ authToken: "test-token",
2911
+ adminConsoleEnabled: false,
2912
+ writeRateLimitMaxRequests: 1,
2913
+ });
2914
+ const status = await server.start();
2915
+ try {
2916
+ const build = () =>
2917
+ fetch(`http://127.0.0.1:${status.port}/engram/v1/meetings/build`, {
2918
+ method: "POST",
2919
+ headers: { authorization: "Bearer test-token", "content-type": "application/json" },
2920
+ body: JSON.stringify({ date: "2026-03-10" }),
2921
+ });
2922
+ const first = await build();
2923
+ assert.equal(first.status, 200, "the first build is within the write quota");
2924
+ const second = await build();
2925
+ assert.equal(second.status, 429, "the second build exceeds the per-principal write quota");
2926
+ const rateLimited = await second.json() as { code?: string };
2927
+ assert.equal(rateLimited.code, "write_rate_limited");
2928
+ assert.equal(builds, 1, "the rate-limited build never reached the service (no persist/reindex)");
2929
+ } finally {
2930
+ await server.stop();
2931
+ }
2932
+ });
2933
+
2934
+ test("HTTP meetings get returns 400 (not 500) for a malformed percent-encoded id (issue #1900)", async () => {
2935
+ let called = 0;
2936
+ const service = {
2937
+ meetingsGet: async () => {
2938
+ called += 1;
2939
+ return { enabled: true, found: false, id: "x", record: null };
2940
+ },
2941
+ } as unknown as EngramAccessService;
2942
+ const server = new EngramAccessHttpServer({
2943
+ service,
2944
+ port: 0,
2945
+ authToken: "test-token",
2946
+ adminConsoleEnabled: false,
2947
+ });
2948
+ const status = await server.start();
2949
+ try {
2950
+ const response = await fetch(`http://127.0.0.1:${status.port}/engram/v1/meetings/%E0%A4%A`, {
2951
+ headers: { authorization: "Bearer test-token" },
2952
+ });
2953
+ assert.equal(response.status, 400, "a malformed id is a client error, not an internal 500");
2954
+ const errorBody = await response.json() as { code?: string };
2955
+ assert.equal(errorBody.code, "invalid_request");
2956
+ assert.equal(called, 0, "the malformed id never reached the service");
2957
+ } finally {
2958
+ await server.stop();
2959
+ }
2960
+ });