@remnic/core 9.48.1 → 9.49.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 (240) hide show
  1. package/dist/access-admin-ops-surface.d.ts +6 -5
  2. package/dist/access-admin-ops-surface.js +27 -26
  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 -27
  6. package/dist/access-boundary.d.ts +6 -5
  7. package/dist/access-boundary.js +27 -26
  8. package/dist/access-cli.js +64 -63
  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 -26
  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 -26
  16. package/dist/access-http.d.ts +6 -5
  17. package/dist/access-http.js +35 -34
  18. package/dist/access-identity-continuity-surface.d.ts +5 -4
  19. package/dist/access-identity-continuity-surface.js +27 -26
  20. package/dist/access-lcm-surface.d.ts +6 -5
  21. package/dist/access-lcm-surface.js +27 -26
  22. package/dist/access-mcp.d.ts +6 -5
  23. package/dist/access-mcp.js +33 -32
  24. package/dist/access-namespace-preflight.js +27 -26
  25. package/dist/access-observe-write-surface.d.ts +6 -5
  26. package/dist/access-observe-write-surface.js +27 -26
  27. package/dist/access-offline-manifest.d.ts +5 -4
  28. package/dist/access-operations-batch.js +29 -28
  29. package/dist/access-operations.d.ts +6 -5
  30. package/dist/access-operations.js +32 -31
  31. package/dist/access-recall-concurrency.d.ts +6 -5
  32. package/dist/access-recall-concurrency.js +27 -26
  33. package/dist/access-recall-response.d.ts +6 -5
  34. package/dist/access-recall-response.js +27 -26
  35. package/dist/access-recall-surface.d.ts +6 -5
  36. package/dist/access-recall-surface.js +27 -26
  37. package/dist/access-schema.js +3 -3
  38. package/dist/{access-service-andNjwfD.d.ts → access-service-DvXOzCrM.d.ts} +3 -3
  39. package/dist/access-service-helpers.d.ts +6 -5
  40. package/dist/access-service.d.ts +6 -5
  41. package/dist/access-service.js +27 -26
  42. package/dist/access-surface-catalog.d.ts +6 -5
  43. package/dist/access-wearables-meetings-surface.d.ts +3 -2
  44. package/dist/bootstrap.d.ts +5 -4
  45. package/dist/briefing.d.ts +2 -1
  46. package/dist/briefing.js +7 -6
  47. package/dist/buffer.d.ts +2 -1
  48. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  49. package/dist/{capsule-merge-Q6AR3XL7.js → capsule-merge-6GFHWECG.js} +4 -4
  50. package/dist/causal-consolidation.js +8 -7
  51. package/dist/causal-consolidation.js.map +1 -1
  52. package/dist/{chunk-FMCHFSZF.js → chunk-2RIWJUSQ.js} +6 -6
  53. package/dist/{chunk-S55OAS5P.js → chunk-2VHLLPTX.js} +4 -4
  54. package/dist/{chunk-GWHPQOUC.js → chunk-3R6D33UF.js} +2 -2
  55. package/dist/{chunk-PELT6ADC.js → chunk-5AGR7SAI.js} +3 -3
  56. package/dist/chunk-5GINB5LC.js +13 -0
  57. package/dist/chunk-5GINB5LC.js.map +1 -0
  58. package/dist/{chunk-FJ2ND6CZ.js → chunk-5JRC6BYS.js} +10 -10
  59. package/dist/{chunk-A2TFK5PG.js → chunk-ABR2HEJO.js} +2 -2
  60. package/dist/{chunk-NXUJRXSF.js → chunk-B6KGGRUL.js} +2 -2
  61. package/dist/{chunk-PRVJH7CY.js → chunk-BMCHFWGX.js} +2 -2
  62. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  63. package/dist/{chunk-ANCC3JJH.js → chunk-C3KVFJH5.js} +2 -2
  64. package/dist/{chunk-JYPO7L3G.js → chunk-CNQQMB67.js} +2 -2
  65. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  66. package/dist/{chunk-2EJNXE53.js → chunk-ENEA47UC.js} +2 -2
  67. package/dist/{chunk-PLCZD3LG.js → chunk-EY64JLOM.js} +66 -31
  68. package/dist/chunk-EY64JLOM.js.map +1 -0
  69. package/dist/{chunk-4WBGZYZZ.js → chunk-EYAIZBLM.js} +4 -4
  70. package/dist/chunk-EYAIZBLM.js.map +1 -0
  71. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  72. package/dist/{chunk-HAYSYUAB.js → chunk-FMXJ555A.js} +2 -2
  73. package/dist/{chunk-VANZKHTN.js → chunk-G5OB4XZX.js} +4 -4
  74. package/dist/{chunk-DUEEQCTT.js → chunk-I3YHVVT4.js} +2 -2
  75. package/dist/{chunk-3JUYWPFJ.js → chunk-I4TQST3L.js} +2 -2
  76. package/dist/{chunk-HIDEBEAN.js → chunk-IPBNC77A.js} +8 -8
  77. package/dist/{chunk-45OTV7FZ.js → chunk-IXPKESVP.js} +11 -11
  78. package/dist/{chunk-KSGEGHYA.js → chunk-IZANPXMV.js} +34 -34
  79. package/dist/{chunk-IP3DHDU2.js → chunk-JFLOOTXU.js} +3 -3
  80. package/dist/{chunk-XL3TATMJ.js → chunk-JHMAYABJ.js} +4 -4
  81. package/dist/{chunk-HRMEYQRO.js → chunk-JXZ7NLYH.js} +2 -2
  82. package/dist/{chunk-53AJILXF.js → chunk-K7VKAHFE.js} +4 -4
  83. package/dist/{chunk-IJ7HK452.js → chunk-KMAP7SNQ.js} +2 -2
  84. package/dist/{chunk-D5NGH2EW.js → chunk-L6DCVUCA.js} +2 -2
  85. package/dist/{chunk-M4DMO67I.js → chunk-LQL7ARIC.js} +3 -3
  86. package/dist/{chunk-3NDN5P55.js → chunk-MXPB6PJQ.js} +2 -2
  87. package/dist/{chunk-RSPSHRZA.js → chunk-MZZR3J6M.js} +2 -2
  88. package/dist/{chunk-YLHM5BQQ.js → chunk-OLX2HJFW.js} +4 -4
  89. package/dist/{chunk-NIS256NW.js → chunk-QKD65RGL.js} +2 -2
  90. package/dist/{chunk-A4JMGKCD.js → chunk-R5IGA2NH.js} +4 -4
  91. package/dist/chunk-RBOJCG4T.js +77 -0
  92. package/dist/chunk-RBOJCG4T.js.map +1 -0
  93. package/dist/{chunk-7YKVM5H3.js → chunk-RHTO4HTL.js} +2 -2
  94. package/dist/{chunk-GD7UPIBG.js → chunk-RJV6Q2FT.js} +2 -2
  95. package/dist/{chunk-5L7PTX2Q.js → chunk-SHDZNSK4.js} +2 -2
  96. package/dist/{chunk-WOEVJKKQ.js → chunk-SMPVHGHG.js} +3 -3
  97. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  98. package/dist/{chunk-52I3YZZ6.js → chunk-ULWHRQEQ.js} +2 -2
  99. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  100. package/dist/{chunk-2P3GQVM2.js → chunk-YQIVWS7Y.js} +50 -41
  101. package/dist/chunk-YQIVWS7Y.js.map +1 -0
  102. package/dist/{chunk-G2RBWVFQ.js → chunk-Z4U6U3M3.js} +2 -2
  103. package/dist/{chunk-EZNXW27Q.js → chunk-Z5UC3OKB.js} +6 -6
  104. package/dist/{cli-p_WmVo2h.d.ts → cli-PyAUaozE.d.ts} +3 -3
  105. package/dist/cli.d.ts +7 -6
  106. package/dist/cli.js +52 -51
  107. package/dist/compounding/engine.d.ts +2 -1
  108. package/dist/compounding/engine.js +7 -6
  109. package/dist/connectors/codex-materialize-runner.js +7 -6
  110. package/dist/connectors/index.js +7 -6
  111. package/dist/consolidation-provenance-check.d.ts +2 -1
  112. package/dist/consolidation-provenance-check.js +4 -4
  113. package/dist/consolidation-undo.d.ts +2 -1
  114. package/dist/consolidation-undo.js +3 -3
  115. package/dist/contradiction/index.d.ts +2 -1
  116. package/dist/convergence-refresh.d.ts +2 -1
  117. package/dist/convergence-refresh.js +9 -8
  118. package/dist/corpus-read-cancellation.d.ts +38 -0
  119. package/dist/corpus-read-cancellation.js +9 -0
  120. package/dist/corpus-read-cancellation.js.map +1 -0
  121. package/dist/corpus-watermark.js +16 -15
  122. package/dist/dashboard-runtime.js +2 -2
  123. package/dist/entity-retrieval.d.ts +2 -1
  124. package/dist/entity-retrieval.js +7 -6
  125. package/dist/explicit-capture.d.ts +5 -4
  126. package/dist/external-wiki-access.d.ts +6 -5
  127. package/dist/external-wiki-access.js +28 -27
  128. package/dist/external-wiki-mcp-tools.d.ts +6 -5
  129. package/dist/extraction.js +8 -7
  130. package/dist/in-flight-reads.d.ts +46 -2
  131. package/dist/in-flight-reads.js +5 -3
  132. package/dist/index.d.ts +11 -10
  133. package/dist/index.js +68 -67
  134. package/dist/lcm/index.js +3 -3
  135. package/dist/maintenance/memory-governance.js +7 -6
  136. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -1
  137. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -6
  138. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -1
  139. package/dist/maintenance/rebuild-memory-projection.js +8 -7
  140. package/dist/{maintenance-BfcuwfJS.d.ts → maintenance-j7sfNQdK.d.ts} +1 -1
  141. package/dist/mcp-memory-inspector-app.d.ts +6 -5
  142. package/dist/memory-corpus-version.js +2 -2
  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 +15 -14
  146. package/dist/namespaces/search.js +7 -7
  147. package/dist/namespaces/storage.d.ts +2 -1
  148. package/dist/namespaces/storage.js +7 -6
  149. package/dist/operator-doctor-corpus.js +17 -16
  150. package/dist/operator-toolkit.d.ts +2 -1
  151. package/dist/operator-toolkit.js +22 -21
  152. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -1
  153. package/dist/orchestration/maintenance.d.ts +3 -2
  154. package/dist/orchestration/maintenance.js +12 -11
  155. package/dist/{orchestrator-B7nLo4z1.d.ts → orchestrator-Haa9xVPV.d.ts} +3 -3
  156. package/dist/orchestrator.d.ts +5 -4
  157. package/dist/orchestrator.js +64 -63
  158. package/dist/page-versioning.js +3 -3
  159. package/dist/search/factory.js +6 -6
  160. package/dist/search/index.js +11 -11
  161. package/dist/search/lancedb-backend.js +2 -2
  162. package/dist/search/meilisearch-backend.js +2 -2
  163. package/dist/search/orama-backend.js +2 -2
  164. package/dist/semantic-consolidation.js +8 -7
  165. package/dist/semantic-rule-promotion.js +7 -6
  166. package/dist/semantic-rule-verifier.js +7 -6
  167. package/dist/{service-B5W5IYCx.d.ts → service-Da_BI4S8.d.ts} +1 -1
  168. package/dist/source-agent-qualifier.js +7 -6
  169. package/dist/{storage-COL907QF.d.ts → storage-D1apCiCS.d.ts} +4 -3
  170. package/dist/storage.d.ts +2 -1
  171. package/dist/storage.js +6 -5
  172. package/dist/temporal-supersession.d.ts +2 -1
  173. package/dist/tier-migration.d.ts +2 -1
  174. package/dist/transfer/backup.js +2 -2
  175. package/dist/transfer/capsule-export.js +2 -2
  176. package/dist/transfer/capsule-import.js +5 -5
  177. package/dist/verified-recall.js +7 -6
  178. package/package.json +2 -2
  179. package/src/corpus-read-cancellation.ts +42 -0
  180. package/src/entity-retrieval.ts +4 -4
  181. package/src/in-flight-reads.ts +119 -6
  182. package/src/orchestration/namespace-read-fanout.ts +13 -2
  183. package/src/orchestration/recall-internal-deps.ts +2 -0
  184. package/src/orchestration/recall-internal.ts +4 -1
  185. package/src/orchestration/recall-search-pipeline.ts +2 -0
  186. package/src/orchestration/recall-search-prefilter.ts +5 -1
  187. package/src/orchestrator.ts +5 -5
  188. package/src/storage/entity-store.ts +9 -2
  189. package/src/storage/memory-read-store.ts +33 -4
  190. package/src/storage-contract/corpus-read-cancellation.test.ts +408 -0
  191. package/src/storage.ts +61 -19
  192. package/dist/chunk-2P3GQVM2.js.map +0 -1
  193. package/dist/chunk-4WBGZYZZ.js.map +0 -1
  194. package/dist/chunk-PDJTHRAW.js +0 -36
  195. package/dist/chunk-PDJTHRAW.js.map +0 -1
  196. package/dist/chunk-PLCZD3LG.js.map +0 -1
  197. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  198. /package/dist/{capsule-merge-Q6AR3XL7.js.map → capsule-merge-6GFHWECG.js.map} +0 -0
  199. /package/dist/{chunk-FMCHFSZF.js.map → chunk-2RIWJUSQ.js.map} +0 -0
  200. /package/dist/{chunk-S55OAS5P.js.map → chunk-2VHLLPTX.js.map} +0 -0
  201. /package/dist/{chunk-GWHPQOUC.js.map → chunk-3R6D33UF.js.map} +0 -0
  202. /package/dist/{chunk-PELT6ADC.js.map → chunk-5AGR7SAI.js.map} +0 -0
  203. /package/dist/{chunk-FJ2ND6CZ.js.map → chunk-5JRC6BYS.js.map} +0 -0
  204. /package/dist/{chunk-A2TFK5PG.js.map → chunk-ABR2HEJO.js.map} +0 -0
  205. /package/dist/{chunk-NXUJRXSF.js.map → chunk-B6KGGRUL.js.map} +0 -0
  206. /package/dist/{chunk-PRVJH7CY.js.map → chunk-BMCHFWGX.js.map} +0 -0
  207. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  208. /package/dist/{chunk-ANCC3JJH.js.map → chunk-C3KVFJH5.js.map} +0 -0
  209. /package/dist/{chunk-JYPO7L3G.js.map → chunk-CNQQMB67.js.map} +0 -0
  210. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  211. /package/dist/{chunk-2EJNXE53.js.map → chunk-ENEA47UC.js.map} +0 -0
  212. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  213. /package/dist/{chunk-HAYSYUAB.js.map → chunk-FMXJ555A.js.map} +0 -0
  214. /package/dist/{chunk-VANZKHTN.js.map → chunk-G5OB4XZX.js.map} +0 -0
  215. /package/dist/{chunk-DUEEQCTT.js.map → chunk-I3YHVVT4.js.map} +0 -0
  216. /package/dist/{chunk-3JUYWPFJ.js.map → chunk-I4TQST3L.js.map} +0 -0
  217. /package/dist/{chunk-HIDEBEAN.js.map → chunk-IPBNC77A.js.map} +0 -0
  218. /package/dist/{chunk-45OTV7FZ.js.map → chunk-IXPKESVP.js.map} +0 -0
  219. /package/dist/{chunk-KSGEGHYA.js.map → chunk-IZANPXMV.js.map} +0 -0
  220. /package/dist/{chunk-IP3DHDU2.js.map → chunk-JFLOOTXU.js.map} +0 -0
  221. /package/dist/{chunk-XL3TATMJ.js.map → chunk-JHMAYABJ.js.map} +0 -0
  222. /package/dist/{chunk-HRMEYQRO.js.map → chunk-JXZ7NLYH.js.map} +0 -0
  223. /package/dist/{chunk-53AJILXF.js.map → chunk-K7VKAHFE.js.map} +0 -0
  224. /package/dist/{chunk-IJ7HK452.js.map → chunk-KMAP7SNQ.js.map} +0 -0
  225. /package/dist/{chunk-D5NGH2EW.js.map → chunk-L6DCVUCA.js.map} +0 -0
  226. /package/dist/{chunk-M4DMO67I.js.map → chunk-LQL7ARIC.js.map} +0 -0
  227. /package/dist/{chunk-3NDN5P55.js.map → chunk-MXPB6PJQ.js.map} +0 -0
  228. /package/dist/{chunk-RSPSHRZA.js.map → chunk-MZZR3J6M.js.map} +0 -0
  229. /package/dist/{chunk-YLHM5BQQ.js.map → chunk-OLX2HJFW.js.map} +0 -0
  230. /package/dist/{chunk-NIS256NW.js.map → chunk-QKD65RGL.js.map} +0 -0
  231. /package/dist/{chunk-A4JMGKCD.js.map → chunk-R5IGA2NH.js.map} +0 -0
  232. /package/dist/{chunk-7YKVM5H3.js.map → chunk-RHTO4HTL.js.map} +0 -0
  233. /package/dist/{chunk-GD7UPIBG.js.map → chunk-RJV6Q2FT.js.map} +0 -0
  234. /package/dist/{chunk-5L7PTX2Q.js.map → chunk-SHDZNSK4.js.map} +0 -0
  235. /package/dist/{chunk-WOEVJKKQ.js.map → chunk-SMPVHGHG.js.map} +0 -0
  236. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  237. /package/dist/{chunk-52I3YZZ6.js.map → chunk-ULWHRQEQ.js.map} +0 -0
  238. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  239. /package/dist/{chunk-G2RBWVFQ.js.map → chunk-Z4U6U3M3.js.map} +0 -0
  240. /package/dist/{chunk-EZNXW27Q.js.map → chunk-Z5UC3OKB.js.map} +0 -0
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-D24OXEPB.js";
10
10
  import {
11
11
  validateRequest
12
- } from "./chunk-NIS256NW.js";
12
+ } from "./chunk-QKD65RGL.js";
13
13
  import {
14
14
  REMNIC_CHATGPT_MEMORY_INSPECTOR_MIME_TYPE,
15
15
  REMNIC_CHATGPT_MEMORY_INSPECTOR_TOOL,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-YYQAKIDJ.js";
26
26
  import {
27
27
  getOperation
28
- } from "./chunk-45OTV7FZ.js";
28
+ } from "./chunk-IXPKESVP.js";
29
29
  import {
30
30
  assertOperationAllowed,
31
31
  capabilityAllowsOp,
@@ -3761,4 +3761,4 @@ export {
3761
3761
  MCP_SUPPORTED_PROTOCOL_VERSIONS,
3762
3762
  EngramMcpServer
3763
3763
  };
3764
- //# sourceMappingURL=chunk-IP3DHDU2.js.map
3764
+ //# sourceMappingURL=chunk-JFLOOTXU.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- scanMemoryDir
3
- } from "./chunk-W7IGLX4G.js";
4
1
  import {
5
2
  isSearchAborted,
6
3
  throwIfSearchAborted
7
4
  } from "./chunk-GUMZC2BO.js";
