@remnic/core 9.32.0 → 9.33.0

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 (380) hide show
  1. package/dist/access-admin-ops-surface.d.ts +10 -10
  2. package/dist/access-admin-ops-surface.js +31 -30
  3. package/dist/access-authorization-probe.d.ts +10 -10
  4. package/dist/access-authorization-probe.js +32 -31
  5. package/dist/access-boundary.d.ts +10 -10
  6. package/dist/access-boundary.js +31 -30
  7. package/dist/access-cli.js +67 -65
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-extraction-force-flush.d.ts +10 -10
  10. package/dist/access-extraction-force-flush.js +31 -30
  11. package/dist/access-health-types.d.ts +1 -1
  12. package/dist/access-http-lcm-compaction.d.ts +10 -10
  13. package/dist/access-http-lifecycle-flush.d.ts +10 -10
  14. package/dist/access-http.d.ts +10 -10
  15. package/dist/access-http.js +40 -39
  16. package/dist/access-identity-continuity-surface.d.ts +8 -8
  17. package/dist/access-identity-continuity-surface.js +31 -30
  18. package/dist/access-lcm-surface.d.ts +10 -10
  19. package/dist/access-lcm-surface.js +31 -30
  20. package/dist/access-mcp.d.ts +10 -10
  21. package/dist/access-mcp.js +36 -35
  22. package/dist/access-memory-search-fanout.d.ts +2 -2
  23. package/dist/{access-namespace-preflight-COhbXBqS.d.ts → access-namespace-preflight-CWyL4Zai.d.ts} +1 -1
  24. package/dist/access-namespace-preflight.d.ts +3 -3
  25. package/dist/access-namespace-preflight.js +31 -30
  26. package/dist/access-observe-write-surface.d.ts +10 -10
  27. package/dist/access-observe-write-surface.js +31 -30
  28. package/dist/access-operations-batch.js +33 -32
  29. package/dist/access-operations.d.ts +10 -10
  30. package/dist/access-operations.js +35 -34
  31. package/dist/access-recall-concurrency.d.ts +10 -10
  32. package/dist/access-recall-concurrency.js +31 -30
  33. package/dist/access-recall-response.d.ts +10 -10
  34. package/dist/access-recall-response.js +31 -30
  35. package/dist/access-recall-surface.d.ts +10 -10
  36. package/dist/access-recall-surface.js +31 -30
  37. package/dist/access-schema.js +3 -3
  38. package/dist/{access-service-BmBTtEKO.d.ts → access-service-D9zIBlpp.d.ts} +7 -7
  39. package/dist/access-service-helpers.d.ts +10 -10
  40. package/dist/access-service.d.ts +10 -10
  41. package/dist/access-service.js +31 -30
  42. package/dist/access-surface-catalog.d.ts +10 -10
  43. package/dist/access-wearables-meetings-surface.d.ts +3 -3
  44. package/dist/action-confidence.d.ts +1 -1
  45. package/dist/active-memory-bridge.d.ts +1 -1
  46. package/dist/active-recall.d.ts +1 -1
  47. package/dist/adapters/index.js +4 -4
  48. package/dist/adapters/registry.js +2 -2
  49. package/dist/auto-sync-UPTUVE4X.js +1 -1
  50. package/dist/behavior-learner.d.ts +1 -1
  51. package/dist/behavior-signals.d.ts +1 -1
  52. package/dist/bootstrap.d.ts +8 -8
  53. package/dist/briefing.d.ts +2 -2
  54. package/dist/briefing.js +7 -7
  55. package/dist/buffer-surprise-report.d.ts +1 -1
  56. package/dist/buffer-turn-helpers.d.ts +1 -1
  57. package/dist/buffer.d.ts +2 -2
  58. package/dist/buffer.js +2 -2
  59. package/dist/bulk-import/index.d.ts +3 -3
  60. package/dist/calibration.d.ts +1 -1
  61. package/dist/capabilities.d.ts +1 -1
  62. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  63. package/dist/{catalog-Dm-DvNBY.d.ts → catalog-Du4bpZWM.d.ts} +1 -1
  64. package/dist/causal-behavior.d.ts +1 -1
  65. package/dist/causal-consolidation.d.ts +1 -1
  66. package/dist/causal-consolidation.js +8 -8
  67. package/dist/causal-trajectory-graph.d.ts +1 -1
  68. package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
  69. package/dist/{chunk-FHBITMRY.js → chunk-4TGZCYHH.js} +15 -15
  70. package/dist/{chunk-2NTGBZLZ.js → chunk-6JE3HGS4.js} +6 -6
  71. package/dist/{chunk-MAXVH44E.js → chunk-6NNNURLK.js} +4 -4
  72. package/dist/{chunk-65ZPVYTA.js → chunk-6NPZ3FP2.js} +2 -2
  73. package/dist/{chunk-BLAKS3CP.js → chunk-77CNV7DY.js} +4 -4
  74. package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
  75. package/dist/{chunk-2QIMTVEJ.js → chunk-7TWUCYER.js} +3 -1
  76. package/dist/chunk-7TWUCYER.js.map +1 -0
  77. package/dist/{chunk-UORKJ34C.js → chunk-7ZHGPX56.js} +2 -2
  78. package/dist/{chunk-G2YQ57YO.js → chunk-AEPYA55F.js} +2 -2
  79. package/dist/{chunk-AQEJE3WO.js → chunk-ATUURSST.js} +3 -3
  80. package/dist/chunk-B6XHIBIB.js +111 -0
  81. package/dist/chunk-B6XHIBIB.js.map +1 -0
  82. package/dist/{chunk-AJL6NNX6.js → chunk-BIXWNHIL.js} +2 -2
  83. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  84. package/dist/{chunk-FMFLGS5Z.js → chunk-C4PEMCP4.js} +8 -8
  85. package/dist/{chunk-TGTTESJS.js → chunk-CMQZNEIF.js} +2 -2
  86. package/dist/chunk-CMQZNEIF.js.map +1 -0
  87. package/dist/{chunk-QDTZ2HF7.js → chunk-DMT2RGAZ.js} +3 -3
  88. package/dist/{chunk-QIHIHZYC.js → chunk-DP7ZV2II.js} +42 -89
  89. package/dist/chunk-DP7ZV2II.js.map +1 -0
  90. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  91. package/dist/{chunk-CJDNT45S.js → chunk-EHNENZHZ.js} +6 -6
  92. package/dist/{chunk-5WZVQRHV.js → chunk-EO7X2LDK.js} +2 -2
  93. package/dist/{chunk-TL4TO3EA.js → chunk-F3BNEYX2.js} +2 -2
  94. package/dist/{chunk-VVDPPDDF.js → chunk-HXDWZFNP.js} +1 -1
  95. package/dist/chunk-HXDWZFNP.js.map +1 -0
  96. package/dist/{chunk-3F2LKUMU.js → chunk-I5DQ6KZK.js} +2 -2
  97. package/dist/{chunk-3EQ2XB3W.js → chunk-IZXTZ7BF.js} +5 -5
  98. package/dist/{chunk-ODGOP7P2.js → chunk-J6BYDVPL.js} +2 -2
  99. package/dist/{chunk-THCPRMRF.js → chunk-J6SLNQRO.js} +2 -2
  100. package/dist/{chunk-IGWFKW4B.js → chunk-KEWUNL7P.js} +2 -2
  101. package/dist/{chunk-OPBTPRGY.js → chunk-KWU6MAD4.js} +2 -2
  102. package/dist/{chunk-2Q4JJ3FZ.js → chunk-MPH263X2.js} +2 -2
  103. package/dist/{chunk-VMZ56EE3.js → chunk-MYXWPG5O.js} +2 -2
  104. package/dist/{chunk-27HHNYSQ.js → chunk-N2B56SIS.js} +3 -3
  105. package/dist/{chunk-YX5LN6JR.js → chunk-OPRP6Q4Z.js} +3 -3
  106. package/dist/{chunk-ES36HTSC.js → chunk-PTN6UAUA.js} +4 -4
  107. package/dist/{chunk-CE5355TT.js → chunk-QHYB4MJV.js} +2 -2
  108. package/dist/{chunk-S2BBISHU.js → chunk-RYHWZ52A.js} +4 -4
  109. package/dist/{chunk-YPC7W6GA.js → chunk-RYMPLSIT.js} +3 -2
  110. package/dist/{chunk-YPC7W6GA.js.map → chunk-RYMPLSIT.js.map} +1 -1
  111. package/dist/{chunk-J7WZUL2K.js → chunk-SFW2NABJ.js} +11 -11
  112. package/dist/{chunk-QMWFQBIL.js → chunk-SIKCTPRK.js} +3 -3
  113. package/dist/{chunk-LUQ443JP.js → chunk-SPPL77NI.js} +28 -28
  114. package/dist/chunk-T2TTP3KU.js +28 -0
  115. package/dist/chunk-T2TTP3KU.js.map +1 -0
  116. package/dist/{chunk-35IVNNRK.js → chunk-TCIWHK3N.js} +2 -2
  117. package/dist/{chunk-HFQQWAMS.js → chunk-TITQYVKD.js} +36 -36
  118. package/dist/{chunk-E6BMSH7U.js → chunk-V2MVDDJF.js} +2 -2
  119. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  120. package/dist/{chunk-HKPJPOW7.js → chunk-XABS455Y.js} +2 -2
  121. package/dist/{chunk-U7QYBSQJ.js → chunk-XWDZQIYU.js} +2 -2
  122. package/dist/{chunk-Z7XKUWYS.js → chunk-Y2ZD2RVG.js} +2 -2
  123. package/dist/{chunk-AQWVJURR.js → chunk-Y6OWJ3V5.js} +2 -2
  124. package/dist/{chunk-J3ZGPYXB.js → chunk-YFQMW2TH.js} +28 -30
  125. package/dist/chunk-YFQMW2TH.js.map +1 -0
  126. package/dist/{chunk-6P7MTSU5.js → chunk-YJ7PWEWI.js} +2 -2
  127. package/dist/{cli-DRJLv1Xt.d.ts → cli-mFX-QQvx.d.ts} +5 -5
  128. package/dist/cli.d.ts +12 -12
  129. package/dist/cli.js +56 -55
  130. package/dist/compounding/engine.d.ts +2 -2
  131. package/dist/compounding/engine.js +7 -7
  132. package/dist/compounding/preference-consolidator.d.ts +1 -1
  133. package/dist/compression-optimizer.d.ts +1 -1
  134. package/dist/config.d.ts +1 -1
  135. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  136. package/dist/connectors/codex-materialize-runner.js +7 -7
  137. package/dist/connectors/codex-materialize.d.ts +1 -1
  138. package/dist/connectors/index.d.ts +4 -2
  139. package/dist/connectors/index.js +12 -8
  140. package/dist/consolidation-provenance-check.d.ts +2 -2
  141. package/dist/consolidation-undo.d.ts +2 -2
  142. package/dist/contradiction/index.d.ts +2 -2
  143. package/dist/conversation-index/backend.d.ts +1 -1
  144. package/dist/conversation-index/backend.js +2 -2
  145. package/dist/conversation-index/chunker.d.ts +1 -1
  146. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  147. package/dist/conversation-index/indexer.d.ts +1 -1
  148. package/dist/conversation-index/search.d.ts +1 -1
  149. package/dist/corpus-watermark.d.ts +1 -1
  150. package/dist/corpus-watermark.js +18 -18
  151. package/dist/day-summary.d.ts +1 -1
  152. package/dist/delinearize.d.ts +1 -1
  153. package/dist/direct-answer-wiring.d.ts +1 -1
  154. package/dist/direct-answer.d.ts +1 -1
  155. package/dist/embedding-fallback.d.ts +1 -1
  156. package/dist/enrichment/index.d.ts +1 -1
  157. package/dist/entity-retrieval.d.ts +2 -2
  158. package/dist/entity-retrieval.js +7 -7
  159. package/dist/entity-schema.d.ts +1 -1
  160. package/dist/explicit-capture.d.ts +8 -8
  161. package/dist/explicit-capture.js +3 -3
  162. package/dist/extraction-error-classification.d.ts +1 -1
  163. package/dist/extraction-faithfulness.d.ts +1 -1
  164. package/dist/extraction-judge-telemetry.d.ts +1 -1
  165. package/dist/extraction-judge-training.d.ts +1 -1
  166. package/dist/extraction-judge.d.ts +1 -1
  167. package/dist/extraction-liveness.d.ts +1 -1
  168. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  169. package/dist/extraction-source-grounding.d.ts +1 -1
  170. package/dist/extraction.d.ts +1 -2
  171. package/dist/extraction.js +63 -2
  172. package/dist/fallback-llm.d.ts +1 -1
  173. package/dist/graph-dashboard-diff.d.ts +1 -1
  174. package/dist/graph-dashboard-key.d.ts +1 -1
  175. package/dist/graph-dashboard-parser.d.ts +1 -1
  176. package/dist/graph-edge-reinforcement.d.ts +1 -1
  177. package/dist/graph-snapshot.d.ts +1 -1
  178. package/dist/graph.d.ts +1 -1
  179. package/dist/importance.d.ts +1 -1
  180. package/dist/importers/index.d.ts +1 -1
  181. package/dist/in-flight-reads.d.ts +1 -1
  182. package/dist/index.d.ts +19 -19
  183. package/dist/index.js +95 -93
  184. package/dist/intent.d.ts +1 -1
  185. package/dist/lcm/engine.d.ts +1 -1
  186. package/dist/lcm/engine.js +2 -2
  187. package/dist/lcm/index.d.ts +1 -1
  188. package/dist/lcm/index.js +5 -5
  189. package/dist/lcm/tools.d.ts +1 -1
  190. package/dist/lifecycle.d.ts +1 -1
  191. package/dist/live-connectors-runner.d.ts +1 -1
  192. package/dist/local-llm.d.ts +1 -1
  193. package/dist/local-model-endpoint.d.ts +1 -1
  194. package/dist/maintenance/memory-governance.d.ts +1 -1
  195. package/dist/maintenance/memory-governance.js +7 -7
  196. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  197. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  198. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  199. package/dist/maintenance/rebuild-memory-projection.js +8 -8
  200. package/dist/{maintenance-C6Pffz30.d.ts → maintenance-70Wq118b.d.ts} +3 -3
  201. package/dist/mcp-memory-inspector-app.d.ts +10 -10
  202. package/dist/memory-action-policy.d.ts +1 -1
  203. package/dist/memory-cache.d.ts +1 -1
  204. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  205. package/dist/memory-projection-store.d.ts +1 -1
  206. package/dist/memory-provenance.d.ts +1 -1
  207. package/dist/memory-worth-outcomes.d.ts +2 -2
  208. package/dist/models-json.d.ts +1 -1
  209. package/dist/namespaces/migrate.d.ts +3 -3
  210. package/dist/namespaces/migrate.js +17 -17
  211. package/dist/namespaces/principal.d.ts +1 -1
  212. package/dist/namespaces/search.d.ts +1 -1
  213. package/dist/namespaces/search.js +9 -9
  214. package/dist/namespaces/storage.d.ts +3 -3
  215. package/dist/namespaces/storage.js +7 -7
  216. package/dist/native-knowledge.d.ts +1 -1
  217. package/dist/offline-sync-impression-drain.d.ts +1 -1
  218. package/dist/operator-doctor-corpus.d.ts +1 -1
  219. package/dist/operator-doctor-corpus.js +19 -19
  220. package/dist/operator-doctor-replica.d.ts +1 -1
  221. package/dist/operator-toolkit.d.ts +3 -3
  222. package/dist/operator-toolkit.js +22 -22
  223. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  224. package/dist/orchestration/maintenance.d.ts +4 -4
  225. package/dist/orchestration/maintenance.js +12 -12
  226. package/dist/{orchestrator-eQlmasno.d.ts → orchestrator-BH8LT-NX.d.ts} +7 -7
  227. package/dist/orchestrator.d.ts +8 -8
  228. package/dist/orchestrator.js +67 -65
  229. package/dist/patterns-cli.d.ts +1 -1
  230. package/dist/{pipeline-CZGmAMQ2.d.ts → pipeline-DSLWFeHz.d.ts} +1 -1
  231. package/dist/policy-runtime.d.ts +1 -1
  232. package/dist/proactive-contention.d.ts +1 -1
  233. package/dist/provenance.d.ts +1 -1
  234. package/dist/{qmd-DBj4MF8T.d.ts → qmd-BSDGyr0H.d.ts} +1 -1
  235. package/dist/qmd-preflight.d.ts +2 -2
  236. package/dist/qmd-recall-cache.d.ts +1 -1
  237. package/dist/qmd.d.ts +2 -2
  238. package/dist/recall-concurrency-config.d.ts +1 -1
  239. package/dist/recall-disclosure-escalation.d.ts +1 -1
  240. package/dist/recall-explain-renderer.d.ts +1 -1
  241. package/dist/recall-explain-renderer.js +3 -3
  242. package/dist/recall-memory-map.d.ts +1 -1
  243. package/dist/recall-planner-llm.d.ts +1 -1
  244. package/dist/recall-state.d.ts +1 -1
  245. package/dist/recall-tag-filter.d.ts +1 -1
  246. package/dist/recall-timings.d.ts +1 -1
  247. package/dist/recall-xray-cli.d.ts +1 -1
  248. package/dist/recall-xray-cli.js +4 -4
  249. package/dist/recall-xray-renderer.d.ts +1 -1
  250. package/dist/recall-xray-renderer.js +3 -3
  251. package/dist/recall-xray.d.ts +1 -1
  252. package/dist/recall-xray.js +2 -2
  253. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  254. package/dist/replay/normalizers/claude.d.ts +1 -1
  255. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  256. package/dist/replay/normalizers/shared.d.ts +1 -1
  257. package/dist/replay/runner.d.ts +1 -1
  258. package/dist/replay/types.d.ts +1 -1
  259. package/dist/replica-divergence.d.ts +1 -1
  260. package/dist/replica-peers-config.d.ts +1 -1
  261. package/dist/resolve-auth-token.d.ts +1 -1
  262. package/dist/retrieval-agents.d.ts +2 -2
  263. package/dist/retrieval-tiers.d.ts +1 -1
  264. package/dist/routing/engine.d.ts +1 -1
  265. package/dist/routing/store.d.ts +1 -1
  266. package/dist/salvage-envelope.d.ts +1 -1
  267. package/dist/schemas.js +1 -1
  268. package/dist/{scope-profiles-S85lrsUn.d.ts → scope-profiles-C4zY-a2K.d.ts} +1 -1
  269. package/dist/search/embed-helper.d.ts +1 -1
  270. package/dist/search/factory.d.ts +1 -1
  271. package/dist/search/factory.js +8 -8
  272. package/dist/search/index.d.ts +1 -1
  273. package/dist/search/index.js +13 -13
  274. package/dist/search/lancedb-backend.d.ts +1 -1
  275. package/dist/search/lancedb-backend.js +2 -2
  276. package/dist/search/meilisearch-backend.d.ts +1 -1
  277. package/dist/search/meilisearch-backend.js +2 -2
  278. package/dist/search/noop-backend.d.ts +1 -1
  279. package/dist/search/orama-backend.d.ts +1 -1
  280. package/dist/search/orama-backend.js +2 -2
  281. package/dist/search/port.d.ts +1 -1
  282. package/dist/search/remote-backend.d.ts +1 -1
  283. package/dist/{semantic-consolidation-DVzDcV6x.d.ts → semantic-consolidation-ChKRYpRO.d.ts} +1 -1
  284. package/dist/semantic-consolidation.d.ts +2 -2
  285. package/dist/semantic-consolidation.js +8 -8
  286. package/dist/semantic-rule-promotion.js +7 -7
  287. package/dist/semantic-rule-verifier.d.ts +1 -1
  288. package/dist/semantic-rule-verifier.js +7 -7
  289. package/dist/{service-C2M-wD4W.d.ts → service-CrxXHz5T.d.ts} +2 -2
  290. package/dist/session-observer-bands.d.ts +1 -1
  291. package/dist/session-observer-state.d.ts +1 -1
  292. package/dist/shared-context/manager.d.ts +1 -1
  293. package/dist/signal.d.ts +1 -1
  294. package/dist/source-agent-qualifier.d.ts +24 -0
  295. package/dist/source-agent-qualifier.js +98 -0
  296. package/dist/source-agent-qualifier.js.map +1 -0
  297. package/dist/{storage-dyBC3Q84.d.ts → storage-CyWa1Jm6.d.ts} +1 -1
  298. package/dist/storage.d.ts +2 -2
  299. package/dist/storage.js +6 -6
  300. package/dist/summarizer.d.ts +1 -1
  301. package/dist/summary-snapshot.d.ts +1 -1
  302. package/dist/temporal-supersession.d.ts +2 -2
  303. package/dist/temporal-timeline-recall.d.ts +1 -1
  304. package/dist/temporal-validity.d.ts +1 -1
  305. package/dist/threading.d.ts +1 -1
  306. package/dist/tier-migration.d.ts +2 -2
  307. package/dist/tier-routing.d.ts +1 -1
  308. package/dist/topics.d.ts +1 -1
  309. package/dist/transcript.d.ts +1 -1
  310. package/dist/transfer/backup.js +2 -2
  311. package/dist/transfer/capsule-export.js +2 -2
  312. package/dist/transfer/capsule-import.js +2 -2
  313. package/dist/trust-score-stage.d.ts +1 -1
  314. package/dist/trust-score.d.ts +1 -1
  315. package/dist/{types-D63ZI--P.d.ts → types-5398p7Zm.d.ts} +7 -8
  316. package/dist/types.d.ts +1 -1
  317. package/dist/types.js +1 -1
  318. package/dist/utility-runtime.d.ts +1 -1
  319. package/dist/verified-recall.js +7 -7
  320. package/dist/write-envelope.d.ts +1 -1
  321. package/package.json +2 -2
  322. package/src/connector-provenance-lifecycle.test.ts +86 -3
  323. package/src/connectors/index.ts +2 -2
  324. package/src/connectors/label.ts +18 -0
  325. package/src/extraction-scope-source-agent.test.ts +513 -0
  326. package/src/extraction.ts +45 -98
  327. package/src/orchestration/extraction-run.ts +1 -1
  328. package/src/orchestration/recall-result-formatter.ts +2 -1
  329. package/src/schemas.ts +1 -1
  330. package/src/source-agent-qualifier.ts +156 -0
  331. package/src/types.ts +7 -8
  332. package/dist/chunk-2QIMTVEJ.js.map +0 -1
  333. package/dist/chunk-J3ZGPYXB.js.map +0 -1
  334. package/dist/chunk-QIHIHZYC.js.map +0 -1
  335. package/dist/chunk-TGTTESJS.js.map +0 -1
  336. package/dist/chunk-VVDPPDDF.js.map +0 -1
  337. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  338. /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
  339. /package/dist/{chunk-FHBITMRY.js.map → chunk-4TGZCYHH.js.map} +0 -0
  340. /package/dist/{chunk-2NTGBZLZ.js.map → chunk-6JE3HGS4.js.map} +0 -0
  341. /package/dist/{chunk-MAXVH44E.js.map → chunk-6NNNURLK.js.map} +0 -0
  342. /package/dist/{chunk-65ZPVYTA.js.map → chunk-6NPZ3FP2.js.map} +0 -0
  343. /package/dist/{chunk-BLAKS3CP.js.map → chunk-77CNV7DY.js.map} +0 -0
  344. /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
  345. /package/dist/{chunk-UORKJ34C.js.map → chunk-7ZHGPX56.js.map} +0 -0
  346. /package/dist/{chunk-G2YQ57YO.js.map → chunk-AEPYA55F.js.map} +0 -0
  347. /package/dist/{chunk-AQEJE3WO.js.map → chunk-ATUURSST.js.map} +0 -0
  348. /package/dist/{chunk-AJL6NNX6.js.map → chunk-BIXWNHIL.js.map} +0 -0
  349. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  350. /package/dist/{chunk-FMFLGS5Z.js.map → chunk-C4PEMCP4.js.map} +0 -0
  351. /package/dist/{chunk-QDTZ2HF7.js.map → chunk-DMT2RGAZ.js.map} +0 -0
  352. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  353. /package/dist/{chunk-CJDNT45S.js.map → chunk-EHNENZHZ.js.map} +0 -0
  354. /package/dist/{chunk-5WZVQRHV.js.map → chunk-EO7X2LDK.js.map} +0 -0
  355. /package/dist/{chunk-TL4TO3EA.js.map → chunk-F3BNEYX2.js.map} +0 -0
  356. /package/dist/{chunk-3F2LKUMU.js.map → chunk-I5DQ6KZK.js.map} +0 -0
  357. /package/dist/{chunk-3EQ2XB3W.js.map → chunk-IZXTZ7BF.js.map} +0 -0
  358. /package/dist/{chunk-ODGOP7P2.js.map → chunk-J6BYDVPL.js.map} +0 -0
  359. /package/dist/{chunk-THCPRMRF.js.map → chunk-J6SLNQRO.js.map} +0 -0
  360. /package/dist/{chunk-IGWFKW4B.js.map → chunk-KEWUNL7P.js.map} +0 -0
  361. /package/dist/{chunk-OPBTPRGY.js.map → chunk-KWU6MAD4.js.map} +0 -0
  362. /package/dist/{chunk-2Q4JJ3FZ.js.map → chunk-MPH263X2.js.map} +0 -0
  363. /package/dist/{chunk-VMZ56EE3.js.map → chunk-MYXWPG5O.js.map} +0 -0
  364. /package/dist/{chunk-27HHNYSQ.js.map → chunk-N2B56SIS.js.map} +0 -0
  365. /package/dist/{chunk-YX5LN6JR.js.map → chunk-OPRP6Q4Z.js.map} +0 -0
  366. /package/dist/{chunk-ES36HTSC.js.map → chunk-PTN6UAUA.js.map} +0 -0
  367. /package/dist/{chunk-CE5355TT.js.map → chunk-QHYB4MJV.js.map} +0 -0
  368. /package/dist/{chunk-S2BBISHU.js.map → chunk-RYHWZ52A.js.map} +0 -0
  369. /package/dist/{chunk-J7WZUL2K.js.map → chunk-SFW2NABJ.js.map} +0 -0
  370. /package/dist/{chunk-QMWFQBIL.js.map → chunk-SIKCTPRK.js.map} +0 -0
  371. /package/dist/{chunk-LUQ443JP.js.map → chunk-SPPL77NI.js.map} +0 -0
  372. /package/dist/{chunk-35IVNNRK.js.map → chunk-TCIWHK3N.js.map} +0 -0
  373. /package/dist/{chunk-HFQQWAMS.js.map → chunk-TITQYVKD.js.map} +0 -0
  374. /package/dist/{chunk-E6BMSH7U.js.map → chunk-V2MVDDJF.js.map} +0 -0
  375. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  376. /package/dist/{chunk-HKPJPOW7.js.map → chunk-XABS455Y.js.map} +0 -0
  377. /package/dist/{chunk-U7QYBSQJ.js.map → chunk-XWDZQIYU.js.map} +0 -0
  378. /package/dist/{chunk-Z7XKUWYS.js.map → chunk-Y2ZD2RVG.js.map} +0 -0
  379. /package/dist/{chunk-AQWVJURR.js.map → chunk-Y6OWJ3V5.js.map} +0 -0
  380. /package/dist/{chunk-6P7MTSU5.js.map → chunk-YJ7PWEWI.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { S as SessionObserverBandConfig } from './types-D63ZI--P.js';
1
+ import { S as SessionObserverBandConfig } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { S as SessionObserverBandConfig } from './types-D63ZI--P.js';
1
+ import { S as SessionObserverBandConfig } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { P as PluginConfig } from '../types-D63ZI--P.js';
2
+ import { P as PluginConfig } from '../types-5398p7Zm.js';
3
3
  import '../message-parts/index.js';
4
4
  import '../bounded-jsonl-state.js';
5
5
  import '../operator-doctor-types.js';
package/dist/signal.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ay as SignalScanResult } from './types-D63ZI--P.js';
1
+ import { ay as SignalScanResult } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -0,0 +1,24 @@
1
+ import { P as PluginConfig, J as ExtractionResult, j as BufferTurn } from './types-5398p7Zm.js';
2
+ import { ExtractionGroundingRoleSources } from './extraction-source-grounding-rules.js';
3
+ import './message-parts/index.js';
4
+ import './bounded-jsonl-state.js';
5
+ import './operator-doctor-types.js';
6
+ import './types-continuity.js';
7
+
8
+ declare function resolveSourceConnector(turns: readonly BufferTurn[]): string | undefined;
9
+ declare function headerConnector(connector: string | undefined): string | undefined;
10
+ declare function renderExtractionConversation(boundedTurns: readonly BufferTurn[], sourceConnector: string | undefined): {
11
+ conversation: string;
12
+ renderedConversation: string;
13
+ };
14
+ interface ExtractionGroundingContext {
15
+ groundingSource: string;
16
+ assertionSource: string;
17
+ roleAssertionSources?: ExtractionGroundingRoleSources;
18
+ messageTimestamp: Date | undefined;
19
+ sourceConnector?: string;
20
+ scopeClassificationEnabled?: boolean;
21
+ }
22
+ declare function applyGroundingWithConnector(config: PluginConfig, result: ExtractionResult, ctx: ExtractionGroundingContext): ExtractionResult;
23
+
24
+ export { type ExtractionGroundingContext, applyGroundingWithConnector, headerConnector, renderExtractionConversation, resolveSourceConnector };
@@ -0,0 +1,98 @@
1
+ import {
2
+ applyGroundingWithConnector,
3
+ headerConnector,
4
+ renderExtractionConversation,
5
+ resolveSourceConnector
6
+ } from "./chunk-B6XHIBIB.js";
7
+ import "./chunk-YIAA2X3D.js";
8
+ import "./chunk-WOCNN776.js";
9
+ import "./chunk-P2BM76KT.js";
10
+ import "./chunk-VEWZZM3H.js";
11
+ import "./chunk-T2TTP3KU.js";
12
+ import "./chunk-7TWUCYER.js";
13
+ import "./chunk-EMDLM3LW.js";
14
+ import "./chunk-RYMPLSIT.js";
15
+ import "./chunk-BUE5E2HL.js";
16
+ import "./chunk-PD6O7AXF.js";
17
+ import "./chunk-ONHRRJZM.js";
18
+ import "./chunk-YV32N67O.js";
19
+ import "./chunk-IUM3VSHI.js";
20
+ import "./chunk-64UDOIMI.js";
21
+ import "./chunk-O75CRYGF.js";
22
+ import "./chunk-OD4FM2U7.js";
23
+ import "./chunk-QHYB4MJV.js";
24
+ import "./chunk-KSXJOC4F.js";
25
+ import "./chunk-4TGZCYHH.js";
26
+ import "./chunk-UHVXE24Y.js";
27
+ import "./chunk-QNWXCJ76.js";
28
+ import "./chunk-WIPEXG6R.js";
29
+ import "./chunk-DNHVPZOD.js";
30
+ import "./chunk-6CIAGZ6X.js";
31
+ import "./chunk-HKF5VASQ.js";
32
+ import "./chunk-J6A3CX5N.js";
33
+ import "./chunk-HXDWZFNP.js";
34
+ import "./chunk-7VUAG236.js";
35
+ import "./chunk-EGGE52UU.js";
36
+ import "./chunk-ILGC6JH6.js";
37
+ import "./chunk-SCU65EZI.js";
38
+ import "./chunk-WRJVB3C2.js";
39
+ import "./chunk-GCASGYIO.js";
40
+ import "./chunk-DM2T26WE.js";
41
+ import "./chunk-LDXUBPMO.js";
42
+ import "./chunk-FBUE6PD3.js";
43
+ import "./chunk-CGASUJVP.js";
44
+ import "./chunk-R3DJVOSM.js";
45
+ import "./chunk-BT7NVCML.js";
46
+ import "./chunk-FFAZ2XFU.js";
47
+ import "./chunk-3CSX3ETE.js";
48
+ import "./chunk-RL6NEVXT.js";
49
+ import "./chunk-JYIJNNN3.js";
50
+ import "./chunk-AAD2ZS6P.js";
51
+ import "./chunk-YXZG5TVN.js";
52
+ import "./chunk-G7D6GZ5J.js";
53
+ import "./chunk-6TAUHL33.js";
54
+ import "./chunk-IJ7HK452.js";
55
+ import "./chunk-PDJTHRAW.js";
56
+ import "./chunk-W5H6ZRPT.js";
57
+ import "./chunk-XMMESCPD.js";
58
+ import "./chunk-42JKGUFJ.js";
59
+ import "./chunk-C23BYTJV.js";
60
+ import "./chunk-QIEUU4UK.js";
61
+ import "./chunk-L2EXJQJP.js";
62
+ import "./chunk-45GF7Y3V.js";
63
+ import "./chunk-RGMVMVMF.js";
64
+ import "./chunk-N7RWREIQ.js";
65
+ import "./chunk-MZWSOLMT.js";
66
+ import "./chunk-K6MV3TRQ.js";
67
+ import "./chunk-5I4M26Q7.js";
68
+ import "./chunk-5GKPFL3S.js";
69
+ import "./chunk-ZIKENA2C.js";
70
+ import "./chunk-PQVCH2AE.js";
71
+ import "./chunk-EYIEWJNI.js";
72
+ import "./chunk-JUC24CTX.js";
73
+ import "./chunk-6MKAMLQL.js";
74
+ import "./chunk-JAKIDQB2.js";
75
+ import "./chunk-TBBDFYXW.js";
76
+ import "./chunk-BJMBJZ2Y.js";
77
+ import "./chunk-UKJAGEXH.js";
78
+ import "./chunk-FP2373TW.js";
79
+ import "./chunk-P7FMDTKL.js";
80
+ import "./chunk-3GD2HFR6.js";
81
+ import "./chunk-U3PN77QT.js";
82
+ import "./chunk-2XRE6FLM.js";
83
+ import "./chunk-2Z24E5W2.js";
84
+ import "./chunk-PVGDJXVK.js";
85
+ import "./chunk-FF4KLI5W.js";
86
+ import "./chunk-5TFP4CUL.js";
87
+ import "./chunk-A6XUJE5D.js";
88
+ import "./chunk-5UZXUTVO.js";
89
+ import "./chunk-VS2IYZRU.js";
90
+ import "./chunk-3WCASNQZ.js";
91
+ import "./chunk-PZ5AY32C.js";
92
+ export {
93
+ applyGroundingWithConnector,
94
+ headerConnector,
95
+ renderExtractionConversation,
96
+ resolveSourceConnector
97
+ };
98
+ //# sourceMappingURL=source-agent-qualifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,4 +1,4 @@
1
- import { aF as FusedWearableConversation, aG as FusedDayMeta, aH as FusedDayFile, aI as MeetingRecord, aJ as MeetingDetectionSource, aK as FusedMeeting, M as MemoryFile, l as MemoryFrontmatter, aL as EntityTimelineEntry, al as EntityStructuredSection, E as EntityFile, P as PluginConfig, x as MemoryStatus, v as MemoryCategory, an as ImportanceScore, aM as MemoryLink, F as FaithfulnessFrontmatter, O as ProvenanceSource, aN as BufferState, aO as MetaState, ag as MemoryActionEvent, z as MemoryLifecycleEvent, a7 as BufferSurpriseEvent, a6 as BehaviorSignalEvent, ah as CompressionGuidelineOptimizerState, aP as FileHygieneConfig, aQ as EntityRelationship, aR as EntityActivityEntry, aS as AccessTrackingEntry, y as MemoryProjectionCurrentState, aT as MemorySummary, az as TopicScore } from './types-D63ZI--P.js';
1
+ import { aF as FusedWearableConversation, aG as FusedDayMeta, aH as FusedDayFile, aI as MeetingRecord, aJ as MeetingDetectionSource, aK as FusedMeeting, M as MemoryFile, l as MemoryFrontmatter, aL as EntityTimelineEntry, al as EntityStructuredSection, E as EntityFile, P as PluginConfig, x as MemoryStatus, v as MemoryCategory, an as ImportanceScore, aM as MemoryLink, F as FaithfulnessFrontmatter, O as ProvenanceSource, aN as BufferState, aO as MetaState, ag as MemoryActionEvent, z as MemoryLifecycleEvent, a7 as BufferSurpriseEvent, a6 as BehaviorSignalEvent, ah as CompressionGuidelineOptimizerState, aP as FileHygieneConfig, aQ as EntityRelationship, aR as EntityActivityEntry, aS as AccessTrackingEntry, y as MemoryProjectionCurrentState, aT as MemorySummary, az as TopicScore } from './types-5398p7Zm.js';
2
2
  import './entity-id-normalization.js';
