@remnic/core 9.47.1 → 9.48.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 (233) hide show
  1. package/dist/access-admin-ops-surface.d.ts +6 -5
  2. package/dist/access-admin-ops-surface.js +27 -25
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +6 -5
  5. package/dist/access-authorization-probe.js +28 -26
  6. package/dist/access-boundary.d.ts +6 -5
  7. package/dist/access-boundary.js +27 -25
  8. package/dist/access-cli.js +87 -85
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +6 -5
  11. package/dist/access-extraction-force-flush.js +27 -25
  12. package/dist/access-http-lcm-compaction.d.ts +6 -5
  13. package/dist/access-http-lifecycle-flush.d.ts +6 -5
  14. package/dist/access-http-offline-stream.d.ts +6 -5
  15. package/dist/access-http-query.js +27 -25
  16. package/dist/access-http.d.ts +6 -5
  17. package/dist/access-http.js +36 -34
  18. package/dist/access-identity-continuity-surface.d.ts +5 -4
  19. package/dist/access-identity-continuity-surface.js +27 -25
  20. package/dist/access-lcm-surface.d.ts +6 -5
  21. package/dist/access-lcm-surface.js +27 -25
  22. package/dist/access-mcp.d.ts +6 -5
  23. package/dist/access-mcp.js +32 -30
  24. package/dist/access-namespace-preflight.js +27 -25
  25. package/dist/access-observe-write-surface.d.ts +6 -5
  26. package/dist/access-observe-write-surface.js +27 -25
  27. package/dist/access-offline-manifest.d.ts +5 -4
  28. package/dist/access-offline-manifest.js +4 -4
  29. package/dist/access-operations-batch.js +29 -27
  30. package/dist/access-operations.d.ts +6 -5
  31. package/dist/access-operations.js +31 -29
  32. package/dist/access-recall-concurrency.d.ts +6 -5
  33. package/dist/access-recall-concurrency.js +27 -25
  34. package/dist/access-recall-response.d.ts +6 -5
  35. package/dist/access-recall-response.js +27 -25
  36. package/dist/access-recall-surface.d.ts +11 -10
  37. package/dist/access-recall-surface.js +27 -25
  38. package/dist/access-schema.d.ts +2 -2
  39. package/dist/{access-service-DNBYHK33.d.ts → access-service-andNjwfD.d.ts} +3 -3
  40. package/dist/access-service-helpers.d.ts +6 -5
  41. package/dist/access-service.d.ts +10 -9
  42. package/dist/access-service.js +27 -25
  43. package/dist/access-surface-catalog.d.ts +6 -5
  44. package/dist/access-wearables-meetings-surface.d.ts +3 -2
  45. package/dist/adapters/index.js +4 -4
  46. package/dist/adapters/registry.js +2 -2
  47. package/dist/artifact-search.d.ts +37 -0
  48. package/dist/artifact-search.js +13 -0
  49. package/dist/artifact-search.js.map +1 -0
  50. package/dist/bootstrap.d.ts +5 -4
  51. package/dist/briefing.d.ts +2 -1
  52. package/dist/briefing.js +10 -7
  53. package/dist/buffer.d.ts +2 -1
  54. package/dist/buffer.js +4 -4
  55. package/dist/causal-consolidation.js +11 -8
  56. package/dist/causal-consolidation.js.map +1 -1
  57. package/dist/{chunk-T6JRMVOV.js → chunk-2EJNXE53.js} +2 -2
  58. package/dist/{chunk-SIP5DBDN.js → chunk-2P3GQVM2.js} +152 -130
  59. package/dist/chunk-2P3GQVM2.js.map +1 -0
  60. package/dist/{chunk-64BHFFKZ.js → chunk-2RPJ4NEE.js} +2 -2
  61. package/dist/{chunk-JFO5QZ7N.js → chunk-3JUYWPFJ.js} +2 -2
  62. package/dist/{chunk-L7G72WY4.js → chunk-3NDN5P55.js} +2 -2
  63. package/dist/{chunk-IXH2U2QT.js → chunk-45OTV7FZ.js} +19 -19
  64. package/dist/chunk-4O4TKIXQ.js +171 -0
  65. package/dist/chunk-4O4TKIXQ.js.map +1 -0
  66. package/dist/{chunk-BDNL34CT.js → chunk-4WBGZYZZ.js} +33 -8
  67. package/dist/chunk-4WBGZYZZ.js.map +1 -0
  68. package/dist/{chunk-U6JGQ37L.js → chunk-52I3YZZ6.js} +3 -3
  69. package/dist/{chunk-IZQ5TDFT.js → chunk-53AJILXF.js} +3 -3
  70. package/dist/chunk-5AUY5Z5E.js +34 -0
  71. package/dist/chunk-5AUY5Z5E.js.map +1 -0
  72. package/dist/{chunk-YWCOJOUI.js → chunk-5L7PTX2Q.js} +2 -2
  73. package/dist/{chunk-ELIL2A37.js → chunk-7FGL6CGA.js} +5 -5
  74. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  75. package/dist/{chunk-HXXTXLKA.js → chunk-A2TFK5PG.js} +2 -2
  76. package/dist/{chunk-LI7OE7G6.js → chunk-ANCC3JJH.js} +2 -2
  77. package/dist/{chunk-ILBLZ5Y5.js → chunk-D5NGH2EW.js} +2 -2
  78. package/dist/{chunk-ST5IEK3H.js → chunk-DUEEQCTT.js} +2 -2
  79. package/dist/{chunk-QISYTKG4.js → chunk-EZNXW27Q.js} +6 -6
  80. package/dist/{chunk-47J4EDGR.js → chunk-FJ2ND6CZ.js} +2 -2
  81. package/dist/{chunk-FQU3HTQM.js → chunk-FMCHFSZF.js} +6 -6
  82. package/dist/{chunk-FULKGK7P.js → chunk-G2RBWVFQ.js} +2 -2
  83. package/dist/{chunk-W2ZSNIBP.js → chunk-GD7UPIBG.js} +2 -2
  84. package/dist/{chunk-Z54EM5YZ.js → chunk-GF22HWS2.js} +4 -4
  85. package/dist/{chunk-ZDAYWJV6.js → chunk-GVX3NAUU.js} +2 -2
  86. package/dist/{chunk-M2INOSTA.js → chunk-GWHPQOUC.js} +2 -2
  87. package/dist/{chunk-N5XULCU3.js → chunk-HIDEBEAN.js} +9 -9
  88. package/dist/{chunk-74HN5QUH.js → chunk-HRMEYQRO.js} +2 -2
  89. package/dist/{chunk-VFZS2HAA.js → chunk-IP3DHDU2.js} +2 -2
  90. package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
  91. package/dist/{chunk-PFJXPOD4.js → chunk-JYPO7L3G.js} +2 -2
  92. package/dist/{chunk-G2L5IZV4.js → chunk-KSGEGHYA.js} +44 -44
  93. package/dist/{chunk-PKCLQ7KM.js → chunk-LZGCJSQR.js} +5 -5
  94. package/dist/{chunk-WOC6DXP5.js → chunk-M4DMO67I.js} +4 -4
  95. package/dist/{chunk-JCNJIXZN.js → chunk-NXUJRXSF.js} +2 -2
  96. package/dist/{chunk-5VQPZ4GV.js → chunk-PELT6ADC.js} +3 -3
  97. package/dist/{chunk-IDE5AR5W.js → chunk-PLCZD3LG.js} +28 -66
  98. package/dist/chunk-PLCZD3LG.js.map +1 -0
  99. package/dist/{chunk-KMWYZTIE.js → chunk-PRVJH7CY.js} +2 -2
  100. package/dist/{chunk-RVO6TCTU.js → chunk-QCECHYZL.js} +6 -6
  101. package/dist/{chunk-KA47C7BF.js → chunk-RSPSHRZA.js} +2 -2
  102. package/dist/{chunk-E4FOAENZ.js → chunk-S55OAS5P.js} +5 -5
  103. package/dist/{chunk-BIPBQQFI.js → chunk-UMOO7IY7.js} +2 -2
  104. package/dist/{chunk-5U7ID3EZ.js → chunk-UTVZKHJK.js} +2 -2
  105. package/dist/{chunk-V5FE3UAI.js → chunk-WOEVJKKQ.js} +2 -2
  106. package/dist/{chunk-N3LL5NEU.js → chunk-WQIHRA5F.js} +2 -2
  107. package/dist/chunk-Z7L72ZHL.js +75 -0
  108. package/dist/chunk-Z7L72ZHL.js.map +1 -0
  109. package/dist/{cli-BWXSPxB9.d.ts → cli-p_WmVo2h.d.ts} +3 -3
  110. package/dist/cli.d.ts +7 -6
  111. package/dist/cli.js +55 -53
  112. package/dist/compounding/engine.d.ts +2 -1
  113. package/dist/compounding/engine.js +10 -7
  114. package/dist/connectors/codex-materialize-runner.js +10 -7
  115. package/dist/connectors/index.js +10 -7
  116. package/dist/consolidation-provenance-check.d.ts +2 -1
  117. package/dist/consolidation-undo.d.ts +2 -1
  118. package/dist/contradiction/index.d.ts +7 -6
  119. package/dist/convergence-refresh.d.ts +2 -1
  120. package/dist/convergence-refresh.js +12 -9
  121. package/dist/corpus-watermark.js +15 -13
  122. package/dist/entity-recall-cancellation.d.ts +36 -0
  123. package/dist/entity-recall-cancellation.js +19 -0
  124. package/dist/entity-recall-cancellation.js.map +1 -0
  125. package/dist/entity-retrieval.d.ts +14 -6
  126. package/dist/entity-retrieval.js +11 -7
  127. package/dist/explicit-capture.d.ts +5 -4
  128. package/dist/external-wiki-access.d.ts +6 -5
  129. package/dist/external-wiki-access.js +28 -26
  130. package/dist/external-wiki-mcp-tools.d.ts +6 -5
  131. package/dist/extraction.js +15 -13
  132. package/dist/index.d.ts +11 -10
  133. package/dist/index.js +114 -112
  134. package/dist/lcm/engine.js +2 -2
  135. package/dist/lcm/index.js +7 -7
  136. package/dist/maintenance/memory-governance.js +10 -7
  137. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +7 -6
  138. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -7
  139. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -1
  140. package/dist/maintenance/rebuild-memory-projection.js +11 -8
  141. package/dist/{maintenance-DQrL93Uu.d.ts → maintenance-BfcuwfJS.d.ts} +1 -1
  142. package/dist/mcp-memory-inspector-app.d.ts +6 -5
  143. package/dist/memory-worth-outcomes.d.ts +2 -1
  144. package/dist/namespaces/migrate.d.ts +2 -1
  145. package/dist/namespaces/migrate.js +14 -12
  146. package/dist/namespaces/search.js +4 -4
  147. package/dist/namespaces/storage.d.ts +7 -6
  148. package/dist/namespaces/storage.js +10 -7
  149. package/dist/offline-sync-impression-drain.js +3 -3
  150. package/dist/operator-doctor-corpus.js +16 -14
  151. package/dist/operator-toolkit.d.ts +2 -1
  152. package/dist/operator-toolkit.js +20 -18
  153. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -1
  154. package/dist/orchestration/maintenance.d.ts +3 -2
  155. package/dist/orchestration/maintenance.js +14 -12
  156. package/dist/{orchestrator-CRR-6sVB.d.ts → orchestrator-B7nLo4z1.d.ts} +3 -3
  157. package/dist/orchestrator.d.ts +5 -4
  158. package/dist/orchestrator.js +89 -87
  159. package/dist/qmd.js +4 -4
  160. package/dist/recall-qos.d.ts +109 -2
  161. package/dist/recall-qos.js +12 -3
  162. package/dist/search/factory.js +3 -3
  163. package/dist/search/index.js +3 -3
  164. package/dist/semantic-consolidation.js +11 -8
  165. package/dist/semantic-rule-promotion.js +10 -7
  166. package/dist/semantic-rule-verifier.js +10 -7
  167. package/dist/{service-DJ0LDyuN.d.ts → service-B5W5IYCx.d.ts} +1 -1
  168. package/dist/source-agent-qualifier.js +13 -11
  169. package/dist/{storage-y340tYKb.d.ts → storage-COL907QF.d.ts} +2 -1
  170. package/dist/storage.d.ts +2 -1
  171. package/dist/storage.js +9 -6
  172. package/dist/temporal-supersession.d.ts +2 -1
  173. package/dist/tier-migration.d.ts +2 -1
  174. package/dist/verified-recall.js +10 -7
  175. package/package.json +2 -2
  176. package/src/artifact-search.test.ts +110 -0
  177. package/src/artifact-search.ts +115 -0
  178. package/src/entity-recall-cancellation.ts +58 -0
  179. package/src/entity-retrieval.ts +58 -4
  180. package/src/orchestration/namespace-read-fanout.ts +4 -1
  181. package/src/orchestration/recall-internal-deps.ts +2 -0
  182. package/src/orchestration/recall-internal.ts +76 -55
  183. package/src/orchestration/recall-search-pipeline.ts +9 -1
  184. package/src/orchestration/recall-search-prefilter.ts +18 -1
  185. package/src/orchestrator.ts +5 -6
  186. package/src/recall-qos.test.ts +289 -0
  187. package/src/recall-qos.ts +238 -1
  188. package/src/storage.ts +12 -56
  189. package/dist/chunk-BDNL34CT.js.map +0 -1
  190. package/dist/chunk-C3AKM55W.js +0 -59
  191. package/dist/chunk-C3AKM55W.js.map +0 -1
  192. package/dist/chunk-IDE5AR5W.js.map +0 -1
  193. package/dist/chunk-SIP5DBDN.js.map +0 -1
  194. /package/dist/{chunk-T6JRMVOV.js.map → chunk-2EJNXE53.js.map} +0 -0
  195. /package/dist/{chunk-64BHFFKZ.js.map → chunk-2RPJ4NEE.js.map} +0 -0
  196. /package/dist/{chunk-JFO5QZ7N.js.map → chunk-3JUYWPFJ.js.map} +0 -0
  197. /package/dist/{chunk-L7G72WY4.js.map → chunk-3NDN5P55.js.map} +0 -0
  198. /package/dist/{chunk-IXH2U2QT.js.map → chunk-45OTV7FZ.js.map} +0 -0
  199. /package/dist/{chunk-U6JGQ37L.js.map → chunk-52I3YZZ6.js.map} +0 -0
  200. /package/dist/{chunk-IZQ5TDFT.js.map → chunk-53AJILXF.js.map} +0 -0
  201. /package/dist/{chunk-YWCOJOUI.js.map → chunk-5L7PTX2Q.js.map} +0 -0
  202. /package/dist/{chunk-ELIL2A37.js.map → chunk-7FGL6CGA.js.map} +0 -0
  203. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  204. /package/dist/{chunk-HXXTXLKA.js.map → chunk-A2TFK5PG.js.map} +0 -0
  205. /package/dist/{chunk-LI7OE7G6.js.map → chunk-ANCC3JJH.js.map} +0 -0
  206. /package/dist/{chunk-ILBLZ5Y5.js.map → chunk-D5NGH2EW.js.map} +0 -0
  207. /package/dist/{chunk-ST5IEK3H.js.map → chunk-DUEEQCTT.js.map} +0 -0
  208. /package/dist/{chunk-QISYTKG4.js.map → chunk-EZNXW27Q.js.map} +0 -0
  209. /package/dist/{chunk-47J4EDGR.js.map → chunk-FJ2ND6CZ.js.map} +0 -0
  210. /package/dist/{chunk-FQU3HTQM.js.map → chunk-FMCHFSZF.js.map} +0 -0
  211. /package/dist/{chunk-FULKGK7P.js.map → chunk-G2RBWVFQ.js.map} +0 -0
  212. /package/dist/{chunk-W2ZSNIBP.js.map → chunk-GD7UPIBG.js.map} +0 -0
  213. /package/dist/{chunk-Z54EM5YZ.js.map → chunk-GF22HWS2.js.map} +0 -0
  214. /package/dist/{chunk-ZDAYWJV6.js.map → chunk-GVX3NAUU.js.map} +0 -0
  215. /package/dist/{chunk-M2INOSTA.js.map → chunk-GWHPQOUC.js.map} +0 -0
  216. /package/dist/{chunk-N5XULCU3.js.map → chunk-HIDEBEAN.js.map} +0 -0
  217. /package/dist/{chunk-74HN5QUH.js.map → chunk-HRMEYQRO.js.map} +0 -0
  218. /package/dist/{chunk-VFZS2HAA.js.map → chunk-IP3DHDU2.js.map} +0 -0
  219. /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
  220. /package/dist/{chunk-PFJXPOD4.js.map → chunk-JYPO7L3G.js.map} +0 -0
  221. /package/dist/{chunk-G2L5IZV4.js.map → chunk-KSGEGHYA.js.map} +0 -0
  222. /package/dist/{chunk-PKCLQ7KM.js.map → chunk-LZGCJSQR.js.map} +0 -0
  223. /package/dist/{chunk-WOC6DXP5.js.map → chunk-M4DMO67I.js.map} +0 -0
  224. /package/dist/{chunk-JCNJIXZN.js.map → chunk-NXUJRXSF.js.map} +0 -0
  225. /package/dist/{chunk-5VQPZ4GV.js.map → chunk-PELT6ADC.js.map} +0 -0
  226. /package/dist/{chunk-KMWYZTIE.js.map → chunk-PRVJH7CY.js.map} +0 -0
  227. /package/dist/{chunk-RVO6TCTU.js.map → chunk-QCECHYZL.js.map} +0 -0
  228. /package/dist/{chunk-KA47C7BF.js.map → chunk-RSPSHRZA.js.map} +0 -0
  229. /package/dist/{chunk-E4FOAENZ.js.map → chunk-S55OAS5P.js.map} +0 -0
  230. /package/dist/{chunk-BIPBQQFI.js.map → chunk-UMOO7IY7.js.map} +0 -0
  231. /package/dist/{chunk-5U7ID3EZ.js.map → chunk-UTVZKHJK.js.map} +0 -0
  232. /package/dist/{chunk-V5FE3UAI.js.map → chunk-WOEVJKKQ.js.map} +0 -0
  233. /package/dist/{chunk-N3LL5NEU.js.map → chunk-WQIHRA5F.js.map} +0 -0