5
+ import {
6
+ scanMemoryDir
7
+ } from "./chunk-W7IGLX4G.js";
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
@@ -499,4 +499,4 @@ function isMissingVectorProviderColumnError(err) {
499
499
  export {
500
500
  LanceDbBackend
501
501
  };
502
- //# sourceMappingURL=chunk-XL3TATMJ.js.map
502
+ //# sourceMappingURL=chunk-JHMAYABJ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  OPERATION_NAMES,
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace
5
- } from "./chunk-45OTV7FZ.js";
5
+ } from "./chunk-IXPKESVP.js";
6
6
  import {
7
7
  assertOperationAuthorizationAllowed
8
8
  } from "./chunk-MZWSOLMT.js";
@@ -49,4 +49,4 @@ export {
49
49
  probeOperationAuthorization,
50
50
  authorizationProbeNamespaces
51
51
  };
52
- //# sourceMappingURL=chunk-HRMEYQRO.js.map
52
+ //# sourceMappingURL=chunk-JXZ7NLYH.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  externalWikiSearchOperation
3
- } from "./chunk-NXUJRXSF.js";
3
+ } from "./chunk-B6KGGRUL.js";
4
4
  import {
5
5
  memoryStoreRequestSchema
6
- } from "./chunk-NIS256NW.js";
6
+ } from "./chunk-QKD65RGL.js";
7
7
  import {
8
8
  CorrectionContractError,
9
9
  DECISION_SUBCOMMANDS,
10
10
  DELTA_SUBCOMMANDS,
11
11
  defineOperation,
12
12
  isCodegraphToolName
13
- } from "./chunk-45OTV7FZ.js";
13
+ } from "./chunk-IXPKESVP.js";
14
14
  import {
15
15
  serializeMutations,
16
16
  withHeldFileLock
@@ -1818,4 +1818,4 @@ export {
1818
1818
  codegraphIngestTracesOperation,
1819
1819
  REGISTERED_OPERATIONS
1820
1820
  };
1821
- //# sourceMappingURL=chunk-53AJILXF.js.map
1821
+ //# sourceMappingURL=chunk-K7VKAHFE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  deleteInFlightReadsForDir
3
- } from "./chunk-PDJTHRAW.js";
3
+ } from "./chunk-RBOJCG4T.js";
4
4
  import {
5
5
  invalidateDerivedAndGlobalForDir
6
6
  } from "./chunk-XMMESCPD.js";