3
3
  import { VersioningConfig } from './page-versioning.js';
4
4
  import { ConsolidationOperator } from './consolidation-operator.js';
package/dist/storage.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import './types-D63ZI--P.js';
2
- export { C as ContentHashIndex, t as ContentHashIndexLockOptions, u as FactHashIndexNotAuthoritativeError, v as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, w as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, x as buildEntitySchemaCacheKey, y as compareEntityTimestamps, z as compileEntityFacts, A as countEntityStructuredFacts, B as fingerprintEntityStructuredFacts, D as isEntitySynthesisStale, E as isValidBufferSurpriseEvent, G as normalizeFrontmatterForPath, H as normalizeStructuredSectionFacts, p as parseEntityFile, I as parseFrontmatter, J as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-dyBC3Q84.js';
1
+ import './types-5398p7Zm.js';
2
+ export { C as ContentHashIndex, t as ContentHashIndexLockOptions, u as FactHashIndexNotAuthoritativeError, v as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, w as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, x as buildEntitySchemaCacheKey, y as compareEntityTimestamps, z as compileEntityFacts, A as countEntityStructuredFacts, B as fingerprintEntityStructuredFacts, D as isEntitySynthesisStale, E as isValidBufferSurpriseEvent, G as normalizeFrontmatterForPath, H as normalizeStructuredSectionFacts, p as parseEntityFile, I as parseFrontmatter, J as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-CyWa1Jm6.js';
3
3
  export { normalizeEntityName } from './entity-id-normalization.js';
4
4
  import './page-versioning.js';
5
5
  import './consolidation-operator.js';
package/dist/storage.js CHANGED
@@ -13,15 +13,15 @@ import {
13
13
  parseFrontmatter,
14
14
  parseFrontmatterStringValue,
15
15
  serializeEntityFile
16
- } from "./chunk-FHBITMRY.js";
16
+ } from "./chunk-4TGZCYHH.js";
17
17
  import "./chunk-UHVXE24Y.js";
18
18
  import "./chunk-QNWXCJ76.js";
19
19
  import "./chunk-WIPEXG6R.js";
20
20
  import "./chunk-DNHVPZOD.js";
21
21
  import "./chunk-6CIAGZ6X.js";
22
- import "./chunk-J6A3CX5N.js";
23
22
  import "./chunk-HKF5VASQ.js";
24
- import "./chunk-VVDPPDDF.js";
23
+ import "./chunk-J6A3CX5N.js";
24
+ import "./chunk-HXDWZFNP.js";
25
25
  import "./chunk-7VUAG236.js";
26
26
  import "./chunk-EGGE52UU.js";
27
27
  import "./chunk-ILGC6JH6.js";
@@ -34,15 +34,15 @@ import {
34
34
  ContentHashIndex,
35
35
  FactHashIndexNotAuthoritativeError
36
36
  } from "./chunk-FBUE6PD3.js";
37
- import "./chunk-FFAZ2XFU.js";
38
- import "./chunk-3CSX3ETE.js";
39
- import "./chunk-RL6NEVXT.js";
40
37
  import "./chunk-CGASUJVP.js";
41
38
  import {
42
39
  normalizeAttributePairs,
43
40
  stripAttributesSuffix
44
41
  } from "./chunk-R3DJVOSM.js";
45
42
  import "./chunk-BT7NVCML.js";
43
+ import "./chunk-FFAZ2XFU.js";
44
+ import "./chunk-3CSX3ETE.js";
45
+ import "./chunk-RL6NEVXT.js";
46
46
  import "./chunk-JYIJNNN3.js";
47
47
  import "./chunk-AAD2ZS6P.js";
48
48
  import {
@@ -1,5 +1,5 @@
1
1
  import { ModelRegistry } from './model-registry.js';
2
- import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-D63ZI--P.js';
2
+ import { P as PluginConfig, G as GatewayConfig, T as TranscriptEntry, H as HourlySummary } from './types-5398p7Zm.js';
3
3
  import { TranscriptManager } from './transcript.js';
4
4
  import './message-parts/index.js';
5
5
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { H as HourlySummary } from './types-D63ZI--P.js';
1
+ import { H as HourlySummary } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,5 +1,5 @@
1
- import { l as MemoryFrontmatter } from './types-D63ZI--P.js';
2
- import { S as StorageManager } from './storage-dyBC3Q84.js';
1
+ import { l as MemoryFrontmatter } from './types-5398p7Zm.js';
2
+ import { S as StorageManager } from './storage-CyWa1Jm6.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-D63ZI--P.js';
1
+ import { M as MemoryFile } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { l as MemoryFrontmatter } from './types-D63ZI--P.js';
1
+ import { l as MemoryFrontmatter } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { j as BufferTurn, V as ConversationThread } from './types-D63ZI--P.js';
1
+ import { j as BufferTurn, V as ConversationThread } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,5 +1,5 @@
1
- import { M as MemoryFile } from './types-D63ZI--P.js';
2
- import { S as StorageManager } from './storage-dyBC3Q84.js';
1
+ import { M as MemoryFile } from './types-5398p7Zm.js';
2
+ import { S as StorageManager } from './storage-CyWa1Jm6.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
5
5
  import './message-parts/index.js';
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile } from './types-D63ZI--P.js';
1
+ import { M as MemoryFile } from './types-5398p7Zm.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { M as MemoryFile, az as TopicScore } from './types-D63ZI--P.js';
1
+ import { M as MemoryFile, az as TopicScore } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, T as TranscriptEntry, m as Checkpoint } from './types-D63ZI--P.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, m as Checkpoint } from './types-5398p7Zm.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  backupMemoryDir
3
- } from "../chunk-2NLLXCJG.js";
3
+ } from "../chunk-BXLOS5AJ.js";
4
4
  import "../chunk-765K3SAT.js";
