@remnic/core 9.3.720 → 9.3.721

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 (338) hide show
  1. package/dist/access-boundary.d.ts +5 -5
  2. package/dist/access-boundary.js +35 -33
  3. package/dist/access-cli.js +69 -66
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +5 -5
  6. package/dist/access-http.js +39 -37
  7. package/dist/access-mcp.d.ts +5 -5
  8. package/dist/access-mcp.js +38 -36
  9. package/dist/access-operations-batch.js +36 -34
  10. package/dist/access-operations.d.ts +5 -5
  11. package/dist/access-operations.js +37 -35
  12. package/dist/access-schema.js +3 -3
  13. package/dist/{access-service-Dw-tK1pa.d.ts → access-service-Dj3I-VBS.d.ts} +3 -3
  14. package/dist/access-service.d.ts +5 -5
  15. package/dist/access-service.js +34 -32
  16. package/dist/access-surface-catalog.d.ts +5 -5
  17. package/dist/action-confidence.d.ts +1 -1
  18. package/dist/active-memory-bridge.d.ts +1 -1
  19. package/dist/active-recall.d.ts +1 -1
  20. package/dist/active-recall.js +4 -2
  21. package/dist/active-recall.js.map +1 -1
  22. package/dist/{auto-sync-24NNS3GU.js → auto-sync-F3KCSQFJ.js} +5 -5
  23. package/dist/behavior-learner.d.ts +1 -1
  24. package/dist/behavior-signals.d.ts +1 -1
  25. package/dist/bootstrap.d.ts +4 -4
  26. package/dist/briefing.d.ts +1 -1
  27. package/dist/briefing.js +11 -9
  28. package/dist/buffer-surprise-report.d.ts +1 -1
  29. package/dist/buffer.d.ts +1 -1
  30. package/dist/calibration.d.ts +1 -1
  31. package/dist/calibration.js +2 -2
  32. package/dist/capabilities.d.ts +1 -1
  33. package/dist/{catalog-B9SPfcsE.d.ts → catalog-F-OEVbRQ.d.ts} +1 -1
  34. package/dist/causal-behavior.d.ts +1 -1
  35. package/dist/causal-behavior.js +2 -2
  36. package/dist/causal-chain.js +2 -2
  37. package/dist/causal-consolidation.d.ts +1 -1
  38. package/dist/causal-consolidation.js +14 -12
  39. package/dist/causal-consolidation.js.map +1 -1
  40. package/dist/causal-retrieval.js +2 -2
  41. package/dist/causal-trajectory-graph.d.ts +1 -1
  42. package/dist/causal-trajectory-graph.js +2 -2
  43. package/dist/causal-trajectory.js +1 -1
  44. package/dist/{chunk-TH7WMHVK.js → chunk-3NN73CM7.js} +2 -2
  45. package/dist/{chunk-ZKUW2MJG.js → chunk-4SF232E6.js} +18 -30
  46. package/dist/chunk-4SF232E6.js.map +1 -0
  47. package/dist/{chunk-DGTDRIUO.js → chunk-4T3BMHKD.js} +2 -2
  48. package/dist/{chunk-RX7EBFFJ.js → chunk-5O42UKXI.js} +2 -2
  49. package/dist/{chunk-5YQN2XYC.js → chunk-6FAMMBQ3.js} +2 -2
  50. package/dist/{chunk-FEB7W5JG.js → chunk-6OIDDKAA.js} +27 -6
  51. package/dist/chunk-6OIDDKAA.js.map +1 -0
  52. package/dist/{chunk-67HG7KFE.js → chunk-6YKIYQU7.js} +2 -2
  53. package/dist/{chunk-V7UUIIR7.js → chunk-7CTNUVHZ.js} +2 -2
  54. package/dist/{chunk-HU4EBIXO.js → chunk-A5XNBK2D.js} +8 -8
  55. package/dist/{chunk-2RBMGTK4.js → chunk-A7TJZLPK.js} +2 -2
  56. package/dist/{chunk-BGQ7WKMT.js → chunk-B7WISIAJ.js} +5 -5
  57. package/dist/{chunk-CYJV5AYC.js → chunk-BXEOHV7K.js} +3 -3
  58. package/dist/chunk-C4X4QGIO.js +60 -0
  59. package/dist/chunk-C4X4QGIO.js.map +1 -0
  60. package/dist/{chunk-RIW3UDDY.js → chunk-D7EBTQ24.js} +2 -2
  61. package/dist/{chunk-IO5NQEGZ.js → chunk-DKT3X5C3.js} +2 -2
  62. package/dist/{chunk-H2AGJ5SV.js → chunk-EBDA5TYA.js} +2 -2
  63. package/dist/{chunk-NBYXOEO7.js → chunk-EDOQM4E4.js} +2 -2
  64. package/dist/{chunk-YMPEGBLL.js → chunk-EEJMD2L2.js} +3 -3
  65. package/dist/{chunk-XROP4ZHB.js → chunk-EHQ5HO5T.js} +4 -4
  66. package/dist/{chunk-ATGRQ2NE.js → chunk-EM2LDXJ2.js} +4 -4
  67. package/dist/{chunk-422TIKIH.js → chunk-EVPNWN7Z.js} +9 -9
  68. package/dist/{chunk-WBHQ5LP5.js → chunk-EXUCUPV2.js} +2 -2
  69. package/dist/{chunk-M3GBOKUX.js → chunk-GDUOCHCD.js} +16 -16
  70. package/dist/{chunk-3XEGHEQ2.js → chunk-GJSL4WG2.js} +2 -2
  71. package/dist/{chunk-2SXMCQEQ.js → chunk-GZQXOQQ2.js} +3 -3
  72. package/dist/{chunk-UUMYB3FR.js → chunk-HCVWF657.js} +11 -11
  73. package/dist/{chunk-ZW5I3UNP.js → chunk-ILFSEIRT.js} +1 -1
  74. package/dist/chunk-ILFSEIRT.js.map +1 -0
  75. package/dist/{chunk-HHSO6VCQ.js → chunk-J3JPB7ZI.js} +2 -2
  76. package/dist/{chunk-Y4I7SOJN.js → chunk-LA3HZKES.js} +78 -78
  77. package/dist/{chunk-LQ6JI4VH.js → chunk-LD53WPMU.js} +4 -4
  78. package/dist/{chunk-NE5WFIY6.js → chunk-LLUGAZ3B.js} +2 -2
  79. package/dist/{chunk-RVLB4E6N.js → chunk-MDBZTH7N.js} +5 -32
  80. package/dist/chunk-MDBZTH7N.js.map +1 -0
  81. package/dist/{chunk-KNN6DAZQ.js → chunk-N77ELJ2D.js} +4 -4
  82. package/dist/{chunk-HTIL3EJK.js → chunk-NXRUUDUF.js} +2 -2
  83. package/dist/{chunk-JV7Q226R.js → chunk-OHTOPFRF.js} +2 -2
  84. package/dist/{chunk-ZG2WP425.js → chunk-ORAK3LNZ.js} +2 -2
  85. package/dist/{chunk-NERBFQNY.js → chunk-PD42EYQN.js} +2 -2
  86. package/dist/chunk-PHK3HARR.js +32 -0
  87. package/dist/chunk-PHK3HARR.js.map +1 -0
  88. package/dist/{chunk-NO4DWSQE.js → chunk-PKMQK2WY.js} +7 -7
  89. package/dist/{chunk-V5EGLYXE.js → chunk-QD6QP5P6.js} +42 -42
  90. package/dist/{chunk-IPJD7WJH.js → chunk-QR67FU5G.js} +2 -2
  91. package/dist/{chunk-ZE7GJ76H.js → chunk-SQNED75R.js} +1 -1
  92. package/dist/{chunk-5CEJH5ZN.js → chunk-TAPSNIMA.js} +4 -4
  93. package/dist/{chunk-PMBWVQ7D.js → chunk-TQT3USCG.js} +2 -2
  94. package/dist/{chunk-LLLG5PTE.js → chunk-TXQCG6SE.js} +3 -3
  95. package/dist/{chunk-6S5ZI7HB.js → chunk-UIXXE6NI.js} +6 -6
  96. package/dist/{chunk-T3XSXAWK.js → chunk-UO5ZHIIH.js} +2 -2
  97. package/dist/{chunk-PPVCZPYA.js → chunk-VCLGUIFM.js} +2 -2
  98. package/dist/{chunk-5J4OL7TJ.js → chunk-VUA4S7P6.js} +4 -4
  99. package/dist/{chunk-HAPVZ4CO.js → chunk-WQYSDPMA.js} +2 -2
  100. package/dist/chunk-XGTBNVIU.js +79 -0
  101. package/dist/chunk-XGTBNVIU.js.map +1 -0
  102. package/dist/{chunk-O6SEGJNV.js → chunk-YEE5KJQQ.js} +2 -2
  103. package/dist/{chunk-WRFKZEO6.js → chunk-YQGHW5ML.js} +4 -4
  104. package/dist/{chunk-DG3ORVCU.js → chunk-Z4RU5VPM.js} +2 -2
  105. package/dist/{chunk-DCWIQFNA.js → chunk-ZUDM75KG.js} +4 -4
  106. package/dist/{cli-qcLCJlOD.d.ts → cli-P_GaYcCY.d.ts} +3 -3
  107. package/dist/cli.d.ts +6 -6
  108. package/dist/cli.js +63 -60
  109. package/dist/compounding/engine.d.ts +1 -1
  110. package/dist/compounding/engine.js +11 -9
  111. package/dist/compounding/preference-consolidator.d.ts +1 -1
  112. package/dist/compression-optimizer.d.ts +1 -1
  113. package/dist/config.d.ts +1 -1
  114. package/dist/config.js +4 -2
  115. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  116. package/dist/connectors/codex-materialize-runner.js +11 -9
  117. package/dist/connectors/codex-materialize.d.ts +1 -1
  118. package/dist/connectors/index.d.ts +1 -1
  119. package/dist/connectors/index.js +12 -10
  120. package/dist/consolidation-provenance-check.d.ts +1 -1
  121. package/dist/consolidation-undo.d.ts +1 -1
  122. package/dist/contradiction/index.d.ts +1 -1
  123. package/dist/conversation-index/backend.d.ts +1 -1
  124. package/dist/conversation-index/backend.js +2 -2
  125. package/dist/conversation-index/chunker.d.ts +1 -1
  126. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  127. package/dist/conversation-index/indexer.d.ts +1 -1
  128. package/dist/conversation-index/search.d.ts +1 -1
  129. package/dist/day-summary.d.ts +1 -1
  130. package/dist/delinearize.d.ts +1 -1
  131. package/dist/direct-answer-wiring.d.ts +1 -1
  132. package/dist/direct-answer.d.ts +1 -1
  133. package/dist/embedding-fallback.d.ts +1 -1
  134. package/dist/enrichment/index.d.ts +1 -1
  135. package/dist/entity-retrieval.d.ts +1 -1
  136. package/dist/entity-retrieval.js +11 -9
  137. package/dist/entity-schema.d.ts +1 -1
  138. package/dist/explicit-capture.d.ts +4 -4
  139. package/dist/extraction-faithfulness.d.ts +8 -2
  140. package/dist/extraction-faithfulness.js +4 -3
  141. package/dist/extraction-judge-telemetry.d.ts +1 -1
  142. package/dist/extraction-judge-training.d.ts +1 -1
  143. package/dist/extraction-judge.d.ts +1 -1
  144. package/dist/extraction-judge.js +3 -3
  145. package/dist/extraction.d.ts +1 -1
  146. package/dist/extraction.js +5 -4
  147. package/dist/faithfulness-config.d.ts +55 -0
  148. package/dist/faithfulness-config.js +11 -0
  149. package/dist/faithfulness-config.js.map +1 -0
  150. package/dist/fallback-llm.d.ts +1 -1
  151. package/dist/fallback-llm.js +2 -2
  152. package/dist/graph-dashboard-diff.d.ts +1 -1
  153. package/dist/graph-dashboard-key.d.ts +1 -1
  154. package/dist/graph-dashboard-parser.d.ts +1 -1
  155. package/dist/{graph-edge-decay-QDDC6AVV.js → graph-edge-decay-QPRJQ7DL.js} +3 -3
  156. package/dist/graph-edge-reinforcement.d.ts +1 -1
  157. package/dist/graph-snapshot.d.ts +1 -1
  158. package/dist/graph-snapshot.js +3 -3
  159. package/dist/graph.d.ts +1 -1
  160. package/dist/graph.js +2 -2
  161. package/dist/identity-continuity.d.ts +1 -1
  162. package/dist/importance.d.ts +1 -1
  163. package/dist/index.d.ts +9 -9
  164. package/dist/index.js +101 -98
  165. package/dist/index.js.map +1 -1
  166. package/dist/intent.d.ts +1 -1
  167. package/dist/lcm/engine.d.ts +1 -1
  168. package/dist/lcm/engine.js +3 -3
  169. package/dist/lcm/index.d.ts +1 -1
  170. package/dist/lcm/index.js +5 -5
  171. package/dist/lcm/tools.d.ts +1 -1
  172. package/dist/lifecycle.d.ts +1 -1
  173. package/dist/live-connectors-runner.d.ts +1 -1
  174. package/dist/local-llm.d.ts +1 -1
  175. package/dist/local-model-endpoint.d.ts +96 -0
  176. package/dist/local-model-endpoint.js +12 -0
  177. package/dist/local-model-endpoint.js.map +1 -0
  178. package/dist/maintenance/memory-governance.d.ts +1 -1
  179. package/dist/maintenance/memory-governance.js +11 -9
  180. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +11 -9
  181. package/dist/maintenance/rebuild-memory-projection.js +12 -10
  182. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  183. package/dist/memory-action-policy.d.ts +1 -1
  184. package/dist/memory-cache.d.ts +1 -1
  185. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  186. package/dist/memory-projection-store.d.ts +1 -1
  187. package/dist/memory-provenance.d.ts +1 -1
  188. package/dist/memory-worth-outcomes.d.ts +1 -1
  189. package/dist/models-json.d.ts +1 -1
  190. package/dist/namespaces/migrate.d.ts +2 -2
  191. package/dist/namespaces/migrate.js +21 -19
  192. package/dist/namespaces/principal.d.ts +1 -1
  193. package/dist/namespaces/search.d.ts +1 -1
  194. package/dist/namespaces/search.js +9 -9
  195. package/dist/namespaces/storage.d.ts +2 -2
  196. package/dist/namespaces/storage.js +11 -9
  197. package/dist/native-knowledge.d.ts +1 -1
  198. package/dist/operator-toolkit.d.ts +1 -1
  199. package/dist/operator-toolkit.js +30 -27
  200. package/dist/orchestration/maintenance.d.ts +2 -2
  201. package/dist/orchestration/maintenance.js +13 -11
  202. package/dist/{orchestrator-Bg5Fnza6.d.ts → orchestrator-f5xv19kp.d.ts} +3 -3
  203. package/dist/orchestrator.d.ts +4 -4
  204. package/dist/orchestrator.js +54 -52
  205. package/dist/patterns-cli.d.ts +1 -1
  206. package/dist/policy-runtime.d.ts +1 -1
  207. package/dist/provenance.d.ts +1 -1
  208. package/dist/provenance.js +2 -1
  209. package/dist/qmd-recall-cache.d.ts +1 -1
  210. package/dist/qmd.d.ts +1 -1
  211. package/dist/recall-disclosure-escalation.d.ts +1 -1
  212. package/dist/recall-explain-renderer.d.ts +1 -1
  213. package/dist/recall-explain-renderer.js +3 -3
  214. package/dist/recall-planner-llm.d.ts +1 -1
  215. package/dist/recall-planner-llm.js +2 -2
  216. package/dist/recall-state.d.ts +1 -1
  217. package/dist/recall-tag-filter.d.ts +1 -1
  218. package/dist/recall-xray-cli.d.ts +1 -1
  219. package/dist/recall-xray-cli.js +4 -4
  220. package/dist/recall-xray-renderer.d.ts +1 -1
  221. package/dist/recall-xray-renderer.js +3 -3
  222. package/dist/recall-xray.d.ts +1 -1
  223. package/dist/recall-xray.js +2 -2
  224. package/dist/resolve-auth-token.d.ts +1 -1
  225. package/dist/resume-bundles.js +5 -3
  226. package/dist/retrieval-agents.d.ts +1 -1
  227. package/dist/retrieval-tiers.d.ts +1 -1
  228. package/dist/routing/engine.d.ts +1 -1
  229. package/dist/routing/store.d.ts +1 -1
  230. package/dist/search/embed-helper.d.ts +1 -1
  231. package/dist/search/factory.d.ts +1 -1
  232. package/dist/search/factory.js +8 -8
  233. package/dist/search/index.d.ts +1 -1
  234. package/dist/search/index.js +13 -13
  235. package/dist/search/lancedb-backend.d.ts +1 -1
  236. package/dist/search/lancedb-backend.js +2 -2
  237. package/dist/search/meilisearch-backend.d.ts +1 -1
  238. package/dist/search/meilisearch-backend.js +2 -2
  239. package/dist/search/noop-backend.d.ts +1 -1
  240. package/dist/search/orama-backend.d.ts +1 -1
  241. package/dist/search/orama-backend.js +2 -2
  242. package/dist/search/port.d.ts +1 -1
  243. package/dist/search/remote-backend.d.ts +1 -1
  244. package/dist/{semantic-consolidation-ClOiS6KP.d.ts → semantic-consolidation-BQm1e1Pn.d.ts} +1 -1
  245. package/dist/semantic-consolidation.d.ts +2 -2
  246. package/dist/semantic-consolidation.js +12 -10
  247. package/dist/semantic-rule-promotion.js +11 -9
  248. package/dist/semantic-rule-verifier.d.ts +1 -1
  249. package/dist/semantic-rule-verifier.js +11 -9
  250. package/dist/session-observer-bands.d.ts +1 -1
  251. package/dist/session-observer-state.d.ts +1 -1
  252. package/dist/shared-context/manager.d.ts +1 -1
  253. package/dist/signal.d.ts +1 -1
  254. package/dist/storage.d.ts +1 -1
  255. package/dist/storage.js +10 -8
  256. package/dist/summarizer.d.ts +1 -1
  257. package/dist/summarizer.js +3 -3
  258. package/dist/summary-snapshot.d.ts +1 -1
  259. package/dist/temporal-supersession.d.ts +1 -1
  260. package/dist/temporal-validity.d.ts +1 -1
  261. package/dist/threading.d.ts +1 -1
  262. package/dist/tier-migration.d.ts +1 -1
  263. package/dist/tier-routing.d.ts +1 -1
  264. package/dist/topics.d.ts +1 -1
  265. package/dist/transcript.d.ts +1 -1
  266. package/dist/transfer/backup.js +2 -2
  267. package/dist/transfer/capsule-export.js +2 -2
  268. package/dist/transfer/capsule-import.js +1 -1
  269. package/dist/trust-score-stage.d.ts +1 -1
  270. package/dist/trust-score.d.ts +1 -1
  271. package/dist/{types-BSdUWePh.d.ts → types-DwO1Ot4n.d.ts} +19 -1
  272. package/dist/types.d.ts +1 -1
  273. package/dist/types.js +1 -1
  274. package/dist/utility-runtime.d.ts +1 -1
  275. package/dist/verified-recall.js +11 -9
  276. package/package.json +2 -2
  277. package/src/config.ts +9 -30
  278. package/src/extraction-faithfulness.test.ts +175 -0
  279. package/src/extraction-faithfulness.ts +53 -1
  280. package/src/faithfulness-config.test.ts +96 -0
  281. package/src/faithfulness-config.ts +138 -0
  282. package/src/local-model-endpoint.test.ts +155 -0
  283. package/src/local-model-endpoint.ts +189 -0
  284. package/src/types.ts +19 -1
  285. package/dist/chunk-FEB7W5JG.js.map +0 -1
  286. package/dist/chunk-RVLB4E6N.js.map +0 -1
  287. package/dist/chunk-ZKUW2MJG.js.map +0 -1
  288. package/dist/chunk-ZW5I3UNP.js.map +0 -1
  289. /package/dist/{auto-sync-24NNS3GU.js.map → auto-sync-F3KCSQFJ.js.map} +0 -0
  290. /package/dist/{chunk-TH7WMHVK.js.map → chunk-3NN73CM7.js.map} +0 -0
  291. /package/dist/{chunk-DGTDRIUO.js.map → chunk-4T3BMHKD.js.map} +0 -0
  292. /package/dist/{chunk-RX7EBFFJ.js.map → chunk-5O42UKXI.js.map} +0 -0
  293. /package/dist/{chunk-5YQN2XYC.js.map → chunk-6FAMMBQ3.js.map} +0 -0
  294. /package/dist/{chunk-67HG7KFE.js.map → chunk-6YKIYQU7.js.map} +0 -0
  295. /package/dist/{chunk-V7UUIIR7.js.map → chunk-7CTNUVHZ.js.map} +0 -0
  296. /package/dist/{chunk-HU4EBIXO.js.map → chunk-A5XNBK2D.js.map} +0 -0
  297. /package/dist/{chunk-2RBMGTK4.js.map → chunk-A7TJZLPK.js.map} +0 -0
  298. /package/dist/{chunk-BGQ7WKMT.js.map → chunk-B7WISIAJ.js.map} +0 -0
  299. /package/dist/{chunk-CYJV5AYC.js.map → chunk-BXEOHV7K.js.map} +0 -0
  300. /package/dist/{chunk-RIW3UDDY.js.map → chunk-D7EBTQ24.js.map} +0 -0
  301. /package/dist/{chunk-IO5NQEGZ.js.map → chunk-DKT3X5C3.js.map} +0 -0
  302. /package/dist/{chunk-H2AGJ5SV.js.map → chunk-EBDA5TYA.js.map} +0 -0
  303. /package/dist/{chunk-NBYXOEO7.js.map → chunk-EDOQM4E4.js.map} +0 -0
  304. /package/dist/{chunk-YMPEGBLL.js.map → chunk-EEJMD2L2.js.map} +0 -0
  305. /package/dist/{chunk-XROP4ZHB.js.map → chunk-EHQ5HO5T.js.map} +0 -0
  306. /package/dist/{chunk-ATGRQ2NE.js.map → chunk-EM2LDXJ2.js.map} +0 -0
  307. /package/dist/{chunk-422TIKIH.js.map → chunk-EVPNWN7Z.js.map} +0 -0
  308. /package/dist/{chunk-WBHQ5LP5.js.map → chunk-EXUCUPV2.js.map} +0 -0
  309. /package/dist/{chunk-M3GBOKUX.js.map → chunk-GDUOCHCD.js.map} +0 -0
  310. /package/dist/{chunk-3XEGHEQ2.js.map → chunk-GJSL4WG2.js.map} +0 -0
  311. /package/dist/{chunk-2SXMCQEQ.js.map → chunk-GZQXOQQ2.js.map} +0 -0
  312. /package/dist/{chunk-UUMYB3FR.js.map → chunk-HCVWF657.js.map} +0 -0
  313. /package/dist/{chunk-HHSO6VCQ.js.map → chunk-J3JPB7ZI.js.map} +0 -0
  314. /package/dist/{chunk-Y4I7SOJN.js.map → chunk-LA3HZKES.js.map} +0 -0
  315. /package/dist/{chunk-LQ6JI4VH.js.map → chunk-LD53WPMU.js.map} +0 -0
  316. /package/dist/{chunk-NE5WFIY6.js.map → chunk-LLUGAZ3B.js.map} +0 -0
  317. /package/dist/{chunk-KNN6DAZQ.js.map → chunk-N77ELJ2D.js.map} +0 -0
  318. /package/dist/{chunk-HTIL3EJK.js.map → chunk-NXRUUDUF.js.map} +0 -0
  319. /package/dist/{chunk-JV7Q226R.js.map → chunk-OHTOPFRF.js.map} +0 -0
  320. /package/dist/{chunk-ZG2WP425.js.map → chunk-ORAK3LNZ.js.map} +0 -0
  321. /package/dist/{chunk-NERBFQNY.js.map → chunk-PD42EYQN.js.map} +0 -0
  322. /package/dist/{chunk-NO4DWSQE.js.map → chunk-PKMQK2WY.js.map} +0 -0
  323. /package/dist/{chunk-V5EGLYXE.js.map → chunk-QD6QP5P6.js.map} +0 -0
  324. /package/dist/{chunk-IPJD7WJH.js.map → chunk-QR67FU5G.js.map} +0 -0
  325. /package/dist/{chunk-ZE7GJ76H.js.map → chunk-SQNED75R.js.map} +0 -0
  326. /package/dist/{chunk-5CEJH5ZN.js.map → chunk-TAPSNIMA.js.map} +0 -0
  327. /package/dist/{chunk-PMBWVQ7D.js.map → chunk-TQT3USCG.js.map} +0 -0
  328. /package/dist/{chunk-LLLG5PTE.js.map → chunk-TXQCG6SE.js.map} +0 -0
  329. /package/dist/{chunk-6S5ZI7HB.js.map → chunk-UIXXE6NI.js.map} +0 -0
  330. /package/dist/{chunk-T3XSXAWK.js.map → chunk-UO5ZHIIH.js.map} +0 -0
  331. /package/dist/{chunk-PPVCZPYA.js.map → chunk-VCLGUIFM.js.map} +0 -0
  332. /package/dist/{chunk-5J4OL7TJ.js.map → chunk-VUA4S7P6.js.map} +0 -0
  333. /package/dist/{chunk-HAPVZ4CO.js.map → chunk-WQYSDPMA.js.map} +0 -0
  334. /package/dist/{chunk-O6SEGJNV.js.map → chunk-YEE5KJQQ.js.map} +0 -0
  335. /package/dist/{chunk-WRFKZEO6.js.map → chunk-YQGHW5ML.js.map} +0 -0
  336. /package/dist/{chunk-DG3ORVCU.js.map → chunk-Z4RU5VPM.js.map} +0 -0
  337. /package/dist/{chunk-DCWIQFNA.js.map → chunk-ZUDM75KG.js.map} +0 -0
  338. /package/dist/{graph-edge-decay-QDDC6AVV.js.map → graph-edge-decay-QPRJQ7DL.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connectors/coerce.ts"],"sourcesContent":["/**\n * Shared boolean coercion helpers.\n *\n * Extracted from connectors/index.ts so that both config.ts and\n * connectors/index.ts can import them without creating a circular dependency.\n */\n\n/**\n * Generic boolean coercion: converts string representations of booleans\n * (e.g. from CLI `--config someFlag=false`) to proper boolean values.\n * Accepts the same truthy/falsy strings that common shells and env vars use.\n *\n * Returns `undefined` when the value is neither a boolean nor a recognised\n * string, so callers can fall back to a default.\n *\n * CLAUDE.md gotcha #36: String \"false\" is truthy in JavaScript.\n * CLAUDE.md gotcha #28: Coerce CLI values to expected types at input boundaries.\n */\nexport function coerceBool(value: unknown): boolean | undefined {\n if (typeof value === \"boolean\") return value;\n if (typeof value === \"string\") {\n const v = value.trim().toLowerCase();\n if ([\"false\", \"0\", \"no\", \"off\"].includes(v)) return false;\n if ([\"true\", \"1\", \"yes\", \"on\"].includes(v)) return true;\n }\n return undefined;\n}\n\n/**\n * Coerce the `installExtension` config value from a string (e.g. from CLI\n * `--config installExtension=false`) to a proper boolean.\n *\n * Delegates to the generic `coerceBool` helper. Kept for backward compatibility.\n */\nexport function coerceInstallExtension(value: unknown): boolean | undefined {\n return coerceBool(value);\n}\n\n/**\n * Generic numeric coercion: accepts a finite number or a string that\n * parses cleanly to one. Returns `undefined` otherwise so callers can\n * fall back to a default.\n *\n * Rules:\n * - number: returned as-is only if finite (NaN / ±Infinity → undefined).\n * - string: trimmed, parsed with `Number()`. Returns `undefined` on\n * empty, NaN, or Infinity.\n *\n * CLAUDE.md gotcha #28: Coerce CLI values to expected types at input boundaries.\n */\nexport function coerceNumber(value: unknown): number | undefined {\n if (typeof value === \"number\") {\n return Number.isFinite(value) ? value : undefined;\n }\n if (typeof value === \"string\") {\n const trimmed = value.trim();\n if (trimmed.length === 0) return undefined;\n const n = Number(trimmed);\n return Number.isFinite(n) ? n : undefined;\n }\n return undefined;\n}\n"],"mappings":";AAkBO,SAAS,WAAW,OAAqC;AAC9D,MAAI,OAAO,UAAU,UAAW,QAAO;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI,MAAM,KAAK,EAAE,YAAY;AACnC,QAAI,CAAC,SAAS,KAAK,MAAM,KAAK,EAAE,SAAS,CAAC,EAAG,QAAO;AACpD,QAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,SAAS,CAAC,EAAG,QAAO;AAAA,EACrD;AACA,SAAO;AACT;AAQO,SAAS,uBAAuB,OAAqC;AAC1E,SAAO,WAAW,KAAK;AACzB;AAcO,SAAS,aAAa,OAAoC;AAC/D,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAAA,EAC1C;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,UAAM,IAAI,OAAO,OAAO;AACxB,WAAO,OAAO,SAAS,CAAC,IAAI,IAAI;AAAA,EAClC;AACA,SAAO;AACT;","names":[]}
@@ -1,3 +1,9 @@
1
+ import {
2
+ LcmWorkQueue
3
+ } from "./chunk-TPDBFYEG.js";
4
+ import {
5
+ assembleCompressedHistory
6
+ } from "./chunk-KCYE2MZM.js";
1
7
  import {
2
8
  ensureLcmStateDir,
3
9
  openLcmDatabase
@@ -11,12 +17,6 @@ import {
11
17
  import {
12
18
  LcmDag
13
19
  } from "./chunk-7N4KAIGN.js";
14
- import {
15
- LcmWorkQueue
16
- } from "./chunk-TPDBFYEG.js";
17
- import {
18
- assembleCompressedHistory
19
- } from "./chunk-KCYE2MZM.js";
20
20
  import {
21
21
  log
22
22
  } from "./chunk-NU3CSQ4H.js";
@@ -513,4 +513,4 @@ export {
513
513
  extractLcmConfig,
514
514
  LcmEngine
515
515
  };
516
- //# sourceMappingURL=chunk-NO4DWSQE.js.map
516
+ //# sourceMappingURL=chunk-PKMQK2WY.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ chatgptReplayNormalizer
3
+ } from "./chunk-MC4FJXPA.js";
1
4
  import {
2
5
  claudeReplayNormalizer
3
6
  } from "./chunk-LQHDIS7L.js";
@@ -5,8 +8,8 @@ import {
5
8
  openclawReplayNormalizer
6
9
  } from "./chunk-7F7Z6MOS.js";
7
10
  import {
8
- chatgptReplayNormalizer
9
- } from "./chunk-MC4FJXPA.js";
11
+ importSqlite
12
+ } from "./chunk-AGNBY3VG.js";
10
13
  import {
11
14
  exportJsonBundle
12
15
  } from "./chunk-UP6MOYCB.js";
@@ -16,9 +19,6 @@ import {
16
19
  import {
17
20
  importMarkdownBundle
18
21
  } from "./chunk-HDDRVXX4.js";
19
- import {
20
- importSqlite
21
- } from "./chunk-AGNBY3VG.js";
22
22
  import {
23
23
  detectImportFormat
24
24
  } from "./chunk-OZKVVUJB.js";
@@ -31,6 +31,11 @@ import {
31
31
  import {
32
32
  exportMarkdownBundle
33
33
  } from "./chunk-765K3SAT.js";
34
+ import {
35
+ buildReplayNormalizerRegistry,
36
+ clampBatchSize,
37
+ runReplay
38
+ } from "./chunk-HOJZMQ4J.js";
34
39
  import {
35
40
  TailscaleHelper
36
41
  } from "./chunk-EEC4PCG5.js";
@@ -38,39 +43,34 @@ import {
38
43
  WebDavServer
39
44
  } from "./chunk-PYIFUBRK.js";
40
45
  import {
41
- buildReplayNormalizerRegistry,
42
- clampBatchSize,
43
- runReplay
44
- } from "./chunk-HOJZMQ4J.js";
46
+ migrateObservations
47
+ } from "./chunk-D6RIFG4O.js";
45
48
  import {
46
49
  rebuildMemoryLifecycleLedger
47
- } from "./chunk-5YQN2XYC.js";
50
+ } from "./chunk-6FAMMBQ3.js";
48
51
  import {
49
52
  rebuildMemoryProjection,
50
53
  repairMemoryProjection,
51
54
  verifyMemoryProjection
52
- } from "./chunk-LLLG5PTE.js";
55
+ } from "./chunk-TXQCG6SE.js";
53
56
  import {
54
57
  rebuildObservations
55
58
  } from "./chunk-LZZNTPLR.js";
