@remnic/core 9.3.713 → 9.3.715

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 (325) hide show
  1. package/dist/access-boundary.d.ts +6 -6
  2. package/dist/access-boundary.js +17 -16
  3. package/dist/access-cli.js +39 -38
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +5 -5
  6. package/dist/access-http.js +23 -22
  7. package/dist/access-mcp.d.ts +12 -5
  8. package/dist/access-mcp.js +20 -19
  9. package/dist/access-operations-batch.js +18 -17
  10. package/dist/access-operations.d.ts +6 -5
  11. package/dist/access-operations.js +19 -18
  12. package/dist/{access-service-DwVmvgBg.d.ts → access-service-GgnA--CE.d.ts} +12 -4
  13. package/dist/access-service.d.ts +5 -5
  14. package/dist/access-service.js +16 -15
  15. package/dist/access-surface-catalog.d.ts +5 -5
  16. package/dist/access-surface-catalog.js +6 -1
  17. package/dist/access-surface-catalog.js.map +1 -1
  18. package/dist/action-confidence.d.ts +1 -1
  19. package/dist/active-memory-bridge.d.ts +3 -1
  20. package/dist/active-memory-bridge.js +2 -1
  21. package/dist/active-recall.d.ts +1 -1
  22. package/dist/active-recall.js +4 -3
  23. package/dist/active-recall.js.map +1 -1
  24. package/dist/adapters/index.js +4 -4
  25. package/dist/adapters/registry.js +2 -2
  26. package/dist/behavior-learner.d.ts +1 -1
  27. package/dist/behavior-signals.d.ts +1 -1
  28. package/dist/bootstrap.d.ts +4 -4
  29. package/dist/briefing.d.ts +1 -1
  30. package/dist/briefing.js +8 -7
  31. package/dist/buffer-surprise-report.d.ts +1 -1
  32. package/dist/buffer.d.ts +1 -1
  33. package/dist/calibration.d.ts +1 -1
  34. package/dist/capabilities.d.ts +1 -1
  35. package/dist/{catalog-CadPvH29.d.ts → catalog-CbR0CsUw.d.ts} +1 -1
  36. package/dist/causal-behavior.d.ts +1 -1
  37. package/dist/causal-consolidation.d.ts +1 -1
  38. package/dist/causal-consolidation.js +9 -8
  39. package/dist/causal-consolidation.js.map +1 -1
  40. package/dist/{chunk-OMSTU233.js → chunk-2KAYTPPT.js} +4 -4
  41. package/dist/{chunk-VYZNWH4J.js → chunk-2SXMCQEQ.js} +3 -3
  42. package/dist/{chunk-NXL5CVE7.js → chunk-2Y6LMOQQ.js} +2 -2
  43. package/dist/{chunk-ZDUF7K5V.js → chunk-3VUPWDSE.js} +15 -3
  44. package/dist/{chunk-ZDUF7K5V.js.map → chunk-3VUPWDSE.js.map} +1 -1
  45. package/dist/{chunk-FVQJYWH7.js → chunk-5GKPFL3S.js} +1 -1
  46. package/dist/{chunk-FVQJYWH7.js.map → chunk-5GKPFL3S.js.map} +1 -1
  47. package/dist/{chunk-LQ4J7ELC.js → chunk-67HG7KFE.js} +2 -2
  48. package/dist/{chunk-ZBG4K36I.js → chunk-6FUJ2VYY.js} +3 -3
  49. package/dist/{chunk-GMRNKPWO.js → chunk-6QUPUTT7.js} +2 -2
  50. package/dist/{chunk-Z56IHRVV.js → chunk-6UU43ZGD.js} +2 -2
  51. package/dist/{chunk-APJQ6UEA.js → chunk-AGNBY3VG.js} +4 -4
  52. package/dist/{chunk-OWOKOFXK.js → chunk-AJOIM6UR.js} +2 -2
  53. package/dist/{chunk-JBPKEARU.js → chunk-AU7Q3LSC.js} +4 -4
  54. package/dist/{chunk-UHN2TNSB.js → chunk-BNOAB5HH.js} +38 -11
  55. package/dist/chunk-BNOAB5HH.js.map +1 -0
  56. package/dist/{chunk-VW24K2Q4.js → chunk-CTAHKIG6.js} +169 -8
  57. package/dist/chunk-CTAHKIG6.js.map +1 -0
  58. package/dist/{chunk-K22IJO4R.js → chunk-CTOQEZSN.js} +2 -2
  59. package/dist/{chunk-SINGJCUR.js → chunk-CX77GNMB.js} +14 -3
  60. package/dist/chunk-CX77GNMB.js.map +1 -0
  61. package/dist/{chunk-HSDJCT3V.js → chunk-DXGS5YOQ.js} +3 -3
  62. package/dist/{chunk-HV57RHMD.js → chunk-EH5ED3C6.js} +2 -2
  63. package/dist/{chunk-7NDYFAJS.js → chunk-GM3BMWKR.js} +2 -2
  64. package/dist/{chunk-RMT7PAVW.js → chunk-HHLWSWWF.js} +2 -2
  65. package/dist/chunk-HHLWSWWF.js.map +1 -0
  66. package/dist/{chunk-5QUS24F7.js → chunk-I56LKMF7.js} +2 -2
  67. package/dist/{chunk-VUNI6Y3D.js → chunk-IHMT6XTY.js} +8 -4
  68. package/dist/chunk-IHMT6XTY.js.map +1 -0
  69. package/dist/chunk-JAKIDQB2.js +173 -0
  70. package/dist/chunk-JAKIDQB2.js.map +1 -0
  71. package/dist/{chunk-35YJ6KCV.js → chunk-JEIROMLX.js} +2 -2
  72. package/dist/{chunk-SKQCFAYU.js → chunk-JVEMUX6L.js} +2 -2
  73. package/dist/{chunk-CXMXAC5R.js → chunk-K44MIN6D.js} +3 -3
  74. package/dist/{chunk-JC3MIKR4.js → chunk-MECU6WSH.js} +188 -31
  75. package/dist/chunk-MECU6WSH.js.map +1 -0
  76. package/dist/{chunk-BQCFXAMN.js → chunk-MPHDVHIB.js} +2 -2
  77. package/dist/{chunk-BOGENF7P.js → chunk-MSVSP5VO.js} +1 -1
  78. package/dist/chunk-MSVSP5VO.js.map +1 -0
  79. package/dist/{chunk-QXNFQKWU.js → chunk-MTHNJCOJ.js} +2 -2
  80. package/dist/{chunk-3TCRU4JA.js → chunk-O62P2LFL.js} +2 -2
  81. package/dist/{chunk-JSDZMOT7.js → chunk-OC56UWV5.js} +11 -11
  82. package/dist/{chunk-7IBEWQLG.js → chunk-QOIONSOI.js} +2 -2
  83. package/dist/{chunk-4P5UAL3C.js → chunk-RBHANGVX.js} +6 -6
  84. package/dist/{chunk-SK2CR6MW.js → chunk-RVLB4E6N.js} +2 -2
  85. package/dist/{chunk-DJNKN3XY.js → chunk-SYDHFFAW.js} +1084 -12
  86. package/dist/chunk-SYDHFFAW.js.map +1 -0
  87. package/dist/{chunk-VILEUJXC.js → chunk-UC4YOAC2.js} +74 -2
  88. package/dist/{chunk-VILEUJXC.js.map → chunk-UC4YOAC2.js.map} +1 -1
  89. package/dist/{chunk-CNVIWMQI.js → chunk-UY4JMEAK.js} +2 -2
  90. package/dist/{chunk-S6FQLQGH.js → chunk-V7GDTQ6I.js} +2 -2
  91. package/dist/{chunk-JNOYYWCA.js → chunk-VO4UICII.js} +3 -3
  92. package/dist/{chunk-54TI5GLV.js → chunk-WI4QX7GH.js} +3 -3
  93. package/dist/{chunk-3XHD3XGK.js → chunk-XCTDHF7U.js} +30 -2
  94. package/dist/chunk-XCTDHF7U.js.map +1 -0
  95. package/dist/{chunk-XKU4YE6Z.js → chunk-XZTUMWKQ.js} +2 -2
  96. package/dist/{chunk-GKPIY7EQ.js → chunk-YUJL27ET.js} +160 -61
  97. package/dist/chunk-YUJL27ET.js.map +1 -0
  98. package/dist/{cli-DfDMJqPP.d.ts → cli-Do1YtfnH.d.ts} +3 -3
  99. package/dist/cli.d.ts +6 -6
  100. package/dist/cli.js +42 -41
  101. package/dist/compounding/engine.d.ts +1 -1
  102. package/dist/compounding/engine.js +8 -7
  103. package/dist/compounding/preference-consolidator.d.ts +1 -1
  104. package/dist/compression-optimizer.d.ts +1 -1
  105. package/dist/config.d.ts +1 -1
  106. package/dist/config.js +4 -3
  107. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  108. package/dist/connectors/codex-materialize-runner.js +8 -7
  109. package/dist/connectors/codex-materialize.d.ts +1 -1
  110. package/dist/connectors/index.d.ts +1 -1
  111. package/dist/connectors/index.js +9 -8
  112. package/dist/consolidation-provenance-check.d.ts +1 -1
  113. package/dist/consolidation-undo.d.ts +1 -1
  114. package/dist/contradiction/index.d.ts +1 -1
  115. package/dist/conversation-index/backend.d.ts +1 -1
  116. package/dist/conversation-index/chunker.d.ts +1 -1
  117. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  118. package/dist/conversation-index/indexer.d.ts +1 -1
  119. package/dist/conversation-index/search.d.ts +1 -1
  120. package/dist/day-summary.d.ts +1 -1
  121. package/dist/delinearize.d.ts +1 -1
  122. package/dist/direct-answer-wiring.d.ts +1 -1
  123. package/dist/direct-answer.d.ts +1 -1
  124. package/dist/embedding-fallback.d.ts +1 -1
  125. package/dist/enrichment/index.d.ts +1 -1
  126. package/dist/entity-retrieval.d.ts +1 -1
  127. package/dist/entity-retrieval.js +8 -7
  128. package/dist/entity-schema.d.ts +1 -1
  129. package/dist/explicit-capture.d.ts +4 -4
  130. package/dist/explicit-capture.js +3 -2
  131. package/dist/extraction-faithfulness.d.ts +1 -1
  132. package/dist/extraction-judge-telemetry.d.ts +1 -1
  133. package/dist/extraction-judge-training.d.ts +1 -1
  134. package/dist/extraction-judge.d.ts +1 -1
  135. package/dist/extraction.d.ts +1 -1
  136. package/dist/extraction.js +4 -3
  137. package/dist/fallback-llm.d.ts +1 -1
  138. package/dist/identity-continuity.d.ts +1 -1
  139. package/dist/importance.d.ts +1 -1
  140. package/dist/index.d.ts +9 -9
  141. package/dist/index.js +61 -60
  142. package/dist/index.js.map +1 -1
  143. package/dist/intent.d.ts +1 -1
  144. package/dist/lcm/engine.d.ts +1 -1
  145. package/dist/lcm/index.d.ts +1 -1
  146. package/dist/lcm/index.js +3 -3
  147. package/dist/lcm/tools.d.ts +1 -1
  148. package/dist/lifecycle.d.ts +1 -1
  149. package/dist/live-connectors-runner.d.ts +1 -1
  150. package/dist/local-llm.d.ts +1 -1
  151. package/dist/maintenance/memory-governance.d.ts +1 -1
  152. package/dist/maintenance/memory-governance.js +8 -7
  153. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -7
  154. package/dist/maintenance/rebuild-memory-projection.js +9 -8
  155. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  156. package/dist/memory-action-policy.d.ts +1 -1
  157. package/dist/memory-cache.d.ts +1 -1
  158. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  159. package/dist/memory-projection-store.d.ts +1 -1
  160. package/dist/memory-provenance.d.ts +1 -1
  161. package/dist/memory-worth-outcomes.d.ts +1 -1
  162. package/dist/models-json.d.ts +1 -1
  163. package/dist/namespaces/migrate.d.ts +2 -2
  164. package/dist/namespaces/migrate.js +12 -11
  165. package/dist/namespaces/principal.d.ts +1 -1
  166. package/dist/namespaces/search.d.ts +1 -1
  167. package/dist/namespaces/search.js +3 -3
  168. package/dist/namespaces/storage.d.ts +2 -2
  169. package/dist/namespaces/storage.js +8 -7
  170. package/dist/native-knowledge.d.ts +1 -1
  171. package/dist/operator-toolkit.d.ts +1 -1
  172. package/dist/operator-toolkit.js +17 -16
  173. package/dist/orchestration/maintenance.d.ts +2 -2
  174. package/dist/orchestration/maintenance.js +10 -9
  175. package/dist/{orchestrator-B1iVjEyc.d.ts → orchestrator-BOaVstFG.d.ts} +32 -4
  176. package/dist/orchestrator.d.ts +4 -4
  177. package/dist/orchestrator.js +32 -31
  178. package/dist/patterns-cli.d.ts +1 -1
  179. package/dist/policy-runtime.d.ts +1 -1
  180. package/dist/provenance.d.ts +1 -1
  181. package/dist/provenance.js +3 -2
  182. package/dist/qmd-recall-cache.d.ts +1 -1
  183. package/dist/qmd.d.ts +1 -1
  184. package/dist/recall-disclosure-escalation.d.ts +1 -1
  185. package/dist/recall-explain-renderer.d.ts +1 -1
  186. package/dist/recall-explain-renderer.js +3 -3
  187. package/dist/recall-handles.d.ts +228 -0
  188. package/dist/recall-handles.js +42 -0
  189. package/dist/recall-handles.js.map +1 -0
  190. package/dist/recall-planner-llm.d.ts +1 -1
  191. package/dist/recall-state.d.ts +40 -2
  192. package/dist/recall-state.js +3 -1
  193. package/dist/recall-tag-filter.d.ts +1 -1
  194. package/dist/recall-xray-cli.d.ts +1 -1
  195. package/dist/recall-xray-cli.js +4 -4
  196. package/dist/recall-xray-renderer.d.ts +1 -1
  197. package/dist/recall-xray-renderer.js +3 -3
  198. package/dist/recall-xray.d.ts +1 -1
  199. package/dist/recall-xray.js +2 -2
  200. package/dist/resolve-auth-token.d.ts +1 -1
  201. package/dist/resume-bundles.js +5 -4
  202. package/dist/retrieval-agents.d.ts +1 -1
  203. package/dist/retrieval-tiers.d.ts +1 -1
  204. package/dist/routing/engine.d.ts +1 -1
  205. package/dist/routing/store.d.ts +1 -1
  206. package/dist/sanitize.d.ts +2 -0
  207. package/dist/sanitize.js +6 -2
  208. package/dist/schemas.d.ts +22 -22
  209. package/dist/search/embed-helper.d.ts +1 -1
  210. package/dist/search/factory.d.ts +1 -1
  211. package/dist/search/factory.js +2 -2
  212. package/dist/search/index.d.ts +1 -1
  213. package/dist/search/index.js +4 -4
  214. package/dist/search/lancedb-backend.d.ts +1 -1
  215. package/dist/search/meilisearch-backend.d.ts +1 -1
  216. package/dist/search/noop-backend.d.ts +1 -1
  217. package/dist/search/orama-backend.d.ts +1 -1
  218. package/dist/search/port.d.ts +1 -1
  219. package/dist/search/remote-backend.d.ts +1 -1
  220. package/dist/{semantic-consolidation-CY8uVRNJ.d.ts → semantic-consolidation-DSjMDZ1u.d.ts} +1 -1
  221. package/dist/semantic-consolidation.d.ts +2 -2
  222. package/dist/semantic-consolidation.js +9 -8
  223. package/dist/semantic-rule-promotion.js +8 -7
  224. package/dist/semantic-rule-verifier.d.ts +1 -1
  225. package/dist/semantic-rule-verifier.js +8 -7
  226. package/dist/session-observer-bands.d.ts +1 -1
  227. package/dist/session-observer-state.d.ts +1 -1
  228. package/dist/shared-context/manager.d.ts +3 -3
  229. package/dist/signal.d.ts +1 -1
  230. package/dist/storage.d.ts +1 -1
  231. package/dist/storage.js +7 -6
  232. package/dist/summarizer.d.ts +1 -1
  233. package/dist/summary-snapshot.d.ts +1 -1
  234. package/dist/temporal-supersession.d.ts +1 -1
  235. package/dist/temporal-validity.d.ts +1 -1
  236. package/dist/threading.d.ts +1 -1
  237. package/dist/tier-migration.d.ts +1 -1
  238. package/dist/tier-routing.d.ts +1 -1
  239. package/dist/topics.d.ts +1 -1
  240. package/dist/transcript.d.ts +1 -1
  241. package/dist/transfer/import-sqlite.js +2 -2
  242. package/dist/transfer/types.d.ts +12 -12
  243. package/dist/{types-Dr0Cw3L9.d.ts → types-D9dwzU_x.d.ts} +25 -1
  244. package/dist/types.d.ts +1 -1
  245. package/dist/types.js +1 -1
  246. package/dist/utility-runtime.d.ts +1 -1
  247. package/dist/verified-recall.js +8 -7
  248. package/package.json +2 -2
  249. package/src/access-boundary.ts +4 -1
  250. package/src/access-http.ts +33 -1
  251. package/src/access-mcp.test.ts +28 -0
  252. package/src/access-mcp.ts +67 -2
  253. package/src/access-operations-batch.ts +14 -0
  254. package/src/access-operations.ts +5 -0
  255. package/src/access-service.ts +43 -2
  256. package/src/access-surface-catalog.test.ts +4 -2
  257. package/src/access-surface-catalog.ts +5 -0
  258. package/src/active-memory-bridge.test.ts +72 -0
  259. package/src/active-memory-bridge.ts +21 -2
  260. package/src/chat/chat-cli.test.ts +142 -0
  261. package/src/chat/chat-cli.ts +206 -0
  262. package/src/chat/chat-config.ts +57 -0
  263. package/src/chat/chat-engine.test.ts +272 -0
  264. package/src/chat/chat-engine.ts +518 -0
  265. package/src/chat/chat-executor.ts +133 -0
  266. package/src/chat/chat-factory.ts +161 -0
  267. package/src/chat/chat-http.test.ts +197 -0
  268. package/src/chat/chat-http.ts +222 -0
  269. package/src/chat/chat-llm.ts +229 -0
  270. package/src/chat/chat-mcp.test.ts +135 -0
  271. package/src/chat/chat-security.test.ts +491 -0
  272. package/src/chat/chat-session.ts +296 -0
  273. package/src/chat/chat-system-prompt.ts +76 -0
  274. package/src/chat/chat-tools.ts +255 -0
  275. package/src/chat/chat-types.ts +167 -0
  276. package/src/cli.ts +20 -0
  277. package/src/config.ts +9 -0
  278. package/src/faithfulness-graph-guard.test.ts +214 -8
  279. package/src/orchestrator.ts +167 -22
  280. package/src/recall-handles-wiring.test.ts +477 -0
  281. package/src/recall-handles.test.ts +283 -0
  282. package/src/recall-handles.ts +414 -0
  283. package/src/recall-state.ts +99 -0
  284. package/src/sanitize.ts +6 -0
  285. package/src/types.ts +29 -0
  286. package/dist/chunk-3XHD3XGK.js.map +0 -1
  287. package/dist/chunk-BOGENF7P.js.map +0 -1
  288. package/dist/chunk-DJNKN3XY.js.map +0 -1
  289. package/dist/chunk-GKPIY7EQ.js.map +0 -1
  290. package/dist/chunk-JC3MIKR4.js.map +0 -1
  291. package/dist/chunk-RMT7PAVW.js.map +0 -1
  292. package/dist/chunk-SINGJCUR.js.map +0 -1
  293. package/dist/chunk-UHN2TNSB.js.map +0 -1
  294. package/dist/chunk-VUNI6Y3D.js.map +0 -1
  295. package/dist/chunk-VW24K2Q4.js.map +0 -1
  296. /package/dist/{chunk-OMSTU233.js.map → chunk-2KAYTPPT.js.map} +0 -0
  297. /package/dist/{chunk-VYZNWH4J.js.map → chunk-2SXMCQEQ.js.map} +0 -0
  298. /package/dist/{chunk-NXL5CVE7.js.map → chunk-2Y6LMOQQ.js.map} +0 -0
  299. /package/dist/{chunk-LQ4J7ELC.js.map → chunk-67HG7KFE.js.map} +0 -0
  300. /package/dist/{chunk-ZBG4K36I.js.map → chunk-6FUJ2VYY.js.map} +0 -0
  301. /package/dist/{chunk-GMRNKPWO.js.map → chunk-6QUPUTT7.js.map} +0 -0
  302. /package/dist/{chunk-Z56IHRVV.js.map → chunk-6UU43ZGD.js.map} +0 -0
  303. /package/dist/{chunk-APJQ6UEA.js.map → chunk-AGNBY3VG.js.map} +0 -0
  304. /package/dist/{chunk-OWOKOFXK.js.map → chunk-AJOIM6UR.js.map} +0 -0
  305. /package/dist/{chunk-JBPKEARU.js.map → chunk-AU7Q3LSC.js.map} +0 -0
  306. /package/dist/{chunk-K22IJO4R.js.map → chunk-CTOQEZSN.js.map} +0 -0
  307. /package/dist/{chunk-HSDJCT3V.js.map → chunk-DXGS5YOQ.js.map} +0 -0
  308. /package/dist/{chunk-HV57RHMD.js.map → chunk-EH5ED3C6.js.map} +0 -0
  309. /package/dist/{chunk-7NDYFAJS.js.map → chunk-GM3BMWKR.js.map} +0 -0
  310. /package/dist/{chunk-5QUS24F7.js.map → chunk-I56LKMF7.js.map} +0 -0
  311. /package/dist/{chunk-35YJ6KCV.js.map → chunk-JEIROMLX.js.map} +0 -0
  312. /package/dist/{chunk-SKQCFAYU.js.map → chunk-JVEMUX6L.js.map} +0 -0
  313. /package/dist/{chunk-CXMXAC5R.js.map → chunk-K44MIN6D.js.map} +0 -0
  314. /package/dist/{chunk-BQCFXAMN.js.map → chunk-MPHDVHIB.js.map} +0 -0
  315. /package/dist/{chunk-QXNFQKWU.js.map → chunk-MTHNJCOJ.js.map} +0 -0
  316. /package/dist/{chunk-3TCRU4JA.js.map → chunk-O62P2LFL.js.map} +0 -0
  317. /package/dist/{chunk-JSDZMOT7.js.map → chunk-OC56UWV5.js.map} +0 -0
  318. /package/dist/{chunk-7IBEWQLG.js.map → chunk-QOIONSOI.js.map} +0 -0
  319. /package/dist/{chunk-4P5UAL3C.js.map → chunk-RBHANGVX.js.map} +0 -0
  320. /package/dist/{chunk-SK2CR6MW.js.map → chunk-RVLB4E6N.js.map} +0 -0
  321. /package/dist/{chunk-CNVIWMQI.js.map → chunk-UY4JMEAK.js.map} +0 -0
  322. /package/dist/{chunk-S6FQLQGH.js.map → chunk-V7GDTQ6I.js.map} +0 -0
  323. /package/dist/{chunk-JNOYYWCA.js.map → chunk-VO4UICII.js.map} +0 -0
  324. /package/dist/{chunk-54TI5GLV.js.map → chunk-WI4QX7GH.js.map} +0 -0
  325. /package/dist/{chunk-XKU4YE6Z.js.map → chunk-XZTUMWKQ.js.map} +0 -0