@@ -1,7 +1,23 @@
1
1
  import { LoggerBackend } from './logger.js';
2
2
 
3
+ /**
4
+ * Hand the event loop one macrotask.
5
+ *
6
+ * A recall section deadline is a timer, and a timer cannot fire while a
7
+ * synchronous scan holds the loop — so a provider that iterates the whole corpus
8
+ * must call this periodically or its budget is unenforceable (issue #2291).
9
+ * `setImmediate` (check phase) is used rather than a `0ms` timer so the yield
10
+ * cannot be starved by the timer queue it exists to let run.
11
+ */
12
+ declare function yieldToEventLoop(): Promise<void>;
3
13
  type RecallSectionPriority = "core" | "enrichment";
4
- type RecallSectionSource = "fresh" | "stale" | "skip";
14
+ /**
15
+ * `timeout` records a section that started, exceeded its deadline, and was
16
+ * degraded to its neutral value (issue #2291). It is distinct from `skip`
17
+ * (never ran: disabled or zero-limit) so operators can tell a configuration
18
+ * choice from a budget breach in the section metric log.
19
+ */
20
+ type RecallSectionSource = "fresh" | "stale" | "skip" | "timeout";
5
21
  interface RecallSectionMetric {
6
22
  section: string;
7
23
  priority: RecallSectionPriority;
@@ -29,5 +45,96 @@ declare function createRecallSectionMetricRecorder(options?: {
29
45
  timings?: Record<string, string>;
30
46
  logger?: Pick<LoggerBackend, "info" | "debug">;
31
47
  }): (metric: RecallSectionMetric) => RecallSectionMetricLog;
48
+ /**
49
+ * Effective per-section deadline for optional core recall providers.
50
+ *
51
+ * Two things make the configured value unusable as-is (issue #2291):
52
+ *
53
+ * - `recallCoreDeadlineMs` and `recallOuterTimeoutMs` both default to 75s, so a
54
+ * section budget taken at face value can never fire before the request ceiling
55
+ * that cancels everything — the caller loses the whole recall rather than one
56
+ * section.
57
+ * - Sections start *after* planning, namespace resolution, and mode selection.
58
+ * Capping against the original ceiling would let a section that starts 20s in
59
+ * still be running when the request is aborted, which is the same failure.
60
+ *
61
+ * So the cap is taken against `remainingOuterMs` — the request budget left when
62
+ * the section actually starts. An operator who lowers `recallCoreDeadlineMs`
63
+ * below that still gets exactly what they asked for.
64
+ *
65
+ * `remainingOuterMs === null` means the request is unbounded and there is nothing
66
+ * to reserve headroom against. A non-positive remainder means the request is
67
+ * already over budget, so the section degrades immediately rather than starting
68
+ * work that cannot be delivered.
69
+ */
70
+ declare function resolveRecallCoreSectionDeadlineMs(options: {
71
+ configuredCoreDeadlineMs: number;
72
+ remainingOuterMs: number | null;
73
+ }): number;
74
+ interface RecallSectionDeadlineOutcome<T> {
75
+ /** The section's value, or `fallback` when the deadline was exceeded. */
76
+ value: T;
77
+ timedOut: boolean;
78
+ durationMs: number;
79
+ }
80
+ /**
81
+ * Run one recall section under a deadline, degrading to `fallback` instead of
82
+ * blocking the phase it belongs to (issue #2291).
83
+ *
84
+ * Before this existed, `deadlineMs` was recorded in the section metric but
85
+ * never enforced for core sections: a provider doing a multi-minute scan on a
86
+ * slow filesystem blocked the whole phase-one `Promise.all`, and kept scanning
87
+ * after the caller aborted. Two guarantees fix that:
88
+ *
89
+ * 1. The returned promise settles within `deadlineMs`, with `timedOut: true`
90
+ * and the caller's neutral value, so one slow optional provider degrades
91
+ * independently rather than holding the response.
92
+ * 2. `run` receives a signal that fires on the deadline AND on the caller's
93
+ * abort, so the section can stop its own work at its next checkpoint.
94
+ *
95
+ * `deadlineMs <= 0` (or non-finite) means unbounded, matching the config
96
+ * contract that a zero budget disables the limit. The section signal is still
97
+ * created and still tracks the parent, so cancellation propagates either way.
98
+ */
99
+ declare function runRecallSectionWithinDeadline<T>(options: {
100
+ deadlineMs: number;
101
+ fallback: T;
102
+ parentSignal?: AbortSignal;
103
+ run: (sectionSignal: AbortSignal) => Promise<T>;
104
+ now?: () => number;
105
+ }): Promise<RecallSectionDeadlineOutcome<T>>;
106
+ /**
107
+ * Runs one *optional* core recall section, bounded and accounted for.
108
+ *
109
+ * Binds a section's deadline, the caller's abort signal, and the QoS recorder
110
+ * once so each provider is one call (issue #2291). A breach degrades the
111
+ * section to `fallback`, warns with the section name and budget, and records the
112
+ * section as `timeout` — so a slow provider costs its own section, not the
113
+ * response.
114
+ *
115
+ * The budget is resolved when each section STARTS, against the request budget
116
+ * still left at that moment (`outerDeadlineAtMs`), not against the original
117
+ * configured ceiling: sections begin after planning and namespace resolution, and
118
+ * a section sized to the full request would otherwise still be running when the
119
+ * request itself is aborted.
120
+ *
121
+ * Cancellation degrades too, and must: the section signal fires on the caller's
122
+ * abort, and the phase this section belongs to is awaited through a race that the
123
+ * caller's abort also wins. A rejection here would therefore land on a promise
124
+ * nobody is awaiting any more — an unhandled rejection rather than a signal. The
125
+ * caller learns of its own abort from that race, not from a section result.
126
+ *
127
+ * Only sections whose absence leaves recall coherent belong here: the fallback
128
+ * IS the degraded contract.
129
+ */
130
+ declare function createBoundedCoreSectionRunner(options: {
131
+ configuredDeadlineMs: number;
132
+ /** Absolute time the whole request is aborted, or null when unbounded. */
133
+ outerDeadlineAtMs: number | null;
134
+ parentSignal?: AbortSignal;
135
+ record: (metric: RecallSectionMetric) => unknown;
136
+ logger?: Pick<LoggerBackend, "warn">;
137
+ now?: () => number;
138
+ }): <T>(section: string, fallback: T, run: (sectionSignal: AbortSignal) => Promise<T>) => Promise<T>;
32
139
 
33
- export { type RecallSectionMetric, type RecallSectionMetricLog, type RecallSectionPriority, type RecallSectionSource, createRecallSectionMetricRecorder, formatRecallSectionMetric };
140
+ export { type RecallSectionDeadlineOutcome, type RecallSectionMetric, type RecallSectionMetricLog, type RecallSectionPriority, type RecallSectionSource, createBoundedCoreSectionRunner, createRecallSectionMetricRecorder, formatRecallSectionMetric, resolveRecallCoreSectionDeadlineMs, runRecallSectionWithinDeadline, yieldToEventLoop };
@@ -1,11 +1,20 @@
1
1
  import {
2
+ createBoundedCoreSectionRunner,
2
3
  createRecallSectionMetricRecorder,
3
- formatRecallSectionMetric
4
- } from "./chunk-C3AKM55W.js";
4
+ formatRecallSectionMetric,
5
+ resolveRecallCoreSectionDeadlineMs,
6
+ runRecallSectionWithinDeadline,
7
+ yieldToEventLoop
8
+ } from "./chunk-4O4TKIXQ.js";
9
+ import "./chunk-BTTPKDIL.js";
5
10
  import "./chunk-3WCASNQZ.js";
