@remnic/core 9.3.701 → 9.3.702

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 (301) hide show
  1. package/dist/access-boundary.d.ts +7 -7
  2. package/dist/access-boundary.js +15 -12
  3. package/dist/access-cli.js +36 -33
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +7 -7
  6. package/dist/access-http.js +18 -15
  7. package/dist/access-mcp.d.ts +7 -7
  8. package/dist/access-mcp.js +17 -14
  9. package/dist/access-operations.d.ts +7 -7
  10. package/dist/access-operations.js +16 -13
  11. package/dist/{access-service-CGVWK6lZ.d.ts → access-service-COCzhgEL.d.ts} +397 -19
  12. package/dist/access-service.d.ts +6 -6
  13. package/dist/access-service.js +14 -11
  14. package/dist/access-surface-catalog.d.ts +7 -7
  15. package/dist/action-confidence.d.ts +1 -1
  16. package/dist/active-memory-bridge.d.ts +1 -1
  17. package/dist/active-memory-bridge.js +2 -2
  18. package/dist/active-recall.d.ts +1 -1
  19. package/dist/active-recall.js +7 -6
  20. package/dist/active-recall.js.map +1 -1
  21. package/dist/behavior-learner.d.ts +1 -1
  22. package/dist/behavior-signals.d.ts +1 -1
  23. package/dist/bootstrap.d.ts +5 -5
  24. package/dist/briefing.d.ts +1 -1
  25. package/dist/briefing.js +6 -5
  26. package/dist/buffer-surprise-report.d.ts +1 -1
  27. package/dist/buffer.d.ts +1 -1
  28. package/dist/calibration.d.ts +1 -1
  29. package/dist/capabilities.d.ts +1 -1
  30. package/dist/{catalog-DBIghceA.d.ts → catalog-DxCzhjE6.d.ts} +2 -2
  31. package/dist/causal-behavior.d.ts +1 -1
  32. package/dist/causal-consolidation.d.ts +1 -1
  33. package/dist/causal-consolidation.js +7 -6
  34. package/dist/causal-consolidation.js.map +1 -1
  35. package/dist/{chunk-YXLT4EMM.js → chunk-4463LUIE.js} +12 -2
  36. package/dist/chunk-4463LUIE.js.map +1 -0
  37. package/dist/{chunk-R5DB26G6.js → chunk-4SBW47WK.js} +9 -23
  38. package/dist/chunk-4SBW47WK.js.map +1 -0
  39. package/dist/{chunk-KF4TXW7Z.js → chunk-5VXVXJH6.js} +149 -6
  40. package/dist/{chunk-KF4TXW7Z.js.map → chunk-5VXVXJH6.js.map} +1 -1
  41. package/dist/{chunk-ODTWHSY2.js → chunk-64XXOQRW.js} +2 -2
  42. package/dist/{chunk-ZT7B64BE.js → chunk-6TAETM63.js} +2 -2
  43. package/dist/{chunk-HF4N43Q7.js → chunk-6VVP6NK7.js} +2 -2
  44. package/dist/{chunk-FN2SM5SN.js → chunk-ABCGDW3A.js} +75 -12
  45. package/dist/chunk-ABCGDW3A.js.map +1 -0
  46. package/dist/{chunk-7TAQEPLE.js → chunk-AMNLZ6SF.js} +2 -2
  47. package/dist/{chunk-KS7WQ4BZ.js → chunk-CZJ6QSKG.js} +3 -3
  48. package/dist/{chunk-27LQPUMZ.js → chunk-EOOVJK2U.js} +3 -3
  49. package/dist/{chunk-QP37KL5H.js → chunk-EYJD6KIO.js} +2 -2
  50. package/dist/{chunk-WFEZUGU5.js → chunk-EZR35XHX.js} +2 -2
  51. package/dist/{chunk-UU6MVCJ6.js → chunk-FIOYURII.js} +32 -25
  52. package/dist/chunk-FIOYURII.js.map +1 -0
  53. package/dist/{chunk-JO3E5VGS.js → chunk-FVI5B7DE.js} +2 -2
  54. package/dist/{chunk-SFMRLXIV.js → chunk-GFIARMA7.js} +15 -7
  55. package/dist/chunk-GFIARMA7.js.map +1 -0
  56. package/dist/{chunk-PONNZ54D.js → chunk-GY3SKOS4.js} +4 -4
  57. package/dist/{chunk-U33LWTQQ.js → chunk-HV57RHMD.js} +4 -4
  58. package/dist/{chunk-IKNQAGBV.js → chunk-IX3UQT4H.js} +1 -1
  59. package/dist/{chunk-IKNQAGBV.js.map → chunk-IX3UQT4H.js.map} +1 -1
  60. package/dist/{chunk-IYOPIG3E.js → chunk-IX72AAMZ.js} +2 -2
  61. package/dist/{chunk-JKOKX3PS.js → chunk-JMA4RYRN.js} +2 -2
  62. package/dist/{chunk-DEDQXIDL.js → chunk-JTKFZMZ7.js} +2 -2
  63. package/dist/{chunk-OLOYQZFB.js → chunk-KC6TCAWV.js} +5 -5
  64. package/dist/{chunk-ROZJACKP.js → chunk-KKK7YTYN.js} +4 -1
  65. package/dist/chunk-KKK7YTYN.js.map +1 -0
  66. package/dist/{chunk-EC2AYKRX.js → chunk-L6W77GWW.js} +10 -24
  67. package/dist/chunk-L6W77GWW.js.map +1 -0
  68. package/dist/{chunk-ED35D32I.js → chunk-LQ4J7ELC.js} +2 -2
  69. package/dist/chunk-LUPVCGYK.js +63 -0
  70. package/dist/chunk-LUPVCGYK.js.map +1 -0
  71. package/dist/{chunk-TFVVONWD.js → chunk-MBUM2Y3L.js} +2 -2
  72. package/dist/{chunk-T5QAZIBO.js → chunk-MOXFPLD6.js} +3 -3
  73. package/dist/{chunk-XTIRCSIH.js → chunk-MXEWQKM7.js} +2 -2
  74. package/dist/{chunk-ZYNMX6IU.js → chunk-NUIJEGVD.js} +6 -6
  75. package/dist/{chunk-FUCJAZ25.js → chunk-OXEAMU42.js} +529 -9
  76. package/dist/chunk-OXEAMU42.js.map +1 -0
  77. package/dist/{chunk-YO4MBK3I.js → chunk-QGJAGC2J.js} +2 -2
  78. package/dist/{chunk-ISLJ5WIM.js → chunk-QIMFOCSH.js} +2 -2
  79. package/dist/{chunk-IJEZMWKA.js → chunk-SFOAQQDJ.js} +3 -3
  80. package/dist/{chunk-HRUULBBV.js → chunk-SHRRWOVY.js} +81 -4
  81. package/dist/chunk-SHRRWOVY.js.map +1 -0
  82. package/dist/{chunk-NINRTFSV.js → chunk-SINGJCUR.js} +5 -5
  83. package/dist/{chunk-ZPQVJEVQ.js → chunk-SK2CR6MW.js} +146 -2
  84. package/dist/chunk-SK2CR6MW.js.map +1 -0
  85. package/dist/{chunk-6W2D6FGG.js → chunk-TGAHHCB6.js} +2 -2
  86. package/dist/{chunk-D75JXBV4.js → chunk-WN4GHSDH.js} +2 -2
  87. package/dist/{chunk-K4DWSPMW.js → chunk-WRGPE6AW.js} +2 -2
  88. package/dist/{chunk-4HIAWLA2.js → chunk-XGMCUY5P.js} +60 -114
  89. package/dist/chunk-XGMCUY5P.js.map +1 -0
  90. package/dist/{chunk-SDPDU2PM.js → chunk-YTMDF6S7.js} +2 -2
  91. package/dist/{chunk-MNU5G4TK.js → chunk-Z7XEIAV4.js} +2 -2
  92. package/dist/{chunk-HXHKLVAS.js → chunk-ZCEI242W.js} +23 -23
  93. package/dist/{cli-D3XeenwN.d.ts → cli-BM4xQPp4.d.ts} +3 -3
  94. package/dist/cli.d.ts +7 -7
  95. package/dist/cli.js +33 -32
  96. package/dist/compounding/engine.d.ts +1 -1
  97. package/dist/compounding/engine.js +6 -5
  98. package/dist/compounding/preference-consolidator.d.ts +1 -1
  99. package/dist/compression-optimizer.d.ts +1 -1
  100. package/dist/config.d.ts +1 -1
  101. package/dist/config.js +4 -2
  102. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  103. package/dist/connectors/codex-materialize-runner.js +6 -5
  104. package/dist/connectors/codex-materialize.d.ts +1 -1
  105. package/dist/connectors/index.d.ts +1 -1
  106. package/dist/connectors/index.js +7 -6
  107. package/dist/consolidation-provenance-check.d.ts +1 -1
  108. package/dist/consolidation-undo.d.ts +1 -1
  109. package/dist/contradiction/index.d.ts +2 -2
  110. package/dist/conversation-index/backend.d.ts +1 -1
  111. package/dist/conversation-index/chunker.d.ts +1 -1
  112. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  113. package/dist/conversation-index/indexer.d.ts +1 -1
  114. package/dist/conversation-index/search.d.ts +1 -1
  115. package/dist/day-summary.d.ts +1 -1
  116. package/dist/delinearize.d.ts +1 -1
  117. package/dist/direct-answer-wiring.d.ts +1 -1
  118. package/dist/direct-answer.d.ts +1 -1
  119. package/dist/embedding-fallback.d.ts +1 -1
  120. package/dist/enrichment/index.d.ts +1 -1
  121. package/dist/entity-retrieval.d.ts +1 -1
  122. package/dist/entity-retrieval.js +6 -5
  123. package/dist/entity-schema.d.ts +1 -1
  124. package/dist/event-order-recall.js +2 -1
  125. package/dist/explicit-capture.d.ts +5 -5
  126. package/dist/explicit-capture.js +2 -2
  127. package/dist/explicit-cue-recall.js +2 -1
  128. package/dist/extraction-faithfulness.d.ts +1 -1
  129. package/dist/extraction-judge-telemetry.d.ts +1 -1
  130. package/dist/extraction-judge-training.d.ts +1 -1
  131. package/dist/extraction-judge.d.ts +1 -1
  132. package/dist/extraction.d.ts +14 -1
  133. package/dist/extraction.js +5 -3
  134. package/dist/fallback-llm.d.ts +1 -1
  135. package/dist/identity-continuity.d.ts +1 -1
  136. package/dist/importance.d.ts +1 -1
  137. package/dist/index.d.ts +123 -123
  138. package/dist/index.js +53 -52
  139. package/dist/index.js.map +1 -1
  140. package/dist/intent.d.ts +1 -1
  141. package/dist/lcm/engine.d.ts +1 -1
  142. package/dist/lcm/index.d.ts +1 -1
  143. package/dist/lcm/tools.d.ts +1 -1
  144. package/dist/lifecycle.d.ts +1 -1
  145. package/dist/live-connectors-runner.d.ts +1 -1
  146. package/dist/local-llm.d.ts +1 -1
  147. package/dist/maintenance/memory-governance.d.ts +1 -1
  148. package/dist/maintenance/memory-governance.js +6 -5
  149. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +6 -5
  150. package/dist/maintenance/rebuild-memory-projection.js +7 -6
  151. package/dist/mcp-memory-inspector-app.d.ts +7 -7
  152. package/dist/memory-action-policy.d.ts +1 -1
  153. package/dist/memory-cache.d.ts +1 -1
  154. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  155. package/dist/memory-projection-store.d.ts +1 -1
  156. package/dist/memory-provenance.d.ts +1 -1
  157. package/dist/memory-worth-outcomes.d.ts +1 -1
  158. package/dist/models-json.d.ts +1 -1
  159. package/dist/namespaces/migrate.d.ts +2 -2
  160. package/dist/namespaces/migrate.js +7 -6
  161. package/dist/namespaces/principal.d.ts +1 -1
  162. package/dist/namespaces/search.d.ts +1 -1
  163. package/dist/namespaces/storage.d.ts +2 -2
  164. package/dist/namespaces/storage.js +6 -5
  165. package/dist/native-knowledge.d.ts +1 -1
  166. package/dist/operator-toolkit.d.ts +1 -1
  167. package/dist/operator-toolkit.js +12 -11
  168. package/dist/orchestration/maintenance.d.ts +2 -2
  169. package/dist/orchestration/maintenance.js +8 -7
  170. package/dist/{orchestrator-BzMCZlKn.d.ts → orchestrator-C9CDWAm6.d.ts} +4 -4
  171. package/dist/orchestrator.d.ts +5 -5
  172. package/dist/orchestrator.js +29 -27
  173. package/dist/patterns-cli.d.ts +1 -1
  174. package/dist/policy-runtime.d.ts +1 -1
  175. package/dist/provenance.d.ts +36 -2
  176. package/dist/provenance.js +5 -1
  177. package/dist/qmd-recall-cache.d.ts +1 -1
  178. package/dist/qmd.d.ts +1 -1
  179. package/dist/recall-disclosure-escalation.d.ts +1 -1
  180. package/dist/recall-explain-renderer.d.ts +1 -1
  181. package/dist/recall-explain-renderer.js +3 -3
  182. package/dist/recall-pipeline-stages.d.ts +15 -0
  183. package/dist/recall-pipeline-stages.js +3 -56
  184. package/dist/recall-pipeline-stages.js.map +1 -1
  185. package/dist/recall-planner-llm.d.ts +1 -1
  186. package/dist/recall-state.d.ts +1 -1
  187. package/dist/recall-tag-filter.d.ts +1 -1
  188. package/dist/recall-xray-cli.d.ts +1 -1
  189. package/dist/recall-xray-cli.js +4 -4
  190. package/dist/recall-xray-renderer.d.ts +1 -1
  191. package/dist/recall-xray-renderer.js +3 -3
  192. package/dist/recall-xray.d.ts +1 -1
  193. package/dist/recall-xray.js +2 -2
  194. package/dist/resolve-auth-token.d.ts +1 -1
  195. package/dist/response-guidance-recall.js +2 -1
  196. package/dist/resume-bundles.js +7 -5
  197. package/dist/retrieval-agents.d.ts +1 -1
  198. package/dist/retrieval-tiers.d.ts +1 -1
  199. package/dist/routing/engine.d.ts +1 -1
  200. package/dist/routing/store.d.ts +1 -1
  201. package/dist/schemas.d.ts +19 -0
  202. package/dist/schemas.js +1 -1
  203. package/dist/search/embed-helper.d.ts +1 -1
  204. package/dist/search/factory.d.ts +1 -1
  205. package/dist/search/index.d.ts +1 -1
  206. package/dist/search/lancedb-backend.d.ts +1 -1
  207. package/dist/search/meilisearch-backend.d.ts +1 -1
  208. package/dist/search/noop-backend.d.ts +1 -1
  209. package/dist/search/orama-backend.d.ts +1 -1
  210. package/dist/search/port.d.ts +1 -1
  211. package/dist/search/remote-backend.d.ts +1 -1
  212. package/dist/{semantic-DJR8_DMQ.d.ts → semantic-SLAa_prH.d.ts} +1 -1
  213. package/dist/{semantic-consolidation-BtUfv-AL.d.ts → semantic-consolidation-DgFXyALl.d.ts} +1 -1
  214. package/dist/semantic-consolidation.d.ts +2 -2
  215. package/dist/semantic-consolidation.js +7 -6
  216. package/dist/semantic-rule-promotion.js +6 -5
  217. package/dist/semantic-rule-verifier.d.ts +1 -1
  218. package/dist/semantic-rule-verifier.js +6 -5
  219. package/dist/session-observer-bands.d.ts +1 -1
  220. package/dist/session-observer-state.d.ts +1 -1
  221. package/dist/shared-context/manager.d.ts +1 -1
  222. package/dist/signal.d.ts +1 -1
  223. package/dist/storage.d.ts +13 -1
  224. package/dist/storage.js +5 -4
  225. package/dist/summarizer.d.ts +1 -1
  226. package/dist/summary-snapshot.d.ts +1 -1
  227. package/dist/targeted-fact-recall.js +2 -1
  228. package/dist/temporal-supersession.d.ts +1 -1
  229. package/dist/temporal-validity.d.ts +1 -1
  230. package/dist/threading.d.ts +1 -1
  231. package/dist/tier-migration.d.ts +1 -1
  232. package/dist/tier-routing.d.ts +1 -1
  233. package/dist/topics.d.ts +1 -1
  234. package/dist/transcript.d.ts +1 -1
  235. package/dist/transcript.js +2 -2
  236. package/dist/{types-PuiPZ9iE.d.ts → types-MWKPZnM0.d.ts} +25 -1
  237. package/dist/types.d.ts +1 -1
  238. package/dist/types.js +1 -1
  239. package/dist/utility-runtime.d.ts +1 -1
  240. package/dist/verified-recall.js +6 -5
  241. package/package.json +2 -2
  242. package/src/access-http.ts +162 -0
  243. package/src/access-service.ts +215 -0
  244. package/src/admin/admin-surfaces.test.ts +458 -0
  245. package/src/admin/admin-surfaces.ts +819 -0
  246. package/src/event-order-recall.test.ts +53 -0
  247. package/src/event-order-recall.ts +61 -37
  248. package/src/explicit-cue-recall.ts +21 -1
  249. package/src/extraction.ts +91 -6
  250. package/src/orchestrator.ts +46 -5
  251. package/src/provenance-extraction.test.ts +838 -0
  252. package/src/provenance.ts +413 -0
  253. package/src/recall-pipeline-parity.test.ts +288 -0
  254. package/src/recall-pipeline-stages.test.ts +43 -0
  255. package/src/recall-pipeline-stages.ts +22 -0
  256. package/src/response-guidance-recall.ts +32 -36
  257. package/src/schemas.ts +7 -0
  258. package/src/storage.ts +23 -0
  259. package/src/targeted-fact-recall.ts +25 -32
  260. package/src/types.ts +24 -0
  261. package/dist/chunk-4HIAWLA2.js.map +0 -1
  262. package/dist/chunk-EC2AYKRX.js.map +0 -1
  263. package/dist/chunk-FN2SM5SN.js.map +0 -1
  264. package/dist/chunk-FUCJAZ25.js.map +0 -1
  265. package/dist/chunk-HRUULBBV.js.map +0 -1
  266. package/dist/chunk-R5DB26G6.js.map +0 -1
  267. package/dist/chunk-ROZJACKP.js.map +0 -1
  268. package/dist/chunk-SFMRLXIV.js.map +0 -1
  269. package/dist/chunk-UU6MVCJ6.js.map +0 -1
  270. package/dist/chunk-YXLT4EMM.js.map +0 -1
  271. package/dist/chunk-ZPQVJEVQ.js.map +0 -1
  272. /package/dist/{chunk-ODTWHSY2.js.map → chunk-64XXOQRW.js.map} +0 -0
  273. /package/dist/{chunk-ZT7B64BE.js.map → chunk-6TAETM63.js.map} +0 -0
  274. /package/dist/{chunk-HF4N43Q7.js.map → chunk-6VVP6NK7.js.map} +0 -0
  275. /package/dist/{chunk-7TAQEPLE.js.map → chunk-AMNLZ6SF.js.map} +0 -0
  276. /package/dist/{chunk-KS7WQ4BZ.js.map → chunk-CZJ6QSKG.js.map} +0 -0
  277. /package/dist/{chunk-27LQPUMZ.js.map → chunk-EOOVJK2U.js.map} +0 -0
  278. /package/dist/{chunk-QP37KL5H.js.map → chunk-EYJD6KIO.js.map} +0 -0
  279. /package/dist/{chunk-WFEZUGU5.js.map → chunk-EZR35XHX.js.map} +0 -0
  280. /package/dist/{chunk-JO3E5VGS.js.map → chunk-FVI5B7DE.js.map} +0 -0
  281. /package/dist/{chunk-PONNZ54D.js.map → chunk-GY3SKOS4.js.map} +0 -0
  282. /package/dist/{chunk-U33LWTQQ.js.map → chunk-HV57RHMD.js.map} +0 -0
  283. /package/dist/{chunk-IYOPIG3E.js.map → chunk-IX72AAMZ.js.map} +0 -0
  284. /package/dist/{chunk-JKOKX3PS.js.map → chunk-JMA4RYRN.js.map} +0 -0
  285. /package/dist/{chunk-DEDQXIDL.js.map → chunk-JTKFZMZ7.js.map} +0 -0
  286. /package/dist/{chunk-OLOYQZFB.js.map → chunk-KC6TCAWV.js.map} +0 -0
  287. /package/dist/{chunk-ED35D32I.js.map → chunk-LQ4J7ELC.js.map} +0 -0
  288. /package/dist/{chunk-TFVVONWD.js.map → chunk-MBUM2Y3L.js.map} +0 -0
  289. /package/dist/{chunk-T5QAZIBO.js.map → chunk-MOXFPLD6.js.map} +0 -0
  290. /package/dist/{chunk-XTIRCSIH.js.map → chunk-MXEWQKM7.js.map} +0 -0
  291. /package/dist/{chunk-ZYNMX6IU.js.map → chunk-NUIJEGVD.js.map} +0 -0
  292. /package/dist/{chunk-YO4MBK3I.js.map → chunk-QGJAGC2J.js.map} +0 -0
  293. /package/dist/{chunk-ISLJ5WIM.js.map → chunk-QIMFOCSH.js.map} +0 -0
  294. /package/dist/{chunk-IJEZMWKA.js.map → chunk-SFOAQQDJ.js.map} +0 -0
  295. /package/dist/{chunk-NINRTFSV.js.map → chunk-SINGJCUR.js.map} +0 -0
  296. /package/dist/{chunk-6W2D6FGG.js.map → chunk-TGAHHCB6.js.map} +0 -0
  297. /package/dist/{chunk-D75JXBV4.js.map → chunk-WN4GHSDH.js.map} +0 -0
  298. /package/dist/{chunk-K4DWSPMW.js.map → chunk-WRGPE6AW.js.map} +0 -0
  299. /package/dist/{chunk-SDPDU2PM.js.map → chunk-YTMDF6S7.js.map} +0 -0
  300. /package/dist/{chunk-MNU5G4TK.js.map → chunk-Z7XEIAV4.js.map} +0 -0
  301. /package/dist/{chunk-HXHKLVAS.js.map → chunk-ZCEI242W.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZFXCQPNO.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-SFMRLXIV.js";
7
+ } from "./chunk-GFIARMA7.js";
8
8
  import {
9
9
  MutationSerializer
10
10
  } from "./chunk-LTJAMRGI.js";