56
59
  import {
57
60
  archiveObservations
58
61
  } from "./chunk-WMWVO45V.js";
59
- import {
60
- migrateObservations
61
- } from "./chunk-D6RIFG4O.js";
62
- import {
63
- runCompatChecks
64
- } from "./chunk-GQL52GQ5.js";
65
62
  import {
66
63
  getBulkImportSource,
67
64
  listBulkImportSources,
68
65
  registerBulkImportSource,
69
66
  runBulkImportPipeline
70
67
  } from "./chunk-CKITWVWJ.js";
68
+ import {
69
+ runCompatChecks
70
+ } from "./chunk-GQL52GQ5.js";
71
71
  import {
72
72
  promoteSemanticRuleFromMemory
73
- } from "./chunk-HHSO6VCQ.js";
73
+ } from "./chunk-J3JPB7ZI.js";
74
74
  import {
75
75
  resolveAgentAccessAuthToken
76
76
  } from "./chunk-TGQ2NTWH.js";
@@ -78,10 +78,10 @@ import {
78
78
  buildResumeBundleFromState,
79
79
  getResumeBundleStatus,
80
80
  recordResumeBundle
81
- } from "./chunk-RIW3UDDY.js";
81
+ } from "./chunk-D7EBTQ24.js";
82
82
  import {
83
83
  parseXrayCliOptions
84
- } from "./chunk-CYJV5AYC.js";
84
+ } from "./chunk-BXEOHV7K.js";
85
85
  import {
86
86
  runBenchmarkRecall,
87
87
  runOperatorConfigReview,
@@ -89,12 +89,12 @@ import {
89
89
  runOperatorInventory,
90
90
  runOperatorRepair,
91
91
  runOperatorSetup
92
- } from "./chunk-HU4EBIXO.js";
92
+ } from "./chunk-A5XNBK2D.js";
93
93
  import {
94
94
  listNamespaces,
95
95
  runNamespaceMigration,
96
96
  verifyNamespaces
97
- } from "./chunk-YMPEGBLL.js";
97
+ } from "./chunk-EEJMD2L2.js";
98
98
  import {
99
99
  collectPatternMemories,
100
100
  explainPatternMemory,
@@ -107,13 +107,13 @@ import {
107
107
  import {
108
108
  GraphDashboardServer
109
109
  } from "./chunk-YNDLCWXS.js";
110
- import {
111
- RoutingRulesStore
112
- } from "./chunk-WIWPSQYU.js";
113
110
  import {
114
111
  isReplaySource,
115
112
  normalizeReplaySessionKey
116
113
  } from "./chunk-2PRQG7PV.js";
114
+ import {
115
+ RoutingRulesStore
116
+ } from "./chunk-WIWPSQYU.js";
117
117
  import {
118
118
  getUtilityLearningStatus,
119
119
  learnUtilityPromotionWeights
@@ -124,13 +124,13 @@ import {
124
124
  } from "./chunk-TERNBNJB.js";
125
125
  import {
126
126
  searchVerifiedEpisodes
127
- } from "./chunk-H2AGJ5SV.js";
127
+ } from "./chunk-EBDA5TYA.js";
128
128
  import {
129
129
  ThreadingManager
130
130
  } from "./chunk-QRDOSYOR.js";
131
131
  import {
132
132
  searchVerifiedSemanticRules
133
- } from "./chunk-O6SEGJNV.js";
133
+ } from "./chunk-YEE5KJQQ.js";
134
134
  import {
135
135
  getWorkProductLedgerStatus,
136
136
  recordWorkProductLedgerEntry,
@@ -139,18 +139,18 @@ import {
139
139
  import {
140
140
  utcDayRange
141
141
  } from "./chunk-GY3SKOS4.js";
142
+ import {
143
+ readRuntimePolicySnapshot,
144
+ sanitizeRuntimePolicyValues
145
+ } from "./chunk-33JBK2XP.js";
142
146
  import {
143
147
  formatNamespaceMaintenanceHealthText
144
- } from "./chunk-NERBFQNY.js";
148
+ } from "./chunk-PD42EYQN.js";
145
149
  import {
146
150
  analyzeSessionIntegrity,
147
151
  applySessionRepair,
148
152
  planSessionRepair
149
153
  } from "./chunk-KFY3SGN7.js";
150
- import {
151
- readRuntimePolicySnapshot,
152
- sanitizeRuntimePolicyValues
153
- } from "./chunk-33JBK2XP.js";
154
154
  import {
155
155
  GITHUB_CONNECTOR_ID,
156
156
  GMAIL_CONNECTOR_ID,
@@ -209,13 +209,13 @@ import {
209
209
  } from "./chunk-UQ7RN5HK.js";
210
210
  import {
211
211
  parseConfig
212
- } from "./chunk-ZKUW2MJG.js";
212
+ } from "./chunk-4SF232E6.js";
213
213
  import {
214
214
  getAbstractionNodeStoreStatus
215
215
  } from "./chunk-OADWQ5CR.js";
216
216
  import {
217
217
  EngramAccessHttpServer
218
- } from "./chunk-6S5ZI7HB.js";
218
+ } from "./chunk-UIXXE6NI.js";
219
219
  import {
220
220
  WearablesInputError
221
221
  } from "./chunk-7WV3F5DQ.js";
@@ -228,10 +228,10 @@ import {
228
228
  createProductionChatLlmAdapter,
229
229
  loadChatSession,
230
230
  sessionBelongsToPrincipal
231
- } from "./chunk-BGQ7WKMT.js";
231
+ } from "./chunk-B7WISIAJ.js";
232
232
  import {
233
233
  EngramAccessService
234
- } from "./chunk-M3GBOKUX.js";
234
+ } from "./chunk-GDUOCHCD.js";
235
235
  import {
236
236
  WorkStorage
237
237
  } from "./chunk-GDB4J2H3.js";