@@ -1,22 +1,33 @@
1
1
  import {
2
2
  AdapterRegistry
3
- } from "./chunk-JBPKEARU.js";
3
+ } from "./chunk-AU7Q3LSC.js";
4
4
  import {
5
5
  WearablesInputError
6
6
  } from "./chunk-7WV3F5DQ.js";
7
7
  import {
8
- EngramMcpServer
9
- } from "./chunk-DJNKN3XY.js";
8
+ ChatEngine,
9
+ EngramMcpServer,
10
+ appendTranscriptEntry,
11
+ createChatExecutor,
12
+ createChatSession,
13
+ createProductionChatLlmAdapter,
14
+ loadChatSession,
15
+ markPendingPlan,
16
+ markPendingPromotion,
17
+ markPlanResolved,
18
+ markPromotionResolved,
19
+ sessionBelongsToPrincipal
20
+ } from "./chunk-SYDHFFAW.js";
10
21
  import {
11
22
  validateRequest
12
23
  } from "./chunk-FVZ2ISIX.js";
13
24
  import {
14
25
  getOperation
15
- } from "./chunk-RMT7PAVW.js";
26
+ } from "./chunk-HHLWSWWF.js";
16
27
  import {
17
28
  CorrectionContractError,
18
29
  EngramAccessInputError
19
- } from "./chunk-UHN2TNSB.js";
30
+ } from "./chunk-BNOAB5HH.js";
20
31
  import {
21
32
  projectTagProjectId
22
33
  } from "./chunk-SHRRWOVY.js";