@@ -24,4 +24,4 @@ export {
24
24
  MEMORY_CORPUS_VERSION_SENTINEL,
25
25
  bumpMemoryCorpusVersionForDir
26
26
  };
27
- //# sourceMappingURL=chunk-IJ7HK452.js.map
27
+ //# sourceMappingURL=chunk-KMAP7SNQ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot,
3
3
  resolveNamespaceStorageRoot
4
- } from "./chunk-ANCC3JJH.js";
4
+ } from "./chunk-C3KVFJH5.js";
5
5
  import {
6
6
  getConfiguredNamespaces
7
7
  } from "./chunk-YN6ASZUG.js";
@@ -2204,4 +2204,4 @@ export {
2204
2204
  runNamespaceMaintenancePlan,
2205
2205
  runNamespaceMaintenanceBatchPlan
2206
2206
  };
2207
- //# sourceMappingURL=chunk-D5NGH2EW.js.map
2207
+ //# sourceMappingURL=chunk-L6DCVUCA.js.map
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  listMemoryGovernanceRuns,
9
9
  readMemoryGovernanceRunArtifact
10
- } from "./chunk-WOEVJKKQ.js";
10
+ } from "./chunk-SMPVHGHG.js";
11
11
  import {
12
12
  StorageManager
13
- } from "./chunk-PLCZD3LG.js";
13
+ } from "./chunk-EY64JLOM.js";
14
14
  import {
15
15
  normalizeProjectionPreview,
16
16
  normalizeProjectionTags
@@ -1001,4 +1001,4 @@ export {
1001
1001
  verifyMemoryProjection,
1002
1002
  repairMemoryProjection
1003
1003
  };
1004
- //# sourceMappingURL=chunk-M4DMO67I.js.map
1004
+ //# sourceMappingURL=chunk-LQL7ARIC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-PLCZD3LG.js";
3
+ } from "./chunk-EY64JLOM.js";
4
4
  import {
5
5
  normalizeEntityName
6
6
  } from "./chunk-YXZG5TVN.js";