@@ -243,13 +243,13 @@ import {
243
243
  parseRecallExplainFormat,
244
244
  renderRecallExplain,
245
245
  renderXray
246
- } from "./chunk-V7UUIIR7.js";
246
+ } from "./chunk-7CTNUVHZ.js";
247
247
  import {
248
248
  listMemoryGovernanceRuns,
249
249
  readMemoryGovernanceRunArtifact,
250
250
  restoreMemoryGovernanceRun,
251
251
  runMemoryGovernance
252
- } from "./chunk-NBYXOEO7.js";
252
+ } from "./chunk-EDOQM4E4.js";
253
253
  import {
254
254
  getTrustZoneStoreStatus,
255
255
  promoteTrustZoneRecord,
@@ -264,17 +264,17 @@ import {
264
264
  } from "./chunk-DVRHLN2O.js";
265
265
  import {
266
266
  getCausalTrajectoryStoreStatus
267
- } from "./chunk-ZE7GJ76H.js";
267
+ } from "./chunk-SQNED75R.js";
268
268
  import {
269
269
  analyzeGraphHealth
270
- } from "./chunk-XROP4ZHB.js";
270
+ } from "./chunk-EHQ5HO5T.js";
271
271
  import {
272
272
  assertPathInsideRoot
273
273
  } from "./chunk-5GPPACXK.js";