5
- import "../chunk-X7Y7WX73.js";
5
+ import "../chunk-DQEMWVMT.js";
6
6
  import "../chunk-J4EB7DNW.js";
7
7
  import "../chunk-BJMBJZ2Y.js";
8
8
  import "../chunk-UKJAGEXH.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  exportCapsule,
3
3
  isValidCapsuleSince
4
- } from "../chunk-KQAFEZQX.js";
4
+ } from "../chunk-VDX2J7OX.js";
5
5
  import "../chunk-WEHSQBFR.js";
6
- import "../chunk-X7Y7WX73.js";
6
+ import "../chunk-DQEMWVMT.js";
7
7
  import "../chunk-J4EB7DNW.js";
8
8
  import "../chunk-BJMBJZ2Y.js";
9
9
  import "../chunk-UKJAGEXH.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  importCapsule
3
- } from "../chunk-65ZPVYTA.js";
3
+ } from "../chunk-6NPZ3FP2.js";
4
4
  import "../chunk-6TAUHL33.js";
5
5
  import "../chunk-IJ7HK452.js";
6
6
  import "../chunk-PDJTHRAW.js";
7
7
  import "../chunk-XMMESCPD.js";
8
8
  import "../chunk-42JKGUFJ.js";
9
9
  import "../chunk-WEHSQBFR.js";