@@ -28,7 +39,7 @@ import {
28
39
  } from "./chunk-DEUNUKTD.js";
29
40
  import {
30
41
  isRecallDisclosure
31
- } from "./chunk-BOGENF7P.js";
42
+ } from "./chunk-MSVSP5VO.js";
32
43
  import {
33
44
  OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
34
45
  OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
@@ -50,6 +61,130 @@ import { readFile } from "fs/promises";
50
61
  import path from "path";
51
62
  import { fileURLToPath, URL } from "url";
52
63
  import { gunzipSync } from "zlib";
64
+
65
+ // src/chat/chat-http.ts
66
+ async function handleChatMessage(req, res, body, opts, principal) {
67
+ if (!opts.config?.enabled) {
68
+ respondJson(res, 404, { error: "chat_disabled", code: "chat_disabled" });
69
+ return;
70
+ }
71
+ const message = typeof body.message === "string" ? body.message : "";
72
+ if (!message) {
73
+ respondJson(res, 400, { error: "message is required", code: "input_error" });
74
+ return;
75
+ }
76
+ const llm = opts.service.fallbackLlmRef ?? opts.service.localLlmRef;
77
+ if (!llm) {
78
+ respondJson(res, 503, {
79
+ error: "No LLM model is available. Configure a local or cloud model.",
80
+ code: "no_llm"
81
+ });
82
+ return;
83
+ }
84
+ const adapter = createProductionChatLlmAdapter(llm);
85
+ const requestedSessionId = typeof body.chatSessionId === "string" ? body.chatSessionId : void 0;
86
+ let session;
87
+ if (requestedSessionId) {
88
+ session = await loadChatSession(opts.memoryDir, requestedSessionId);
89
+ if (!session) {
90
+ respondJson(res, 404, { error: "chat_session_not_found", code: "chat_session_not_found" });
91
+ return;
92
+ }
93
+ if (!sessionBelongsToPrincipal(session, principal)) {
94
+ respondJson(res, 403, { error: "access_denied", code: "access_denied" });
95
+ return;
96
+ }
97
+ } else {
98
+ session = await createChatSession(opts.memoryDir, { principal });
99
+ }
100
+ const executor = createChatExecutor({
101
+ service: opts.service,
102
+ principal,
103
+ ...session.namespace ? { namespace: session.namespace } : {},
104
+ ...session.sessionKey ? { sessionKey: session.sessionKey } : {}
105
+ });
106
+ const engine = new ChatEngine({
107
+ llm: adapter,
108
+ executor,
109
+ maxToolCallsPerTurn: opts.config.maxToolCallsPerTurn,
110
+ ...opts.config.model ? { model: opts.config.model } : {},
111
+ correctionAvailable: false,
112
+ scopeInspectAvailable: false
113
+ });
114
+ await appendTranscriptEntry(opts.memoryDir, session.id, {
115
+ role: "user",
116
+ content: message
117
+ });
118
+ const priorPendingPlanId = session.pendingPlanId;
119
+ const priorPendingPromotionId = session.pendingPromotionId;
120
+ const result = await engine.processMessage(message, session);
121
+ await appendTranscriptEntry(opts.memoryDir, session.id, {
122
+ role: "assistant",
123
+ content: result.reply
124
+ });
125
+ if (result.pendingPlan?.planId) {
126
+ await markPendingPlan(opts.memoryDir, session.id, result.pendingPlan.planId);
127
+ } else if (session.pendingPromotionId && !priorPendingPromotionId) {
128
+ await markPendingPromotion(opts.memoryDir, session.id, session.pendingPromotionId);
129
+ } else if (priorPendingPlanId && !session.pendingPlanId && !result.error) {
130
+ await markPlanResolved(opts.memoryDir, session.id, priorPendingPlanId);
131
+ } else if (priorPendingPromotionId && !session.pendingPromotionId && !result.error) {
132
+ await markPromotionResolved(opts.memoryDir, session.id, priorPendingPromotionId);
133
+ }
134
+ const wireResult = result.error ? { reply: result.reply, chatSessionId: result.chatSessionId, ...result.pendingPlan ? { pendingPlan: result.pendingPlan } : {} } : result;
135
+ respondJson(res, 200, wireResult);
136
+ }
137
+ async function handleChatEventsSSE(req, res, chatSessionId, opts, principal) {
138
+ if (!opts.config?.enabled) {
139
+ respondJson(res, 404, { error: "chat_disabled", code: "chat_disabled" });
140
+ return;
141
+ }
142
+ const session = await loadChatSession(opts.memoryDir, chatSessionId);
143
+ if (!session) {
144
+ respondJson(res, 404, { error: "chat_session_not_found", code: "chat_session_not_found" });
145
+ return;
146
+ }
147
+ if (!sessionBelongsToPrincipal(session, principal)) {
148
+ respondJson(res, 403, { error: "access_denied", code: "access_denied" });
149
+ return;
150
+ }
151
+ res.writeHead(200, {
152
+ "content-type": "text/event-stream",
153
+ "cache-control": "no-cache",
154
+ connection: "keep-alive"
155
+ });
156
+ for (const entry of session.transcript) {
157
+ res.write(`data: ${JSON.stringify(entry)}
158
+
159
+ `);
160
+ }
161
+ const heartbeat = setInterval(() => {
162
+ try {
163
+ res.write(`data: ${JSON.stringify({ type: "heartbeat" })}
164
+
165
+ `);
166
+ } catch {
167
+ }
168
+ }, 25e3);
169
+ heartbeat.unref();
170
+ req.on("close", () => {
171
+ clearInterval(heartbeat);
172
+ try {
173
+ res.end();
174
+ } catch {
175
+ }
176
+ });
177
+ }
178
+ function respondJson(res, status, body) {
179
+ const json = JSON.stringify(body);
180
+ res.writeHead(status, {
181
+ "content-type": "application/json; charset=utf-8",
182
+ "content-length": Buffer.byteLength(json, "utf8")
183
+ });
184
+ res.end(json);
185
+ }
186
+
187
+ // src/access-http.ts
53
188
  function resolveDefaultAdminConsolePublicDir() {
54
189
  const thisDir = path.dirname(fileURLToPath(import.meta.url));
55
190
  const candidates = [
@@ -211,6 +346,7 @@ var EngramAccessHttpServer = class {
211
346
  architectureCardVisible: this.service.architectureCardSurfaceVisible,
212
347
  codegraphVisible: this.service.codegraphSurfaceVisible,
213
348
  sessionDeltaVisible: this.service.sessionDeltaSurfaceVisible,
349
+ chatVisible: this.service.configRef?.chat?.enabled === true,
214
350
  correctionVisible: this.service.correctionSurfaceVisible
215
351
  });
216
352
  }
@@ -1161,12 +1297,13 @@ var EngramAccessHttpServer = class {
1161
1297
  if (req.method === "GET" && memoryMatch) {
1162
1298
  const memoryId = decodeURIComponent(memoryMatch[1] ?? "");
1163
1299
  const namespace = parsed.searchParams.get("namespace") ?? void 0;
1300
+ const sessionKey = this.resolveRequestIdentity(req).sessionKey ?? parsed.searchParams.get("session") ?? parsed.searchParams.get("sessionKey") ?? void 0;
1164
1301
  const op = getOperation("memory_get");
1165
1302
  if (!op) {
1166
1303
  throw new EngramAccessInputError("access-boundary: operation not registered: memory_get");
1167
1304
  }
1168
1305
  const output = await op.run(
1169
- { memoryId, namespace: namespace ?? null },
1306
+ { memoryId, namespace: namespace ?? null, sessionKey: sessionKey ?? null },
1170
1307
  { service: this.service, authenticatedPrincipal: this.resolveRequestPrincipal(req) }
1171
1308
  );
1172
1309
  const response = output.result;
@@ -1564,6 +1701,30 @@ var EngramAccessHttpServer = class {
1564
1701
  await this.handleGraphEventsSSE(req, res);
1565
1702
  return;
1566
1703
  }
1704
+ if (req.method === "POST" && pathname === "/engram/v1/chat/message") {
1705
+ void getOperation("chat_message");
1706
+ const body = await this.readJsonBody(req);
1707
+ await handleChatMessage(
1708
+ req,
1709
+ res,
1710
+ body,
1711
+ { service: this.service, config: this.service.configRef?.chat, memoryDir: this.service.memoryDir },
1712
+ this.resolveRequestPrincipal(req)
1713
+ );
1714
+ return;
1715
+ }
1716
+ const chatEventsMatch = /^\/engram\/v1\/chat\/events\/([^/]+)$/.exec(pathname);
1717
+ if (req.method === "GET" && chatEventsMatch) {
1718
+ void getOperation("chat_events");
1719
+ await handleChatEventsSSE(
1720
+ req,
1721
+ res,
1722
+ chatEventsMatch[1] ?? "",
1723
+ { service: this.service, config: this.service.configRef?.chat, memoryDir: this.service.memoryDir },
1724
+ this.resolveRequestPrincipal(req)
1725
+ );
1726
+ return;
1727
+ }
1567
1728
  if (req.method === "GET" && pathname === "/engram/v1/console/state") {
1568
1729
  void getOperation("console_state");
1569
1730
  const namespace = parsed.searchParams.get("namespace") ?? void 0;
@@ -2365,4 +2526,4 @@ function positiveIntQueryParam(value, label) {
2365
2526
  export {
2366
2527
  EngramAccessHttpServer
2367
2528
  };
2368
- //# sourceMappingURL=chunk-VW24K2Q4.js.map
2529
+ //# sourceMappingURL=chunk-CTAHKIG6.js.map