274
274
  import {
275
275
  RECALL_DISCLOSURE_LEVELS,
276
276
  isRecallDisclosure
277
- } from "./chunk-ZW5I3UNP.js";
277
+ } from "./chunk-ILFSEIRT.js";
278
278
  import {
279
279
  RECALL_FALLBACK_DIRS
280
280
  } from "./chunk-VS2IYZRU.js";
@@ -7505,4 +7505,4 @@ export {
7505
7505
  listMemoryMarkdownFilePaths,
7506
7506
  registerCli
7507
7507
  };
7508
- //# sourceMappingURL=chunk-V5EGLYXE.js.map
7508
+ //# sourceMappingURL=chunk-QD6QP5P6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-UUMYB3FR.js";
3
+ } from "./chunk-HCVWF657.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -401,4 +401,4 @@ export {
401
401
  namespaceCollectionName,
402
402
  NamespaceSearchRouter
403
403
  };
404
- //# sourceMappingURL=chunk-IPJD7WJH.js.map
404
+ //# sourceMappingURL=chunk-QR67FU5G.js.map
@@ -216,4 +216,4 @@ export {
216
216
  getCausalTrajectoryStoreStatus,
217
217
  searchCausalTrajectories
218
218
  };
219
- //# sourceMappingURL=chunk-ZE7GJ76H.js.map
219
+ //# sourceMappingURL=chunk-SQNED75R.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- scanMemoryDir
3
- } from "./chunk-AER6MT24.js";
4
1
  import {
5
2
  isSearchAborted,
6
3
  throwIfSearchAborted
7
4
  } from "./chunk-CINZGPSJ.js";