10
- import "../chunk-X7Y7WX73.js";
10
+ import "../chunk-DQEMWVMT.js";
11
11
  import "../chunk-BJMBJZ2Y.js";
12
12
  import "../chunk-UKJAGEXH.js";
13
13
  import "../chunk-FP2373TW.js";
@@ -1,4 +1,4 @@
1
- import { F as FaithfulnessFrontmatter, O as ProvenanceSource, U as TrustWeights, Q as QmdSearchResult } from './types-D63ZI--P.js';
1
+ import { F as FaithfulnessFrontmatter, O as ProvenanceSource, U as TrustWeights, Q as QmdSearchResult } from './types-5398p7Zm.js';
2
2
  import { TrustScoreResult, TrustSignals, TrustBand, TrustScoreComponent } from './trust-score.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
@@ -1,4 +1,4 @@
1
- import { U as TrustWeights } from './types-D63ZI--P.js';
1
+ import { U as TrustWeights } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
@@ -1260,15 +1260,12 @@ type ExtractionPassSource = "base" | "proactive";
1260
1260
  /**
1261
1261
  * Scope classification for extracted facts (issue #XXX).
1262
1262
  *
1263
- * - `"project"` — knowledge specific to one codebase: file paths, environment
1264
- * configs, deployment details, project-specific workarounds, team/stakeholder
1265
- * info tied to one project.
1266
- * - `"global"` knowledge that applies across projects: core framework bugs,
1267
- * library behavior, API patterns, user preferences, tool configurations,
1268
- * general coding patterns, infrastructure knowledge.
1263
+ * - `"project"` — one codebase (paths, env configs, deployment, stakeholders);
1264
+ * also tool/command or CLI-flag instructions tied to one agent.
1265
+ * - `"global"` across projects: framework bugs, library/API behavior,
1266
+ * user preferences, coding patterns, infrastructure.
1269
1267
  *
1270
- * Default is `"project"` when a coding context is active, `"global"` when no
1271
- * coding context is present.
1268
+ * Default is `"project"` with a coding context active, else `"global"`.
1272
1269
  */