@@ -958,4 +958,4 @@ export {
958
958
  resolveBriefingSaveDir,
959
959
  briefingFilename
960
960
  };
961
- //# sourceMappingURL=chunk-3NDN5P55.js.map
961
+ //# sourceMappingURL=chunk-MXPB6PJQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveCorpusNamespaceRoots
3
- } from "./chunk-JYPO7L3G.js";
3
+ } from "./chunk-CNQQMB67.js";
4
4
  import {
5
5
  normalizeNamespaceIdentity
6
6
  } from "./chunk-EGGE52UU.js";
@@ -200,4 +200,4 @@ async function readAggregateExtractionWatermark(options) {
200
200
  export {
201
201
  readAggregateExtractionWatermark
202
202
  };
203
- //# sourceMappingURL=chunk-RSPSHRZA.js.map
203
+ //# sourceMappingURL=chunk-MZZR3J6M.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- scanMemoryDir
3
- } from "./chunk-W7IGLX4G.js";
4
1
  import {
5
2
  isSearchAborted,
6
3
  throwIfSearchAborted
7
4
  } from "./chunk-GUMZC2BO.js";
5
+ import {
6
+ scanMemoryDir
7
+ } from "./chunk-W7IGLX4G.js";
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
@@ -613,4 +613,4 @@ export {
613
613
  resolveOramaCollectionDbFilePath,
614
614
  OramaBackend
615
615
  };