5
+ import {
6
+ scanMemoryDir
7
+ } from "./chunk-AER6MT24.js";
8
8
  import {
9
9
  resolveEnsureCollectionArgs
10
10
  } from "./chunk-YNQ6DFSV.js";
@@ -491,4 +491,4 @@ function isMissingVectorProviderColumnError(err) {
491
491
  export {
492
492
  LanceDbBackend
493
493
  };
494
- //# sourceMappingURL=chunk-5CEJH5ZN.js.map
494
+ //# sourceMappingURL=chunk-TAPSNIMA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readAllEdges
3
- } from "./chunk-XROP4ZHB.js";
3
+ } from "./chunk-EHQ5HO5T.js";
4
4
  import {
5
5
  readEdgeConfidence
6
6
  } from "./chunk-2LSZVONP.js";
@@ -162,4 +162,4 @@ export {
162
162
  parseGraphSnapshotSince,
163
163
  buildGraphSnapshot
164
164
  };
165
- //# sourceMappingURL=chunk-PMBWVQ7D.js.map
165
+ //# sourceMappingURL=chunk-TQT3USCG.js.map
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  listMemoryGovernanceRuns,
12
12
  readMemoryGovernanceRunArtifact
13
- } from "./chunk-NBYXOEO7.js";
13
+ } from "./chunk-EDOQM4E4.js";
14
14
  import {
15
15
  StorageManager
16
- } from "./chunk-422TIKIH.js";
16
+ } from "./chunk-EVPNWN7Z.js";
17
17
  import {
18
18
  MEMORY_LIFECYCLE_EVENT_SORT_ORDER,
19
19
  buildLifecycleEventsForMemory,
@@ -929,4 +929,4 @@ export {
929
929
  verifyMemoryProjection,
930
930
  repairMemoryProjection
931
931
  };
932
- //# sourceMappingURL=chunk-LLLG5PTE.js.map
932
+ //# sourceMappingURL=chunk-TXQCG6SE.js.map
@@ -17,19 +17,19 @@ import {
17
17
  markPlanResolved,
18
18
  markPromotionResolved,
19
19
  sessionBelongsToPrincipal
20
- } from "./chunk-BGQ7WKMT.js";
20
+ } from "./chunk-B7WISIAJ.js";
21
21
  import {
22
22
  validateRequest
23
23
  } from "./chunk-FVZ2ISIX.js";