@@ -336,4 +336,4 @@ export {
336
336
  resolveNamespaceStorageRoot,
337
337
  NamespaceStorageRouter
338
338
  };
339
- //# sourceMappingURL=chunk-ODTWHSY2.js.map
339
+ //# sourceMappingURL=chunk-64XXOQRW.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  planNamespaceMaintenance,
12
12
  runNamespaceMaintenanceBatchPlan
13
- } from "./chunk-JKOKX3PS.js";
13
+ } from "./chunk-JMA4RYRN.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-ZT7B64BE.js.map
444
+ //# sourceMappingURL=chunk-6TAETM63.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  StorageManager,
3
3
  normalizeEntityName
4
- } from "./chunk-SFMRLXIV.js";
4
+ } from "./chunk-GFIARMA7.js";
5
5
  import {
6
6
  extractJsonCandidates
7
7
  } from "./chunk-RGMVMVMF.js";
@@ -870,4 +870,4 @@ export {
870
870
  resolveBriefingSaveDir,
871
871
  briefingFilename
872
872
  };
873
- //# sourceMappingURL=chunk-HF4N43Q7.js.map
873
+ //# sourceMappingURL=chunk-6VVP6NK7.js.map
@@ -9,7 +9,7 @@ import {
9
9
  ProactiveExtractionResultSchema,
10
10
  ProactiveQuestionsResultSchema,
11
11
  buildProfileConsolidationResultSchema
12
- } from "./chunk-ROZJACKP.js";
12
+ } from "./chunk-KKK7YTYN.js";
13
13
  import {
14
14
  normalizeReasoningTrace
15
15
  } from "./chunk-54V4BZWP.js";
