@remnic/core 9.69.23 → 9.69.24
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/abstraction-nodes.js +3 -2
- package/dist/access-admin-ops-surface.d.ts +1 -1
- package/dist/access-admin-ops-surface.js +53 -53
- package/dist/access-authorization-probe.d.ts +1 -1
- package/dist/access-authorization-probe.js +54 -54
- package/dist/access-boundary.d.ts +1 -1
- package/dist/access-boundary.js +53 -53
- package/dist/access-citation-namespace.js +3 -3
- package/dist/access-cli.js +112 -112
- package/dist/access-extraction-force-flush.d.ts +1 -1
- package/dist/access-extraction-force-flush.js +53 -53
- package/dist/access-http-briefing.d.ts +1 -1
- package/dist/access-http-briefing.js +54 -54
- package/dist/access-http-lcm-compaction.d.ts +1 -1
- package/dist/access-http-lifecycle-flush.d.ts +1 -1
- package/dist/access-http-offline-stream.d.ts +1 -1
- package/dist/access-http-query.js +55 -55
- package/dist/access-http.d.ts +2 -2
- package/dist/access-http.js +72 -72
- package/dist/access-identity-continuity-surface.js +53 -53
- package/dist/access-lcm-surface.d.ts +1 -1
- package/dist/access-lcm-surface.js +53 -53
- package/dist/access-mcp.d.ts +1 -1
- package/dist/access-mcp.js +64 -64
- package/dist/access-namespace-preflight.js +53 -53
- package/dist/access-observe-write-surface.d.ts +1 -1
- package/dist/access-observe-write-surface.js +53 -53
- package/dist/access-offline-manifest.js +10 -10
- package/dist/access-operations-batch.js +58 -58
- package/dist/access-operations.d.ts +6 -6
- package/dist/access-operations.js +63 -63
- package/dist/access-recall-concurrency.d.ts +1 -1
- package/dist/access-recall-concurrency.js +53 -53
- package/dist/access-recall-response.d.ts +1 -1
- package/dist/access-recall-response.js +53 -53
- package/dist/access-recall-surface.d.ts +1 -1
- package/dist/access-recall-surface.js +53 -53
- package/dist/access-schema.d.ts +91 -91
- package/dist/access-schema.js +6 -5
- package/dist/access-service-helpers.d.ts +1 -1
- package/dist/access-service.d.ts +1 -1
- package/dist/access-service.js +53 -53
- package/dist/access-surface-catalog.d.ts +1 -1
- package/dist/access-surface-catalog.js +55 -55
- package/dist/active-recall.js +12 -11
- package/dist/active-recall.js.map +1 -1
- package/dist/{auto-sync-TTIEWJ5X.js → auto-sync-WNGG2GC2.js} +7 -7
- package/dist/briefing.js +20 -20
- package/dist/buffer.js +9 -9
- package/dist/calibration.js +2 -1
- package/dist/calibration.js.map +1 -1
- package/dist/{capsule-merge-CU6QJBSV.js → capsule-merge-IPG4IOFP.js} +4 -4
- package/dist/causal-behavior.js +4 -3
- package/dist/causal-behavior.js.map +1 -1
- package/dist/causal-chain.js +4 -3
- package/dist/causal-consolidation.js +25 -25
- package/dist/causal-retrieval.js +4 -3
- package/dist/causal-retrieval.js.map +1 -1
- package/dist/causal-trajectory-graph.js +2 -1
- package/dist/causal-trajectory-graph.js.map +1 -1
- package/dist/causal-trajectory.js +3 -2
- package/dist/{chunk-5RWHODVF.js → chunk-27QVNSQ3.js} +2 -2
- package/dist/{chunk-2MX7RU7B.js → chunk-2EKJDQZB.js} +2 -2
- package/dist/{chunk-XLRM6PPI.js → chunk-2IOHTUP3.js} +4 -4
- package/dist/{chunk-ZGQDTD5T.js → chunk-2ITE4C2Z.js} +2 -2
- package/dist/{chunk-O5ZR7SXV.js → chunk-2SGLMP2E.js} +2 -2
- package/dist/{chunk-FYWLSFFS.js → chunk-2Z4GS5E6.js} +2 -2
- package/dist/{chunk-WELP4CG6.js → chunk-37KUQPX4.js} +6 -6
- package/dist/{chunk-DDQQY2E3.js → chunk-3BTFBQLO.js} +7 -7
- package/dist/chunk-3BTFBQLO.js.map +1 -0
- package/dist/{chunk-UR6PBX2J.js → chunk-3K7V3HE6.js} +35 -60
- package/dist/chunk-3K7V3HE6.js.map +1 -0
- package/dist/{chunk-MRSLR6TB.js → chunk-3QQTXYZ6.js} +2 -2
- package/dist/{chunk-DJUKBGAD.js → chunk-46EST7JO.js} +5 -5
- package/dist/chunk-46EST7JO.js.map +1 -0
- package/dist/{chunk-CI6C33EO.js → chunk-46ZPIGWI.js} +3 -3
- package/dist/{chunk-HTIIXNJQ.js → chunk-4FIH6MPS.js} +6 -3
- package/dist/chunk-4FIH6MPS.js.map +1 -0
- package/dist/{chunk-MCA2X4WH.js → chunk-4IHBN6WU.js} +2 -2
- package/dist/{chunk-W7IGLX4G.js → chunk-4O6WRBGE.js} +7 -7
- package/dist/chunk-4O6WRBGE.js.map +1 -0
- package/dist/{chunk-TOZCM7WN.js → chunk-4TKJGOCJ.js} +2 -2
- package/dist/{chunk-3ADRFFRO.js → chunk-54WHLA65.js} +4 -4
- package/dist/{chunk-Z2N2AHEM.js → chunk-56Y6EKZN.js} +2 -2
- package/dist/{chunk-2H2N5UQW.js → chunk-5ATKSPEQ.js} +2 -2
- package/dist/{chunk-MSOXFXCA.js → chunk-5FAGCOZD.js} +5 -5
- package/dist/chunk-5FAGCOZD.js.map +1 -0
- package/dist/{chunk-ZVZHG7AI.js → chunk-5UBH37SL.js} +3 -3
- package/dist/{chunk-YZYZ2BEU.js → chunk-66OJSCI6.js} +2 -2
- package/dist/{chunk-HNPE66LB.js → chunk-6CVNSDCZ.js} +4 -4
- package/dist/{chunk-ERVJFFTR.js → chunk-6NXSYYGP.js} +2 -2
- package/dist/{chunk-2HIJHXB3.js → chunk-6WHJ2EAB.js} +2 -2
- package/dist/{chunk-34VTBPNE.js → chunk-6XL73HQ4.js} +4 -4
- package/dist/{chunk-YK3UIF7X.js → chunk-AQ7SYDVO.js} +2 -2
- package/dist/{chunk-DSCCM66R.js → chunk-B3O3IRZN.js} +2 -2
- package/dist/{chunk-P77QX3ID.js → chunk-B6O2YLUR.js} +21 -20
- package/dist/chunk-B6O2YLUR.js.map +1 -0
- package/dist/{chunk-N37X5RU7.js → chunk-BD7JTBYP.js} +2 -2
- package/dist/{chunk-VO43BJ2F.js → chunk-BLJWYCNO.js} +5 -5
- package/dist/{chunk-ACPCA4NO.js → chunk-BMWN7B3Y.js} +6 -6
- package/dist/chunk-BMWN7B3Y.js.map +1 -0
- package/dist/{chunk-HSKSVY3Q.js → chunk-C553ZTLF.js} +15 -15
- package/dist/{chunk-GCASGYIO.js → chunk-C7HJ3NEI.js} +2 -2
- package/dist/{chunk-WVGXCBOC.js → chunk-D5F7TKMH.js} +2 -2
- package/dist/{chunk-UFT2XNBW.js → chunk-DGS34QSY.js} +2 -2
- package/dist/{chunk-VAOL3SOT.js → chunk-DZD3WGCD.js} +4 -4
- package/dist/{chunk-KHMS2FQS.js → chunk-E2P7TZTF.js} +2 -2
- package/dist/{chunk-6FC3IZ26.js → chunk-EBA5DA77.js} +2 -2
- package/dist/{chunk-E6EANYLD.js → chunk-EOQ6FSQP.js} +2 -2
- package/dist/{chunk-7RPPCA26.js → chunk-FVOP3NT7.js} +2 -2
- package/dist/{chunk-NRLELHAY.js → chunk-G7NYVKD6.js} +2 -2
- package/dist/{chunk-QY34X2QJ.js → chunk-GHTSNGBZ.js} +2 -2
- package/dist/{chunk-SLIOMMPF.js → chunk-H272ZPQ3.js} +5 -5
- package/dist/{chunk-ZZBQNQS6.js → chunk-H3TKENU4.js} +2 -2
- package/dist/{chunk-5OPNUUBX.js → chunk-H4SEGIZY.js} +2 -2
- package/dist/{chunk-F2HMDGLC.js → chunk-H54VWRPS.js} +13 -13
- package/dist/{chunk-HTP6XRUI.js → chunk-HM7RHKS4.js} +2 -2
- package/dist/{chunk-O7H3P2SJ.js → chunk-HWLIMQE2.js} +2 -2
- package/dist/{chunk-62WZDHTW.js → chunk-ICKJ52PE.js} +33 -33
- package/dist/chunk-ICKJ52PE.js.map +1 -0
- package/dist/{chunk-I3FDDCY3.js → chunk-JEC4DVM3.js} +8 -8
- package/dist/chunk-JEC4DVM3.js.map +1 -0
- package/dist/{chunk-ET2CNMLD.js → chunk-JN72EPOE.js} +2 -2
- package/dist/{chunk-E7UQOS4C.js → chunk-JPKK466T.js} +2 -2
- package/dist/{chunk-JCCWJHOP.js → chunk-JYZSRNR7.js} +2 -2
- package/dist/{chunk-7IUESBLV.js → chunk-K7724CH2.js} +2 -2
- package/dist/{chunk-UK7HXNNJ.js → chunk-KAXCYM66.js} +3 -3
- package/dist/{chunk-7XVP4P4O.js → chunk-KB2G2I6Q.js} +3 -3
- package/dist/{chunk-K7LTRJZU.js → chunk-KEF46KL2.js} +2 -2
- package/dist/{chunk-5UZXUTVO.js → chunk-KNA3BXXL.js} +6 -2
- package/dist/chunk-KNA3BXXL.js.map +1 -0
- package/dist/{chunk-JYYTWCPU.js → chunk-KTWG7CNY.js} +6 -6
- package/dist/{chunk-XTYDEO7M.js → chunk-L7Z57SID.js} +2 -2
- package/dist/{chunk-EYMPUXAN.js → chunk-LO4UKPKX.js} +3 -3
- package/dist/{chunk-LDWIPYJ6.js → chunk-LS2FHUML.js} +3 -3
- package/dist/{chunk-GDB4J2H3.js → chunk-MPC7TYTZ.js} +2 -2
- package/dist/{chunk-2GF27PGH.js → chunk-MRPOZBJC.js} +3 -3
- package/dist/{chunk-7OLKAQMG.js → chunk-MWN6QEI2.js} +2 -2
- package/dist/{chunk-J62HG52Z.js → chunk-MY5EDR46.js} +4 -4
- package/dist/{chunk-IZRMWPGS.js → chunk-N3ZOP7KC.js} +2 -2
- package/dist/{chunk-N6A2RP5S.js → chunk-NB3LRY4T.js} +3 -3
- package/dist/{chunk-4N5BIR2U.js → chunk-ND6IQGSZ.js} +2 -2
- package/dist/{chunk-NOB2T2FC.js → chunk-NHLLKEKK.js} +2 -2
- package/dist/{chunk-WW6B7NQJ.js → chunk-NLYVH66G.js} +6 -6
- package/dist/chunk-NLYVH66G.js.map +1 -0
- package/dist/{chunk-M5CQNOQN.js → chunk-O6ZNNVSP.js} +2 -2
- package/dist/{chunk-NNBZS3DY.js → chunk-OB3XMWX5.js} +2 -2
- package/dist/{chunk-TXJNRGMI.js → chunk-OEYZXDQI.js} +6 -6
- package/dist/chunk-OEYZXDQI.js.map +1 -0
- package/dist/{chunk-SIBVIP2Y.js → chunk-PAZY2ZKP.js} +2 -2
- package/dist/{chunk-LXESHEBP.js → chunk-PX4UMA5Z.js} +2 -2
- package/dist/{chunk-4KNRKJXQ.js → chunk-QOOBICJF.js} +5 -5
- package/dist/chunk-QOOBICJF.js.map +1 -0
- package/dist/{chunk-NNZFPYYX.js → chunk-R7QY5ZVB.js} +2 -2
- package/dist/{chunk-WTRTFIIN.js → chunk-R7RTXEYG.js} +2 -2
- package/dist/{chunk-XRBJ5R3P.js → chunk-RBCQVOVJ.js} +3 -3
- package/dist/{chunk-WFZNT4KB.js → chunk-RC5DXXWC.js} +2 -2
- package/dist/{chunk-OH7LZHGJ.js → chunk-RJYJ7KR7.js} +52 -52
- package/dist/{chunk-OH7LZHGJ.js.map → chunk-RJYJ7KR7.js.map} +1 -1
- package/dist/{chunk-5QZR2RA3.js → chunk-ROBHL3GL.js} +2 -2
- package/dist/{chunk-6PST2SFW.js → chunk-SCXURCVT.js} +3 -3
- package/dist/{chunk-AYG7ML7O.js → chunk-SJDQ5RSN.js} +3 -3
- package/dist/{chunk-3ZBLKIHJ.js → chunk-SMWTZLHE.js} +51 -41
- package/dist/{chunk-3ZBLKIHJ.js.map → chunk-SMWTZLHE.js.map} +1 -1
- package/dist/{chunk-IQXDSKTL.js → chunk-SVXJLDDC.js} +6 -6
- package/dist/{chunk-SEF4IOFE.js → chunk-SWIKABKI.js} +2 -2
- package/dist/{chunk-ZJABRLCZ.js → chunk-TBXAY2SS.js} +4 -4
- package/dist/{chunk-GIC6BASP.js → chunk-TNSCIPBQ.js} +2 -2
- package/dist/{chunk-ZMDMHSV2.js → chunk-TVEONGBU.js} +2 -2
- package/dist/{chunk-4FSEZRGK.js → chunk-TWF35IC6.js} +2 -2
- package/dist/{chunk-LS2SGMQE.js → chunk-U6N5IBVY.js} +2 -2
- package/dist/{chunk-62YW6OYI.js → chunk-UCKYTA2T.js} +3 -3
- package/dist/{chunk-YFCHNOGJ.js → chunk-UNNPNBR2.js} +9 -9
- package/dist/{chunk-Z2M7F4QM.js → chunk-VVX5PZFS.js} +3 -3
- package/dist/{chunk-NTYLZXDX.js → chunk-VYCOJKSX.js} +2 -2
- package/dist/{chunk-UICSQESY.js → chunk-W24T5YMW.js} +2 -2
- package/dist/{chunk-HDQUQBPW.js → chunk-W3K3HITK.js} +2 -2
- package/dist/{chunk-GDASG7NC.js → chunk-W4F3C7N7.js} +2 -2
- package/dist/{chunk-YBLZFNIQ.js → chunk-WJHGDE7X.js} +2 -2
- package/dist/{chunk-ZBPXG5PJ.js → chunk-WMLEPWMO.js} +9 -9
- package/dist/chunk-WMLEPWMO.js.map +1 -0
- package/dist/{chunk-4F24PHNX.js → chunk-WQZZDN5M.js} +2 -2
- package/dist/{chunk-CDZEUCV7.js → chunk-X5K5TAQZ.js} +4 -4
- package/dist/{chunk-5AUODSOQ.js → chunk-XM24CDZX.js} +3 -3
- package/dist/{chunk-6VML2LII.js → chunk-XOVKXJEP.js} +3 -3
- package/dist/{chunk-OU5TIWDQ.js → chunk-XSGUMQQQ.js} +12 -12
- package/dist/{chunk-7CFVBWDC.js → chunk-XUE46UYW.js} +3 -3
- package/dist/{chunk-DJORULH3.js → chunk-YRLHEEQT.js} +2 -2
- package/dist/{chunk-YRWDPE32.js → chunk-Z3O53WZR.js} +2 -2
- package/dist/{chunk-CSY5DA7O.js → chunk-Z6COGHHN.js} +2 -2
- package/dist/{chunk-OYR3IPHD.js → chunk-ZIW5JVRM.js} +2 -2
- package/dist/{cli-B_YwqoIr.d.ts → cli-DD0P-lu8.d.ts} +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +94 -94
- package/dist/coding/export-okf-codegraph.js +21 -21
- package/dist/coding/pre-action-gate.js +4 -3
- package/dist/commitment-ledger.js +3 -2
- package/dist/compounding/engine.js +21 -21
- package/dist/config.js +12 -11
- package/dist/connectors/codex-materialize-runner.js +21 -21
- package/dist/connectors/codex-materialize.js +3 -3
- package/dist/connectors/index.js +21 -21
- package/dist/consolidation-provenance-check.js +4 -4
- package/dist/consolidation-undo.js +3 -3
- package/dist/contradiction/index.js +7 -7
- package/dist/convergence-refresh.js +22 -22
- package/dist/corpus-watermark.js +22 -22
- package/dist/cue-anchors.js +4 -3
- package/dist/deep-recall-http-glue.d.ts +1 -1
- package/dist/deep-recall-http-glue.js +7 -6
- package/dist/deep-recall-mcp-tools.d.ts +1 -1
- package/dist/entity-retrieval.js +20 -20
- package/dist/eval-trajectory-store.js +4 -3
- package/dist/eval-trajectory.js +4 -3
- package/dist/evals.js +3 -2
- package/dist/explicit-capture.js +8 -8
- package/dist/external-wiki-access.d.ts +1 -1
- package/dist/external-wiki-access.js +54 -54
- package/dist/external-wiki-mcp-tools.d.ts +1 -1
- package/dist/extraction.js +25 -25
- package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-RC345GPL.js} +6 -5
- package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-RC345GPL.js.map} +1 -1
- package/dist/{graph-edge-decay-CJW4OT2X.js → graph-edge-decay-MKIRZ762.js} +5 -4
- package/dist/graph-jsonl.js +3 -2
- package/dist/graph-snapshot.js +3 -2
- package/dist/graph.js +2 -1
- package/dist/harmonic-construction.js +5 -4
- package/dist/harmonic-retrieval.js +5 -4
- package/dist/index.d.ts +693 -681
- package/dist/index.js +114 -112
- package/dist/json-store.js +2 -1
- package/dist/live-connectors-runner.js +3 -2
- package/dist/location/index.js +23 -23
- package/dist/maintenance/memory-governance.js +20 -20
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +20 -20
- package/dist/maintenance/rebuild-memory-projection.js +21 -21
- package/dist/mcp-memory-inspector-app.d.ts +1 -1
- package/dist/memory-projection-mutations.js +3 -3
- package/dist/memory-subject-cli.d.ts +1 -1
- package/dist/memory-subject.d.ts +1 -1
- package/dist/memory-subject.js +4 -4
- package/dist/namespaces/migrate.js +21 -21
- package/dist/namespaces/search.js +8 -8
- package/dist/namespaces/storage.js +20 -20
- package/dist/objective-state-writers.js +4 -3
- package/dist/objective-state.js +3 -2
- package/dist/offline-sync-file-io.js +4 -3
- package/dist/offline-sync-impression-drain.js +5 -5
- package/dist/offline-sync.js +5 -4
- package/dist/operator-doctor-corpus.js +23 -23
- package/dist/operator-toolkit.js +38 -38
- package/dist/orchestration/maintenance.js +29 -29
- package/dist/orchestrator.js +112 -112
- package/dist/page-versioning.js +3 -3
- package/dist/{public-http-D6d4W8x-.d.ts → public-http-C4i8Opxc.d.ts} +1 -1
- package/dist/{purge-OP6BEDFY.js → purge-TZKRE6ZQ.js} +5 -5
- package/dist/purge-TZKRE6ZQ.js.map +1 -0
- package/dist/recall-state.js +3 -3
- package/dist/reconcile/manifest.js +4 -4
- package/dist/{resolution-U5O4QANY.js → resolution-VKATP2HT.js} +8 -8
- package/dist/resume-bundles.js +16 -15
- package/dist/salvage-envelope.js +6 -6
- package/dist/schemas.d.ts +176 -176
- package/dist/search/document-scanner.js +3 -3
- package/dist/search/factory.js +7 -7
- package/dist/search/index.js +7 -7
- package/dist/search/lancedb-backend.js +4 -4
- package/dist/search/meilisearch-backend.js +4 -4
- package/dist/search/orama-backend.js +4 -4
- package/dist/secure-store/index.js +3 -3
- package/dist/semantic-consolidation.js +22 -22
- package/dist/semantic-rule-promotion.js +20 -20
- package/dist/semantic-rule-verifier.js +20 -20
- package/dist/shared-context/manager.d.ts +6 -6
- package/dist/source-agent-qualifier.js +24 -24
- package/dist/standup/build.js +20 -20
- package/dist/storage.js +19 -19
- package/dist/subject-config.js +5 -5
- package/dist/support-passport/index.d.ts +4 -4
- package/dist/support-passport/index.js +56 -56
- package/dist/{tier-stats-2TOW3QNL.js → tier-stats-KA6OZX2C.js} +6 -5
- package/dist/{tier-stats-2TOW3QNL.js.map → tier-stats-KA6OZX2C.js.map} +1 -1
- package/dist/transfer/capsule-import.js +4 -4
- package/dist/transfer/export-okf.js +21 -21
- package/dist/transfer/types.d.ts +78 -78
- package/dist/trust-zones.js +3 -2
- package/dist/utility-learner.js +4 -3
- package/dist/utility-runtime.js +5 -4
- package/dist/utility-telemetry.js +3 -2
- package/dist/verified-recall.js +20 -20
- package/dist/who-knows-cli.d.ts +1 -1
- package/dist/who-knows-cli.js +21 -21
- package/dist/who-knows.d.ts +1 -1
- package/dist/who-knows.js +20 -20
- package/dist/work/board.js +3 -3
- package/dist/work/storage.js +2 -2
- package/dist/work-product-ledger.js +3 -2
- package/dist/write-envelope.js +5 -5
- package/package.json +2 -2
- package/src/abstraction-nodes.ts +1 -4
- package/src/binary-lifecycle/backend.ts +2 -1
- package/src/connectors/live/github.ts +10 -17
- package/src/connectors/live/gmail.ts +8 -19
- package/src/connectors/live/google-drive.ts +6 -13
- package/src/connectors/live/notion.ts +11 -21
- package/src/cue-anchors.ts +1 -6
- package/src/graph.ts +2 -4
- package/src/json-store.ts +17 -20
- package/src/live-connectors-runner.ts +2 -1
- package/src/location/store.ts +1 -4
- package/src/maintenance/purge.ts +2 -5
- package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +3 -6
- package/src/maintenance/rebuild-memory-projection.ts +2 -5
- package/src/namespaces/catalog.ts +1 -9
- package/src/offline-sync-file-io.test.ts +39 -0
- package/src/offline-sync-file-io.ts +3 -7
- package/src/procedural/procedure-miner.ts +1 -9
- package/src/search/document-scanner.ts +3 -6
- package/src/semantic-rule-promotion.ts +1 -4
- package/src/utils/errno.test.ts +31 -0
- package/src/utils/errno.ts +5 -0
- package/src/wearables/index.ts +1 -0
- package/src/wearables/registry.ts +23 -0
- package/dist/chunk-4KNRKJXQ.js.map +0 -1
- package/dist/chunk-5UZXUTVO.js.map +0 -1
- package/dist/chunk-62WZDHTW.js.map +0 -1
- package/dist/chunk-ACPCA4NO.js.map +0 -1
- package/dist/chunk-DDQQY2E3.js.map +0 -1
- package/dist/chunk-DJUKBGAD.js.map +0 -1
- package/dist/chunk-HTIIXNJQ.js.map +0 -1
- package/dist/chunk-I3FDDCY3.js.map +0 -1
- package/dist/chunk-MSOXFXCA.js.map +0 -1
- package/dist/chunk-P77QX3ID.js.map +0 -1
- package/dist/chunk-TXJNRGMI.js.map +0 -1
- package/dist/chunk-UR6PBX2J.js.map +0 -1
- package/dist/chunk-W7IGLX4G.js.map +0 -1
- package/dist/chunk-WW6B7NQJ.js.map +0 -1
- package/dist/chunk-ZBPXG5PJ.js.map +0 -1
- package/dist/purge-OP6BEDFY.js.map +0 -1
- package/dist/{access-service-Cv8Rizo0.d.ts → access-service-DWdY9Mlk.d.ts} +64 -64
- /package/dist/{auto-sync-TTIEWJ5X.js.map → auto-sync-WNGG2GC2.js.map} +0 -0
- /package/dist/{capsule-merge-CU6QJBSV.js.map → capsule-merge-IPG4IOFP.js.map} +0 -0
- /package/dist/{chunk-5RWHODVF.js.map → chunk-27QVNSQ3.js.map} +0 -0
- /package/dist/{chunk-2MX7RU7B.js.map → chunk-2EKJDQZB.js.map} +0 -0
- /package/dist/{chunk-XLRM6PPI.js.map → chunk-2IOHTUP3.js.map} +0 -0
- /package/dist/{chunk-ZGQDTD5T.js.map → chunk-2ITE4C2Z.js.map} +0 -0
- /package/dist/{chunk-O5ZR7SXV.js.map → chunk-2SGLMP2E.js.map} +0 -0
- /package/dist/{chunk-FYWLSFFS.js.map → chunk-2Z4GS5E6.js.map} +0 -0
- /package/dist/{chunk-WELP4CG6.js.map → chunk-37KUQPX4.js.map} +0 -0
- /package/dist/{chunk-MRSLR6TB.js.map → chunk-3QQTXYZ6.js.map} +0 -0
- /package/dist/{chunk-CI6C33EO.js.map → chunk-46ZPIGWI.js.map} +0 -0
- /package/dist/{chunk-MCA2X4WH.js.map → chunk-4IHBN6WU.js.map} +0 -0
- /package/dist/{chunk-TOZCM7WN.js.map → chunk-4TKJGOCJ.js.map} +0 -0
- /package/dist/{chunk-3ADRFFRO.js.map → chunk-54WHLA65.js.map} +0 -0
- /package/dist/{chunk-Z2N2AHEM.js.map → chunk-56Y6EKZN.js.map} +0 -0
- /package/dist/{chunk-2H2N5UQW.js.map → chunk-5ATKSPEQ.js.map} +0 -0
- /package/dist/{chunk-ZVZHG7AI.js.map → chunk-5UBH37SL.js.map} +0 -0
- /package/dist/{chunk-YZYZ2BEU.js.map → chunk-66OJSCI6.js.map} +0 -0
- /package/dist/{chunk-HNPE66LB.js.map → chunk-6CVNSDCZ.js.map} +0 -0
- /package/dist/{chunk-ERVJFFTR.js.map → chunk-6NXSYYGP.js.map} +0 -0
- /package/dist/{chunk-2HIJHXB3.js.map → chunk-6WHJ2EAB.js.map} +0 -0
- /package/dist/{chunk-34VTBPNE.js.map → chunk-6XL73HQ4.js.map} +0 -0
- /package/dist/{chunk-YK3UIF7X.js.map → chunk-AQ7SYDVO.js.map} +0 -0
- /package/dist/{chunk-DSCCM66R.js.map → chunk-B3O3IRZN.js.map} +0 -0
- /package/dist/{chunk-N37X5RU7.js.map → chunk-BD7JTBYP.js.map} +0 -0
- /package/dist/{chunk-VO43BJ2F.js.map → chunk-BLJWYCNO.js.map} +0 -0
- /package/dist/{chunk-HSKSVY3Q.js.map → chunk-C553ZTLF.js.map} +0 -0
- /package/dist/{chunk-GCASGYIO.js.map → chunk-C7HJ3NEI.js.map} +0 -0
- /package/dist/{chunk-WVGXCBOC.js.map → chunk-D5F7TKMH.js.map} +0 -0
- /package/dist/{chunk-UFT2XNBW.js.map → chunk-DGS34QSY.js.map} +0 -0
- /package/dist/{chunk-VAOL3SOT.js.map → chunk-DZD3WGCD.js.map} +0 -0
- /package/dist/{chunk-KHMS2FQS.js.map → chunk-E2P7TZTF.js.map} +0 -0
- /package/dist/{chunk-6FC3IZ26.js.map → chunk-EBA5DA77.js.map} +0 -0
- /package/dist/{chunk-E6EANYLD.js.map → chunk-EOQ6FSQP.js.map} +0 -0
- /package/dist/{chunk-7RPPCA26.js.map → chunk-FVOP3NT7.js.map} +0 -0
- /package/dist/{chunk-NRLELHAY.js.map → chunk-G7NYVKD6.js.map} +0 -0
- /package/dist/{chunk-QY34X2QJ.js.map → chunk-GHTSNGBZ.js.map} +0 -0
- /package/dist/{chunk-SLIOMMPF.js.map → chunk-H272ZPQ3.js.map} +0 -0
- /package/dist/{chunk-ZZBQNQS6.js.map → chunk-H3TKENU4.js.map} +0 -0
- /package/dist/{chunk-5OPNUUBX.js.map → chunk-H4SEGIZY.js.map} +0 -0
- /package/dist/{chunk-F2HMDGLC.js.map → chunk-H54VWRPS.js.map} +0 -0
- /package/dist/{chunk-HTP6XRUI.js.map → chunk-HM7RHKS4.js.map} +0 -0
- /package/dist/{chunk-O7H3P2SJ.js.map → chunk-HWLIMQE2.js.map} +0 -0
- /package/dist/{chunk-ET2CNMLD.js.map → chunk-JN72EPOE.js.map} +0 -0
- /package/dist/{chunk-E7UQOS4C.js.map → chunk-JPKK466T.js.map} +0 -0
- /package/dist/{chunk-JCCWJHOP.js.map → chunk-JYZSRNR7.js.map} +0 -0
- /package/dist/{chunk-7IUESBLV.js.map → chunk-K7724CH2.js.map} +0 -0
- /package/dist/{chunk-UK7HXNNJ.js.map → chunk-KAXCYM66.js.map} +0 -0
- /package/dist/{chunk-7XVP4P4O.js.map → chunk-KB2G2I6Q.js.map} +0 -0
- /package/dist/{chunk-K7LTRJZU.js.map → chunk-KEF46KL2.js.map} +0 -0
- /package/dist/{chunk-JYYTWCPU.js.map → chunk-KTWG7CNY.js.map} +0 -0
- /package/dist/{chunk-XTYDEO7M.js.map → chunk-L7Z57SID.js.map} +0 -0
- /package/dist/{chunk-EYMPUXAN.js.map → chunk-LO4UKPKX.js.map} +0 -0
- /package/dist/{chunk-LDWIPYJ6.js.map → chunk-LS2FHUML.js.map} +0 -0
- /package/dist/{chunk-GDB4J2H3.js.map → chunk-MPC7TYTZ.js.map} +0 -0
- /package/dist/{chunk-2GF27PGH.js.map → chunk-MRPOZBJC.js.map} +0 -0
- /package/dist/{chunk-7OLKAQMG.js.map → chunk-MWN6QEI2.js.map} +0 -0
- /package/dist/{chunk-J62HG52Z.js.map → chunk-MY5EDR46.js.map} +0 -0
- /package/dist/{chunk-IZRMWPGS.js.map → chunk-N3ZOP7KC.js.map} +0 -0
- /package/dist/{chunk-N6A2RP5S.js.map → chunk-NB3LRY4T.js.map} +0 -0
- /package/dist/{chunk-4N5BIR2U.js.map → chunk-ND6IQGSZ.js.map} +0 -0
- /package/dist/{chunk-NOB2T2FC.js.map → chunk-NHLLKEKK.js.map} +0 -0
- /package/dist/{chunk-M5CQNOQN.js.map → chunk-O6ZNNVSP.js.map} +0 -0
- /package/dist/{chunk-NNBZS3DY.js.map → chunk-OB3XMWX5.js.map} +0 -0
- /package/dist/{chunk-SIBVIP2Y.js.map → chunk-PAZY2ZKP.js.map} +0 -0
- /package/dist/{chunk-LXESHEBP.js.map → chunk-PX4UMA5Z.js.map} +0 -0
- /package/dist/{chunk-NNZFPYYX.js.map → chunk-R7QY5ZVB.js.map} +0 -0
- /package/dist/{chunk-WTRTFIIN.js.map → chunk-R7RTXEYG.js.map} +0 -0
- /package/dist/{chunk-XRBJ5R3P.js.map → chunk-RBCQVOVJ.js.map} +0 -0
- /package/dist/{chunk-WFZNT4KB.js.map → chunk-RC5DXXWC.js.map} +0 -0
- /package/dist/{chunk-5QZR2RA3.js.map → chunk-ROBHL3GL.js.map} +0 -0
- /package/dist/{chunk-6PST2SFW.js.map → chunk-SCXURCVT.js.map} +0 -0
- /package/dist/{chunk-AYG7ML7O.js.map → chunk-SJDQ5RSN.js.map} +0 -0
- /package/dist/{chunk-IQXDSKTL.js.map → chunk-SVXJLDDC.js.map} +0 -0
- /package/dist/{chunk-SEF4IOFE.js.map → chunk-SWIKABKI.js.map} +0 -0
- /package/dist/{chunk-ZJABRLCZ.js.map → chunk-TBXAY2SS.js.map} +0 -0
- /package/dist/{chunk-GIC6BASP.js.map → chunk-TNSCIPBQ.js.map} +0 -0
- /package/dist/{chunk-ZMDMHSV2.js.map → chunk-TVEONGBU.js.map} +0 -0
- /package/dist/{chunk-4FSEZRGK.js.map → chunk-TWF35IC6.js.map} +0 -0
- /package/dist/{chunk-LS2SGMQE.js.map → chunk-U6N5IBVY.js.map} +0 -0
- /package/dist/{chunk-62YW6OYI.js.map → chunk-UCKYTA2T.js.map} +0 -0
- /package/dist/{chunk-YFCHNOGJ.js.map → chunk-UNNPNBR2.js.map} +0 -0
- /package/dist/{chunk-Z2M7F4QM.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-NTYLZXDX.js.map → chunk-VYCOJKSX.js.map} +0 -0
- /package/dist/{chunk-UICSQESY.js.map → chunk-W24T5YMW.js.map} +0 -0
- /package/dist/{chunk-HDQUQBPW.js.map → chunk-W3K3HITK.js.map} +0 -0
- /package/dist/{chunk-GDASG7NC.js.map → chunk-W4F3C7N7.js.map} +0 -0
- /package/dist/{chunk-YBLZFNIQ.js.map → chunk-WJHGDE7X.js.map} +0 -0
- /package/dist/{chunk-4F24PHNX.js.map → chunk-WQZZDN5M.js.map} +0 -0
- /package/dist/{chunk-CDZEUCV7.js.map → chunk-X5K5TAQZ.js.map} +0 -0
- /package/dist/{chunk-5AUODSOQ.js.map → chunk-XM24CDZX.js.map} +0 -0
- /package/dist/{chunk-6VML2LII.js.map → chunk-XOVKXJEP.js.map} +0 -0
- /package/dist/{chunk-OU5TIWDQ.js.map → chunk-XSGUMQQQ.js.map} +0 -0
- /package/dist/{chunk-7CFVBWDC.js.map → chunk-XUE46UYW.js.map} +0 -0
- /package/dist/{chunk-DJORULH3.js.map → chunk-YRLHEEQT.js.map} +0 -0
- /package/dist/{chunk-YRWDPE32.js.map → chunk-Z3O53WZR.js.map} +0 -0
- /package/dist/{chunk-CSY5DA7O.js.map → chunk-Z6COGHHN.js.map} +0 -0
- /package/dist/{chunk-OYR3IPHD.js.map → chunk-ZIW5JVRM.js.map} +0 -0
- /package/dist/{graph-edge-decay-CJW4OT2X.js.map → graph-edge-decay-MKIRZ762.js.map} +0 -0
- /package/dist/{resolution-U5O4QANY.js.map → resolution-VKATP2HT.js.map} +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isErrnoCode
|
|
3
|
+
} from "./chunk-KNA3BXXL.js";
|
|
4
|
+
|
|
1
5
|
// src/json-store.ts
|
|
2
6
|
import { randomUUID } from "crypto";
|
|
3
7
|
import {
|
|
@@ -12,15 +16,12 @@ import {
|
|
|
12
16
|
writeFile
|
|
13
17
|
} from "fs/promises";
|
|
14
18
|
import path from "path";
|
|
15
|
-
function hasErrorCode(error, code) {
|
|
16
|
-
return typeof error === "object" && error !== null && "code" in error && error.code === code;
|
|
17
|
-
}
|
|
18
19
|
async function listJsonFilesStrictInner(dir, allowMissingDirectory) {
|
|
19
20
|
let entries;
|
|
20
21
|
try {
|
|
21
22
|
entries = await readdir(dir, { withFileTypes: true });
|
|
22
23
|
} catch (error) {
|
|
23
|
-
if (allowMissingDirectory &&
|
|
24
|
+
if (allowMissingDirectory && isErrnoCode(error, "ENOENT")) return [];
|
|
24
25
|
throw error;
|
|
25
26
|
}
|
|
26
27
|
const out = [];
|
|
@@ -81,7 +82,7 @@ function jsonStoreLockTimeoutMs() {
|
|
|
81
82
|
async function closeAndRemoveJsonStoreReclaimGuard(reclaimPath, reclaimHandle) {
|
|
82
83
|
await reclaimHandle.close().catch(() => void 0);
|
|
83
84
|
await unlink(reclaimPath).catch((error) => {
|
|
84
|
-
if (!
|
|
85
|
+
if (!isErrnoCode(error, "ENOENT")) throw error;
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
88
|
async function removeStaleJsonStoreReclaimGuard(reclaimPath) {
|
|
@@ -89,7 +90,7 @@ async function removeStaleJsonStoreReclaimGuard(reclaimPath) {
|
|
|
89
90
|
try {
|
|
90
91
|
initial = await readJsonStoreLockState(reclaimPath);
|
|
91
92
|
} catch (error) {
|
|
92
|
-
if (
|
|
93
|
+
if (isErrnoCode(error, "ENOENT")) return;
|
|
93
94
|
throw error;
|
|
94
95
|
}
|
|
95
96
|
if (Date.now() - initial.mtimeMs <= jsonStoreLockStaleMs()) return;
|
|
@@ -105,24 +106,24 @@ async function removeStaleJsonStoreReclaimGuard(reclaimPath) {
|
|
|
105
106
|
try {
|
|
106
107
|
confirmed = await readJsonStoreLockState(reclaimPath);
|
|
107
108
|
} catch (error) {
|
|
108
|
-
if (
|
|
109
|
+
if (isErrnoCode(error, "ENOENT")) return;
|
|
109
110
|
throw error;
|
|
110
111
|
}
|
|
111
112
|
if (!sameJsonStoreLockState(initial, confirmed)) return;
|
|
112
113
|
await unlink(reclaimPath).catch((error) => {
|
|
113
|
-
if (!
|
|
114
|
+
if (!isErrnoCode(error, "ENOENT")) throw error;
|
|
114
115
|
});
|
|
115
116
|
}
|
|
116
117
|
async function acquireJsonStoreReclaimGuard(reclaimPath) {
|
|
117
118
|
try {
|
|
118
119
|
return await open(reclaimPath, "wx", 384);
|
|
119
120
|
} catch (error) {
|
|
120
|
-
if (!
|
|
121
|
+
if (!isErrnoCode(error, "EEXIST")) throw error;
|
|
121
122
|
await removeStaleJsonStoreReclaimGuard(reclaimPath);
|
|
122
123
|
try {
|
|
123
124
|
return await open(reclaimPath, "wx", 384);
|
|
124
125
|
} catch (retryError) {
|
|
125
|
-
if (
|
|
126
|
+
if (isErrnoCode(retryError, "EEXIST")) return void 0;
|
|
126
127
|
throw retryError;
|
|
127
128
|
}
|
|
128
129
|
}
|
|
@@ -137,7 +138,7 @@ function processIsRunning(pid) {
|
|
|
137
138
|
process.kill(pid, 0);
|
|
138
139
|
return true;
|
|
139
140
|
} catch (error) {
|
|
140
|
-
return !
|
|
141
|
+
return !isErrnoCode(error, "ESRCH");
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
144
|
async function readJsonStoreLockState(lockPath) {
|
|
@@ -161,7 +162,7 @@ async function removeJsonStoreMutationLockIfOwned(lockPath, token) {
|
|
|
161
162
|
const metadata = JSON.parse(state.content);
|
|
162
163
|
if (metadata.token === token) await unlink(lockPath);
|
|
163
164
|
} catch (error) {
|
|
164
|
-
if (!
|
|
165
|
+
if (!isErrnoCode(error, "ENOENT") && !(error instanceof SyntaxError)) throw error;
|
|
165
166
|
}
|
|
166
167
|
}
|
|
167
168
|
async function removeStaleJsonStoreLock(lockPath) {
|
|
@@ -175,7 +176,7 @@ async function removeStaleJsonStoreLock(lockPath) {
|
|
|
175
176
|
try {
|
|
176
177
|
initial = await readJsonStoreLockState(lockPath);
|
|
177
178
|
} catch (error) {
|
|
178
|
-
if (
|
|
179
|
+
if (isErrnoCode(error, "ENOENT")) return;
|
|
179
180
|
throw error;
|
|
180
181
|
}
|
|
181
182
|
if (Date.now() - initial.mtimeMs <= jsonStoreLockStaleMs()) return;
|
|
@@ -191,12 +192,12 @@ async function removeStaleJsonStoreLock(lockPath) {
|
|
|
191
192
|
try {
|
|
192
193
|
confirmed = await readJsonStoreLockState(lockPath);
|
|
193
194
|
} catch (error) {
|
|
194
|
-
if (
|
|
195
|
+
if (isErrnoCode(error, "ENOENT")) return;
|
|
195
196
|
throw error;
|
|
196
197
|
}
|
|
197
198
|
if (!sameJsonStoreLockState(initial, confirmed)) return;
|
|
198
199
|
await unlink(lockPath).catch((error) => {
|
|
199
|
-
if (!
|
|
200
|
+
if (!isErrnoCode(error, "ENOENT")) throw error;
|
|
200
201
|
});
|
|
201
202
|
} finally {
|
|
202
203
|
await closeAndRemoveJsonStoreReclaimGuard(reclaimPath, reclaimHandle);
|
|
@@ -217,7 +218,7 @@ async function confirmJsonStoreMutationLockOwnership(lockPath, token, deadline)
|
|
|
217
218
|
const metadata = JSON.parse(state.content);
|
|
218
219
|
return metadata.token === token;
|
|
219
220
|
} catch (error) {
|
|
220
|
-
if (
|
|
221
|
+
if (isErrnoCode(error, "ENOENT") || error instanceof SyntaxError) return false;
|
|
221
222
|
throw error;
|
|
222
223
|
}
|
|
223
224
|
} finally {
|
|
@@ -235,9 +236,9 @@ async function acquireJsonStoreMutationFileLock(key) {
|
|
|
235
236
|
try {
|
|
236
237
|
handle = await open(lockPath, "wx", 384);
|
|
237
238
|
} catch (error) {
|
|
238
|
-
if (!
|
|
239
|
+
if (!isErrnoCode(error, "EEXIST")) throw error;
|
|
239
240
|
await removeStaleJsonStoreLock(lockPath).catch((staleError) => {
|
|
240
|
-
if (!
|
|
241
|
+
if (!isErrnoCode(staleError, "ENOENT")) throw staleError;
|
|
241
242
|
});
|
|
242
243
|
if (Date.now() >= deadline) {
|
|
243
244
|
throw new Error(`Timed out acquiring JSON store mutation lock: ${lockPath}`);
|
|
@@ -278,7 +279,7 @@ async function acquireJsonStoreMutationFileLock(key) {
|
|
|
278
279
|
const metadata = JSON.parse(await readFile(lockPath, "utf8"));
|
|
279
280
|
if (metadata.token === token) await unlink(lockPath);
|
|
280
281
|
} catch (error) {
|
|
281
|
-
if (!
|
|
282
|
+
if (!isErrnoCode(error, "ENOENT")) throw error;
|
|
282
283
|
}
|
|
283
284
|
};
|
|
284
285
|
}
|
|
@@ -329,4 +330,4 @@ export {
|
|
|
329
330
|
readJsonFile,
|
|
330
331
|
writeJsonFileAtomic
|
|
331
332
|
};
|
|
332
|
-
//# sourceMappingURL=chunk-
|
|
333
|
+
//# sourceMappingURL=chunk-B6O2YLUR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/json-store.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { Dirent } from \"node:fs\";\nimport {\n lstat,\n mkdir,\n open,\n readFile,\n readdir,\n rename,\n unlink,\n utimes,\n writeFile,\n type FileHandle,\n} from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { isErrnoCode } from \"./utils/errno.js\";\n\nasync function listJsonFilesStrictInner(dir: string, allowMissingDirectory: boolean): Promise<string[]> {\n let entries: Dirent[];\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch (error) {\n if (allowMissingDirectory && isErrnoCode(error, \"ENOENT\")) return [];\n throw error;\n }\n const out: string[] = [];\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n out.push(...(await listJsonFilesStrictInner(fullPath, false)));\n } else if (entry.isFile() && entry.name.endsWith(\".json\")) {\n out.push(fullPath);\n }\n }\n return out.sort();\n}\n\nexport async function listJsonFilesStrict(\n dir: string,\n options: { allowMissingDirectory?: boolean } = {}\n): Promise<string[]> {\n return listJsonFilesStrictInner(dir, options.allowMissingDirectory === true);\n}\n\nexport async function listJsonFiles(dir: string): Promise<string[]> {\n try {\n return await listJsonFilesStrict(dir);\n } catch {\n return [];\n }\n}\n\nexport async function listNamedFiles(dir: string, fileName: string): Promise<string[]> {\n try {\n const entries = await readdir(dir, { withFileTypes: true });\n const out: string[] = [];\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n out.push(...(await listNamedFiles(fullPath, fileName)));\n } else if (entry.isFile() && entry.name === fileName) {\n out.push(fullPath);\n }\n }\n return out.sort();\n } catch {\n return [];\n }\n}\n\nconst jsonStoreMutationTails = new Map<string, Promise<void>>();\n\nconst JSON_STORE_LOCK_RETRY_MS = 25;\nconst JSON_STORE_LOCK_STALE_MS = 60_000;\nconst JSON_STORE_LOCK_TIMEOUT_MS = 10_000;\n\ntype JsonStoreMutationLockTestHooks = {\n beforeLockOwnerWrite?: (lockPath: string, ownerToken: string) => Promise<void> | void;\n beforeLockOwnershipConfirm?: (lockPath: string, ownerToken: string) => Promise<void> | void;\n afterReclaimGuardWrite?: (reclaimPath: string, ownerToken: string) => Promise<void> | void;\n retryMs?: number;\n staleLockMs?: number;\n timeoutMs?: number;\n};\n\nlet jsonStoreMutationLockTestHooks: JsonStoreMutationLockTestHooks | null = null;\n\nexport function setJsonStoreMutationLockTestHooks(hooks: JsonStoreMutationLockTestHooks | null): void {\n jsonStoreMutationLockTestHooks = hooks;\n}\n\nfunction jsonStoreLockRetryMs(): number {\n return jsonStoreMutationLockTestHooks?.retryMs ?? JSON_STORE_LOCK_RETRY_MS;\n}\n\nfunction jsonStoreLockStaleMs(): number {\n return jsonStoreMutationLockTestHooks?.staleLockMs ?? JSON_STORE_LOCK_STALE_MS;\n}\n\nfunction jsonStoreLockTimeoutMs(): number {\n return jsonStoreMutationLockTestHooks?.timeoutMs ?? JSON_STORE_LOCK_TIMEOUT_MS;\n}\n\nasync function closeAndRemoveJsonStoreReclaimGuard(reclaimPath: string, reclaimHandle: FileHandle): Promise<void> {\n await reclaimHandle.close().catch(() => undefined);\n await unlink(reclaimPath).catch((error) => {\n if (!isErrnoCode(error, \"ENOENT\")) throw error;\n });\n}\n\nasync function removeStaleJsonStoreReclaimGuard(reclaimPath: string): Promise<void> {\n let initial: JsonStoreLockState;\n try {\n initial = await readJsonStoreLockState(reclaimPath);\n } catch (error) {\n if (isErrnoCode(error, \"ENOENT\")) return;\n throw error;\n }\n if (Date.now() - initial.mtimeMs <= jsonStoreLockStaleMs()) return;\n\n let ownerPid: number | undefined;\n try {\n const metadata = JSON.parse(initial.content) as { pid?: unknown };\n ownerPid = typeof metadata.pid === \"number\" && Number.isInteger(metadata.pid) ? metadata.pid : undefined;\n } catch {\n ownerPid = undefined;\n }\n if (ownerPid !== undefined && processIsRunning(ownerPid)) return;\n\n let confirmed: JsonStoreLockState;\n try {\n confirmed = await readJsonStoreLockState(reclaimPath);\n } catch (error) {\n if (isErrnoCode(error, \"ENOENT\")) return;\n throw error;\n }\n if (!sameJsonStoreLockState(initial, confirmed)) return;\n await unlink(reclaimPath).catch((error) => {\n if (!isErrnoCode(error, \"ENOENT\")) throw error;\n });\n}\n\nasync function acquireJsonStoreReclaimGuard(reclaimPath: string): Promise<FileHandle | undefined> {\n try {\n return await open(reclaimPath, \"wx\", 0o600);\n } catch (error) {\n if (!isErrnoCode(error, \"EEXIST\")) throw error;\n await removeStaleJsonStoreReclaimGuard(reclaimPath);\n try {\n return await open(reclaimPath, \"wx\", 0o600);\n } catch (retryError) {\n if (isErrnoCode(retryError, \"EEXIST\")) return undefined;\n throw retryError;\n }\n }\n}\n\nfunction waitForJsonStoreLock(): Promise<void> {\n const { promise, resolve } = Promise.withResolvers<void>();\n setTimeout(resolve, jsonStoreLockRetryMs());\n return promise;\n}\n\nfunction processIsRunning(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return !isErrnoCode(error, \"ESRCH\");\n }\n}\n\ntype JsonStoreLockState = {\n mtimeMs: number;\n size: number;\n ino: number | undefined;\n content: string;\n};\n\nasync function readJsonStoreLockState(lockPath: string): Promise<JsonStoreLockState> {\n const lockStat = await lstat(lockPath);\n if (!lockStat.isFile()) {\n throw new Error(`JSON store mutation lock is not a regular file: ${lockPath}`);\n }\n return {\n mtimeMs: lockStat.mtimeMs,\n size: lockStat.size,\n ino: typeof lockStat.ino === \"number\" ? lockStat.ino : undefined,\n content: await readFile(lockPath, \"utf8\"),\n };\n}\n\nfunction sameJsonStoreLockState(left: JsonStoreLockState, right: JsonStoreLockState): boolean {\n return (\n left.mtimeMs === right.mtimeMs &&\n left.size === right.size &&\n left.ino === right.ino &&\n left.content === right.content\n );\n}\n\nasync function removeJsonStoreMutationLockIfOwned(lockPath: string, token: string): Promise<void> {\n try {\n const state = await readJsonStoreLockState(lockPath);\n const metadata = JSON.parse(state.content) as { token?: unknown };\n if (metadata.token === token) await unlink(lockPath);\n } catch (error) {\n if (!isErrnoCode(error, \"ENOENT\") && !(error instanceof SyntaxError)) throw error;\n }\n}\n\nasync function removeStaleJsonStoreLock(lockPath: string): Promise<void> {\n const reclaimPath = `${lockPath}.reclaim`;\n const reclaimHandle = await acquireJsonStoreReclaimGuard(reclaimPath);\n if (!reclaimHandle) return;\n try {\n await reclaimHandle.writeFile(JSON.stringify({ pid: process.pid }), \"utf8\");\n await jsonStoreMutationLockTestHooks?.afterReclaimGuardWrite?.(reclaimPath, String(process.pid));\n\n let initial: JsonStoreLockState;\n try {\n initial = await readJsonStoreLockState(lockPath);\n } catch (error) {\n if (isErrnoCode(error, \"ENOENT\")) return;\n throw error;\n }\n if (Date.now() - initial.mtimeMs <= jsonStoreLockStaleMs()) return;\n let ownerPid: number | undefined;\n try {\n const metadata = JSON.parse(initial.content) as { pid?: unknown };\n ownerPid = typeof metadata.pid === \"number\" && Number.isInteger(metadata.pid) ? metadata.pid : undefined;\n } catch {\n ownerPid = undefined;\n }\n if (ownerPid !== undefined && processIsRunning(ownerPid)) return;\n\n let confirmed: JsonStoreLockState;\n try {\n confirmed = await readJsonStoreLockState(lockPath);\n } catch (error) {\n if (isErrnoCode(error, \"ENOENT\")) return;\n throw error;\n }\n if (!sameJsonStoreLockState(initial, confirmed)) return;\n await unlink(lockPath).catch((error) => {\n if (!isErrnoCode(error, \"ENOENT\")) throw error;\n });\n } finally {\n await closeAndRemoveJsonStoreReclaimGuard(reclaimPath, reclaimHandle);\n }\n}\n\nasync function confirmJsonStoreMutationLockOwnership(\n lockPath: string,\n token: string,\n deadline: number\n): Promise<boolean> {\n const reclaimPath = `${lockPath}.reclaim`;\n while (true) {\n const reclaimHandle = await acquireJsonStoreReclaimGuard(reclaimPath);\n if (!reclaimHandle) {\n if (Date.now() >= deadline) return false;\n await waitForJsonStoreLock();\n continue;\n }\n try {\n try {\n const state = await readJsonStoreLockState(lockPath);\n const metadata = JSON.parse(state.content) as { token?: unknown };\n return metadata.token === token;\n } catch (error) {\n if (isErrnoCode(error, \"ENOENT\") || error instanceof SyntaxError) return false;\n throw error;\n }\n } finally {\n await closeAndRemoveJsonStoreReclaimGuard(reclaimPath, reclaimHandle);\n }\n }\n}\n\nasync function acquireJsonStoreMutationFileLock(key: string): Promise<() => Promise<void>> {\n const lockPath = `${path.resolve(key)}.mutation.lock`;\n await mkdir(path.dirname(lockPath), { recursive: true });\n const token = randomUUID();\n const deadline = Date.now() + jsonStoreLockTimeoutMs();\n while (true) {\n let handle: FileHandle;\n try {\n handle = await open(lockPath, \"wx\", 0o600);\n } catch (error) {\n if (!isErrnoCode(error, \"EEXIST\")) throw error;\n await removeStaleJsonStoreLock(lockPath).catch((staleError) => {\n if (!isErrnoCode(staleError, \"ENOENT\")) throw staleError;\n });\n if (Date.now() >= deadline) {\n throw new Error(`Timed out acquiring JSON store mutation lock: ${lockPath}`);\n }\n await waitForJsonStoreLock();\n continue;\n }\n try {\n await jsonStoreMutationLockTestHooks?.beforeLockOwnerWrite?.(lockPath, token);\n await handle.writeFile(JSON.stringify({ pid: process.pid, token }), \"utf8\");\n } finally {\n await handle.close().catch(() => undefined);\n }\n await jsonStoreMutationLockTestHooks?.beforeLockOwnershipConfirm?.(lockPath, token);\n\n if (!(await confirmJsonStoreMutationLockOwnership(lockPath, token, deadline))) {\n await removeJsonStoreMutationLockIfOwned(lockPath, token);\n if (Date.now() >= deadline) {\n throw new Error(`Timed out acquiring JSON store mutation lock: ${lockPath}`);\n }\n await waitForJsonStoreLock();\n continue;\n }\n\n const heartbeat = setInterval(\n () => {\n void readFile(lockPath, \"utf8\")\n .then((content) => {\n const metadata = JSON.parse(content) as { token?: unknown };\n if (metadata.token !== token) return;\n const now = new Date();\n return utimes(lockPath, now, now);\n })\n .catch(() => undefined);\n },\n Math.max(1, Math.floor(jsonStoreLockStaleMs() / 3))\n );\n heartbeat.unref();\n return async () => {\n clearInterval(heartbeat);\n try {\n const metadata = JSON.parse(await readFile(lockPath, \"utf8\")) as { token?: unknown };\n if (metadata.token === token) await unlink(lockPath);\n } catch (error) {\n if (!isErrnoCode(error, \"ENOENT\")) throw error;\n }\n };\n }\n}\n\nexport async function withJsonStoreMutationLock<T>(key: string, operation: () => Promise<T>): Promise<T> {\n const normalizedKey = path.resolve(key);\n const previous = jsonStoreMutationTails.get(normalizedKey) ?? Promise.resolve();\n const { promise: current, resolve: release } = Promise.withResolvers<void>();\n const tail = previous.catch(() => undefined).then(() => current);\n jsonStoreMutationTails.set(normalizedKey, tail);\n await previous.catch(() => undefined);\n let releaseFileLock: (() => Promise<void>) | undefined;\n try {\n releaseFileLock = await acquireJsonStoreMutationFileLock(normalizedKey);\n return await operation();\n } finally {\n try {\n await releaseFileLock?.();\n } finally {\n release();\n if (jsonStoreMutationTails.get(normalizedKey) === tail) {\n jsonStoreMutationTails.delete(normalizedKey);\n }\n }\n }\n}\n\nexport async function readJsonFile(filePath: string): Promise<unknown> {\n return JSON.parse(await readFile(filePath, \"utf8\")) as unknown;\n}\n\nexport async function writeJsonFileAtomic(filePath: string, value: unknown): Promise<void> {\n await mkdir(path.dirname(filePath), { recursive: true });\n const tempPath = `${filePath}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`;\n try {\n await writeFile(tempPath, JSON.stringify(value, null, 2), \"utf8\");\n await rename(tempPath, filePath);\n } catch (error) {\n await unlink(tempPath).catch(() => undefined);\n throw error;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
scanMemoryDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4O6WRBGE.js";
|
|
4
4
|
import {
|
|
5
5
|
isSearchAborted,
|
|
6
6
|
throwIfSearchAborted
|
|
@@ -508,4 +508,4 @@ function isMissingVectorProviderColumnError(err) {
|
|
|
508
508
|
export {
|
|
509
509
|
LanceDbBackend
|
|
510
510
|
};
|
|
511
|
-
//# sourceMappingURL=chunk-
|
|
511
|
+
//# sourceMappingURL=chunk-BD7JTBYP.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-E4RMZGRS.js";
|
|
19
19
|
import {
|
|
20
20
|
validateRequest
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-N3ZOP7KC.js";
|
|
22
22
|
import {
|
|
23
23
|
CANONICAL_MCP_PREFIX,
|
|
24
24
|
LEGACY_MCP_PREFIX,
|
|
@@ -37,13 +37,13 @@ import {
|
|
|
37
37
|
} from "./chunk-QVSRE355.js";
|
|
38
38
|
import {
|
|
39
39
|
getOperation
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ICKJ52PE.js";
|
|
41
41
|
import {
|
|
42
42
|
WHO_KNOWS_MCP_TOOLS
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-2EKJDQZB.js";
|
|
44
44
|
import {
|
|
45
45
|
PROMOTION_CANDIDATES_MCP_TOOLS
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-VYCOJKSX.js";
|
|
47
47
|
import {
|
|
48
48
|
assertOperationAllowed,
|
|
49
49
|
capabilityAllowsOp,
|
|
@@ -4050,4 +4050,4 @@ export {
|
|
|
4050
4050
|
MCP_MIGRATED_OPERATIONS,
|
|
4051
4051
|
EngramMcpServer
|
|
4052
4052
|
};
|
|
4053
|
-
//# sourceMappingURL=chunk-
|
|
4053
|
+
//# sourceMappingURL=chunk-BLJWYCNO.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveAbstractionNodeStoreDir,
|
|
3
3
|
validateAbstractionNode
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-46EST7JO.js";
|
|
5
5
|
import {
|
|
6
6
|
compareDeterministicStrings,
|
|
7
7
|
mergeSortedUniqueStrings
|
|
@@ -19,7 +19,10 @@ import {
|
|
|
19
19
|
readJsonFile,
|
|
20
20
|
withJsonStoreMutationLock,
|
|
21
21
|
writeJsonFileAtomic
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-B6O2YLUR.js";
|
|
23
|
+
import {
|
|
24
|
+
isNotFoundError
|
|
25
|
+
} from "./chunk-KNA3BXXL.js";
|
|
23
26
|
|
|
24
27
|
// src/cue-anchors.ts
|
|
25
28
|
import { mkdir, unlink, writeFile } from "fs/promises";
|
|
@@ -121,9 +124,6 @@ async function recordCueAnchor(options) {
|
|
|
121
124
|
function mergeSortedValues(existing, incoming) {
|
|
122
125
|
return mergeSortedUniqueStrings(existing, incoming);
|
|
123
126
|
}
|
|
124
|
-
function isNotFoundError(error) {
|
|
125
|
-
return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
|
|
126
|
-
}
|
|
127
127
|
function boundNodeRefs(nodeRefs, liveNodes) {
|
|
128
128
|
const uniqueRefs = mergeSortedUniqueStrings(nodeRefs);
|
|
129
129
|
if (!liveNodes) return uniqueRefs.slice(0, 50);
|
|
@@ -318,4 +318,4 @@ export {
|
|
|
318
318
|
pruneOrphanCueAnchors,
|
|
319
319
|
getCueAnchorStoreStatus
|
|
320
320
|
};
|
|
321
|
-
//# sourceMappingURL=chunk-
|
|
321
|
+
//# sourceMappingURL=chunk-BMWN7B3Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cue-anchors.ts"],"sourcesContent":["import { mkdir, unlink, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { resolveAbstractionNodeStoreDir, validateAbstractionNode, type AbstractionNode } from \"./abstraction-nodes.js\";\nimport { listJsonFilesStrict, readJsonFile, withJsonStoreMutationLock, writeJsonFileAtomic } from \"./json-store.js\";\nimport { compareDeterministicStrings, mergeSortedUniqueStrings } from \"./deterministic-order.js\";\nimport { isNotFoundError } from \"./utils/errno.js\";\nimport {\n assertIsoRecordedAt,\n assertSafePathSegment,\n assertString,\n isRecord,\n optionalStringArray,\n validateStringRecord,\n} from \"./store-contract.js\";\n\nexport type CueAnchorType = \"entity\" | \"file\" | \"tool\" | \"outcome\" | \"constraint\" | \"date\";\n\nexport interface CueAnchor {\n schemaVersion: 1;\n anchorId: string;\n anchorType: CueAnchorType;\n anchorValue: string;\n normalizedCue: string;\n recordedAt: string;\n sessionKey: string;\n nodeRefs: string[];\n sourceMemoryIdsByNodeRef?: Record<string, string[]>;\n tags?: string[];\n metadata?: Record<string, string>;\n}\n\nexport interface CueAnchorStoreStatus {\n enabled: boolean;\n anchorsEnabled: boolean;\n rootDir: string;\n anchors: {\n total: number;\n valid: number;\n invalid: number;\n byType: Partial<Record<CueAnchorType, number>>;\n totalNodeRefs: number;\n latestAnchorId?: string;\n latestRecordedAt?: string;\n latestSessionKey?: string;\n };\n latestAnchor?: CueAnchor;\n invalidAnchors: Array<{\n path: string;\n error: string;\n }>;\n}\n\nfunction validateAnchorType(raw: unknown): CueAnchorType {\n const value = assertString(raw, \"anchorType\");\n if (![\"entity\", \"file\", \"tool\", \"outcome\", \"constraint\", \"date\"].includes(value)) {\n throw new Error(\"anchorType must be one of entity|file|tool|outcome|constraint|date\");\n }\n return value as CueAnchorType;\n}\n\nfunction validateNodeRefs(raw: unknown): string[] {\n const nodeRefs = optionalStringArray(raw, \"nodeRefs\");\n if (!nodeRefs || nodeRefs.length === 0) {\n throw new Error(\"nodeRefs must contain at least one node reference\");\n }\n return nodeRefs.map((nodeRef, index) => assertSafePathSegment(nodeRef, `nodeRefs[${index}]`));\n}\n\nfunction validateSourceMemoryIdsByNodeRef(raw: unknown): Record<string, string[]> | undefined {\n if (raw === undefined) return undefined;\n if (!isRecord(raw)) throw new Error(\"sourceMemoryIdsByNodeRef must be an object of string arrays\");\n const entries: Array<[string, string[]]> = [];\n for (const [rawNodeRef, rawSourceMemoryIds] of Object.entries(raw)) {\n const nodeRef = assertSafePathSegment(\n assertString(rawNodeRef, \"sourceMemoryIdsByNodeRef key\"),\n \"sourceMemoryIdsByNodeRef.nodeRef\"\n );\n const sourceMemoryIds = optionalStringArray(rawSourceMemoryIds, `sourceMemoryIdsByNodeRef.${nodeRef}`);\n if (sourceMemoryIds) entries.push([nodeRef, mergeSortedUniqueStrings(sourceMemoryIds)]);\n }\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries.sort(([left], [right]) => compareDeterministicStrings(left, right)));\n}\n\nfunction mergeSourceMemoryIdsByNodeRef(\n existing: Record<string, string[]> | undefined,\n incoming: Record<string, string[]> | undefined\n): Record<string, string[]> | undefined {\n const merged = new Map<string, string[]>();\n for (const [nodeRef, sourceMemoryIds] of Object.entries(existing ?? {})) {\n merged.set(nodeRef, [...sourceMemoryIds]);\n }\n for (const [nodeRef, sourceMemoryIds] of Object.entries(incoming ?? {})) {\n merged.set(nodeRef, mergeSortedUniqueStrings(merged.get(nodeRef), sourceMemoryIds));\n }\n return validateSourceMemoryIdsByNodeRef(Object.fromEntries(merged));\n}\n\nfunction boundSourceMemoryIdsByNodeRef(\n sourceMemoryIdsByNodeRef: Record<string, string[]> | undefined,\n nodeRefs: string[],\n liveNodes?: Map<string, AbstractionNode>\n): Record<string, string[]> | undefined {\n if (!sourceMemoryIdsByNodeRef) return undefined;\n const retained = Object.fromEntries(\n nodeRefs.flatMap((nodeRef) => {\n const sourceMemoryIds = sourceMemoryIdsByNodeRef[nodeRef];\n if (!sourceMemoryIds) return [];\n const liveSourceMemoryIds = liveNodes?.get(nodeRef)?.sourceMemoryIds;\n if (liveNodes && !liveSourceMemoryIds) return [];\n const retainedSourceMemoryIds = mergeSortedUniqueStrings(sourceMemoryIds).filter((sourceMemoryId) =>\n liveSourceMemoryIds ? liveSourceMemoryIds.includes(sourceMemoryId) : true\n );\n return retainedSourceMemoryIds.length > 0 ? [[nodeRef, retainedSourceMemoryIds] as const] : [];\n })\n );\n return validateSourceMemoryIdsByNodeRef(retained);\n}\n\nexport function resolveCueAnchorStoreDir(abstractionNodeStoreDir: string, overrideDir?: string): string {\n if (typeof overrideDir === \"string\" && overrideDir.trim().length > 0) {\n return overrideDir.trim();\n }\n return path.join(abstractionNodeStoreDir, \"anchors\");\n}\n\nexport function validateCueAnchor(raw: unknown): CueAnchor {\n if (!isRecord(raw)) throw new Error(\"cue anchor must be an object\");\n if (raw.schemaVersion !== 1) throw new Error(\"schemaVersion must be 1\");\n\n return {\n schemaVersion: 1,\n anchorId: assertSafePathSegment(assertString(raw.anchorId, \"anchorId\"), \"anchorId\"),\n anchorType: validateAnchorType(raw.anchorType),\n anchorValue: assertString(raw.anchorValue, \"anchorValue\"),\n normalizedCue: assertString(raw.normalizedCue, \"normalizedCue\"),\n recordedAt: assertIsoRecordedAt(assertString(raw.recordedAt, \"recordedAt\")),\n sessionKey: assertString(raw.sessionKey, \"sessionKey\"),\n nodeRefs: validateNodeRefs(raw.nodeRefs),\n sourceMemoryIdsByNodeRef: validateSourceMemoryIdsByNodeRef(raw.sourceMemoryIdsByNodeRef),\n tags: optionalStringArray(raw.tags, \"tags\"),\n metadata: validateStringRecord(raw.metadata, \"metadata\"),\n };\n}\n\nexport async function recordCueAnchor(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n cueAnchorStoreDir?: string;\n anchor: CueAnchor;\n}): Promise<string> {\n const abstractionNodeStoreDir = options.abstractionNodeStoreDir?.trim().length\n ? options.abstractionNodeStoreDir.trim()\n : path.join(options.memoryDir, \"state\", \"abstraction-nodes\");\n const rootDir = resolveCueAnchorStoreDir(abstractionNodeStoreDir, options.cueAnchorStoreDir);\n const validated = validateCueAnchor(options.anchor);\n const boundedNodeRefs = boundNodeRefs(validated.nodeRefs);\n const bounded = validateCueAnchor({\n ...validated,\n nodeRefs: boundedNodeRefs,\n sourceMemoryIdsByNodeRef: boundSourceMemoryIdsByNodeRef(validated.sourceMemoryIdsByNodeRef, boundedNodeRefs),\n });\n const anchorDir = path.join(rootDir, bounded.anchorType);\n const filePath = path.join(anchorDir, `${bounded.anchorId}.json`);\n await mkdir(anchorDir, { recursive: true });\n await writeFile(filePath, JSON.stringify(bounded, null, 2), \"utf8\");\n return filePath;\n}\n\nfunction mergeSortedValues(existing: string[] | undefined, incoming: string[] | undefined): string[] {\n return mergeSortedUniqueStrings(existing, incoming);\n}\n\nfunction boundNodeRefs(nodeRefs: string[], liveNodes?: Map<string, AbstractionNode>): string[] {\n const uniqueRefs = mergeSortedUniqueStrings(nodeRefs);\n if (!liveNodes) return uniqueRefs.slice(0, 50);\n return uniqueRefs\n .filter((nodeRef) => liveNodes.has(nodeRef))\n .sort(\n (left, right) =>\n Date.parse(liveNodes.get(right)?.recordedAt ?? \"\") - Date.parse(liveNodes.get(left)?.recordedAt ?? \"\") ||\n compareDeterministicStrings(left, right)\n )\n .slice(0, 50);\n}\n\nasync function readLiveNodes(nodesDir: string): Promise<Map<string, AbstractionNode> | undefined> {\n const liveNodes = new Map<string, AbstractionNode>();\n let nodeFiles: string[];\n try {\n nodeFiles = await listJsonFilesStrict(nodesDir);\n } catch (error) {\n if (isNotFoundError(error)) return undefined;\n throw error;\n }\n for (const filePath of nodeFiles) {\n const node = validateAbstractionNode(await readJsonFile(filePath));\n const previous = liveNodes.get(node.nodeId);\n if (\n !previous ||\n Date.parse(previous.recordedAt) < Date.parse(node.recordedAt) ||\n (Date.parse(previous.recordedAt) === Date.parse(node.recordedAt) &&\n compareDeterministicStrings(previous.sessionKey, node.sessionKey) < 0)\n ) {\n liveNodes.set(node.nodeId, node);\n }\n }\n return liveNodes;\n}\n\nexport async function upsertCueAnchors(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n cueAnchorStoreDir?: string;\n anchors: CueAnchor[];\n}): Promise<string[]> {\n const abstractionNodeStoreDir = resolveAbstractionNodeStoreDir(options.memoryDir, options.abstractionNodeStoreDir);\n const incomingAnchors = options.anchors.map(validateCueAnchor);\n if (incomingAnchors.length === 0) return [];\n\n return withJsonStoreMutationLock(abstractionNodeStoreDir, async () => {\n const rootDir = resolveCueAnchorStoreDir(abstractionNodeStoreDir, options.cueAnchorStoreDir);\n const liveNodes = await readLiveNodes(path.join(abstractionNodeStoreDir, \"nodes\"));\n const incomingByKey = new Map<string, CueAnchor[]>();\n for (const anchor of incomingAnchors) {\n const key = `${anchor.anchorType}\\u0000${anchor.anchorId}`;\n const grouped = incomingByKey.get(key) ?? [];\n grouped.push(anchor);\n incomingByKey.set(key, grouped);\n }\n const filePaths: string[] = [];\n for (const key of [...incomingByKey.keys()].sort(compareDeterministicStrings)) {\n const grouped = incomingByKey.get(key) ?? [];\n grouped.sort(compareIncomingCueAnchors);\n const incoming = grouped.shift();\n if (!incoming) throw new Error(`cue anchor batch has no anchor: ${key}`);\n const filePath = path.join(rootDir, incoming.anchorType, `${incoming.anchorId}.json`);\n let existing: CueAnchor | undefined;\n try {\n existing = validateCueAnchor(await readJsonFile(filePath));\n } catch (error) {\n if (!isNotFoundError(error)) throw error;\n }\n let merged = mergeCueAnchors(existing, incoming, liveNodes);\n for (const next of grouped) merged = mergeCueAnchors(merged, next, liveNodes);\n await writeJsonFileAtomic(filePath, merged);\n filePaths.push(filePath);\n }\n return filePaths;\n });\n}\n\nfunction compareIncomingCueAnchors(left: CueAnchor, right: CueAnchor): number {\n const recordedAtComparison = Date.parse(left.recordedAt) - Date.parse(right.recordedAt);\n if (recordedAtComparison < 0) return -1;\n if (recordedAtComparison > 0) return 1;\n return compareDeterministicStrings(canonicalCueAnchorKey(left), canonicalCueAnchorKey(right));\n}\n\nfunction canonicalMetadata(metadata: Record<string, string> | undefined): Record<string, string> {\n return Object.fromEntries(\n Object.entries(metadata ?? {}).sort(([left], [right]) => compareDeterministicStrings(left, right))\n );\n}\n\nfunction canonicalCueAnchorKey(anchor: CueAnchor): string {\n return JSON.stringify({\n ...anchor,\n metadata: canonicalMetadata(anchor.metadata),\n });\n}\n\nfunction mergeCueAnchors(\n existing: CueAnchor | undefined,\n incoming: CueAnchor,\n liveNodes: Map<string, AbstractionNode> | undefined\n): CueAnchor {\n const incomingIsNewest = !existing || Date.parse(existing.recordedAt) <= Date.parse(incoming.recordedAt);\n const newest = incomingIsNewest ? incoming : existing;\n const older = incomingIsNewest ? existing : incoming;\n const mergedMetadata = canonicalMetadata({\n ...(older?.metadata ?? {}),\n ...(newest.metadata ?? {}),\n });\n const nodeRefs = boundNodeRefs(mergeSortedValues(existing?.nodeRefs, incoming.nodeRefs), liveNodes);\n return validateCueAnchor({\n ...newest,\n nodeRefs,\n sourceMemoryIdsByNodeRef: boundSourceMemoryIdsByNodeRef(\n mergeSourceMemoryIdsByNodeRef(existing?.sourceMemoryIdsByNodeRef, incoming.sourceMemoryIdsByNodeRef),\n nodeRefs,\n liveNodes\n ),\n tags: mergeSortedValues(existing?.tags, incoming.tags),\n metadata: mergedMetadata,\n });\n}\n\nexport async function upsertCueAnchor(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n cueAnchorStoreDir?: string;\n anchor: CueAnchor;\n}): Promise<string> {\n const [filePath] = await upsertCueAnchors({ ...options, anchors: [options.anchor] });\n if (!filePath) throw new Error(\"cue anchor upsert did not write a file\");\n return filePath;\n}\n\nexport async function pruneOrphanCueAnchors(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n cueAnchorStoreDir?: string;\n}): Promise<number> {\n const abstractionNodeStoreDir = resolveAbstractionNodeStoreDir(options.memoryDir, options.abstractionNodeStoreDir);\n return withJsonStoreMutationLock(abstractionNodeStoreDir, async () => {\n const cueAnchorStoreDir = resolveCueAnchorStoreDir(abstractionNodeStoreDir, options.cueAnchorStoreDir);\n const liveNodes = (await readLiveNodes(path.join(abstractionNodeStoreDir, \"nodes\"))) ?? new Map();\n let removed = 0;\n const anchorFiles = await listJsonFilesStrict(cueAnchorStoreDir, {\n allowMissingDirectory: true,\n });\n for (const filePath of anchorFiles) {\n let anchor: CueAnchor;\n try {\n anchor = validateCueAnchor(await readJsonFile(filePath));\n } catch {\n continue;\n }\n const nodeRefs = boundNodeRefs(anchor.nodeRefs, liveNodes);\n const sourceMemoryIdsByNodeRef = boundSourceMemoryIdsByNodeRef(\n anchor.sourceMemoryIdsByNodeRef,\n nodeRefs,\n liveNodes\n );\n if (nodeRefs.length === 0) {\n try {\n await unlink(filePath);\n removed++;\n } catch (error) {\n if (!isNotFoundError(error)) throw error;\n }\n continue;\n }\n if (\n nodeRefs.length !== anchor.nodeRefs.length ||\n nodeRefs.some((nodeRef, index) => nodeRef !== anchor.nodeRefs[index]) ||\n JSON.stringify(sourceMemoryIdsByNodeRef) !== JSON.stringify(anchor.sourceMemoryIdsByNodeRef)\n ) {\n await writeJsonFileAtomic(filePath, validateCueAnchor({ ...anchor, nodeRefs, sourceMemoryIdsByNodeRef }));\n }\n }\n return removed;\n });\n}\n\nexport async function getCueAnchorStoreStatus(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n cueAnchorStoreDir?: string;\n enabled: boolean;\n anchorsEnabled: boolean;\n}): Promise<CueAnchorStoreStatus> {\n const abstractionNodeStoreDir = options.abstractionNodeStoreDir?.trim().length\n ? options.abstractionNodeStoreDir.trim()\n : path.join(options.memoryDir, \"state\", \"abstraction-nodes\");\n const rootDir = resolveCueAnchorStoreDir(abstractionNodeStoreDir, options.cueAnchorStoreDir);\n const files = await listJsonFilesStrict(rootDir, { allowMissingDirectory: true });\n const anchors: CueAnchor[] = [];\n const invalidAnchors: Array<{ path: string; error: string }> = [];\n\n for (const filePath of files) {\n try {\n anchors.push(validateCueAnchor(await readJsonFile(filePath)));\n } catch (error) {\n invalidAnchors.push({\n path: filePath,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n\n anchors.sort(\n (a, b) => Date.parse(b.recordedAt) - Date.parse(a.recordedAt) || compareDeterministicStrings(a.anchorId, b.anchorId)\n );\n\n const byType: Partial<Record<CueAnchorType, number>> = {};\n let totalNodeRefs = 0;\n for (const anchor of anchors) {\n byType[anchor.anchorType] = (byType[anchor.anchorType] ?? 0) + 1;\n totalNodeRefs += anchor.nodeRefs.length;\n }\n\n return {\n enabled: options.enabled,\n anchorsEnabled: options.anchorsEnabled,\n rootDir,\n anchors: {\n total: files.length,\n valid: anchors.length,\n invalid: invalidAnchors.length,\n byType,\n totalNodeRefs,\n latestAnchorId: anchors[0]?.anchorId,\n latestRecordedAt: anchors[0]?.recordedAt,\n latestSessionKey: anchors[0]?.sessionKey,\n },\n latestAnchor: anchors[0],\n invalidAnchors,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
} from "./chunk-3HSRWJTC.js";
|
|
13
13
|
import {
|
|
14
14
|
respondDeepRecall
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GHTSNGBZ.js";
|
|
16
16
|
import {
|
|
17
17
|
handleSupportPassportOwnerHttp
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-66OJSCI6.js";
|
|
19
19
|
import {
|
|
20
20
|
buildSupportPassportPublicRequestHandler
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-FVOP3NT7.js";
|
|
22
22
|
import {
|
|
23
23
|
handleMcpGetSse
|
|
24
24
|
} from "./chunk-SRT6SHVZ.js";
|
|
@@ -31,14 +31,14 @@ import {
|
|
|
31
31
|
processChatMessage,
|
|
32
32
|
sessionBelongsToPrincipal,
|
|
33
33
|
subscribeChatTranscript
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-BLJWYCNO.js";
|
|
35
35
|
import {
|
|
36
36
|
RelayMissionStoreError
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-SVXJLDDC.js";
|
|
38
38
|
import {
|
|
39
39
|
executeResolution,
|
|
40
40
|
isValidResolutionVerb
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-XOVKXJEP.js";
|
|
42
42
|
import {
|
|
43
43
|
isDefaultReviewNamespace,
|
|
44
44
|
listPairs,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
} from "./chunk-CTVWELNK.js";
|
|
47
47
|
import {
|
|
48
48
|
validateRequest
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-N3ZOP7KC.js";
|
|
50
50
|
import {
|
|
51
51
|
toDottedRemnicName
|
|
52
52
|
} from "./chunk-ZQUVBZI4.js";
|
|
@@ -59,10 +59,10 @@ import {
|
|
|
59
59
|
optionalNamespaceKindQueryParam,
|
|
60
60
|
optionalQueryString,
|
|
61
61
|
positiveIntQueryParam
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-TVEONGBU.js";
|
|
63
63
|
import {
|
|
64
64
|
respondBriefingHttp
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-56Y6EKZN.js";
|
|
66
66
|
import {
|
|
67
67
|
maybeHandleLifecycleFlush
|
|
68
68
|
} from "./chunk-TIDEL77O.js";
|
|
@@ -73,17 +73,17 @@ import {
|
|
|
73
73
|
authorizationProbeNamespaces,
|
|
74
74
|
authorizationProbeRequiresPrincipalNamespace,
|
|
75
75
|
probeOperationAuthorization
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-PX4UMA5Z.js";
|
|
77
77
|
import {
|
|
78
78
|
getOperation,
|
|
79
79
|
resolveQueryNamespaceWritablePreflight
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-ICKJ52PE.js";
|
|
81
81
|
import {
|
|
82
82
|
handleWhoKnowsHttpQuery
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-2EKJDQZB.js";
|
|
84
84
|
import {
|
|
85
85
|
isTrustZoneName
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-ROBHL3GL.js";
|
|
87
87
|
import {
|
|
88
88
|
subscribeGraphEvents
|
|
89
89
|
} from "./chunk-DEUNUKTD.js";
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
|
|
105
105
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
106
106
|
OFFLINE_SYNC_SNAPSHOT_BASE_MAX_BODY_BYTES
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-WQZZDN5M.js";
|
|
108
108
|
import {
|
|
109
109
|
projectTagProjectId
|
|
110
110
|
} from "./chunk-QBC33MPY.js";
|
|
@@ -3585,4 +3585,4 @@ export {
|
|
|
3585
3585
|
resolveDefaultAdminConsolePublicDir,
|
|
3586
3586
|
EngramAccessHttpServer
|
|
3587
3587
|
};
|
|
3588
|
-
//# sourceMappingURL=chunk-
|
|
3588
|
+
//# sourceMappingURL=chunk-C553ZTLF.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isErrnoCode
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KNA3BXXL.js";
|
|
4
4
|
|
|
5
5
|
// src/utils/path-containment.ts
|
|
6
6
|
import path from "path";
|
|
@@ -68,4 +68,4 @@ export {
|
|
|
68
68
|
listContainedSpillFiles,
|
|
69
69
|
ensureContainedSpillDir
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-C7HJ3NEI.js.map
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
decryptMemoryDirToPlaintext,
|
|
21
21
|
migrateMemoryDirToEncrypted
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-JN72EPOE.js";
|
|
23
23
|
import {
|
|
24
24
|
generateSalt
|
|
25
25
|
} from "./chunk-A6XUJE5D.js";
|
|
@@ -499,4 +499,4 @@ export {
|
|
|
499
499
|
renderStatusReport,
|
|
500
500
|
createPassphraseReader
|
|
501
501
|
};
|
|
502
|
-
//# sourceMappingURL=chunk-
|
|
502
|
+
//# sourceMappingURL=chunk-D5F7TKMH.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
graphFilePath,
|
|
3
3
|
readEdgesStrict
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5FAGCOZD.js";
|
|
5
5
|
import {
|
|
6
6
|
assertGraphLockHeld,
|
|
7
7
|
withGraphWriteLock,
|
|
@@ -138,4 +138,4 @@ export {
|
|
|
138
138
|
restoreRemovedNodeEdges,
|
|
139
139
|
rollbackNodeEdgeRewrite
|
|
140
140
|
};
|
|
141
|
-
//# sourceMappingURL=chunk-
|
|
141
|
+
//# sourceMappingURL=chunk-DGS34QSY.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
drainPendingLifecycleForSyncOrThrow,
|
|
6
6
|
drainPendingLifecycleLedgerForSync
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TBXAY2SS.js";
|
|
8
8
|
import {
|
|
9
9
|
displayErrorDetail
|
|
10
10
|
} from "./chunk-RL6NEVXT.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
assertPathInsideRoot,
|
|
16
16
|
pathIsInside
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-C7HJ3NEI.js";
|
|
18
18
|
import {
|
|
19
19
|
isSafeRouteNamespace
|
|
20
20
|
} from "./chunk-PCXDUHQH.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-VUFL7X3H.js";
|
|
24
24
|
import {
|
|
25
25
|
isErrnoCode
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-KNA3BXXL.js";
|
|
27
27
|
import {
|
|
28
28
|
log
|
|
29
29
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -181,4 +181,4 @@ export {
|
|
|
181
181
|
offlineSyncStorageForSnapshot,
|
|
182
182
|
drainPendingLifecycleForOfflineSync
|
|
183
183
|
};
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-DZD3WGCD.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XSGUMQQQ.js";
|
|
4
4
|
import {
|
|
5
5
|
MutationSerializer
|
|
6
6
|
} from "./chunk-FFAZ2XFU.js";
|
|
@@ -412,4 +412,4 @@ export {
|
|
|
412
412
|
resolveNamespaceStorageRoot,
|
|
413
413
|
NamespaceStorageRouter
|
|
414
414
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
415
|
+
//# sourceMappingURL=chunk-E2P7TZTF.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
listJsonFiles,
|
|
12
12
|
readJsonFile
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B6O2YLUR.js";
|
|
14
14
|
|
|
15
15
|
// src/utility-telemetry.ts
|
|
16
16
|
import path from "path";
|
|
@@ -151,4 +151,4 @@ export {
|
|
|
151
151
|
readUtilityTelemetryEvents,
|
|
152
152
|
getUtilityTelemetryStatus
|
|
153
153
|
};
|
|
154
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-EBA5DA77.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveCorpusNamespaceRoots
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AQ7SYDVO.js";
|
|
4
4
|
import {
|
|
5
5
|
capabilityAllowsNamespace
|
|
6
6
|
} from "./chunk-MZWSOLMT.js";
|
|
@@ -200,4 +200,4 @@ async function readAggregateExtractionWatermark(options) {
|
|
|
200
200
|
export {
|
|
201
201
|
readAggregateExtractionWatermark
|
|
202
202
|
};
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-EOQ6FSQP.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SupportPassportError,
|
|
3
3
|
getOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ICKJ52PE.js";
|
|
5
5
|
import {
|
|
6
6
|
abortError,
|
|
7
7
|
isAbortError
|
|
@@ -499,4 +499,4 @@ export {
|
|
|
499
499
|
buildSupportPassportPublicRequestHandler,
|
|
500
500
|
composeSupportPassportExternalRequestHandlers
|
|
501
501
|
};
|
|
502
|
-
//# sourceMappingURL=chunk-
|
|
502
|
+
//# sourceMappingURL=chunk-FVOP3NT7.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
listJsonFiles,
|
|
17
17
|
readJsonFile
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-B6O2YLUR.js";
|
|
19
19
|
|
|
20
20
|
// src/work-product-ledger.ts
|
|
21
21
|
import path from "path";
|
|
@@ -182,4 +182,4 @@ export {
|
|
|
182
182
|
searchWorkProductLedgerEntries,
|
|
183
183
|
getWorkProductLedgerStatus
|
|
184
184
|
};
|
|
185
|
-
//# sourceMappingURL=chunk-
|
|
185
|
+
//# sourceMappingURL=chunk-G7NYVKD6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
deepRecallRequestSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-N3ZOP7KC.js";
|
|
4
4
|
import {
|
|
5
5
|
EngramAccessInputError
|
|
6
6
|
} from "./chunk-2Z24E5W2.js";
|
|
@@ -39,4 +39,4 @@ async function respondDeepRecall(req, res, respondJson, readJsonBody, service, s
|
|
|
39
39
|
export {
|
|
40
40
|
respondDeepRecall
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
42
|
+
//# sourceMappingURL=chunk-GHTSNGBZ.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
pathMayCarryEntityRefs,
|
|
3
3
|
requestEntityCanonicalIdReconcile,
|
|
4
4
|
withRawEntityPageMutation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-R7QY5ZVB.js";
|
|
6
6
|
import {
|
|
7
7
|
bumpArchiveMutationForPath
|
|
8
8
|
} from "./chunk-W5BIQOAJ.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
CONTENT_HASH_INDEX_RETRY_MAX_DELAY_MS,
|
|
14
14
|
ContentHashIndex
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NB3LRY4T.js";
|
|
16
16
|
import {
|
|
17
17
|
withHeldFileLock
|
|
18
18
|
} from "./chunk-FFAZ2XFU.js";
|
|
@@ -22,13 +22,13 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
readMaybeEncryptedFileFromChunks,
|
|
24
24
|
writeMaybeEncryptedFileFromChunks
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-JN72EPOE.js";
|
|
26
26
|
import {
|
|
27
27
|
RECALL_FALLBACK_DIRS
|
|
28
28
|
} from "./chunk-VS2IYZRU.js";
|
|
29
29
|
import {
|
|
30
30
|
isErrnoCode
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-KNA3BXXL.js";
|
|
32
32
|
import {
|
|
33
33
|
log
|
|
34
34
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -1815,4 +1815,4 @@ export {
|
|
|
1815
1815
|
parseTombstoneBlockedOfflineSyncMemory,
|
|
1816
1816
|
TombstoneBlockedCaptureIndexHost
|
|
1817
1817
|
};
|
|
1818
|
-
//# sourceMappingURL=chunk-
|
|
1818
|
+
//# sourceMappingURL=chunk-H272ZPQ3.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PROMOTION_CANDIDATES_DEFAULT_MIN_ACCESS,
|
|
3
3
|
isSubjectGuardMode
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VYCOJKSX.js";
|
|
5
5
|
import {
|
|
6
6
|
coerceBool,
|
|
7
7
|
coerceNumber
|
|
@@ -52,4 +52,4 @@ function parseSubjectRuntimeConfig(cfg) {
|
|
|
52
52
|
export {
|
|
53
53
|
parseSubjectRuntimeConfig
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-H3TKENU4.js.map
|