6
11
  import "./chunk-PZ5AY32C.js";
7
12
  export {
13
+ createBoundedCoreSectionRunner,
8
14
  createRecallSectionMetricRecorder,
9
- formatRecallSectionMetric
15
+ formatRecallSectionMetric,
16
+ resolveRecallCoreSectionDeadlineMs,
17
+ runRecallSectionWithinDeadline,
18
+ yieldToEventLoop
10
19
  };
11
20
  //# sourceMappingURL=recall-qos.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createConversationSearchBackend,
4
4
  createSearchBackend,
5
5
  isSearchBackendEnabled
6
- } from "../chunk-47J4EDGR.js";
6
+ } from "../chunk-FJ2ND6CZ.js";
7
7
  import "../chunk-XL3TATMJ.js";
8
8
  import "../chunk-VANZKHTN.js";
9
9
  import "../chunk-CYEPCZN5.js";
@@ -17,10 +17,10 @@ import "../chunk-ET356KSB.js";
17
17
  import "../chunk-72A4L5JJ.js";
18
18
  import "../chunk-A7Q43EUZ.js";
19
19
  import "../chunk-3ONXXHQO.js";
20
- import "../chunk-RVO6TCTU.js";
20
+ import "../chunk-QCECHYZL.js";
21
21
  import "../chunk-URS5GSM7.js";