616
- //# sourceMappingURL=chunk-YLHM5BQQ.js.map
616
+ //# sourceMappingURL=chunk-OLX2HJFW.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isValidCapsuleSince
3
- } from "./chunk-KQAFEZQX.js";
3
+ } from "./chunk-VDX2J7OX.js";
4
4
  import {
5
5
  CAPSULE_ID_PATTERN
6
6
  } from "./chunk-WEHSQBFR.js";
@@ -475,4 +475,4 @@ export {
475
475
  actionConfidenceRequestSchema,
476
476
  validateRequest
477
477
  };
478
- //# sourceMappingURL=chunk-NIS256NW.js.map
478
+ //# sourceMappingURL=chunk-QKD65RGL.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createVersion
3
- } from "./chunk-7YKVM5H3.js";
3
+ } from "./chunk-RHTO4HTL.js";
4
4
  import {
5
5
  bumpMemoryCorpusVersionForDir
6
- } from "./chunk-IJ7HK452.js";
6
+ } from "./chunk-KMAP7SNQ.js";
7
7
  import {
8
8
  HistoricalEntityCanonicalIdCache,
9
9
  canonicalizeEntityRefFrontmatter,
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  decryptCapsuleFileInMemory,
21
21
  isEncryptedCapsuleFile
22
- } from "./chunk-X7Y7WX73.js";
22
+ } from "./chunk-DQEMWVMT.js";
23
23
  import {
24
24
  assertIsDirectoryNotSymlink,
25
25
  assertRealpathInsideRoot,
@@ -294,4 +294,4 @@ function mintForkId(capsuleId, originalId, now) {
294
294
  export {
295
295
  importCapsule
296
296
  };
297
- //# sourceMappingURL=chunk-A4JMGKCD.js.map
297
+ //# sourceMappingURL=chunk-R5IGA2NH.js.map
@@ -0,0 +1,77 @@
1
+ // src/in-flight-reads.ts
2
+ var inFlightReadsByKey = /* @__PURE__ */ new Map();
3
+ var DIR_SEP = "\0";
4
+ function composeKey(baseDir, keyId) {
5
+ return `${baseDir}${DIR_SEP}${keyId}`;
6
+ }
7
+ function trackWaiter(entry, callerSignal) {
8
+ let left = false;
9
+ const leave = () => {
10
+ if (left) return;
11
+ left = true;
12
+ callerSignal?.removeEventListener("abort", onAbort);
13
+ entry.waiters -= 1;
14
+ if (entry.waiters <= 0) entry.cancel?.();
15
+ };
16
+ function onAbort() {
17
+ leave();
18
+ }
19
+ callerSignal?.addEventListener("abort", onAbort, { once: true });
20
+ return { leave };
21
+ }
22
+ function attachInFlightReader(baseDir, keyId = "", callerSignal) {
23
+ const entry = inFlightReadsByKey.get(composeKey(baseDir, keyId));
24
+ if (entry === void 0) return void 0;
25
+ entry.waiters += 1;
26
+ return { read: entry.read, waiter: trackWaiter(entry, callerSignal) };
27
+ }
28
+ function beginCoalescedScan(baseDir, keyId, callerSignal) {
29
+ const controller = new AbortController();
30
+ let waiter;
31
+ return {
32
+ scanSignal: controller.signal,
33
+ arm(read) {
34
+ const entry = {
35
+ read,
36
+ waiters: 1,
37
+ cancel: () => {
38
+ deleteInFlightRead(baseDir, keyId, read);
39
+ controller.abort();
40
+ }
41
+ };
42
+ inFlightReadsByKey.set(composeKey(baseDir, keyId), entry);
43
+ waiter = trackWaiter(entry, callerSignal);
44
+ },
45
+ leave() {
46
+ waiter?.leave();
47
+ }
48
+ };
49
+ }
50
+ function setInFlightRead(baseDir, keyId, read) {
51
+ inFlightReadsByKey.set(composeKey(baseDir, keyId), { read, waiters: 1 });
52
+ }
53
+ function deleteInFlightRead(baseDir, keyId = "", expected) {
54
+ const key = composeKey(baseDir, keyId);
55
+ if (expected === void 0 || inFlightReadsByKey.get(key)?.read === expected) {
56
+ inFlightReadsByKey.delete(key);
57
+ }
58
+ }
59
+ function deleteInFlightReadsForDir(baseDir) {
60
+ const prefix = `${baseDir}${DIR_SEP}`;
61
+ for (const key of inFlightReadsByKey.keys()) {
62
+ if (key.startsWith(prefix)) inFlightReadsByKey.delete(key);
63
+ }
64
+ }
65
+ function clearInFlightReads() {
66
+ inFlightReadsByKey.clear();
67
+ }
68
+
69
+ export {
70
+ attachInFlightReader,
71
+ beginCoalescedScan,
72
+ setInFlightRead,
73
+ deleteInFlightRead,
74
+ deleteInFlightReadsForDir,
75
+ clearInFlightReads
76
+ };
77
+ //# sourceMappingURL=chunk-RBOJCG4T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/in-flight-reads.ts"],"sourcesContent":["import type { MemoryFile } from \"./types.js\";\n\n/**\n * In-flight readAllMemories() dedup registry (issue #1902).\n *\n * NOT a cache layer — it holds transient per-(directory, secure-store key) scan\n * promises so temporally-overlapping reads collapse onto ONE disk scan; the slot\n * is deleted when the promise settles. It lives in its own module (not\n * memory-cache.ts) so it is not swept by the ALL_CACHE_LAYERS invalidation\n * contract, yet remains importable by both StorageManager and the out-of-band\n * corpus-bump helper (memory-corpus-version.ts).\n *\n * Keyed by baseDir AND secure-store key identity (Codex P1 / Cursor Medium):\n * an unlocked manager's decrypted scan must NOT be handed to a locked or\n * differently-keyed manager for the same dir — that would bypass the keyId\n * isolation getCachedMemories enforces. Locked/plaintext stores use keyId \"\".\n *\n * Since issue #2307 the registry also owns the scan's CANCELLATION, because\n * whether a shared scan may be cancelled is purely a question of who is still\n * attached to it — see `beginCoalescedScan`.\n */\ntype InFlightEntry = {\n read: Promise<MemoryFile[]>;\n /** Readers still awaiting this scan. At zero the scan has no reason to finish. */\n waiters: number;\n /** Withdraw the slot and abort the scan. Absent for an uncancellable scan. */\n cancel?: () => void;\n};\n\nconst inFlightReadsByKey = new Map<string, InFlightEntry>();\n\nconst DIR_SEP = \"\\u0000\";\n\nfunction composeKey(baseDir: string, keyId: string): string {\n return `${baseDir}${DIR_SEP}${keyId}`;\n}\n\n/**\n * A reader's attachment to a shared scan. `leave()` is idempotent per reader and\n * must be called when that reader stops waiting — because its own signal fired, or\n * because the scan settled.\n */\nexport interface CoalescedScanWaiter {\n leave(): void;\n}\n\n/**\n * Cancellation lifecycle for a coalesced corpus scan (issue #2307).\n *\n * The rule is reference counting, not ownership: **the scan is cancelled when its\n * LAST waiter leaves, and never before.** One reader can therefore not cancel work\n * another still needs, and two readers that both give up do not leave a full disk\n * scan running for nobody — which was the abandoned I/O this whole change exists to\n * remove.\n *\n * On the last leave the slot is withdrawn from the registry BEFORE the controller\n * fires, so a reader arriving later cannot attach to a promise already doomed to\n * reject with an `AbortError` it never asked for; it starts a fresh scan instead.\n */\nexport interface CoalescedScan extends CoalescedScanWaiter {\n /** The signal the shared scan itself observes. */\n readonly scanSignal: AbortSignal;\n /** Publish the scan to the registry and arm cancellation. */\n arm(read: Promise<MemoryFile[]>): void;\n}\n\n/** Build the per-reader `leave` closure: decrement once, cancel at zero. */\nfunction trackWaiter(entry: InFlightEntry, callerSignal?: AbortSignal): CoalescedScanWaiter {\n let left = false;\n const leave = () => {\n if (left) return;\n left = true;\n callerSignal?.removeEventListener(\"abort\", onAbort);\n entry.waiters -= 1;\n if (entry.waiters <= 0) entry.cancel?.();\n };\n // Named so the listener can be removed again; `once` alone would leak the\n // reference for a reader that leaves normally.\n function onAbort() {\n leave();\n }\n callerSignal?.addEventListener(\"abort\", onAbort, { once: true });\n return { leave };\n}\n\n/**\n * Attach to an existing scan for (baseDir, keyId), or `undefined` when none is in\n * flight. The caller MUST `leave()` once it stops awaiting the returned promise.\n */\nexport function attachInFlightReader(\n baseDir: string,\n keyId = \"\",\n callerSignal?: AbortSignal,\n): { read: Promise<MemoryFile[]>; waiter: CoalescedScanWaiter } | undefined {\n const entry = inFlightReadsByKey.get(composeKey(baseDir, keyId));\n if (entry === undefined) return undefined;\n entry.waiters += 1;\n return { read: entry.read, waiter: trackWaiter(entry, callerSignal) };\n}\n\n/** Start a cancellable coalesced scan as its first waiter. */\nexport function beginCoalescedScan(\n baseDir: string,\n keyId: string,\n callerSignal?: AbortSignal,\n): CoalescedScan {\n const controller = new AbortController();\n let waiter: CoalescedScanWaiter | undefined;\n return {\n scanSignal: controller.signal,\n arm(read: Promise<MemoryFile[]>): void {\n // `waiters: 1` IS the starter; trackWaiter only builds its leave closure\n // (attaching readers do their own increment).\n const entry: InFlightEntry = {\n read,\n waiters: 1,\n cancel: () => {\n deleteInFlightRead(baseDir, keyId, read);\n controller.abort();\n },\n };\n inFlightReadsByKey.set(composeKey(baseDir, keyId), entry);\n waiter = trackWaiter(entry, callerSignal);\n },\n leave(): void {\n waiter?.leave();\n },\n };\n}\n\n/**\n * Register a scan promise directly, with no cancellation attached.\n *\n * For callers that own a promise rather than a scan they can abort — tests that\n * seed a stale in-flight read, and any future producer outside `beginCoalescedScan`.\n * The entry has no `cancel`, so waiters leaving is a no-op: an externally-owned\n * promise is not this module's to abort.\n */\nexport function setInFlightRead(\n baseDir: string,\n keyId: string,\n read: Promise<MemoryFile[]>,\n): void {\n inFlightReadsByKey.set(composeKey(baseDir, keyId), { read, waiters: 1 });\n}\n\n/**\n * Delete the in-flight slot for one (baseDir, keyId). When `expected` is given,\n * only deletes if the slot still holds that exact promise (owner-only clear).\n */\nexport function deleteInFlightRead(\n baseDir: string,\n keyId = \"\",\n expected?: Promise<MemoryFile[]>,\n): void {\n const key = composeKey(baseDir, keyId);\n if (expected === undefined || inFlightReadsByKey.get(key)?.read === expected) {\n inFlightReadsByKey.delete(key);\n }\n}\n\n/**\n * Drop EVERY in-flight slot for `baseDir` across all secure-store identities.\n * Used by mutations / invalidation / out-of-band corpus bumps: after the corpus\n * changes, no reader of any key identity may attach to a pre-mutation scan.\n */\nexport function deleteInFlightReadsForDir(baseDir: string): void {\n const prefix = `${baseDir}${DIR_SEP}`;\n for (const key of inFlightReadsByKey.keys()) {\n if (key.startsWith(prefix)) inFlightReadsByKey.delete(key);\n }\n}\n\nexport function clearInFlightReads(): void {\n inFlightReadsByKey.clear();\n}\n"],"mappings":";AA6BA,IAAM,qBAAqB,oBAAI,IAA2B;AAE1D,IAAM,UAAU;AAEhB,SAAS,WAAW,SAAiB,OAAuB;AAC1D,SAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK;AACrC;AAgCA,SAAS,YAAY,OAAsB,cAAiD;AAC1F,MAAI,OAAO;AACX,QAAM,QAAQ,MAAM;AAClB,QAAI,KAAM;AACV,WAAO;AACP,kBAAc,oBAAoB,SAAS,OAAO;AAClD,UAAM,WAAW;AACjB,QAAI,MAAM,WAAW,EAAG,OAAM,SAAS;AAAA,EACzC;AAGA,WAAS,UAAU;AACjB,UAAM;AAAA,EACR;AACA,gBAAc,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAC/D,SAAO,EAAE,MAAM;AACjB;AAMO,SAAS,qBACd,SACA,QAAQ,IACR,cAC0E;AAC1E,QAAM,QAAQ,mBAAmB,IAAI,WAAW,SAAS,KAAK,CAAC;AAC/D,MAAI,UAAU,OAAW,QAAO;AAChC,QAAM,WAAW;AACjB,SAAO,EAAE,MAAM,MAAM,MAAM,QAAQ,YAAY,OAAO,YAAY,EAAE;AACtE;AAGO,SAAS,mBACd,SACA,OACA,cACe;AACf,QAAM,aAAa,IAAI,gBAAgB;AACvC,MAAI;AACJ,SAAO;AAAA,IACL,YAAY,WAAW;AAAA,IACvB,IAAI,MAAmC;AAGrC,YAAM,QAAuB;AAAA,QAC3B;AAAA,QACA,SAAS;AAAA,QACT,QAAQ,MAAM;AACZ,6BAAmB,SAAS,OAAO,IAAI;AACvC,qBAAW,MAAM;AAAA,QACnB;AAAA,MACF;AACA,yBAAmB,IAAI,WAAW,SAAS,KAAK,GAAG,KAAK;AACxD,eAAS,YAAY,OAAO,YAAY;AAAA,IAC1C;AAAA,IACA,QAAc;AACZ,cAAQ,MAAM;AAAA,IAChB;AAAA,EACF;AACF;AAUO,SAAS,gBACd,SACA,OACA,MACM;AACN,qBAAmB,IAAI,WAAW,SAAS,KAAK,GAAG,EAAE,MAAM,SAAS,EAAE,CAAC;AACzE;AAMO,SAAS,mBACd,SACA,QAAQ,IACR,UACM;AACN,QAAM,MAAM,WAAW,SAAS,KAAK;AACrC,MAAI,aAAa,UAAa,mBAAmB,IAAI,GAAG,GAAG,SAAS,UAAU;AAC5E,uBAAmB,OAAO,GAAG;AAAA,EAC/B;AACF;AAOO,SAAS,0BAA0B,SAAuB;AAC/D,QAAM,SAAS,GAAG,OAAO,GAAG,OAAO;AACnC,aAAW,OAAO,mBAAmB,KAAK,GAAG;AAC3C,QAAI,IAAI,WAAW,MAAM,EAAG,oBAAmB,OAAO,GAAG;AAAA,EAC3D;AACF;AAEO,SAAS,qBAA2B;AACzC,qBAAmB,MAAM;AAC3B;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  bumpMemoryCorpusVersionForDir
3
- } from "./chunk-IJ7HK452.js";
3
+ } from "./chunk-KMAP7SNQ.js";
4
4
  import {
5
5
  pathMayCarryEntityRefs,
6
6
  requestEntityCanonicalIdReconcile,
@@ -281,4 +281,4 @@ export {
281
281
  revertToVersion,
282
282
  diffVersions
283
283
  };
284
- //# sourceMappingURL=chunk-7YKVM5H3.js.map
284
+ //# sourceMappingURL=chunk-RHTO4HTL.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-B7RWBZXW.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-PLCZD3LG.js";
6
+ } from "./chunk-EY64JLOM.js";
7
7
  import {
8
8
  getCachedEpisodeMap,
9
9
  setCachedEpisodeMap
@@ -109,4 +109,4 @@ export {
109
109
  compareVerifiedEpisodeResults,
110
110
  searchVerifiedEpisodes
111
111
  };
112
- //# sourceMappingURL=chunk-GD7UPIBG.js.map
112
+ //# sourceMappingURL=chunk-RJV6Q2FT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-PLCZD3LG.js";
3
+ } from "./chunk-EY64JLOM.js";
4
4
  import {
5
5
  getCachedRuleMemories,
6
6
  setCachedRuleMemories
@@ -119,4 +119,4 @@ export {
119
119
  compareVerifiedSemanticRuleResults,
120
120
  searchVerifiedSemanticRules
121
121
  };
122
- //# sourceMappingURL=chunk-5L7PTX2Q.js.map
122
+ //# sourceMappingURL=chunk-SHDZNSK4.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-PLCZD3LG.js";
3
+ } from "./chunk-EY64JLOM.js";
4
4
  import {
5
5
  bumpMemoryCorpusVersionForDir
6
- } from "./chunk-IJ7HK452.js";
6
+ } from "./chunk-KMAP7SNQ.js";
7
7
  import {
8
8
  requestEntityCanonicalIdReconcile
9
9
  } from "./chunk-NZBZ7IS2.js";
