@remnic/core 10.0.14 → 10.0.16
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.js +34 -32
- package/dist/access-authorization-probe.js +35 -33
- package/dist/access-boundary.js +34 -32
- package/dist/access-cli.js +90 -88
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +34 -32
- package/dist/access-http-briefing.js +35 -33
- package/dist/access-http-query.js +36 -34
- package/dist/access-http.js +53 -51
- package/dist/access-identity-continuity-surface.js +34 -32
- package/dist/access-lcm-surface.js +34 -32
- package/dist/access-mcp.js +45 -43
- package/dist/access-namespace-preflight.js +34 -32
- package/dist/access-observe-write-category.js +4 -3
- package/dist/access-observe-write-surface.js +34 -32
- package/dist/access-offline-manifest.js +3 -2
- package/dist/access-operations-batch.js +37 -35
- package/dist/access-operations.js +44 -42
- package/dist/access-recall-concurrency.js +34 -32
- package/dist/access-recall-response.js +34 -32
- package/dist/access-recall-surface.js +34 -32
- package/dist/access-schema.js +3 -2
- package/dist/access-service.js +34 -32
- package/dist/access-surface-catalog.js +36 -34
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +14 -12
- package/dist/active-recall.js.map +1 -1
- package/dist/briefing.js +10 -8
- package/dist/buffer.js +2 -2
- package/dist/calibration.d.ts.map +1 -1
- package/dist/calibration.js +6 -3
- package/dist/calibration.js.map +1 -1
- 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 +14 -12
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +4 -3
- package/dist/causal-retrieval.js.map +1 -1
- package/dist/causal-trajectory.js +3 -2
- package/dist/{chunk-63B2IZYE.js → chunk-23ZQPP2G.js} +6 -1
- package/dist/chunk-23ZQPP2G.js.map +1 -0
- package/dist/{chunk-YFMBHQRG.js → chunk-2PTH4PRL.js} +2 -2
- package/dist/{chunk-TITG2NBS.js → chunk-2PYHLSXK.js} +2 -2
- package/dist/{chunk-B6O2YLUR.js → chunk-2Z5DIDQD.js} +6 -1
- package/dist/chunk-2Z5DIDQD.js.map +1 -0
- package/dist/{chunk-KH2LKDX7.js → chunk-33G67YZF.js} +2 -2
- package/dist/{chunk-SWIKABKI.js → chunk-3Q3XD3NO.js} +2 -2
- package/dist/{chunk-4KY5GSMB.js → chunk-4PDTVVSW.js} +2 -2
- package/dist/{chunk-HM7RHKS4.js → chunk-4RNBLLZR.js} +2 -2
- package/dist/{chunk-PAZ35RJ4.js → chunk-4SCZZ3U7.js} +240 -55
- package/dist/chunk-4SCZZ3U7.js.map +1 -0
- package/dist/{chunk-Y4NKEXQT.js → chunk-5ATSXCAG.js} +3 -3
- package/dist/{chunk-JDZFIR2S.js → chunk-5KGYTX5O.js} +2 -2
- package/dist/{chunk-J7JWFZHI.js → chunk-5MLGY6IY.js} +39 -39
- package/dist/{chunk-NW2E4CI2.js → chunk-5SMR542T.js} +2 -2
- package/dist/{chunk-S7LWX2PQ.js → chunk-655FVTCD.js} +2 -2
- package/dist/{chunk-4OSG5Y6M.js → chunk-6YEPGWUP.js} +2 -2
- package/dist/{chunk-W47S5TIH.js → chunk-7VQ6AI7H.js} +2 -2
- package/dist/{chunk-WLMZ2L5P.js → chunk-AZDTDWS2.js} +2 -2
- package/dist/{chunk-G7NYVKD6.js → chunk-B2NXOVZN.js} +2 -2
- package/dist/{chunk-N7KYEVLK.js → chunk-BK2BVLZW.js} +2 -2
- package/dist/{chunk-QJ622LTI.js → chunk-BQOGQULP.js} +30 -8
- package/dist/chunk-BQOGQULP.js.map +1 -0
- package/dist/{chunk-S2I7DL5Q.js → chunk-C2RW36YR.js} +2 -2
- package/dist/{chunk-P5NQN4JE.js → chunk-C6JMGAMO.js} +6 -2
- package/dist/chunk-C6JMGAMO.js.map +1 -0
- package/dist/{chunk-6LG7BWKW.js → chunk-CFZ4SXXH.js} +2 -2
- package/dist/{chunk-JQ7XU625.js → chunk-CQOIWJ5E.js} +6 -6
- package/dist/{chunk-FSIMZNBC.js → chunk-CXOYUANR.js} +2 -2
- package/dist/{chunk-BLVHDY2U.js → chunk-DOWACHYO.js} +5 -2
- package/dist/chunk-DOWACHYO.js.map +1 -0
- package/dist/{chunk-QOZJCSFO.js → chunk-DQR2LD3V.js} +2 -2
- package/dist/{chunk-MATDGSJ7.js → chunk-DUPHIZBY.js} +2 -2
- package/dist/{chunk-EBA5DA77.js → chunk-EOU6V4IN.js} +2 -2
- package/dist/{chunk-5WCJLQTM.js → chunk-F2772ATT.js} +2 -2
- package/dist/{chunk-46EST7JO.js → chunk-F2XNSIPP.js} +2 -2
- package/dist/{chunk-PZHQWFR3.js → chunk-G3UUAQOD.js} +2 -2
- package/dist/{chunk-YE36AJL7.js → chunk-GCVDFX66.js} +2 -2
- package/dist/{chunk-ZV65I6ME.js → chunk-GFWRXPF6.js} +29 -26
- package/dist/chunk-GFWRXPF6.js.map +1 -0
- package/dist/{chunk-T2YX56QI.js → chunk-GQJKVQJR.js} +2 -2
- package/dist/{chunk-I7S55EOB.js → chunk-GUY6L6LL.js} +2 -2
- package/dist/{chunk-L5DAHSEZ.js → chunk-GWVNGDJW.js} +2 -2
- package/dist/{chunk-N45NEBOD.js → chunk-GZXXPCWJ.js} +3 -3
- package/dist/{chunk-EPJDSQHF.js → chunk-H5IUN433.js} +2 -2
- package/dist/{chunk-EUAIYYYR.js → chunk-H6FREOYX.js} +7 -7
- package/dist/{chunk-Q4E24IRR.js → chunk-HDN7IVIO.js} +14 -11
- package/dist/chunk-HDN7IVIO.js.map +1 -0
- package/dist/{chunk-T3FMRLWQ.js → chunk-HFSPY26A.js} +2 -2
- package/dist/{chunk-GH7AOMJD.js → chunk-IJMDBYCO.js} +2 -2
- package/dist/{chunk-4IHBN6WU.js → chunk-JKMIGCK6.js} +2 -2
- package/dist/{chunk-ROBHL3GL.js → chunk-JWX2Q6HS.js} +2 -2
- package/dist/{chunk-DPR2WTN3.js → chunk-JZTEOBOR.js} +16 -16
- package/dist/{chunk-4O6WRBGE.js → chunk-KJXP6RUG.js} +5 -1
- package/dist/chunk-KJXP6RUG.js.map +1 -0
- package/dist/{chunk-JIHMUOOS.js → chunk-KLJVTZ3R.js} +3 -3
- package/dist/{chunk-FP4JYE66.js → chunk-KW4AJ7T3.js} +2 -2
- package/dist/{chunk-NIRQGDYC.js → chunk-L5VCT7LU.js} +5 -1
- package/dist/chunk-L5VCT7LU.js.map +1 -0
- package/dist/{chunk-QODKDRSP.js → chunk-L6AZOEXV.js} +4 -4
- package/dist/{chunk-CLWBFR7Q.js → chunk-LO76EF3Y.js} +1 -1
- package/dist/chunk-LO76EF3Y.js.map +1 -0
- package/dist/{chunk-LS2FHUML.js → chunk-LQ5SS4OP.js} +3 -3
- package/dist/{chunk-SIIRTDJ4.js → chunk-LWFWZTWX.js} +2 -2
- package/dist/{chunk-BMWN7B3Y.js → chunk-LXATZLSC.js} +3 -3
- package/dist/{chunk-O4SGYW7H.js → chunk-MAVYEZKM.js} +2 -2
- package/dist/{chunk-B665A6BO.js → chunk-MJIOGYKX.js} +2 -2
- package/dist/{chunk-RTKV5XHL.js → chunk-MO6N4QYY.js} +2 -2
- package/dist/{chunk-N4C7QKOG.js → chunk-MWWAQXZ6.js} +2 -2
- package/dist/{chunk-LCKVXX5F.js → chunk-MXV2MY6C.js} +2 -2
- package/dist/{chunk-FFOVKNQV.js → chunk-NAGMQXWV.js} +2 -2
- package/dist/{chunk-ZJVMUBYF.js → chunk-NHUX6GXA.js} +6 -6
- package/dist/{chunk-CB6ANA2I.js → chunk-NZCKG25S.js} +2 -2
- package/dist/{chunk-UMTCNEVQ.js → chunk-O2YPCFJT.js} +11 -11
- package/dist/{chunk-WSGPFRBH.js → chunk-OMERTLB7.js} +3 -3
- package/dist/{chunk-QX6JN3O4.js → chunk-PEF5LHQU.js} +6 -6
- package/dist/{chunk-JYZSRNR7.js → chunk-PIITB2YZ.js} +2 -2
- package/dist/chunk-PPUNC7UX.js +73 -0
- package/dist/chunk-PPUNC7UX.js.map +1 -0
- package/dist/{chunk-EQWEIIKQ.js → chunk-PQM3B54K.js} +6 -1
- package/dist/chunk-PQM3B54K.js.map +1 -0
- package/dist/{chunk-UQDG3YLN.js → chunk-PRU7OF3Y.js} +3 -3
- package/dist/{chunk-EU534WGS.js → chunk-PVHQSLNN.js} +7 -7
- package/dist/{chunk-TZNDKTX5.js → chunk-Q7DWEXG2.js} +37 -33
- package/dist/chunk-Q7DWEXG2.js.map +1 -0
- package/dist/{chunk-5VC7J76U.js → chunk-QPH52AZB.js} +2 -2
- package/dist/{chunk-XISROV24.js → chunk-QSEUUQUF.js} +2 -2
- package/dist/chunk-QUIRIG2P.js +31 -0
- package/dist/chunk-QUIRIG2P.js.map +1 -0
- package/dist/{chunk-FUFAXVBA.js → chunk-RI2KCQHP.js} +6 -2
- package/dist/chunk-RI2KCQHP.js.map +1 -0
- package/dist/{chunk-O2IPAX26.js → chunk-RTTPBBAN.js} +4 -4
- package/dist/{chunk-W5MCEVUS.js → chunk-RYYVMZBR.js} +2 -2
- package/dist/{chunk-ZSH2NRDV.js → chunk-TN4EA4X4.js} +2 -2
- package/dist/{chunk-SS3IS2JR.js → chunk-UGYUBENJ.js} +2 -2
- package/dist/{chunk-GELS5Z5Z.js → chunk-V3TXIXXY.js} +3 -3
- package/dist/{chunk-WVADKFWV.js → chunk-VNZMZPAC.js} +2 -2
- package/dist/{chunk-JPTPS4OB.js → chunk-VPXIKBPX.js} +2 -2
- package/dist/{chunk-OP6N4H6A.js → chunk-W3FVQBGF.js} +2 -2
- package/dist/{chunk-W3K3HITK.js → chunk-WLT6LTQP.js} +2 -2
- package/dist/{chunk-GMXWTJNU.js → chunk-XKRXN63M.js} +2 -2
- package/dist/{chunk-KR6ZKECI.js → chunk-XYGQSDTH.js} +3 -3
- package/dist/{chunk-22W2XWGH.js → chunk-YBO2WGCV.js} +2 -2
- package/dist/{chunk-P7TOIOT7.js → chunk-YR4COAEC.js} +2 -2
- package/dist/{chunk-6WHJ2EAB.js → chunk-Z64TS5V4.js} +2 -2
- package/dist/{chunk-NHLLKEKK.js → chunk-ZAJLJ35W.js} +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +73 -71
- package/dist/coding/export-okf-codegraph.js +9 -7
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/coding/pre-action-gate.js +4 -3
- package/dist/commitment-ledger.js +3 -2
- package/dist/compounding/engine.js +11 -9
- package/dist/config.js +14 -12
- package/dist/connectors/codex-materialize-runner.js +10 -8
- package/dist/connectors/index.js +10 -8
- package/dist/consolidation-provenance-check.d.ts.map +1 -1
- package/dist/consolidation-provenance-check.js +2 -1
- package/dist/contradiction/index.js +3 -2
- package/dist/convergence-refresh.js +12 -10
- package/dist/corpus-watermark.js +12 -10
- package/dist/correction/correction-planner.d.ts.map +1 -1
- package/dist/cue-anchors.js +4 -3
- package/dist/deep-recall-http-glue.js +4 -3
- package/dist/{dreams-ledger-567VKVOU.js → dreams-ledger-UCHHRQ4R.js} +3 -2
- package/dist/entity-retrieval.js +10 -8
- package/dist/eval-trajectory-store.js +4 -3
- package/dist/eval-trajectory.js +4 -3
- package/dist/evals.js +3 -2
- package/dist/external-wiki-access.js +35 -33
- package/dist/extraction.js +14 -12
- package/dist/{first-start-migration-6A5BJPDW.js → first-start-migration-QVD22WWS.js} +6 -5
- package/dist/{first-start-migration-6A5BJPDW.js.map → first-start-migration-QVD22WWS.js.map} +1 -1
- package/dist/harmonic-construction.js +5 -4
- package/dist/harmonic-retrieval.js +14 -12
- package/dist/harmonic-source-lookup.js +3 -2
- package/dist/index.js +90 -88
- package/dist/json-store.d.ts.map +1 -1
- package/dist/json-store.js +2 -1
- package/dist/location/index.js +12 -10
- package/dist/maintenance/dreams-ledger.d.ts.map +1 -1
- package/dist/maintenance/memory-governance.d.ts.map +1 -1
- package/dist/maintenance/memory-governance.js +10 -8
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -8
- package/dist/maintenance/rebuild-memory-projection-runner.js +12 -10
- package/dist/maintenance/rebuild-memory-projection.js +11 -9
- package/dist/memory-browse-operations.js +35 -33
- package/dist/namespaces/migrate.js +11 -9
- package/dist/namespaces/search.js +7 -6
- package/dist/namespaces/storage.d.ts.map +1 -1
- package/dist/namespaces/storage.js +10 -8
- package/dist/objective-state-writers.js +4 -3
- package/dist/objective-state.js +3 -2
- package/dist/offline-sync-snapshot-stream.js +3 -2
- package/dist/offline-sync.d.ts.map +1 -1
- package/dist/offline-sync.js +2 -1
- package/dist/operator-doctor-corpus.js +13 -11
- package/dist/operator-toolkit.js +25 -23
- package/dist/orchestration/extraction-run.d.ts +6 -20
- package/dist/orchestration/extraction-run.d.ts.map +1 -1
- package/dist/orchestration/maintenance.js +20 -18
- package/dist/orchestrator.js +90 -88
- package/dist/profiling.d.ts.map +1 -1
- package/dist/profiling.js +2 -1
- package/dist/recall-navigation-operations.js +35 -33
- package/dist/recall-navigation.js +34 -32
- package/dist/{resolution-7AY36LGJ.js → resolution-ZU5BIAJA.js} +4 -3
- package/dist/resume-bundles.js +19 -17
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-agents.d.ts.map +1 -1
- package/dist/retrieval-agents.js +7 -1
- package/dist/search/document-scanner.d.ts.map +1 -1
- package/dist/search/document-scanner.js +2 -1
- package/dist/search/factory.js +6 -5
- package/dist/search/index.js +6 -5
- package/dist/search/lancedb-backend.js +3 -2
- package/dist/search/meilisearch-backend.js +3 -2
- package/dist/search/orama-backend.js +3 -2
- package/dist/semantic-consolidation.js +11 -9
- package/dist/semantic-rule-promotion.js +10 -8
- package/dist/semantic-rule-verifier.js +10 -8
- package/dist/source-agent-qualifier.js +12 -10
- package/dist/standup/build.js +10 -8
- package/dist/storage/entity-canonical-id-migration.d.ts.map +1 -1
- package/dist/storage/entity-store.d.ts +32 -1
- package/dist/storage/entity-store.d.ts.map +1 -1
- package/dist/storage/memory-read-store.d.ts.map +1 -1
- package/dist/storage/supersession-audit.d.ts.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +9 -7
- package/dist/support-passport/index.js +37 -35
- package/dist/{tier-stats-RQM76XYY.js → tier-stats-C3IAMS4X.js} +6 -5
- package/dist/{tier-stats-RQM76XYY.js.map → tier-stats-C3IAMS4X.js.map} +1 -1
- package/dist/transcript.d.ts.map +1 -1
- package/dist/transcript.js +2 -1
- package/dist/transfer/export-okf.js +10 -8
- 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/utils/macos-replication-junk.d.ts +32 -0
- package/dist/utils/macos-replication-junk.d.ts.map +1 -0
- package/dist/utils/malformed-entity-record.d.ts +24 -0
- package/dist/utils/malformed-entity-record.d.ts.map +1 -0
- package/dist/verified-recall.js +10 -8
- package/dist/who-knows-cli.js +11 -9
- package/dist/who-knows.js +10 -8
- package/dist/work-product-ledger.js +3 -2
- package/package.json +2 -2
- package/src/calibration.ts +3 -2
- package/src/cli.ts +2 -2
- package/src/consolidation-provenance-check.ts +2 -0
- package/src/correction/correction-planner.ts +3 -2
- package/src/json-store.ts +3 -0
- package/src/macos-replication-junk-scanners.test.ts +275 -0
- package/src/maintenance/dreams-ledger.ts +2 -0
- package/src/maintenance/memory-governance.ts +2 -0
- package/src/namespaces/storage.ts +2 -0
- package/src/offline-sync-macos-junk.test.ts +169 -0
- package/src/offline-sync.ts +7 -0
- package/src/orchestration/extraction-run.ts +6 -20
- package/src/profiling.ts +2 -1
- package/src/retrieval-agents.ts +29 -12
- package/src/search/document-scanner.ts +4 -0
- package/src/storage/entity-canonical-id-migration.ts +56 -13
- package/src/storage/entity-store.ts +173 -15
- package/src/storage/memory-read-store.ts +30 -5
- package/src/storage/supersession-audit.ts +2 -0
- package/src/storage.ts +3 -2
- package/src/transcript.ts +11 -10
- package/src/utils/macos-replication-junk.test.ts +46 -0
- package/src/utils/macos-replication-junk.ts +65 -0
- package/src/utils/malformed-entity-record.ts +101 -0
- package/dist/chunk-4O6WRBGE.js.map +0 -1
- package/dist/chunk-63B2IZYE.js.map +0 -1
- package/dist/chunk-B6O2YLUR.js.map +0 -1
- package/dist/chunk-BLVHDY2U.js.map +0 -1
- package/dist/chunk-CLWBFR7Q.js.map +0 -1
- package/dist/chunk-EQWEIIKQ.js.map +0 -1
- package/dist/chunk-FUFAXVBA.js.map +0 -1
- package/dist/chunk-NIRQGDYC.js.map +0 -1
- package/dist/chunk-P5NQN4JE.js.map +0 -1
- package/dist/chunk-PAZ35RJ4.js.map +0 -1
- package/dist/chunk-Q4E24IRR.js.map +0 -1
- package/dist/chunk-QJ622LTI.js.map +0 -1
- package/dist/chunk-TZNDKTX5.js.map +0 -1
- package/dist/chunk-ZV65I6ME.js.map +0 -1
- /package/dist/{chunk-YFMBHQRG.js.map → chunk-2PTH4PRL.js.map} +0 -0
- /package/dist/{chunk-TITG2NBS.js.map → chunk-2PYHLSXK.js.map} +0 -0
- /package/dist/{chunk-KH2LKDX7.js.map → chunk-33G67YZF.js.map} +0 -0
- /package/dist/{chunk-SWIKABKI.js.map → chunk-3Q3XD3NO.js.map} +0 -0
- /package/dist/{chunk-4KY5GSMB.js.map → chunk-4PDTVVSW.js.map} +0 -0
- /package/dist/{chunk-HM7RHKS4.js.map → chunk-4RNBLLZR.js.map} +0 -0
- /package/dist/{chunk-Y4NKEXQT.js.map → chunk-5ATSXCAG.js.map} +0 -0
- /package/dist/{chunk-JDZFIR2S.js.map → chunk-5KGYTX5O.js.map} +0 -0
- /package/dist/{chunk-J7JWFZHI.js.map → chunk-5MLGY6IY.js.map} +0 -0
- /package/dist/{chunk-NW2E4CI2.js.map → chunk-5SMR542T.js.map} +0 -0
- /package/dist/{chunk-S7LWX2PQ.js.map → chunk-655FVTCD.js.map} +0 -0
- /package/dist/{chunk-4OSG5Y6M.js.map → chunk-6YEPGWUP.js.map} +0 -0
- /package/dist/{chunk-W47S5TIH.js.map → chunk-7VQ6AI7H.js.map} +0 -0
- /package/dist/{chunk-WLMZ2L5P.js.map → chunk-AZDTDWS2.js.map} +0 -0
- /package/dist/{chunk-G7NYVKD6.js.map → chunk-B2NXOVZN.js.map} +0 -0
- /package/dist/{chunk-N7KYEVLK.js.map → chunk-BK2BVLZW.js.map} +0 -0
- /package/dist/{chunk-S2I7DL5Q.js.map → chunk-C2RW36YR.js.map} +0 -0
- /package/dist/{chunk-6LG7BWKW.js.map → chunk-CFZ4SXXH.js.map} +0 -0
- /package/dist/{chunk-JQ7XU625.js.map → chunk-CQOIWJ5E.js.map} +0 -0
- /package/dist/{chunk-FSIMZNBC.js.map → chunk-CXOYUANR.js.map} +0 -0
- /package/dist/{chunk-QOZJCSFO.js.map → chunk-DQR2LD3V.js.map} +0 -0
- /package/dist/{chunk-MATDGSJ7.js.map → chunk-DUPHIZBY.js.map} +0 -0
- /package/dist/{chunk-EBA5DA77.js.map → chunk-EOU6V4IN.js.map} +0 -0
- /package/dist/{chunk-5WCJLQTM.js.map → chunk-F2772ATT.js.map} +0 -0
- /package/dist/{chunk-46EST7JO.js.map → chunk-F2XNSIPP.js.map} +0 -0
- /package/dist/{chunk-PZHQWFR3.js.map → chunk-G3UUAQOD.js.map} +0 -0
- /package/dist/{chunk-YE36AJL7.js.map → chunk-GCVDFX66.js.map} +0 -0
- /package/dist/{chunk-T2YX56QI.js.map → chunk-GQJKVQJR.js.map} +0 -0
- /package/dist/{chunk-I7S55EOB.js.map → chunk-GUY6L6LL.js.map} +0 -0
- /package/dist/{chunk-L5DAHSEZ.js.map → chunk-GWVNGDJW.js.map} +0 -0
- /package/dist/{chunk-N45NEBOD.js.map → chunk-GZXXPCWJ.js.map} +0 -0
- /package/dist/{chunk-EPJDSQHF.js.map → chunk-H5IUN433.js.map} +0 -0
- /package/dist/{chunk-EUAIYYYR.js.map → chunk-H6FREOYX.js.map} +0 -0
- /package/dist/{chunk-T3FMRLWQ.js.map → chunk-HFSPY26A.js.map} +0 -0
- /package/dist/{chunk-GH7AOMJD.js.map → chunk-IJMDBYCO.js.map} +0 -0
- /package/dist/{chunk-4IHBN6WU.js.map → chunk-JKMIGCK6.js.map} +0 -0
- /package/dist/{chunk-ROBHL3GL.js.map → chunk-JWX2Q6HS.js.map} +0 -0
- /package/dist/{chunk-DPR2WTN3.js.map → chunk-JZTEOBOR.js.map} +0 -0
- /package/dist/{chunk-JIHMUOOS.js.map → chunk-KLJVTZ3R.js.map} +0 -0
- /package/dist/{chunk-FP4JYE66.js.map → chunk-KW4AJ7T3.js.map} +0 -0
- /package/dist/{chunk-QODKDRSP.js.map → chunk-L6AZOEXV.js.map} +0 -0
- /package/dist/{chunk-LS2FHUML.js.map → chunk-LQ5SS4OP.js.map} +0 -0
- /package/dist/{chunk-SIIRTDJ4.js.map → chunk-LWFWZTWX.js.map} +0 -0
- /package/dist/{chunk-BMWN7B3Y.js.map → chunk-LXATZLSC.js.map} +0 -0
- /package/dist/{chunk-O4SGYW7H.js.map → chunk-MAVYEZKM.js.map} +0 -0
- /package/dist/{chunk-B665A6BO.js.map → chunk-MJIOGYKX.js.map} +0 -0
- /package/dist/{chunk-RTKV5XHL.js.map → chunk-MO6N4QYY.js.map} +0 -0
- /package/dist/{chunk-N4C7QKOG.js.map → chunk-MWWAQXZ6.js.map} +0 -0
- /package/dist/{chunk-LCKVXX5F.js.map → chunk-MXV2MY6C.js.map} +0 -0
- /package/dist/{chunk-FFOVKNQV.js.map → chunk-NAGMQXWV.js.map} +0 -0
- /package/dist/{chunk-ZJVMUBYF.js.map → chunk-NHUX6GXA.js.map} +0 -0
- /package/dist/{chunk-CB6ANA2I.js.map → chunk-NZCKG25S.js.map} +0 -0
- /package/dist/{chunk-UMTCNEVQ.js.map → chunk-O2YPCFJT.js.map} +0 -0
- /package/dist/{chunk-WSGPFRBH.js.map → chunk-OMERTLB7.js.map} +0 -0
- /package/dist/{chunk-QX6JN3O4.js.map → chunk-PEF5LHQU.js.map} +0 -0
- /package/dist/{chunk-JYZSRNR7.js.map → chunk-PIITB2YZ.js.map} +0 -0
- /package/dist/{chunk-UQDG3YLN.js.map → chunk-PRU7OF3Y.js.map} +0 -0
- /package/dist/{chunk-EU534WGS.js.map → chunk-PVHQSLNN.js.map} +0 -0
- /package/dist/{chunk-5VC7J76U.js.map → chunk-QPH52AZB.js.map} +0 -0
- /package/dist/{chunk-XISROV24.js.map → chunk-QSEUUQUF.js.map} +0 -0
- /package/dist/{chunk-O2IPAX26.js.map → chunk-RTTPBBAN.js.map} +0 -0
- /package/dist/{chunk-W5MCEVUS.js.map → chunk-RYYVMZBR.js.map} +0 -0
- /package/dist/{chunk-ZSH2NRDV.js.map → chunk-TN4EA4X4.js.map} +0 -0
- /package/dist/{chunk-SS3IS2JR.js.map → chunk-UGYUBENJ.js.map} +0 -0
- /package/dist/{chunk-GELS5Z5Z.js.map → chunk-V3TXIXXY.js.map} +0 -0
- /package/dist/{chunk-WVADKFWV.js.map → chunk-VNZMZPAC.js.map} +0 -0
- /package/dist/{chunk-JPTPS4OB.js.map → chunk-VPXIKBPX.js.map} +0 -0
- /package/dist/{chunk-OP6N4H6A.js.map → chunk-W3FVQBGF.js.map} +0 -0
- /package/dist/{chunk-W3K3HITK.js.map → chunk-WLT6LTQP.js.map} +0 -0
- /package/dist/{chunk-GMXWTJNU.js.map → chunk-XKRXN63M.js.map} +0 -0
- /package/dist/{chunk-KR6ZKECI.js.map → chunk-XYGQSDTH.js.map} +0 -0
- /package/dist/{chunk-22W2XWGH.js.map → chunk-YBO2WGCV.js.map} +0 -0
- /package/dist/{chunk-P7TOIOT7.js.map → chunk-YR4COAEC.js.map} +0 -0
- /package/dist/{chunk-6WHJ2EAB.js.map → chunk-Z64TS5V4.js.map} +0 -0
- /package/dist/{chunk-NHLLKEKK.js.map → chunk-ZAJLJ35W.js.map} +0 -0
- /package/dist/{dreams-ledger-567VKVOU.js.map → dreams-ledger-UCHHRQ4R.js.map} +0 -0
- /package/dist/{resolution-7AY36LGJ.js.map → resolution-ZU5BIAJA.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-TBBDFYXW.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4SCZZ3U7.js";
|
|
7
7
|
import {
|
|
8
8
|
bumpMemoryCorpusVersionForDir
|
|
9
9
|
} from "./chunk-M5GVCJSJ.js";
|
|
@@ -16,6 +16,9 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
assertPathInsideRoot
|
|
18
18
|
} from "./chunk-C7HJ3NEI.js";
|
|
19
|
+
import {
|
|
20
|
+
isMacOsReplicationJunkBasename
|
|
21
|
+
} from "./chunk-QUIRIG2P.js";
|
|
19
22
|
import {
|
|
20
23
|
RECALL_FALLBACK_DIRS
|
|
21
24
|
} from "./chunk-VS2IYZRU.js";
|
|
@@ -193,6 +196,7 @@ async function listMarkdownFiles(root, containmentRoot) {
|
|
|
193
196
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
194
197
|
for (const entry of entries) {
|
|
195
198
|
if (entry.isSymbolicLink()) continue;
|
|
199
|
+
if (isMacOsReplicationJunkBasename(entry.name)) continue;
|
|
196
200
|
const fullPath = path.join(dir, entry.name);
|
|
197
201
|
if (entry.isDirectory()) {
|
|
198
202
|
await walk(fullPath);
|
|
@@ -765,4 +769,4 @@ export {
|
|
|
765
769
|
listMemoryGovernanceRuns,
|
|
766
770
|
readMemoryGovernanceRunArtifact
|
|
767
771
|
};
|
|
768
|
-
//# sourceMappingURL=chunk-
|
|
772
|
+
//# sourceMappingURL=chunk-C6JMGAMO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/maintenance/memory-governance.ts"],"sourcesContent":["import path from \"node:path\";\nimport { lstat, mkdir, readFile, readdir, realpath, rm, writeFile } from \"node:fs/promises\";\nimport { StorageManager } from \"../storage.js\";\nimport { decideLifecycleTransition } from \"../lifecycle.js\";\nimport type { MemoryFile, MemoryStatus } from \"../types.js\";\nimport { RECALL_FALLBACK_DIRS } from \"../utils/category-dir.js\";\nimport { bumpMemoryCorpusVersionForDir } from \"../memory-corpus-version.js\";\nimport { assertPathInsideRoot } from \"../utils/path-containment.js\";\nimport { isMacOsReplicationJunkBasename } from \"../utils/macos-replication-junk.js\";\nimport { requestEntityCanonicalIdReconcile } from \"../storage/entity-canonical-id-references.js\";\nimport { excludeSupportPassportPrivateMemories } from \"../support-passport/card-projection.js\";\n\nexport type MemoryGovernanceMode = \"shadow\" | \"apply\";\nexport type MemoryGovernanceReasonCode =\n | \"exact_duplicate\"\n | \"semantic_duplicate_candidate\"\n | \"disputed_memory\"\n | \"speculative_low_confidence\"\n | \"archive_candidate\"\n | \"explicit_capture_review\"\n | \"malformed_import\";\n\nexport interface MemoryGovernanceReviewQueueEntry {\n entryId: string;\n memoryId: string;\n path: string;\n reasonCode: MemoryGovernanceReasonCode;\n severity: \"low\" | \"medium\" | \"high\";\n suggestedAction: \"set_status\" | \"archive\";\n suggestedStatus?: Extract<MemoryStatus, \"pending_review\" | \"quarantined\" | \"rejected\">;\n relatedMemoryIds: string[];\n}\n\nexport interface MemoryGovernanceAppliedAction {\n action: \"set_status\" | \"archive\";\n memoryId: string;\n reasonCode: MemoryGovernanceReviewQueueEntry[\"reasonCode\"];\n beforeStatus: MemoryStatus;\n afterStatus?: MemoryStatus;\n originalPath: string;\n currentPath: string;\n}\n\ninterface MemoryGovernanceRestoreEntry {\n action: MemoryGovernanceAppliedAction[\"action\"];\n memoryId: string;\n reasonCode: MemoryGovernanceReviewQueueEntry[\"reasonCode\"];\n originalPath: string;\n currentPath: string;\n beforeRaw: string;\n expectedCurrentRaw?: string;\n applied: boolean;\n}\n\nexport interface MemoryGovernanceRestoreManifest {\n runId: string;\n createdAt: string;\n entries: MemoryGovernanceRestoreEntry[];\n}\n\nexport interface MemoryGovernanceSummary {\n schemaVersion: 1;\n runId: string;\n traceId: string;\n mode: MemoryGovernanceMode;\n createdAt: string;\n scannedMemories: number;\n reviewQueueCount: number;\n proposedActionCount: number;\n appliedActionCount: number;\n ruleVersion: string;\n}\n\nexport interface MemoryGovernanceMetrics {\n reviewReasons: Record<MemoryGovernanceReasonCode, number>;\n proposedStatuses: Record<string, number>;\n keptMemoryCount: number;\n qualityScore: MemoryGovernanceQualityScore;\n}\n\nexport interface MemoryGovernanceQualityScore {\n score: number;\n maxScore: 100;\n grade: \"excellent\" | \"good\" | \"fair\" | \"poor\";\n deductions: Array<{\n reasonCode: MemoryGovernanceReasonCode;\n count: number;\n pointsLost: number;\n }>;\n}\n\nexport interface MemoryGovernanceTransitionReport {\n proposed: Record<string, MemoryGovernanceAppliedAction[]>;\n applied: Record<string, MemoryGovernanceAppliedAction[]>;\n}\n\nexport interface MemoryGovernanceManifest {\n schemaVersion: 1;\n runId: string;\n traceId: string;\n mode: MemoryGovernanceMode;\n createdAt: string;\n ruleVersion: string;\n artifacts: Record<string, string>;\n}\n\nexport interface MemoryGovernanceRunResult {\n runId: string;\n traceId: string;\n mode: MemoryGovernanceMode;\n summary: MemoryGovernanceSummary;\n summaryPath: string;\n reviewQueuePath: string;\n qualityScorePath: string;\n transitionReportPath: string;\n reportPath: string;\n keptMemoriesPath: string;\n appliedActionsPath: string;\n metricsPath: string;\n manifestPath: string;\n restorePath?: string;\n reviewQueue: MemoryGovernanceReviewQueueEntry[];\n proposedActions: MemoryGovernanceAppliedAction[];\n appliedActions: MemoryGovernanceAppliedAction[];\n}\n\nexport interface RestoreMemoryGovernanceRunResult {\n runId: string;\n restoredActions: number;\n restorePath: string;\n}\n\nexport interface RunMemoryGovernanceOptions {\n memoryDir: string;\n mode: MemoryGovernanceMode;\n now?: Date;\n maxMemories?: number;\n batchSize?: number;\n recentDays?: number;\n}\n\nexport interface RestoreMemoryGovernanceRunOptions {\n memoryDir: string;\n runId: string;\n now?: Date;\n}\n\nexport const RULE_VERSION = \"memory-governance.v2\";\nconst SEMANTIC_DUPLICATE_MIN_TOKENS = 6;\nconst SEMANTIC_DUPLICATE_MIN_JACCARD = 0.66;\nconst QUALITY_SCORE_WEIGHTS: Record<MemoryGovernanceReasonCode, number> = {\n exact_duplicate: 6,\n semantic_duplicate_candidate: 4,\n disputed_memory: 15,\n speculative_low_confidence: 8,\n archive_candidate: 2,\n explicit_capture_review: 5,\n malformed_import: 12,\n};\n\nfunction governanceRunsDir(memoryDir: string): string {\n return path.join(memoryDir, \"state\", \"memory-governance\", \"runs\");\n}\n\nfunction governanceRunDir(memoryDir: string, runId: string): string {\n return path.join(governanceRunsDir(memoryDir), runId);\n}\n\nfunction governanceRestorePath(memoryDir: string, runId: string): string {\n return path.join(governanceRunDir(memoryDir, runId), \"restore.json\");\n}\n\nfunction buildRunId(now: Date): string {\n return `gov-${now.toISOString().replace(/[:.]/g, \"-\")}`;\n}\n\nfunction plannedArchivePath(memoryDir: string, originalPath: string, now: Date): string {\n return path.join(\n memoryDir,\n \"archive\",\n now.toISOString().slice(0, 10),\n path.basename(originalPath),\n );\n}\n\nfunction normalizeContent(content: string): string {\n return content.trim().replace(/\\s+/g, \" \").toLowerCase();\n}\n\nfunction statusOf(memory: MemoryFile): MemoryStatus {\n return memory.frontmatter.status ?? \"active\";\n}\n\nfunction parseIsoMs(value?: string): number | null {\n if (!value) return null;\n const ms = Date.parse(value);\n return Number.isFinite(ms) ? ms : null;\n}\n\nfunction daysSince(value: string | undefined, now: Date): number {\n const ts = parseIsoMs(value);\n if (ts === null) return 365;\n return Math.max(0, (now.getTime() - ts) / 86_400_000);\n}\n\nfunction compareCanonicalPreference(left: MemoryFile, right: MemoryFile): number {\n if (left.frontmatter.confidence !== right.frontmatter.confidence) {\n return (right.frontmatter.confidence ?? 0) - (left.frontmatter.confidence ?? 0);\n }\n return left.frontmatter.created.localeCompare(right.frontmatter.created);\n}\n\nfunction proposedStatusPriority(status: MemoryStatus): number {\n switch (status) {\n case \"quarantined\":\n return 4;\n case \"rejected\":\n return 3;\n case \"archived\":\n return 2;\n case \"pending_review\":\n return 1;\n default:\n return 0;\n }\n}\n\nfunction proposedActionPriority(action: MemoryGovernanceAppliedAction): number {\n if (action.action === \"archive\") {\n return proposedStatusPriority(\"archived\");\n }\n return proposedStatusPriority(action.afterStatus ?? \"active\");\n}\n\nfunction tokenizeSemanticContent(content: string): string[] {\n return Array.from(\n new Set(\n normalizeContent(content)\n .replaceAll(/[^\\p{L}\\p{N}]+/gu, \" \")\n .split(\" \")\n .filter((token) => token.length >= 4),\n ),\n );\n}\n\nfunction jaccardSimilarity(left: string[], right: string[]): number {\n if (left.length === 0 || right.length === 0) return 0;\n const leftSet = new Set(left);\n const rightSet = new Set(right);\n let intersection = 0;\n for (const token of leftSet) {\n if (rightSet.has(token)) intersection += 1;\n }\n const union = new Set([...leftSet, ...rightSet]).size;\n return union > 0 ? intersection / union : 0;\n}\n\nfunction sameSemanticDuplicateScope(left: MemoryFile, right: MemoryFile): boolean {\n if (left.frontmatter.category !== right.frontmatter.category) return false;\n const leftEntityRef = left.frontmatter.entityRef?.trim();\n const rightEntityRef = right.frontmatter.entityRef?.trim();\n if (leftEntityRef && rightEntityRef && leftEntityRef !== rightEntityRef) return false;\n return true;\n}\n\nfunction buildSemanticDuplicateEntries(activeMemories: MemoryFile[]): MemoryGovernanceReviewQueueEntry[] {\n const reviewQueue: MemoryGovernanceReviewQueueEntry[] = [];\n const ordered = [...activeMemories].sort(compareCanonicalPreference);\n const tokensByMemoryId = new Map(\n ordered.map((memory) => [memory.frontmatter.id, tokenizeSemanticContent(memory.content)] as const),\n );\n const claimed = new Set<string>();\n\n for (let candidateIndex = 1; candidateIndex < ordered.length; candidateIndex += 1) {\n const candidate = ordered[candidateIndex];\n if (claimed.has(candidate.frontmatter.id)) continue;\n const candidateTokens = tokensByMemoryId.get(candidate.frontmatter.id) ?? [];\n if (candidateTokens.length < SEMANTIC_DUPLICATE_MIN_TOKENS) continue;\n const candidateNormalized = normalizeContent(candidate.content);\n\n for (let canonicalIndex = 0; canonicalIndex < candidateIndex; canonicalIndex += 1) {\n const canonical = ordered[canonicalIndex];\n if (!sameSemanticDuplicateScope(canonical, candidate)) continue;\n const canonicalNormalized = normalizeContent(canonical.content);\n if (canonicalNormalized === candidateNormalized) continue;\n const canonicalTokens = tokensByMemoryId.get(canonical.frontmatter.id) ?? [];\n if (canonicalTokens.length < SEMANTIC_DUPLICATE_MIN_TOKENS) continue;\n\n const shorter = Math.min(candidateTokens.length, canonicalTokens.length);\n const longer = Math.max(candidateTokens.length, canonicalTokens.length);\n if (shorter / longer < 0.6) continue;\n if (jaccardSimilarity(candidateTokens, canonicalTokens) < SEMANTIC_DUPLICATE_MIN_JACCARD) continue;\n\n reviewQueue.push({\n entryId: `review:${candidate.frontmatter.id}:semantic_duplicate_candidate`,\n memoryId: candidate.frontmatter.id,\n path: candidate.path,\n reasonCode: \"semantic_duplicate_candidate\",\n severity: \"medium\",\n suggestedAction: \"set_status\",\n suggestedStatus: \"pending_review\",\n relatedMemoryIds: [canonical.frontmatter.id],\n });\n claimed.add(candidate.frontmatter.id);\n break;\n }\n }\n\n return reviewQueue;\n}\n\nfunction buildExplicitCaptureReviewEntries(\n memories: MemoryFile[],\n lifecycleEvents: Array<{\n memoryId: string;\n eventType: string;\n reasonCode?: string;\n }>,\n): MemoryGovernanceReviewQueueEntry[] {\n const explicitQueuedIds = new Set(\n lifecycleEvents\n .filter((event) => event.eventType === \"explicit_capture_queued\")\n .map((event) => event.memoryId),\n );\n\n return memories\n .filter((memory) => {\n if (statusOf(memory) !== \"pending_review\") return false;\n const tags = memory.frontmatter.tags ?? [];\n if (tags.includes(\"queued-review\")) return true;\n if (explicitQueuedIds.has(memory.frontmatter.id)) return true;\n return memory.frontmatter.source === \"explicit-review\" || memory.frontmatter.source === \"explicit-inline-review\";\n })\n .map((memory) => ({\n entryId: `review:${memory.frontmatter.id}:explicit_capture_review`,\n memoryId: memory.frontmatter.id,\n path: memory.path,\n reasonCode: \"explicit_capture_review\" as const,\n severity: \"medium\" as const,\n suggestedAction: \"set_status\" as const,\n suggestedStatus: \"pending_review\" as const,\n relatedMemoryIds: [],\n }));\n}\n\n/**\n * List every `*.md` under `root`, refusing to follow symlinked directories or\n * entries that resolve outside `containmentRoot` (a realpath-resolved memory\n * store root). Mirrors the containment guard in consolidation-provenance's\n * walkMarkdownFiles / the CLI walker, reusing the shared assertPathInsideRoot\n * (rule 22). Without this, a symlinked category dir (e.g. decisions/ → outside\n * memoryDir) would be walked and its files surfaced by the malformed-import\n * governance sweep — an out-of-store info leak.\n */\nasync function listMarkdownFiles(root: string, containmentRoot: string): Promise<string[]> {\n const files: string[] = [];\n const walk = async (dir: string) => {\n try {\n const dirStat = await lstat(dir);\n if (dirStat.isSymbolicLink() || !dirStat.isDirectory()) return;\n assertPathInsideRoot(containmentRoot, await realpath(dir), dir);\n const entries = await readdir(dir, { withFileTypes: true });\n for (const entry of entries) {\n if (entry.isSymbolicLink()) continue; // never follow symlinked entries\n if (isMacOsReplicationJunkBasename(entry.name)) continue;\n const fullPath = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n await walk(fullPath);\n continue;\n }\n if (entry.isFile() && entry.name.endsWith(\".md\")) {\n try {\n assertPathInsideRoot(containmentRoot, await realpath(fullPath), fullPath);\n } catch {\n continue; // poisoned entry escaping the root — skip it.\n }\n files.push(fullPath);\n }\n }\n } catch {\n // Absent dir (ENOENT), symlinked/out-of-root dir, or containment\n // violation — skip this subtree without aborting the sweep.\n }\n };\n\n await walk(root);\n return files;\n}\n\nfunction malformedMemoryId(memoryDir: string, filePath: string): string {\n return `malformed:${path.relative(memoryDir, filePath).replaceAll(path.sep, \"/\")}`;\n}\n\nasync function buildMalformedImportEntries(\n memoryDir: string,\n storage: StorageManager,\n parsedMemories: MemoryFile[],\n candidateFiles?: string[],\n): Promise<MemoryGovernanceReviewQueueEntry[]> {\n const parsedPaths = new Set(parsedMemories.map((memory) => memory.path));\n // Inspect every recall category directory (RECALL_FALLBACK_DIRS — the single\n // source of truth) so malformed files under newly-routed categories\n // (decisions/, preferences/, ...) are surfaced too, not just facts/ (#1546).\n // Resolve the containment root (realpath) once and thread it into the walker\n // so a symlinked category dir can't escape memoryDir. If memoryDir itself\n // can't be resolved, there is nothing valid to inspect.\n let containmentRoot: string | null = null;\n try {\n containmentRoot = await realpath(memoryDir);\n } catch {\n containmentRoot = null;\n }\n const filesToInspect =\n candidateFiles ??\n (containmentRoot === null\n ? []\n : (\n await Promise.all(\n RECALL_FALLBACK_DIRS.map((dir) =>\n listMarkdownFiles(path.join(memoryDir, dir), containmentRoot as string),\n ),\n )\n ).flat());\n const entries: MemoryGovernanceReviewQueueEntry[] = [];\n\n for (const filePath of filesToInspect) {\n if (parsedPaths.has(filePath)) continue;\n const parsed = await storage.readMemoryByPath(filePath);\n if (parsed) continue;\n entries.push({\n entryId: `review:${malformedMemoryId(memoryDir, filePath)}:malformed_import`,\n memoryId: malformedMemoryId(memoryDir, filePath),\n path: filePath,\n reasonCode: \"malformed_import\",\n severity: \"high\",\n suggestedAction: \"set_status\",\n suggestedStatus: \"quarantined\",\n relatedMemoryIds: [],\n });\n }\n\n return entries;\n}\n\nasync function buildReviewQueue(\n memoryDir: string,\n storage: StorageManager,\n memories: MemoryFile[],\n now: Date,\n options: {\n malformedCandidateFiles?: string[];\n } = {},\n): Promise<MemoryGovernanceReviewQueueEntry[]> {\n const reviewQueue: MemoryGovernanceReviewQueueEntry[] = [];\n const activeMemories = memories.filter((memory) => statusOf(memory) === \"active\");\n const duplicateBuckets = new Map<string, MemoryFile[]>();\n\n for (const memory of activeMemories) {\n const key = `${memory.frontmatter.category}:${normalizeContent(memory.content)}`;\n const bucket = duplicateBuckets.get(key) ?? [];\n bucket.push(memory);\n duplicateBuckets.set(key, bucket);\n }\n\n for (const bucket of duplicateBuckets.values()) {\n if (bucket.length < 2) continue;\n const ordered = [...bucket].sort(compareCanonicalPreference);\n const canonical = ordered[0];\n for (const duplicate of ordered.slice(1)) {\n reviewQueue.push({\n entryId: `review:${duplicate.frontmatter.id}:exact_duplicate`,\n memoryId: duplicate.frontmatter.id,\n path: duplicate.path,\n reasonCode: \"exact_duplicate\",\n severity: \"medium\",\n suggestedAction: \"set_status\",\n suggestedStatus: \"pending_review\",\n relatedMemoryIds: canonical ? [canonical.frontmatter.id] : [],\n });\n }\n }\n\n reviewQueue.push(...buildSemanticDuplicateEntries(activeMemories));\n\n for (const memory of activeMemories) {\n if (memory.frontmatter.verificationState === \"disputed\") {\n reviewQueue.push({\n entryId: `review:${memory.frontmatter.id}:disputed_memory`,\n memoryId: memory.frontmatter.id,\n path: memory.path,\n reasonCode: \"disputed_memory\",\n severity: \"high\",\n suggestedAction: \"set_status\",\n suggestedStatus: \"quarantined\",\n relatedMemoryIds: [],\n });\n }\n\n if (\n memory.frontmatter.confidenceTier === \"speculative\"\n && (memory.frontmatter.confidence ?? 0) <= 0.25\n ) {\n reviewQueue.push({\n entryId: `review:${memory.frontmatter.id}:speculative_low_confidence`,\n memoryId: memory.frontmatter.id,\n path: memory.path,\n reasonCode: \"speculative_low_confidence\",\n severity: \"medium\",\n suggestedAction: \"set_status\",\n suggestedStatus: \"pending_review\",\n relatedMemoryIds: [],\n });\n }\n\n const lifecycle = decideLifecycleTransition(memory, {}, now);\n const staleForArchive = memory.frontmatter.lifecycleState === \"stale\"\n && daysSince(memory.frontmatter.updated ?? memory.frontmatter.created, now) >= 180;\n if ((lifecycle.nextState === \"archived\" && lifecycle.changed) || staleForArchive) {\n reviewQueue.push({\n entryId: `review:${memory.frontmatter.id}:archive_candidate`,\n memoryId: memory.frontmatter.id,\n path: memory.path,\n reasonCode: \"archive_candidate\",\n severity: \"low\",\n suggestedAction: \"archive\",\n relatedMemoryIds: [],\n });\n }\n }\n\n const lifecycleEvents = await storage.readMemoryLifecycleEvents(Number.MAX_SAFE_INTEGER);\n reviewQueue.push(...buildExplicitCaptureReviewEntries(memories, lifecycleEvents));\n reviewQueue.push(...await buildMalformedImportEntries(\n memoryDir,\n storage,\n memories,\n options.malformedCandidateFiles,\n ));\n\n return reviewQueue;\n}\n\nexport function buildProposedActions(\n reviewQueue: MemoryGovernanceReviewQueueEntry[],\n memories: MemoryFile[],\n): MemoryGovernanceAppliedAction[] {\n const byMemory = new Map(memories.map((memory) => [memory.frontmatter.id, memory]));\n const selected = new Map<string, MemoryGovernanceAppliedAction>();\n\n for (const entry of reviewQueue) {\n const memory = byMemory.get(entry.memoryId);\n if (!memory) continue;\n const currentStatus = statusOf(memory);\n if (\n entry.suggestedAction === \"set_status\"\n && entry.suggestedStatus\n && entry.suggestedStatus === currentStatus\n ) {\n continue;\n }\n const candidate: MemoryGovernanceAppliedAction = {\n action: entry.suggestedAction,\n memoryId: entry.memoryId,\n reasonCode: entry.reasonCode,\n beforeStatus: currentStatus,\n afterStatus: entry.suggestedStatus,\n originalPath: memory.path,\n currentPath: memory.path,\n };\n\n const existing = selected.get(entry.memoryId);\n if (!existing) {\n selected.set(entry.memoryId, candidate);\n continue;\n }\n\n const existingPriority = proposedActionPriority(existing);\n const candidatePriority = proposedActionPriority(candidate);\n if (candidatePriority > existingPriority) {\n selected.set(entry.memoryId, candidate);\n }\n }\n\n return [...selected.values()];\n}\n\nfunction buildMetrics(\n reviewQueue: MemoryGovernanceReviewQueueEntry[],\n proposedActions: MemoryGovernanceAppliedAction[],\n scannedMemories: number,\n): MemoryGovernanceMetrics {\n const reviewReasons: MemoryGovernanceMetrics[\"reviewReasons\"] = {\n exact_duplicate: 0,\n semantic_duplicate_candidate: 0,\n disputed_memory: 0,\n speculative_low_confidence: 0,\n archive_candidate: 0,\n explicit_capture_review: 0,\n malformed_import: 0,\n };\n const proposedStatuses: Record<string, number> = {};\n\n for (const entry of reviewQueue) {\n reviewReasons[entry.reasonCode] += 1;\n }\n\n for (const action of proposedActions) {\n const effectiveStatus = action.afterStatus ?? (action.action === \"archive\" ? \"archived\" : undefined);\n if (!effectiveStatus) continue;\n proposedStatuses[effectiveStatus] = (proposedStatuses[effectiveStatus] ?? 0) + 1;\n }\n\n return {\n reviewReasons,\n proposedStatuses,\n keptMemoryCount: Math.max(0, scannedMemories - proposedActions.length),\n qualityScore: buildQualityScore(reviewReasons),\n };\n}\n\nexport function buildQualityScore(\n reviewReasons: Record<MemoryGovernanceReasonCode, number>,\n): MemoryGovernanceQualityScore {\n const deductions = Object.entries(reviewReasons)\n .map(([reasonCode, count]) => ({\n reasonCode: reasonCode as MemoryGovernanceReasonCode,\n count,\n pointsLost: count * QUALITY_SCORE_WEIGHTS[reasonCode as MemoryGovernanceReasonCode],\n }))\n .filter((entry) => entry.count > 0)\n .sort((left, right) => right.pointsLost - left.pointsLost);\n const totalPointsLost = deductions.reduce((sum, entry) => sum + entry.pointsLost, 0);\n const score = Math.max(0, 100 - totalPointsLost);\n const grade = score >= 90 ? \"excellent\"\n : score >= 75 ? \"good\"\n : score >= 50 ? \"fair\"\n : \"poor\";\n return {\n score,\n maxScore: 100,\n grade,\n deductions,\n };\n}\n\nexport function groupActionsByStatus(\n actions: MemoryGovernanceAppliedAction[],\n): Record<string, MemoryGovernanceAppliedAction[]> {\n const grouped: Record<string, MemoryGovernanceAppliedAction[]> = {};\n for (const action of actions) {\n const status = action.afterStatus ?? (action.action === \"archive\" ? \"archived\" : \"unchanged\");\n const bucket = grouped[status] ?? [];\n bucket.push(action);\n grouped[status] = bucket;\n }\n return grouped;\n}\n\nasync function safeRead(filePath: string): Promise<string | null> {\n try {\n return await readFile(filePath, \"utf-8\");\n } catch {\n return null;\n }\n}\n\nasync function persistRestoreManifest(\n memoryDir: string,\n manifest: MemoryGovernanceRestoreManifest,\n): Promise<string> {\n const restorePath = governanceRestorePath(memoryDir, manifest.runId);\n await mkdir(path.dirname(restorePath), { recursive: true });\n await writeFile(restorePath, JSON.stringify(manifest, null, 2), \"utf-8\");\n return restorePath;\n}\n\nasync function writeGovernanceArtifacts(options: {\n memoryDir: string;\n runId: string;\n traceId: string;\n summary: MemoryGovernanceSummary;\n metrics: MemoryGovernanceMetrics;\n qualityScore: MemoryGovernanceQualityScore;\n transitionReport: MemoryGovernanceTransitionReport;\n keptMemoryIds: string[];\n reviewQueue: MemoryGovernanceReviewQueueEntry[];\n proposedActions: MemoryGovernanceAppliedAction[];\n appliedActions: MemoryGovernanceAppliedAction[];\n restoreManifest?: MemoryGovernanceRestoreManifest;\n}): Promise<\n Pick<\n MemoryGovernanceRunResult,\n | \"summaryPath\"\n | \"reviewQueuePath\"\n | \"qualityScorePath\"\n | \"transitionReportPath\"\n | \"reportPath\"\n | \"keptMemoriesPath\"\n | \"appliedActionsPath\"\n | \"metricsPath\"\n | \"manifestPath\"\n | \"restorePath\"\n >\n> {\n const runDir = governanceRunDir(options.memoryDir, options.runId);\n await mkdir(runDir, { recursive: true });\n\n const summaryPath = path.join(runDir, \"summary.json\");\n const reviewQueuePath = path.join(runDir, \"review-queue.json\");\n const qualityScorePath = path.join(runDir, \"quality-score.json\");\n const transitionReportPath = path.join(runDir, \"status-transitions.json\");\n const reportPath = path.join(runDir, \"report.md\");\n const keptMemoriesPath = path.join(runDir, \"kept-memories.json\");\n const appliedActionsPath = path.join(runDir, \"applied-actions.json\");\n const metricsPath = path.join(runDir, \"metrics.json\");\n const manifestPath = path.join(runDir, \"manifest.json\");\n const restorePath = options.restoreManifest ? governanceRestorePath(options.memoryDir, options.runId) : undefined;\n\n await writeFile(summaryPath, JSON.stringify(options.summary, null, 2), \"utf-8\");\n await writeFile(reviewQueuePath, JSON.stringify(options.reviewQueue, null, 2), \"utf-8\");\n await writeFile(qualityScorePath, JSON.stringify(options.qualityScore, null, 2), \"utf-8\");\n await writeFile(transitionReportPath, JSON.stringify(options.transitionReport, null, 2), \"utf-8\");\n await writeFile(keptMemoriesPath, JSON.stringify(options.keptMemoryIds, null, 2), \"utf-8\");\n await writeFile(appliedActionsPath, JSON.stringify(options.appliedActions, null, 2), \"utf-8\");\n await writeFile(metricsPath, JSON.stringify(options.metrics, null, 2), \"utf-8\");\n await writeFile(\n reportPath,\n [\n `# Memory Governance Run ${options.runId}`,\n \"\",\n `- Trace ID: ${options.traceId}`,\n `- Mode: ${options.summary.mode}`,\n `- Scanned memories: ${options.summary.scannedMemories}`,\n `- Kept memories: ${options.metrics.keptMemoryCount}`,\n `- Review queue entries: ${options.summary.reviewQueueCount}`,\n `- Proposed actions: ${options.summary.proposedActionCount}`,\n `- Applied actions: ${options.summary.appliedActionCount}`,\n `- Quality score: ${options.qualityScore.score}/${options.qualityScore.maxScore} (${options.qualityScore.grade})`,\n \"\",\n \"## Metrics\",\n ...Object.entries(options.metrics.reviewReasons).map(([reason, count]) => `- ${reason}: ${count}`),\n ...(Object.entries(options.metrics.proposedStatuses).length > 0\n ? Object.entries(options.metrics.proposedStatuses).map(([status, count]) => `- proposed ${status}: ${count}`)\n : [\"- proposed statuses: (none)\"]),\n \"\",\n \"## Quality Score\",\n ...(options.qualityScore.deductions.length > 0\n ? options.qualityScore.deductions.map((entry) => `- ${entry.reasonCode}: ${entry.count} -> -${entry.pointsLost}`)\n : [\"- no deductions\"]),\n \"\",\n \"## Proposed Actions\",\n ...(options.proposedActions.length > 0\n ? options.proposedActions.map((action) =>\n `- ${action.memoryId}: ${action.action}${action.afterStatus ? ` -> ${action.afterStatus}` : \"\"} [${action.reasonCode}]`,\n )\n : [\"- (empty)\"]),\n \"\",\n \"## Applied Actions\",\n ...(options.appliedActions.length > 0\n ? options.appliedActions.map((action) =>\n `- ${action.memoryId}: ${action.action}${action.afterStatus ? ` -> ${action.afterStatus}` : \"\"} [${action.reasonCode}]`,\n )\n : [\"- (empty)\"]),\n \"\",\n \"## Review Queue\",\n ...(options.reviewQueue.length > 0\n ? options.reviewQueue.map((entry) =>\n `- ${entry.memoryId}: ${entry.reasonCode} -> ${entry.suggestedAction}${entry.suggestedStatus ? ` (${entry.suggestedStatus})` : \"\"}`,\n )\n : [\"- (empty)\"]),\n ].join(\"\\n\"),\n \"utf-8\",\n );\n const manifest: MemoryGovernanceManifest = {\n schemaVersion: 1,\n runId: options.runId,\n traceId: options.traceId,\n mode: options.summary.mode,\n createdAt: options.summary.createdAt,\n ruleVersion: options.summary.ruleVersion,\n artifacts: {\n summary: summaryPath,\n reviewQueue: reviewQueuePath,\n qualityScore: qualityScorePath,\n transitionReport: transitionReportPath,\n report: reportPath,\n keptMemories: keptMemoriesPath,\n appliedActions: appliedActionsPath,\n metrics: metricsPath,\n ...(restorePath ? { restore: restorePath } : {}),\n },\n };\n await writeFile(manifestPath, JSON.stringify(manifest, null, 2), \"utf-8\");\n if (restorePath && options.restoreManifest && await safeRead(restorePath) === null) {\n await writeFile(restorePath, JSON.stringify(options.restoreManifest, null, 2), \"utf-8\");\n }\n\n return {\n summaryPath,\n reviewQueuePath,\n qualityScorePath,\n transitionReportPath,\n reportPath,\n keptMemoriesPath,\n appliedActionsPath,\n metricsPath,\n manifestPath,\n restorePath,\n };\n}\n\nexport async function runMemoryGovernance(\n options: RunMemoryGovernanceOptions,\n): Promise<MemoryGovernanceRunResult> {\n const now = options.now ?? new Date();\n const runId = buildRunId(now);\n const traceId = runId;\n const storage = new StorageManager(options.memoryDir);\n const boundedScan =\n options.maxMemories !== undefined ||\n options.recentDays !== undefined ||\n options.batchSize !== undefined;\n const normalizedRecentDays = typeof options.recentDays === \"number\" && Number.isFinite(options.recentDays)\n ? Math.max(1, Math.floor(options.recentDays))\n : undefined;\n const updatedAfter = normalizedRecentDays !== undefined\n ? new Date(now.getTime() - normalizedRecentDays * 86_400_000)\n : undefined;\n const memoryWindow = boundedScan\n ? await storage.readMemoriesWindow({\n maxMemories: options.maxMemories,\n batchSize: options.batchSize,\n updatedAfter,\n includeMalformedPaths: true,\n })\n : undefined;\n const memories = excludeSupportPassportPrivateMemories(\n memoryWindow?.memories ?? await storage.readAllMemories(),\n );\n const reviewQueue = await buildReviewQueue(options.memoryDir, storage, memories, now, {\n malformedCandidateFiles: memoryWindow?.filePaths,\n });\n const proposedActions = buildProposedActions(reviewQueue, memories);\n const reviewEntryByActionKey = new Map(\n reviewQueue.map((entry) => [`${entry.memoryId}:${entry.reasonCode}`, entry] as const),\n );\n const metrics = buildMetrics(reviewQueue, proposedActions, memories.length);\n const transitionReport: MemoryGovernanceTransitionReport = {\n proposed: groupActionsByStatus(proposedActions),\n applied: {},\n };\n const memoryPathById = new Map(memories.map((memory) => [memory.frontmatter.id, memory.path] as const));\n const targetedMemoryIds = new Set(proposedActions.map((action) => action.memoryId));\n const keptMemoryIds = memories\n .map((memory) => memory.frontmatter.id)\n .filter((memoryId) => !targetedMemoryIds.has(memoryId));\n const appliedActions: MemoryGovernanceAppliedAction[] = [];\n const restoreEntries: MemoryGovernanceRestoreEntry[] = [];\n const restoreEntryByMemoryId = new Map<string, MemoryGovernanceRestoreEntry>();\n\n if (options.mode === \"apply\") {\n for (const action of proposedActions) {\n const memoryPath = memoryPathById.get(action.memoryId) ?? null;\n if (!memoryPath) continue;\n const memory = await storage.readMemoryByPath(memoryPath);\n if (!memory) continue;\n if (memory.frontmatter.id !== action.memoryId) continue;\n const beforeRaw = await safeRead(memory.path);\n if (!beforeRaw) continue;\n const entry: MemoryGovernanceRestoreEntry = {\n action: action.action,\n memoryId: action.memoryId,\n reasonCode: action.reasonCode,\n originalPath: memory.path,\n currentPath: action.action === \"archive\"\n ? plannedArchivePath(options.memoryDir, memory.path, now)\n : memory.path,\n beforeRaw,\n applied: false,\n };\n restoreEntries.push(entry);\n restoreEntryByMemoryId.set(action.memoryId, entry);\n }\n\n const restoreManifest: MemoryGovernanceRestoreManifest = {\n runId,\n createdAt: now.toISOString(),\n entries: restoreEntries,\n };\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n\n for (const action of proposedActions) {\n const memoryPath = memoryPathById.get(action.memoryId) ?? null;\n if (!memoryPath) continue;\n const memory = await storage.readMemoryByPath(memoryPath);\n if (!memory) continue;\n if (memory.frontmatter.id !== action.memoryId) continue;\n const restoreEntry = restoreEntryByMemoryId.get(action.memoryId);\n if (!restoreEntry) continue;\n\n if (action.action === \"archive\") {\n const reviewEntry = reviewEntryByActionKey.get(`${action.memoryId}:${action.reasonCode}`);\n restoreEntry.applied = true;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n const archivedPath = await storage.archiveMemory(memory, {\n at: now,\n actor: \"memory-governance.apply\",\n reasonCode: action.reasonCode,\n ruleVersion: RULE_VERSION,\n relatedMemoryIds: reviewEntry?.relatedMemoryIds ?? [],\n correlationId: traceId,\n });\n if (!archivedPath) {\n restoreEntry.applied = false;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n continue;\n }\n restoreEntry.currentPath = archivedPath;\n restoreEntry.expectedCurrentRaw = await safeRead(archivedPath) ?? undefined;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n appliedActions.push({\n ...action,\n currentPath: archivedPath,\n afterStatus: \"archived\",\n });\n continue;\n }\n\n if (!action.afterStatus || action.beforeStatus === action.afterStatus) continue;\n const reviewEntry = reviewEntryByActionKey.get(`${action.memoryId}:${action.reasonCode}`);\n restoreEntry.applied = true;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n const updated = await storage.writeMemoryFrontmatter(memory, {\n status: action.afterStatus,\n updated: now.toISOString(),\n }, {\n actor: \"memory-governance.apply\",\n reasonCode: action.reasonCode,\n ruleVersion: RULE_VERSION,\n relatedMemoryIds: reviewEntry?.relatedMemoryIds ?? [],\n correlationId: traceId,\n });\n if (!updated) {\n restoreEntry.applied = false;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n continue;\n }\n restoreEntry.expectedCurrentRaw = await safeRead(memory.path) ?? undefined;\n await persistRestoreManifest(options.memoryDir, restoreManifest);\n appliedActions.push({\n ...action,\n currentPath: memory.path,\n });\n }\n }\n\n const summary: MemoryGovernanceSummary = {\n schemaVersion: 1,\n runId,\n traceId,\n mode: options.mode,\n createdAt: now.toISOString(),\n scannedMemories: memories.length,\n reviewQueueCount: reviewQueue.length,\n proposedActionCount: proposedActions.length,\n appliedActionCount: appliedActions.length,\n ruleVersion: RULE_VERSION,\n };\n const restoreManifest = options.mode === \"apply\"\n ? {\n runId,\n createdAt: now.toISOString(),\n entries: restoreEntries,\n }\n : undefined;\n transitionReport.applied = groupActionsByStatus(appliedActions);\n const paths = await writeGovernanceArtifacts({\n memoryDir: options.memoryDir,\n runId,\n traceId,\n summary,\n metrics,\n qualityScore: metrics.qualityScore,\n transitionReport,\n keptMemoryIds,\n reviewQueue,\n proposedActions,\n appliedActions,\n restoreManifest,\n });\n\n return {\n runId,\n traceId,\n mode: options.mode,\n summary,\n ...paths,\n reviewQueue,\n proposedActions,\n appliedActions,\n };\n}\n\nexport async function restoreMemoryGovernanceRun(\n options: RestoreMemoryGovernanceRunOptions,\n): Promise<RestoreMemoryGovernanceRunResult> {\n void options.now;\n const restorePath = governanceRestorePath(options.memoryDir, options.runId);\n const raw = JSON.parse(await readFile(restorePath, \"utf-8\")) as MemoryGovernanceRestoreManifest;\n let restoredActions = 0;\n\n for (const entry of [...raw.entries].reverse()) {\n if (!entry.applied) {\n continue;\n }\n const currentRaw = await safeRead(entry.currentPath);\n if (entry.expectedCurrentRaw && currentRaw !== entry.expectedCurrentRaw) {\n throw new Error(`restore conflict for ${entry.memoryId}: current contents diverged from governance run`);\n }\n if (entry.action === \"archive\") {\n await rm(entry.currentPath, { force: true });\n }\n await mkdir(path.dirname(entry.originalPath), { recursive: true });\n await writeFile(entry.originalPath, entry.beforeRaw, \"utf-8\");\n restoredActions += 1;\n // Restore writes/removes memory files directly (out-of-band — not through a\n // StorageManager mutation). Bump the corpus sentinel PER entry so a\n // same-process or peer readAllMemories rescans mid-batch and never serves a\n // partially-restored corpus (Cursor Medium, #1902).\n bumpMemoryCorpusVersionForDir(options.memoryDir);\n // Restored bytes predate the current migration journal and can carry\n // legacy entity references (issue #2213) — request one reconcile pass.\n await requestEntityCanonicalIdReconcile(path.join(options.memoryDir, \"state\"));\n }\n\n return {\n runId: raw.runId,\n restoredActions,\n restorePath,\n };\n}\n\nexport async function listMemoryGovernanceRuns(memoryDir: string): Promise<string[]> {\n try {\n return (await readdir(governanceRunsDir(memoryDir))).sort().reverse();\n } catch {\n return [];\n }\n}\n\nexport async function readMemoryGovernanceRunArtifact(\n memoryDir: string,\n runId: string,\n): Promise<{\n summary: MemoryGovernanceSummary;\n metrics: MemoryGovernanceMetrics;\n qualityScore: MemoryGovernanceQualityScore;\n keptMemoryIds: string[];\n reviewQueue: MemoryGovernanceReviewQueueEntry[];\n appliedActions: MemoryGovernanceAppliedAction[];\n transitionReport: MemoryGovernanceTransitionReport;\n report: string;\n manifest: MemoryGovernanceManifest;\n restore?: MemoryGovernanceRestoreManifest;\n}> {\n const runDir = governanceRunDir(memoryDir, runId);\n const summary = JSON.parse(await readFile(path.join(runDir, \"summary.json\"), \"utf-8\")) as MemoryGovernanceSummary;\n const metrics = JSON.parse(await readFile(path.join(runDir, \"metrics.json\"), \"utf-8\")) as MemoryGovernanceMetrics;\n metrics.qualityScore ??= buildQualityScore(metrics.reviewReasons);\n const keptMemoryIds = JSON.parse(await readFile(path.join(runDir, \"kept-memories.json\"), \"utf-8\")) as string[];\n const reviewQueue = JSON.parse(\n await readFile(path.join(runDir, \"review-queue.json\"), \"utf-8\"),\n ) as MemoryGovernanceReviewQueueEntry[];\n const appliedActions = JSON.parse(\n await readFile(path.join(runDir, \"applied-actions.json\"), \"utf-8\"),\n ) as MemoryGovernanceAppliedAction[];\n const qualityScoreRaw = await safeRead(path.join(runDir, \"quality-score.json\"));\n const transitionReportRaw = await safeRead(path.join(runDir, \"status-transitions.json\"));\n const manifest = JSON.parse(\n await readFile(path.join(runDir, \"manifest.json\"), \"utf-8\"),\n ) as MemoryGovernanceManifest;\n const report = await readFile(path.join(runDir, \"report.md\"), \"utf-8\");\n const restoreRaw = await safeRead(path.join(runDir, \"restore.json\"));\n const qualityScore = qualityScoreRaw\n ? JSON.parse(qualityScoreRaw) as MemoryGovernanceQualityScore\n : metrics.qualityScore ?? buildQualityScore(metrics.reviewReasons);\n const transitionReport = transitionReportRaw\n ? JSON.parse(transitionReportRaw) as MemoryGovernanceTransitionReport\n : {\n proposed: {},\n applied: groupActionsByStatus(appliedActions),\n };\n return {\n summary,\n metrics,\n qualityScore,\n keptMemoryIds,\n reviewQueue,\n appliedActions,\n transitionReport,\n report,\n manifest,\n restore: restoreRaw ? JSON.parse(restoreRaw) as MemoryGovernanceRestoreManifest : undefined,\n };\n}\n"],"mappings":"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","names":["restoreManifest","reviewEntry"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
canonicalCategoryForAlias,
|
|
3
3
|
categoryAliasCoercion
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RYYVMZBR.js";
|
|
5
5
|
|
|
6
6
|
// src/access-observe-write-category.ts
|
|
7
7
|
function splitCanonicalWriteRequest(request) {
|
|
@@ -22,4 +22,4 @@ function splitCanonicalWriteRequest(request) {
|
|
|
22
22
|
export {
|
|
23
23
|
splitCanonicalWriteRequest
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-CFZ4SXXH.js.map
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
} from "./chunk-5GX5457J.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeDreamsStatusWindowHours
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PQM3B54K.js";
|
|
7
7
|
import {
|
|
8
8
|
executeResolution,
|
|
9
9
|
isValidResolutionVerb,
|
|
10
10
|
runPreferenceDriftScan
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-LWFWZTWX.js";
|
|
12
12
|
import {
|
|
13
13
|
getRecallTimingStatus,
|
|
14
14
|
isRecallTimingsOperator
|
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
defineOperation,
|
|
22
22
|
parseNamespacePreflightWriteOp,
|
|
23
23
|
resolveAuthorizedNamespaceWritablePreflight
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-GFWRXPF6.js";
|
|
25
25
|
import {
|
|
26
26
|
parseSharedWriteOutputControls
|
|
27
27
|
} from "./chunk-IFBSZGW3.js";
|
|
28
28
|
import {
|
|
29
29
|
validateBriefingFormat
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-VNZMZPAC.js";
|
|
31
31
|
import {
|
|
32
32
|
parseDeepRecallMaxSteps
|
|
33
33
|
} from "./chunk-A7AISUJI.js";
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
recallRequestSchema,
|
|
45
45
|
retainedCategoryAlias,
|
|
46
46
|
suggestionSubmitRequestSchema
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-RYYVMZBR.js";
|
|
48
48
|
import {
|
|
49
49
|
enforceNamespaceAllowList,
|
|
50
50
|
tokenCapabilityStore
|
|
@@ -603,4 +603,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
603
603
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
604
604
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
605
605
|
defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
606
|
-
//# sourceMappingURL=chunk-
|
|
606
|
+
//# sourceMappingURL=chunk-CQOIWJ5E.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineOperation
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GFWRXPF6.js";
|
|
4
4
|
import {
|
|
5
5
|
EngramAccessInputError
|
|
6
6
|
} from "./chunk-3MUKQQ7A.js";
|
|
@@ -92,4 +92,4 @@ defineOperation({
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
|
-
//# sourceMappingURL=chunk-
|
|
95
|
+
//# sourceMappingURL=chunk-CXOYUANR.js.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isMacOsReplicationJunkBasename
|
|
3
|
+
} from "./chunk-QUIRIG2P.js";
|
|
1
4
|
import {
|
|
2
5
|
log
|
|
3
6
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -232,7 +235,7 @@ var ProfilingCollector = class {
|
|
|
232
235
|
try {
|
|
233
236
|
const dir = this.storageDir;
|
|
234
237
|
const entries = await fsp.readdir(dir);
|
|
235
|
-
const jsonlFiles = entries.filter((f) => f.endsWith(".jsonl"));
|
|
238
|
+
const jsonlFiles = entries.filter((f) => !isMacOsReplicationJunkBasename(f) && f.endsWith(".jsonl"));
|
|
236
239
|
const withMtime = await Promise.all(
|
|
237
240
|
jsonlFiles.map(async (f) => ({
|
|
238
241
|
name: f,
|
|
@@ -306,4 +309,4 @@ export {
|
|
|
306
309
|
ProfilingCollector,
|
|
307
310
|
formatProfileTraceAscii
|
|
308
311
|
};
|
|
309
|
-
//# sourceMappingURL=chunk-
|
|
312
|
+
//# sourceMappingURL=chunk-DOWACHYO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/profiling.ts"],"sourcesContent":["// Performance profiling collector for recall and extraction traces.\n// Zero external dependencies — uses only node:fs and node:path.\n\nimport {\n existsSync,\n mkdirSync,\n writeFileSync,\n promises as fsp,\n} from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { log } from \"./logger.js\";\nimport { isMacOsReplicationJunkBasename } from \"./utils/macos-replication-junk.js\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ProfileSpan {\n name: string;\n startOffsetMs: number;\n durationMs: number;\n}\n\nexport interface ProfileParallelGroupMember {\n name: string;\n durationMs: number;\n resolvedIndex: number;\n}\n\nexport interface ProfileParallelGroup {\n name: string;\n startOffsetMs: number;\n wallMs: number;\n members: ProfileParallelGroupMember[];\n}\n\nexport interface ProfileTrace {\n ts: string;\n kind: \"recall\" | \"extraction\";\n traceId: string;\n sessionKey?: string;\n totalMs: number;\n spans: ProfileSpan[];\n parallelGroups?: ProfileParallelGroup[];\n configSnapshot?: Record<string, unknown>;\n}\n\nexport interface ProfilingConfig {\n enabled: boolean;\n storageDir: string;\n maxTraces: number;\n}\n\nexport interface ParallelGroupHandle {\n name: string;\n startOffsetMs: number;\n traceId?: string;\n}\n\nexport interface ProfilingStats {\n byKind: Record<string, { count: number; avgMs: number; p50Ms: number; p95Ms: number; maxMs: number }>;\n bySpan: Record<string, { count: number; avgMs: number; p50Ms: number; p95Ms: number; maxMs: number }>;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction percentile(sorted: number[], p: number): number {\n if (sorted.length === 0) return 0;\n const idx = Math.ceil((p / 100) * sorted.length) - 1;\n return sorted[Math.max(0, Math.min(idx, sorted.length - 1))];\n}\n\nfunction aggregateStats(values: number[]): { count: number; avgMs: number; p50Ms: number; p95Ms: number; maxMs: number } {\n const count = values.length;\n if (count === 0) return { count: 0, avgMs: 0, p50Ms: 0, p95Ms: 0, maxMs: 0 };\n const sorted = [...values].sort((a, b) => a - b);\n const sum = sorted.reduce((s, v) => s + v, 0);\n return {\n count,\n avgMs: Math.round(sum / count),\n p50Ms: Math.round(percentile(sorted, 50)),\n p95Ms: Math.round(percentile(sorted, 95)),\n maxMs: sorted[sorted.length - 1],\n };\n}\n\nlet traceCounter = 0;\n\n// ---------------------------------------------------------------------------\n// ProfilingCollector\n// ---------------------------------------------------------------------------\n\nexport class ProfilingCollector {\n private enabled: boolean;\n private storageDir: string;\n private maxTraces: number;\n private traces: ProfileTrace[] = [];\n private prunePromise: Promise<void> | null = null;\n\n // Active trace state — keyed by traceId so concurrent pipelines are isolated.\n private activeTraces = new Map<\n string,\n {\n kind: \"recall\" | \"extraction\";\n start: number;\n sessionKey?: string;\n configSnapshot?: Record<string, unknown>;\n spans: ProfileSpan[];\n spanStarts: Map<string, number>;\n parallelGroups: ProfileParallelGroup[];\n }\n >();\n private latestTraceId = \"\";\n\n constructor(config: ProfilingConfig) {\n this.enabled = config.enabled;\n this.storageDir = config.storageDir;\n this.maxTraces = Math.max(0, config.maxTraces);\n }\n\n get isEnabled(): boolean {\n return this.enabled;\n }\n\n // ---- Trace lifecycle ---------------------------------------------------\n\n startTrace(kind: \"recall\" | \"extraction\", sessionKey?: string, configSnapshot?: Record<string, unknown>): string {\n if (!this.enabled) return \"\";\n traceCounter++;\n const traceId = `t${traceCounter}-${Date.now().toString(36)}`;\n this.activeTraces.set(traceId, {\n kind,\n start: Date.now(),\n sessionKey,\n configSnapshot,\n spans: [],\n spanStarts: new Map(),\n parallelGroups: [],\n });\n this.latestTraceId = traceId;\n log.debug(`profiling: started trace ${traceId} kind=${kind}`);\n return traceId;\n }\n\n startSpan(name: string, traceId?: string): void {\n const tid = traceId ?? this.latestTraceId;\n const t = tid ? this.activeTraces.get(tid) : undefined;\n if (!t) return;\n const offset = Date.now() - t.start;\n t.spanStarts.set(name, Date.now());\n log.debug(`profiling: span ${name} started at +${offset}ms (trace=${tid})`);\n }\n\n endSpan(name: string, traceId?: string): void {\n const tid = traceId ?? this.latestTraceId;\n const t = tid ? this.activeTraces.get(tid) : undefined;\n if (!t) return;\n const start = t.spanStarts.get(name);\n if (start === undefined) return;\n const duration = Date.now() - start;\n const startOffset = start - t.start;\n t.spans.push({ name, startOffsetMs: startOffset, durationMs: duration });\n t.spanStarts.delete(name);\n log.debug(`profiling: span ${name} ended ${duration}ms (trace=${tid})`);\n }\n\n endTrace(traceId?: string): ProfileTrace | null {\n const tid = traceId ?? this.latestTraceId;\n const t = tid ? this.activeTraces.get(tid) : undefined;\n if (!t) return null;\n\n // Auto-close any spans still open when the trace finalizes.\n const now = Date.now();\n for (const [name, start] of t.spanStarts) {\n const duration = now - start;\n const startOffset = start - t.start;\n t.spans.push({ name, startOffsetMs: startOffset, durationMs: duration });\n log.debug(`profiling: auto-closed span ${name} at trace end (${duration}ms, trace=${tid})`);\n }\n t.spanStarts.clear();\n\n const trace: ProfileTrace = {\n ts: new Date().toISOString(),\n kind: t.kind,\n traceId: tid,\n totalMs: Date.now() - t.start,\n spans: t.spans,\n configSnapshot: t.configSnapshot,\n };\n\n if (t.sessionKey) {\n trace.sessionKey = t.sessionKey;\n }\n if (t.parallelGroups.length > 0) {\n trace.parallelGroups = t.parallelGroups;\n }\n\n // Remove from active map.\n this.activeTraces.delete(tid);\n\n if (!this.enabled) {\n log.debug(\"profiling: trace discarded (disabled)\");\n return null;\n }\n\n // Persist.\n this.persistTrace(trace);\n\n // Buffer in memory (FIFO).\n this.traces.push(trace);\n if (this.traces.length > this.maxTraces) {\n this.traces.shift();\n }\n\n // Single-flight: if a prune is already running, piggyback on it;\n // otherwise start one. This prevents concurrent prunes from racing\n // on stale directory snapshots.\n if (!this.prunePromise) {\n this.prunePromise = this.pruneFiles().finally(() => {\n this.prunePromise = null;\n });\n }\n log.debug(`profiling: trace ${trace.traceId} finalized totalMs=${trace.totalMs}`);\n return trace;\n }\n\n // ---- Parallel group tracking -------------------------------------------\n\n startParallelGroup(name: string, traceId?: string): ParallelGroupHandle {\n const tid = traceId ?? this.latestTraceId;\n const t = tid ? this.activeTraces.get(tid) : undefined;\n const startOffsetMs = t ? Date.now() - t.start : 0;\n return { name, startOffsetMs, traceId: tid };\n }\n\n async endParallelGroup(\n handle: ParallelGroupHandle,\n members: Array<{ name: string; promise: Promise<unknown> }>,\n ): Promise<void> {\n const wallStart = Date.now();\n\n let nextResolvedIndex = 0;\n const resolutionOrder = new Map<string, number>();\n\n const timed = members.map(async (m) => {\n const t0 = Date.now();\n try {\n await m.promise;\n } catch {\n // settled — still record order\n }\n resolutionOrder.set(m.name, nextResolvedIndex++);\n return { name: m.name, durationMs: Date.now() - t0 };\n });\n const timedResults = await Promise.allSettled(timed);\n\n const tid = handle.traceId ?? this.latestTraceId;\n const t = tid ? this.activeTraces.get(tid) : undefined;\n if (!t) return;\n\n const wallMs = Date.now() - wallStart;\n\n const groupMembers: ProfileParallelGroupMember[] = members.map((m, i) => {\n const timedResult = timedResults[i].status === \"fulfilled\"\n ? timedResults[i].value\n : { name: m.name, durationMs: wallMs };\n return {\n name: timedResult.name,\n durationMs: timedResult.durationMs,\n resolvedIndex: resolutionOrder.get(m.name) ?? i,\n };\n });\n\n t.parallelGroups.push({\n name: handle.name,\n startOffsetMs: handle.startOffsetMs,\n wallMs,\n members: groupMembers,\n });\n\n log.debug(`profiling: parallel group ${handle.name} wallMs=${wallMs} (trace=${tid})`);\n }\n\n // ---- Query methods -----------------------------------------------------\n\n getRecentTraces(limit?: number): ProfileTrace[] {\n if (limit === undefined || limit === Infinity) {\n return [...this.traces];\n }\n if (!Number.isFinite(limit)) {\n return [];\n }\n const n = Math.floor(limit);\n if (n <= 0) {\n return [];\n }\n return this.traces.slice(-n);\n }\n\n getStats(): ProfilingStats {\n const byKind: Record<string, number[]> = {};\n const bySpan: Record<string, number[]> = {};\n\n for (const trace of this.traces) {\n if (!byKind[trace.kind]) byKind[trace.kind] = [];\n byKind[trace.kind].push(trace.totalMs);\n\n for (const span of trace.spans) {\n if (!bySpan[span.name]) bySpan[span.name] = [];\n bySpan[span.name].push(span.durationMs);\n }\n }\n\n const result: ProfilingStats = { byKind: {}, bySpan: {} };\n for (const [k, v] of Object.entries(byKind)) {\n result.byKind[k] = aggregateStats(v);\n }\n for (const [k, v] of Object.entries(bySpan)) {\n result.bySpan[k] = aggregateStats(v);\n }\n return result;\n }\n\n identifyBottleneck(): string | null {\n if (this.traces.length === 0) return null;\n const latest = this.traces[this.traces.length - 1];\n if (latest.spans.length === 0) return null;\n let slowest = latest.spans[0];\n for (const span of latest.spans) {\n if (span.durationMs > slowest.durationMs) slowest = span;\n }\n return slowest.name;\n }\n\n // ---- Persistence -------------------------------------------------------\n\n private persistTrace(trace: ProfileTrace): void {\n const filename = `${trace.kind}-${trace.traceId}.jsonl`;\n const filepath = join(this.storageDir, filename);\n try {\n // Created on first persist, never at construction: constructing a\n // collector (plugin registration, a discovery pass, CLI metadata) must\n // not touch the operator's memory dir when no trace is ever written.\n if (!existsSync(this.storageDir)) {\n mkdirSync(this.storageDir, { recursive: true });\n log.debug(`profiling: created storage dir ${this.storageDir}`);\n }\n writeFileSync(filepath, JSON.stringify(trace) + \"\\n\", \"utf-8\");\n log.debug(`profiling: persisted ${filename}`);\n } catch (err) {\n log.warn(`profiling: failed to persist ${filename}`, err);\n }\n }\n\n async pruneFiles(): Promise<void> {\n try {\n const dir = this.storageDir;\n const entries = await fsp.readdir(dir);\n const jsonlFiles = entries.filter((f) => !isMacOsReplicationJunkBasename(f) && f.endsWith(\".jsonl\"));\n const withMtime = await Promise.all(\n jsonlFiles.map(async (f) => ({\n name: f,\n mtime: (await fsp.stat(join(dir, f))).mtimeMs,\n })),\n );\n const files = withMtime.sort((a, b) => a.mtime - b.mtime).map((f) => f.name);\n\n while (files.length > this.maxTraces) {\n const oldest = files.shift()!;\n await fsp.unlink(join(dir, oldest));\n log.debug(`profiling: pruned ${oldest}`);\n }\n } catch (err) {\n log.warn(\"profiling: prune failed\", err);\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// ASCII formatter\n// ---------------------------------------------------------------------------\n\nexport function formatProfileTraceAscii(trace: ProfileTrace): string {\n const lines: string[] = [];\n const BAR_WIDTH = 40;\n\n lines.push(`=== Profile: ${trace.kind} ===`);\n lines.push(`Trace ID : ${trace.traceId}`);\n lines.push(`Total : ${trace.totalMs}ms`);\n if (trace.sessionKey) lines.push(`Session : ${trace.sessionKey}`);\n lines.push(\"\");\n\n // Identify bottleneck.\n let bottleneckName: string | null = null;\n if (trace.spans.length > 0) {\n let slowest = trace.spans[0];\n for (const s of trace.spans) {\n if (s.durationMs > slowest.durationMs) slowest = s;\n }\n bottleneckName = slowest.name;\n }\n\n // Spans.\n if (trace.spans.length > 0) {\n const maxDuration = Math.max(...trace.spans.map((s) => s.durationMs), 1);\n lines.push(\"Spans:\");\n for (const span of trace.spans) {\n const barLen = Math.max(1, Math.round((span.durationMs / maxDuration) * BAR_WIDTH));\n const bar = \"\\u2588\".repeat(barLen);\n const suffix = span.name === bottleneckName ? \" \\u2190 bottleneck\" : \"\";\n lines.push(` ${span.name.padEnd(30)} ${String(span.durationMs).padStart(6)}ms ${bar}${suffix}`);\n }\n lines.push(\"\");\n }\n\n // Parallel groups.\n if (trace.parallelGroups && trace.parallelGroups.length > 0) {\n lines.push(\"Parallel Groups:\");\n for (const group of trace.parallelGroups) {\n lines.push(` ${group.name}:`);\n lines.push(` Wall time : ${group.wallMs}ms`);\n const efficiency = parallelEfficiency(group);\n if (efficiency !== null) {\n lines.push(` Efficiency : ${efficiency}%`);\n }\n for (const member of group.members) {\n lines.push(` [${String(member.resolvedIndex).padStart(2)}] ${member.name.padEnd(28)} ${String(member.durationMs).padStart(6)}ms`);\n }\n }\n lines.push(\"\");\n }\n\n lines.push(\"---\");\n return lines.join(\"\\n\");\n}\n\nfunction parallelEfficiency(group: ProfileParallelGroup): number | null {\n if (group.members.length <= 1) return null;\n const idealMs = Math.max(...group.members.map((m) => m.durationMs));\n if (group.wallMs === 0) return null;\n return Math.round((idealMs / group.wallMs) * 100);\n}\n"],"mappings":";;;;;;;;AAGA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,OACP;AACP,SAAS,YAAY;AA4DrB,SAAS,WAAW,QAAkB,GAAmB;AACvD,MAAI,OAAO,WAAW,EAAG,QAAO;AAChC,QAAM,MAAM,KAAK,KAAM,IAAI,MAAO,OAAO,MAAM,IAAI;AACnD,SAAO,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;AAC7D;AAEA,SAAS,eAAe,QAAiG;AACvH,QAAM,QAAQ,OAAO;AACrB,MAAI,UAAU,EAAG,QAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE;AAC3E,QAAM,SAAS,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAC/C,QAAM,MAAM,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC;AAC5C,SAAO;AAAA,IACL;AAAA,IACA,OAAO,KAAK,MAAM,MAAM,KAAK;AAAA,IAC7B,OAAO,KAAK,MAAM,WAAW,QAAQ,EAAE,CAAC;AAAA,IACxC,OAAO,KAAK,MAAM,WAAW,QAAQ,EAAE,CAAC;AAAA,IACxC,OAAO,OAAO,OAAO,SAAS,CAAC;AAAA,EACjC;AACF;AAEA,IAAI,eAAe;AAMZ,IAAM,qBAAN,MAAyB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAyB,CAAC;AAAA,EAC1B,eAAqC;AAAA;AAAA,EAGrC,eAAe,oBAAI,IAWzB;AAAA,EACM,gBAAgB;AAAA,EAExB,YAAY,QAAyB;AACnC,SAAK,UAAU,OAAO;AACtB,SAAK,aAAa,OAAO;AACzB,SAAK,YAAY,KAAK,IAAI,GAAG,OAAO,SAAS;AAAA,EAC/C;AAAA,EAEA,IAAI,YAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAIA,WAAW,MAA+B,YAAqB,gBAAkD;AAC/G,QAAI,CAAC,KAAK,QAAS,QAAO;AAC1B;AACA,UAAM,UAAU,IAAI,YAAY,IAAI,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC;AAC3D,SAAK,aAAa,IAAI,SAAS;AAAA,MAC7B;AAAA,MACA,OAAO,KAAK,IAAI;AAAA,MAChB;AAAA,MACA;AAAA,MACA,OAAO,CAAC;AAAA,MACR,YAAY,oBAAI,IAAI;AAAA,MACpB,gBAAgB,CAAC;AAAA,IACnB,CAAC;AACD,SAAK,gBAAgB;AACrB,QAAI,MAAM,4BAA4B,OAAO,SAAS,IAAI,EAAE;AAC5D,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,MAAc,SAAwB;AAC9C,UAAM,MAAM,WAAW,KAAK;AAC5B,UAAM,IAAI,MAAM,KAAK,aAAa,IAAI,GAAG,IAAI;AAC7C,QAAI,CAAC,EAAG;AACR,UAAM,SAAS,KAAK,IAAI,IAAI,EAAE;AAC9B,MAAE,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC;AACjC,QAAI,MAAM,mBAAmB,IAAI,gBAAgB,MAAM,aAAa,GAAG,GAAG;AAAA,EAC5E;AAAA,EAEA,QAAQ,MAAc,SAAwB;AAC5C,UAAM,MAAM,WAAW,KAAK;AAC5B,UAAM,IAAI,MAAM,KAAK,aAAa,IAAI,GAAG,IAAI;AAC7C,QAAI,CAAC,EAAG;AACR,UAAM,QAAQ,EAAE,WAAW,IAAI,IAAI;AACnC,QAAI,UAAU,OAAW;AACzB,UAAM,WAAW,KAAK,IAAI,IAAI;AAC9B,UAAM,cAAc,QAAQ,EAAE;AAC9B,MAAE,MAAM,KAAK,EAAE,MAAM,eAAe,aAAa,YAAY,SAAS,CAAC;AACvE,MAAE,WAAW,OAAO,IAAI;AACxB,QAAI,MAAM,mBAAmB,IAAI,UAAU,QAAQ,aAAa,GAAG,GAAG;AAAA,EACxE;AAAA,EAEA,SAAS,SAAuC;AAC9C,UAAM,MAAM,WAAW,KAAK;AAC5B,UAAM,IAAI,MAAM,KAAK,aAAa,IAAI,GAAG,IAAI;AAC7C,QAAI,CAAC,EAAG,QAAO;AAGf,UAAM,MAAM,KAAK,IAAI;AACrB,eAAW,CAAC,MAAM,KAAK,KAAK,EAAE,YAAY;AACxC,YAAM,WAAW,MAAM;AACvB,YAAM,cAAc,QAAQ,EAAE;AAC9B,QAAE,MAAM,KAAK,EAAE,MAAM,eAAe,aAAa,YAAY,SAAS,CAAC;AACvE,UAAI,MAAM,+BAA+B,IAAI,kBAAkB,QAAQ,aAAa,GAAG,GAAG;AAAA,IAC5F;AACA,MAAE,WAAW,MAAM;AAEnB,UAAM,QAAsB;AAAA,MAC1B,KAAI,oBAAI,KAAK,GAAE,YAAY;AAAA,MAC3B,MAAM,EAAE;AAAA,MACR,SAAS;AAAA,MACT,SAAS,KAAK,IAAI,IAAI,EAAE;AAAA,MACxB,OAAO,EAAE;AAAA,MACT,gBAAgB,EAAE;AAAA,IACpB;AAEA,QAAI,EAAE,YAAY;AAChB,YAAM,aAAa,EAAE;AAAA,IACvB;AACA,QAAI,EAAE,eAAe,SAAS,GAAG;AAC/B,YAAM,iBAAiB,EAAE;AAAA,IAC3B;AAGA,SAAK,aAAa,OAAO,GAAG;AAE5B,QAAI,CAAC,KAAK,SAAS;AACjB,UAAI,MAAM,uCAAuC;AACjD,aAAO;AAAA,IACT;AAGA,SAAK,aAAa,KAAK;AAGvB,SAAK,OAAO,KAAK,KAAK;AACtB,QAAI,KAAK,OAAO,SAAS,KAAK,WAAW;AACvC,WAAK,OAAO,MAAM;AAAA,IACpB;AAKA,QAAI,CAAC,KAAK,cAAc;AACtB,WAAK,eAAe,KAAK,WAAW,EAAE,QAAQ,MAAM;AAClD,aAAK,eAAe;AAAA,MACtB,CAAC;AAAA,IACH;AACA,QAAI,MAAM,oBAAoB,MAAM,OAAO,sBAAsB,MAAM,OAAO,EAAE;AAChF,WAAO;AAAA,EACT;AAAA;AAAA,EAIA,mBAAmB,MAAc,SAAuC;AACtE,UAAM,MAAM,WAAW,KAAK;AAC5B,UAAM,IAAI,MAAM,KAAK,aAAa,IAAI,GAAG,IAAI;AAC7C,UAAM,gBAAgB,IAAI,KAAK,IAAI,IAAI,EAAE,QAAQ;AACjD,WAAO,EAAE,MAAM,eAAe,SAAS,IAAI;AAAA,EAC7C;AAAA,EAEA,MAAM,iBACJ,QACA,SACe;AACf,UAAM,YAAY,KAAK,IAAI;AAE3B,QAAI,oBAAoB;AACxB,UAAM,kBAAkB,oBAAI,IAAoB;AAEhD,UAAM,QAAQ,QAAQ,IAAI,OAAO,MAAM;AACrC,YAAM,KAAK,KAAK,IAAI;AACpB,UAAI;AACF,cAAM,EAAE;AAAA,MACV,QAAQ;AAAA,MAER;AACA,sBAAgB,IAAI,EAAE,MAAM,mBAAmB;AAC/C,aAAO,EAAE,MAAM,EAAE,MAAM,YAAY,KAAK,IAAI,IAAI,GAAG;AAAA,IACrD,CAAC;AACD,UAAM,eAAe,MAAM,QAAQ,WAAW,KAAK;AAEnD,UAAM,MAAM,OAAO,WAAW,KAAK;AACnC,UAAM,IAAI,MAAM,KAAK,aAAa,IAAI,GAAG,IAAI;AAC7C,QAAI,CAAC,EAAG;AAER,UAAM,SAAS,KAAK,IAAI,IAAI;AAE5B,UAAM,eAA6C,QAAQ,IAAI,CAAC,GAAG,MAAM;AACvE,YAAM,cAAc,aAAa,CAAC,EAAE,WAAW,cAC3C,aAAa,CAAC,EAAE,QAChB,EAAE,MAAM,EAAE,MAAM,YAAY,OAAO;AACvC,aAAO;AAAA,QACL,MAAM,YAAY;AAAA,QAClB,YAAY,YAAY;AAAA,QACxB,eAAe,gBAAgB,IAAI,EAAE,IAAI,KAAK;AAAA,MAChD;AAAA,IACF,CAAC;AAED,MAAE,eAAe,KAAK;AAAA,MACpB,MAAM,OAAO;AAAA,MACb,eAAe,OAAO;AAAA,MACtB;AAAA,MACA,SAAS;AAAA,IACX,CAAC;AAED,QAAI,MAAM,6BAA6B,OAAO,IAAI,WAAW,MAAM,WAAW,GAAG,GAAG;AAAA,EACtF;AAAA;AAAA,EAIA,gBAAgB,OAAgC;AAC9C,QAAI,UAAU,UAAa,UAAU,UAAU;AAC7C,aAAO,CAAC,GAAG,KAAK,MAAM;AAAA,IACxB;AACA,QAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAC3B,aAAO,CAAC;AAAA,IACV;AACA,UAAM,IAAI,KAAK,MAAM,KAAK;AAC1B,QAAI,KAAK,GAAG;AACV,aAAO,CAAC;AAAA,IACV;AACA,WAAO,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,EAC7B;AAAA,EAEA,WAA2B;AACzB,UAAM,SAAmC,CAAC;AAC1C,UAAM,SAAmC,CAAC;AAE1C,eAAW,SAAS,KAAK,QAAQ;AAC/B,UAAI,CAAC,OAAO,MAAM,IAAI,EAAG,QAAO,MAAM,IAAI,IAAI,CAAC;AAC/C,aAAO,MAAM,IAAI,EAAE,KAAK,MAAM,OAAO;AAErC,iBAAW,QAAQ,MAAM,OAAO;AAC9B,YAAI,CAAC,OAAO,KAAK,IAAI,EAAG,QAAO,KAAK,IAAI,IAAI,CAAC;AAC7C,eAAO,KAAK,IAAI,EAAE,KAAK,KAAK,UAAU;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,SAAyB,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE;AACxD,eAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC3C,aAAO,OAAO,CAAC,IAAI,eAAe,CAAC;AAAA,IACrC;AACA,eAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC3C,aAAO,OAAO,CAAC,IAAI,eAAe,CAAC;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,qBAAoC;AAClC,QAAI,KAAK,OAAO,WAAW,EAAG,QAAO;AACrC,UAAM,SAAS,KAAK,OAAO,KAAK,OAAO,SAAS,CAAC;AACjD,QAAI,OAAO,MAAM,WAAW,EAAG,QAAO;AACtC,QAAI,UAAU,OAAO,MAAM,CAAC;AAC5B,eAAW,QAAQ,OAAO,OAAO;AAC/B,UAAI,KAAK,aAAa,QAAQ,WAAY,WAAU;AAAA,IACtD;AACA,WAAO,QAAQ;AAAA,EACjB;AAAA;AAAA,EAIQ,aAAa,OAA2B;AAC9C,UAAM,WAAW,GAAG,MAAM,IAAI,IAAI,MAAM,OAAO;AAC/C,UAAM,WAAW,KAAK,KAAK,YAAY,QAAQ;AAC/C,QAAI;AAIF,UAAI,CAAC,WAAW,KAAK,UAAU,GAAG;AAChC,kBAAU,KAAK,YAAY,EAAE,WAAW,KAAK,CAAC;AAC9C,YAAI,MAAM,kCAAkC,KAAK,UAAU,EAAE;AAAA,MAC/D;AACA,oBAAc,UAAU,KAAK,UAAU,KAAK,IAAI,MAAM,OAAO;AAC7D,UAAI,MAAM,wBAAwB,QAAQ,EAAE;AAAA,IAC9C,SAAS,KAAK;AACZ,UAAI,KAAK,gCAAgC,QAAQ,IAAI,GAAG;AAAA,IAC1D;AAAA,EACF;AAAA,EAEA,MAAM,aAA4B;AAChC,QAAI;AACF,YAAM,MAAM,KAAK;AACjB,YAAM,UAAU,MAAM,IAAI,QAAQ,GAAG;AACrC,YAAM,aAAa,QAAQ,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,KAAK,EAAE,SAAS,QAAQ,CAAC;AACnG,YAAM,YAAY,MAAM,QAAQ;AAAA,QAC9B,WAAW,IAAI,OAAO,OAAO;AAAA,UAC3B,MAAM;AAAA,UACN,QAAQ,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG;AAAA,QACxC,EAAE;AAAA,MACJ;AACA,YAAM,QAAQ,UAAU,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;AAE3E,aAAO,MAAM,SAAS,KAAK,WAAW;AACpC,cAAM,SAAS,MAAM,MAAM;AAC3B,cAAM,IAAI,OAAO,KAAK,KAAK,MAAM,CAAC;AAClC,YAAI,MAAM,qBAAqB,MAAM,EAAE;AAAA,MACzC;AAAA,IACF,SAAS,KAAK;AACZ,UAAI,KAAK,2BAA2B,GAAG;AAAA,IACzC;AAAA,EACF;AACF;AAMO,SAAS,wBAAwB,OAA6B;AACnE,QAAM,QAAkB,CAAC;AACzB,QAAM,YAAY;AAElB,QAAM,KAAK,gBAAgB,MAAM,IAAI,MAAM;AAC3C,QAAM,KAAK,cAAc,MAAM,OAAO,EAAE;AACxC,QAAM,KAAK,cAAc,MAAM,OAAO,IAAI;AAC1C,MAAI,MAAM,WAAY,OAAM,KAAK,cAAc,MAAM,UAAU,EAAE;AACjE,QAAM,KAAK,EAAE;AAGb,MAAI,iBAAgC;AACpC,MAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,QAAI,UAAU,MAAM,MAAM,CAAC;AAC3B,eAAW,KAAK,MAAM,OAAO;AAC3B,UAAI,EAAE,aAAa,QAAQ,WAAY,WAAU;AAAA,IACnD;AACA,qBAAiB,QAAQ;AAAA,EAC3B;AAGA,MAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,UAAM,cAAc,KAAK,IAAI,GAAG,MAAM,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC;AACvE,UAAM,KAAK,QAAQ;AACnB,eAAW,QAAQ,MAAM,OAAO;AAC9B,YAAM,SAAS,KAAK,IAAI,GAAG,KAAK,MAAO,KAAK,aAAa,cAAe,SAAS,CAAC;AAClF,YAAM,MAAM,SAAS,OAAO,MAAM;AAClC,YAAM,SAAS,KAAK,SAAS,iBAAiB,uBAAuB;AACrE,YAAM,KAAK,KAAK,KAAK,KAAK,OAAO,EAAE,CAAC,IAAI,OAAO,KAAK,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,GAAG,GAAG,MAAM,EAAE;AAAA,IACjG;AACA,UAAM,KAAK,EAAE;AAAA,EACf;AAGA,MAAI,MAAM,kBAAkB,MAAM,eAAe,SAAS,GAAG;AAC3D,UAAM,KAAK,kBAAkB;AAC7B,eAAW,SAAS,MAAM,gBAAgB;AACxC,YAAM,KAAK,KAAK,MAAM,IAAI,GAAG;AAC7B,YAAM,KAAK,sBAAsB,MAAM,MAAM,IAAI;AACjD,YAAM,aAAa,mBAAmB,KAAK;AAC3C,UAAI,eAAe,MAAM;AACvB,cAAM,KAAK,sBAAsB,UAAU,GAAG;AAAA,MAChD;AACA,iBAAW,UAAU,MAAM,SAAS;AAClC,cAAM,KAAK,QAAQ,OAAO,OAAO,aAAa,EAAE,SAAS,CAAC,CAAC,KAAK,OAAO,KAAK,OAAO,EAAE,CAAC,IAAI,OAAO,OAAO,UAAU,EAAE,SAAS,CAAC,CAAC,IAAI;AAAA,MACrI;AAAA,IACF;AACA,UAAM,KAAK,EAAE;AAAA,EACf;AAEA,QAAM,KAAK,KAAK;AAChB,SAAO,MAAM,KAAK,IAAI;AACxB;AAEA,SAAS,mBAAmB,OAA4C;AACtE,MAAI,MAAM,QAAQ,UAAU,EAAG,QAAO;AACtC,QAAM,UAAU,KAAK,IAAI,GAAG,MAAM,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;AAClE,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,KAAK,MAAO,UAAU,MAAM,SAAU,GAAG;AAClD;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveCorpusNamespaceRoots
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QSEUUQUF.js";
|
|
4
4
|
import {
|
|
5
5
|
capabilityAllowsNamespace
|
|
6
6
|
} from "./chunk-IG747LRN.js";
|
|
@@ -200,4 +200,4 @@ async function readAggregateExtractionWatermark(options) {
|
|
|
200
200
|
export {
|
|
201
201
|
readAggregateExtractionWatermark
|
|
202
202
|
};
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
203
|
+
//# sourceMappingURL=chunk-DQR2LD3V.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-H3FZVNRN.js";
|
|
14
14
|
import {
|
|
15
15
|
ExtractionDeadlineError
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LO76EF3Y.js";
|
|
17
17
|
import {
|
|
18
18
|
resolvePrincipal
|
|
19
19
|
} from "./chunk-ESG6ITGP.js";
|
|
@@ -801,4 +801,4 @@ var SmartBuffer = class {
|
|
|
801
801
|
export {
|
|
802
802
|
SmartBuffer
|
|
803
803
|
};
|
|
804
|
-
//# sourceMappingURL=chunk-
|
|
804
|
+
//# sourceMappingURL=chunk-DUPHIZBY.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
listJsonFiles,
|
|
12
12
|
readJsonFile
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2Z5DIDQD.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-EOU6V4IN.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
WHO_KNOWS_DEFAULT_LIMIT,
|
|
3
3
|
WHO_KNOWS_MAX_LIMIT,
|
|
4
4
|
validateWhoKnowsInput
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4PDTVVSW.js";
|
|
6
6
|
|
|
7
7
|
// src/who-knows-cli.ts
|
|
8
8
|
function extractWhoKnowsRawArgs(rest) {
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
renderWhoKnowsText,
|
|
75
75
|
renderWhoKnows
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-F2772ATT.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
readJsonFile,
|
|
17
17
|
withJsonStoreMutationLock,
|
|
18
18
|
writeJsonFileAtomic
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2Z5DIDQD.js";
|
|
20
20
|
import {
|
|
21
21
|
isNotFoundError
|
|
22
22
|
} from "./chunk-KNA3BXXL.js";
|
|
@@ -257,4 +257,4 @@ export {
|
|
|
257
257
|
upsertAbstractionNode,
|
|
258
258
|
getAbstractionNodeStoreStatus
|
|
259
259
|
};
|
|
260
|
-
//# sourceMappingURL=chunk-
|
|
260
|
+
//# sourceMappingURL=chunk-F2XNSIPP.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-5JMAGU26.js";
|
|
6
6
|
import {
|
|
7
7
|
runPostConsolidationMaterialize
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2PYHLSXK.js";
|
|
9
9
|
import {
|
|
10
10
|
isSemanticConsolidationLlmOperator
|
|
11
11
|
} from "./chunk-G7D6GZ5J.js";
|
|
@@ -220,4 +220,4 @@ export {
|
|
|
220
220
|
buildExtensionsBlockForConsolidation,
|
|
221
221
|
materializeAfterSemanticConsolidation
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-G3UUAQOD.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-KJTKLXTH.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4SCZZ3U7.js";
|
|
7
7
|
import {
|
|
8
8
|
assertInjectedStorageRooted
|
|
9
9
|
} from "./chunk-P55FACBG.js";
|
|
@@ -260,4 +260,4 @@ export {
|
|
|
260
260
|
backupExistingLedger,
|
|
261
261
|
rebuildMemoryLifecycleLedger
|
|
262
262
|
};
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
263
|
+
//# sourceMappingURL=chunk-GCVDFX66.js.map
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
computeWhoKnows,
|
|
42
42
|
loadWhoKnowsEntities,
|
|
43
43
|
validateWhoKnowsInput
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-4PDTVVSW.js";
|
|
45
45
|
import {
|
|
46
46
|
getTrustZoneStoreStatus,
|
|
47
47
|
isTrustZoneName,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
scoreTrustZoneProvenance,
|
|
51
51
|
seedTrustZoneDemoDataset,
|
|
52
52
|
summarizeTrustZonePromotionReadiness
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-JWX2Q6HS.js";
|
|
54
54
|
import {
|
|
55
55
|
trustResultFor
|
|
56
56
|
} from "./chunk-GNVZQ5JN.js";
|
|
@@ -100,19 +100,19 @@ import {
|
|
|
100
100
|
} from "./chunk-H7XKCNR6.js";
|
|
101
101
|
import {
|
|
102
102
|
readAggregateExtractionWatermark
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-DQR2LD3V.js";
|
|
104
104
|
import {
|
|
105
105
|
ReplicaDivergenceMonitor
|
|
106
106
|
} from "./chunk-E6UNM67F.js";
|
|
107
107
|
import {
|
|
108
108
|
buildEmbeddingAwareSnapshotStream
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-5SMR542T.js";
|
|
110
110
|
import {
|
|
111
111
|
recordObjectiveStateSnapshotsFromObservedMessages
|
|
112
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-Z64TS5V4.js";
|
|
113
113
|
import {
|
|
114
114
|
objectiveStateStoreOverrideForNamespace
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-4RNBLLZR.js";
|
|
116
116
|
import {
|
|
117
117
|
recordMemoryOutcome
|
|
118
118
|
} from "./chunk-UD7UNYRD.js";
|
|
@@ -130,7 +130,7 @@ import {
|
|
|
130
130
|
} from "./chunk-DMDWFQMR.js";
|
|
131
131
|
import {
|
|
132
132
|
readProjectedHarmonicGraph
|
|
133
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-NHUX6GXA.js";
|
|
134
134
|
import {
|
|
135
135
|
wrapWorkLayerContext
|
|
136
136
|
} from "./chunk-EI6V5UXY.js";
|
|
@@ -142,7 +142,7 @@ import {
|
|
|
142
142
|
} from "./chunk-5TJEOU6Y.js";
|
|
143
143
|
import {
|
|
144
144
|
formatProfileTraceAscii
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-DOWACHYO.js";
|
|
146
146
|
import {
|
|
147
147
|
REDACTION_RULES_SUBDIR
|
|
148
148
|
} from "./chunk-LTHVM4XN.js";
|
|
@@ -175,7 +175,7 @@ import {
|
|
|
175
175
|
import {
|
|
176
176
|
CorpusWatermarkCache,
|
|
177
177
|
computeServiceCorpusCensus
|
|
178
|
-
} from "./chunk-
|
|
178
|
+
} from "./chunk-QSEUUQUF.js";
|
|
179
179
|
import {
|
|
180
180
|
CrossNamespaceBudget,
|
|
181
181
|
toBudgetWarning
|
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
listMemoryGovernanceRuns,
|
|
188
188
|
readMemoryGovernanceRunArtifact,
|
|
189
189
|
runMemoryGovernance
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-C6JMGAMO.js";
|
|
191
191
|
import {
|
|
192
192
|
defaultCapsulesDir
|
|
193
193
|
} from "./chunk-ZY2MNJR6.js";
|
|
@@ -197,10 +197,10 @@ import {
|
|
|
197
197
|
enqueuePassiveCorrectionNotification,
|
|
198
198
|
parseBriefingFocus,
|
|
199
199
|
parseBriefingWindow
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-VNZMZPAC.js";
|
|
201
201
|
import {
|
|
202
202
|
ExtractionDeadlineError
|
|
203
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-LO76EF3Y.js";
|
|
204
204
|
import {
|
|
205
205
|
LocalLlmClient
|
|
206
206
|
} from "./chunk-DYJHGJZ4.js";
|
|
@@ -249,17 +249,17 @@ import {
|
|
|
249
249
|
import {
|
|
250
250
|
filterTrajectoriesByLookbackDays,
|
|
251
251
|
readCausalTrajectoryRecords
|
|
252
|
-
} from "./chunk-
|
|
252
|
+
} from "./chunk-C2RW36YR.js";
|
|
253
253
|
import {
|
|
254
254
|
parseEntityFile,
|
|
255
255
|
parseFrontmatter,
|
|
256
256
|
qmdCollectionPathParts,
|
|
257
257
|
qmdResultPathCandidates,
|
|
258
258
|
selfDeps
|
|
259
|
-
} from "./chunk-
|
|
259
|
+
} from "./chunk-4SCZZ3U7.js";
|
|
260
260
|
import {
|
|
261
261
|
namespaceCollectionName
|
|
262
|
-
} from "./chunk-
|
|
262
|
+
} from "./chunk-MWWAQXZ6.js";
|
|
263
263
|
import {
|
|
264
264
|
normalizeProjectionPreview,
|
|
265
265
|
normalizeProjectionTags
|
|
@@ -304,7 +304,7 @@ import {
|
|
|
304
304
|
} from "./chunk-T2JSUEH6.js";
|
|
305
305
|
import {
|
|
306
306
|
splitCanonicalWriteRequest
|
|
307
|
-
} from "./chunk-
|
|
307
|
+
} from "./chunk-CFZ4SXXH.js";
|
|
308
308
|
import {
|
|
309
309
|
applyBriefingLocationContext,
|
|
310
310
|
daySummaryAutoOptions
|
|
@@ -326,7 +326,7 @@ import {
|
|
|
326
326
|
} from "./chunk-STBX5X6B.js";
|
|
327
327
|
import {
|
|
328
328
|
reapplyCategoryCoercion
|
|
329
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-RYYVMZBR.js";
|
|
330
330
|
import {
|
|
331
331
|
exportCapsule
|
|
332
332
|
} from "./chunk-7LCGFUMB.js";
|
|
@@ -335,7 +335,7 @@ import {
|
|
|
335
335
|
} from "./chunk-Z2YFLXHU.js";
|
|
336
336
|
import {
|
|
337
337
|
createOfflineSyncManifestStream
|
|
338
|
-
} from "./chunk-
|
|
338
|
+
} from "./chunk-MO6N4QYY.js";
|
|
339
339
|
import {
|
|
340
340
|
offlineSyncStorageForSnapshot
|
|
341
341
|
} from "./chunk-GKJJNO7C.js";
|
|
@@ -415,7 +415,7 @@ import {
|
|
|
415
415
|
buildOfflineSyncSnapshotFromBase,
|
|
416
416
|
normalizeOfflineSyncChangeset,
|
|
417
417
|
readOfflineSyncFileContentChunk
|
|
418
|
-
} from "./chunk-
|
|
418
|
+
} from "./chunk-23ZQPP2G.js";
|
|
419
419
|
import {
|
|
420
420
|
compileOfflineSyncExcludeGlobs
|
|
421
421
|
} from "./chunk-63LFM77Z.js";
|
|
@@ -507,7 +507,10 @@ import {
|
|
|
507
507
|
import {
|
|
508
508
|
readJsonFile,
|
|
509
509
|
writeJsonFileAtomic
|
|
510
|
-
} from "./chunk-
|
|
510
|
+
} from "./chunk-2Z5DIDQD.js";
|
|
511
|
+
import {
|
|
512
|
+
isMacOsReplicationJunkBasename
|
|
513
|
+
} from "./chunk-QUIRIG2P.js";
|
|
511
514
|
import {
|
|
512
515
|
AccessAuditAdapter
|
|
513
516
|
} from "./chunk-DAOMWGO2.js";
|
|
@@ -1706,7 +1709,7 @@ var CorrectionPlanner = class _CorrectionPlanner {
|
|
|
1706
1709
|
}
|
|
1707
1710
|
const plans = [];
|
|
1708
1711
|
for (const f of files) {
|
|
1709
|
-
if (!f.endsWith(".json")) continue;
|
|
1712
|
+
if (isMacOsReplicationJunkBasename(f) || !f.endsWith(".json")) continue;
|
|
1710
1713
|
let plan = null;
|
|
1711
1714
|
try {
|
|
1712
1715
|
plan = await this.loadPlan(namespace, f.replace(/\.json$/, ""));
|
|
@@ -1817,7 +1820,7 @@ var CorrectionPlanner = class _CorrectionPlanner {
|
|
|
1817
1820
|
}
|
|
1818
1821
|
const recovered = [];
|
|
1819
1822
|
for (const f of files) {
|
|
1820
|
-
if (!f.endsWith(".json")) continue;
|
|
1823
|
+
if (isMacOsReplicationJunkBasename(f) || !f.endsWith(".json")) continue;
|
|
1821
1824
|
const planId = f.replace(/\.json$/, "");
|
|
1822
1825
|
let plan;
|
|
1823
1826
|
try {
|
|
@@ -5962,7 +5965,7 @@ var AccessAdminOpsSurface = class {
|
|
|
5962
5965
|
* respectively, returning the same telemetry shape as a scheduled run.
|
|
5963
5966
|
*/
|
|
5964
5967
|
async dreamsRun(options) {
|
|
5965
|
-
const { runDreamsPhase } = await import("./dreams-ledger-
|
|
5968
|
+
const { runDreamsPhase } = await import("./dreams-ledger-UCHHRQ4R.js");
|
|
5966
5969
|
const validPhases = ["lightSleep", "rem", "deepSleep"];
|
|
5967
5970
|
if (!validPhases.includes(options.phase)) {
|
|
5968
5971
|
throw new EngramAccessInputError(
|
|
@@ -7000,7 +7003,7 @@ var SessionContextCoordinator = class {
|
|
|
7000
7003
|
async runDeepSleepGovernanceNow(options) {
|
|
7001
7004
|
const targetStorage = options?.storage ?? this.deps.storage;
|
|
7002
7005
|
const { runMemoryGovernance: runMemoryGovernance3 } = await import("./maintenance/memory-governance.js");
|
|
7003
|
-
const { summarizeGovernanceResultForDreams } = await import("./dreams-ledger-
|
|
7006
|
+
const { summarizeGovernanceResultForDreams } = await import("./dreams-ledger-UCHHRQ4R.js");
|
|
7004
7007
|
const govResult = await runMemoryGovernance3({
|
|
7005
7008
|
memoryDir: targetStorage.dir,
|
|
7006
7009
|
mode: options?.dryRun === true ? "shadow" : "apply"
|
|
@@ -18164,7 +18167,7 @@ var EngramAccessService = class extends SupportPassportAccessServiceBase {
|
|
|
18164
18167
|
* Return per-phase Dreams telemetry for the last N hours (default 24).
|
|
18165
18168
|
*/
|
|
18166
18169
|
async dreamsStatus(options) {
|
|
18167
|
-
const { getDreamsStatus, normalizeDreamsStatusWindowHours } = await import("./dreams-ledger-
|
|
18170
|
+
const { getDreamsStatus, normalizeDreamsStatusWindowHours } = await import("./dreams-ledger-UCHHRQ4R.js");
|
|
18168
18171
|
let windowHours;
|
|
18169
18172
|
try {
|
|
18170
18173
|
windowHours = normalizeDreamsStatusWindowHours(options?.windowHours);
|
|
@@ -18734,4 +18737,4 @@ export {
|
|
|
18734
18737
|
EngramAccessService,
|
|
18735
18738
|
AccessAdminOpsSurface
|
|
18736
18739
|
};
|
|
18737
|
-
//# sourceMappingURL=chunk-
|
|
18740
|
+
//# sourceMappingURL=chunk-GFWRXPF6.js.map
|