22
- import "../chunk-IUM3VSHI.js";
23
22
  import "../chunk-ZLQ37WJX.js";
23
+ import "../chunk-IUM3VSHI.js";
24
24
  import "../chunk-XMMESCPD.js";
25
25
  import "../chunk-42JKGUFJ.js";
26
26
  import "../chunk-GCASGYIO.js";
@@ -2,7 +2,7 @@ import {
2
2
  createConversationIndexRuntime,
3
3
  createConversationSearchBackend,
4
4
  createSearchBackend
5
- } from "../chunk-47J4EDGR.js";
5
+ } from "../chunk-FJ2ND6CZ.js";
6
6
  import {
7
7
  LanceDbBackend
8
8
  } from "../chunk-XL3TATMJ.js";
@@ -30,10 +30,10 @@ import "../chunk-ET356KSB.js";
30
30
  import "../chunk-72A4L5JJ.js";
31
31
  import "../chunk-A7Q43EUZ.js";
32
32
  import "../chunk-3ONXXHQO.js";
33
- import "../chunk-RVO6TCTU.js";
33
+ import "../chunk-QCECHYZL.js";
34
34
  import "../chunk-URS5GSM7.js";
35
- import "../chunk-IUM3VSHI.js";
36
35
  import "../chunk-ZLQ37WJX.js";
