@remnic/core 10.0.0 → 10.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.js +46 -43
- package/dist/access-authorization-probe.js +47 -44
- package/dist/access-boundary.js +46 -43
- package/dist/access-cli.js +111 -108
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +46 -43
- package/dist/access-http-briefing.js +47 -44
- package/dist/access-http-query.js +48 -45
- package/dist/access-http.js +66 -63
- package/dist/access-identity-continuity-surface.js +46 -43
- package/dist/access-lcm-surface.js +46 -43
- package/dist/access-mcp.js +55 -52
- package/dist/access-namespace-preflight.js +46 -43
- package/dist/access-observe-write-category.js +9 -9
- package/dist/access-observe-write-surface.js +46 -43
- package/dist/access-offline-manifest.js +6 -6
- package/dist/access-operations-batch.js +47 -44
- package/dist/access-operations.js +54 -51
- package/dist/access-recall-concurrency.js +46 -43
- package/dist/access-recall-response.js +46 -43
- package/dist/access-recall-surface.js +46 -43
- package/dist/access-schema.js +8 -8
- package/dist/access-service.js +46 -43
- package/dist/access-surface-catalog.js +48 -45
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +18 -16
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/briefing.js +12 -10
- package/dist/buffer.js +7 -5
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/causal-consolidation.js +13 -11
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-JWFTPRYD.js → chunk-2EZB2DL5.js} +2 -2
- package/dist/{chunk-J3ZJBX7I.js → chunk-2J3M2KV4.js} +2 -2
- package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-SWXPR5SE.js → chunk-2SYRHFUG.js} +2 -2
- package/dist/{chunk-QKCGOECM.js → chunk-34G4U6HS.js} +2 -2
- package/dist/{chunk-QX3K3INR.js → chunk-36BUOTVN.js} +2 -2
- package/dist/{chunk-CNBGAFDY.js → chunk-3J54RR3A.js} +2 -2
- package/dist/{chunk-XLWMNDQR.js → chunk-4A2UMSNB.js} +7 -5
- package/dist/chunk-4A2UMSNB.js.map +1 -0
- package/dist/{chunk-OWV6LKNZ.js → chunk-4G2COUSD.js} +2 -2
- package/dist/{chunk-HWGFTTPS.js → chunk-5FLFPTDK.js} +2 -2
- package/dist/{chunk-WR66CTVU.js → chunk-7IGNDEUJ.js} +4 -4
- package/dist/chunk-7PZHH4KC.js +63 -0
- package/dist/chunk-7PZHH4KC.js.map +1 -0
- package/dist/{chunk-VO2BNAA2.js → chunk-A5N6ZEUW.js} +2 -2
- package/dist/{chunk-XQWKB6PY.js → chunk-AALVXJJ7.js} +2 -2
- package/dist/{chunk-KFHEZJQZ.js → chunk-BAREPCLY.js} +2 -2
- package/dist/{chunk-QAIVTLL2.js → chunk-BLHPADUX.js} +2 -2
- package/dist/{chunk-2TCNEJ36.js → chunk-BNMI3JBV.js} +3 -3
- package/dist/{chunk-QUNCLKHM.js → chunk-CAXMG4JI.js} +2 -2
- package/dist/{chunk-KV7LFOPF.js → chunk-CQBFEGLF.js} +2 -2
- package/dist/{chunk-KMN2JE4D.js → chunk-CVQWNACA.js} +2 -2
- package/dist/{chunk-VV2MVHCJ.js → chunk-DAVONFNK.js} +2 -2
- package/dist/{chunk-KYUVFCT2.js → chunk-DQQ4IM5L.js} +2 -2
- package/dist/{chunk-B454SHPU.js → chunk-E7FN5N5E.js} +2 -2
- package/dist/{chunk-CGBE3N7T.js → chunk-EB3RXN2L.js} +2 -2
- package/dist/{chunk-AWSP3WNM.js → chunk-EJJMDLVB.js} +2 -2
- package/dist/{chunk-A6WNTVA7.js → chunk-FNVSBUC3.js} +2 -2
- package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
- package/dist/{chunk-BKVCTTEN.js → chunk-GUD6FYQG.js} +2 -2
- package/dist/{chunk-2MMBJE53.js → chunk-H5YACCE3.js} +7 -7
- package/dist/{chunk-JC7QQ2DJ.js → chunk-HRZZJ4XB.js} +2 -2
- package/dist/{chunk-LHDSCWDK.js → chunk-I2VQ7WBJ.js} +16 -16
- package/dist/{chunk-B3OFQP5Y.js → chunk-IB63OVUB.js} +24 -249
- package/dist/chunk-IB63OVUB.js.map +1 -0
- package/dist/chunk-IM2GO42H.js +312 -0
- package/dist/chunk-IM2GO42H.js.map +1 -0
- package/dist/{chunk-PRNR47DI.js → chunk-IR5LZCE6.js} +2 -2
- package/dist/{chunk-YI6XIFQV.js → chunk-J5CUQRST.js} +2 -2
- package/dist/{chunk-6WRHNA4I.js → chunk-JFDKPW54.js} +35 -35
- package/dist/{chunk-VYIBRCVW.js → chunk-JOBE47EJ.js} +2 -2
- package/dist/{chunk-SFDBLCZV.js → chunk-K4TWTUEY.js} +41 -41
- package/dist/{chunk-UHESJ6TQ.js → chunk-KEGUXZNY.js} +3 -3
- package/dist/{chunk-UHESJ6TQ.js.map → chunk-KEGUXZNY.js.map} +1 -1
- package/dist/{chunk-T6RQNV7E.js → chunk-KHOINMCN.js} +2 -2
- package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
- package/dist/{chunk-E4XLFYHV.js → chunk-LHOIYLKH.js} +2 -2
- package/dist/chunk-LHOIYLKH.js.map +1 -0
- package/dist/{chunk-PQKZLBCJ.js → chunk-LMZV3H4W.js} +127 -6
- package/dist/chunk-LMZV3H4W.js.map +1 -0
- package/dist/{chunk-MZOQ26LH.js → chunk-LQGX5TCI.js} +2 -2
- package/dist/{chunk-TRN56SPQ.js → chunk-M2OPC4BD.js} +2 -2
- package/dist/{chunk-LXJZUNLX.js → chunk-NBK24POV.js} +2 -2
- package/dist/{chunk-7X7A7KVN.js → chunk-NLYOOGZ7.js} +2 -2
- package/dist/{chunk-G5I5ZT6O.js → chunk-OSDAF7HH.js} +2 -2
- package/dist/{chunk-EZ3F4YIN.js → chunk-OV7EYM6M.js} +6 -6
- package/dist/{chunk-AU43D3IT.js → chunk-P57VR7AI.js} +4 -4
- package/dist/{chunk-NT2Q6AHC.js → chunk-PCO3P7WJ.js} +2 -2
- package/dist/{chunk-73R4HOOK.js → chunk-PT6DQK5T.js} +3 -3
- package/dist/{chunk-O43AAJFQ.js → chunk-PTGPU4DC.js} +2 -2
- package/dist/{chunk-STQC2FYQ.js → chunk-PWVBVIOP.js} +6 -6
- package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
- package/dist/{chunk-SIGDETMB.js → chunk-R4NGLTUS.js} +2 -2
- package/dist/{chunk-S2GR3T7W.js → chunk-RNYVAQX2.js} +2 -2
- package/dist/{chunk-PZ2QQULY.js → chunk-RU744TNX.js} +8 -8
- package/dist/{chunk-2OFDC3AK.js → chunk-RVQVWDSN.js} +2 -2
- package/dist/{chunk-ZLQ37WJX.js → chunk-SIGAGKNE.js} +8 -2
- package/dist/{chunk-ZLQ37WJX.js.map → chunk-SIGAGKNE.js.map} +1 -1
- package/dist/{chunk-OFGTRDWX.js → chunk-SIYZDT2V.js} +3 -3
- package/dist/{chunk-PQ7EB5AD.js → chunk-SQPC6MUM.js} +3 -3
- package/dist/{chunk-5R4YPRAR.js → chunk-TGF43K66.js} +18 -18
- package/dist/chunk-TPSLVZHS.js +102 -0
- package/dist/chunk-TPSLVZHS.js.map +1 -0
- package/dist/{chunk-ZRUC7FD3.js → chunk-U4SG4HKQ.js} +2 -2
- package/dist/{chunk-ATFFWIKL.js → chunk-U6HWKOGD.js} +2 -2
- package/dist/{chunk-IOMLGJHG.js → chunk-UK5EH7AI.js} +2 -2
- package/dist/{chunk-DB6XFMOF.js → chunk-VC4J4UTI.js} +5 -5
- package/dist/{chunk-T32YYUT2.js → chunk-VQTPEL7O.js} +2 -2
- package/dist/{chunk-7YQR6XHY.js → chunk-W6K6BC3H.js} +57 -57
- package/dist/{chunk-FYX2LXIX.js → chunk-WI37MWRZ.js} +2 -2
- package/dist/{chunk-7NBUE5VY.js → chunk-WPMDNCGB.js} +2 -2
- package/dist/{chunk-GZ2KV2RO.js → chunk-WWLAKRMX.js} +4 -4
- package/dist/{chunk-EWWK65CI.js → chunk-WY4IV62O.js} +2 -2
- package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-GQ6ZF4LD.js → chunk-XG4XXI66.js} +2 -2
- package/dist/{chunk-Z6EZCN6Z.js → chunk-Y7427SL7.js} +10 -10
- package/dist/{chunk-TXTRHF3B.js → chunk-YAPTJQI7.js} +2 -2
- package/dist/{chunk-JRDL3FGM.js → chunk-YFET6A4I.js} +3 -3
- package/dist/{chunk-ISX7GVZE.js → chunk-YRULQW5J.js} +4 -4
- package/dist/{chunk-VDVHIRCK.js → chunk-YVHNBOK2.js} +2 -2
- package/dist/cli.js +85 -82
- package/dist/coding/export-okf-codegraph.js +11 -9
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/compounding/engine.js +12 -10
- package/dist/config-qmd.js +1 -1
- package/dist/config.js +18 -16
- package/dist/connectors/codex-materialize-runner.js +12 -10
- package/dist/connectors/index.js +12 -10
- package/dist/convergence-refresh.js +14 -12
- package/dist/conversation-index/backend.js +2 -2
- package/dist/corpus-watermark.js +14 -12
- package/dist/deep-recall-http-glue.js +9 -9
- package/dist/deep-recall.js +2 -2
- package/dist/entity-retrieval.js +12 -10
- package/dist/external-wiki-access.js +47 -44
- package/dist/extraction.js +16 -14
- package/dist/harmonic-retrieval.d.ts.map +1 -1
- package/dist/harmonic-retrieval.js +91 -1
- package/dist/index.js +136 -133
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.js +10 -10
- package/dist/location/index.js +14 -12
- package/dist/maintenance/memory-governance.js +12 -10
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +12 -10
- package/dist/maintenance/rebuild-memory-projection.d.ts.map +1 -1
- package/dist/maintenance/rebuild-memory-projection.js +13 -11
- package/dist/memory-browse-operations.js +47 -44
- package/dist/memory-browse.js +7 -5
- package/dist/memory-projection-batch.d.ts +20 -0
- package/dist/memory-projection-batch.d.ts.map +1 -0
- package/dist/memory-projection-batch.js +11 -0
- package/dist/memory-projection-batch.js.map +1 -0
- package/dist/namespaces/migrate.js +13 -11
- package/dist/namespaces/search.js +10 -8
- package/dist/namespaces/storage.js +12 -10
- package/dist/offline-sync-changeset-generations.js +3 -3
- package/dist/offline-sync-embedding-generation.js +2 -2
- package/dist/offline-sync-snapshot-stream.js +6 -6
- package/dist/offline-sync.js +5 -5
- package/dist/operator-doctor-corpus.js +15 -13
- package/dist/operator-toolkit.js +27 -25
- package/dist/orchestration/maintenance.js +20 -18
- package/dist/orchestrator.js +111 -108
- package/dist/qmd-daemon-session.d.ts +45 -0
- package/dist/qmd-daemon-session.d.ts.map +1 -0
- package/dist/qmd-daemon-session.js +12 -0
- package/dist/qmd-daemon-session.js.map +1 -0
- package/dist/qmd-mcp-cancel.d.ts +21 -0
- package/dist/qmd-mcp-cancel.d.ts.map +1 -0
- package/dist/qmd-mcp-cancel.js +11 -0
- package/dist/qmd-mcp-cancel.js.map +1 -0
- package/dist/qmd-preflight.d.ts +3 -1
- package/dist/qmd-preflight.d.ts.map +1 -1
- package/dist/qmd-preflight.js +3 -1
- package/dist/qmd.d.ts +5 -29
- package/dist/qmd.d.ts.map +1 -1
- package/dist/qmd.js +6 -2
- package/dist/recall-navigation-operations.js +47 -44
- package/dist/recall-navigation.js +46 -43
- package/dist/recall-state-view-admission.js +7 -5
- package/dist/recall-why-service.js +7 -5
- package/dist/resume-bundles.js +19 -17
- package/dist/search/factory.js +9 -7
- package/dist/search/index.js +13 -11
- package/dist/semantic-consolidation.js +13 -11
- package/dist/semantic-rule-promotion.js +12 -10
- package/dist/semantic-rule-verifier.js +12 -10
- package/dist/source-agent-qualifier.js +15 -13
- package/dist/standup/build.js +12 -10
- package/dist/storage.d.ts +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +11 -9
- package/dist/support-passport/index.js +49 -46
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +12 -10
- package/dist/verified-recall.js +12 -10
- package/dist/who-knows-cli.js +13 -11
- package/dist/who-knows.js +12 -10
- package/package.json +2 -2
- package/src/config-qmd.ts +2 -2
- package/src/harmonic-retrieval-index.test.ts +387 -0
- package/src/harmonic-retrieval.ts +181 -15
- package/src/maintenance/rebuild-memory-projection.ts +3 -0
- package/src/memory-projection-batch.ts +82 -0
- package/src/qmd-daemon-session.ts +369 -0
- package/src/qmd-mcp-cancel.test.ts +408 -0
- package/src/qmd-mcp-cancel.ts +130 -0
- package/src/qmd-preflight.ts +10 -1
- package/src/qmd-rank-compare.test.ts +100 -0
- package/src/qmd.test.ts +16 -1
- package/src/qmd.ts +18 -297
- package/src/storage.ts +1 -1
- package/dist/chunk-B3OFQP5Y.js.map +0 -1
- package/dist/chunk-E4XLFYHV.js.map +0 -1
- package/dist/chunk-PQKZLBCJ.js.map +0 -1
- package/dist/chunk-XLWMNDQR.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
- /package/dist/{chunk-JWFTPRYD.js.map → chunk-2EZB2DL5.js.map} +0 -0
- /package/dist/{chunk-J3ZJBX7I.js.map → chunk-2J3M2KV4.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-SWXPR5SE.js.map → chunk-2SYRHFUG.js.map} +0 -0
- /package/dist/{chunk-QKCGOECM.js.map → chunk-34G4U6HS.js.map} +0 -0
- /package/dist/{chunk-QX3K3INR.js.map → chunk-36BUOTVN.js.map} +0 -0
- /package/dist/{chunk-CNBGAFDY.js.map → chunk-3J54RR3A.js.map} +0 -0
- /package/dist/{chunk-OWV6LKNZ.js.map → chunk-4G2COUSD.js.map} +0 -0
- /package/dist/{chunk-HWGFTTPS.js.map → chunk-5FLFPTDK.js.map} +0 -0
- /package/dist/{chunk-WR66CTVU.js.map → chunk-7IGNDEUJ.js.map} +0 -0
- /package/dist/{chunk-VO2BNAA2.js.map → chunk-A5N6ZEUW.js.map} +0 -0
- /package/dist/{chunk-XQWKB6PY.js.map → chunk-AALVXJJ7.js.map} +0 -0
- /package/dist/{chunk-KFHEZJQZ.js.map → chunk-BAREPCLY.js.map} +0 -0
- /package/dist/{chunk-QAIVTLL2.js.map → chunk-BLHPADUX.js.map} +0 -0
- /package/dist/{chunk-2TCNEJ36.js.map → chunk-BNMI3JBV.js.map} +0 -0
- /package/dist/{chunk-QUNCLKHM.js.map → chunk-CAXMG4JI.js.map} +0 -0
- /package/dist/{chunk-KV7LFOPF.js.map → chunk-CQBFEGLF.js.map} +0 -0
- /package/dist/{chunk-KMN2JE4D.js.map → chunk-CVQWNACA.js.map} +0 -0
- /package/dist/{chunk-VV2MVHCJ.js.map → chunk-DAVONFNK.js.map} +0 -0
- /package/dist/{chunk-KYUVFCT2.js.map → chunk-DQQ4IM5L.js.map} +0 -0
- /package/dist/{chunk-B454SHPU.js.map → chunk-E7FN5N5E.js.map} +0 -0
- /package/dist/{chunk-CGBE3N7T.js.map → chunk-EB3RXN2L.js.map} +0 -0
- /package/dist/{chunk-AWSP3WNM.js.map → chunk-EJJMDLVB.js.map} +0 -0
- /package/dist/{chunk-A6WNTVA7.js.map → chunk-FNVSBUC3.js.map} +0 -0
- /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
- /package/dist/{chunk-BKVCTTEN.js.map → chunk-GUD6FYQG.js.map} +0 -0
- /package/dist/{chunk-2MMBJE53.js.map → chunk-H5YACCE3.js.map} +0 -0
- /package/dist/{chunk-JC7QQ2DJ.js.map → chunk-HRZZJ4XB.js.map} +0 -0
- /package/dist/{chunk-LHDSCWDK.js.map → chunk-I2VQ7WBJ.js.map} +0 -0
- /package/dist/{chunk-PRNR47DI.js.map → chunk-IR5LZCE6.js.map} +0 -0
- /package/dist/{chunk-YI6XIFQV.js.map → chunk-J5CUQRST.js.map} +0 -0
- /package/dist/{chunk-6WRHNA4I.js.map → chunk-JFDKPW54.js.map} +0 -0
- /package/dist/{chunk-VYIBRCVW.js.map → chunk-JOBE47EJ.js.map} +0 -0
- /package/dist/{chunk-SFDBLCZV.js.map → chunk-K4TWTUEY.js.map} +0 -0
- /package/dist/{chunk-T6RQNV7E.js.map → chunk-KHOINMCN.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-MZOQ26LH.js.map → chunk-LQGX5TCI.js.map} +0 -0
- /package/dist/{chunk-TRN56SPQ.js.map → chunk-M2OPC4BD.js.map} +0 -0
- /package/dist/{chunk-LXJZUNLX.js.map → chunk-NBK24POV.js.map} +0 -0
- /package/dist/{chunk-7X7A7KVN.js.map → chunk-NLYOOGZ7.js.map} +0 -0
- /package/dist/{chunk-G5I5ZT6O.js.map → chunk-OSDAF7HH.js.map} +0 -0
- /package/dist/{chunk-EZ3F4YIN.js.map → chunk-OV7EYM6M.js.map} +0 -0
- /package/dist/{chunk-AU43D3IT.js.map → chunk-P57VR7AI.js.map} +0 -0
- /package/dist/{chunk-NT2Q6AHC.js.map → chunk-PCO3P7WJ.js.map} +0 -0
- /package/dist/{chunk-73R4HOOK.js.map → chunk-PT6DQK5T.js.map} +0 -0
- /package/dist/{chunk-O43AAJFQ.js.map → chunk-PTGPU4DC.js.map} +0 -0
- /package/dist/{chunk-STQC2FYQ.js.map → chunk-PWVBVIOP.js.map} +0 -0
- /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
- /package/dist/{chunk-SIGDETMB.js.map → chunk-R4NGLTUS.js.map} +0 -0
- /package/dist/{chunk-S2GR3T7W.js.map → chunk-RNYVAQX2.js.map} +0 -0
- /package/dist/{chunk-PZ2QQULY.js.map → chunk-RU744TNX.js.map} +0 -0
- /package/dist/{chunk-2OFDC3AK.js.map → chunk-RVQVWDSN.js.map} +0 -0
- /package/dist/{chunk-OFGTRDWX.js.map → chunk-SIYZDT2V.js.map} +0 -0
- /package/dist/{chunk-PQ7EB5AD.js.map → chunk-SQPC6MUM.js.map} +0 -0
- /package/dist/{chunk-5R4YPRAR.js.map → chunk-TGF43K66.js.map} +0 -0
- /package/dist/{chunk-ZRUC7FD3.js.map → chunk-U4SG4HKQ.js.map} +0 -0
- /package/dist/{chunk-ATFFWIKL.js.map → chunk-U6HWKOGD.js.map} +0 -0
- /package/dist/{chunk-IOMLGJHG.js.map → chunk-UK5EH7AI.js.map} +0 -0
- /package/dist/{chunk-DB6XFMOF.js.map → chunk-VC4J4UTI.js.map} +0 -0
- /package/dist/{chunk-T32YYUT2.js.map → chunk-VQTPEL7O.js.map} +0 -0
- /package/dist/{chunk-7YQR6XHY.js.map → chunk-W6K6BC3H.js.map} +0 -0
- /package/dist/{chunk-FYX2LXIX.js.map → chunk-WI37MWRZ.js.map} +0 -0
- /package/dist/{chunk-7NBUE5VY.js.map → chunk-WPMDNCGB.js.map} +0 -0
- /package/dist/{chunk-GZ2KV2RO.js.map → chunk-WWLAKRMX.js.map} +0 -0
- /package/dist/{chunk-EWWK65CI.js.map → chunk-WY4IV62O.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-GQ6ZF4LD.js.map → chunk-XG4XXI66.js.map} +0 -0
- /package/dist/{chunk-Z6EZCN6Z.js.map → chunk-Y7427SL7.js.map} +0 -0
- /package/dist/{chunk-TXTRHF3B.js.map → chunk-YAPTJQI7.js.map} +0 -0
- /package/dist/{chunk-JRDL3FGM.js.map → chunk-YFET6A4I.js.map} +0 -0
- /package/dist/{chunk-ISX7GVZE.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-VDVHIRCK.js.map → chunk-YVHNBOK2.js.map} +0 -0
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
listMemoryGovernanceRuns,
|
|
9
9
|
readMemoryGovernanceRunArtifact
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-A5N6ZEUW.js";
|
|
11
11
|
import {
|
|
12
12
|
StorageManager
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LHOIYLKH.js";
|
|
14
14
|
import {
|
|
15
15
|
normalizeProjectionPreview,
|
|
16
16
|
normalizeProjectionTags
|
|
@@ -511,7 +511,7 @@ function readProjectedTimelineRows(memoryDir) {
|
|
|
511
511
|
return { projectionExists: false, rows: [] };
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
|
-
function writeProjectionDb(dbPath, nowIso, currentRows, timelineRows, entityMentionRows, nativeKnowledgeRows, governance, usedLifecycleLedger, sourceLifecycleLedgerEventCount) {
|
|
514
|
+
function writeProjectionDb(dbPath, nowIso, currentRows, timelineRows, entityMentionRows, nativeKnowledgeRows, governance, usedLifecycleLedger, sourceLifecycleLedgerEventCount, complete) {
|
|
515
515
|
const db = openBetterSqlite3(dbPath);
|
|
516
516
|
const memoryDir = path.dirname(path.dirname(dbPath));
|
|
517
517
|
try {
|
|
@@ -520,6 +520,7 @@ function writeProjectionDb(dbPath, nowIso, currentRows, timelineRows, entityMent
|
|
|
520
520
|
insertMeta.run("schemaVersion", String(MEMORY_PROJECTION_SCHEMA_VERSION));
|
|
521
521
|
insertMeta.run("rebuiltAt", nowIso);
|
|
522
522
|
insertMeta.run("usedLifecycleLedger", usedLifecycleLedger ? "true" : "false");
|
|
523
|
+
insertMeta.run("complete", complete ? "true" : "false");
|
|
523
524
|
writeProjectionMetaHighWater(insertMeta, sourceLifecycleLedgerEventCount, timelineRows);
|
|
524
525
|
insertMeta.run("latestGovernanceRunId", governance?.runId ?? "");
|
|
525
526
|
const insertCurrent = db.prepare(`
|
|
@@ -834,7 +835,8 @@ async function rebuildMemoryProjection(options) {
|
|
|
834
835
|
nextNativeKnowledgeRows,
|
|
835
836
|
nextGovernance,
|
|
836
837
|
snapshot.usedLifecycleLedger,
|
|
837
|
-
snapshot.sourceLifecycleLedgerEventCount
|
|
838
|
+
snapshot.sourceLifecycleLedgerEventCount,
|
|
839
|
+
!hasScopedProjectionFilter(snapshot.scope)
|
|
838
840
|
);
|
|
839
841
|
backupPath = await backupExistingProjection(options.memoryDir, outputPath, now);
|
|
840
842
|
backupPath = await commitPreparedFileAtomically(tempPath, outputPath, backupPath);
|
|
@@ -1005,4 +1007,4 @@ export {
|
|
|
1005
1007
|
verifyMemoryProjection,
|
|
1006
1008
|
repairMemoryProjection
|
|
1007
1009
|
};
|
|
1008
|
-
//# sourceMappingURL=chunk-
|
|
1010
|
+
//# sourceMappingURL=chunk-4A2UMSNB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/maintenance/rebuild-memory-projection.ts"],"sourcesContent":["import path from \"node:path\";\nimport { mkdir, rm, stat } from \"node:fs/promises\";\nimport { StorageManager } from \"../storage.js\";\nimport { log } from \"../logger.js\";\nimport {\n listMemoryGovernanceRuns,\n readMemoryGovernanceRunArtifact,\n} from \"./memory-governance.js\";\nimport { loadPersistedNativeKnowledgeChunks } from \"../native-knowledge.js\";\nimport { toBackupStamp } from \"./backup-stamp.js\";\nimport type {\n MemoryFile,\n MemoryLifecycleEvent,\n MemoryProjectionCurrentState,\n MemoryStatus,\n} from \"../types.js\";\nimport {\n buildLifecycleEventsForMemory,\n inferMemoryStatus,\n MEMORY_LIFECYCLE_EVENT_SORT_ORDER,\n memoryLifecycleEventProjectionIdentity,\n sortMemoryLifecycleEvents,\n toMemoryPathRel,\n} from \"../memory-lifecycle-ledger-utils.js\";\nimport {\n getMemoryProjectionPath,\n initializeMemoryProjectionDb,\n isProjectedMemoryPathValid,\n type ProjectedEntityMentionRow,\n type MemoryProjectionGovernanceAppliedActionRow,\n type MemoryProjectionGovernanceReviewQueueRow,\n type ProjectedNativeKnowledgeChunkRow,\n MEMORY_PROJECTION_SCHEMA_VERSION,\n memoryCurrentSelectExpressions,\n parseCurrentRow,\n readProjectedEntityMentions,\n readProjectedGovernanceRecord,\n readProjectedNativeKnowledgeChunks,\n parseTimelineRows,\n} from \"../memory-projection-store.js\";\nimport {\n normalizeProjectionPreview,\n normalizeProjectionTags,\n} from \"../memory-projection-format.js\";\nimport { openBetterSqlite3 } from \"../runtime/better-sqlite.js\";\nimport { commitPreparedFileAtomically } from \"./atomic-file.js\";\nimport { isSupportPassportPrivateMemory } from \"../support-passport/card-projection.js\";\n\nexport interface RebuildMemoryProjectionOptions {\n memoryDir: string;\n /** Reuse the caller's live StorageManager (must be rooted at memoryDir). */\n storage?: StorageManager;\n defaultNamespace?: string;\n dryRun?: boolean;\n now?: Date;\n updatedAfter?: string;\n updatedBefore?: string;\n}\n\nexport type {\n SkippedBlankIdMemory,\n SkippedBlankIdTimelineEvent,\n SkippedDuplicateMemory,\n SkippedDuplicateTimelineEvent,\n} from \"./projection-support.js\";\nimport {\n assertInjectedStorageRooted,\n readProjectedEntityMentionRows,\n readProjectedGovernanceRows,\n readProjectedNativeKnowledgeRows,\n writeProjectionMetaHighWater,\n} from \"./projection-support.js\";\nimport type {\n SkippedBlankIdMemory,\n SkippedBlankIdTimelineEvent,\n SkippedDuplicateMemory,\n SkippedDuplicateTimelineEvent,\n} from \"./projection-support.js\";\nimport { isErrnoCode } from \"../utils/errno.js\";\n\n\nexport interface RebuildMemoryProjectionResult {\n dryRun: boolean;\n scannedMemories: number;\n currentRows: number;\n timelineRows: number;\n entityMentionRows: number;\n nativeKnowledgeRows: number;\n reviewQueueRows: number;\n outputPath: string;\n backupPath?: string;\n usedLifecycleLedger: boolean;\n skippedDuplicateMemories: SkippedDuplicateMemory[];\n skippedBlankIdMemories: SkippedBlankIdMemory[];\n skippedDuplicateTimelineEvents: SkippedDuplicateTimelineEvent[];\n skippedBlankIdTimelineEvents: SkippedBlankIdTimelineEvent[];\n scope: {\n updatedAfter: string | null;\n updatedBefore: string | null;\n };\n}\n\nexport interface VerifyMemoryProjectionOptions {\n memoryDir: string;\n defaultNamespace?: string;\n updatedAfter?: string;\n updatedBefore?: string;\n}\n\nexport interface VerifyMemoryProjectionResult {\n outputPath: string;\n projectionExists: boolean;\n ok: boolean;\n expectedCurrentRows: number;\n actualCurrentRows: number;\n expectedTimelineRows: number;\n actualTimelineRows: number;\n expectedEntityMentionRows: number;\n actualEntityMentionRows: number;\n expectedNativeKnowledgeRows: number;\n actualNativeKnowledgeRows: number;\n expectedReviewQueueRows: number;\n actualReviewQueueRows: number;\n missingCurrentMemoryIds: string[];\n extraCurrentMemoryIds: string[];\n mismatchedCurrentMemoryIds: string[];\n missingTimelineEventIds: string[];\n extraTimelineEventIds: string[];\n missingEntityMentionKeys: string[];\n extraEntityMentionKeys: string[];\n mismatchedEntityMentionKeys: string[];\n missingNativeKnowledgeChunkIds: string[];\n extraNativeKnowledgeChunkIds: string[];\n mismatchedNativeKnowledgeChunkIds: string[];\n missingReviewQueueEntryIds: string[];\n extraReviewQueueEntryIds: string[];\n mismatchedReviewQueueEntryIds: string[];\n usedLifecycleLedger: boolean;\n scope: {\n updatedAfter: string | null;\n updatedBefore: string | null;\n };\n}\n\nexport interface RepairMemoryProjectionOptions extends RebuildMemoryProjectionOptions {}\n\nexport interface RepairMemoryProjectionResult {\n dryRun: boolean;\n repaired: boolean;\n verify: VerifyMemoryProjectionResult;\n rebuild?: RebuildMemoryProjectionResult;\n}\n\nexport async function backupExistingProjection(\n memoryDir: string,\n outputPath: string,\n now: Date,\n): Promise<string | undefined> {\n try {\n await stat(outputPath);\n } catch (err) {\n if (isErrnoCode(err, \"ENOENT\")) {\n return undefined;\n }\n throw err;\n }\n\n const backupPath = path.join(\n memoryDir,\n \"archive\",\n \"memory-projection\",\n toBackupStamp(now),\n \"state\",\n \"memory-projection.sqlite\",\n );\n return backupPath;\n}\n\nfunction inferProjectedStatus(pathRel: string, memory: MemoryFile): MemoryStatus {\n return inferMemoryStatus(memory.frontmatter, pathRel);\n}\n\nfunction toCurrentStateRow(memoryDir: string, memory: MemoryFile): MemoryProjectionCurrentState {\n const pathRel = toMemoryPathRel(memoryDir, memory.path);\n return {\n memoryId: memory.frontmatter.id,\n category: memory.frontmatter.category,\n status: inferProjectedStatus(pathRel, memory),\n lifecycleState: memory.frontmatter.lifecycleState,\n path: memory.path,\n pathRel,\n created: memory.frontmatter.created,\n updated: memory.frontmatter.updated,\n archivedAt: memory.frontmatter.archivedAt,\n supersededAt: memory.frontmatter.supersededAt,\n entityRef: memory.frontmatter.entityRef,\n source: memory.frontmatter.source,\n confidence: memory.frontmatter.confidence,\n confidenceTier: memory.frontmatter.confidenceTier,\n memoryKind: memory.frontmatter.memoryKind,\n accessCount: memory.frontmatter.accessCount,\n lastAccessed: memory.frontmatter.lastAccessed,\n tags: normalizeProjectionTags(memory.frontmatter.tags),\n preview: normalizeProjectionPreview(memory.content),\n privateRecord: isSupportPassportPrivateMemory(memory),\n };\n}\n\nfunction buildEntityMentionRows(\n currentRows: MemoryProjectionCurrentState[],\n): ProjectedEntityMentionRow[] {\n return currentRows.flatMap((row) => {\n const mentions: ProjectedEntityMentionRow[] = [];\n if (row.entityRef) {\n mentions.push({\n memoryId: row.memoryId,\n entityRef: row.entityRef,\n mentionSource: \"frontmatter.entityRef\",\n created: row.created,\n updated: row.updated,\n });\n }\n for (const tag of row.tags ?? []) {\n if (!tag.includes(\":\")) continue;\n mentions.push({\n memoryId: row.memoryId,\n entityRef: tag,\n mentionSource: \"tag\",\n created: row.created,\n updated: row.updated,\n });\n }\n return mentions;\n });\n}\n\nfunction buildGovernanceActionRowKey(action: {\n action: string;\n memoryId: string;\n reasonCode: string;\n originalPath: string;\n currentPath: string;\n}): string {\n return [\n action.action,\n action.memoryId,\n action.reasonCode,\n action.originalPath,\n action.currentPath,\n ].join(\"::\");\n}\n\nasync function loadLatestGovernanceProjection(memoryDir: string): Promise<{\n runId: string;\n summary: unknown;\n metrics: unknown;\n reviewQueueRows: MemoryProjectionGovernanceReviewQueueRow[];\n appliedActionRows: MemoryProjectionGovernanceAppliedActionRow[];\n report: string;\n} | null> {\n const runId = (await listMemoryGovernanceRuns(memoryDir))[0];\n if (!runId) return null;\n try {\n const artifact = await readMemoryGovernanceRunArtifact(memoryDir, runId);\n return {\n runId,\n summary: artifact.summary,\n metrics: artifact.metrics,\n reviewQueueRows: artifact.reviewQueue.map((entry) => ({\n runId,\n entryId: entry.entryId,\n memoryId: entry.memoryId,\n path: entry.path,\n reasonCode: entry.reasonCode,\n severity: entry.severity,\n suggestedAction: entry.suggestedAction,\n suggestedStatus: entry.suggestedStatus,\n relatedMemoryIds: [...entry.relatedMemoryIds],\n })),\n appliedActionRows: artifact.appliedActions.map((action) => ({\n runId,\n rowKey: buildGovernanceActionRowKey(action),\n action: action.action,\n memoryId: action.memoryId,\n reasonCode: action.reasonCode,\n beforeStatus: action.beforeStatus,\n afterStatus: action.afterStatus,\n originalPath: action.originalPath,\n currentPath: action.currentPath,\n })),\n report: artifact.report,\n };\n } catch {\n return null;\n }\n}\n\nfunction loadTimelineEvents(\n memories: MemoryFile[],\n lifecycleEvents: MemoryLifecycleEvent[],\n): { events: MemoryLifecycleEvent[]; usedLifecycleLedger: boolean } {\n if (lifecycleEvents.length > 0) {\n return {\n events: sortMemoryLifecycleEvents(lifecycleEvents),\n usedLifecycleLedger: true,\n };\n }\n\n return {\n events: sortMemoryLifecycleEvents(memories.flatMap((memory) => buildLifecycleEventsForMemory(memory))),\n usedLifecycleLedger: false,\n };\n}\n\nfunction normalizeScopedIso(value: string | undefined): string | null {\n if (!value) return null;\n const trimmed = value.trim();\n if (!trimmed) return null;\n const parsed = new Date(trimmed);\n if (Number.isNaN(parsed.getTime())) {\n throw new Error(`invalid projection scope timestamp: ${value}`);\n }\n return parsed.toISOString();\n}\n\nfunction normalizeProjectionScope(options: {\n updatedAfter?: string;\n updatedBefore?: string;\n}): {\n updatedAfter: string | null;\n updatedBefore: string | null;\n} {\n const updatedAfter = normalizeScopedIso(options.updatedAfter);\n const updatedBefore = normalizeScopedIso(options.updatedBefore);\n if (\n updatedAfter &&\n updatedBefore &&\n new Date(updatedAfter).getTime() > new Date(updatedBefore).getTime()\n ) {\n throw new Error(\"updatedAfter must be less than or equal to updatedBefore\");\n }\n return {\n updatedAfter,\n updatedBefore,\n };\n}\n\nfunction hasScopedProjectionFilter(scope: {\n updatedAfter: string | null;\n updatedBefore: string | null;\n}): boolean {\n return scope.updatedAfter !== null || scope.updatedBefore !== null;\n}\n\nfunction memoryScopeTimestamp(memory: MemoryFile): string {\n const candidate = memory.frontmatter.updated || memory.frontmatter.created;\n return candidate;\n}\n\nfunction isTimestampInProjectionScope(\n timestamp: string,\n scope: { updatedAfter: string | null; updatedBefore: string | null },\n): boolean {\n if (!scope.updatedAfter && !scope.updatedBefore) return true;\n const parsed = new Date(timestamp);\n if (Number.isNaN(parsed.getTime())) return false;\n if (scope.updatedAfter && parsed.getTime() < new Date(scope.updatedAfter).getTime()) return false;\n if (scope.updatedBefore && parsed.getTime() >= new Date(scope.updatedBefore).getTime()) return false;\n return true;\n}\n\nfunction filterMemoriesForProjectionScope(\n memories: MemoryFile[],\n scope: { updatedAfter: string | null; updatedBefore: string | null },\n): MemoryFile[] {\n if (!scope.updatedAfter && !scope.updatedBefore) return memories;\n return memories.filter((memory) => isTimestampInProjectionScope(memoryScopeTimestamp(memory), scope));\n}\n\nfunction filterCurrentStateRowsForProjectionScope(\n rows: MemoryProjectionCurrentState[],\n scope: { updatedAfter: string | null; updatedBefore: string | null },\n): MemoryProjectionCurrentState[] {\n if (!scope.updatedAfter && !scope.updatedBefore) return rows;\n return rows.filter((row) => isTimestampInProjectionScope(row.updated || row.created, scope));\n}\n\nfunction serializeCurrentStateRow(row: MemoryProjectionCurrentState): string {\n return JSON.stringify({\n memoryId: row.memoryId,\n category: row.category,\n status: row.status,\n lifecycleState: row.lifecycleState ?? null,\n pathRel: row.pathRel,\n created: row.created,\n updated: row.updated,\n archivedAt: row.archivedAt ?? null,\n supersededAt: row.supersededAt ?? null,\n entityRef: row.entityRef ?? null,\n source: row.source,\n confidence: row.confidence,\n confidenceTier: row.confidenceTier,\n memoryKind: row.memoryKind ?? null,\n accessCount: row.accessCount ?? null,\n lastAccessed: row.lastAccessed ?? null,\n tags: row.tags ?? [],\n preview: row.preview ?? \"\",\n privateRecord: row.privateRecord === true,\n });\n}\n\nfunction serializeTimelineEvent(event: MemoryLifecycleEvent): string {\n return JSON.stringify({\n eventId: event.eventId,\n memoryId: event.memoryId,\n eventType: event.eventType,\n timestamp: event.timestamp,\n actor: event.actor,\n reasonCode: event.reasonCode ?? null,\n ruleVersion: event.ruleVersion,\n relatedMemoryIds: event.relatedMemoryIds ?? [],\n before: event.before ?? null,\n after: event.after ?? null,\n correlationId: event.correlationId ?? null,\n });\n}\n\nfunction serializeEntityMentionRow(row: ProjectedEntityMentionRow): string {\n return JSON.stringify(row);\n}\n\nfunction serializeNativeKnowledgeRow(row: ProjectedNativeKnowledgeChunkRow): string {\n return JSON.stringify({\n chunkId: row.chunkId,\n sourceKind: row.sourceKind,\n sourcePath: row.sourcePath,\n title: row.title,\n startLine: row.startLine,\n endLine: row.endLine,\n namespace: row.namespace ?? null,\n privacyClass: row.privacyClass ?? null,\n derivedDate: row.derivedDate ?? null,\n sessionKey: row.sessionKey ?? null,\n workflowKey: row.workflowKey ?? null,\n author: row.author ?? null,\n agent: row.agent ?? null,\n sourceHash: row.sourceHash ?? null,\n preview: row.preview,\n });\n}\n\nfunction serializeGovernanceReviewQueueRow(\n row: MemoryProjectionGovernanceReviewQueueRow,\n): string {\n return JSON.stringify({\n runId: row.runId,\n entryId: row.entryId,\n memoryId: row.memoryId,\n path: row.path,\n reasonCode: row.reasonCode,\n severity: row.severity,\n suggestedAction: row.suggestedAction,\n suggestedStatus: row.suggestedStatus ?? null,\n relatedMemoryIds: row.relatedMemoryIds,\n });\n}\n\nfunction selectProjectionMemories(\n tiers: MemoryFile[][],\n): {\n allMemories: MemoryFile[];\n memories: MemoryFile[];\n skippedDuplicateMemories: SkippedDuplicateMemory[];\n skippedBlankIdMemories: SkippedBlankIdMemory[];\n} {\n const allMemories = tiers.flat();\n const memories: MemoryFile[] = [];\n const keptById = new Map<string, MemoryFile>();\n const skippedDuplicateMemories: SkippedDuplicateMemory[] = [];\n const skippedBlankIdMemories: SkippedBlankIdMemory[] = [];\n\n // Tier order is authoritative: hot wins over cold, and cold wins over archive.\n // Paths break ties within a tier so the winner does not depend on readdir order.\n for (const tier of tiers) {\n for (const memory of [...tier].sort((left, right) => left.path.localeCompare(right.path))) {\n const memoryId = memory.frontmatter.id.trim();\n if (!memoryId) {\n skippedBlankIdMemories.push({ path: memory.path });\n log.warn(`projection rebuild skipped blank memory id: path=${memory.path}`);\n continue;\n }\n const kept = keptById.get(memoryId);\n if (kept) {\n skippedDuplicateMemories.push({\n memoryId,\n keptPath: kept.path,\n skippedPath: memory.path,\n });\n log.warn(\n `projection rebuild skipped duplicate memory id=${memoryId}: kept=${kept.path} skipped=${memory.path}`,\n );\n continue;\n }\n keptById.set(memoryId, memory);\n memories.push(memory);\n }\n }\n\n return { allMemories, memories, skippedDuplicateMemories, skippedBlankIdMemories };\n}\n\nfunction deduplicateTimelineEvents(\n events: MemoryLifecycleEvent[],\n sourcePathFor: (event: MemoryLifecycleEvent) => string,\n): {\n events: MemoryLifecycleEvent[];\n skipped: SkippedDuplicateTimelineEvent[];\n skippedBlankIds: SkippedBlankIdTimelineEvent[];\n} {\n const keptById = new Map<string, { event: MemoryLifecycleEvent; path: string }>();\n const unique: MemoryLifecycleEvent[] = [];\n const skipped: SkippedDuplicateTimelineEvent[] = [];\n const skippedBlankIds: SkippedBlankIdTimelineEvent[] = [];\n for (const event of sortMemoryLifecycleEvents(events)) {\n const sourcePath = sourcePathFor(event);\n if (!event.memoryId.trim()) {\n skippedBlankIds.push({ eventId: event.eventId, path: sourcePath });\n log.warn(\n `projection rebuild skipped timeline event with blank memory id: `\n + `event_id=${event.eventId} path=${sourcePath}`,\n );\n continue;\n }\n const kept = keptById.get(event.eventId);\n if (kept) {\n skipped.push({\n eventId: event.eventId,\n keptPath: kept.path,\n skippedPath: sourcePath,\n });\n log.warn(\n `projection rebuild skipped duplicate timeline event_id=${event.eventId}: `\n + `kept=${kept.path} skipped=${sourcePath}`,\n );\n continue;\n }\n keptById.set(event.eventId, { event, path: sourcePath });\n unique.push(event);\n }\n return { events: unique, skipped, skippedBlankIds };\n}\n\nasync function loadAuthoritativeProjectionSnapshot(options: {\n memoryDir: string;\n defaultNamespace?: string;\n storage?: StorageManager;\n updatedAfter?: string;\n updatedBefore?: string;\n}): Promise<{\n allMemories: MemoryFile[];\n currentRows: MemoryProjectionCurrentState[];\n timelineRows: MemoryLifecycleEvent[];\n scopedCurrentRows: MemoryProjectionCurrentState[];\n scopedTimelineRows: MemoryLifecycleEvent[];\n entityMentionRows: ProjectedEntityMentionRow[];\n scopedEntityMentionRows: ProjectedEntityMentionRow[];\n nativeKnowledgeRows: ProjectedNativeKnowledgeChunkRow[];\n governance:\n | {\n runId: string;\n summary: unknown;\n metrics: unknown;\n reviewQueueRows: MemoryProjectionGovernanceReviewQueueRow[];\n appliedActionRows: MemoryProjectionGovernanceAppliedActionRow[];\n report: string;\n }\n | null;\n usedLifecycleLedger: boolean;\n sourceLifecycleLedgerEventCount: number;\n scope: {\n updatedAfter: string | null;\n updatedBefore: string | null;\n };\n skippedDuplicateMemories: SkippedDuplicateMemory[];\n skippedBlankIdMemories: SkippedBlankIdMemory[];\n skippedDuplicateTimelineEvents: SkippedDuplicateTimelineEvent[];\n skippedBlankIdTimelineEvents: SkippedBlankIdTimelineEvent[];\n}> {\n const storage = assertInjectedStorageRooted(\"rebuildMemoryProjection\", options.memoryDir, options.storage) ?? new StorageManager(options.memoryDir);\n // Force a fresh disk read — projection verify/rebuild must see the true\n // on-disk state, not a potentially stale in-process cache.\n storage.invalidateAllMemoriesCacheForDir({ indexedText: false });\n const selected = selectProjectionMemories([\n await storage.readAllMemories(),\n await storage.readAllColdMemories(),\n await storage.readArchivedMemories(),\n ]);\n const allMemories = selected.allMemories;\n const projectionMemories = selected.memories;\n const lifecycleEvents = await storage.readAllMemoryLifecycleEvents();\n const timeline = loadTimelineEvents(projectionMemories, lifecycleEvents);\n const lifecycleLedgerPath = path.join(\n options.memoryDir,\n \"state\",\n \"memory-lifecycle-ledger.jsonl\",\n );\n const memoryPathById = new Map(\n projectionMemories.map((memory) => [memory.frontmatter.id, memory.path]),\n );\n const deduplicatedTimeline = deduplicateTimelineEvents(\n timeline.events,\n (event) => timeline.usedLifecycleLedger\n ? lifecycleLedgerPath\n : memoryPathById.get(event.memoryId) ?? lifecycleLedgerPath,\n );\n const events = deduplicatedTimeline.events;\n const usedLifecycleLedger = timeline.usedLifecycleLedger;\n const sourceLifecycleLedgerEventCount = new Set(\n lifecycleEvents.map(memoryLifecycleEventProjectionIdentity),\n ).size;\n const currentRows = projectionMemories.map((memory) => toCurrentStateRow(options.memoryDir, memory));\n const scope = normalizeProjectionScope(options);\n const scopedMemories = filterMemoriesForProjectionScope(projectionMemories, scope);\n const scopedMemoryIds = new Set(scopedMemories.map((memory) => memory.frontmatter.id));\n const nativeKnowledgeRows = await loadPersistedNativeKnowledgeChunks({\n memoryDir: options.memoryDir,\n defaultNamespace: options.defaultNamespace ?? \"default\",\n }).then((rows) => rows.map((row) => ({\n chunkId: row.chunkId,\n sourceKind: row.sourceKind,\n sourcePath: row.sourcePath,\n title: row.title,\n startLine: row.startLine,\n endLine: row.endLine,\n namespace: row.namespace ?? options.defaultNamespace ?? \"default\",\n privacyClass: row.privacyClass,\n derivedDate: row.derivedDate,\n sessionKey: row.sessionKey,\n workflowKey: row.workflowKey,\n author: row.author,\n agent: row.agent,\n sourceHash: row.sourceHash,\n preview: normalizeProjectionPreview(row.content),\n })));\n const governance = await loadLatestGovernanceProjection(options.memoryDir);\n const entityMentionRows = buildEntityMentionRows(currentRows);\n\n return {\n allMemories,\n currentRows,\n timelineRows: events,\n scopedCurrentRows: currentRows.filter((row) => scopedMemoryIds.has(row.memoryId)),\n scopedTimelineRows: events.filter((event) => scopedMemoryIds.has(event.memoryId)),\n entityMentionRows,\n scopedEntityMentionRows: entityMentionRows.filter((row) => scopedMemoryIds.has(row.memoryId)),\n nativeKnowledgeRows,\n governance,\n usedLifecycleLedger,\n sourceLifecycleLedgerEventCount,\n scope,\n skippedDuplicateMemories: selected.skippedDuplicateMemories,\n skippedBlankIdMemories: selected.skippedBlankIdMemories,\n skippedDuplicateTimelineEvents: deduplicatedTimeline.skipped,\n skippedBlankIdTimelineEvents: deduplicatedTimeline.skippedBlankIds,\n };\n}\n\nfunction readProjectedCurrentRows(\n memoryDir: string,\n): { projectionExists: boolean; rows: MemoryProjectionCurrentState[] } {\n const dbPath = getMemoryProjectionPath(memoryDir);\n try {\n const db = openBetterSqlite3(dbPath, { readonly: true, fileMustExist: true });\n try {\n const selectExpressions = memoryCurrentSelectExpressions(db);\n const rows = db.prepare(`\n SELECT\n memory_id,\n category,\n status,\n lifecycle_state,\n path_rel,\n created_at,\n updated_at,\n archived_at,\n superseded_at,\n entity_ref,\n source,\n confidence,\n confidence_tier,\n memory_kind,\n access_count,\n last_accessed,\n ${selectExpressions.tagsJson}, ${selectExpressions.previewText}, ${selectExpressions.privateRecord}\n FROM memory_current\n `).all() as Array<Record<string, unknown>>;\n\n return {\n projectionExists: true,\n rows: rows\n .map((row) => parseCurrentRow(memoryDir, row))\n .filter((row): row is MemoryProjectionCurrentState => row !== null),\n };\n } finally {\n db.close();\n }\n } catch {\n return { projectionExists: false, rows: [] };\n }\n}\n\nfunction readProjectedTimelineRows(\n memoryDir: string,\n): { projectionExists: boolean; rows: MemoryLifecycleEvent[] } {\n const dbPath = getMemoryProjectionPath(memoryDir);\n try {\n const db = openBetterSqlite3(dbPath, { readonly: true, fileMustExist: true });\n try {\n const rows = db.prepare(`\n SELECT\n event_id,\n memory_id,\n event_type,\n timestamp,\n actor,\n reason_code,\n rule_version,\n related_memory_ids_json,\n before_json,\n after_json,\n correlation_id\n FROM memory_timeline\n `).all() as Array<Record<string, unknown>>;\n\n return {\n projectionExists: true,\n rows: parseTimelineRows(rows),\n };\n } finally {\n db.close();\n }\n } catch {\n return { projectionExists: false, rows: [] };\n }\n}\n\n\nfunction writeProjectionDb(\n dbPath: string,\n nowIso: string,\n currentRows: MemoryProjectionCurrentState[],\n timelineRows: MemoryLifecycleEvent[],\n entityMentionRows: ProjectedEntityMentionRow[],\n nativeKnowledgeRows: ProjectedNativeKnowledgeChunkRow[],\n governance: Awaited<ReturnType<typeof loadLatestGovernanceProjection>>,\n usedLifecycleLedger: boolean,\n sourceLifecycleLedgerEventCount: number,\n complete: boolean,\n): void {\n const db = openBetterSqlite3(dbPath);\n const memoryDir = path.dirname(path.dirname(dbPath));\n try {\n initializeMemoryProjectionDb(db);\n\n const insertMeta = db.prepare(\"INSERT OR REPLACE INTO meta(key, value) VALUES (?, ?)\");\n insertMeta.run(\"schemaVersion\", String(MEMORY_PROJECTION_SCHEMA_VERSION));\n insertMeta.run(\"rebuiltAt\", nowIso);\n insertMeta.run(\"usedLifecycleLedger\", usedLifecycleLedger ? \"true\" : \"false\");\n insertMeta.run(\"complete\", complete ? \"true\" : \"false\");\n writeProjectionMetaHighWater(insertMeta, sourceLifecycleLedgerEventCount, timelineRows);\n insertMeta.run(\"latestGovernanceRunId\", governance?.runId ?? \"\");\n\n const insertCurrent = db.prepare(`\n INSERT INTO memory_current (\n memory_id,\n category,\n status,\n lifecycle_state,\n path_rel,\n path_valid,\n created_at,\n updated_at,\n archived_at,\n superseded_at,\n entity_ref,\n source,\n confidence,\n confidence_tier,\n memory_kind,\n access_count,\n last_accessed,\n tags_json, preview_text, private_record\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const insertTimeline = db.prepare(`\n INSERT INTO memory_timeline (\n event_id,\n memory_id,\n event_type,\n timestamp,\n event_order,\n actor,\n reason_code,\n rule_version,\n related_memory_ids_json,\n before_json,\n after_json,\n correlation_id\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const insertEntityMention = db.prepare(`\n INSERT INTO memory_entity_mentions (\n memory_id,\n entity_ref,\n mention_source,\n created_at,\n updated_at\n ) VALUES (?, ?, ?, ?, ?)\n `);\n\n const insertNativeKnowledge = db.prepare(`\n INSERT INTO native_knowledge_chunks (\n chunk_id,\n source_kind,\n source_path,\n title,\n start_line,\n end_line,\n namespace,\n privacy_class,\n derived_date,\n session_key,\n workflow_key,\n author,\n agent,\n source_hash,\n preview_text\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const insertGovernanceReviewQueue = db.prepare(`\n INSERT INTO memory_review_queue (\n entry_id,\n run_id,\n memory_id,\n path,\n reason_code,\n severity,\n suggested_action,\n suggested_status,\n related_memory_ids_json\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const insertGovernanceAppliedAction = db.prepare(`\n INSERT INTO memory_review_actions (\n row_key,\n run_id,\n action,\n memory_id,\n reason_code,\n before_status,\n after_status,\n original_path,\n current_path\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const insertGovernanceRun = db.prepare(`\n INSERT INTO memory_review_runs (\n run_id,\n created_at,\n mode,\n summary_json,\n metrics_json,\n applied_actions_json,\n report_markdown\n ) VALUES (?, ?, ?, ?, ?, ?, ?)\n `);\n\n const writeTx = db.transaction(() => {\n for (const row of currentRows) {\n insertCurrent.run(\n row.memoryId,\n row.category,\n row.status,\n row.lifecycleState ?? null,\n row.pathRel,\n isProjectedMemoryPathValid(memoryDir, row.pathRel) ? 1 : 0,\n row.created,\n row.updated,\n row.archivedAt ?? null,\n row.supersededAt ?? null,\n row.entityRef ?? null,\n row.source,\n row.confidence,\n row.confidenceTier,\n row.memoryKind ?? null,\n row.accessCount ?? null,\n row.lastAccessed ?? null, JSON.stringify(row.tags ?? []), row.preview ?? \"\",\n row.privateRecord === true ? 1 : 0,\n );\n }\n\n for (const event of timelineRows) {\n insertTimeline.run(\n event.eventId,\n event.memoryId,\n event.eventType,\n event.timestamp,\n MEMORY_LIFECYCLE_EVENT_SORT_ORDER[event.eventType],\n event.actor,\n event.reasonCode ?? null,\n event.ruleVersion,\n JSON.stringify(event.relatedMemoryIds ?? []),\n event.before ? JSON.stringify(event.before) : null,\n event.after ? JSON.stringify(event.after) : null,\n event.correlationId ?? null,\n );\n }\n\n for (const row of entityMentionRows) {\n insertEntityMention.run(\n row.memoryId,\n row.entityRef,\n row.mentionSource,\n row.created,\n row.updated,\n );\n }\n\n for (const row of nativeKnowledgeRows) {\n insertNativeKnowledge.run(\n row.chunkId,\n row.sourceKind,\n row.sourcePath,\n row.title,\n row.startLine,\n row.endLine,\n row.namespace ?? null,\n row.privacyClass ?? null,\n row.derivedDate ?? null,\n row.sessionKey ?? null,\n row.workflowKey ?? null,\n row.author ?? null,\n row.agent ?? null,\n row.sourceHash ?? null,\n row.preview,\n );\n }\n\n for (const row of governance?.reviewQueueRows ?? []) {\n insertGovernanceReviewQueue.run(\n row.entryId,\n row.runId,\n row.memoryId,\n row.path,\n row.reasonCode,\n row.severity,\n row.suggestedAction,\n row.suggestedStatus ?? null,\n JSON.stringify(row.relatedMemoryIds),\n );\n }\n\n for (const row of governance?.appliedActionRows ?? []) {\n insertGovernanceAppliedAction.run(\n row.rowKey,\n row.runId,\n row.action,\n row.memoryId,\n row.reasonCode,\n row.beforeStatus,\n row.afterStatus ?? null,\n row.originalPath,\n row.currentPath,\n );\n }\n\n if (governance) {\n const createdAt =\n typeof (governance.summary as { createdAt?: unknown } | undefined)?.createdAt === \"string\"\n ? (governance.summary as { createdAt: string }).createdAt\n : nowIso;\n const mode =\n typeof (governance.summary as { mode?: unknown } | undefined)?.mode === \"string\"\n ? (governance.summary as { mode: string }).mode\n : \"shadow\";\n insertGovernanceRun.run(\n governance.runId,\n createdAt,\n mode,\n JSON.stringify(governance.summary ?? null),\n JSON.stringify(governance.metrics ?? null),\n JSON.stringify(\n (governance.appliedActionRows ?? []).map((row) => ({\n action: row.action,\n memoryId: row.memoryId,\n reasonCode: row.reasonCode,\n beforeStatus: row.beforeStatus,\n afterStatus: row.afterStatus,\n originalPath: row.originalPath,\n currentPath: row.currentPath,\n })),\n ),\n governance.report,\n );\n }\n });\n\n writeTx();\n } finally {\n db.close();\n }\n}\n\nfunction mergeScopedCurrentRows(\n existingRows: MemoryProjectionCurrentState[],\n replacementRows: MemoryProjectionCurrentState[],\n scopedMemoryIds: Set<string>,\n): MemoryProjectionCurrentState[] {\n return [...existingRows.filter((row) => !scopedMemoryIds.has(row.memoryId)), ...replacementRows]\n .sort((a, b) => a.memoryId.localeCompare(b.memoryId));\n}\n\nfunction mergeScopedTimelineRows(\n existingRows: MemoryLifecycleEvent[],\n replacementRows: MemoryLifecycleEvent[],\n scopedMemoryIds: Set<string>,\n): MemoryLifecycleEvent[] {\n return sortMemoryLifecycleEvents([\n ...existingRows.filter((event) => !scopedMemoryIds.has(event.memoryId)),\n ...replacementRows,\n ]);\n}\n\nfunction mergeScopedEntityMentionRows(\n existingRows: ProjectedEntityMentionRow[],\n replacementRows: ProjectedEntityMentionRow[],\n scopedMemoryIds: Set<string>,\n): ProjectedEntityMentionRow[] {\n return [\n ...existingRows.filter((row) => !scopedMemoryIds.has(row.memoryId)),\n ...replacementRows,\n ].sort((left, right) =>\n [left.entityRef, left.memoryId, left.mentionSource].join(\"::\").localeCompare(\n [right.entityRef, right.memoryId, right.mentionSource].join(\"::\"),\n )\n );\n}\n\nexport async function rebuildMemoryProjection(\n options: RebuildMemoryProjectionOptions,\n): Promise<RebuildMemoryProjectionResult> {\n const dryRun = options.dryRun !== false;\n const now = options.now ?? new Date();\n const outputPath = getMemoryProjectionPath(options.memoryDir);\n const snapshot = await loadAuthoritativeProjectionSnapshot(options);\n\n let backupPath: string | undefined;\n if (!dryRun) {\n let nextCurrentRows = snapshot.currentRows;\n let nextTimelineRows = snapshot.timelineRows;\n let nextEntityMentionRows = snapshot.entityMentionRows;\n let nextNativeKnowledgeRows = snapshot.nativeKnowledgeRows;\n let nextGovernance = snapshot.governance;\n if (hasScopedProjectionFilter(snapshot.scope)) {\n nextCurrentRows = snapshot.scopedCurrentRows;\n nextTimelineRows = snapshot.scopedTimelineRows;\n nextEntityMentionRows = snapshot.scopedEntityMentionRows;\n const projectedCurrent = readProjectedCurrentRows(options.memoryDir);\n const projectedTimeline = readProjectedTimelineRows(options.memoryDir);\n const projectedEntityMentions = readProjectedEntityMentionRows(options.memoryDir);\n const projectedNativeKnowledge = readProjectedNativeKnowledgeRows(options.memoryDir);\n const projectedGovernance = readProjectedGovernanceRows(options.memoryDir);\n if (projectedCurrent.projectionExists && projectedTimeline.projectionExists) {\n const actualScopedCurrentRows = filterCurrentStateRowsForProjectionScope(\n projectedCurrent.rows,\n snapshot.scope,\n );\n const scopedMemoryIds = new Set([\n ...snapshot.scopedCurrentRows.map((row) => row.memoryId),\n ...snapshot.scopedTimelineRows.map((event) => event.memoryId),\n ...actualScopedCurrentRows.map((row) => row.memoryId),\n ]);\n nextCurrentRows = mergeScopedCurrentRows(\n projectedCurrent.rows,\n snapshot.scopedCurrentRows,\n scopedMemoryIds,\n );\n nextTimelineRows = mergeScopedTimelineRows(\n projectedTimeline.rows,\n snapshot.scopedTimelineRows,\n scopedMemoryIds,\n );\n nextEntityMentionRows = mergeScopedEntityMentionRows(\n projectedEntityMentions.rows,\n snapshot.scopedEntityMentionRows,\n scopedMemoryIds,\n );\n }\n if (projectedNativeKnowledge.projectionExists) {\n // Native knowledge rows are always loaded from the full persisted sync state,\n // so scoped memory rebuilds should publish the fresh snapshot instead of\n // pinning the projection to stale previously projected rows.\n nextNativeKnowledgeRows = snapshot.nativeKnowledgeRows;\n }\n if (projectedGovernance.projectionExists && projectedGovernance.runId) {\n // Governance rows are also sourced from standalone artifact snapshots, so\n // scoped memory rebuilds should keep the latest governance artifact data\n // instead of restoring whatever happened to be in the prior projection.\n nextGovernance = snapshot.governance;\n }\n }\n\n const tempPath = `${outputPath}.tmp`;\n await mkdir(path.dirname(outputPath), { recursive: true });\n await rm(tempPath, { force: true });\n writeProjectionDb(\n tempPath,\n now.toISOString(),\n nextCurrentRows,\n nextTimelineRows,\n nextEntityMentionRows,\n nextNativeKnowledgeRows,\n nextGovernance,\n snapshot.usedLifecycleLedger,\n snapshot.sourceLifecycleLedgerEventCount,\n !hasScopedProjectionFilter(snapshot.scope),\n );\n backupPath = await backupExistingProjection(options.memoryDir, outputPath, now);\n backupPath = await commitPreparedFileAtomically(tempPath, outputPath, backupPath);\n }\n\n return {\n dryRun,\n scannedMemories: snapshot.allMemories.length,\n currentRows: snapshot.scopedCurrentRows.length,\n timelineRows: snapshot.scopedTimelineRows.length,\n entityMentionRows: snapshot.scopedEntityMentionRows.length,\n nativeKnowledgeRows: snapshot.nativeKnowledgeRows.length,\n reviewQueueRows: snapshot.governance?.reviewQueueRows.length ?? 0,\n outputPath,\n backupPath,\n usedLifecycleLedger: snapshot.usedLifecycleLedger,\n skippedDuplicateMemories: snapshot.skippedDuplicateMemories,\n skippedBlankIdMemories: snapshot.skippedBlankIdMemories,\n skippedDuplicateTimelineEvents: snapshot.skippedDuplicateTimelineEvents,\n skippedBlankIdTimelineEvents: snapshot.skippedBlankIdTimelineEvents,\n scope: snapshot.scope,\n };\n}\n\nexport async function verifyMemoryProjection(\n options: VerifyMemoryProjectionOptions,\n): Promise<VerifyMemoryProjectionResult> {\n const outputPath = getMemoryProjectionPath(options.memoryDir);\n const snapshot = await loadAuthoritativeProjectionSnapshot(options);\n const projectedCurrent = readProjectedCurrentRows(options.memoryDir);\n const projectedTimeline = readProjectedTimelineRows(options.memoryDir);\n const projectedEntityMentions = readProjectedEntityMentionRows(options.memoryDir);\n const projectedNativeKnowledge = readProjectedNativeKnowledgeRows(options.memoryDir);\n const projectedGovernance = readProjectedGovernanceRows(options.memoryDir);\n const projectionExists = projectedCurrent.projectionExists\n || projectedTimeline.projectionExists\n || projectedEntityMentions.projectionExists\n || projectedNativeKnowledge.projectionExists\n || projectedGovernance.projectionExists;\n\n const actualScopedCurrentRows = filterCurrentStateRowsForProjectionScope(projectedCurrent.rows, snapshot.scope);\n const expectedCurrentById = new Map(\n snapshot.scopedCurrentRows.map((row) => [row.memoryId, serializeCurrentStateRow(row)]),\n );\n const actualCurrentById = new Map(\n actualScopedCurrentRows.map((row) => [row.memoryId, serializeCurrentStateRow(row)]),\n );\n\n const missingCurrentMemoryIds = [...expectedCurrentById.keys()]\n .filter((memoryId) => !actualCurrentById.has(memoryId))\n .sort();\n const extraCurrentMemoryIds = [...actualCurrentById.keys()]\n .filter((memoryId) => !expectedCurrentById.has(memoryId))\n .sort();\n const mismatchedCurrentMemoryIds = [...expectedCurrentById.keys()]\n .filter((memoryId) =>\n actualCurrentById.has(memoryId) && actualCurrentById.get(memoryId) !== expectedCurrentById.get(memoryId)\n )\n .sort();\n\n const selectedMemoryIds = new Set([\n ...snapshot.scopedCurrentRows.map((row) => row.memoryId),\n ...actualScopedCurrentRows.map((row) => row.memoryId),\n ]);\n const expectedTimelineById = new Map(\n snapshot.scopedTimelineRows.map((event) => [event.eventId, serializeTimelineEvent(event)]),\n );\n const actualTimelineRows = projectedTimeline.rows.filter((event) => selectedMemoryIds.has(event.memoryId));\n const actualTimelineById = new Map(\n actualTimelineRows.map((event) => [event.eventId, serializeTimelineEvent(event)]),\n );\n const missingTimelineEventIds = [...expectedTimelineById.keys()]\n .filter((eventId) => !actualTimelineById.has(eventId))\n .sort();\n const extraTimelineEventIds = [...actualTimelineById.keys()]\n .filter((eventId) => !expectedTimelineById.has(eventId))\n .sort();\n\n const expectedEntityMentionsByKey = new Map(\n snapshot.scopedEntityMentionRows.map((row) => [\n `${row.memoryId}::${row.entityRef}::${row.mentionSource}`,\n serializeEntityMentionRow(row),\n ]),\n );\n const actualScopedEntityMentionRows = projectedEntityMentions.rows.filter((row) => selectedMemoryIds.has(row.memoryId));\n const actualEntityMentionsByKey = new Map(\n actualScopedEntityMentionRows.map((row) => [\n `${row.memoryId}::${row.entityRef}::${row.mentionSource}`,\n serializeEntityMentionRow(row),\n ]),\n );\n const missingEntityMentionKeys = [...expectedEntityMentionsByKey.keys()]\n .filter((key) => !actualEntityMentionsByKey.has(key))\n .sort();\n const extraEntityMentionKeys = [...actualEntityMentionsByKey.keys()]\n .filter((key) => !expectedEntityMentionsByKey.has(key))\n .sort();\n const mismatchedEntityMentionKeys = [...expectedEntityMentionsByKey.keys()]\n .filter((key) =>\n actualEntityMentionsByKey.has(key) && actualEntityMentionsByKey.get(key) !== expectedEntityMentionsByKey.get(key)\n )\n .sort();\n\n const expectedNativeKnowledgeById = new Map(\n snapshot.nativeKnowledgeRows.map((row) => [row.chunkId, serializeNativeKnowledgeRow(row)]),\n );\n const actualNativeKnowledgeById = new Map(\n projectedNativeKnowledge.rows.map((row) => [row.chunkId, serializeNativeKnowledgeRow(row)]),\n );\n const missingNativeKnowledgeChunkIds = [...expectedNativeKnowledgeById.keys()]\n .filter((chunkId) => !actualNativeKnowledgeById.has(chunkId))\n .sort();\n const extraNativeKnowledgeChunkIds = [...actualNativeKnowledgeById.keys()]\n .filter((chunkId) => !expectedNativeKnowledgeById.has(chunkId))\n .sort();\n const mismatchedNativeKnowledgeChunkIds = [...expectedNativeKnowledgeById.keys()]\n .filter((chunkId) =>\n actualNativeKnowledgeById.has(chunkId) && actualNativeKnowledgeById.get(chunkId) !== expectedNativeKnowledgeById.get(chunkId)\n )\n .sort();\n\n const expectedReviewQueueById = new Map(\n (snapshot.governance?.reviewQueueRows ?? []).map((row) => [\n `${row.runId}::${row.entryId}`,\n serializeGovernanceReviewQueueRow(row),\n ]),\n );\n const actualReviewQueueById = new Map(\n projectedGovernance.reviewQueueRows.map((row) => [\n `${row.runId}::${row.entryId}`,\n serializeGovernanceReviewQueueRow(row),\n ]),\n );\n const missingReviewQueueEntryIds = [...expectedReviewQueueById.keys()]\n .filter((entryId) => !actualReviewQueueById.has(entryId))\n .sort();\n const extraReviewQueueEntryIds = [...actualReviewQueueById.keys()]\n .filter((entryId) => !expectedReviewQueueById.has(entryId))\n .sort();\n const mismatchedReviewQueueEntryIds = [...expectedReviewQueueById.keys()]\n .filter((entryId) =>\n actualReviewQueueById.has(entryId) && actualReviewQueueById.get(entryId) !== expectedReviewQueueById.get(entryId)\n )\n .sort();\n\n return {\n outputPath,\n projectionExists,\n ok:\n projectionExists &&\n missingCurrentMemoryIds.length === 0 &&\n extraCurrentMemoryIds.length === 0 &&\n mismatchedCurrentMemoryIds.length === 0 &&\n missingTimelineEventIds.length === 0 &&\n extraTimelineEventIds.length === 0 &&\n missingEntityMentionKeys.length === 0 &&\n extraEntityMentionKeys.length === 0 &&\n mismatchedEntityMentionKeys.length === 0 &&\n missingNativeKnowledgeChunkIds.length === 0 &&\n extraNativeKnowledgeChunkIds.length === 0 &&\n mismatchedNativeKnowledgeChunkIds.length === 0 &&\n missingReviewQueueEntryIds.length === 0 &&\n extraReviewQueueEntryIds.length === 0 &&\n mismatchedReviewQueueEntryIds.length === 0,\n expectedCurrentRows: snapshot.scopedCurrentRows.length,\n actualCurrentRows: actualScopedCurrentRows.length,\n expectedTimelineRows: snapshot.scopedTimelineRows.length,\n actualTimelineRows: actualTimelineRows.length,\n expectedEntityMentionRows: snapshot.scopedEntityMentionRows.length,\n actualEntityMentionRows: actualScopedEntityMentionRows.length,\n expectedNativeKnowledgeRows: snapshot.nativeKnowledgeRows.length,\n actualNativeKnowledgeRows: projectedNativeKnowledge.rows.length,\n expectedReviewQueueRows: snapshot.governance?.reviewQueueRows.length ?? 0,\n actualReviewQueueRows: projectedGovernance.reviewQueueRows.length,\n missingCurrentMemoryIds,\n extraCurrentMemoryIds,\n mismatchedCurrentMemoryIds,\n missingTimelineEventIds,\n extraTimelineEventIds,\n missingEntityMentionKeys,\n extraEntityMentionKeys,\n mismatchedEntityMentionKeys,\n missingNativeKnowledgeChunkIds,\n extraNativeKnowledgeChunkIds,\n mismatchedNativeKnowledgeChunkIds,\n missingReviewQueueEntryIds,\n extraReviewQueueEntryIds,\n mismatchedReviewQueueEntryIds,\n usedLifecycleLedger: snapshot.usedLifecycleLedger,\n scope: snapshot.scope,\n };\n}\n\nexport async function repairMemoryProjection(\n options: RepairMemoryProjectionOptions,\n): Promise<RepairMemoryProjectionResult> {\n const dryRun = options.dryRun !== false;\n const verify = await verifyMemoryProjection(options);\n if (verify.ok) {\n return {\n dryRun,\n repaired: false,\n verify,\n };\n }\n if (dryRun) {\n return {\n dryRun: true,\n repaired: false,\n verify,\n };\n }\n\n const rebuild = await rebuildMemoryProjection({\n ...options,\n dryRun: false,\n });\n const verified = await verifyMemoryProjection(options);\n return {\n dryRun: false,\n repaired: verified.ok,\n verify: verified,\n rebuild,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-5JMAGU26.js";
|
|
6
6
|
import {
|
|
7
7
|
runPostConsolidationMaterialize
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-WY4IV62O.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-4G2COUSD.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-DBB5JPSL.js";
|
|
4
4
|
import {
|
|
5
5
|
isGenericRecallExcludedPath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2EZB2DL5.js";
|
|
7
7
|
import {
|
|
8
8
|
isChangeOrientedQuery
|
|
9
9
|
} from "./chunk-EH3HNCAM.js";
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
filterRecentScanMemoriesForStateView,
|
|
70
70
|
indexStateViewAnnotatedResults
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-5FLFPTDK.js.map
|
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
defineOperation,
|
|
22
22
|
parseNamespacePreflightWriteOp,
|
|
23
23
|
resolveAuthorizedNamespaceWritablePreflight
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-JFDKPW54.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-U4SG4HKQ.js";
|
|
31
31
|
import {
|
|
32
32
|
parseDeepRecallMaxSteps
|
|
33
33
|
} from "./chunk-A7AISUJI.js";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
recallRequestSchema,
|
|
37
37
|
retainedCategoryAlias,
|
|
38
38
|
suggestionSubmitRequestSchema
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-SIYZDT2V.js";
|
|
40
40
|
import {
|
|
41
41
|
enforceNamespaceAllowList,
|
|
42
42
|
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-7IGNDEUJ.js.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
memoryCurrentSelectExpressions,
|
|
3
|
+
openProjectionReadonly,
|
|
4
|
+
parseCurrentRow
|
|
5
|
+
} from "./chunk-AL3UYZ5N.js";
|
|
6
|
+
|
|
7
|
+
// src/memory-projection-batch.ts
|
|
8
|
+
function readProjectedMemoryStates(memoryDir, memoryIds) {
|
|
9
|
+
const db = openProjectionReadonly(memoryDir);
|
|
10
|
+
if (!db) return null;
|
|
11
|
+
try {
|
|
12
|
+
const currentSelect = memoryCurrentSelectExpressions(db);
|
|
13
|
+
const select = db.prepare(
|
|
14
|
+
`
|
|
15
|
+
SELECT
|
|
16
|
+
memory_id,
|
|
17
|
+
category,
|
|
18
|
+
status,
|
|
19
|
+
lifecycle_state,
|
|
20
|
+
path_rel,
|
|
21
|
+
created_at,
|
|
22
|
+
updated_at,
|
|
23
|
+
archived_at,
|
|
24
|
+
superseded_at,
|
|
25
|
+
entity_ref,
|
|
26
|
+
source,
|
|
27
|
+
confidence,
|
|
28
|
+
confidence_tier,
|
|
29
|
+
memory_kind,
|
|
30
|
+
access_count,
|
|
31
|
+
last_accessed,
|
|
32
|
+
${currentSelect.tagsJson},
|
|
33
|
+
${currentSelect.previewText},
|
|
34
|
+
${currentSelect.privateRecord}
|
|
35
|
+
FROM memory_current
|
|
36
|
+
WHERE memory_id = ?
|
|
37
|
+
`
|
|
38
|
+
);
|
|
39
|
+
const states = /* @__PURE__ */ new Map();
|
|
40
|
+
for (const memoryId of memoryIds) {
|
|
41
|
+
const state = parseCurrentRow(memoryDir, select.get(memoryId));
|
|
42
|
+
if (state) states.set(memoryId, state);
|
|
43
|
+
}
|
|
44
|
+
const meta = new Map(
|
|
45
|
+
db.prepare("SELECT key, value FROM meta WHERE key IN ('rebuiltAt', 'complete')").all().map((row) => [row.key, row.value])
|
|
46
|
+
);
|
|
47
|
+
const rebuiltAt = meta.get("rebuiltAt");
|
|
48
|
+
return {
|
|
49
|
+
states,
|
|
50
|
+
rebuiltAt: typeof rebuiltAt === "string" ? rebuiltAt : null,
|
|
51
|
+
complete: meta.get("complete") === "true"
|
|
52
|
+
};
|
|
53
|
+
} catch {
|
|
54
|
+
return null;
|
|
55
|
+
} finally {
|
|
56
|
+
db.close();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
readProjectedMemoryStates
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=chunk-7PZHH4KC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/memory-projection-batch.ts"],"sourcesContent":["import type { MemoryProjectionCurrentState } from \"./types.js\";\nimport {\n memoryCurrentSelectExpressions,\n openProjectionReadonly,\n parseCurrentRow,\n} from \"./memory-projection-store.js\";\n\nexport interface ProjectedMemoryStateBatch {\n states: Map<string, MemoryProjectionCurrentState>;\n /** Meta `rebuiltAt`; null when the projection never recorded one. */\n rebuiltAt: string | null;\n /**\n * True only when the writer recorded that `memory_current` covers every active\n * memory (an unscoped rebuild). Projections written before this flag existed,\n * and scoped rebuilds, read as false.\n */\n complete: boolean;\n}\n\n/**\n * Read many current-state rows over ONE readonly connection, plus the meta the\n * recall path needs to decide whether the index can be trusted. Ids absent from\n * `memory_current` are simply missing from the map. Null means the projection\n * could not be opened or read.\n */\nexport function readProjectedMemoryStates(\n memoryDir: string,\n memoryIds: Iterable<string>,\n): ProjectedMemoryStateBatch | null {\n const db = openProjectionReadonly(memoryDir);\n if (!db) return null;\n try {\n const currentSelect = memoryCurrentSelectExpressions(db);\n const select = db.prepare(\n `\n SELECT\n memory_id,\n category,\n status,\n lifecycle_state,\n path_rel,\n created_at,\n updated_at,\n archived_at,\n superseded_at,\n entity_ref,\n source,\n confidence,\n confidence_tier,\n memory_kind,\n access_count,\n last_accessed,\n ${currentSelect.tagsJson},\n ${currentSelect.previewText},\n ${currentSelect.privateRecord}\n FROM memory_current\n WHERE memory_id = ?\n `,\n );\n const states = new Map<string, MemoryProjectionCurrentState>();\n for (const memoryId of memoryIds) {\n const state = parseCurrentRow(memoryDir, select.get(memoryId) as Record<string, unknown> | undefined);\n if (state) states.set(memoryId, state);\n }\n const meta = new Map<string, unknown>(\n (db.prepare(\"SELECT key, value FROM meta WHERE key IN ('rebuiltAt', 'complete')\").all() as Array<{\n key: string;\n value: unknown;\n }>).map((row) => [row.key, row.value]),\n );\n const rebuiltAt = meta.get(\"rebuiltAt\");\n return {\n states,\n rebuiltAt: typeof rebuiltAt === \"string\" ? rebuiltAt : null,\n complete: meta.get(\"complete\") === \"true\",\n };\n } catch {\n return null;\n } finally {\n db.close();\n }\n}\n"],"mappings":";;;;;;;AAyBO,SAAS,0BACd,WACA,WACkC;AAClC,QAAM,KAAK,uBAAuB,SAAS;AAC3C,MAAI,CAAC,GAAI,QAAO;AAChB,MAAI;AACF,UAAM,gBAAgB,+BAA+B,EAAE;AACvD,UAAM,SAAS,GAAG;AAAA,MAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAkBM,cAAc,QAAQ;AAAA,YACtB,cAAc,WAAW;AAAA,YACzB,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA,IAInC;AACA,UAAM,SAAS,oBAAI,IAA0C;AAC7D,eAAW,YAAY,WAAW;AAChC,YAAM,QAAQ,gBAAgB,WAAW,OAAO,IAAI,QAAQ,CAAwC;AACpG,UAAI,MAAO,QAAO,IAAI,UAAU,KAAK;AAAA,IACvC;AACA,UAAM,OAAO,IAAI;AAAA,MACd,GAAG,QAAQ,oEAAoE,EAAE,IAAI,EAGlF,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,WAAW;AACtC,WAAO;AAAA,MACL;AAAA,MACA,WAAW,OAAO,cAAc,WAAW,YAAY;AAAA,MACvD,UAAU,KAAK,IAAI,UAAU,MAAM;AAAA,IACrC;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT,UAAE;AACA,OAAG,MAAM;AAAA,EACX;AACF;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-TBBDFYXW.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LHOIYLKH.js";
|
|
7
7
|
import {
|
|
8
8
|
bumpMemoryCorpusVersionForDir
|
|
9
9
|
} from "./chunk-M5GVCJSJ.js";
|
|
@@ -765,4 +765,4 @@ export {
|
|
|
765
765
|
listMemoryGovernanceRuns,
|
|
766
766
|
readMemoryGovernanceRunArtifact
|
|
767
767
|
};
|
|
768
|
-
//# sourceMappingURL=chunk-
|
|
768
|
+
//# sourceMappingURL=chunk-A5N6ZEUW.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
rebuildMemoryProjection
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4A2UMSNB.js";
|
|
4
4
|
|
|
5
5
|
// src/convergence-refresh.ts
|
|
6
6
|
async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, getStorage, searchEnabled) {
|
|
@@ -32,4 +32,4 @@ async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, get
|
|
|
32
32
|
export {
|
|
33
33
|
refreshConvergedNamespaces
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-AALVXJJ7.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-7T4TOGMS.js";
|
|
4
4
|
import {
|
|
5
5
|
defineOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JFDKPW54.js";
|
|
7
7
|
|
|
8
8
|
// src/external-wiki-access.ts
|
|
9
9
|
import { z } from "zod";
|
|
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
|
|
|
26
26
|
export {
|
|
27
27
|
externalWikiSearchOperation
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-BAREPCLY.js.map
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
parseQmdSearchStrategy,
|
|
78
78
|
parseQmdSubprocessStrategy,
|
|
79
79
|
parseQmdSupportedVersion
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-KEGUXZNY.js";
|
|
81
81
|
import {
|
|
82
82
|
parseBackgroundGeneration
|
|
83
83
|
} from "./chunk-27NO2KVB.js";
|
|
@@ -5515,4 +5515,4 @@ export {
|
|
|
5515
5515
|
VALID_MEMORY_CATEGORIES,
|
|
5516
5516
|
parseConfig
|
|
5517
5517
|
};
|
|
5518
|
-
//# sourceMappingURL=chunk-
|
|
5518
|
+
//# sourceMappingURL=chunk-BLHPADUX.js.map
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
3
3
|
filterOfflineSyncDeletionRevisions,
|
|
4
4
|
iterateOfflineSyncSnapshotFileRecords
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TGF43K66.js";
|
|
6
6
|
import {
|
|
7
7
|
computeOmittedEmbeddingGenerationPaths,
|
|
8
8
|
embeddingGenerationMembership
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WWLAKRMX.js";
|
|
10
10
|
import {
|
|
11
11
|
matchesOfflineSyncDefaultExclude
|
|
12
12
|
} from "./chunk-63LFM77Z.js";
|
|
@@ -61,4 +61,4 @@ async function buildEmbeddingAwareSnapshotStream(options) {
|
|
|
61
61
|
export {
|
|
62
62
|
buildEmbeddingAwareSnapshotStream
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-BNMI3JBV.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SupportPassportCreateGrantRequestSchema,
|
|
3
3
|
defineOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JFDKPW54.js";
|
|
5
5
|
import {
|
|
6
6
|
SupportPassportCardCategorySchema,
|
|
7
7
|
SupportPassportMemoryIdSchema,
|
|
@@ -220,4 +220,4 @@ var supportPassportGrantAskOperation = defineOperation({
|
|
|
220
220
|
result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
|
|
221
221
|
})
|
|
222
222
|
});
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-CAXMG4JI.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defineOperation
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JFDKPW54.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-CQBFEGLF.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LHOIYLKH.js";
|
|
4
4
|
import {
|
|
5
5
|
keyring_exports,
|
|
6
6
|
secureStoreDir
|
|
@@ -412,4 +412,4 @@ export {
|
|
|
412
412
|
resolveNamespaceStorageRoot,
|
|
413
413
|
NamespaceStorageRouter
|
|
414
414
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
415
|
+
//# sourceMappingURL=chunk-CVQWNACA.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
computeCorpusWatermarks,
|
|
6
6
|
resolveCorpusNamespaceRoots
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-M2OPC4BD.js";
|
|
8
8
|
|
|
9
9
|
// src/operator-doctor-corpus.ts
|
|
10
10
|
var DIGEST_PREFIX_LENGTH = 12;
|
|
@@ -78,4 +78,4 @@ export {
|
|
|
78
78
|
corpusWatermarksFromCheck,
|
|
79
79
|
summarizeCorpusAndReplica
|
|
80
80
|
};
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
81
|
+
//# sourceMappingURL=chunk-DAVONFNK.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-JYG2334B.js";
|
|
8
8
|
import {
|
|
9
9
|
StorageManager
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LHOIYLKH.js";
|
|
11
11
|
import {
|
|
12
12
|
parseContinuityImprovementLoops
|
|
13
13
|
} from "./chunk-LDXUBPMO.js";
|
|
@@ -1283,4 +1283,4 @@ export {
|
|
|
1283
1283
|
defaultTierMigrationCycleBudget,
|
|
1284
1284
|
CompoundingEngine
|
|
1285
1285
|
};
|
|
1286
|
-
//# sourceMappingURL=chunk-
|
|
1286
|
+
//# sourceMappingURL=chunk-DQQ4IM5L.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
headerConnector,
|
|
4
4
|
renderExtractionConversation,
|
|
5
5
|
resolveSourceConnector
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-34G4U6HS.js";
|
|
7
7
|
import {
|
|
8
8
|
normalizeReasoningTrace
|
|
9
9
|
} from "./chunk-54V4BZWP.js";
|
|
@@ -2437,4 +2437,4 @@ export {
|
|
|
2437
2437
|
shouldEnableLocalExtractionThinking,
|
|
2438
2438
|
ExtractionEngine
|
|
2439
2439
|
};
|
|
2440
|
-
//# sourceMappingURL=chunk-
|
|
2440
|
+
//# sourceMappingURL=chunk-E7FN5N5E.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
getOperation,
|
|
4
4
|
operationRequiresAuthorizedNamespace,
|
|
5
5
|
operationUsesPrincipalNamespace
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JFDKPW54.js";
|
|
7
7
|
import {
|
|
8
8
|
assertOperationAuthorizationAllowed
|
|
9
9
|
} from "./chunk-IG747LRN.js";
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
authorizationProbeNamespaces,
|
|
61
61
|
authorizationProbeRequiresPrincipalNamespace
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-EB3RXN2L.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isGenericRecallExcludedPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2EZB2DL5.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeProjectionPreview
|
|
6
6
|
} from "./chunk-SCU65EZI.js";
|
|
@@ -209,4 +209,4 @@ export {
|
|
|
209
209
|
browsePatternMatches,
|
|
210
210
|
runMemoryBrowse
|
|
211
211
|
};
|
|
212
|
-
//# sourceMappingURL=chunk-
|
|
212
|
+
//# sourceMappingURL=chunk-EJJMDLVB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LHOIYLKH.js";
|
|
4
4
|
import {
|
|
5
5
|
composeMemoryEnvelope
|
|
6
6
|
} from "./chunk-5AYUHSAU.js";
|
|
@@ -546,4 +546,4 @@ export {
|
|
|
546
546
|
setSemanticRulePromotionTestHooks,
|
|
547
547
|
promoteSemanticRuleFromMemory
|
|
548
548
|
};
|
|
549
|
-
//# sourceMappingURL=chunk-
|
|
549
|
+
//# sourceMappingURL=chunk-FNVSBUC3.js.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReplitAdapter
|
|
3
|
+
} from "./chunk-SI36RWC3.js";
|
|
1
4
|
import {
|
|
2
5
|
ClaudeCodeAdapter
|
|
3
6
|
} from "./chunk-3JKYQBLC.js";
|
|
@@ -7,9 +10,6 @@ import {
|
|
|
7
10
|
import {
|
|
8
11
|
HermesAdapter
|
|
9
12
|
} from "./chunk-HCAGBFE7.js";
|
|
10
|
-
import {
|
|
11
|
-
ReplitAdapter
|
|
12
|
-
} from "./chunk-SI36RWC3.js";
|
|
13
13
|
import {
|
|
14
14
|
headerValue
|
|
15
15
|
} from "./chunk-NJAIR57U.js";
|
|
@@ -110,4 +110,4 @@ export {
|
|
|
110
110
|
OpenCodeAdapter,
|
|
111
111
|
AdapterRegistry
|
|
112
112
|
};
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
113
|
+
//# sourceMappingURL=chunk-G3T6YMBO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSearchBackend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OV7EYM6M.js";
|
|
4
4
|
import {
|
|
5
5
|
namespaceIdentityToken,
|
|
6
6
|
normalizeNamespaceIdentity
|
|
@@ -508,4 +508,4 @@ export {
|
|
|
508
508
|
NamespaceSearchRouter,
|
|
509
509
|
normalizeQmdResultPath
|
|
510
510
|
};
|
|
511
|
-
//# sourceMappingURL=chunk-
|
|
511
|
+
//# sourceMappingURL=chunk-GUD6FYQG.js.map
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
startLocationAutoSync
|
|
3
|
-
} from "./chunk-LXJZUNLX.js";
|
|
4
1
|
import {
|
|
5
2
|
ensureContradictionScanCron,
|
|
6
3
|
ensureDaySummaryCron,
|
|
@@ -10,16 +7,19 @@ import {
|
|
|
10
7
|
ensureProceduralMiningCron,
|
|
11
8
|
graphEdgeDecayCadenceToCronExpr
|
|
12
9
|
} from "./chunk-666A3MOW.js";
|
|
10
|
+
import {
|
|
11
|
+
startLocationAutoSync
|
|
12
|
+
} from "./chunk-NBK24POV.js";
|
|
13
13
|
import {
|
|
14
14
|
rebuildMemoryLifecycleLedger
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VQTPEL7O.js";
|
|
16
16
|
import {
|
|
17
17
|
planNamespaceMaintenance,
|
|
18
18
|
runNamespaceMaintenanceBatchPlan
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YFET6A4I.js";
|
|
20
20
|
import {
|
|
21
21
|
rebuildMemoryProjection
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-4A2UMSNB.js";
|
|
23
23
|
import {
|
|
24
24
|
DEFAULT_TIMELINE_CATEGORIES,
|
|
25
25
|
TIMELINE_RESERVED_IDLE,
|
|
@@ -2450,4 +2450,4 @@ export {
|
|
|
2450
2450
|
ActivitySyncScheduler,
|
|
2451
2451
|
MaintenanceScheduler
|
|
2452
2452
|
};
|
|
2453
|
-
//# sourceMappingURL=chunk-
|
|
2453
|
+
//# sourceMappingURL=chunk-H5YACCE3.js.map
|