@remnic/core 10.0.76 → 10.0.78

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 (249) hide show
  1. package/dist/access-admin-ops-surface.js +27 -27
  2. package/dist/access-authorization-probe.js +28 -28
  3. package/dist/access-boundary.js +27 -27
  4. package/dist/access-cli.js +78 -77
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +27 -27
  7. package/dist/access-http-briefing.js +28 -28
  8. package/dist/access-http-query.js +29 -29
  9. package/dist/access-http.js +45 -45
  10. package/dist/access-identity-continuity-surface.js +27 -27
  11. package/dist/access-lcm-surface.js +27 -27
  12. package/dist/access-mcp.js +37 -37
  13. package/dist/access-namespace-preflight.js +27 -27
  14. package/dist/access-observe-helpers.d.ts.map +1 -1
  15. package/dist/access-observe-helpers.js +1 -1
  16. package/dist/access-observe-write-category.js +5 -5
  17. package/dist/access-observe-write-surface.js +27 -27
  18. package/dist/access-operations-batch.js +29 -29
  19. package/dist/access-operations.js +36 -36
  20. package/dist/access-recall-concurrency.js +27 -27
  21. package/dist/access-recall-response.js +27 -27
  22. package/dist/access-recall-surface.js +27 -27
  23. package/dist/access-schema.js +4 -4
  24. package/dist/access-service.js +27 -27
  25. package/dist/access-surface-catalog.js +29 -29
  26. package/dist/active-recall.js +7 -7
  27. package/dist/briefing.js +8 -8
  28. package/dist/calibration.js +1 -1
  29. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  30. package/dist/causal-consolidation.js +9 -9
  31. package/dist/{chunk-Z3CKK5RR.js → chunk-2XG7QECM.js} +3 -3
  32. package/dist/{chunk-BZTA7DR4.js → chunk-35RSL5B4.js} +3 -3
  33. package/dist/{chunk-3GGCMRO7.js → chunk-3RYP4OTZ.js} +2 -2
  34. package/dist/{chunk-VEQVXNWR.js → chunk-446H5UUO.js} +4 -4
  35. package/dist/{chunk-XC7OYOQC.js → chunk-4BCX6YLW.js} +2 -2
  36. package/dist/{chunk-RXGFITWS.js → chunk-4HLPFYF2.js} +7 -7
  37. package/dist/{chunk-WIAXVBQH.js → chunk-65SKM4BF.js} +2 -2
  38. package/dist/{chunk-VEWTHVX2.js → chunk-6HERQLF4.js} +2 -2
  39. package/dist/{chunk-4DLZ2ITE.js → chunk-6OGFQ5GH.js} +2 -2
  40. package/dist/{chunk-C44DRDZM.js → chunk-6WULHFNJ.js} +2 -2
  41. package/dist/{chunk-IVXOYE43.js → chunk-7IQ5HYBJ.js} +2 -2
  42. package/dist/{chunk-SZBZOUHR.js → chunk-A45ZOJV4.js} +2 -2
  43. package/dist/chunk-ADJXJKU6.js +74 -0
  44. package/dist/chunk-ADJXJKU6.js.map +1 -0
  45. package/dist/{chunk-DANFOVQG.js → chunk-B7PLF3HW.js} +2 -2
  46. package/dist/{chunk-PBE7NFB5.js → chunk-BNQJKWWZ.js} +4 -4
  47. package/dist/{chunk-AY2UK5XK.js → chunk-BSBGI4BD.js} +2 -2
  48. package/dist/{chunk-AY2UK5XK.js.map → chunk-BSBGI4BD.js.map} +1 -1
  49. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  50. package/dist/{chunk-IPHIIRDN.js → chunk-CYTTY4M2.js} +5 -7
  51. package/dist/chunk-CYTTY4M2.js.map +1 -0
  52. package/dist/{chunk-R24RYSQX.js → chunk-CZD654DQ.js} +22 -22
  53. package/dist/{chunk-MBENRPMY.js → chunk-D3WNJF7D.js} +12 -12
  54. package/dist/{chunk-5IQL4N37.js → chunk-D4WBMLPD.js} +2 -2
  55. package/dist/{chunk-FYQUUIPI.js → chunk-DLZGSZVC.js} +4 -4
  56. package/dist/{chunk-YK6SFDP2.js → chunk-DOJBV6WR.js} +4 -4
  57. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  58. package/dist/{chunk-FETPTCQZ.js → chunk-E33UJHY3.js} +2 -2
  59. package/dist/{chunk-LJUQPT5G.js → chunk-EFRMEOZQ.js} +3 -3
  60. package/dist/{chunk-HTDXNIO6.js → chunk-HK3CUTAG.js} +2 -2
  61. package/dist/{chunk-FGUWCE5I.js → chunk-HUF4S4MY.js} +2 -2
  62. package/dist/{chunk-6Q6AQ36B.js → chunk-HWHNQVRV.js} +2 -2
  63. package/dist/{chunk-SYDPJUFR.js → chunk-IDGCL5OP.js} +2 -2
  64. package/dist/{chunk-F3FNXE7C.js → chunk-JHJP2IAU.js} +3 -3
  65. package/dist/{chunk-IBQ7LGUJ.js → chunk-JIGHVQF6.js} +6 -6
  66. package/dist/{chunk-P7HNMNN2.js → chunk-K4SVTZWP.js} +7 -7
  67. package/dist/{chunk-KAED7IBB.js → chunk-KDWO22ZK.js} +2 -2
  68. package/dist/{chunk-N6GEGRCT.js → chunk-KYVBGDGA.js} +2 -2
  69. package/dist/{chunk-HB5TNQMM.js → chunk-L7BOS7KV.js} +2 -2
  70. package/dist/{chunk-3MBSD53O.js → chunk-LE4MQ2WF.js} +2 -2
  71. package/dist/{chunk-I4LJJ44E.js → chunk-LNHBYT3F.js} +2 -2
  72. package/dist/{chunk-SHVLNI4L.js → chunk-LU66I56Q.js} +2 -2
  73. package/dist/{chunk-TD5VTVPT.js → chunk-N2H6VC65.js} +3 -3
  74. package/dist/{chunk-L4QYW2HO.js → chunk-NBFHOQIO.js} +2 -2
  75. package/dist/{chunk-KNZDGZSY.js → chunk-NVYY2TJG.js} +2 -2
  76. package/dist/{chunk-7FFGWIBN.js → chunk-PCSQRQPJ.js} +2 -2
  77. package/dist/{chunk-P3AQ2YSX.js → chunk-PFUXPTBT.js} +4 -4
  78. package/dist/{chunk-KQAFEZQX.js → chunk-R45L4TV6.js} +6 -6
  79. package/dist/{chunk-E22CQZ3H.js → chunk-R63X5BQA.js} +12 -12
  80. package/dist/{chunk-PLGBPFEO.js → chunk-RF7QJ736.js} +2 -2
  81. package/dist/{chunk-ZZSFRWKD.js → chunk-RIBCP4DJ.js} +2 -2
  82. package/dist/{chunk-HDN7IVIO.js → chunk-RIZ5NUNN.js} +16 -62
  83. package/dist/chunk-RIZ5NUNN.js.map +1 -0
  84. package/dist/{chunk-HR6NTVYZ.js → chunk-S34XZUTY.js} +172 -39
  85. package/dist/chunk-S34XZUTY.js.map +1 -0
  86. package/dist/{chunk-DEGE32C3.js → chunk-SLORPQZT.js} +2 -2
  87. package/dist/{chunk-6RPPZL7W.js → chunk-SMSJOWVE.js} +2 -2
  88. package/dist/{chunk-X53HJENJ.js → chunk-SPYFXSFZ.js} +2 -2
  89. package/dist/{chunk-IRFQKR4Y.js → chunk-SW6OAWK7.js} +2 -2
  90. package/dist/{chunk-VPEMGBTI.js → chunk-SZEPOUW2.js} +2 -2
  91. package/dist/{chunk-COIQ5N4J.js → chunk-TSITK6QK.js} +2 -2
  92. package/dist/{chunk-HCFNZWFB.js → chunk-VBNXDC7P.js} +2 -2
  93. package/dist/{chunk-FP2AT4WL.js → chunk-VJ3HFCG2.js} +2 -2
  94. package/dist/{chunk-OBQ2NZAR.js → chunk-VKDAJJQP.js} +4 -4
  95. package/dist/{chunk-HZNURRDS.js → chunk-VUROWXFL.js} +2 -2
  96. package/dist/{chunk-G5NH3SSX.js → chunk-X3KFSJLQ.js} +2 -2
  97. package/dist/{chunk-GCJA5KKT.js → chunk-XBNO56HC.js} +2 -2
  98. package/dist/{chunk-GWOFCHPN.js → chunk-YGECOOTF.js} +2 -2
  99. package/dist/{chunk-2R7OCBRR.js → chunk-YK7GOPIE.js} +2 -2
  100. package/dist/{chunk-ELUG6NKQ.js → chunk-YSA4CYTK.js} +2 -2
  101. package/dist/{chunk-233S3MXC.js → chunk-YXUNSOHD.js} +3 -3
  102. package/dist/{chunk-SY4AFWUZ.js → chunk-Z3O7ZOCC.js} +30 -30
  103. package/dist/{chunk-ZG57BEUS.js → chunk-ZAU2OPDW.js} +2 -2
  104. package/dist/cli.js +63 -62
  105. package/dist/coding/export-okf-codegraph.js +7 -7
  106. package/dist/compounding/engine.js +9 -9
  107. package/dist/config.js +7 -7
  108. package/dist/connectors/codex-materialize-runner.js +8 -8
  109. package/dist/connectors/index.js +8 -8
  110. package/dist/convergence-refresh.js +10 -10
  111. package/dist/corpus-watermark.js +10 -10
  112. package/dist/deep-recall-http-glue.js +5 -5
  113. package/dist/entity-retrieval.js +8 -8
  114. package/dist/external-wiki-access.js +28 -28
  115. package/dist/extraction.js +10 -10
  116. package/dist/harmonic-retrieval.js +8 -8
  117. package/dist/index.js +86 -85
  118. package/dist/lcm/engine.js +2 -2
  119. package/dist/lcm/index.js +5 -5
  120. package/dist/local-llm.js +1 -1
  121. package/dist/location/index.js +10 -10
  122. package/dist/maintenance/memory-governance.js +8 -8
  123. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  124. package/dist/maintenance/rebuild-memory-projection-runner.js +10 -10
  125. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  126. package/dist/memory-browse-operations.js +28 -28
  127. package/dist/namespaces/migrate.js +9 -9
  128. package/dist/namespaces/search.js +6 -6
  129. package/dist/namespaces/storage.js +8 -8
  130. package/dist/operator-doctor-corpus.js +11 -11
  131. package/dist/operator-toolkit.js +16 -16
  132. package/dist/orchestration/backlog-scheduler.js +79 -78
  133. package/dist/orchestration/backlog-scheduler.js.map +1 -1
  134. package/dist/orchestration/buffer-drain-runner.js +79 -78
  135. package/dist/orchestration/extraction-queue-snapshot-sharing.d.ts +113 -0
  136. package/dist/orchestration/extraction-queue-snapshot-sharing.d.ts.map +1 -0
  137. package/dist/orchestration/maintenance.js +19 -19
  138. package/dist/orchestration/turn-ingestion.d.ts +3 -0
  139. package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
  140. package/dist/orchestrator.js +78 -77
  141. package/dist/recall-navigation-operations.js +28 -28
  142. package/dist/recall-navigation.js +27 -27
  143. package/dist/resume-bundles.js +10 -9
  144. package/dist/search/factory.js +5 -5
  145. package/dist/search/index.js +5 -5
  146. package/dist/search/lancedb-backend.js +2 -2
  147. package/dist/search/meilisearch-backend.js +2 -2
  148. package/dist/search/orama-backend.js +2 -2
  149. package/dist/semantic-consolidation.js +9 -9
  150. package/dist/semantic-rule-promotion.js +8 -8
  151. package/dist/semantic-rule-verifier.js +8 -8
  152. package/dist/source-agent-qualifier.js +8 -8
  153. package/dist/standup/build.js +8 -8
  154. package/dist/storage.js +7 -7
  155. package/dist/summarizer.js +2 -2
  156. package/dist/support-passport/index.js +30 -30
  157. package/dist/transcript-ownership-digest.d.ts +31 -0
  158. package/dist/transcript-ownership-digest.d.ts.map +1 -0
  159. package/dist/transcript-ownership-digest.js +10 -0
  160. package/dist/transcript-ownership-digest.js.map +1 -0
  161. package/dist/transcript.d.ts +2 -5
  162. package/dist/transcript.d.ts.map +1 -1
  163. package/dist/transcript.js +2 -1
  164. package/dist/transfer/autodetect.js +1 -1
  165. package/dist/transfer/backup.js +2 -2
  166. package/dist/transfer/capsule-export.js +3 -3
  167. package/dist/transfer/capsule-import.js +2 -2
  168. package/dist/transfer/export-okf.js +8 -8
  169. package/dist/verified-recall.js +8 -8
  170. package/dist/who-knows-cli.js +9 -9
  171. package/dist/who-knows.js +8 -8
  172. package/package.json +2 -2
  173. package/src/access-observe-helpers.test.ts +156 -0
  174. package/src/access-observe-helpers.ts +6 -6
  175. package/src/local-llm-qos.test.ts +59 -0
  176. package/src/local-llm.ts +1 -1
  177. package/src/orchestration/extraction-queue-bounded-retention.test.ts +548 -0
  178. package/src/orchestration/extraction-queue-snapshot-sharing.ts +257 -0
  179. package/src/orchestration/turn-ingestion.ts +19 -6
  180. package/src/transcript-ownership-digest.test.ts +403 -0
  181. package/src/transcript-ownership-digest.ts +99 -0
  182. package/src/transcript.ts +14 -76
  183. package/dist/chunk-HDN7IVIO.js.map +0 -1
  184. package/dist/chunk-HR6NTVYZ.js.map +0 -1
  185. package/dist/chunk-IPHIIRDN.js.map +0 -1
  186. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  187. /package/dist/{chunk-Z3CKK5RR.js.map → chunk-2XG7QECM.js.map} +0 -0
  188. /package/dist/{chunk-BZTA7DR4.js.map → chunk-35RSL5B4.js.map} +0 -0
  189. /package/dist/{chunk-3GGCMRO7.js.map → chunk-3RYP4OTZ.js.map} +0 -0
  190. /package/dist/{chunk-VEQVXNWR.js.map → chunk-446H5UUO.js.map} +0 -0
  191. /package/dist/{chunk-XC7OYOQC.js.map → chunk-4BCX6YLW.js.map} +0 -0
  192. /package/dist/{chunk-RXGFITWS.js.map → chunk-4HLPFYF2.js.map} +0 -0
  193. /package/dist/{chunk-WIAXVBQH.js.map → chunk-65SKM4BF.js.map} +0 -0
  194. /package/dist/{chunk-VEWTHVX2.js.map → chunk-6HERQLF4.js.map} +0 -0
  195. /package/dist/{chunk-4DLZ2ITE.js.map → chunk-6OGFQ5GH.js.map} +0 -0
  196. /package/dist/{chunk-C44DRDZM.js.map → chunk-6WULHFNJ.js.map} +0 -0
  197. /package/dist/{chunk-IVXOYE43.js.map → chunk-7IQ5HYBJ.js.map} +0 -0
  198. /package/dist/{chunk-SZBZOUHR.js.map → chunk-A45ZOJV4.js.map} +0 -0
  199. /package/dist/{chunk-DANFOVQG.js.map → chunk-B7PLF3HW.js.map} +0 -0
  200. /package/dist/{chunk-PBE7NFB5.js.map → chunk-BNQJKWWZ.js.map} +0 -0
  201. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  202. /package/dist/{chunk-R24RYSQX.js.map → chunk-CZD654DQ.js.map} +0 -0
  203. /package/dist/{chunk-MBENRPMY.js.map → chunk-D3WNJF7D.js.map} +0 -0
  204. /package/dist/{chunk-5IQL4N37.js.map → chunk-D4WBMLPD.js.map} +0 -0
  205. /package/dist/{chunk-FYQUUIPI.js.map → chunk-DLZGSZVC.js.map} +0 -0
  206. /package/dist/{chunk-YK6SFDP2.js.map → chunk-DOJBV6WR.js.map} +0 -0
  207. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  208. /package/dist/{chunk-FETPTCQZ.js.map → chunk-E33UJHY3.js.map} +0 -0
  209. /package/dist/{chunk-LJUQPT5G.js.map → chunk-EFRMEOZQ.js.map} +0 -0
  210. /package/dist/{chunk-HTDXNIO6.js.map → chunk-HK3CUTAG.js.map} +0 -0
  211. /package/dist/{chunk-FGUWCE5I.js.map → chunk-HUF4S4MY.js.map} +0 -0
  212. /package/dist/{chunk-6Q6AQ36B.js.map → chunk-HWHNQVRV.js.map} +0 -0
  213. /package/dist/{chunk-SYDPJUFR.js.map → chunk-IDGCL5OP.js.map} +0 -0
  214. /package/dist/{chunk-F3FNXE7C.js.map → chunk-JHJP2IAU.js.map} +0 -0
  215. /package/dist/{chunk-IBQ7LGUJ.js.map → chunk-JIGHVQF6.js.map} +0 -0
  216. /package/dist/{chunk-P7HNMNN2.js.map → chunk-K4SVTZWP.js.map} +0 -0
  217. /package/dist/{chunk-KAED7IBB.js.map → chunk-KDWO22ZK.js.map} +0 -0
  218. /package/dist/{chunk-N6GEGRCT.js.map → chunk-KYVBGDGA.js.map} +0 -0
  219. /package/dist/{chunk-HB5TNQMM.js.map → chunk-L7BOS7KV.js.map} +0 -0
  220. /package/dist/{chunk-3MBSD53O.js.map → chunk-LE4MQ2WF.js.map} +0 -0
  221. /package/dist/{chunk-I4LJJ44E.js.map → chunk-LNHBYT3F.js.map} +0 -0
  222. /package/dist/{chunk-SHVLNI4L.js.map → chunk-LU66I56Q.js.map} +0 -0
  223. /package/dist/{chunk-TD5VTVPT.js.map → chunk-N2H6VC65.js.map} +0 -0
  224. /package/dist/{chunk-L4QYW2HO.js.map → chunk-NBFHOQIO.js.map} +0 -0
  225. /package/dist/{chunk-KNZDGZSY.js.map → chunk-NVYY2TJG.js.map} +0 -0
  226. /package/dist/{chunk-7FFGWIBN.js.map → chunk-PCSQRQPJ.js.map} +0 -0
  227. /package/dist/{chunk-P3AQ2YSX.js.map → chunk-PFUXPTBT.js.map} +0 -0
  228. /package/dist/{chunk-KQAFEZQX.js.map → chunk-R45L4TV6.js.map} +0 -0
  229. /package/dist/{chunk-E22CQZ3H.js.map → chunk-R63X5BQA.js.map} +0 -0
  230. /package/dist/{chunk-PLGBPFEO.js.map → chunk-RF7QJ736.js.map} +0 -0
  231. /package/dist/{chunk-ZZSFRWKD.js.map → chunk-RIBCP4DJ.js.map} +0 -0
  232. /package/dist/{chunk-DEGE32C3.js.map → chunk-SLORPQZT.js.map} +0 -0
  233. /package/dist/{chunk-6RPPZL7W.js.map → chunk-SMSJOWVE.js.map} +0 -0
  234. /package/dist/{chunk-X53HJENJ.js.map → chunk-SPYFXSFZ.js.map} +0 -0
  235. /package/dist/{chunk-IRFQKR4Y.js.map → chunk-SW6OAWK7.js.map} +0 -0
  236. /package/dist/{chunk-VPEMGBTI.js.map → chunk-SZEPOUW2.js.map} +0 -0
  237. /package/dist/{chunk-COIQ5N4J.js.map → chunk-TSITK6QK.js.map} +0 -0
  238. /package/dist/{chunk-HCFNZWFB.js.map → chunk-VBNXDC7P.js.map} +0 -0
  239. /package/dist/{chunk-FP2AT4WL.js.map → chunk-VJ3HFCG2.js.map} +0 -0
  240. /package/dist/{chunk-OBQ2NZAR.js.map → chunk-VKDAJJQP.js.map} +0 -0
  241. /package/dist/{chunk-HZNURRDS.js.map → chunk-VUROWXFL.js.map} +0 -0
  242. /package/dist/{chunk-G5NH3SSX.js.map → chunk-X3KFSJLQ.js.map} +0 -0
  243. /package/dist/{chunk-GCJA5KKT.js.map → chunk-XBNO56HC.js.map} +0 -0
  244. /package/dist/{chunk-GWOFCHPN.js.map → chunk-YGECOOTF.js.map} +0 -0
  245. /package/dist/{chunk-2R7OCBRR.js.map → chunk-YK7GOPIE.js.map} +0 -0
  246. /package/dist/{chunk-ELUG6NKQ.js.map → chunk-YSA4CYTK.js.map} +0 -0
  247. /package/dist/{chunk-233S3MXC.js.map → chunk-YXUNSOHD.js.map} +0 -0
  248. /package/dist/{chunk-SY4AFWUZ.js.map → chunk-Z3O7ZOCC.js.map} +0 -0
  249. /package/dist/{chunk-ZG57BEUS.js.map → chunk-ZAU2OPDW.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/access-observe-helpers.ts"],"sourcesContent":["import { isPreemptedExtraction } from \"./abort-error.js\";\n\ntype PendingObservePreparation = {\n cancelled: boolean;\n scopeHint?: string;\n principal?: string;\n namespace?: string;\n scopeResolved: boolean;\n resolvedScopeFences: Array<{ principal?: string; namespace?: string }>;\n released: Promise<void>;\n release: () => void;\n};\n\nfunction resolvedScopesMatch(\n left: { principal?: string; namespace?: string },\n right: { principal?: string; namespace?: string },\n): boolean {\n return left.principal === right.principal && left.namespace === right.namespace;\n}\n\nfunction preparationMatchesScope(\n reservation: PendingObservePreparation,\n principal: string | undefined,\n namespace: string | undefined,\n scopeHint: string | undefined,\n): boolean {\n if (reservation.scopeResolved) {\n return resolvedScopesMatch(reservation, { principal, namespace });\n }\n return reservation.scopeHint === undefined || scopeHint === undefined || reservation.scopeHint === scopeHint;\n}\n\nexport type PendingObservePreparationHandle = {\n isCancelled(): boolean;\n setScope(principal?: string, namespace?: string): void;\n release(): void;\n};\n\nexport function pendingObserveScopeHint(options: {\n namespace?: string;\n projectTag?: string;\n cwd?: string;\n}): string | undefined {\n const namespace = options.namespace?.trim();\n if (namespace) return `namespace:${namespace}`;\n const projectTag = options.projectTag?.trim();\n if (projectTag) return `projectTag:${projectTag}`;\n const cwd = options.cwd?.trim();\n return cwd ? `cwd:${cwd}` : undefined;\n}\n\ntype PendingObserveExtraction = {\n promise: Promise<void>;\n running: Promise<void>;\n controllers: Set<AbortController>;\n};\n\nexport class PendingObserveExtractionTracker {\n private readonly entries = new Map<string, PendingObserveExtraction>();\n private readonly preparations = new Map<string, Set<PendingObservePreparation>>();\n\n reserve(sessionKey: string, scopeHint?: string): PendingObservePreparationHandle {\n let released = false;\n let resolveReleased: () => void = () => {};\n const reservation: PendingObservePreparation = {\n cancelled: false,\n scopeResolved: false,\n resolvedScopeFences: [],\n scopeHint,\n released: new Promise<void>((resolve) => {\n resolveReleased = resolve;\n }),\n release: () => {\n if (released) return;\n released = true;\n const entries = this.preparations.get(sessionKey);\n entries?.delete(reservation);\n if (entries?.size === 0) this.preparations.delete(sessionKey);\n resolveReleased();\n },\n };\n const entries = this.preparations.get(sessionKey) ?? new Set<PendingObservePreparation>();\n entries.add(reservation);\n this.preparations.set(sessionKey, entries);\n return {\n isCancelled: () => reservation.cancelled,\n setScope: (principal, namespace) => {\n reservation.principal = principal;\n reservation.namespace = namespace;\n reservation.scopeResolved = true;\n if (reservation.resolvedScopeFences.some((fence) => resolvedScopesMatch(reservation, fence))) {\n reservation.cancelled = true;\n }\n },\n release: reservation.release,\n };\n }\n\n private async waitForPreparations(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n scopeHint: string | undefined,\n ): Promise<void> {\n while (true) {\n const reservations = [...(this.preparations.get(sessionKey) ?? [])];\n for (const reservation of reservations) {\n if (\n !reservation.cancelled &&\n !reservation.scopeResolved &&\n !preparationMatchesScope(reservation, principal, namespace, scopeHint) &&\n !reservation.resolvedScopeFences.some((fence) =>\n resolvedScopesMatch(fence, { principal, namespace }),\n )\n ) {\n reservation.resolvedScopeFences.push({ principal, namespace });\n }\n }\n const pending = reservations.filter(\n (reservation) =>\n !reservation.cancelled && preparationMatchesScope(reservation, principal, namespace, scopeHint),\n );\n if (pending.length === 0) return;\n await Promise.all(pending.map((reservation) => reservation.released));\n }\n }\n\n\n key(sessionKey: string, principal: string | undefined, namespace: string | undefined): string {\n return `${sessionKey}\\u0000${principal ?? \"\"}\\u0000${namespace ?? \"\"}`;\n }\n\n track(key: string, extraction: Promise<void>, controller: AbortController): void {\n const previous = this.entries.get(key);\n const promise = previous\n ? Promise.allSettled([previous.promise, extraction]).then((results) => {\n const rejected = results.find(\n (result): result is PromiseRejectedResult =>\n result.status === \"rejected\" &&\n !(result.reason instanceof Error && isPreemptedExtraction(result.reason)),\n );\n if (rejected) throw rejected.reason;\n })\n : extraction;\n const entry = {\n promise,\n running: previous?.running ?? extraction,\n controllers: new Set(previous ? [...previous.controllers, controller] : [controller]),\n };\n this.entries.set(key, entry);\n // Any settle (success OR rejection — preemption is just one rejection\n // kind) ends the pending entry; leaving a settled failure tracked wedged\n // the key and kept every controller ever registered for it alive.\n void promise\n .then(() => {\n if (this.entries.get(key) === entry) this.entries.delete(key);\n })\n .catch(() => {\n if (this.entries.get(key) === entry) this.entries.delete(key);\n });\n }\n\n cancelPreparations(sessionKey: string, scopeHint?: string): void {\n for (const reservation of this.preparations.get(sessionKey) ?? []) {\n if (\n scopeHint !== undefined &&\n reservation.scopeHint !== undefined &&\n reservation.scopeHint !== scopeHint\n ) {\n continue;\n }\n reservation.cancelled = true;\n }\n }\n\n cancel(\n sessionKey: string,\n principal?: string,\n namespace?: string,\n scopeHint?: string,\n reason?: Error,\n ): void {\n for (const reservation of this.preparations.get(sessionKey) ?? []) {\n if (!preparationMatchesScope(reservation, principal, namespace, scopeHint)) continue;\n reservation.cancelled = true;\n }\n\n this.abortTracked(sessionKey, principal, namespace, reason);\n }\n\n private abortTracked(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n reason?: Error,\n ): void {\n for (const [key, entry] of this.entries) {\n const [entrySessionKey, entryPrincipal, entryNamespace] = key.split(\"\\u0000\");\n if (\n entrySessionKey !== sessionKey ||\n (principal !== undefined && entryPrincipal !== (principal ?? \"\")) ||\n (namespace !== undefined && entryNamespace !== (namespace ?? \"\"))\n ) continue;\n for (const controller of entry.controllers) controller.abort(reason);\n }\n }\n\n async wait(\n sessionKey: string,\n principal: string | undefined,\n namespace: string | undefined,\n abortSignal?: AbortSignal,\n registerCancellation?: (cancel: () => void) => void,\n scopeHint?: string,\n preemptAfterAdmission?: () => void,\n ): Promise<void> {\n const key = this.key(sessionKey, principal, namespace);\n let cancelled = abortSignal?.aborted === true;\n const abortTracked = (): void => {\n cancelled = true;\n this.cancel(sessionKey, principal, namespace, scopeHint);\n };\n registerCancellation?.(abortTracked);\n abortSignal?.addEventListener(\"abort\", abortTracked, { once: true });\n try {\n await this.waitForPreparations(sessionKey, principal, namespace, scopeHint);\n if (cancelled || abortSignal?.aborted) return;\n if (preemptAfterAdmission) {\n preemptAfterAdmission();\n const running = this.entries.get(key)?.running;\n if (!running) return;\n try {\n await running;\n } catch (error) {\n if (this.entries.get(key)?.running === running) this.entries.delete(key);\n if (!(error instanceof Error && isPreemptedExtraction(error))) throw error;\n }\n return;\n }\n while (true) {\n const entry = this.entries.get(key);\n if (!entry) return;\n try {\n await entry.promise;\n } catch (error) {\n if (this.entries.get(key) !== entry) continue;\n this.entries.delete(key);\n if (error instanceof Error && isPreemptedExtraction(error)) return;\n throw error;\n }\n if (this.entries.get(key) !== entry) continue;\n this.entries.delete(key);\n return;\n }\n } finally {\n abortSignal?.removeEventListener(\"abort\", abortTracked);\n }\n }\n}\n"],"mappings":"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","names":["entries"]}