36
+ import "../chunk-IUM3VSHI.js";
37
37
  import "../chunk-XMMESCPD.js";
38
38
  import "../chunk-42JKGUFJ.js";
39
39
  import "../chunk-GCASGYIO.js";
@@ -7,24 +7,24 @@ import {
7
7
  materializeAfterSemanticConsolidation,
8
8
  parseConsolidationResponse,
9
9
  parseOperatorAwareConsolidationResponse
10
- } from "./chunk-M2INOSTA.js";
10
+ } from "./chunk-GWHPQOUC.js";
11
11
  import {
12
12
  resolveExtensionsRoot
13
13
  } from "./chunk-JLNBQWZ2.js";
14
- import "./chunk-FULKGK7P.js";
14
+ import "./chunk-G2RBWVFQ.js";
15
15
  import "./chunk-KSXJOC4F.js";
16
- import "./chunk-IDE5AR5W.js";
17
- import "./chunk-ENTCVTQR.js";
16
+ import "./chunk-PLCZD3LG.js";
18
17
  import "./chunk-UHVXE24Y.js";
18
+ import "./chunk-ENTCVTQR.js";
19
19
  import "./chunk-SXIMQLGV.js";
20
20
  import "./chunk-S2V7RUCL.js";
21
21
  import "./chunk-J6A3CX5N.js";
22
22
  import "./chunk-3S63QIFQ.js";
23
+ import "./chunk-WRJVB3C2.js";
23
24
  import "./chunk-S2HLHAZ4.js";
24
25
  import "./chunk-SCU65EZI.js";
25
- import "./chunk-WRJVB3C2.js";
26
- import "./chunk-LDXUBPMO.js";
27
26
  import "./chunk-DM2T26WE.js";
27
+ import "./chunk-LDXUBPMO.js";
28
28
  import "./chunk-JYIJNNN3.js";
29
29
  import "./chunk-AAD2ZS6P.js";
30
30
  import "./chunk-SYUBB3WM.js";
@@ -58,15 +58,17 @@ import "./chunk-ZIKENA2C.js";
58
58
  import "./chunk-PQVCH2AE.js";
59
59
  import "./chunk-6MKAMLQL.js";
60
60
  import "./chunk-JAKIDQB2.js";
61
+ import "./chunk-Z7L72ZHL.js";
62
+ import "./chunk-4O4TKIXQ.js";
61
63
  import "./chunk-ZBJMUXZH.js";
62
64
  import "./chunk-BJMBJZ2Y.js";
63
65
  import "./chunk-UKJAGEXH.js";
64
66
  import "./chunk-FP2373TW.js";
65
- import "./chunk-ELIL2A37.js";
67
+ import "./chunk-7FGL6CGA.js";
66
68
  import "./chunk-EGGE52UU.js";
67
69
  import "./chunk-ZA53AZND.js";
68
- import "./chunk-7RJUVTVF.js";
69
70
  import "./chunk-GCASGYIO.js";
71
+ import "./chunk-7RJUVTVF.js";
70
72
  import "./chunk-BQIFZ2MP.js";
71
73
  import "./chunk-3CSX3ETE.js";
72
74
  import "./chunk-RL6NEVXT.js";
@@ -77,6 +79,7 @@ import "./chunk-U3PN77QT.js";
77
79
  import "./chunk-2XRE6FLM.js";
78
80
  import "./chunk-EYIEWJNI.js";
79
81
  import "./chunk-JUC24CTX.js";
82
+ import "./chunk-BTTPKDIL.js";
80
83
  import "./chunk-FF4KLI5W.js";
81
84
  import "./chunk-XQ3HXAQH.js";
82
85
  import "./chunk-A6XUJE5D.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  promoteSemanticRuleFromMemory,
3
3
  setSemanticRulePromotionTestHooks
4
- } from "./chunk-HXXTXLKA.js";
5
- import "./chunk-IDE5AR5W.js";
6
- import "./chunk-ENTCVTQR.js";
4
+ } from "./chunk-A2TFK5PG.js";
5
+ import "./chunk-PLCZD3LG.js";
7
6
  import "./chunk-UHVXE24Y.js";
7
+ import "./chunk-ENTCVTQR.js";
8
8
  import "./chunk-SXIMQLGV.js";
9
9
  import "./chunk-S2V7RUCL.js";
10
10
  import "./chunk-J6A3CX5N.js";
11
11
  import "./chunk-3S63QIFQ.js";
12
+ import "./chunk-WRJVB3C2.js";
12
13
  import "./chunk-S2HLHAZ4.js";
13
14
  import "./chunk-SCU65EZI.js";
14
- import "./chunk-WRJVB3C2.js";
15
- import "./chunk-LDXUBPMO.js";
16
15
  import "./chunk-DM2T26WE.js";