@@ -36,9 +36,6 @@ import {
36
36
  import {
37
37
  normalizeProcedureSteps
38
38
  } from "./chunk-QDW3E4RD.js";
39
- import {
40
- sanitizeMemoryContent
41
- } from "./chunk-FVQJYWH7.js";
42
39
  import {
43
40
  FallbackLlmClient,
44
41
  fallbackLlmRuntimeContextFromConfig,
@@ -51,6 +48,12 @@ import {
51
48
  import {
52
49
  extractJsonCandidates
53
50
  } from "./chunk-RGMVMVMF.js";
51
+ import {
52
+ buildFactProvenance
53
+ } from "./chunk-SK2CR6MW.js";
54
+ import {
55
+ sanitizeMemoryContent
56
+ } from "./chunk-FVQJYWH7.js";
54
57
  import {
55
58
  log
56
59
  } from "./chunk-NU3CSQ4H.js";
@@ -206,7 +209,13 @@ var ExtractionEngine = class {
206
209
  reasoningTrace: (() => {
207
210
  const candidate = f?.reasoningTrace && typeof f.reasoningTrace === "object" && !Array.isArray(f.reasoningTrace) ? f.reasoningTrace : f?.reasoning_trace && typeof f.reasoning_trace === "object" && !Array.isArray(f.reasoning_trace) ? f.reasoning_trace : null;
208
211
  return candidate ? normalizeReasoningTrace(candidate) ?? void 0 : void 0;
209
- })()
212
+ })(),
213
+ // Issue #1575 PR 2: the LLM provides a verbatim supporting quote
214
+ // per fact. Optional/nullable per repo gotcha 6 (OpenAI Responses
215
+ // API emits null for absent optional fields). The post-parse
216
+ // validator (buildFactProvenance) locates this quote in the
217
+ // buffered turns and builds verified ProvenanceSource[] entries.
218
+ quote: typeof f?.quote === "string" && f.quote.trim().length > 0 ? f.quote : void 0
210
219
  })).filter((f) => f.content.length > 0) : [];