24
24
  import {
25
25
  getOperation
26
- } from "./chunk-NE5WFIY6.js";
26
+ } from "./chunk-LLUGAZ3B.js";
27
27
  import {
28
28
  EngramAccessInputError
29
- } from "./chunk-M3GBOKUX.js";
29
+ } from "./chunk-GDUOCHCD.js";
30
30
  import {
31
31
  CorrectionContractError
32
- } from "./chunk-PPVCZPYA.js";
32
+ } from "./chunk-VCLGUIFM.js";
33
33
  import {
34
34
  isTrustZoneName
35
35
  } from "./chunk-JGSKJHF7.js";
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-DEUNUKTD.js";
42
42
  import {
43
43
  isRecallDisclosure
44
- } from "./chunk-ZW5I3UNP.js";
44
+ } from "./chunk-ILFSEIRT.js";
45
45
  import {
46
46
  OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
47
47
  OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
@@ -2528,4 +2528,4 @@ function positiveIntQueryParam(value, label) {
2528
2528
  export {
2529
2529
  EngramAccessHttpServer
2530
2530
  };
2531
- //# sourceMappingURL=chunk-6S5ZI7HB.js.map
2531
+ //# sourceMappingURL=chunk-UIXXE6NI.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  StorageManager,
3
3
  normalizeEntityName
4
- } from "./chunk-422TIKIH.js";
4
+ } from "./chunk-EVPNWN7Z.js";
5
5
  import {
6
6
  serializeMutations
7
7
  } from "./chunk-LTJAMRGI.js";
@@ -956,4 +956,4 @@ export {
956
956
  resolveBriefingSaveDir,
957
957
  briefingFilename
958
958
  };
959
- //# sourceMappingURL=chunk-T3XSXAWK.js.map
959
+ //# sourceMappingURL=chunk-UO5ZHIIH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  enqueuePassiveCorrectionNotification
3
- } from "./chunk-T3XSXAWK.js";
3
+ } from "./chunk-UO5ZHIIH.js";
4
4
  import {
5
5
  stripAttributesSuffix
6
6
  } from "./chunk-SVOZFLIQ.js";
@@ -1685,4 +1685,4 @@ export {
1685
1685
  capturePassiveCorrections,
1686
1686
  clusterByKey
1687
1687
  };
1688
- //# sourceMappingURL=chunk-PPVCZPYA.js.map
1688
+ //# sourceMappingURL=chunk-VCLGUIFM.js.map
@@ -2,14 +2,14 @@ import {
2
2
  getGatewayRuntimeAuthForModel,
3
3
  resolveProviderApiKey
4
4
  } from "./chunk-IQVQJJL7.js";
5
- import {
6
- loadModelsJsonProviders
7
- } from "./chunk-VL7DP3OW.js";
8
5
  import {
9
6
  buildChatCompletionTemperature,
10
7
  buildChatCompletionTokenLimit,
11
8
  shouldAssumeOpenAiChatCompletions
12
9
  } from "./chunk-L2EXJQJP.js";
10
+ import {
11
+ loadModelsJsonProviders
12
+ } from "./chunk-VL7DP3OW.js";
13
13
  import {
14
14
  extractJsonCandidates
15
15
  } from "./chunk-RGMVMVMF.js";
@@ -698,4 +698,4 @@ export {
698
698
  fallbackLlmRuntimeContextFromConfig,
699
699
  FallbackLlmClient
700
700
  };
701
- //# sourceMappingURL=chunk-5J4OL7TJ.js.map
701
+ //# sourceMappingURL=chunk-VUA4S7P6.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-UFS7OXGL.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-422TIKIH.js";
7
+ } from "./chunk-EVPNWN7Z.js";
8
8
  import {
9
9
  parseContinuityImprovementLoops
10
10
  } from "./chunk-LDXUBPMO.js";
@@ -1261,4 +1261,4 @@ export {
1261
1261
  defaultTierMigrationCycleBudget,
1262
1262
  CompoundingEngine
1263
1263
  };