16
+ import "./chunk-LDXUBPMO.js";
17
17
  import "./chunk-JYIJNNN3.js";
18
18
  import "./chunk-AAD2ZS6P.js";
19
19
  import "./chunk-SYUBB3WM.js";
@@ -42,14 +42,16 @@ import "./chunk-ZIKENA2C.js";
42
42
  import "./chunk-PQVCH2AE.js";
43
43
  import "./chunk-6MKAMLQL.js";
44
44
  import "./chunk-JAKIDQB2.js";
45
+ import "./chunk-Z7L72ZHL.js";
46
+ import "./chunk-4O4TKIXQ.js";
45
47
  import "./chunk-BJMBJZ2Y.js";
46
48
  import "./chunk-UKJAGEXH.js";
47
49
  import "./chunk-FP2373TW.js";
48
- import "./chunk-ELIL2A37.js";
50
+ import "./chunk-7FGL6CGA.js";
49
51
  import "./chunk-EGGE52UU.js";
50
52
  import "./chunk-ZA53AZND.js";
51
- import "./chunk-7RJUVTVF.js";
52
53
  import "./chunk-GCASGYIO.js";
54
+ import "./chunk-7RJUVTVF.js";
53
55
  import "./chunk-BQIFZ2MP.js";
54
56
  import "./chunk-3CSX3ETE.js";
55
57
  import "./chunk-RL6NEVXT.js";
@@ -59,6 +61,7 @@ import "./chunk-P7FMDTKL.js";
59
61
  import "./chunk-2XRE6FLM.js";
60
62
  import "./chunk-EYIEWJNI.js";
61
63
  import "./chunk-JUC24CTX.js";
64
+ import "./chunk-BTTPKDIL.js";
62
65
  import "./chunk-FF4KLI5W.js";
63
66
  import "./chunk-XQ3HXAQH.js";
64
67
  import "./chunk-A6XUJE5D.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  compareVerifiedSemanticRuleResults,
3
3
  searchVerifiedSemanticRules
4
- } from "./chunk-YWCOJOUI.js";
5
- import "./chunk-IDE5AR5W.js";
6
- import "./chunk-ENTCVTQR.js";
4
+ } from "./chunk-5L7PTX2Q.js";
5
+ import "./chunk-PLCZD3LG.js";
7
6
  import "./chunk-UHVXE24Y.js";
7
+ import "./chunk-ENTCVTQR.js";
8
8
  import "./chunk-SXIMQLGV.js";
9
9
  import "./chunk-S2V7RUCL.js";
10
10
  import "./chunk-J6A3CX5N.js";
11
11
  import "./chunk-3S63QIFQ.js";
12
+ import "./chunk-WRJVB3C2.js";
12
13
  import "./chunk-S2HLHAZ4.js";
13
14
  import "./chunk-SCU65EZI.js";
14
- import "./chunk-WRJVB3C2.js";
15
- import "./chunk-LDXUBPMO.js";
16
15
  import "./chunk-DM2T26WE.js";
16
+ import "./chunk-LDXUBPMO.js";
17
17
  import "./chunk-JYIJNNN3.js";
18
18
  import "./chunk-AAD2ZS6P.js";
19
19
  import "./chunk-SYUBB3WM.js";
@@ -42,15 +42,17 @@ import "./chunk-ZIKENA2C.js";
42
42
  import "./chunk-PQVCH2AE.js";
43
43
  import "./chunk-6MKAMLQL.js";
44
44
  import "./chunk-JAKIDQB2.js";
45
+ import "./chunk-Z7L72ZHL.js";
46
+ import "./chunk-4O4TKIXQ.js";
45
47
  import "./chunk-ZBJMUXZH.js";
46
48
  import "./chunk-BJMBJZ2Y.js";
47
49
  import "./chunk-UKJAGEXH.js";
48
50
  import "./chunk-FP2373TW.js";
49
- import "./chunk-ELIL2A37.js";
51
+ import "./chunk-7FGL6CGA.js";
50
52
  import "./chunk-EGGE52UU.js";
51
53
  import "./chunk-ZA53AZND.js";
52
- import "./chunk-7RJUVTVF.js";
53
54
  import "./chunk-GCASGYIO.js";
55
+ import "./chunk-7RJUVTVF.js";
54
56
  import "./chunk-BQIFZ2MP.js";
55
57
  import "./chunk-3CSX3ETE.js";
56
58
  import "./chunk-RL6NEVXT.js";
@@ -60,6 +62,7 @@ import "./chunk-P7FMDTKL.js";
60
62
  import "./chunk-2XRE6FLM.js";
61
63
  import "./chunk-EYIEWJNI.js";
62
64
  import "./chunk-JUC24CTX.js";
65
+ import "./chunk-BTTPKDIL.js";
63
66
  import "./chunk-FF4KLI5W.js";
64
67
  import "./chunk-XQ3HXAQH.js";
65
68
  import "./chunk-A6XUJE5D.js";
@@ -1,5 +1,5 @@
1
1
  import { j as BufferTurn, K as ExtractionResult, aq as ImportanceScore, y as MemoryStatus, aX as WearableConversation, aY as WearableSourceSettings, aZ as WearableNativeMemory, a_ as WearableMemoryMode, a$ as WearableSourceConnector, b0 as WearablesConfig, b1 as WearableSyncSummary, b2 as WearableSourceStatus, b3 as WearableDayTranscript, aJ as FusedWearableConversation, b4 as WearableCorrectionRule, b5 as MeetingBuildInput, b6 as MeetingsConfig, aO as FusedMeeting, aM as MeetingRecord, b7 as MeetingsDetectionInput, b8 as FusionConversationInput, b9 as MeetingActivitySnapshot, ba as DetectedMeeting } from './types-D_Au9qJO.js';
2
- import { M as MemoryWriteResult, F as FusionArtifactStore, a as MeetingRecordStore, b as MeetingRecordSummary } from './storage-y340tYKb.js';
2
+ import { M as MemoryWriteResult, F as FusionArtifactStore, a as MeetingRecordStore, b as MeetingRecordSummary } from './storage-COL907QF.js';
3
3
  import { SealedMemoryEnvelope } from './write-envelope.js';
4
4
  import { JudgeCandidate, JudgeBatchResult } from './extraction-judge.js';
5
5
 
@@ -3,7 +3,7 @@ import {
3
3
  headerConnector,
4
4
  renderExtractionConversation,
5
5
  resolveSourceConnector
6
- } from "./chunk-ZDAYWJV6.js";
6
+ } from "./chunk-GVX3NAUU.js";
7
7
  import "./chunk-NK5RGJ65.js";
8
8
  import "./chunk-4POAMKV6.js";
9
9
  import "./chunk-WAS4HV46.js";