1273
1270
  type MemoryScope = "project" | "global";
1274
1271
  type SlotMismatchMode = "error" | "warn" | "silent";
@@ -4277,6 +4274,8 @@ interface ExtractionResult {
4277
4274
  extractionFailure?: string;
4278
4275
  /** Coarse class used by the retry/backoff + circuit-breaker layer (extraction hot loop). */
4279
4276
  extractionFailureClass?: ExtractionFailureClass;
4277
+ /** Trusted source connector resolved over boundedTurns; persisted verbatim by the orchestrator so it is not recomputed (#2183). */
4278
+ sourceConnector?: string;
4280
4279
  }
4281
4280
  interface EntityMention {
4282
4281
  name: string;
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { aS as AccessTrackingEntry, a1 as ActiveRecallChatType, a5 as ActiveRecallModelFallbackPolicy, a3 as ActiveRecallPromptStyle, a2 as ActiveRecallQueryMode, a4 as ActiveRecallThinking, t as AgentAccessAuthToken, ck as AgentAccessHttpConfig, cl as AgentDefaultsConfig, cm as AgentPersona, A as AgentPersonaModelConfig, cn as BehaviorLoopAdjustment, r as BehaviorLoopPolicyState, co as BehaviorSignalDirection, a6 as BehaviorSignalEvent, cp as BehaviorSignalType, bb as BootstrapOptions, bc as BootstrapResult, g as BriefingActiveThread, cq as BriefingCalendarSourceError, bw as BriefingConfig, e as BriefingFocus, d as BriefingFollowup, bx as BriefingOpenCommitment, i as BriefingRecentEntity, h as BriefingResult, B as BriefingSections, by as BriefingWindow, cr as BufferEntryState, aN as BufferState, a7 as BufferSurpriseEvent, j as BufferTurn, f as CalendarEvent, C as CalendarSource, w as CaptureMode, cs as ChatConfig, m as Checkpoint, ct as CodexCliReasoningEffort, cu as CodexCompactionFlushMode, bB as CodexCompatConfig, cv as CodexConnectorConfig, b8 as CodingContext, cw as CodingGraphLspConfig, bk as CodingKnowledgeConfig, be as CodingModeConfig, cx as CompressionGuidelineActivationState, ad as CompressionGuidelineOptimizerActionSummary, ac as CompressionGuidelineOptimizerEventCounts, ae as CompressionGuidelineOptimizerRuleUpdate, cy as CompressionGuidelineOptimizerSourceWindow, ah as CompressionGuidelineOptimizerState, cz as ConfidenceTier, cA as ConsolidationAction, cB as ConsolidationItem, bd as ConsolidationObservation, K as ConsolidationResult, cC as ContradictionScanConfig, V as ConversationThread, cD as CronConversationRecallMode, cE as CronRecallMode, bC as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, cF as DreamingConfig, cG as DreamingNarrativePromptStyle, cH as DreamsDeepSleepConfig, cI as DreamsLightSleepConfig, D as DreamsPhase, cJ as DreamsPhaseStatus, cK as DreamsPhasesConfig, cL as DreamsRemConfig, a as DreamsRunResult, b9 as DreamsStatusResult, cM as EngramTraceEvent, aR as EntityActivityEntry, E as EntityFile, ai as EntityMention, aQ as EntityRelationship, aj as EntitySchemaDefinition, ak as EntitySchemaSectionDefinition, al as EntityStructuredSection, aL as EntityTimelineEntry, bE as ExtractedFact, cN as ExtractedProcedureStep, cO as ExtractedQuestion, cP as ExtractedReasoningTrace, cQ as ExtractedReasoningTraceStep, cR as ExtractedRelationship, $ as ExtractionFailureClass, cS as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, aP as FileHygieneConfig, G as GatewayConfig, cT as GitHubLiveConnectorConfig, cU as GmailLiveConnectorConfig, cV as GoogleDriveLiveConnectorConfig, cW as HeartbeatConfig, cX as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, a0 as ImportanceLevel, an as ImportanceScore, W as LifecycleState, L as LiveConnectorsConfig, cY as LlmTraceCallback, cZ as LlmTraceEvent, ap as MemoryActionEligibilityContext, bN as MemoryActionEligibilitySource, ag as MemoryActionEvent, c_ as MemoryActionOutcome, c$ as MemoryActionPolicyDecision, aq as MemoryActionPolicyResult, d0 as MemoryActionStatus, af as MemoryActionType, v as MemoryCategory, M as MemoryFile, l as MemoryFrontmatter, ao as MemoryIntent, z as MemoryLifecycleEvent, ar as MemoryLifecycleEventType, as as MemoryLifecycleStateSummary, aM as MemoryLink, d1 as MemoryLinkType, bO as MemoryObservation, d2 as MemoryOsPresetName, y as MemoryProjectionCurrentState, bP as MemoryScope, x as MemoryStatus, aT as MemorySummary, aO as MetaState, d3 as ModelApi, d4 as ModelDefinitionConfig, d5 as ModelProviderAuthMode, at as ModelProviderConfig, d6 as NamespacePolicy, au as NativeKnowledgeConfig, d7 as NativeKnowledgeFolderRuleConfig, d8 as NativeKnowledgeObsidianVaultConfig, d9 as NativeKnowledgeOpenClawWorkspaceConfig, da as NotionLiveConnectorConfig, P as PluginConfig, Y as PolicyClass, db as PrincipalFromSessionKeyMode, dc as PrincipalRule, dd as ProceduralConfig, am as ProvenanceConfig, O as ProvenanceSource, aA as QmdSearchExplain, Q as QmdSearchResult, de as QuestionEntry, bQ as RECALL_DISCLOSURE_LEVELS, df as ReasoningEffort, b as RecallDisclosure, dg as RecallPipelineConfig, R as RecallPlanMode, ba as RecallSectionConfig, c as RecallTierExplain, dh as RecallTraceEvent, di as RelevanceFeedback, ax as RetrievalTier, dj as SPECULATIVE_TTL_DAYS, dk as ScopeProfileAutoPromoteConfig, o as ScopeProfileConfig, p as ScopeProfileLayerId, q as ScopeProfilePromotionTarget, dl as ScopeProfileTeamProjectConfig, dm as ScopeTeamConfig, dn as ScoredEntity, s as SecretRef, dp as SemanticChunkingConfigShape, S as SessionObserverBandConfig, dq as SignalLevel, ay as SignalScanResult, dr as SlotBehaviorConfig, ds as SlotMismatchMode, n as SourceConnectorProvenance, az as TopicScore, T as TranscriptEntry, dt as TriggerMode, U as TrustWeights, X as VerificationState, du as confidenceTier, bY as isRecallDisclosure } from './types-D63ZI--P.js';
1
+ export { aS as AccessTrackingEntry, a1 as ActiveRecallChatType, a5 as ActiveRecallModelFallbackPolicy, a3 as ActiveRecallPromptStyle, a2 as ActiveRecallQueryMode, a4 as ActiveRecallThinking, t as AgentAccessAuthToken, ck as AgentAccessHttpConfig, cl as AgentDefaultsConfig, cm as AgentPersona, A as AgentPersonaModelConfig, cn as BehaviorLoopAdjustment, r as BehaviorLoopPolicyState, co as BehaviorSignalDirection, a6 as BehaviorSignalEvent, cp as BehaviorSignalType, bb as BootstrapOptions, bc as BootstrapResult, g as BriefingActiveThread, cq as BriefingCalendarSourceError, bw as BriefingConfig, e as BriefingFocus, d as BriefingFollowup, bx as BriefingOpenCommitment, i as BriefingRecentEntity, h as BriefingResult, B as BriefingSections, by as BriefingWindow, cr as BufferEntryState, aN as BufferState, a7 as BufferSurpriseEvent, j as BufferTurn, f as CalendarEvent, C as CalendarSource, w as CaptureMode, cs as ChatConfig, m as Checkpoint, ct as CodexCliReasoningEffort, cu as CodexCompactionFlushMode, bB as CodexCompatConfig, cv as CodexConnectorConfig, b8 as CodingContext, cw as CodingGraphLspConfig, bk as CodingKnowledgeConfig, be as CodingModeConfig, cx as CompressionGuidelineActivationState, ad as CompressionGuidelineOptimizerActionSummary, ac as CompressionGuidelineOptimizerEventCounts, ae as CompressionGuidelineOptimizerRuleUpdate, cy as CompressionGuidelineOptimizerSourceWindow, ah as CompressionGuidelineOptimizerState, cz as ConfidenceTier, cA as ConsolidationAction, cB as ConsolidationItem, bd as ConsolidationObservation, K as ConsolidationResult, cC as ContradictionScanConfig, V as ConversationThread, cD as CronConversationRecallMode, cE as CronRecallMode, bC as DEFAULT_RECALL_DISCLOSURE, N as DaySummaryResult, cF as DreamingConfig, cG as DreamingNarrativePromptStyle, cH as DreamsDeepSleepConfig, cI as DreamsLightSleepConfig, D as DreamsPhase, cJ as DreamsPhaseStatus, cK as DreamsPhasesConfig, cL as DreamsRemConfig, a as DreamsRunResult, b9 as DreamsStatusResult, cM as EngramTraceEvent, aR as EntityActivityEntry, E as EntityFile, ai as EntityMention, aQ as EntityRelationship, aj as EntitySchemaDefinition, ak as EntitySchemaSectionDefinition, al as EntityStructuredSection, aL as EntityTimelineEntry, bE as ExtractedFact, cN as ExtractedProcedureStep, cO as ExtractedQuestion, cP as ExtractedReasoningTrace, cQ as ExtractedReasoningTraceStep, cR as ExtractedRelationship, $ as ExtractionFailureClass, cS as ExtractionPassSource, J as ExtractionResult, F as FaithfulnessFrontmatter, aP as FileHygieneConfig, G as GatewayConfig, cT as GitHubLiveConnectorConfig, cU as GmailLiveConnectorConfig, cV as GoogleDriveLiveConnectorConfig, cW as HeartbeatConfig, cX as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, a0 as ImportanceLevel, an as ImportanceScore, W as LifecycleState, L as LiveConnectorsConfig, cY as LlmTraceCallback, cZ as LlmTraceEvent, ap as MemoryActionEligibilityContext, bN as MemoryActionEligibilitySource, ag as MemoryActionEvent, c_ as MemoryActionOutcome, c$ as MemoryActionPolicyDecision, aq as MemoryActionPolicyResult, d0 as MemoryActionStatus, af as MemoryActionType, v as MemoryCategory, M as MemoryFile, l as MemoryFrontmatter, ao as MemoryIntent, z as MemoryLifecycleEvent, ar as MemoryLifecycleEventType, as as MemoryLifecycleStateSummary, aM as MemoryLink, d1 as MemoryLinkType, bO as MemoryObservation, d2 as MemoryOsPresetName, y as MemoryProjectionCurrentState, bP as MemoryScope, x as MemoryStatus, aT as MemorySummary, aO as MetaState, d3 as ModelApi, d4 as ModelDefinitionConfig, d5 as ModelProviderAuthMode, at as ModelProviderConfig, d6 as NamespacePolicy, au as NativeKnowledgeConfig, d7 as NativeKnowledgeFolderRuleConfig, d8 as NativeKnowledgeObsidianVaultConfig, d9 as NativeKnowledgeOpenClawWorkspaceConfig, da as NotionLiveConnectorConfig, P as PluginConfig, Y as PolicyClass, db as PrincipalFromSessionKeyMode, dc as PrincipalRule, dd as ProceduralConfig, am as ProvenanceConfig, O as ProvenanceSource, aA as QmdSearchExplain, Q as QmdSearchResult, de as QuestionEntry, bQ as RECALL_DISCLOSURE_LEVELS, df as ReasoningEffort, b as RecallDisclosure, dg as RecallPipelineConfig, R as RecallPlanMode, ba as RecallSectionConfig, c as RecallTierExplain, dh as RecallTraceEvent, di as RelevanceFeedback, ax as RetrievalTier, dj as SPECULATIVE_TTL_DAYS, dk as ScopeProfileAutoPromoteConfig, o as ScopeProfileConfig, p as ScopeProfileLayerId, q as ScopeProfilePromotionTarget, dl as ScopeProfileTeamProjectConfig, dm as ScopeTeamConfig, dn as ScoredEntity, s as SecretRef, dp as SemanticChunkingConfigShape, S as SessionObserverBandConfig, dq as SignalLevel, ay as SignalScanResult, dr as SlotBehaviorConfig, ds as SlotMismatchMode, n as SourceConnectorProvenance, az as TopicScore, T as TranscriptEntry, dt as TriggerMode, U as TrustWeights, X as VerificationState, du as confidenceTier, bY as isRecallDisclosure } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  export { ContinuityImprovementLoop, ContinuityIncidentCloseInput, ContinuityIncidentOpenInput, ContinuityIncidentRecord, ContinuityIncidentState, ContinuityLoopCadence, ContinuityLoopReviewInput, ContinuityLoopStatus, ContinuityLoopUpsertInput } from './types-continuity.js';
package/dist/types.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  SPECULATIVE_TTL_DAYS,
5
5
  confidenceTier,
6
6
  isRecallDisclosure
7
- } from "./chunk-VVDPPDDF.js";
7
+ } from "./chunk-HXDWZFNP.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  DEFAULT_RECALL_DISCLOSURE,
@@ -1,5 +1,5 @@
1
1
  import { TierRoutingPolicy } from './tier-routing.js';