211
220
  const questions = Array.isArray(parsed?.questions) ? parsed.questions.map((q) => {
212
221
  if (typeof q === "string") return { question: q, context: "", priority: 0.5 };
@@ -480,7 +489,8 @@ var ExtractionEngine = class {
480
489
  `Return at most ${maxAdditional} additional high-confidence memory candidates that were omitted from the base extraction.`,
481
490
  "Only include information directly supported by the conversation. Do not speculate. Do not repeat the base extraction.",
482
491
  "Return only valid JSON with this shape:",
483
- '{"facts":[{"category":"fact","content":"...","confidence":0.0,"tags":["..."],"entityRef":"optional","promptedByQuestion":"optional"}],"profileUpdates":["..."],"entities":[{"name":"...","type":"person","facts":["..."],"structuredSections":[{"key":"beliefs","title":"Beliefs","facts":["..."]}],"promptedByQuestion":"optional"}],"relationships":[{"source":"...","target":"...","label":"...","promptedByQuestion":"optional"}]}',
492
+ '{"facts":[{"category":"fact","content":"...","confidence":0.0,"tags":["..."],"entityRef":"optional","promptedByQuestion":"optional","quote":"optional verbatim span from a single turn"}],"profileUpdates":["..."],"entities":[{"name":"...","type":"person","facts":["..."],"structuredSections":[{"key":"beliefs","title":"Beliefs","facts":["..."]}],"promptedByQuestion":"optional"}],"relationships":[{"source":"...","target":"...","label":"...","promptedByQuestion":"optional"}]}',
493
+ this.config.provenance?.enabled ? '- Source quotes: For each fact, include a "quote" field with the EXACT verbatim words from the conversation that support the fact (a contiguous span from a single turn, not a paraphrase). Cap at ~300 chars.' : "",
484
494
  "",
485
495
  "Base extracted facts (do not repeat):",
486
496
  factsPreview || "(none)",
@@ -683,6 +693,54 @@ var ExtractionEngine = class {
683
693
  }
684
694
  return null;
685
695
  }
696
+ /**
697
+ * Attach claim-level provenance spans to each fact in the extraction result
698
+ * (issue #1575 PR 2). Runs once at write time, after sanitize + proactive
699
+ * pass so ALL facts (base + proactive additions) get verified spans before
700
+ * the result is returned for persistence.
701
+ *
702
+ * The validator locates each fact's LLM-provided `quote` in the buffered
703
+ * turns and builds a `ProvenanceSource[]` with verified offsets. Never
704
+ * throws, never drops a fact — an unverifiable span is a tagged state, not
705
+ * a silent failure (rule 34 spirit). When `provenance.enabled` is false,
706
+ * this is a no-op (byte-identical to pre-feature behavior, rule 39).
707
+ */
708
+ attachProvenanceToResult(result, turns) {
709
+ if (!this.config.provenance?.enabled) {
710
+ if (result.facts.length === 0) return result;
711
+ return {
712
+ ...result,
713
+ facts: result.facts.map((fact) => {
714
+ if (fact.quote === void 0) return fact;
715
+ const { quote: _stripped, ...rest } = fact;
716
+ return rest;
717
+ })
718
+ };
719
+ }
720
+ if (result.facts.length === 0) return result;
721
+ const provenanceTurns = turns.map((t) => ({
722
+ content: t.content,
723
+ sessionKey: t.sessionKey,
724
+ logicalSessionKey: t.logicalSessionKey,
725
+ timestamp: t.timestamp,
726
+ turnId: t.turnFingerprint
727
+ }));
728
+ const facts = result.facts.map((fact) => {
729
+ const built = buildFactProvenance(
730
+ fact.quote,
731
+ provenanceTurns,
732
+ this.config.provenance
733
+ );
734
+ const { quote: _stripped, ...factWithoutQuote } = fact;
735
+ return {
736
+ ...factWithoutQuote,
737
+ ...built.sources && built.sources.length > 0 ? { sources: built.sources } : {},
738
+ ...built.provenance !== "none" ? { provenance: built.provenance } : {},
739
+ ...built.requireSpansPending ? { requireSpansPending: true } : {}
740
+ };
741
+ });
742
+ return { ...result, facts };
743
+ }
686
744
  async extract(turns, existingEntities) {
687
745
  const substantiveTurns = turns.filter((t) => t.content.trim().length > 0);
688
746
  if (substantiveTurns.length === 0) {
@@ -735,7 +793,8 @@ var ExtractionEngine = class {
735
793
  this.emit({ kind: "llm_end", traceId, model: this.config.localLlmModel, operation: "extraction", durationMs });
736
794
  log.debug(`extraction: used local LLM \u2014 ${localResult.facts.length} facts, ${localResult.entities.length} entities`);
737
795
  const sanitized = this.sanitizeExtractionResult(localResult, messageTimestamp);
738
- return await this.applyProactiveQuestionPass(conversation, sanitized);
796
+ const finalResult = await this.applyProactiveQuestionPass(conversation, sanitized);
797
+ return this.attachProvenanceToResult(finalResult, boundedTurns);
739
798
  }
740
799
  if (!this.config.localLlmFallback) {
741
800
  log.warn("extraction: local LLM failed and fallback disabled");
@@ -777,7 +836,8 @@ var ExtractionEngine = class {
777
836
  this.emit({ kind: "llm_end", traceId, model: this.config.model, operation: "extraction", durationMs });
778
837
  log.debug(`extraction: used direct client (${this.config.model}) \u2014 ${directResult.facts.length} facts, ${directResult.entities.length} entities`);
779
838
  const sanitized = this.sanitizeExtractionResult(directResult, messageTimestamp);
780
- return await this.applyProactiveQuestionPass(conversation, sanitized);
839
+ const finalResult = await this.applyProactiveQuestionPass(conversation, sanitized);
840
+ return this.attachProvenanceToResult(finalResult, boundedTurns);
781
841
  }
782
842
  try {
783
843
  this.emit({
@@ -878,7 +938,8 @@ var ExtractionEngine = class {
878
938
  questions: result.questions ?? [],
879
939
  identityReflection: result.identityReflection ?? void 0
880
940
  }, messageTimestamp);
881
- return await this.applyProactiveQuestionPass(conversation, sanitized);
941
+ const finalResult = await this.applyProactiveQuestionPass(conversation, sanitized);
942
+ return this.attachProvenanceToResult(finalResult, boundedTurns);
882
943
  }
883
944
  this.emit({
884
945
  kind: "llm_error",
@@ -990,7 +1051,8 @@ These are durable insights - capture them:
990
1051
  === Rules ===
991
1052
  - Extract only NEW information worth remembering across sessions
992
1053
  - Skip transient details (file paths, current errors, temporary states, agent actions)
993
- - Confidence: Explicit (0.95-1.0), Implied (0.70-0.94), Inferred (0.40-0.69), Speculative (0.00-0.39)
1054
+ - Confidence: Explicit (0.95-1.0), Implied (0.70-0.94), Inferred (0.40-0.69), Speculative (0.00-0.39)${this.config.provenance?.enabled ? `
1055
+ - Source quotes: For each fact, include a "quote" field with the EXACT verbatim words from the conversation that support the fact (copy a contiguous span from a single turn, not a paraphrase). Cap at ~300 chars.` : ""}
994
1056
  - Corrections get highest confidence (0.95+)
995
1057
  - Each fact should be standalone and self-contained
996
1058
  - Lines labelled [context user] or [context assistant] are reference context only. Use them to resolve pronouns and adjacent question/answer pairs, but do not extract a memory stated only in context lines unless a normal [user] or [assistant] line confirms or completes it.
@@ -1216,7 +1278,8 @@ Rules:
1216
1278
  * Explicit (0.95-1.0): Direct user statements \u2014 "I prefer X", "my name is Y"
1217
1279
  * Implied (0.70-0.94): Strong contextual inference \u2014 user consistently does X, clear from conversation flow
1218
1280
  * Inferred (0.40-0.69): Pattern recognition \u2014 reasonable guess from limited evidence
1219
- * Speculative (0.00-0.39): Tentative hypothesis \u2014 weak signal, needs future confirmation. Speculative memories auto-expire after 30 days if not confirmed.
1281
+ * Speculative (0.00-0.39): Tentative hypothesis \u2014 weak signal, needs future confirmation. Speculative memories auto-expire after 30 days if not confirmed.${this.config.provenance?.enabled ? `
1282
+ - Source quotes: For each fact, include a "quote" field containing the EXACT verbatim words from the conversation that support the fact. Copy a contiguous span from a single speaker turn (not a paraphrase, not a summary). Cap at ~300 characters. This grounds every memory in the literal utterance that created it.` : ""}
1220
1283
  - For commitments: include any deadline or timeframe mentioned${this.config.extractionScopeClassificationEnabled ? `
1221
1284
 
1222
1285
  Scope classification:
@@ -2328,4 +2391,4 @@ ${memoryList}` }
2328
2391
  export {
2329
2392
  ExtractionEngine
2330
2393
  };
2331
- //# sourceMappingURL=chunk-FN2SM5SN.js.map
2394
+ //# sourceMappingURL=chunk-ABCGDW3A.js.map