@@ -11,20 +11,20 @@ import "./chunk-VEWZZM3H.js";
11
11
  import "./chunk-X4IDNPOS.js";
12
12
  import "./chunk-PNRA7FAD.js";
13
13
  import "./chunk-EMDLM3LW.js";
14
- import "./chunk-FULKGK7P.js";
14
+ import "./chunk-G2RBWVFQ.js";
15
15
  import "./chunk-KSXJOC4F.js";
16
- import "./chunk-IDE5AR5W.js";
17
- import "./chunk-ENTCVTQR.js";
16
+ import "./chunk-PLCZD3LG.js";
18
17
  import "./chunk-UHVXE24Y.js";
18
+ import "./chunk-ENTCVTQR.js";
19
19
  import "./chunk-SXIMQLGV.js";
20
20
  import "./chunk-S2V7RUCL.js";
21
21
  import "./chunk-J6A3CX5N.js";
22
22
  import "./chunk-3S63QIFQ.js";
23
+ import "./chunk-WRJVB3C2.js";
23
24
  import "./chunk-S2HLHAZ4.js";
24
25
  import "./chunk-SCU65EZI.js";
25
- import "./chunk-WRJVB3C2.js";
26
- import "./chunk-LDXUBPMO.js";
27
26
  import "./chunk-DM2T26WE.js";
27
+ import "./chunk-LDXUBPMO.js";
28
28
  import "./chunk-JYIJNNN3.js";
29
29
  import "./chunk-AAD2ZS6P.js";
30
30
  import "./chunk-SYUBB3WM.js";
@@ -39,12 +39,12 @@ import "./chunk-PDJTHRAW.js";
39
39
  import "./chunk-NZBZ7IS2.js";
40
40
  import "./chunk-DNHVPZOD.js";
41
41
  import "./chunk-6CIAGZ6X.js";
42
- import "./chunk-N3LL5NEU.js";
42
+ import "./chunk-WQIHRA5F.js";
43
43
  import "./chunk-PD6O7AXF.js";
44
- import "./chunk-RVO6TCTU.js";
44
+ import "./chunk-QCECHYZL.js";
45
45
  import "./chunk-URS5GSM7.js";
46
- import "./chunk-IUM3VSHI.js";
47
46
  import "./chunk-ZLQ37WJX.js";
47
+ import "./chunk-IUM3VSHI.js";
48
48
  import "./chunk-OD4FM2U7.js";
49
49
  import "./chunk-XMMESCPD.js";
50
50
  import "./chunk-42JKGUFJ.js";
@@ -61,15 +61,17 @@ import "./chunk-ZIKENA2C.js";
61
61
  import "./chunk-PQVCH2AE.js";
62
62
  import "./chunk-6MKAMLQL.js";
63
63
  import "./chunk-JAKIDQB2.js";
64
+ import "./chunk-Z7L72ZHL.js";
65
+ import "./chunk-4O4TKIXQ.js";
64
66
  import "./chunk-TBBDFYXW.js";
65
67
  import "./chunk-BJMBJZ2Y.js";
66
68
  import "./chunk-UKJAGEXH.js";
67
69
  import "./chunk-FP2373TW.js";
68
- import "./chunk-ELIL2A37.js";
70
+ import "./chunk-7FGL6CGA.js";
69
71
  import "./chunk-EGGE52UU.js";
70
72
  import "./chunk-ZA53AZND.js";
71
- import "./chunk-7RJUVTVF.js";
72
73
  import "./chunk-GCASGYIO.js";
74
+ import "./chunk-7RJUVTVF.js";
73
75
  import "./chunk-BQIFZ2MP.js";
74
76
  import "./chunk-3CSX3ETE.js";
75
77
  import "./chunk-RL6NEVXT.js";
@@ -1,4 +1,5 @@
1
1
  import { aJ as FusedWearableConversation, aK as FusedDayMeta, aL as FusedDayFile, aM as MeetingRecord, aN as MeetingDetectionSource, aO as FusedMeeting, M as MemoryFile, l as MemoryFrontmatter, aP as EntityTimelineEntry, ao as EntityStructuredSection, E as EntityFile, P as PluginConfig, y as MemoryStatus, w as MemoryCategory, aq as ImportanceScore, aQ as MemoryLink, F as FaithfulnessFrontmatter, U as ProvenanceSource, aR as BufferState, az as MetaState, ai as MemoryActionEvent, J as MemoryLifecycleEvent, a9 as BufferSurpriseEvent, a8 as BehaviorSignalEvent, aj as CompressionGuidelineOptimizerState, aS as FileHygieneConfig, aT as EntityRelationship, aU as EntityActivityEntry, aV as AccessTrackingEntry, z as MemoryProjectionCurrentState, aW as MemorySummary, aD as TopicScore } from './types-D_Au9qJO.js';
2
+ import { ArtifactSearchOptions } from './artifact-search.js';
2
3
  import './entity-id-normalization.js';
3
4
  import { VersioningConfig } from './page-versioning.js';
4
5
  import { ConsolidationOperator } from './consolidation-operator.js';
@@ -1798,7 +1799,7 @@ declare class StorageManager extends TombstoneBlockedCaptureIndexHost {
1798
1799
  toolScoped?: true;
1799
1800
  }): Promise<string>;
1800
1801
  private readAllArtifactsCached;