2
- import './types-D63ZI--P.js';
2
+ import './types-5398p7Zm.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './operator-doctor-types.js';
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-5WZVQRHV.js";
4
+ } from "./chunk-EO7X2LDK.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
- import "./chunk-FHBITMRY.js";
6
+ import "./chunk-4TGZCYHH.js";
7
7
  import "./chunk-UHVXE24Y.js";
8
8
  import "./chunk-QNWXCJ76.js";
9
9
  import "./chunk-WIPEXG6R.js";
10
10
  import "./chunk-DNHVPZOD.js";
11
11
  import "./chunk-6CIAGZ6X.js";
12
- import "./chunk-J6A3CX5N.js";
13
12
  import "./chunk-HKF5VASQ.js";
14
- import "./chunk-VVDPPDDF.js";
13
+ import "./chunk-J6A3CX5N.js";
14
+ import "./chunk-HXDWZFNP.js";
15
15
  import "./chunk-7VUAG236.js";
16
16
  import "./chunk-EGGE52UU.js";
17
17
  import "./chunk-ILGC6JH6.js";
@@ -21,12 +21,12 @@ import "./chunk-GCASGYIO.js";
21
21
  import "./chunk-DM2T26WE.js";
22
22
  import "./chunk-LDXUBPMO.js";