1264
- //# sourceMappingURL=chunk-HAPVZ4CO.js.map
1264
+ //# sourceMappingURL=chunk-WQYSDPMA.js.map
@@ -0,0 +1,79 @@
1
+ // src/local-model-endpoint.ts
2
+ function resolveFaithfulnessGateEndpoint(config) {
3
+ const baseUrl = config.extractionFaithfulnessBaseUrl.trim();
4
+ const model = config.extractionFaithfulnessModel.trim();
5
+ if (!baseUrl || !model) return null;
6
+ return { baseUrl, model };
7
+ }
8
+ function resolveCorrectionIntentEndpoint(config) {
9
+ const baseUrl = config.correctionIntentBaseUrl.trim();
10
+ const model = config.correctionIntentModel.trim();
11
+ if (!baseUrl || !model) return null;
12
+ return { baseUrl, model };
13
+ }
14
+ async function callOpenAiCompatibleChat(endpoint, messages, options, fetchImpl = fetch) {
15
+ const url = joinBaseUrl(endpoint.baseUrl, "/chat/completions");
16
+ const controller = new AbortController();
17
+ const timer = setTimeout(() => controller.abort(), options.timeoutMs);
18
+ try {
19
+ const body = {
20
+ model: endpoint.model,
21
+ messages,
22
+ temperature: options.temperature ?? 0.1
23
+ };
24
+ if (typeof options.maxTokens === "number") {
25
+ body.max_tokens = options.maxTokens;
26
+ }
27
+ if (options.responseFormatJson) {
28
+ body.response_format = { type: "json_object" };
29
+ }
30
+ let response;
31
+ try {
32
+ response = await fetchImpl(url, {
33
+ method: "POST",
34
+ headers: { "content-type": "application/json" },
35
+ body: JSON.stringify(body),
36
+ signal: controller.signal
37
+ });
38
+ } catch {
39
+ return null;
40
+ }
41
+ if (!response.ok) return null;
42
+ const parsed = await response.json().catch(() => null);
43
+ const content = extractFirstChoiceContent(parsed);
44
+ if (content === null) return null;
45
+ return { content, modelUsed: extractModel(parsed) ?? endpoint.model };
46
+ } finally {
47
+ clearTimeout(timer);
48
+ }
49
+ }
50
+ function joinBaseUrl(base, path) {
51
+ return base.endsWith("/") ? `${base.slice(0, -1)}${path}` : `${base}${path}`;
52
+ }
53
+ function extractFirstChoiceContent(data) {
54
+ if (!data || typeof data !== "object") return null;
55
+ if (!("choices" in data) || !Array.isArray(data.choices)) return null;
56
+ const choices = data.choices;
57
+ for (const choice of choices) {
58
+ if (!choice || typeof choice !== "object") continue;
59
+ if (!("message" in choice)) continue;
60
+ const message = choice.message;
61
+ if (!message || typeof message !== "object") continue;
62
+ if (!("content" in message)) continue;
63
+ const content = message.content;
64
+ if (typeof content === "string" && content.length > 0) return content;
65
+ }
66
+ return null;
67
+ }
68
+ function extractModel(data) {
69
+ if (!data || typeof data !== "object" || !("model" in data)) return null;
70
+ const model = data.model;
71
+ return typeof model === "string" && model.length > 0 ? model : null;
72
+ }
73
+
74
+ export {
75
+ resolveFaithfulnessGateEndpoint,
76
+ resolveCorrectionIntentEndpoint,
77
+ callOpenAiCompatibleChat
78
+ };
79
+ //# sourceMappingURL=chunk-XGTBNVIU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-model-endpoint.ts"],"sourcesContent":["/**\n * Local fine-tuned model endpoint resolver + openai-compatible caller\n * (issue #1585 model-lab integration).\n *\n * Remnic's two classification workloads — the extraction faithfulness gate\n * (#1576) and passive-correction intent detection (#1581) — can run on small\n * fine-tuned models served locally (Ollama / vLLM) instead of prompted\n * frontier LLMs. The model-lab (`model-lab/`) produces those models; this\n * module is the config-side half: it resolves the optional local endpoint\n * pointer from config and, when set, makes a minimal openai-compatible\n * chat-completions call to it.\n *\n * Design:\n * - **Pointers are optional.** Empty defaults preserve the existing routing\n * chain exactly (rule 39 / byte-identical pre-feature). A resolver returns\n * `null` when the pointer is unset, so callers short-circuit before any\n * network.\n * - **Graceful degradation.** A local-endpoint failure (network, non-2xx,\n * malformed body, timeout) returns `null`; callers fall back to the\n * configured chain (checklist §4 — never block writes on a classifier).\n * - **No inline casts.** The fetch JSON is narrowed with `in` / `typeof`\n * guards (project rule: never assert a shape to read one property).\n * - **Injectable fetch.** `callOpenAiCompatibleChat` takes an optional\n * `fetchImpl` so the caller is unit-testable without a live server.\n */\n\nimport type { PluginConfig } from \"./types.js\";\n\n/** A resolved local endpoint: where to call + which model to name. */\nexport interface LocalModelEndpoint {\n /** Base URL, e.g. `http://localhost:11434/v1` (no trailing slash required). */\n baseUrl: string;\n /** Model name the server expects, e.g. `remnic-faithfulness-gate-v1`. */\n model: string;\n}\n\n/** A chat message in the openai-compatible shape this caller sends. */\nexport interface EndpointChatMessage {\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n}\n\n/** Options for a single local-endpoint chat call. */\nexport interface EndpointChatOptions {\n /** Per-call timeout in ms. The caller's batch AbortSignal is NOT forwarded\n * (matches the local-LLM precedent: each attempt is bounded by its own\n * timer so one slow server can't starve the batch). */\n timeoutMs: number;\n /** Sampling temperature — classification wants low entropy (0.0–0.2). */\n temperature?: number;\n /** Max output tokens. */\n maxTokens?: number;\n /** Request JSON-object output (the gate emits a JSON verdict array). */\n responseFormatJson?: boolean;\n}\n\n/** Result of a local-endpoint chat call. */\nexport interface EndpointChatResult {\n content: string;\n /** The model the server reports it used (falls back to the requested name). */\n modelUsed: string;\n}\n\n/**\n * Resolve the faithfulness-gate local endpoint from config (issue #1585).\n *\n * Returns the endpoint only when BOTH a base URL and a model name are\n * configured; otherwise `null` (gate uses its existing routing chain). The\n * gate's verifier needs a model identity, so a base URL alone is intentionally\n * insufficient — silently calling whatever the server's default model is would\n * be an unreviewed behavioral change.\n */\nexport function resolveFaithfulnessGateEndpoint(\n config: Pick<PluginConfig, \"extractionFaithfulnessModel\" | \"extractionFaithfulnessBaseUrl\">,\n): LocalModelEndpoint | null {\n const baseUrl = config.extractionFaithfulnessBaseUrl.trim();\n const model = config.extractionFaithfulnessModel.trim();\n if (!baseUrl || !model) return null;\n return { baseUrl, model };\n}\n\n/**\n * Resolve the correction-intent local endpoint from config (issue #1581/#1585).\n *\n * Same contract as the gate resolver. Consumption by the model-backed\n * detector is the consuming child's job — the rule-based\n * `detectPassiveCorrections` remains the default path; this pointer lets a\n * future model-backed detector route to a fine-tuned local classifier when an\n * operator configures one.\n */\nexport function resolveCorrectionIntentEndpoint(\n config: Pick<PluginConfig, \"correctionIntentModel\" | \"correctionIntentBaseUrl\">,\n): LocalModelEndpoint | null {\n const baseUrl = config.correctionIntentBaseUrl.trim();\n const model = config.correctionIntentModel.trim();\n if (!baseUrl || !model) return null;\n return { baseUrl, model };\n}\n\ntype FetchLike = typeof fetch;\n\n/**\n * Make an openai-compatible chat-completions call to a local endpoint.\n *\n * POSTs to `${baseUrl}/chat/completions` with `{ model, messages, ... }` and\n * returns the first choice's content. Any failure (non-2xx, network error,\n * malformed body, timeout) returns `null` so callers fall back gracefully.\n *\n * The response is narrowed with runtime guards — never an unchecked cast — so\n * a surprising server response fails closed (`null`) rather than reading a\n * fabricated field.\n */\nexport async function callOpenAiCompatibleChat(\n endpoint: LocalModelEndpoint,\n messages: EndpointChatMessage[],\n options: EndpointChatOptions,\n fetchImpl: FetchLike = fetch,\n): Promise<EndpointChatResult | null> {\n const url = joinBaseUrl(endpoint.baseUrl, \"/chat/completions\");\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), options.timeoutMs);\n try {\n const body: Record<string, unknown> = {\n model: endpoint.model,\n messages,\n temperature: options.temperature ?? 0.1,\n };\n if (typeof options.maxTokens === \"number\") {\n body.max_tokens = options.maxTokens;\n }\n if (options.responseFormatJson) {\n body.response_format = { type: \"json_object\" };\n }\n let response: Response;\n try {\n response = await fetchImpl(url, {\n method: \"POST\",\n headers: { \"content-type\": \"application/json\" },\n body: JSON.stringify(body),\n signal: controller.signal,\n });\n } catch {\n // Network error or abort — fail closed, let the caller fall back.\n return null;\n }\n if (!response.ok) return null;\n const parsed: unknown = await response.json().catch(() => null);\n const content = extractFirstChoiceContent(parsed);\n if (content === null) return null;\n return { content, modelUsed: extractModel(parsed) ?? endpoint.model };\n } finally {\n clearTimeout(timer);\n }\n}\n\n/** Join a base URL and a path, tolerating a trailing slash on the base. */\nfunction joinBaseUrl(base: string, path: string): string {\n return base.endsWith(\"/\") ? `${base.slice(0, -1)}${path}` : `${base}${path}`;\n}\n\n/**\n * Narrow the openai-compatible response and pull the first choice's content.\n *\n * `in` / `typeof` guards only — no `as` cast (project rule). Returns `null`\n * for any shape that isn't `{ choices: [{ message: { content: string } }, …] }`.\n */\nfunction extractFirstChoiceContent(data: unknown): string | null {\n if (!data || typeof data !== \"object\") return null;\n // After `in`, TS narrows the property to `unknown` — read it directly, no cast.\n if (!(\"choices\" in data) || !Array.isArray(data.choices)) return null;\n const choices: unknown[] = data.choices;\n for (const choice of choices) {\n if (!choice || typeof choice !== \"object\") continue;\n if (!(\"message\" in choice)) continue;\n const message = choice.message;\n if (!message || typeof message !== \"object\") continue;\n if (!(\"content\" in message)) continue;\n const content = message.content;\n if (typeof content === \"string\" && content.length > 0) return content;\n }\n return null;\n}\n\n/** Narrow the `model` field from the response (best-effort, may be absent). */\nfunction extractModel(data: unknown): string | null {\n if (!data || typeof data !== \"object\" || !(\"model\" in data)) return null;\n const model = data.model;\n return typeof model === \"string\" && model.length > 0 ? model : null;\n}\n"],"mappings":";AAwEO,SAAS,gCACd,QAC2B;AAC3B,QAAM,UAAU,OAAO,8BAA8B,KAAK;AAC1D,QAAM,QAAQ,OAAO,4BAA4B,KAAK;AACtD,MAAI,CAAC,WAAW,CAAC,MAAO,QAAO;AAC/B,SAAO,EAAE,SAAS,MAAM;AAC1B;AAWO,SAAS,gCACd,QAC2B;AAC3B,QAAM,UAAU,OAAO,wBAAwB,KAAK;AACpD,QAAM,QAAQ,OAAO,sBAAsB,KAAK;AAChD,MAAI,CAAC,WAAW,CAAC,MAAO,QAAO;AAC/B,SAAO,EAAE,SAAS,MAAM;AAC1B;AAeA,eAAsB,yBACpB,UACA,UACA,SACA,YAAuB,OACa;AACpC,QAAM,MAAM,YAAY,SAAS,SAAS,mBAAmB;AAC7D,QAAM,aAAa,IAAI,gBAAgB;AACvC,QAAM,QAAQ,WAAW,MAAM,WAAW,MAAM,GAAG,QAAQ,SAAS;AACpE,MAAI;AACF,UAAM,OAAgC;AAAA,MACpC,OAAO,SAAS;AAAA,MAChB;AAAA,MACA,aAAa,QAAQ,eAAe;AAAA,IACtC;AACA,QAAI,OAAO,QAAQ,cAAc,UAAU;AACzC,WAAK,aAAa,QAAQ;AAAA,IAC5B;AACA,QAAI,QAAQ,oBAAoB;AAC9B,WAAK,kBAAkB,EAAE,MAAM,cAAc;AAAA,IAC/C;AACA,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,UAAU,KAAK;AAAA,QAC9B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,QACzB,QAAQ,WAAW;AAAA,MACrB,CAAC;AAAA,IACH,QAAQ;AAEN,aAAO;AAAA,IACT;AACA,QAAI,CAAC,SAAS,GAAI,QAAO;AACzB,UAAM,SAAkB,MAAM,SAAS,KAAK,EAAE,MAAM,MAAM,IAAI;AAC9D,UAAM,UAAU,0BAA0B,MAAM;AAChD,QAAI,YAAY,KAAM,QAAO;AAC7B,WAAO,EAAE,SAAS,WAAW,aAAa,MAAM,KAAK,SAAS,MAAM;AAAA,EACtE,UAAE;AACA,iBAAa,KAAK;AAAA,EACpB;AACF;AAGA,SAAS,YAAY,MAAc,MAAsB;AACvD,SAAO,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;AAC5E;AAQA,SAAS,0BAA0B,MAA8B;AAC/D,MAAI,CAAC,QAAQ,OAAO,SAAS,SAAU,QAAO;AAE9C,MAAI,EAAE,aAAa,SAAS,CAAC,MAAM,QAAQ,KAAK,OAAO,EAAG,QAAO;AACjE,QAAM,UAAqB,KAAK;AAChC,aAAW,UAAU,SAAS;AAC5B,QAAI,CAAC,UAAU,OAAO,WAAW,SAAU;AAC3C,QAAI,EAAE,aAAa,QAAS;AAC5B,UAAM,UAAU,OAAO;AACvB,QAAI,CAAC,WAAW,OAAO,YAAY,SAAU;AAC7C,QAAI,EAAE,aAAa,SAAU;AAC7B,UAAM,UAAU,QAAQ;AACxB,QAAI,OAAO,YAAY,YAAY,QAAQ,SAAS,EAAG,QAAO;AAAA,EAChE;AACA,SAAO;AACT;AAGA,SAAS,aAAa,MAA8B;AAClD,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,EAAE,WAAW,MAAO,QAAO;AACpE,QAAM,QAAQ,KAAK;AACnB,SAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ;AACjE;","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZBJMUXZH.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-422TIKIH.js";
7
+ } from "./chunk-EVPNWN7Z.js";
8
8
  import {
9
9
  getCachedRuleMemories,
10
10
  setCachedRuleMemories
@@ -117,4 +117,4 @@ export {
117
117
  compareVerifiedSemanticRuleResults,
118
118
  searchVerifiedSemanticRules
119
119
  };
120
- //# sourceMappingURL=chunk-O6SEGJNV.js.map
120
+ //# sourceMappingURL=chunk-YEE5KJQQ.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- scanMemoryDir
3
- } from "./chunk-AER6MT24.js";
4
1
  import {
5
2
  isSearchAborted,
6
3
  throwIfSearchAborted
7
4
  } from "./chunk-CINZGPSJ.js";
