@remnic/core 10.0.60 → 10.0.62
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.
- package/dist/access-admin-ops-surface.js +25 -24
- package/dist/access-authorization-probe.js +26 -25
- package/dist/access-boundary.js +25 -24
- package/dist/access-cli.js +73 -72
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +25 -24
- package/dist/access-http-briefing.js +26 -25
- package/dist/access-http-query.js +27 -26
- package/dist/access-http.js +44 -43
- package/dist/access-identity-continuity-surface.js +25 -24
- package/dist/access-lcm-surface.js +25 -24
- package/dist/access-mcp.js +36 -35
- package/dist/access-namespace-preflight.js +25 -24
- package/dist/access-observe-write-category.js +4 -4
- package/dist/access-observe-write-surface.js +25 -24
- package/dist/access-operations-batch.js +27 -26
- package/dist/access-operations.js +34 -33
- package/dist/access-recall-concurrency.js +25 -24
- package/dist/access-recall-diagnostics.js +2 -2
- package/dist/access-recall-response.js +25 -24
- package/dist/access-recall-surface.js +25 -24
- package/dist/access-schema.js +3 -3
- package/dist/access-service.js +25 -24
- package/dist/access-surface-catalog.js +27 -26
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +8 -6
- package/dist/active-recall.js.map +1 -1
- package/dist/briefing.js +8 -6
- package/dist/buffer-persistence.d.ts +14 -3
- package/dist/buffer-persistence.d.ts.map +1 -1
- package/dist/buffer-persistence.js +1 -1
- package/dist/buffer-turn-helpers.d.ts +7 -0
- package/dist/buffer-turn-helpers.d.ts.map +1 -1
- package/dist/buffer-turn-helpers.js +5 -3
- package/dist/buffer.d.ts +5 -1
- package/dist/buffer.d.ts.map +1 -1
- package/dist/buffer.js +3 -3
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-GWVG7LGC.js} +2 -2
- package/dist/causal-consolidation.js +9 -7
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-VHBGJAYC.js → chunk-25QK3LR2.js} +2 -2
- package/dist/{chunk-X2TZWVCC.js → chunk-3HLWLYRD.js} +2 -2
- package/dist/{chunk-TIS6T6UP.js → chunk-3VNRDRBM.js} +2 -2
- package/dist/{chunk-4O4VAEWH.js → chunk-4NLHEE2Z.js} +2 -2
- package/dist/{chunk-3DG2YAAX.js → chunk-6EZPYZT3.js} +62 -35
- package/dist/chunk-6EZPYZT3.js.map +1 -0
- package/dist/{chunk-I6UTOUBK.js → chunk-6VBKU3FY.js} +150 -345
- package/dist/chunk-6VBKU3FY.js.map +1 -0
- package/dist/{chunk-66CC6L6R.js → chunk-76LKZ42K.js} +2 -2
- package/dist/{chunk-LR7RW4T6.js → chunk-7ETWIBTO.js} +3 -3
- package/dist/{chunk-JM2WJBP7.js → chunk-7JFXXA57.js} +2 -2
- package/dist/{chunk-PIVSUPF2.js → chunk-A6JV3WHI.js} +2 -2
- package/dist/{chunk-MOB4JHG6.js → chunk-BDNPW3KM.js} +2 -2
- package/dist/{chunk-IJFX4JRI.js → chunk-BQOOUKEN.js} +7 -7
- package/dist/{chunk-PRSF7DWT.js → chunk-BU4W2ISH.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-BUKK5SWA.js} +2 -2
- package/dist/{chunk-JRY55I6Z.js → chunk-C2AYUXEF.js} +2 -2
- package/dist/{chunk-DF4SYU4Z.js → chunk-C5OW2FFB.js} +2 -2
- package/dist/{chunk-74Z2BYEK.js → chunk-CYEEVWQ6.js} +2 -2
- package/dist/{chunk-M7KAJBO2.js → chunk-EADUOZWH.js} +3 -3
- package/dist/{chunk-N5H22V75.js → chunk-ECT5ME6X.js} +2 -2
- package/dist/{chunk-M3GOWG2P.js → chunk-FMOUUWQN.js} +2 -2
- package/dist/{chunk-2EJAPJ5G.js → chunk-FYPKSR6Z.js} +2 -2
- package/dist/{chunk-L5RMURVI.js → chunk-GDCKOER4.js} +41 -13
- package/dist/chunk-GDCKOER4.js.map +1 -0
- package/dist/{chunk-LGLLCWA2.js → chunk-GNEB3WXR.js} +2 -2
- package/dist/{chunk-Z4EH5TSO.js → chunk-HNZH57JK.js} +2 -2
- package/dist/{chunk-PTJWUN4H.js → chunk-IJKBIOWL.js} +30 -30
- package/dist/{chunk-C5GTIRIO.js → chunk-IMNJJKHW.js} +22 -22
- package/dist/{chunk-ADK5TMQL.js → chunk-IVJI5FDA.js} +2 -2
- package/dist/{chunk-F3GX76LV.js → chunk-IWAB7JVH.js} +2 -2
- package/dist/{chunk-JFRO5HJY.js → chunk-J62O2UW5.js} +2 -2
- package/dist/chunk-JCL7RO2G.js +674 -0
- package/dist/chunk-JCL7RO2G.js.map +1 -0
- package/dist/{chunk-A3UFV4K3.js → chunk-JIYJIH5N.js} +2 -2
- package/dist/{chunk-UIX4JLVV.js → chunk-JVFYP2LD.js} +2 -2
- package/dist/{chunk-KJ3MDX4V.js → chunk-KXY4HW2Y.js} +2 -2
- package/dist/{chunk-VQ6H4DL6.js → chunk-L334PSLW.js} +4 -4
- package/dist/{chunk-IA3XZG4V.js → chunk-L74VVEJA.js} +2 -2
- package/dist/{chunk-UY67YP6Q.js → chunk-LIUI46BX.js} +2 -2
- package/dist/{chunk-4OFXLQJD.js → chunk-MPDLLLOG.js} +8 -3
- package/dist/chunk-MPDLLLOG.js.map +1 -0
- package/dist/{chunk-UP2Q7U4G.js → chunk-MTVC5S5N.js} +2 -2
- package/dist/{chunk-QWURVT5Z.js → chunk-N7CATBYH.js} +2 -2
- package/dist/{chunk-JEDS2QYV.js → chunk-OH55F76C.js} +2 -2
- package/dist/{chunk-2NLLXCJG.js → chunk-OWHERGF2.js} +2 -2
- package/dist/{chunk-G6GMZJQ4.js → chunk-PA6ZNFB7.js} +2 -2
- package/dist/{chunk-6BKSUA6P.js → chunk-PWEIZCPS.js} +2 -2
- package/dist/{chunk-T4SMMTGY.js → chunk-Q3DAWUAV.js} +2 -2
- package/dist/{chunk-AWKADEMO.js → chunk-QCAJMIAE.js} +3 -3
- package/dist/{chunk-ZRDEOC4X.js → chunk-QI7LLSWX.js} +2 -2
- package/dist/{chunk-7DHNBABU.js → chunk-QJ6IR35B.js} +3 -3
- package/dist/{chunk-J53IBVMF.js → chunk-R25JMO5O.js} +2 -2
- package/dist/{chunk-PARM6OYL.js → chunk-SEA56G6S.js} +1 -1
- package/dist/chunk-SEA56G6S.js.map +1 -0
- package/dist/{chunk-HL643H2F.js → chunk-TMWSCE2L.js} +8 -8
- package/dist/{chunk-FLDXEJFX.js → chunk-TPCRDPUY.js} +2 -2
- package/dist/{chunk-KZMRMKC7.js → chunk-U7MIMS2Y.js} +11 -1
- package/dist/chunk-U7MIMS2Y.js.map +1 -0
- package/dist/{chunk-WJC5KGYC.js → chunk-UFQB5VQ5.js} +6 -6
- package/dist/{chunk-64WHWIPL.js → chunk-UVHXLVFJ.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-UVYI6VIX.js} +1 -1
- package/dist/{chunk-5XY46Z2W.js → chunk-UXRCORZX.js} +3 -3
- package/dist/{chunk-WUL6LDJ4.js → chunk-VPEA63FC.js} +2 -2
- package/dist/{chunk-MHSUEA32.js → chunk-WA6XRNWE.js} +3 -3
- package/dist/{chunk-GGHX4YHM.js → chunk-WB3OFPM2.js} +2 -2
- package/dist/{chunk-RSYFSCKL.js → chunk-WZEDFDJ6.js} +14 -14
- package/dist/{chunk-2HVCTFKG.js → chunk-X2ZLHUEO.js} +2 -2
- package/dist/{chunk-PJLJN23N.js → chunk-XICJL56Z.js} +2 -2
- package/dist/{chunk-ZXEPLZUQ.js → chunk-YGM47S7M.js} +7 -7
- package/dist/{chunk-XWXBXBOX.js → chunk-YLB7TW2B.js} +2 -1
- package/dist/chunk-YLB7TW2B.js.map +1 -0
- package/dist/{chunk-KXDUSGPM.js → chunk-YRL4PGPP.js} +2 -2
- package/dist/{chunk-GJF337YM.js → chunk-Z45353ML.js} +2 -2
- package/dist/{chunk-NJZY5LOC.js → chunk-ZARHK7PT.js} +2 -2
- package/dist/{chunk-NF5EHQTJ.js → chunk-ZFU2B2GM.js} +5 -5
- package/dist/{chunk-W37MS6SX.js → chunk-ZRSXXWIX.js} +2 -2
- package/dist/cli.js +60 -59
- package/dist/coding/export-okf-codegraph.js +7 -5
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/compounding/engine.js +9 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -6
- package/dist/connectors/codex-materialize-runner.js +8 -6
- package/dist/connectors/index.js +8 -6
- package/dist/convergence-refresh.js +10 -8
- package/dist/corpus-watermark.js +10 -8
- package/dist/deep-recall-http-glue.js +4 -4
- package/dist/entity-retrieval.js +8 -6
- package/dist/external-wiki-access.js +26 -25
- package/dist/extraction.js +8 -6
- package/dist/harmonic-retrieval.js +8 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -72
- package/dist/location/index.js +10 -8
- package/dist/maintenance/memory-governance.js +8 -6
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -6
- package/dist/maintenance/rebuild-memory-projection-runner.js +10 -8
- package/dist/maintenance/rebuild-memory-projection.js +9 -7
- package/dist/memory-browse-operations.js +26 -25
- package/dist/namespaces/migrate.js +9 -7
- package/dist/namespaces/search.js +3 -3
- package/dist/namespaces/storage.js +8 -6
- package/dist/operator-doctor-corpus.js +11 -9
- package/dist/operator-toolkit.js +17 -15
- package/dist/orchestration/buffer-drain-gate.d.ts +21 -0
- package/dist/orchestration/buffer-drain-gate.d.ts.map +1 -0
- package/dist/orchestration/buffer-drain-runner.d.ts +79 -0
- package/dist/orchestration/buffer-drain-runner.d.ts.map +1 -0
- package/dist/orchestration/buffer-drain-runner.js +780 -0
- package/dist/orchestration/buffer-drain-runner.js.map +1 -0
- package/dist/orchestration/buffer-swap.d.ts +12 -0
- package/dist/orchestration/buffer-swap.d.ts.map +1 -0
- package/dist/orchestration/maintenance.js +18 -16
- package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
- package/dist/orchestrator.d.ts +4 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +73 -72
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.js +2 -2
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-operations.js +26 -25
- package/dist/recall-navigation.js +25 -24
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/resume-bundles.js +9 -7
- package/dist/search/factory.js +2 -2
- package/dist/search/index.js +4 -4
- package/dist/semantic-consolidation.js +9 -7
- package/dist/semantic-rule-promotion.js +8 -6
- package/dist/semantic-rule-verifier.js +8 -6
- package/dist/source-agent-qualifier.js +8 -6
- package/dist/standup/build.js +8 -6
- package/dist/storage/buffer-drain-claims.d.ts +159 -0
- package/dist/storage/buffer-drain-claims.d.ts.map +1 -0
- package/dist/storage/buffer-drain-claims.js +18 -0
- package/dist/storage/buffer-drain-claims.js.map +1 -0
- package/dist/storage/buffer-session-files.d.ts +14 -2
- package/dist/storage/buffer-session-files.d.ts.map +1 -1
- package/dist/storage/buffer-session-files.js +22 -0
- package/dist/storage/buffer-session-files.js.map +1 -0
- package/dist/storage.d.ts +6 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +7 -5
- package/dist/support-passport/index.js +28 -27
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +8 -6
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +8 -6
- package/dist/who-knows-cli.js +9 -7
- package/dist/who-knows.js +8 -6
- package/package.json +32 -2
- package/src/access-observe-replay-durability.test.ts +1 -0
- package/src/buffer-drain-handover.test.ts +307 -0
- package/src/buffer-incremental-persistence.test.ts +19 -1
- package/src/buffer-persistence.ts +27 -5
- package/src/buffer-session.test.ts +3 -3
- package/src/buffer-turn-helpers.ts +16 -0
- package/src/buffer.ts +50 -10
- package/src/config.ts +1 -0
- package/src/index.ts +1 -1
- package/src/orchestration/buffer-drain-gate.test.ts +40 -0
- package/src/orchestration/buffer-drain-gate.ts +38 -0
- package/src/orchestration/buffer-drain-runner.ts +312 -0
- package/src/orchestration/buffer-swap.ts +27 -0
- package/src/orchestration/turn-ingestion.ts +2 -0
- package/src/orchestrator.ts +9 -6
- package/src/storage/buffer-drain-claims.test.ts +448 -0
- package/src/storage/buffer-drain-claims.ts +593 -0
- package/src/storage/buffer-session-files.ts +50 -3
- package/src/storage.ts +8 -11
- package/src/testing/subjects/extraction-lifecycle.test.ts +34 -0
- package/src/types.ts +2 -0
- package/dist/chunk-3DG2YAAX.js.map +0 -1
- package/dist/chunk-4OFXLQJD.js.map +0 -1
- package/dist/chunk-I6UTOUBK.js.map +0 -1
- package/dist/chunk-KZMRMKC7.js.map +0 -1
- package/dist/chunk-L5RMURVI.js.map +0 -1
- package/dist/chunk-PARM6OYL.js.map +0 -1
- package/dist/chunk-XWXBXBOX.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
- /package/dist/{chunk-VHBGJAYC.js.map → chunk-25QK3LR2.js.map} +0 -0
- /package/dist/{chunk-X2TZWVCC.js.map → chunk-3HLWLYRD.js.map} +0 -0
- /package/dist/{chunk-TIS6T6UP.js.map → chunk-3VNRDRBM.js.map} +0 -0
- /package/dist/{chunk-4O4VAEWH.js.map → chunk-4NLHEE2Z.js.map} +0 -0
- /package/dist/{chunk-66CC6L6R.js.map → chunk-76LKZ42K.js.map} +0 -0
- /package/dist/{chunk-LR7RW4T6.js.map → chunk-7ETWIBTO.js.map} +0 -0
- /package/dist/{chunk-JM2WJBP7.js.map → chunk-7JFXXA57.js.map} +0 -0
- /package/dist/{chunk-PIVSUPF2.js.map → chunk-A6JV3WHI.js.map} +0 -0
- /package/dist/{chunk-MOB4JHG6.js.map → chunk-BDNPW3KM.js.map} +0 -0
- /package/dist/{chunk-IJFX4JRI.js.map → chunk-BQOOUKEN.js.map} +0 -0
- /package/dist/{chunk-PRSF7DWT.js.map → chunk-BU4W2ISH.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-BUKK5SWA.js.map} +0 -0
- /package/dist/{chunk-JRY55I6Z.js.map → chunk-C2AYUXEF.js.map} +0 -0
- /package/dist/{chunk-DF4SYU4Z.js.map → chunk-C5OW2FFB.js.map} +0 -0
- /package/dist/{chunk-74Z2BYEK.js.map → chunk-CYEEVWQ6.js.map} +0 -0
- /package/dist/{chunk-M7KAJBO2.js.map → chunk-EADUOZWH.js.map} +0 -0
- /package/dist/{chunk-N5H22V75.js.map → chunk-ECT5ME6X.js.map} +0 -0
- /package/dist/{chunk-M3GOWG2P.js.map → chunk-FMOUUWQN.js.map} +0 -0
- /package/dist/{chunk-2EJAPJ5G.js.map → chunk-FYPKSR6Z.js.map} +0 -0
- /package/dist/{chunk-LGLLCWA2.js.map → chunk-GNEB3WXR.js.map} +0 -0
- /package/dist/{chunk-Z4EH5TSO.js.map → chunk-HNZH57JK.js.map} +0 -0
- /package/dist/{chunk-PTJWUN4H.js.map → chunk-IJKBIOWL.js.map} +0 -0
- /package/dist/{chunk-C5GTIRIO.js.map → chunk-IMNJJKHW.js.map} +0 -0
- /package/dist/{chunk-ADK5TMQL.js.map → chunk-IVJI5FDA.js.map} +0 -0
- /package/dist/{chunk-F3GX76LV.js.map → chunk-IWAB7JVH.js.map} +0 -0
- /package/dist/{chunk-JFRO5HJY.js.map → chunk-J62O2UW5.js.map} +0 -0
- /package/dist/{chunk-A3UFV4K3.js.map → chunk-JIYJIH5N.js.map} +0 -0
- /package/dist/{chunk-UIX4JLVV.js.map → chunk-JVFYP2LD.js.map} +0 -0
- /package/dist/{chunk-KJ3MDX4V.js.map → chunk-KXY4HW2Y.js.map} +0 -0
- /package/dist/{chunk-VQ6H4DL6.js.map → chunk-L334PSLW.js.map} +0 -0
- /package/dist/{chunk-IA3XZG4V.js.map → chunk-L74VVEJA.js.map} +0 -0
- /package/dist/{chunk-UY67YP6Q.js.map → chunk-LIUI46BX.js.map} +0 -0
- /package/dist/{chunk-UP2Q7U4G.js.map → chunk-MTVC5S5N.js.map} +0 -0
- /package/dist/{chunk-QWURVT5Z.js.map → chunk-N7CATBYH.js.map} +0 -0
- /package/dist/{chunk-JEDS2QYV.js.map → chunk-OH55F76C.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-OWHERGF2.js.map} +0 -0
- /package/dist/{chunk-G6GMZJQ4.js.map → chunk-PA6ZNFB7.js.map} +0 -0
- /package/dist/{chunk-6BKSUA6P.js.map → chunk-PWEIZCPS.js.map} +0 -0
- /package/dist/{chunk-T4SMMTGY.js.map → chunk-Q3DAWUAV.js.map} +0 -0
- /package/dist/{chunk-AWKADEMO.js.map → chunk-QCAJMIAE.js.map} +0 -0
- /package/dist/{chunk-ZRDEOC4X.js.map → chunk-QI7LLSWX.js.map} +0 -0
- /package/dist/{chunk-7DHNBABU.js.map → chunk-QJ6IR35B.js.map} +0 -0
- /package/dist/{chunk-J53IBVMF.js.map → chunk-R25JMO5O.js.map} +0 -0
- /package/dist/{chunk-HL643H2F.js.map → chunk-TMWSCE2L.js.map} +0 -0
- /package/dist/{chunk-FLDXEJFX.js.map → chunk-TPCRDPUY.js.map} +0 -0
- /package/dist/{chunk-WJC5KGYC.js.map → chunk-UFQB5VQ5.js.map} +0 -0
- /package/dist/{chunk-64WHWIPL.js.map → chunk-UVHXLVFJ.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-UVYI6VIX.js.map} +0 -0
- /package/dist/{chunk-5XY46Z2W.js.map → chunk-UXRCORZX.js.map} +0 -0
- /package/dist/{chunk-WUL6LDJ4.js.map → chunk-VPEA63FC.js.map} +0 -0
- /package/dist/{chunk-MHSUEA32.js.map → chunk-WA6XRNWE.js.map} +0 -0
- /package/dist/{chunk-GGHX4YHM.js.map → chunk-WB3OFPM2.js.map} +0 -0
- /package/dist/{chunk-RSYFSCKL.js.map → chunk-WZEDFDJ6.js.map} +0 -0
- /package/dist/{chunk-2HVCTFKG.js.map → chunk-X2ZLHUEO.js.map} +0 -0
- /package/dist/{chunk-PJLJN23N.js.map → chunk-XICJL56Z.js.map} +0 -0
- /package/dist/{chunk-ZXEPLZUQ.js.map → chunk-YGM47S7M.js.map} +0 -0
- /package/dist/{chunk-KXDUSGPM.js.map → chunk-YRL4PGPP.js.map} +0 -0
- /package/dist/{chunk-GJF337YM.js.map → chunk-Z45353ML.js.map} +0 -0
- /package/dist/{chunk-NJZY5LOC.js.map → chunk-ZARHK7PT.js.map} +0 -0
- /package/dist/{chunk-NF5EHQTJ.js.map → chunk-ZFU2B2GM.js.map} +0 -0
- /package/dist/{chunk-W37MS6SX.js.map → chunk-ZRSXXWIX.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/buffer-persistence.ts"],"sourcesContent":["import type { BufferEntryState, BufferState, BufferSurpriseEvent } from \"./types.js\";\n\n/**\n * The buffer persistence surface SmartBuffer depends on.\n *\n * `saveBufferSession` / `deleteBufferSession` are the per-session incremental\n * writes (one file per session); when a storage backend does not provide\n * them, the buffer falls back to the whole-state `saveBuffer`. Both are\n * optional in the type so a storage double only has to implement what it\n * actually supports.\n */\nexport interface BufferStorage {\n loadBuffer(): Promise<BufferState>;\n saveBuffer(state: BufferState): Promise<void>;\n saveBufferSession?(key: string, entry: BufferEntryState): Promise<void>;\n deleteBufferSession?(key: string): Promise<void>;\n /** Optional surprise-telemetry sink; older storage and test doubles omit it. */\n appendBufferSurpriseEvents?(events: BufferSurpriseEvent[]): Promise<number>;\n}\n\n/**\n * Tracks which sessions' persisted files are stale and writes only those.\n *\n * Marks are cleared only after a durable write of that session. All calls\n * happen under SmartBuffer's serialized mutation chain: one writer.\n */\nexport class BufferSessionPersistence {\n private readonly dirty = new Set<string>();\n private readonly deleted = new Set<string>();\n\n markDirty(key: string): void {\n this.dirty.add(key);\n this.deleted.delete(key);\n }\n\n markDeleted(key: string): void {\n this.deleted.add(key);\n this.dirty.delete(key);\n }\n\n /** Eviction removed `key` from memory: its session file must go, any pending write is moot. */\n markEvicted(keys: readonly string[]): void {\n for (const key of keys) this.markDeleted(key);\n }\n\n hasPending(): boolean {\n return this.dirty.size > 0 || this.deleted.size > 0;\n }\n\n /**\n * Persist buffer state. On session-capable storage this writes ONLY the\n * sessions whose state changed since the last successful persist and\n * deletes files for evicted/reset sessions, so the observe path never\n * re-serializes other sessions' turns. On legacy storage it falls back to\n * the whole-state saveBuffer. Files are deleted before dirty writes: a\n * crash mid-persist can then only resurrect already-evicted data (the same\n * exposure as a whole-file rewrite), never drop sessions the state says\n * exist.\n */\n async persist(\n storage: BufferStorage,\n state: BufferState,\n peekEntry: (key: string) => BufferEntryState | undefined,\n ): Promise<void> {\n const saveSession = storage.saveBufferSession?.bind(storage);\n const deleteSession = storage.deleteBufferSession?.bind(storage);\n if (!saveSession || !deleteSession) {\n await storage.saveBuffer(state);\n this.dirty.clear();\n this.deleted.clear();\n return;\n }\n for (const key of [...this.deleted]) {\n await deleteSession(key);\n this.deleted.delete(key);\n }\n for (const key of [...this.dirty]) {\n const entry = peekEntry(key);\n if (!entry) {\n // A dirty key without state must not be written from a fabricated\n // empty entry: treat it as a deletion instead.\n this.markDeleted(key);\n continue;\n }\n await saveSession(key, entry);\n this.dirty.delete(key);\n }\n }\n}\n"],"mappings":";AA0BO,IAAM,2BAAN,MAA+B;AAAA,EACnB,QAAQ,oBAAI,IAAY;AAAA,EACxB,UAAU,oBAAI,IAAY;AAAA,EAE3C,UAAU,KAAmB;AAC3B,SAAK,MAAM,IAAI,GAAG;AAClB,SAAK,QAAQ,OAAO,GAAG;AAAA,EACzB;AAAA,EAEA,YAAY,KAAmB;AAC7B,SAAK,QAAQ,IAAI,GAAG;AACpB,SAAK,MAAM,OAAO,GAAG;AAAA,EACvB;AAAA;AAAA,EAGA,YAAY,MAA+B;AACzC,eAAW,OAAO,KAAM,MAAK,YAAY,GAAG;AAAA,EAC9C;AAAA,EAEA,aAAsB;AACpB,WAAO,KAAK,MAAM,OAAO,KAAK,KAAK,QAAQ,OAAO;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,QACJ,SACA,OACA,WACe;AACf,UAAM,cAAc,QAAQ,mBAAmB,KAAK,OAAO;AAC3D,UAAM,gBAAgB,QAAQ,qBAAqB,KAAK,OAAO;AAC/D,QAAI,CAAC,eAAe,CAAC,eAAe;AAClC,YAAM,QAAQ,WAAW,KAAK;AAC9B,WAAK,MAAM,MAAM;AACjB,WAAK,QAAQ,MAAM;AACnB;AAAA,IACF;AACA,eAAW,OAAO,CAAC,GAAG,KAAK,OAAO,GAAG;AACnC,YAAM,cAAc,GAAG;AACvB,WAAK,QAAQ,OAAO,GAAG;AAAA,IACzB;AACA,eAAW,OAAO,CAAC,GAAG,KAAK,KAAK,GAAG;AACjC,YAAM,QAAQ,UAAU,GAAG;AAC3B,UAAI,CAAC,OAAO;AAGV,aAAK,YAAY,GAAG;AACpB;AAAA,MACF;AACA,YAAM,YAAY,KAAK,KAAK;AAC5B,WAAK,MAAM,OAAO,GAAG;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|