23
23
  import "./chunk-FBUE6PD3.js";
24
- import "./chunk-FFAZ2XFU.js";
25
- import "./chunk-3CSX3ETE.js";
26
- import "./chunk-RL6NEVXT.js";
27
24
  import "./chunk-CGASUJVP.js";
28
25
  import "./chunk-R3DJVOSM.js";
29
26
  import "./chunk-BT7NVCML.js";
27
+ import "./chunk-FFAZ2XFU.js";
28
+ import "./chunk-3CSX3ETE.js";
29
+ import "./chunk-RL6NEVXT.js";
30
30
  import "./chunk-JYIJNNN3.js";
31
31
  import "./chunk-AAD2ZS6P.js";
32
32
  import "./chunk-YXZG5TVN.js";
@@ -1,4 +1,4 @@
1
- import { v as MemoryCategory } from './types-D63ZI--P.js';
1
+ import { v as MemoryCategory } from './types-5398p7Zm.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.32.0",
3
+ "version": "9.33.0",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3076,7 +3076,7 @@
3076
3076
  "core"
3077
3077
  ],
3078
3078
  "peerDependencies": {
3079
- "@remnic/coding-graph": "^9.32.0"
3079
+ "@remnic/coding-graph": "^9.33.0"
3080
3080
  },