1801
- searchArtifacts(query: string, maxResults: number): Promise<MemoryFile[]>;
1802
+ searchArtifacts(query: string, maxResults: number, options?: ArtifactSearchOptions): Promise<MemoryFile[]>;
1802
1803
  writeEntity(name: string, type: string, facts: string[], options?: {
1803
1804
  timestamp?: string;
1804
1805
  source?: string;
package/dist/storage.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import './types-D_Au9qJO.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-y340tYKb.js';
2
+ import './artifact-search.js';
3
+ 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-COL907QF.js';
3
4
  export { normalizeEntityName } from './entity-id-normalization.js';
4
5
  import './page-versioning.js';
5
6
  import './consolidation-operator.js';
package/dist/storage.js CHANGED
@@ -13,18 +13,18 @@ import {
13
13
  parseFrontmatter,
14
14
  parseFrontmatterStringValue,
15
15
  serializeEntityFile
16
- } from "./chunk-IDE5AR5W.js";
17
- import "./chunk-ENTCVTQR.js";
16
+ } from "./chunk-PLCZD3LG.js";
18
17
  import "./chunk-UHVXE24Y.js";
18
+ import "./chunk-ENTCVTQR.js";
19
19
  import "./chunk-SXIMQLGV.js";
20
20
  import "./chunk-S2V7RUCL.js";
21
21
  import "./chunk-J6A3CX5N.js";
22
22
  import "./chunk-3S63QIFQ.js";
23
+ import "./chunk-WRJVB3C2.js";
23
24
  import "./chunk-S2HLHAZ4.js";
24
25
  import "./chunk-SCU65EZI.js";
25
- import "./chunk-WRJVB3C2.js";
26
- import "./chunk-LDXUBPMO.js";
27
26
  import "./chunk-DM2T26WE.js";
27
+ import "./chunk-LDXUBPMO.js";
28
28
  import "./chunk-JYIJNNN3.js";
29
29
  import "./chunk-AAD2ZS6P.js";
30
30
  import "./chunk-SYUBB3WM.js";
@@ -58,14 +58,16 @@ import "./chunk-ZIKENA2C.js";
58
58
  import "./chunk-PQVCH2AE.js";
59
59
  import "./chunk-6MKAMLQL.js";
60
60
  import "./chunk-JAKIDQB2.js";
61
+ import "./chunk-Z7L72ZHL.js";
62
+ import "./chunk-4O4TKIXQ.js";
61
63
  import "./chunk-BJMBJZ2Y.js";
62
64
  import "./chunk-UKJAGEXH.js";
63
65
  import "./chunk-FP2373TW.js";
64
- import "./chunk-ELIL2A37.js";
66
+ import "./chunk-7FGL6CGA.js";
65
67
  import "./chunk-EGGE52UU.js";
66
68
  import "./chunk-ZA53AZND.js";
67
- import "./chunk-7RJUVTVF.js";
68
69
  import "./chunk-GCASGYIO.js";
70
+ import "./chunk-7RJUVTVF.js";
69
71
  import {
70
72
  ContentHashIndex,
71
73
  FactHashIndexNotAuthoritativeError
@@ -78,6 +80,7 @@ import "./chunk-P7FMDTKL.js";
78
80
  import "./chunk-2XRE6FLM.js";
79
81
  import "./chunk-EYIEWJNI.js";
80
82
  import "./chunk-JUC24CTX.js";
83
+ import "./chunk-BTTPKDIL.js";
81
84
  import "./chunk-FF4KLI5W.js";
82
85
  import "./chunk-XQ3HXAQH.js";
83
86
  import "./chunk-A6XUJE5D.js";
@@ -1,10 +1,11 @@
1
1
  import { l as MemoryFrontmatter } from './types-D_Au9qJO.js';
2
- import { S as StorageManager } from './storage-y340tYKb.js';
2
+ import { S as StorageManager } from './storage-COL907QF.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './operator-doctor-types.js';
6
6
  import './external-wiki-config.js';
7
7
  import './types-continuity.js';
8
+ import './artifact-search.js';
8
9
  import './entity-id-normalization.js';
9
10
  import './page-versioning.js';
10
11
  import './consolidation-operator.js';
@@ -1,5 +1,5 @@
1
1
  import { M as MemoryFile } from './types-D_Au9qJO.js';
2
- import { S as StorageManager } from './storage-y340tYKb.js';
2
+ import { S as StorageManager } from './storage-COL907QF.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
5
5
  import './message-parts/index.js';
@@ -7,6 +7,7 @@ import './bounded-jsonl-state.js';
7
7
  import './operator-doctor-types.js';
8
8
  import './external-wiki-config.js';
9
9
  import './types-continuity.js';
10
+ import './artifact-search.js';
10
11
  import './entity-id-normalization.js';
11
12
  import './page-versioning.js';
12
13
  import './consolidation-operator.js';
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-W2ZSNIBP.js";
4
+ } from "./chunk-GD7UPIBG.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
- import "./chunk-IDE5AR5W.js";
7
- import "./chunk-ENTCVTQR.js";
6
+ import "./chunk-PLCZD3LG.js";
8
7
  import "./chunk-UHVXE24Y.js";
8
+ import "./chunk-ENTCVTQR.js";
9
9
  import "./chunk-SXIMQLGV.js";
10
10
  import "./chunk-S2V7RUCL.js";
11
11
  import "./chunk-J6A3CX5N.js";
12
12
  import "./chunk-3S63QIFQ.js";
13
+ import "./chunk-WRJVB3C2.js";
13
14
  import "./chunk-S2HLHAZ4.js";
14
15
  import "./chunk-SCU65EZI.js";
15
- import "./chunk-WRJVB3C2.js";
16
- import "./chunk-LDXUBPMO.js";
17
16
  import "./chunk-DM2T26WE.js";
17
+ import "./chunk-LDXUBPMO.js";
18
18
  import "./chunk-JYIJNNN3.js";
19
19
  import "./chunk-AAD2ZS6P.js";
20
20
  import "./chunk-SYUBB3WM.js";
@@ -43,15 +43,17 @@ import "./chunk-ZIKENA2C.js";
43
43
  import "./chunk-PQVCH2AE.js";
44
44
  import "./chunk-6MKAMLQL.js";
45
45
  import "./chunk-JAKIDQB2.js";
46
+ import "./chunk-Z7L72ZHL.js";
47
+ import "./chunk-4O4TKIXQ.js";
46
48
  import "./chunk-ZBJMUXZH.js";
47
49
  import "./chunk-BJMBJZ2Y.js";
48
50
  import "./chunk-UKJAGEXH.js";
49
51
  import "./chunk-FP2373TW.js";
50
- import "./chunk-ELIL2A37.js";
52
+ import "./chunk-7FGL6CGA.js";
51
53
  import "./chunk-EGGE52UU.js";
52
54
  import "./chunk-ZA53AZND.js";
53
- import "./chunk-7RJUVTVF.js";
54
55
  import "./chunk-GCASGYIO.js";
56
+ import "./chunk-7RJUVTVF.js";
55
57
  import "./chunk-BQIFZ2MP.js";
56
58
  import "./chunk-3CSX3ETE.js";
57
59
  import "./chunk-RL6NEVXT.js";
@@ -61,6 +63,7 @@ import "./chunk-P7FMDTKL.js";
61
63
  import "./chunk-2XRE6FLM.js";
62
64
  import "./chunk-EYIEWJNI.js";
63
65
  import "./chunk-JUC24CTX.js";
66
+ import "./chunk-BTTPKDIL.js";
64
67
  import "./chunk-FF4KLI5W.js";
65
68
  import "./chunk-XQ3HXAQH.js";
66
69
  import "./chunk-A6XUJE5D.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.47.1",
3
+ "version": "9.48.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",
@@ -3096,7 +3096,7 @@
3096
3096
  "core"
3097
3097
  ],
3098
3098
  "peerDependencies": {
3099
- "@remnic/coding-graph": "^9.47.1"
3099
+ "@remnic/coding-graph": "^9.48.0"
3100
3100
  },
3101
3101
  "peerDependenciesMeta": {
3102
3102
  "@remnic/coding-graph": {