@@ -759,4 +759,4 @@ export {
759
759
  listMemoryGovernanceRuns,
760
760
  readMemoryGovernanceRunArtifact
761
761
  };
762
- //# sourceMappingURL=chunk-WOEVJKKQ.js.map
762
+ //# sourceMappingURL=chunk-SMPVHGHG.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- appendRecallAuditEntry
3
- } from "./chunk-LBLXEFWK.js";
4
1
  import {
5
2
  detectRecallAnomalies
6
3
  } from "./chunk-RFYAYKTD.js";
4
+ import {
5
+ appendRecallAuditEntry
6
+ } from "./chunk-LBLXEFWK.js";
7
7
 
8
8
  // src/access-audit.ts
9
9
  var AccessAuditAdapter = class {
@@ -62,4 +62,4 @@ var AccessAuditAdapter = class {
62
62
  export {
63
63
  AccessAuditAdapter
64
64
  };
65
- //# sourceMappingURL=chunk-7K5Q6COX.js.map
65
+ //# sourceMappingURL=chunk-TVVEYCNW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KJTKLXTH.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-PLCZD3LG.js";
6
+ } from "./chunk-EY64JLOM.js";
7
7
  import {
8
8
  copyExistingFileToBackup,
9
9
  writeFileAtomically
@@ -260,4 +260,4 @@ export {
260
260
  backupExistingLedger,
261
261
  rebuildMemoryLifecycleLedger
262
262
  };
263
- //# sourceMappingURL=chunk-52I3YZZ6.js.map
263
+ //# sourceMappingURL=chunk-ULWHRQEQ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-WEHSQBFR.js";
7
7
  import {
8
8
  encryptCapsuleFile
9
- } from "./chunk-X7Y7WX73.js";
9
+ } from "./chunk-DQEMWVMT.js";
10
10
  import {
11
11
  CAPSULE_SCHEMA_VERSION,
12
12
  EXPORT_FORMAT
@@ -261,4 +261,4 @@ export {
261
261
  exportCapsule,
262
262
  isValidCapsuleSince
263
263
  };
264
- //# sourceMappingURL=chunk-KQAFEZQX.js.map
264
+ //# sourceMappingURL=chunk-VDX2J7OX.js.map