3081
3081
  "peerDependenciesMeta": {
3082
3082
  "@remnic/coding-graph": {
@@ -21,9 +21,12 @@ import {
21
21
  import { TurnIngestionCoordinator, type TurnIngestionDeps } from "./orchestration/turn-ingestion.js";
22
22
  import { StorageManager } from "./storage.js";
23
23
  import { hashAccessIdempotencyPayload } from "./access-idempotency.js";
24
- import type { ExtractionEngine } from "./extraction.js";
24
+ import { ExtractionEngine } from "./extraction.js";
25
25
  import type { ThreadingManager } from "./threading.js";
26
26
  import type { BufferTurn, ExtractionResult, PluginConfig } from "./types.js";
27
+ import { parseConfig } from "./config.js";
28
+ import { resolveSourceConnector } from "./source-agent-qualifier.js";
29
+ import type { FallbackLlmOptions } from "./fallback-llm.js";
27
30
  import { handleCodingDecision } from "./coding/decision-surfaces.js";
28
31
  import type { DecisionSurfaceContext } from "./coding/decision-surfaces.js";
29
32
 
@@ -271,11 +274,12 @@ test("runExtraction: mixed tagged+untagged turns → persistExtraction receives
271
274
  config,
272
275
  getBuffer: () => buffer,
273
276
  getExtraction: () => ({
274
- extract: async (..._args: Parameters<ExtractionEngine["extract"]>): Promise<ExtractionResult> => ({
277
+ extract: async (turns: BufferTurn[]): Promise<ExtractionResult> => ({
275
278
  facts: [{ content: "test fact", category: "fact", confidence: 0.8, tags: [] }],
276
279
  entities: [],
277
280
  questions: [],
278
281
  profileUpdates: [],
282
+ sourceConnector: resolveSourceConnector(turns),
279
283
  }),
280
284
  }),
281
285
  getStorageRouter: () => ({
@@ -373,11 +377,12 @@ test("runExtraction: context-only turns without sourceConnector do not affect at
373
377
  config,
374
378
  getBuffer: () => buffer,
375
379
  getExtraction: () => ({
376
- extract: async (..._args: Parameters<ExtractionEngine["extract"]>): Promise<ExtractionResult> => ({
380
+ extract: async (turns: BufferTurn[]): Promise<ExtractionResult> => ({
377
381
  facts: [{ content: "test fact", category: "fact", confidence: 0.8, tags: [] }],
378
382
  entities: [],
379
383
  questions: [],
380
384
  profileUpdates: [],
385
+ sourceConnector: resolveSourceConnector(turns),
381
386
  }),
382
387
  }),
383
388
  getStorageRouter: () => ({
@@ -616,3 +621,81 @@ test("codegraph_manage_adr operation: ctx.sourceConnector forwarded to codegraph
616
621
  "operation handler must forward ctx.sourceConnector='chatgpt' to codegraphTool"
617
622
  );
618
623
  });
624
+
625
+ test("runExtraction: the Source agent header connector equals the persisted sourceConnector (boundary-drop case)", async () => {
626
+ // One derivation over boundedTurns: a work-layer-dropped UNTAGGED assistant
627
+ // turn must not suppress the connector the model effectively saw, and the
628
+ // value rendered in the header must be the same value persisted.
629
+ StorageManager.clearAllStaticCaches();
630
+ const baseDir = await mkdtemp(path.join(os.tmpdir(), "prov-one-"));
631
+ try {
632
+ const storage = new StorageManager(baseDir);
633
+ await storage.ensureDirectories();
634
+ const config = makeMinimalConfig();
635
+ const buffer = new SmartBuffer(config, storage);
636
+ await buffer.load();
637
+
638
+ let headerConversation = "";
639
+ let persistedConnector: string | undefined = "SENTINEL";
640
+ const engine = new ExtractionEngine(parseConfig({ modelSource: "gateway" }));
641
+ assert.equal(Reflect.set(engine, "fallbackLlm", {
642
+ async parseWithSchemaDetailed<T>(
643
+ messages: Array<{ role: "system" | "user" | "assistant"; content: string }>,
644
+ _schema: { parse: (data: unknown) => T },
645
+ _options?: FallbackLlmOptions,
646
+ ) {
647
+ headerConversation = messages[1]?.content ?? "";
648
+ return {
649
+ modelUsed: "fixture",
650
+ result: { facts: [{ content: "use the search tool", category: "fact", confidence: 0.9, tags: [] }], entities: [], questions: [], profileUpdates: [] } as unknown as T,
651
+ };
652
+ },
653
+ }), true);
654
+
655
+ const coordinator = new ExtractionRunCoordinator({
656
+ config,
657
+ getBuffer: () => buffer,
658
+ getExtraction: () => engine,
659
+ getStorageRouter: () => ({ storageFor: async () => storage }),
660
+ getThreading: () => ({ processTurn: async () => "thread-1", updateThreadTitle: async () => {} }),
661
+ persistExtraction: async (_r, _s, _t, sourceContext?) => {
662
+ persistedConnector = sourceContext?.sourceConnector;
663
+ return { persistedIds: ["fact-1"], memoryPathById: new Map() };
664
+ },
665
+ maybeCapturePassiveCorrections: async () => {},
666
+ resolveSelfNamespace: () => "default",
667
+ getCodingContextForSession: () => null,
668
+ applyCodingNamespaceOverlay: (_sk: string, ns: string) => ns,
669
+ boxBuilderFor: () => { throw new Error("unexpected boxBuilderFor"); },
670
+ appendPersistedThreadEpisodes: async () => {},
671
+ maybeScheduleConsolidation: () => {},
672
+ requestQmdMaintenance: () => {},
673
+ runTierMigrationCycle: async () => { throw new Error("unexpected runTierMigrationCycle"); },
674
+ getLastPersistExtractionDeferredCount: () => 0,
675
+ recordProcessedExtractionFingerprint: async () => {},
676
+ });
677
+
678
+ await coordinator.runExtraction(
679
+ [
680
+ makeTurn({ content: "Use the search tool.", sourceConnector: "pi" }),
681
+ makeTurn({ role: "assistant", content: "Found it.", sourceConnector: "pi" }),
682
+ // UNTAGGED assistant turn that is entirely work-layer context -> dropped
683
+ // by the work-layer boundary, so it is absent from boundedTurns.
684
+ makeTurn({
685
+ role: "assistant",
686
+ content: "[WORK_LAYER_CONTEXT link_to_memory=false]\ninternal scratch\n[/WORK_LAYER_CONTEXT]",
687
+ }),
688
+ ],
689
+ { skipCharThreshold: true, skipUserTurnThreshold: true }
690
+ );
691
+
692
+ const headerMatch = headerConversation.match(/^Source agent: (\S+)/);
693
+ const headerConnector = headerMatch ? headerMatch[1] : undefined;
694
+ assert.equal(headerConnector, "pi", "header names the connector the model saw (boundedTurns)");
695
+ assert.equal(persistedConnector, "pi", "persistence records the same resolved connector");
696
+ assert.equal(headerConnector, persistedConnector, "header connector must equal persisted connector");
697
+ } finally {
698
+ StorageManager.clearAllStaticCaches();
699
+ await rm(baseDir, { recursive: true, force: true });
700
+ }
701
+ });
@@ -211,7 +211,7 @@ export { coerceInstallExtension };
211
211
 
212
212
  // ── Built-in connector definitions ─────────────────────────────────────────
213
213
 
214
- const BUILTIN_CONNECTORS: ConnectorManifest[] = [
214
+ export const BUILTIN_CONNECTORS: ConnectorManifest[] = [
215
215
  {
216
216
  id: "claude-code",
217
217
  name: "Claude Code",
@@ -571,7 +571,7 @@ const BUILTIN_CONNECTORS: ConnectorManifest[] = [
571
571
 
572
572
  export const CONNECTOR_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
573
573
 
574
- function isValidConnectorId(connectorId: unknown): connectorId is string {
574
+ export function isValidConnectorId(connectorId: unknown): connectorId is string {
575
575
  return typeof connectorId === "string" && CONNECTOR_ID_PATTERN.test(connectorId);
576
576
  }
577
577