5
+ import {
6
+ scanMemoryDir
7
+ } from "./chunk-AER6MT24.js";
8
8
  import {
9
9
  resolveEnsureCollectionArgs
10
10
  } from "./chunk-YNQ6DFSV.js";
@@ -245,4 +245,4 @@ function isMeilisearchIndexNotFoundError(err) {
245
245
  export {
246
246
  MeilisearchBackend
247
247
  };
248
- //# sourceMappingURL=chunk-WRFKZEO6.js.map
248
+ //# sourceMappingURL=chunk-YQGHW5ML.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  planNamespaceMaintenance,
12
12
  runNamespaceMaintenanceBatchPlan
13
- } from "./chunk-WBHQ5LP5.js";
13
+ } from "./chunk-EXUCUPV2.js";
14
14
  import {
15
15
  resolveHomeDir
16
16
  } from "./chunk-JUC24CTX.js";
@@ -441,4 +441,4 @@ var MaintenanceScheduler = class {
441
441
  export {
442
442
  MaintenanceScheduler
443
443
  };
444
- //# sourceMappingURL=chunk-DG3ORVCU.js.map
444
+ //# sourceMappingURL=chunk-Z4RU5VPM.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- failOpenFaissHealth
3
- } from "./chunk-XBZQRZ6G.js";
4
1
  import {
5
2
  rebuildConversationChunksFailOpen,
6
3
  upsertConversationChunksFailOpen
@@ -9,6 +6,9 @@ import {
9
6
  searchConversationIndex,
10
7
  searchConversationIndexFaissFailOpen
11
8
  } from "./chunk-SJHM6I4J.js";
9
+ import {
10
+ failOpenFaissHealth
11
+ } from "./chunk-XBZQRZ6G.js";
12
12
 
13
13
  // src/conversation-index/backend.ts
14
14
  function createConversationIndexBackend(options) {
@@ -235,4 +235,4 @@ function createFaissBackend(getFaiss) {
235
235
  export {
236
236
  createConversationIndexBackend
237
237
  };
238
- //# sourceMappingURL=chunk-DCWIQFNA.js.map
238
+ //# sourceMappingURL=chunk-ZUDM75KG.js.map
@@ -1,13 +1,13 @@
1
1
  import { CompoundingPromotionReport } from './compounding/engine.js';
2
2
  import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
3
3
  import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
4
- import { f as MemoryStatus, g as MemoryFile, B as BehaviorSignalEvent, Q as QmdSearchResult, W as MemoryActionEvent, m as MemoryLifecycleEvent } from './types-BSdUWePh.js';
4
+ import { f as MemoryStatus, g as MemoryFile, B as BehaviorSignalEvent, Q as QmdSearchResult, W as MemoryActionEvent, m as MemoryLifecycleEvent } from './types-DwO1Ot4n.js';
5
5
  import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
6
6
  import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
7
7
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
8
8
  import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
- import { O as Orchestrator } from './orchestrator-Bg5Fnza6.js';
10
+ import { O as Orchestrator } from './orchestrator-f5xv19kp.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
13
  import { b as BulkImportResult } from './types-gb_SNtjR.js';
@@ -16,7 +16,7 @@ import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/type
16
16
  import { RoutePatternType } from './routing/engine.js';
17
17
  import { TailscaleSyncOptions } from './network/tailscale.js';
18
18
  import { DashboardStatus } from './dashboard-runtime.js';
19
- import { g as EngramAccessService } from './access-service-Dw-tK1pa.js';
19
+ import { g as EngramAccessService } from './access-service-Dj3I-VBS.js';
20
20
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
21
21
  import { CompatRunner, CompatReport } from './compat/types.js';
22
22
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';