@remnic/core 9.69.39 → 9.69.41
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.d.ts +16 -14
- package/dist/access-admin-ops-surface.js +75 -74
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.d.ts +16 -14
- package/dist/access-authorization-probe.js +76 -75
- package/dist/access-boundary.d.ts +16 -14
- package/dist/access-boundary.js +75 -74
- package/dist/access-cli.js +173 -170
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +1 -1
- package/dist/access-extraction-force-flush.d.ts +16 -14
- package/dist/access-extraction-force-flush.js +75 -74
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-briefing.d.ts +16 -14
- package/dist/access-http-briefing.js +76 -75
- package/dist/access-http-lcm-compaction.d.ts +16 -14
- package/dist/access-http-lifecycle-flush.d.ts +16 -14
- package/dist/access-http-offline-stream.d.ts +16 -14
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +77 -76
- package/dist/access-http.d.ts +17 -15
- package/dist/access-http.js +95 -92
- package/dist/access-identity-continuity-surface.d.ts +13 -12
- package/dist/access-identity-continuity-surface.js +75 -74
- package/dist/access-lcm-surface.d.ts +16 -14
- package/dist/access-lcm-surface.js +75 -74
- package/dist/access-mcp-shared-context-tools.d.ts +156 -0
- package/dist/access-mcp-shared-context-tools.js +8 -0
- package/dist/access-mcp.d.ts +16 -14
- package/dist/access-mcp.js +86 -83
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-DWsMc9Dh.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +75 -74
- package/dist/access-observe-transcript.d.ts +13 -12
- package/dist/access-observe-write-category.d.ts +1 -1
- package/dist/access-observe-write-category.js +4 -4
- package/dist/access-observe-write-surface.d.ts +16 -14
- package/dist/access-observe-write-surface.js +75 -74
- package/dist/access-offline-manifest.d.ts +37 -13
- package/dist/access-offline-manifest.js +15 -11
- package/dist/access-operations-batch.js +79 -77
- package/dist/access-operations.d.ts +16 -14
- package/dist/access-operations.js +84 -82
- package/dist/access-recall-concurrency.d.ts +16 -14
- package/dist/access-recall-concurrency.js +75 -74
- package/dist/access-recall-response.d.ts +16 -14
- package/dist/access-recall-response.js +75 -74
- package/dist/access-recall-surface.d.ts +16 -14
- package/dist/access-recall-surface.js +75 -74
- package/dist/access-schema.d.ts +5 -3
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-MY4bsr_Q.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
- package/dist/access-service-helpers.d.ts +16 -14
- package/dist/access-service.d.ts +16 -14
- package/dist/access-service.js +75 -74
- package/dist/access-surface-catalog.d.ts +16 -14
- package/dist/access-surface-catalog.js +77 -76
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +6 -5
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-memory-bridge.js +3 -3
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +10 -9
- package/dist/active-recall.js.map +1 -1
- package/dist/activity/digest.d.ts +1 -1
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-7PGUFY7U.js} +7 -7
- package/dist/background-generation-config.d.ts +1 -1
- package/dist/background-generation-config.js +3 -1
- package/dist/background-generation.d.ts +1 -1
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +13 -12
- package/dist/briefing-window.d.ts +2 -2
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +23 -23
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +1 -1
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.js +7 -7
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +3 -2
- package/dist/calibration.js +2 -2
- package/dist/capabilities.d.ts +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{capsule-merge-IPG4IOFP.js → capsule-merge-3MNURAQ3.js} +2 -2
- package/dist/{catalog-CW87xGx8.d.ts → catalog-wcX1QhtQ.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +29 -28
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
- package/dist/chunk-27NO2KVB.js.map +1 -0
- package/dist/{chunk-M6RORUO5.js → chunk-2EYZ32LH.js} +24 -2
- package/dist/{chunk-M6RORUO5.js.map → chunk-2EYZ32LH.js.map} +1 -1
- package/dist/{chunk-XH3HGI2N.js → chunk-2HQPE2NM.js} +2 -2
- package/dist/{chunk-3EKVN2OP.js → chunk-2ZG2LLZT.js} +2 -2
- package/dist/{chunk-6EHM2AV7.js → chunk-3BLHPQHT.js} +5 -5
- package/dist/{chunk-YKREX63Z.js → chunk-3D75XIYO.js} +5 -3
- package/dist/chunk-3D75XIYO.js.map +1 -0
- package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
- package/dist/{chunk-F4EHXVP7.js → chunk-46RII65S.js} +2 -2
- package/dist/{chunk-YUW66UAH.js → chunk-4AX5OYKC.js} +2 -2
- package/dist/{chunk-AECJY3GJ.js → chunk-4IGOLIWM.js} +2 -2
- package/dist/{chunk-2ZTDRNCS.js → chunk-54QPOE45.js} +2 -2
- package/dist/{chunk-O4M4BDIJ.js → chunk-563X6JJX.js} +2 -2
- package/dist/{chunk-IL6ODG6M.js → chunk-5EQT62HH.js} +2 -2
- package/dist/{chunk-JKKII6GX.js → chunk-6MQMYXSQ.js} +2 -2
- package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
- package/dist/{chunk-BV4ZKIZH.js → chunk-7ZLC4DTZ.js} +5 -4
- package/dist/{chunk-WBM2MVBK.js → chunk-A4OIJYCV.js} +2 -2
- package/dist/{chunk-RLJHJQUY.js → chunk-AFJHNHAM.js} +8 -8
- package/dist/{chunk-6YAIN5XJ.js → chunk-AIVRD66I.js} +44 -6
- package/dist/chunk-AIVRD66I.js.map +1 -0
- package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
- package/dist/chunk-AJBWVDRV.js.map +1 -0
- package/dist/{chunk-4RZLTZVM.js → chunk-AKABVXFS.js} +2 -2
- package/dist/{chunk-M6HBPLBA.js → chunk-AUSRUOMQ.js} +2 -2
- package/dist/{chunk-QHT7MOUF.js → chunk-BTPCP535.js} +25 -14
- package/dist/chunk-BTPCP535.js.map +1 -0
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-Q7CLGFA7.js → chunk-C3G6MW4W.js} +3 -3
- package/dist/{chunk-O76F5QPP.js → chunk-D6PY63OM.js} +2 -2
- package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
- package/dist/{chunk-LMLGBG6H.js → chunk-DBB5JPSL.js} +2 -2
- package/dist/{chunk-TSP5WH72.js → chunk-DIXZQTGY.js} +2 -2
- package/dist/{chunk-P4ZAEYKG.js → chunk-DM5CU5J7.js} +7 -4
- package/dist/chunk-DM5CU5J7.js.map +1 -0
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-UHRZ324M.js → chunk-E3I3NDUP.js} +4 -4
- package/dist/{chunk-AENM6GKU.js → chunk-E4LMQTST.js} +2 -2
- package/dist/{chunk-YDVAM7S4.js → chunk-EH3HNCAM.js} +13 -8
- package/dist/chunk-EH3HNCAM.js.map +1 -0
- package/dist/{chunk-MUTVRKKY.js → chunk-EMSYMYXO.js} +14 -14
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-FXHOZGSE.js → chunk-F5H6YG5P.js} +2 -2
- package/dist/{chunk-TRLOFIQC.js → chunk-FGFC2EFR.js} +14 -13
- package/dist/chunk-FGFC2EFR.js.map +1 -0
- package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
- package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
- package/dist/{chunk-EYKIDK33.js → chunk-GMH5QPUU.js} +22 -22
- package/dist/chunk-GMH5QPUU.js.map +1 -0
- package/dist/{chunk-4BCHFSC7.js → chunk-GWNSKQDA.js} +3 -3
- package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
- package/dist/{chunk-GG5FHZJJ.js → chunk-I33QYUAF.js} +6 -6
- package/dist/{chunk-LPYYY4AP.js → chunk-I46BYY7U.js} +653 -328
- package/dist/chunk-I46BYY7U.js.map +1 -0
- package/dist/{chunk-CZTPU65V.js → chunk-ICN37XHG.js} +74 -27
- package/dist/chunk-ICN37XHG.js.map +1 -0
- package/dist/chunk-IFBSZGW3.js +42 -0
- package/dist/chunk-IFBSZGW3.js.map +1 -0
- package/dist/{chunk-AAZEKXUP.js → chunk-IYIPXAIJ.js} +2 -2
- package/dist/{chunk-ACY4ZPF7.js → chunk-J2MGTGKC.js} +10 -5
- package/dist/chunk-J2MGTGKC.js.map +1 -0
- package/dist/chunk-JATHBCAV.js +94 -0
- package/dist/chunk-JATHBCAV.js.map +1 -0
- package/dist/{chunk-5U7K4W6K.js → chunk-JDOBQPJY.js} +3 -3
- package/dist/{chunk-TG3FAM2S.js → chunk-JL4TQYM5.js} +48 -1
- package/dist/{chunk-TG3FAM2S.js.map → chunk-JL4TQYM5.js.map} +1 -1
- package/dist/{chunk-UZZ7SQT3.js → chunk-JMWUPUE6.js} +2 -2
- package/dist/{chunk-ENBPQEVU.js → chunk-JSD7Q7LD.js} +2 -2
- package/dist/{chunk-QTQ6XKGT.js → chunk-K5D2XVNN.js} +4 -4
- package/dist/chunk-K5D2XVNN.js.map +1 -0
- package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
- package/dist/chunk-KG2OOAFF.js.map +1 -0
- package/dist/{chunk-Q432REND.js → chunk-KJLLPG26.js} +2 -2
- package/dist/{chunk-JTQR6L2N.js → chunk-KLUC2GSG.js} +6 -6
- package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
- package/dist/{chunk-PCOVEDPK.js → chunk-KZJM7R4F.js} +3 -3
- package/dist/{chunk-X4TD4O2F.js → chunk-LE2KZ72G.js} +3 -3
- package/dist/{chunk-HIP6DKJJ.js → chunk-LQVXSRAJ.js} +2 -2
- package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
- package/dist/{chunk-FWWWUPOE.js → chunk-MCMS4VUK.js} +25 -15
- package/dist/chunk-MCMS4VUK.js.map +1 -0
- package/dist/{chunk-5SPCMAUC.js → chunk-N6XTC56E.js} +13 -81
- package/dist/chunk-N6XTC56E.js.map +1 -0
- package/dist/{chunk-VBSNUH4J.js → chunk-ND7MAIJC.js} +2 -2
- package/dist/{chunk-TNZNSMVJ.js → chunk-NYWCFC3K.js} +301 -348
- package/dist/chunk-NYWCFC3K.js.map +1 -0
- package/dist/{chunk-54NX5EG4.js → chunk-P66QH6R6.js} +2 -2
- package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
- package/dist/{chunk-TA4C3XB7.js → chunk-PFKIOYJH.js} +2 -2
- package/dist/{chunk-WIWLX65T.js → chunk-PGGPRF6J.js} +2 -2
- package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
- package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
- package/dist/chunk-PJRKLB4Z.js.map +1 -0
- package/dist/{chunk-4JVQRFZD.js → chunk-PLJ2MQFT.js} +11 -11
- package/dist/{chunk-4RX5O34R.js → chunk-PQ42DJNG.js} +2 -2
- package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
- package/dist/{chunk-ZEGL7YCC.js → chunk-Q62GA5U2.js} +2 -2
- package/dist/{chunk-CC37E3QM.js → chunk-QKCXRS5A.js} +16 -1
- package/dist/chunk-QKCXRS5A.js.map +1 -0
- package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
- package/dist/chunk-QM2SPLKQ.js.map +1 -0
- package/dist/{chunk-GAS7KYC7.js → chunk-RQQO3ORQ.js} +2 -2
- package/dist/{chunk-UZEHHXYC.js → chunk-S4MJTIPG.js} +85 -81
- package/dist/chunk-S4MJTIPG.js.map +1 -0
- package/dist/chunk-SK7D34OL.js +68 -0
- package/dist/chunk-SK7D34OL.js.map +1 -0
- package/dist/{chunk-LQNRVPTV.js → chunk-TRTLWUDD.js} +164 -130
- package/dist/chunk-TRTLWUDD.js.map +1 -0
- package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
- package/dist/chunk-U2VDCFXW.js.map +1 -0
- package/dist/{chunk-CWTCMZGE.js → chunk-UHSOPTNB.js} +132 -6
- package/dist/chunk-UHSOPTNB.js.map +1 -0
- package/dist/{chunk-3NPNBVFR.js → chunk-UZGHKD3T.js} +2 -2
- package/dist/{chunk-IQEJIOEU.js → chunk-V2EXYQEQ.js} +20 -12
- package/dist/chunk-V2EXYQEQ.js.map +1 -0
- package/dist/{chunk-OPBFP4TF.js → chunk-V2TOGJPM.js} +46 -13
- package/dist/chunk-V2TOGJPM.js.map +1 -0
- package/dist/{chunk-VJIE4D2I.js → chunk-V62YYBBY.js} +4 -4
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
- package/dist/chunk-VNQRRUNS.js.map +1 -0
- package/dist/{chunk-6AGWBKQU.js → chunk-VSN2DMQK.js} +2 -2
- package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
- package/dist/{chunk-GI4ZBWPQ.js → chunk-W7UV2ZCA.js} +3 -3
- package/dist/{chunk-GMIQV6DD.js → chunk-WBQ4ONQJ.js} +2 -2
- package/dist/{chunk-FNHLI2RE.js → chunk-WFMQN7JE.js} +3 -3
- package/dist/{chunk-MVAQ2WM3.js → chunk-WGZHSQDV.js} +9 -5
- package/dist/chunk-WGZHSQDV.js.map +1 -0
- package/dist/{chunk-IYKZJVL5.js → chunk-WN2OXGGH.js} +1 -1
- package/dist/chunk-WN2OXGGH.js.map +1 -0
- package/dist/{chunk-ZBW7A667.js → chunk-WPGA4RYI.js} +2 -2
- package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
- package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
- package/dist/chunk-WUUGE7QC.js.map +1 -0
- package/dist/{chunk-NXGSONWM.js → chunk-WZIO3TW6.js} +2 -2
- package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
- package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
- package/dist/chunk-XCPNH2MG.js.map +1 -0
- package/dist/{chunk-VSL63CFJ.js → chunk-XRS65T4O.js} +9 -9
- package/dist/{chunk-5N4MZLEH.js → chunk-YFXAWGMR.js} +2 -2
- package/dist/{chunk-KQW3YGEN.js → chunk-YR5QT4SR.js} +32 -9
- package/dist/chunk-YR5QT4SR.js.map +1 -0
- package/dist/{chunk-CARRTDKC.js → chunk-Z22M4JCY.js} +4 -3
- package/dist/chunk-Z22M4JCY.js.map +1 -0
- package/dist/{chunk-D545Z7UH.js → chunk-Z535ADTC.js} +3 -3
- package/dist/{chunk-B36GUU6T.js → chunk-Z7NBT6AK.js} +38 -5
- package/dist/chunk-Z7NBT6AK.js.map +1 -0
- package/dist/{chunk-5YCNDC3C.js → chunk-ZX6NNFSY.js} +3 -3
- package/dist/{chunk-3N3PBBEH.js → chunk-ZYSOT6HD.js} +2 -2
- package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZEIL3MI.js} +2 -2
- package/dist/{cli-DGq0MNpO.d.ts → cli-CUlMlS2N.d.ts} +5 -5
- package/dist/cli.d.ts +18 -16
- package/dist/cli.js +129 -126
- package/dist/coding/export-okf-codegraph.d.ts +1 -1
- package/dist/coding/export-okf-codegraph.js +22 -22
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +25 -25
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +10 -9
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +25 -25
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/codex-materialize.js +2 -2
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +25 -25
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +6 -5
- package/dist/contradiction/index.js +4 -4
- package/dist/{contradiction-scan-BSGKZHYJ.js → contradiction-scan-GVD4JJ7B.js} +4 -4
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +26 -26
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/corpus-watermark.d.ts +1 -1
- package/dist/corpus-watermark.js +25 -25
- package/dist/cross-lingual-recall.d.ts +1 -1
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +1 -1
- package/dist/deep-recall-config.d.ts +12 -1
- package/dist/deep-recall-config.js +5 -3
- package/dist/deep-recall-http-glue.d.ts +19 -15
- package/dist/deep-recall-http-glue.js +7 -4
- package/dist/deep-recall-mcp-tools.d.ts +16 -14
- package/dist/deep-recall-policy-llm.d.ts +14 -3
- package/dist/deep-recall-policy-llm.js +3 -3
- package/dist/deep-recall-seeds.d.ts +4 -1
- package/dist/deep-recall-seeds.js +1 -1
- package/dist/deep-recall.d.ts +12 -1
- package/dist/deep-recall.js +3 -2
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-BDDjImQn.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-origin-fields.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +24 -24
- package/dist/entity-schema.d.ts +1 -1
- package/dist/episodic-context.d.ts +1 -1
- package/dist/eval-trajectory-contracts.d.ts +1 -1
- package/dist/eval-trajectory-store.d.ts +1 -1
- package/dist/eval-trajectory.d.ts +1 -1
- package/dist/explicit-capture.d.ts +13 -12
- package/dist/explicit-capture.js +3 -3
- package/dist/external-wiki-access.d.ts +16 -14
- package/dist/external-wiki-access.js +76 -75
- package/dist/external-wiki-collection-registration.d.ts +1 -1
- package/dist/external-wiki-collection.d.ts +1 -1
- package/dist/external-wiki-mcp-tools.d.ts +16 -14
- package/dist/extraction-error-classification.d.ts +14 -3
- package/dist/extraction-error-classification.js +5 -3
- package/dist/extraction-faithfulness.d.ts +4 -3
- package/dist/extraction-faithfulness.js +3 -3
- package/dist/extraction-judge-telemetry.d.ts +4 -3
- package/dist/extraction-judge-training.d.ts +4 -3
- package/dist/extraction-judge.d.ts +4 -3
- package/dist/extraction-judge.js +3 -3
- package/dist/extraction-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-prompt.d.ts +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction-span-config.d.ts +1 -1
- package/dist/extraction-span-materialize.d.ts +1 -1
- package/dist/extraction.d.ts +4 -4
- package/dist/extraction.js +40 -38
- package/dist/fallback-llm-codex-subscription.d.ts +65 -10
- package/dist/fallback-llm-codex-subscription.js +19 -1
- package/dist/fallback-llm.d.ts +25 -28
- package/dist/fallback-llm.js +4 -3
- package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
- package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpDzNO_I.d.ts} +1 -1
- package/dist/graph-append-error.d.ts +1 -1
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-jsonl.d.ts +1 -1
- package/dist/graph-path-reconstruction.d.ts +1 -1
- package/dist/graph-path-scoring.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/harmonic-retrieval.js +3 -3
- package/dist/importance.d.ts +1 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/importers/test-utils.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/{index-DWOb4wz9.d.ts → index-CtmmCJoo.d.ts} +3 -3
- package/dist/index.d.ts +80 -40
- package/dist/index.js +316 -296
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +3 -3
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +11 -11
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm-DpXIvm6F.d.ts +247 -0
- package/dist/local-llm-config.d.ts +4 -1
- package/dist/local-llm-config.js +4 -2
- package/dist/local-llm-helpers.d.ts +18 -69
- package/dist/local-llm-helpers.js +1 -1
- package/dist/local-llm.d.ts +3 -170
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +1 -1
- package/dist/location/index.d.ts +3 -3
- package/dist/location/index.js +25 -25
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +24 -24
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +23 -23
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +25 -25
- package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CNgoLsoM.d.ts} +13 -6
- package/dist/mcp-memory-inspector-app.d.ts +16 -14
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-controller.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-snapshot.d.ts +1 -1
- package/dist/memory-subject-cli.d.ts +16 -14
- package/dist/memory-subject.d.ts +16 -14
- package/dist/memory-worth-outcomes.d.ts +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +24 -24
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +12 -1
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +23 -23
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +26 -26
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +45 -44
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +36 -36
- package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-DT7ybIFz.d.ts} +32 -11
- package/dist/orchestrator.d.ts +13 -12
- package/dist/orchestrator.js +176 -171
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-CgBEmHcz.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/proactive-contention.d.ts +2 -2
- package/dist/provenance.d.ts +1 -1
- package/dist/{public-http-CuK4_Cb1.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
- package/dist/{qmd-qXD4vatU.d.ts → qmd-BkY8KpCh.d.ts} +2 -2
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/qmd.js +2 -2
- package/dist/recall-concurrency-config.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +1 -1
- package/dist/recall-navigate-access.d.ts +1 -1
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.d.ts +1 -1
- package/dist/recall-navigate-disclosure.js +1 -1
- package/dist/recall-navigate.d.ts +1 -1
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-planner-llm.d.ts +3 -2
- package/dist/recall-planner-llm.js +4 -3
- package/dist/recall-planner-llm.js.map +1 -1
- package/dist/recall-state-view-admission.d.ts +13 -3
- package/dist/recall-state-view-admission.js +9 -9
- package/dist/recall-state-view-anchors.d.ts +1 -1
- package/dist/recall-state-view-anchors.js +2 -2
- package/dist/recall-state-view-inject.js +2 -2
- package/dist/recall-state-view-render.js +2 -2
- package/dist/recall-state-view-widen.js +2 -2
- package/dist/recall-state-view-wire.js +3 -3
- package/dist/recall-state-view.d.ts +10 -1
- package/dist/recall-state-view.js +5 -3
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +1 -1
- package/dist/reconcile/cursor.js +2 -2
- package/dist/reconcile/manifest.d.ts +1 -1
- package/dist/reconcile/manifest.js +4 -4
- package/dist/reconcile/plan.d.ts +1 -1
- package/dist/reconcile/plan.js +2 -2
- package/dist/replay/normalizers/chatgpt.d.ts +1 -1
- package/dist/replay/normalizers/claude.d.ts +1 -1
- package/dist/replay/normalizers/openclaw.d.ts +1 -1
- package/dist/replay/normalizers/shared.d.ts +1 -1
- package/dist/replay/runner.d.ts +1 -1
- package/dist/replay/types.d.ts +1 -1
- package/dist/replica-divergence.d.ts +1 -1
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/{resolution-4GG3QZRJ.js → resolution-LXFQQ4AE.js} +5 -5
- package/dist/resolution-LXFQQ4AE.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +12 -11
- package/dist/retrieval-agents.d.ts +2 -2
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/salvage-envelope.d.ts +1 -1
- package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BBPjZ9jb.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +8 -8
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +12 -12
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +2 -2
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/search/remote-backend.js +2 -2
- package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +26 -26
- package/dist/semantic-rule-promotion.js +23 -23
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +23 -23
- package/dist/{service-CLkA7AQB.d.ts → service-jKcr6Jvr.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/shared-context/manager.js +2 -2
- package/dist/shared-context/write-output-controls.d.ts +34 -0
- package/dist/shared-context/write-output-controls.js +10 -0
- package/dist/shared-context/write-output-controls.js.map +1 -0
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +31 -31
- package/dist/source-attribution.d.ts +23 -1
- package/dist/source-attribution.js +13 -3
- package/dist/standup/build.js +23 -23
- package/dist/{storage-wvX01lht.d.ts → storage-C-0Ah5OY.d.ts} +2 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +22 -22
- package/dist/subject-config.d.ts +1 -1
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +6 -6
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +18 -17
- package/dist/support-passport/index.js +78 -77
- package/dist/task-llm-config.d.ts +16 -0
- package/dist/task-llm-config.js +12 -0
- package/dist/task-llm-config.js.map +1 -0
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-routing.d.ts +1 -1
- package/dist/tier-routing.js +3 -3
- package/dist/{tier-stats-LUSUUNU6.js → tier-stats-VK5PCO2L.js} +4 -4
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +3 -3
- package/dist/transfer/export-okf.d.ts +1 -1
- package/dist/transfer/export-okf.js +23 -23
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-Cyr32ABj.d.ts → types-cK5LydjL.d.ts} +6 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +23 -23
- package/dist/who-knows-cli.d.ts +16 -14
- package/dist/who-knows-cli.js +24 -24
- package/dist/who-knows.d.ts +16 -14
- package/dist/who-knows.js +23 -23
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +12 -2
- package/src/access-category-alias.test.ts +93 -0
- package/src/access-http.ts +1 -1
- package/src/access-mcp-shared-context-tools.ts +103 -0
- package/src/access-mcp.ts +4 -74
- package/src/access-offline-manifest.ts +52 -2
- package/src/access-operations-batch.ts +45 -2
- package/src/access-schema.ts +9 -4
- package/src/access-service.ts +14 -7
- package/src/activity/config.test.ts +61 -0
- package/src/activity/config.ts +40 -1
- package/src/activity/timeline/analysis-provider.ts +8 -2
- package/src/activity/timeline/analysis-run.test.ts +82 -0
- package/src/activity/timeline/publish-cli.test.ts +30 -0
- package/src/activity/timeline/publish-cli.ts +7 -0
- package/src/activity/timeline/query.ts +8 -1
- package/src/activity/timeline/regenerate.test.ts +130 -2
- package/src/activity/timeline/regenerate.ts +14 -6
- package/src/activity/vault-frontmatter.test.ts +99 -1
- package/src/activity/vault-frontmatter.ts +131 -0
- package/src/activity/vault-publish.ts +6 -0
- package/src/activity/vault-publisher.test.ts +172 -0
- package/src/activity/vault-publisher.ts +69 -15
- package/src/activity/vault-region.test.ts +7 -2
- package/src/activity/vault-region.ts +7 -3
- package/src/background-generation-config.ts +32 -6
- package/src/background-generation.test.ts +10 -1
- package/src/cli/deep-recall-commands.ts +22 -10
- package/src/cli/timeline-publish-commands.ts +9 -0
- package/src/config.test.ts +170 -43
- package/src/config.ts +22 -5
- package/src/dedup/merge.test.ts +283 -0
- package/src/deep-recall-boundary.test.ts +66 -0
- package/src/deep-recall-cli.test.ts +82 -0
- package/src/deep-recall-config.test.ts +56 -0
- package/src/deep-recall-config.ts +32 -0
- package/src/deep-recall-http-glue.ts +10 -10
- package/src/deep-recall-policy-llm.test.ts +242 -0
- package/src/deep-recall-policy-llm.ts +37 -7
- package/src/deep-recall-seeds.test.ts +53 -0
- package/src/deep-recall-seeds.ts +7 -1
- package/src/deep-recall-surface.test.ts +93 -0
- package/src/deep-recall.test.ts +121 -0
- package/src/deep-recall.ts +88 -28
- package/src/extraction-error-classification.ts +36 -1
- package/src/extraction-timeout.test.ts +110 -1
- package/src/extraction.test.ts +19 -1
- package/src/extraction.ts +23 -21
- package/src/fallback-llm-codex-subscription.ts +220 -12
- package/src/fallback-llm-parse-failure.test.ts +156 -0
- package/src/fallback-llm.test.ts +178 -0
- package/src/fallback-llm.ts +200 -198
- package/src/index.ts +1 -0
- package/src/local-llm-config.ts +11 -10
- package/src/local-llm-headers-timeout.test.ts +30 -0
- package/src/local-llm-helpers.ts +28 -0
- package/src/local-llm.ts +8 -19
- package/src/meetings/config.test.ts +58 -0
- package/src/namespaces/search.test.ts +51 -1
- package/src/namespaces/search.ts +48 -3
- package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
- package/src/orchestration/extraction-persist-promotion.ts +17 -14
- package/src/orchestration/extraction-persist.ts +1 -1
- package/src/orchestration/orchestrator-helpers.test.ts +104 -0
- package/src/orchestration/orchestrator-init.ts +366 -106
- package/src/orchestration/recall-entry.ts +15 -1
- package/src/orchestration/recall-internal.ts +6 -11
- package/src/orchestration/recall-section-coordinator.ts +65 -28
- package/src/orchestration/recall-state-view-pipeline.test.ts +8 -2
- package/src/orchestration/semantic-merge-commit-effects.ts +45 -16
- package/src/orchestration/semantic-merge-persist.ts +23 -36
- package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
- package/src/orchestration/startup-collection-checks.ts +85 -0
- package/src/orchestrator-flush.test.ts +7 -0
- package/src/orchestrator-init.test.ts +1539 -0
- package/src/orchestrator.ts +7 -0
- package/src/providers/codex-subscription.test.ts +127 -0
- package/src/providers/codex-subscription.ts +1 -1
- package/src/qmd.ts +21 -10
- package/src/recall-state-view-admission.ts +11 -1
- package/src/recall-state-view-budget.test.ts +424 -0
- package/src/recall-state-view-cron-intent.test.ts +268 -0
- package/src/recall-state-view-widen.test.ts +14 -5
- package/src/recall-state-view-widen.ts +8 -1
- package/src/recall-state-view.ts +35 -18
- package/src/reconcile-identity-cache.test.ts +82 -1
- package/src/search/port.ts +1 -1
- package/src/shared-context/envelope-io.ts +25 -0
- package/src/shared-context/envelope-wiring.test.ts +4 -2
- package/src/shared-context/manager.ts +1 -0
- package/src/shared-context/write-output-controls.test.ts +192 -0
- package/src/shared-context/write-output-controls.ts +72 -0
- package/src/source-attribution.test.ts +39 -0
- package/src/source-attribution.ts +72 -0
- package/src/storage/cas-revision-store.test.ts +4 -0
- package/src/storage/cas-revision-store.ts +104 -12
- package/src/storage-frontmatter-cas.test.ts +19 -17
- package/src/summarizer.ts +5 -1
- package/src/task-llm-config.test.ts +124 -0
- package/src/task-llm-config.ts +88 -0
- package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
- package/src/types.ts +6 -0
- package/dist/chunk-3CBI2ZSA.js.map +0 -1
- package/dist/chunk-5HYUUFMQ.js.map +0 -1
- package/dist/chunk-5SPCMAUC.js.map +0 -1
- package/dist/chunk-6H2G7RFT.js.map +0 -1
- package/dist/chunk-6YAIN5XJ.js.map +0 -1
- package/dist/chunk-ACY4ZPF7.js.map +0 -1
- package/dist/chunk-B36GUU6T.js.map +0 -1
- package/dist/chunk-BLDBT6HZ.js.map +0 -1
- package/dist/chunk-CARRTDKC.js.map +0 -1
- package/dist/chunk-CC37E3QM.js.map +0 -1
- package/dist/chunk-CWTCMZGE.js.map +0 -1
- package/dist/chunk-CZTPU65V.js.map +0 -1
- package/dist/chunk-EYKIDK33.js.map +0 -1
- package/dist/chunk-FWWWUPOE.js.map +0 -1
- package/dist/chunk-IQEJIOEU.js.map +0 -1
- package/dist/chunk-IYKZJVL5.js.map +0 -1
- package/dist/chunk-JXN77SGO.js.map +0 -1
- package/dist/chunk-KQW3YGEN.js.map +0 -1
- package/dist/chunk-LPYYY4AP.js.map +0 -1
- package/dist/chunk-LQNRVPTV.js.map +0 -1
- package/dist/chunk-MVAQ2WM3.js.map +0 -1
- package/dist/chunk-OEDW4ER7.js.map +0 -1
- package/dist/chunk-OPBFP4TF.js.map +0 -1
- package/dist/chunk-P4ZAEYKG.js.map +0 -1
- package/dist/chunk-QHT7MOUF.js.map +0 -1
- package/dist/chunk-QTQ6XKGT.js.map +0 -1
- package/dist/chunk-SV4Z2S67.js.map +0 -1
- package/dist/chunk-TNZNSMVJ.js.map +0 -1
- package/dist/chunk-TRLOFIQC.js.map +0 -1
- package/dist/chunk-UZEHHXYC.js.map +0 -1
- package/dist/chunk-WKDFJXW5.js.map +0 -1
- package/dist/chunk-YDVAM7S4.js.map +0 -1
- package/dist/chunk-YFTNZMGR.js.map +0 -1
- package/dist/chunk-YKREX63Z.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
- /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-7PGUFY7U.js.map} +0 -0
- /package/dist/{contradiction-scan-BSGKZHYJ.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{capsule-merge-IPG4IOFP.js.map → capsule-merge-3MNURAQ3.js.map} +0 -0
- /package/dist/{chunk-XH3HGI2N.js.map → chunk-2HQPE2NM.js.map} +0 -0
- /package/dist/{chunk-3EKVN2OP.js.map → chunk-2ZG2LLZT.js.map} +0 -0
- /package/dist/{chunk-6EHM2AV7.js.map → chunk-3BLHPQHT.js.map} +0 -0
- /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
- /package/dist/{chunk-F4EHXVP7.js.map → chunk-46RII65S.js.map} +0 -0
- /package/dist/{chunk-YUW66UAH.js.map → chunk-4AX5OYKC.js.map} +0 -0
- /package/dist/{chunk-AECJY3GJ.js.map → chunk-4IGOLIWM.js.map} +0 -0
- /package/dist/{chunk-2ZTDRNCS.js.map → chunk-54QPOE45.js.map} +0 -0
- /package/dist/{chunk-O4M4BDIJ.js.map → chunk-563X6JJX.js.map} +0 -0
- /package/dist/{chunk-IL6ODG6M.js.map → chunk-5EQT62HH.js.map} +0 -0
- /package/dist/{chunk-JKKII6GX.js.map → chunk-6MQMYXSQ.js.map} +0 -0
- /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
- /package/dist/{chunk-BV4ZKIZH.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
- /package/dist/{chunk-WBM2MVBK.js.map → chunk-A4OIJYCV.js.map} +0 -0
- /package/dist/{chunk-RLJHJQUY.js.map → chunk-AFJHNHAM.js.map} +0 -0
- /package/dist/{chunk-4RZLTZVM.js.map → chunk-AKABVXFS.js.map} +0 -0
- /package/dist/{chunk-M6HBPLBA.js.map → chunk-AUSRUOMQ.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-Q7CLGFA7.js.map → chunk-C3G6MW4W.js.map} +0 -0
- /package/dist/{chunk-O76F5QPP.js.map → chunk-D6PY63OM.js.map} +0 -0
- /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
- /package/dist/{chunk-LMLGBG6H.js.map → chunk-DBB5JPSL.js.map} +0 -0
- /package/dist/{chunk-TSP5WH72.js.map → chunk-DIXZQTGY.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-UHRZ324M.js.map → chunk-E3I3NDUP.js.map} +0 -0
- /package/dist/{chunk-AENM6GKU.js.map → chunk-E4LMQTST.js.map} +0 -0
- /package/dist/{chunk-MUTVRKKY.js.map → chunk-EMSYMYXO.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-FXHOZGSE.js.map → chunk-F5H6YG5P.js.map} +0 -0
- /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
- /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
- /package/dist/{chunk-4BCHFSC7.js.map → chunk-GWNSKQDA.js.map} +0 -0
- /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
- /package/dist/{chunk-GG5FHZJJ.js.map → chunk-I33QYUAF.js.map} +0 -0
- /package/dist/{chunk-AAZEKXUP.js.map → chunk-IYIPXAIJ.js.map} +0 -0
- /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
- /package/dist/{chunk-UZZ7SQT3.js.map → chunk-JMWUPUE6.js.map} +0 -0
- /package/dist/{chunk-ENBPQEVU.js.map → chunk-JSD7Q7LD.js.map} +0 -0
- /package/dist/{chunk-Q432REND.js.map → chunk-KJLLPG26.js.map} +0 -0
- /package/dist/{chunk-JTQR6L2N.js.map → chunk-KLUC2GSG.js.map} +0 -0
- /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
- /package/dist/{chunk-PCOVEDPK.js.map → chunk-KZJM7R4F.js.map} +0 -0
- /package/dist/{chunk-X4TD4O2F.js.map → chunk-LE2KZ72G.js.map} +0 -0
- /package/dist/{chunk-HIP6DKJJ.js.map → chunk-LQVXSRAJ.js.map} +0 -0
- /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
- /package/dist/{chunk-VBSNUH4J.js.map → chunk-ND7MAIJC.js.map} +0 -0
- /package/dist/{chunk-54NX5EG4.js.map → chunk-P66QH6R6.js.map} +0 -0
- /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
- /package/dist/{chunk-TA4C3XB7.js.map → chunk-PFKIOYJH.js.map} +0 -0
- /package/dist/{chunk-WIWLX65T.js.map → chunk-PGGPRF6J.js.map} +0 -0
- /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
- /package/dist/{chunk-4JVQRFZD.js.map → chunk-PLJ2MQFT.js.map} +0 -0
- /package/dist/{chunk-4RX5O34R.js.map → chunk-PQ42DJNG.js.map} +0 -0
- /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
- /package/dist/{chunk-ZEGL7YCC.js.map → chunk-Q62GA5U2.js.map} +0 -0
- /package/dist/{chunk-GAS7KYC7.js.map → chunk-RQQO3ORQ.js.map} +0 -0
- /package/dist/{chunk-3NPNBVFR.js.map → chunk-UZGHKD3T.js.map} +0 -0
- /package/dist/{chunk-VJIE4D2I.js.map → chunk-V62YYBBY.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-6AGWBKQU.js.map → chunk-VSN2DMQK.js.map} +0 -0
- /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-W7UV2ZCA.js.map} +0 -0
- /package/dist/{chunk-GMIQV6DD.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
- /package/dist/{chunk-FNHLI2RE.js.map → chunk-WFMQN7JE.js.map} +0 -0
- /package/dist/{chunk-ZBW7A667.js.map → chunk-WPGA4RYI.js.map} +0 -0
- /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
- /package/dist/{chunk-NXGSONWM.js.map → chunk-WZIO3TW6.js.map} +0 -0
- /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
- /package/dist/{chunk-VSL63CFJ.js.map → chunk-XRS65T4O.js.map} +0 -0
- /package/dist/{chunk-5N4MZLEH.js.map → chunk-YFXAWGMR.js.map} +0 -0
- /package/dist/{chunk-D545Z7UH.js.map → chunk-Z535ADTC.js.map} +0 -0
- /package/dist/{chunk-5YCNDC3C.js.map → chunk-ZX6NNFSY.js.map} +0 -0
- /package/dist/{chunk-3N3PBBEH.js.map → chunk-ZYSOT6HD.js.map} +0 -0
- /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZEIL3MI.js.map} +0 -0
- /package/dist/{resolution-4GG3QZRJ.js.map → contradiction-scan-GVD4JJ7B.js.map} +0 -0
- /package/dist/{first-start-migration-ZWMV5CX4.js.map → first-start-migration-L3UFX5CU.js.map} +0 -0
- /package/dist/{tier-stats-LUSUUNU6.js.map → tier-stats-VK5PCO2L.js.map} +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
chatgptReplayNormalizer
|
|
3
|
+
} from "./chunk-MMACM5G2.js";
|
|
1
4
|
import {
|
|
2
5
|
claudeReplayNormalizer
|
|
3
6
|
} from "./chunk-54BGIBCR.js";
|
|
@@ -5,21 +8,21 @@ import {
|
|
|
5
8
|
openclawReplayNormalizer
|
|
6
9
|
} from "./chunk-H4CKS5B2.js";
|
|
7
10
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./chunk-
|
|
11
|
+
importMarkdownBundle
|
|
12
|
+
} from "./chunk-HDDRVXX4.js";
|
|
13
|
+
import {
|
|
14
|
+
importSqlite
|
|
15
|
+
} from "./chunk-PYHOAXTI.js";
|
|
16
|
+
import {
|
|
17
|
+
exportJsonBundle
|
|
18
|
+
} from "./chunk-UP6MOYCB.js";
|
|
10
19
|
import {
|
|
11
20
|
exportOkfBundle,
|
|
12
21
|
parseIncludeStatus
|
|
13
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ND7MAIJC.js";
|
|
14
23
|
import {
|
|
15
24
|
exportSqlite
|
|
16
25
|
} from "./chunk-BV2TIZ4F.js";
|
|
17
|
-
import {
|
|
18
|
-
importMarkdownBundle
|
|
19
|
-
} from "./chunk-HDDRVXX4.js";
|
|
20
|
-
import {
|
|
21
|
-
importSqlite
|
|
22
|
-
} from "./chunk-PYHOAXTI.js";
|
|
23
26
|
import {
|
|
24
27
|
detectImportFormat
|
|
25
28
|
} from "./chunk-OZKVVUJB.js";
|
|
@@ -28,13 +31,10 @@ import {
|
|
|
28
31
|
} from "./chunk-2DL3OFLD.js";
|
|
29
32
|
import {
|
|
30
33
|
backupMemoryDir
|
|
31
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-BXLOS5AJ.js";
|
|
32
35
|
import {
|
|
33
36
|
exportMarkdownBundle
|
|
34
37
|
} from "./chunk-765K3SAT.js";
|
|
35
|
-
import {
|
|
36
|
-
exportJsonBundle
|
|
37
|
-
} from "./chunk-UP6MOYCB.js";
|
|
38
38
|
import {
|
|
39
39
|
buildReplayNormalizerRegistry,
|
|
40
40
|
clampBatchSize,
|
|
@@ -53,9 +53,12 @@ import {
|
|
|
53
53
|
import {
|
|
54
54
|
WebDavServer
|
|
55
55
|
} from "./chunk-PYIFUBRK.js";
|
|
56
|
+
import {
|
|
57
|
+
migrateObservations
|
|
58
|
+
} from "./chunk-IIFFC3RL.js";
|
|
56
59
|
import {
|
|
57
60
|
rebuildMemoryLifecycleLedger
|
|
58
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-PFKIOYJH.js";
|
|
59
62
|
import {
|
|
60
63
|
rebuildObservations
|
|
61
64
|
} from "./chunk-DQTCGVFK.js";
|
|
@@ -63,8 +66,11 @@ import {
|
|
|
63
66
|
archiveObservations
|
|
64
67
|
} from "./chunk-YLBE6PLR.js";
|
|
65
68
|
import {
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
getBulkImportSource,
|
|
70
|
+
listBulkImportSources,
|
|
71
|
+
registerBulkImportSource,
|
|
72
|
+
runBulkImportPipeline
|
|
73
|
+
} from "./chunk-HSSERO3E.js";
|
|
68
74
|
import {
|
|
69
75
|
lintOkfDir
|
|
70
76
|
} from "./chunk-UJX4I26O.js";
|
|
@@ -72,11 +78,8 @@ import {
|
|
|
72
78
|
runCompatChecks
|
|
73
79
|
} from "./chunk-2524MOWK.js";
|
|
74
80
|
import {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
registerBulkImportSource,
|
|
78
|
-
runBulkImportPipeline
|
|
79
|
-
} from "./chunk-HSSERO3E.js";
|
|
81
|
+
searchVerifiedEpisodes
|
|
82
|
+
} from "./chunk-IYIPXAIJ.js";
|
|
80
83
|
import {
|
|
81
84
|
getUtilityLearningStatus,
|
|
82
85
|
learnUtilityPromotionWeights
|
|
@@ -85,23 +88,20 @@ import {
|
|
|
85
88
|
getUtilityTelemetryStatus,
|
|
86
89
|
recordUtilityTelemetryEvent
|
|
87
90
|
} from "./chunk-EBA5DA77.js";
|
|
88
|
-
import {
|
|
89
|
-
searchVerifiedEpisodes
|
|
90
|
-
} from "./chunk-AAZEKXUP.js";
|
|
91
91
|
import {
|
|
92
92
|
ThreadingManager
|
|
93
93
|
} from "./chunk-OJP3N7UK.js";
|
|
94
94
|
import {
|
|
95
95
|
promoteSemanticRuleFromMemory
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-JSD7Q7LD.js";
|
|
97
97
|
import {
|
|
98
98
|
searchVerifiedSemanticRules
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-E4LMQTST.js";
|
|
100
100
|
import {
|
|
101
101
|
buildResumeBundleFromState,
|
|
102
102
|
getResumeBundleStatus,
|
|
103
103
|
recordResumeBundle
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-A4OIJYCV.js";
|
|
105
105
|
import {
|
|
106
106
|
getWorkProductLedgerStatus,
|
|
107
107
|
recordWorkProductLedgerEntry,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
} from "./chunk-AM4T6CHX.js";
|
|
113
113
|
import {
|
|
114
114
|
parseXrayCliOptions
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-GWNSKQDA.js";
|
|
116
116
|
import {
|
|
117
117
|
collectPatternMemories,
|
|
118
118
|
explainPatternMemory,
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
runOperatorInventory,
|
|
135
135
|
runOperatorRepair,
|
|
136
136
|
runOperatorSetup
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-EMSYMYXO.js";
|
|
138
138
|
import {
|
|
139
139
|
analyzeSessionIntegrity,
|
|
140
140
|
applySessionRepair,
|
|
@@ -169,20 +169,14 @@ import {
|
|
|
169
169
|
runEvalStoredBaselineCiGate,
|
|
170
170
|
validateEvalBenchmarkPack
|
|
171
171
|
} from "./chunk-4IHBN6WU.js";
|
|
172
|
-
import {
|
|
173
|
-
GraphDashboardServer
|
|
174
|
-
} from "./chunk-YNDLCWXS.js";
|
|
175
172
|
import {
|
|
176
173
|
rebuildMemoryProjection,
|
|
177
174
|
repairMemoryProjection,
|
|
178
175
|
verifyMemoryProjection
|
|
179
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-E3I3NDUP.js";
|
|
180
177
|
import {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
recordCommitmentLedgerEntry,
|
|
184
|
-
transitionCommitmentLedgerEntryState
|
|
185
|
-
} from "./chunk-NHLLKEKK.js";
|
|
178
|
+
GraphDashboardServer
|
|
179
|
+
} from "./chunk-EZ25VE3G.js";
|
|
186
180
|
import {
|
|
187
181
|
buildConnectorRowsFromDefinitions,
|
|
188
182
|
parseConnectorsListOptions,
|
|
@@ -192,21 +186,31 @@ import {
|
|
|
192
186
|
renderConnectorsRunResult,
|
|
193
187
|
runConnectorPollOnce
|
|
194
188
|
} from "./chunk-OKTXM5H4.js";
|
|
189
|
+
import {
|
|
190
|
+
applyCommitmentLedgerLifecycle,
|
|
191
|
+
getCommitmentLedgerStatus,
|
|
192
|
+
recordCommitmentLedgerEntry,
|
|
193
|
+
transitionCommitmentLedgerEntryState
|
|
194
|
+
} from "./chunk-NHLLKEKK.js";
|
|
195
195
|
import {
|
|
196
196
|
chunkContent
|
|
197
197
|
} from "./chunk-6TBIWIAG.js";
|
|
198
198
|
import {
|
|
199
199
|
parseConfig
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-MCMS4VUK.js";
|
|
201
201
|
import {
|
|
202
|
+
applyManagedRegion,
|
|
202
203
|
expandVaultTemplateTokens,
|
|
204
|
+
fileLines,
|
|
205
|
+
headingSurvivesRoundTrip,
|
|
206
|
+
parseAtxHeading,
|
|
203
207
|
resolveVaultNotePath,
|
|
204
208
|
validateRegionName
|
|
205
|
-
} from "./chunk-
|
|
209
|
+
} from "./chunk-XCPNH2MG.js";
|
|
206
210
|
import {
|
|
207
211
|
EngramAccessHttpServer,
|
|
208
212
|
MeetingsInputError
|
|
209
|
-
} from "./chunk-
|
|
213
|
+
} from "./chunk-GMH5QPUU.js";
|
|
210
214
|
import {
|
|
211
215
|
WearablesInputError
|
|
212
216
|
} from "./chunk-V7IZKJI3.js";
|
|
@@ -216,10 +220,13 @@ import {
|
|
|
216
220
|
loadChatSession,
|
|
217
221
|
processChatMessage,
|
|
218
222
|
sessionBelongsToPrincipal
|
|
219
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-N6XTC56E.js";
|
|
224
|
+
import {
|
|
225
|
+
parseDeepRecallMaxSteps
|
|
226
|
+
} from "./chunk-2EYZ32LH.js";
|
|
220
227
|
import {
|
|
221
228
|
EngramAccessService
|
|
222
|
-
} from "./chunk-
|
|
229
|
+
} from "./chunk-S4MJTIPG.js";
|
|
223
230
|
import {
|
|
224
231
|
WorkStorage
|
|
225
232
|
} from "./chunk-MPC7TYTZ.js";
|
|
@@ -234,44 +241,44 @@ import {
|
|
|
234
241
|
} from "./chunk-P5FPO2BR.js";
|
|
235
242
|
import {
|
|
236
243
|
journalPath
|
|
237
|
-
} from "./chunk-
|
|
244
|
+
} from "./chunk-JMWUPUE6.js";
|
|
238
245
|
import {
|
|
239
246
|
parseRecallExplainFormat,
|
|
240
247
|
renderRecallExplain,
|
|
241
248
|
renderXray
|
|
242
|
-
} from "./chunk-
|
|
249
|
+
} from "./chunk-AUSRUOMQ.js";
|
|
243
250
|
import {
|
|
244
251
|
readAggregateExtractionWatermark
|
|
245
|
-
} from "./chunk-
|
|
252
|
+
} from "./chunk-563X6JJX.js";
|
|
246
253
|
import {
|
|
247
254
|
getObjectiveStateStoreStatus
|
|
248
255
|
} from "./chunk-HM7RHKS4.js";
|
|
249
256
|
import {
|
|
250
257
|
searchHarmonicRetrieval
|
|
251
|
-
} from "./chunk-
|
|
258
|
+
} from "./chunk-AKABVXFS.js";
|
|
259
|
+
import {
|
|
260
|
+
listMemoryGovernanceRuns,
|
|
261
|
+
readMemoryGovernanceRunArtifact,
|
|
262
|
+
restoreMemoryGovernanceRun,
|
|
263
|
+
runMemoryGovernance
|
|
264
|
+
} from "./chunk-KLUC2GSG.js";
|
|
252
265
|
import {
|
|
253
266
|
listNamespaces,
|
|
254
267
|
runNamespaceMigration,
|
|
255
268
|
verifyNamespaces
|
|
256
|
-
} from "./chunk-
|
|
269
|
+
} from "./chunk-W7UV2ZCA.js";
|
|
257
270
|
import {
|
|
258
271
|
getCueAnchorStoreStatus
|
|
259
272
|
} from "./chunk-BMWN7B3Y.js";
|
|
260
273
|
import {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
restoreMemoryGovernanceRun,
|
|
264
|
-
runMemoryGovernance
|
|
265
|
-
} from "./chunk-JTQR6L2N.js";
|
|
274
|
+
resolveNamespaceChildRoot
|
|
275
|
+
} from "./chunk-3UXOZBHV.js";
|
|
266
276
|
import {
|
|
267
277
|
analyzeGraphHealth
|
|
268
278
|
} from "./chunk-5FAGCOZD.js";
|
|
269
|
-
import {
|
|
270
|
-
resolveNamespaceChildRoot
|
|
271
|
-
} from "./chunk-3UXOZBHV.js";
|
|
272
279
|
import {
|
|
273
280
|
meetingIdDate
|
|
274
|
-
} from "./chunk-
|
|
281
|
+
} from "./chunk-ICN37XHG.js";
|
|
275
282
|
import {
|
|
276
283
|
isValidTranscriptDate
|
|
277
284
|
} from "./chunk-UHVXE24Y.js";
|
|
@@ -282,7 +289,7 @@ import {
|
|
|
282
289
|
import {
|
|
283
290
|
RECALL_DISCLOSURE_LEVELS,
|
|
284
291
|
isRecallDisclosure
|
|
285
|
-
} from "./chunk-
|
|
292
|
+
} from "./chunk-WN2OXGGH.js";
|
|
286
293
|
import {
|
|
287
294
|
normalizeProjectionPreview
|
|
288
295
|
} from "./chunk-SCU65EZI.js";
|
|
@@ -303,10 +310,6 @@ import {
|
|
|
303
310
|
import {
|
|
304
311
|
renderExtractionLivenessStats
|
|
305
312
|
} from "./chunk-3SG4FGDV.js";
|
|
306
|
-
import {
|
|
307
|
-
activityDateInTimezone,
|
|
308
|
-
isValidActivityDate
|
|
309
|
-
} from "./chunk-353C5UNV.js";
|
|
310
313
|
import {
|
|
311
314
|
SKILL_FILE_NAME,
|
|
312
315
|
SKILL_IMPORT_SOURCE,
|
|
@@ -321,6 +324,10 @@ import {
|
|
|
321
324
|
import {
|
|
322
325
|
buildProcedurePersistBody
|
|
323
326
|
} from "./chunk-QDW3E4RD.js";
|
|
327
|
+
import {
|
|
328
|
+
activityDateInTimezone,
|
|
329
|
+
isValidActivityDate
|
|
330
|
+
} from "./chunk-353C5UNV.js";
|
|
324
331
|
import {
|
|
325
332
|
getCausalTrajectoryStoreStatus
|
|
326
333
|
} from "./chunk-L63GFNKL.js";
|
|
@@ -328,6 +335,11 @@ import {
|
|
|
328
335
|
padEndDisplay,
|
|
329
336
|
truncateGraphemeSafe
|
|
330
337
|
} from "./chunk-PJKTFXE2.js";
|
|
338
|
+
import {
|
|
339
|
+
buildActionConfidenceInputFromOptions,
|
|
340
|
+
evaluateActionConfidence,
|
|
341
|
+
renderActionConfidenceText
|
|
342
|
+
} from "./chunk-Z2YFLXHU.js";
|
|
331
343
|
import {
|
|
332
344
|
writeFileAtomically
|
|
333
345
|
} from "./chunk-AW4QUFQF.js";
|
|
@@ -340,7 +352,7 @@ import {
|
|
|
340
352
|
} from "./chunk-C7HJ3NEI.js";
|
|
341
353
|
import {
|
|
342
354
|
isSupportPassportPrivateMemory
|
|
343
|
-
} from "./chunk-
|
|
355
|
+
} from "./chunk-PWPIERBM.js";
|
|
344
356
|
import {
|
|
345
357
|
inferMemoryStatus,
|
|
346
358
|
isArchivedMemoryPath,
|
|
@@ -367,11 +379,6 @@ import {
|
|
|
367
379
|
resolveSecurityCapabilities,
|
|
368
380
|
resolveUtilityLearningCapabilities
|
|
369
381
|
} from "./chunk-JUOZ62Y7.js";
|
|
370
|
-
import {
|
|
371
|
-
buildActionConfidenceInputFromOptions,
|
|
372
|
-
evaluateActionConfidence,
|
|
373
|
-
renderActionConfidenceText
|
|
374
|
-
} from "./chunk-Z2YFLXHU.js";
|
|
375
382
|
import {
|
|
376
383
|
expandTildePath
|
|
377
384
|
} from "./chunk-6KH5NLQS.js";
|
|
@@ -393,9 +400,9 @@ import {
|
|
|
393
400
|
} from "./chunk-3WCASNQZ.js";
|
|
394
401
|
|
|
395
402
|
// src/cli.ts
|
|
396
|
-
import
|
|
403
|
+
import path7 from "path";
|
|
397
404
|
import { access, lstat as lstat3, readFile as readFile2, readdir as readdir3, realpath as realpath3, unlink } from "fs/promises";
|
|
398
|
-
import { createHash as
|
|
405
|
+
import { createHash as createHash2 } from "crypto";
|
|
399
406
|
|
|
400
407
|
// src/wearables/registry.ts
|
|
401
408
|
var registrations = /* @__PURE__ */ new Map();
|
|
@@ -1201,32 +1208,28 @@ function registerMeetingsCommands(cmd, orchestrator) {
|
|
|
1201
1208
|
}
|
|
1202
1209
|
|
|
1203
1210
|
// src/cli/deep-recall-commands.ts
|
|
1204
|
-
function parseMaxSteps(raw) {
|
|
1205
|
-
if (raw === void 0 || raw === null) return void 0;
|
|
1206
|
-
const value = typeof raw === "string" ? Number(raw) : raw;
|
|
1207
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
|
|
1208
|
-
throw new Error(`--max-steps must be a non-negative integer; got ${JSON.stringify(raw)}`);
|
|
1209
|
-
}
|
|
1210
|
-
return value;
|
|
1211
|
-
}
|
|
1212
1211
|
function registerDeepRecallCommands(cmd, orchestrator) {
|
|
1213
|
-
cmd.command("deep-recall <query>").description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)").option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)").option("--namespace <ns>", "Namespace to scope the retrieval to").option("--json", "JSON output (full entries + trace)").action(async (...args) => {
|
|
1212
|
+
cmd.command("deep-recall <query>").description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)").option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)").option("--namespace <ns>", "Namespace to scope the retrieval to").option("--session-key <key>", "Session key for principal/namespace resolution (namespaces enabled)").option("--principal <principal>", "Authenticated principal for namespace authorization (namespaces enabled)").option("--json", "JSON output (full entries + trace)").action(async (...args) => {
|
|
1214
1213
|
const query = String(args[0] ?? "");
|
|
1215
1214
|
const options = args[args.length - 1] ?? {};
|
|
1216
1215
|
let maxSteps;
|
|
1217
1216
|
try {
|
|
1218
|
-
maxSteps =
|
|
1217
|
+
maxSteps = parseDeepRecallMaxSteps(options.maxSteps);
|
|
1219
1218
|
} catch (err) {
|
|
1220
1219
|
console.error(err instanceof Error ? err.message : String(err));
|
|
1221
1220
|
process.exitCode = 1;
|
|
1222
1221
|
return;
|
|
1223
1222
|
}
|
|
1223
|
+
const sessionKey = typeof options.sessionKey === "string" && options.sessionKey.trim().length > 0 ? options.sessionKey.trim() : void 0;
|
|
1224
|
+
const principal = typeof options.principal === "string" && options.principal.trim().length > 0 ? options.principal.trim() : void 0;
|
|
1224
1225
|
const service = new EngramAccessService(orchestrator);
|
|
1225
1226
|
try {
|
|
1226
1227
|
const result = await service.deepRecall({
|
|
1227
1228
|
query,
|
|
1228
1229
|
...maxSteps !== void 0 ? { maxSteps } : {},
|
|
1229
|
-
...typeof options.namespace === "string" && options.namespace.length > 0 ? { namespace: options.namespace } : {}
|
|
1230
|
+
...typeof options.namespace === "string" && options.namespace.length > 0 ? { namespace: options.namespace } : {},
|
|
1231
|
+
...sessionKey !== void 0 ? { sessionKey } : {},
|
|
1232
|
+
...principal !== void 0 ? { authenticatedPrincipal: principal } : {}
|
|
1230
1233
|
});
|
|
1231
1234
|
if (options.json === true) {
|
|
1232
1235
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -2082,215 +2085,122 @@ function registerCreationLedgerCommands(cmd, orchestrator) {
|
|
|
2082
2085
|
}
|
|
2083
2086
|
|
|
2084
2087
|
// src/activity/timeline/publish-cli.ts
|
|
2085
|
-
import { existsSync, readFileSync as
|
|
2088
|
+
import { existsSync, readFileSync as readFileSync3 } from "fs";
|
|
2086
2089
|
|
|
2087
2090
|
// src/activity/vault-publisher.ts
|
|
2088
|
-
import { createHash as createHash2, randomBytes as randomBytes2 } from "crypto";
|
|
2089
|
-
import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync3, realpathSync, renameSync as renameSync2, statSync as statSync3, unlinkSync as unlinkSync3, writeFileSync as writeFileSync2 } from "fs";
|
|
2090
|
-
import path5 from "path";
|
|
2091
|
-
|
|
2092
|
-
// src/activity/vault-publish.ts
|
|
2093
2091
|
import { createHash, randomBytes } from "crypto";
|
|
2094
|
-
import { readFileSync as readFileSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
|
|
2092
|
+
import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync2, realpathSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
|
|
2095
2093
|
import path4 from "path";
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2094
|
+
|
|
2095
|
+
// src/activity/vault-frontmatter.ts
|
|
2096
|
+
function assertNoNewlineKey(key) {
|
|
2097
|
+
if (key.includes("\n") || key.includes("\r")) {
|
|
2098
|
+
throw new RangeError("Vault frontmatter keys must not contain newlines.");
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
function applyVaultFrontmatter(existingYaml, updates) {
|
|
2102
|
+
const entries = Object.entries(updates);
|
|
2103
|
+
if (entries.length === 0) return existingYaml;
|
|
2104
|
+
const merged = /* @__PURE__ */ new Map();
|
|
2105
|
+
for (const line of existingYaml.split("\n")) {
|
|
2106
|
+
const idx = line.indexOf(":");
|
|
2107
|
+
if (idx === -1) continue;
|
|
2108
|
+
const key = line.slice(0, idx).trim();
|
|
2109
|
+
if (key.length === 0) continue;
|
|
2110
|
+
assertNoNewlineKey(key);
|
|
2111
|
+
merged.set(key, line.slice(idx + 1).trim());
|
|
2112
2112
|
}
|
|
2113
|
-
|
|
2114
|
-
|
|
2113
|
+
for (const [key, value] of entries) {
|
|
2114
|
+
assertNoNewlineKey(key);
|
|
2115
|
+
merged.set(key, value);
|
|
2115
2116
|
}
|
|
2116
|
-
|
|
2117
|
-
return {
|
|
2118
|
-
ok: true,
|
|
2119
|
-
text: `${fileText.slice(0, startRow.start + startRow.line.length)}${eol}${body}${eol}${fileText.slice(endRow.start)}`
|
|
2120
|
-
};
|
|
2117
|
+
return [...merged.keys()].sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map((key) => `${key}: ${merged.get(key)}`).join("\n");
|
|
2121
2118
|
}
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2119
|
+
var VAULT_PROPERTY_KEY_MAX_CHARS = 64;
|
|
2120
|
+
var VAULT_PROPERTY_SCALAR_MAX_CHARS = 200;
|
|
2121
|
+
var VAULT_PROPERTY_LIST_MAX_ITEMS = 20;
|
|
2122
|
+
var VAULT_PROPERTY_TOTAL_MAX_CHARS = 2e3;
|
|
2123
|
+
var CONTROL_RE = /[\u0000-\u001f\u007f-\u009f]/;
|
|
2124
|
+
var INDICATOR_CHARS = ",[]{}#&*!|>'\"%@`";
|
|
2125
|
+
var INJECTION_RE = /: | #/;
|
|
2126
|
+
var FLOW_ITEM_DELIM_RE = /[[\]{},]/;
|
|
2127
|
+
function renderVaultPropertyValue(value) {
|
|
2128
|
+
return typeof value === "string" ? value : `[${value.join(", ")}]`;
|
|
2129
|
+
}
|
|
2130
|
+
function hasLeadingYamlIndicator(text) {
|
|
2131
|
+
const first = text[0];
|
|
2132
|
+
if (first === void 0) return false;
|
|
2133
|
+
return INDICATOR_CHARS.includes(first) || "-?:".includes(first) && text[1] === " ";
|
|
2134
|
+
}
|
|
2135
|
+
function validateScalar(value, label) {
|
|
2136
|
+
if (value.length === 0) {
|
|
2137
|
+
return { ok: false, reason: `${label} must not be empty` };
|
|
2132
2138
|
}
|
|
2133
|
-
if (
|
|
2134
|
-
|
|
2135
|
-
return { ok: false, reason: "duplicate_heading", lines: hits.map((hit2) => hit2.line), text: fileText };
|
|
2139
|
+
if (value.length > VAULT_PROPERTY_SCALAR_MAX_CHARS) {
|
|
2140
|
+
return { ok: false, reason: `${label} exceeds ${VAULT_PROPERTY_SCALAR_MAX_CHARS} characters` };
|
|
2136
2141
|
}
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
for (const row of rows) {
|
|
2140
|
-
if (row.start < hit.next || row.fenced) continue;
|
|
2141
|
-
const heading = parseAtxHeading(row.line);
|
|
2142
|
-
if (heading && heading.level <= hit.level) {
|
|
2143
|
-
sectionEnd = row.start;
|
|
2144
|
-
break;
|
|
2145
|
-
}
|
|
2142
|
+
if (CONTROL_RE.test(value)) {
|
|
2143
|
+
return { ok: false, reason: `${label} must not contain control characters or line breaks` };
|
|
2146
2144
|
}
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
const rows = fileLines(content);
|
|
2153
|
-
let out = "";
|
|
2154
|
-
let cursor = 0;
|
|
2155
|
-
for (const row of rows) {
|
|
2156
|
-
const heading = row.fenced ? null : parseAtxHeading(row.line);
|
|
2157
|
-
if (heading === null) continue;
|
|
2158
|
-
const level = Math.min(owningLevel + heading.level, 6);
|
|
2159
|
-
const replacement = level > owningLevel ? `${"#".repeat(level)} ${heading.text}` : `**${heading.text}**`;
|
|
2160
|
-
out += content.slice(cursor, row.start) + replacement;
|
|
2161
|
-
cursor = row.start + row.line.length;
|
|
2145
|
+
if (value !== value.trim()) {
|
|
2146
|
+
return { ok: false, reason: `${label} must not carry leading or trailing whitespace` };
|
|
2147
|
+
}
|
|
2148
|
+
if (hasLeadingYamlIndicator(value)) {
|
|
2149
|
+
return { ok: false, reason: `${label} must be a plain scalar (leading "${value[0]}" changes its YAML shape)` };
|
|
2162
2150
|
}
|
|
2163
|
-
|
|
2151
|
+
if (INJECTION_RE.test(value)) {
|
|
2152
|
+
return { ok: false, reason: `${label} must not contain ": " or " #"` };
|
|
2153
|
+
}
|
|
2154
|
+
if (value.endsWith(":")) {
|
|
2155
|
+
return { ok: false, reason: `${label} must not end with ":"` };
|
|
2156
|
+
}
|
|
2157
|
+
return { ok: true };
|
|
2164
2158
|
}
|
|
2165
|
-
function
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
let next = i;
|
|
2181
|
-
if (fileText[i] === "\r" && fileText[i + 1] === "\n") next = i + 2;
|
|
2182
|
-
else if (fileText[i] === "\n" || fileText[i] === "\r") next = i + 1;
|
|
2183
|
-
else next = fileText.length;
|
|
2184
|
-
const line = fileText.slice(start, i);
|
|
2185
|
-
const indentedCode = indentColumn(line) >= 4;
|
|
2186
|
-
const run = indentedCode ? null : fenceRun(line);
|
|
2187
|
-
let fenced;
|
|
2188
|
-
if (fence === null) {
|
|
2189
|
-
if (run !== null && !(run.char === "`" && run.info.includes("`"))) {
|
|
2190
|
-
fence = { char: run.char, len: run.len };
|
|
2191
|
-
}
|
|
2192
|
-
fenced = fence !== null || indentedCode;
|
|
2159
|
+
function validateVaultProperties(entries) {
|
|
2160
|
+
let total = 0;
|
|
2161
|
+
for (const { key, value } of entries) {
|
|
2162
|
+
if (key.length === 0) {
|
|
2163
|
+
return { ok: false, reason: "property keys must not be empty" };
|
|
2164
|
+
}
|
|
2165
|
+
if (key.length > VAULT_PROPERTY_KEY_MAX_CHARS) {
|
|
2166
|
+
return { ok: false, reason: `property key exceeds ${VAULT_PROPERTY_KEY_MAX_CHARS} characters` };
|
|
2167
|
+
}
|
|
2168
|
+
if (CONTROL_RE.test(key) || key !== key.trim() || key.includes(":") || key.includes("#") || hasLeadingYamlIndicator(key)) {
|
|
2169
|
+
return { ok: false, reason: `property key ${JSON.stringify(key)} is not a plain mapping key` };
|
|
2170
|
+
}
|
|
2171
|
+
if (typeof value === "string") {
|
|
2172
|
+
const scalar = validateScalar(value, `property ${key}`);
|
|
2173
|
+
if (!scalar.ok) return scalar;
|
|
2193
2174
|
} else {
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2175
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
2176
|
+
return { ok: false, reason: `property ${key} must be a scalar string or a non-empty list of scalar strings` };
|
|
2177
|
+
}
|
|
2178
|
+
if (value.length > VAULT_PROPERTY_LIST_MAX_ITEMS) {
|
|
2179
|
+
return { ok: false, reason: `property ${key} exceeds ${VAULT_PROPERTY_LIST_MAX_ITEMS} list items` };
|
|
2180
|
+
}
|
|
2181
|
+
for (const item of value) {
|
|
2182
|
+
if (typeof item !== "string") {
|
|
2183
|
+
return { ok: false, reason: `property ${key} must be a scalar string or a list of scalar strings` };
|
|
2184
|
+
}
|
|
2185
|
+
const scalar = validateScalar(item, `property ${key} list item`);
|
|
2186
|
+
if (!scalar.ok) return scalar;
|
|
2187
|
+
if (FLOW_ITEM_DELIM_RE.test(item)) {
|
|
2188
|
+
return {
|
|
2189
|
+
ok: false,
|
|
2190
|
+
reason: `property ${key} list item must not contain flow delimiters "[", "]", "{", "}", or ","`
|
|
2191
|
+
};
|
|
2192
|
+
}
|
|
2197
2193
|
}
|
|
2198
2194
|
}
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
}
|
|
2205
|
-
function indentColumn(line) {
|
|
2206
|
-
let col = 0;
|
|
2207
|
-
for (let i = 0; i < line.length; i += 1) {
|
|
2208
|
-
const ch = line[i];
|
|
2209
|
-
if (ch === " ") col += 1;
|
|
2210
|
-
else if (ch === " ") col += 4 - col % 4;
|
|
2211
|
-
else break;
|
|
2212
|
-
}
|
|
2213
|
-
return col;
|
|
2214
|
-
}
|
|
2215
|
-
function fenceRun(line) {
|
|
2216
|
-
const body = line.trimStart();
|
|
2217
|
-
const char = body[0];
|
|
2218
|
-
if (char !== "`" && char !== "~") return null;
|
|
2219
|
-
let len = 0;
|
|
2220
|
-
while (len < body.length && body[len] === char) len++;
|
|
2221
|
-
if (len < 3) return null;
|
|
2222
|
-
return { char, len, info: body.slice(len).trim() };
|
|
2223
|
-
}
|
|
2224
|
-
function parseAtxHeading(line) {
|
|
2225
|
-
let at = 0;
|
|
2226
|
-
let indent = 0;
|
|
2227
|
-
while (at < line.length && (line[at] === " " || line[at] === " ")) {
|
|
2228
|
-
indent += line[at] === " " ? 1 : 4 - indent % 4;
|
|
2229
|
-
if (indent >= 4) return null;
|
|
2230
|
-
at += 1;
|
|
2231
|
-
}
|
|
2232
|
-
let level = 0;
|
|
2233
|
-
while (level < 6 && line[at + level] === "#") level++;
|
|
2234
|
-
if (level === 0) return null;
|
|
2235
|
-
const after = line[at + level];
|
|
2236
|
-
if (after !== " " && after !== " ") return null;
|
|
2237
|
-
let start = at + level + 1;
|
|
2238
|
-
let end = line.length;
|
|
2239
|
-
while (start < end && (line[start] === " " || line[start] === " ")) start++;
|
|
2240
|
-
while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
|
|
2241
|
-
let hashEnd = end;
|
|
2242
|
-
while (hashEnd > start && line[hashEnd - 1] === "#") hashEnd--;
|
|
2243
|
-
if (hashEnd < end && hashEnd > start && (line[hashEnd - 1] === " " || line[end - 1] === " ")) {
|
|
2244
|
-
end = hashEnd;
|
|
2245
|
-
while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
|
|
2246
|
-
}
|
|
2247
|
-
return { level, text: line.slice(start, end) };
|
|
2248
|
-
}
|
|
2249
|
-
function publishVaultRegion(input) {
|
|
2250
|
-
const vault = expandTildePath(input.vaultPath);
|
|
2251
|
-
try {
|
|
2252
|
-
if (!statSync2(vault).isDirectory()) return { ok: false, reason: "not_directory" };
|
|
2253
|
-
} catch {
|
|
2254
|
-
return { ok: false, reason: "not_directory" };
|
|
2255
|
-
}
|
|
2256
|
-
if (input.relativeFile.length === 0 || path4.isAbsolute(input.relativeFile)) {
|
|
2257
|
-
return { ok: false, reason: "missing_file" };
|
|
2258
|
-
}
|
|
2259
|
-
const root = path4.resolve(vault);
|
|
2260
|
-
const dest = path4.resolve(root, input.relativeFile);
|
|
2261
|
-
const rel = path4.relative(root, dest);
|
|
2262
|
-
if (rel.length === 0 || rel.startsWith("..") || path4.isAbsolute(rel)) {
|
|
2263
|
-
return { ok: false, reason: "missing_file" };
|
|
2264
|
-
}
|
|
2265
|
-
let existing;
|
|
2266
|
-
try {
|
|
2267
|
-
if (!statSync2(dest).isFile()) return { ok: false, reason: "missing_file" };
|
|
2268
|
-
existing = readFileSync2(dest, "utf8");
|
|
2269
|
-
} catch (err) {
|
|
2270
|
-
if (err.code === "ENOENT") return { ok: false, reason: "missing_file" };
|
|
2271
|
-
throw err;
|
|
2272
|
-
}
|
|
2273
|
-
const applied = applyManagedRegion(existing, {
|
|
2274
|
-
strategy: "markers",
|
|
2275
|
-
name: input.name,
|
|
2276
|
-
content: input.content
|
|
2277
|
-
});
|
|
2278
|
-
if (!applied.ok) return { ok: false, reason: "no_marker" };
|
|
2279
|
-
const prevHash = createHash("sha256").update(existing, "utf8").digest("hex");
|
|
2280
|
-
const nextHash = createHash("sha256").update(applied.text, "utf8").digest("hex");
|
|
2281
|
-
if (prevHash === nextHash) return { ok: true, status: "unchanged" };
|
|
2282
|
-
const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
|
|
2283
|
-
writeFileSync(tmpPath, applied.text);
|
|
2284
|
-
try {
|
|
2285
|
-
renameSync(tmpPath, dest);
|
|
2286
|
-
} catch (renameErr) {
|
|
2287
|
-
try {
|
|
2288
|
-
unlinkSync2(tmpPath);
|
|
2289
|
-
} catch {
|
|
2195
|
+
total += key.length + 2 + renderVaultPropertyValue(value).length;
|
|
2196
|
+
if (total > VAULT_PROPERTY_TOTAL_MAX_CHARS) {
|
|
2197
|
+
return {
|
|
2198
|
+
ok: false,
|
|
2199
|
+
reason: `frontmatter properties exceed the ${VAULT_PROPERTY_TOTAL_MAX_CHARS}-character total`
|
|
2200
|
+
};
|
|
2290
2201
|
}
|
|
2291
|
-
throw renameErr;
|
|
2292
2202
|
}
|
|
2293
|
-
return { ok: true
|
|
2203
|
+
return { ok: true };
|
|
2294
2204
|
}
|
|
2295
2205
|
|
|
2296
2206
|
// src/activity/vault-insert.ts
|
|
@@ -2420,6 +2330,32 @@ function publishVaultNote(input) {
|
|
|
2420
2330
|
throw new RangeError(`Section name ${JSON.stringify(section.name)} is not a valid region name.`);
|
|
2421
2331
|
}
|
|
2422
2332
|
}
|
|
2333
|
+
const headingsToProbe = strategy === "heading" ? input.sections.map((section) => section.name) : [];
|
|
2334
|
+
if (typeof input.insertUnderHeading === "string" && input.insertUnderHeading.length > 0) {
|
|
2335
|
+
headingsToProbe.push(input.insertUnderHeading);
|
|
2336
|
+
}
|
|
2337
|
+
for (const headingName of headingsToProbe) {
|
|
2338
|
+
if (!headingSurvivesRoundTrip(headingName)) {
|
|
2339
|
+
throw new RangeError(
|
|
2340
|
+
`Section name ${JSON.stringify(headingName)} is not matchable by the heading parser; it must survive a render-and-parse round trip.`
|
|
2341
|
+
);
|
|
2342
|
+
}
|
|
2343
|
+
}
|
|
2344
|
+
const propertyEntries = [];
|
|
2345
|
+
for (const section of input.sections) {
|
|
2346
|
+
if (!section.properties) continue;
|
|
2347
|
+
for (const key of Object.keys(section.properties)) {
|
|
2348
|
+
const value = section.properties[key];
|
|
2349
|
+
if (value === void 0) continue;
|
|
2350
|
+
propertyEntries.push({ key: `${prefix}${key}`, value });
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
if (propertyEntries.length > 0) {
|
|
2354
|
+
const checked = validateVaultProperties(propertyEntries);
|
|
2355
|
+
if (!checked.ok) {
|
|
2356
|
+
throw new RangeError(`Vault publish properties rejected: ${checked.reason}.`);
|
|
2357
|
+
}
|
|
2358
|
+
}
|
|
2423
2359
|
const relative = resolveVaultNotePath(input.notePathTemplate, input.date);
|
|
2424
2360
|
const result = publishRelative(input, relative, { strategy, propertiesMode, prefix });
|
|
2425
2361
|
return summarizeVaultPublish(result);
|
|
@@ -2432,10 +2368,10 @@ function publishRelative(input, relative, opts) {
|
|
|
2432
2368
|
} catch {
|
|
2433
2369
|
return refuse(relative, "error", "not_directory");
|
|
2434
2370
|
}
|
|
2435
|
-
const root =
|
|
2436
|
-
const dest =
|
|
2437
|
-
const lexical =
|
|
2438
|
-
if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${
|
|
2371
|
+
const root = path4.resolve(vault);
|
|
2372
|
+
const dest = path4.resolve(root, relative);
|
|
2373
|
+
const lexical = path4.relative(root, dest);
|
|
2374
|
+
if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${path4.sep}`) || path4.isAbsolute(lexical)) {
|
|
2439
2375
|
return refuse(relative, "error", "path_escape");
|
|
2440
2376
|
}
|
|
2441
2377
|
if (!containedBySymlinks(root, dest)) {
|
|
@@ -2447,14 +2383,14 @@ function publishRelative(input, relative, opts) {
|
|
|
2447
2383
|
if (lstatSync(dest).isSymbolicLink()) {
|
|
2448
2384
|
return refuse(relative, "error", "symlinked_note");
|
|
2449
2385
|
}
|
|
2450
|
-
const st =
|
|
2386
|
+
const st = statSync2(dest);
|
|
2451
2387
|
if (st.isFile()) {
|
|
2452
|
-
currentText =
|
|
2388
|
+
currentText = readFileSync2(dest, "utf8");
|
|
2453
2389
|
expected = {
|
|
2454
2390
|
ino: st.ino,
|
|
2455
2391
|
mtimeMs: st.mtimeMs,
|
|
2456
2392
|
size: st.size,
|
|
2457
|
-
sha256:
|
|
2393
|
+
sha256: createHash("sha256").update(currentText, "utf8").digest("hex")
|
|
2458
2394
|
};
|
|
2459
2395
|
} else return refuse(relative, "error", "not_a_file");
|
|
2460
2396
|
} catch (err) {
|
|
@@ -2463,13 +2399,13 @@ function publishRelative(input, relative, opts) {
|
|
|
2463
2399
|
let created = false;
|
|
2464
2400
|
if (currentText === null) {
|
|
2465
2401
|
if (input.createMissingNotes === true && typeof input.noteTemplate === "string" && input.noteTemplate.length > 0) {
|
|
2466
|
-
const templatePath =
|
|
2467
|
-
const templateRel =
|
|
2468
|
-
if (templateRel === ".." || templateRel.startsWith(`..${
|
|
2402
|
+
const templatePath = path4.resolve(root, input.noteTemplate);
|
|
2403
|
+
const templateRel = path4.relative(root, templatePath);
|
|
2404
|
+
if (templateRel === ".." || templateRel.startsWith(`..${path4.sep}`) || path4.isAbsolute(templateRel) || templateRel.length === 0 || !containedBySymlinks(root, templatePath)) {
|
|
2469
2405
|
return refuse(relative, "error", "template_escape");
|
|
2470
2406
|
}
|
|
2471
2407
|
try {
|
|
2472
|
-
const templateText =
|
|
2408
|
+
const templateText = readFileSync2(templatePath, "utf8");
|
|
2473
2409
|
currentText = expandVaultTemplateTokens(templateText, input.date);
|
|
2474
2410
|
if (!currentText.endsWith("\n")) currentText += "\n";
|
|
2475
2411
|
created = true;
|
|
@@ -2516,8 +2452,8 @@ function publishRelative(input, relative, opts) {
|
|
|
2516
2452
|
text = merged.text;
|
|
2517
2453
|
}
|
|
2518
2454
|
}
|
|
2519
|
-
const prevHash =
|
|
2520
|
-
const nextHash =
|
|
2455
|
+
const prevHash = createHash("sha256").update(original, "utf8").digest("hex");
|
|
2456
|
+
const nextHash = createHash("sha256").update(text, "utf8").digest("hex");
|
|
2521
2457
|
if (prevHash === nextHash) {
|
|
2522
2458
|
return withSkipped([{ path: relative, outcome: "unchanged" }]);
|
|
2523
2459
|
}
|
|
@@ -2526,7 +2462,7 @@ function publishRelative(input, relative, opts) {
|
|
|
2526
2462
|
}
|
|
2527
2463
|
if (created) {
|
|
2528
2464
|
try {
|
|
2529
|
-
mkdirSync(
|
|
2465
|
+
mkdirSync(path4.dirname(dest), { recursive: true });
|
|
2530
2466
|
} catch {
|
|
2531
2467
|
return refuse(relative, "error", "mkdir_failed");
|
|
2532
2468
|
}
|
|
@@ -2547,7 +2483,7 @@ function decorate(section, prefixed, mode) {
|
|
|
2547
2483
|
const parts = [section.content];
|
|
2548
2484
|
if (prefixed !== void 0 && mode === "dataview-inline") {
|
|
2549
2485
|
for (const [key, value] of Object.entries(prefixed)) {
|
|
2550
|
-
parts.push(`${key}:: ${value}`);
|
|
2486
|
+
parts.push(`${key}:: ${renderVaultPropertyValue(value)}`);
|
|
2551
2487
|
}
|
|
2552
2488
|
}
|
|
2553
2489
|
if (section.provenance !== void 0) {
|
|
@@ -2641,17 +2577,21 @@ function frontmatterUpdates(sections, prefix) {
|
|
|
2641
2577
|
function mergeFrontmatterKeys(noteText, updates) {
|
|
2642
2578
|
const entries = Object.entries(updates);
|
|
2643
2579
|
if (entries.length === 0) return { ok: true, text: noteText };
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
}
|
|
2580
|
+
const checked = validateVaultProperties(entries.map(([key, value]) => ({ key, value })));
|
|
2581
|
+
if (!checked.ok) {
|
|
2582
|
+
return { ok: false, reason: "invalid_property" };
|
|
2648
2583
|
}
|
|
2649
2584
|
const eol = noteText.includes("\r\n") ? "\r\n" : "\n";
|
|
2650
2585
|
const openRe = /^---\r?$/;
|
|
2651
2586
|
const firstLineEnd = noteText.indexOf("\n");
|
|
2652
2587
|
const firstLine = firstLineEnd === -1 ? noteText : noteText.slice(0, firstLineEnd);
|
|
2653
2588
|
if (!openRe.test(firstLine)) {
|
|
2654
|
-
const block = [
|
|
2589
|
+
const block = [
|
|
2590
|
+
"---",
|
|
2591
|
+
...entries.map(([key, value]) => `${key}: ${renderVaultPropertyValue(value)}`),
|
|
2592
|
+
"---",
|
|
2593
|
+
""
|
|
2594
|
+
].join(eol);
|
|
2655
2595
|
return { ok: true, text: block + eol + noteText };
|
|
2656
2596
|
}
|
|
2657
2597
|
const lines = noteText.split(eol);
|
|
@@ -2674,13 +2614,13 @@ function mergeFrontmatterKeys(noteText, updates) {
|
|
|
2674
2614
|
if (rawKey !== rawKey.trimStart()) continue;
|
|
2675
2615
|
const key = rawKey.trimEnd();
|
|
2676
2616
|
if (!pending.has(key)) continue;
|
|
2677
|
-
lines[i] = `${rawKey}: ${pending.get(key)}`;
|
|
2617
|
+
lines[i] = `${rawKey}: ${renderVaultPropertyValue(pending.get(key))}`;
|
|
2678
2618
|
pending.delete(key);
|
|
2679
2619
|
}
|
|
2680
2620
|
const insertAt = closeIdx;
|
|
2681
2621
|
const added = [];
|
|
2682
2622
|
for (const [key, value] of pending.entries()) {
|
|
2683
|
-
added.push(`${key}: ${value}`);
|
|
2623
|
+
added.push(`${key}: ${renderVaultPropertyValue(value)}`);
|
|
2684
2624
|
}
|
|
2685
2625
|
lines.splice(insertAt, 0, ...added);
|
|
2686
2626
|
return { ok: true, text: lines.join(eol) };
|
|
@@ -2690,13 +2630,13 @@ function containedBySymlinks(root, dest) {
|
|
|
2690
2630
|
let probe = dest;
|
|
2691
2631
|
for (; ; ) {
|
|
2692
2632
|
try {
|
|
2693
|
-
if (lstatSync(probe).isSymbolicLink() ||
|
|
2633
|
+
if (lstatSync(probe).isSymbolicLink() || statSync2(probe).isFile() || statSync2(probe).isDirectory()) {
|
|
2694
2634
|
const real = realpathSync(probe);
|
|
2695
|
-
return real === realRoot || real.startsWith(`${realRoot}${
|
|
2635
|
+
return real === realRoot || real.startsWith(`${realRoot}${path4.sep}`);
|
|
2696
2636
|
}
|
|
2697
2637
|
} catch {
|
|
2698
2638
|
}
|
|
2699
|
-
const parent =
|
|
2639
|
+
const parent = path4.dirname(probe);
|
|
2700
2640
|
if (parent === probe) return false;
|
|
2701
2641
|
probe = parent;
|
|
2702
2642
|
}
|
|
@@ -2706,11 +2646,11 @@ function setVaultPublisherTestHooks(hooks) {
|
|
|
2706
2646
|
vaultPublisherTestHooks = hooks;
|
|
2707
2647
|
}
|
|
2708
2648
|
function writeAtomic(dest, text, expect) {
|
|
2709
|
-
const tmpPath =
|
|
2710
|
-
|
|
2649
|
+
const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
|
|
2650
|
+
writeFileSync(tmpPath, text);
|
|
2711
2651
|
let prev = null;
|
|
2712
2652
|
try {
|
|
2713
|
-
prev =
|
|
2653
|
+
prev = statSync2(dest);
|
|
2714
2654
|
} catch {
|
|
2715
2655
|
prev = null;
|
|
2716
2656
|
}
|
|
@@ -2724,30 +2664,30 @@ function writeAtomic(dest, text, expect) {
|
|
|
2724
2664
|
vaultPublisherTestHooks?.beforeReplaceVerify?.(dest);
|
|
2725
2665
|
try {
|
|
2726
2666
|
const concurrent = expect === null ? prev !== null : prev === null || // the note vanished since it was read
|
|
2727
|
-
prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size ||
|
|
2667
|
+
prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size || createHash("sha256").update(readFileSync2(dest, "utf8"), "utf8").digest("hex") !== expect.sha256;
|
|
2728
2668
|
if (concurrent) {
|
|
2729
2669
|
try {
|
|
2730
|
-
|
|
2670
|
+
unlinkSync2(tmpPath);
|
|
2731
2671
|
} catch {
|
|
2732
2672
|
}
|
|
2733
2673
|
return "concurrent";
|
|
2734
2674
|
}
|
|
2735
2675
|
} catch {
|
|
2736
2676
|
try {
|
|
2737
|
-
|
|
2677
|
+
unlinkSync2(tmpPath);
|
|
2738
2678
|
} catch {
|
|
2739
2679
|
}
|
|
2740
2680
|
return "concurrent";
|
|
2741
2681
|
}
|
|
2742
2682
|
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
2743
2683
|
try {
|
|
2744
|
-
|
|
2684
|
+
renameSync(tmpPath, dest);
|
|
2745
2685
|
return "written";
|
|
2746
2686
|
} catch (err) {
|
|
2747
2687
|
const code = err.code;
|
|
2748
2688
|
if (attempt === 1 || code !== "EBUSY" && code !== "EPERM") {
|
|
2749
2689
|
try {
|
|
2750
|
-
|
|
2690
|
+
unlinkSync2(tmpPath);
|
|
2751
2691
|
} catch {
|
|
2752
2692
|
}
|
|
2753
2693
|
if (code === "EBUSY" || code === "EPERM") return "failed";
|
|
@@ -2778,6 +2718,11 @@ function runTimelinePublishCli(config, options, io) {
|
|
|
2778
2718
|
);
|
|
2779
2719
|
return 1;
|
|
2780
2720
|
}
|
|
2721
|
+
if (options.date !== void 0 && (typeof options.date !== "string" || options.date.length === 0)) {
|
|
2722
|
+
io.stderr.write(`Invalid --date ${JSON.stringify(options.date ?? "")}; expected YYYY-MM-DD.
|
|
2723
|
+
`);
|
|
2724
|
+
return 1;
|
|
2725
|
+
}
|
|
2781
2726
|
const date = typeof options.date === "string" && options.date.length > 0 ? options.date : activityDateInTimezone(/* @__PURE__ */ new Date(), config.activity?.timezone ?? "UTC");
|
|
2782
2727
|
if (!isValidActivityDate(date)) {
|
|
2783
2728
|
io.stderr.write(`Invalid --date "${date}"; expected YYYY-MM-DD.
|
|
@@ -2813,7 +2758,7 @@ function runTimelinePublishCli(config, options, io) {
|
|
|
2813
2758
|
);
|
|
2814
2759
|
return 1;
|
|
2815
2760
|
}
|
|
2816
|
-
sections.push({ name: target.section, content:
|
|
2761
|
+
sections.push({ name: target.section, content: readFileSync3(source, "utf8").trimEnd() });
|
|
2817
2762
|
}
|
|
2818
2763
|
const status = publishVaultNote({
|
|
2819
2764
|
vaultPath: vault.vaultPath,
|
|
@@ -2861,6 +2806,11 @@ function parseKinds(raw) {
|
|
|
2861
2806
|
function registerTimelineCommands(cmd, orchestrator) {
|
|
2862
2807
|
const timelineCmd = cmd.command("timeline").description("Timeline artifacts: publish the day's recap into a markdown vault (issue #1985)");
|
|
2863
2808
|
timelineCmd.command("publish").description("Publish timeline artifacts into the vault daily note via managed regions").option("--date <date>", "Local day to publish (YYYY-MM-DD; defaults to today)").option("--week <week>", "ISO week to publish (YYYY-Www)").option("--what <kinds>", "Comma-separated artifacts to publish (default: timeline)").option("--dry-run", "Report per-file outcomes without writing").action((...args) => {
|
|
2809
|
+
if (args.some((arg) => typeof arg === "string")) {
|
|
2810
|
+
process.stderr.write("timeline publish takes no positional arguments.\n");
|
|
2811
|
+
process.exitCode = 1;
|
|
2812
|
+
return;
|
|
2813
|
+
}
|
|
2864
2814
|
const options = args[0] ?? {};
|
|
2865
2815
|
const code = runTimelinePublishCli(orchestrator.config, options, {
|
|
2866
2816
|
stdout: process.stdout,
|
|
@@ -2871,10 +2821,10 @@ function registerTimelineCommands(cmd, orchestrator) {
|
|
|
2871
2821
|
}
|
|
2872
2822
|
|
|
2873
2823
|
// src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts
|
|
2874
|
-
import
|
|
2824
|
+
import path5 from "path";
|
|
2875
2825
|
async function runRebuildMemoryLifecycleLedgerCliCommand(options) {
|
|
2876
2826
|
const storage = options.storage;
|
|
2877
|
-
const ledgerPath =
|
|
2827
|
+
const ledgerPath = path5.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
|
|
2878
2828
|
const encrypted = await probeEncryptedRegularFileHeader(ledgerPath);
|
|
2879
2829
|
if (encrypted && !(storage?.isSecureStoreUnlocked() ?? false)) {
|
|
2880
2830
|
throw new Error(
|
|
@@ -3372,7 +3322,7 @@ assistant> ${result.reply}
|
|
|
3372
3322
|
// src/training-export/converter.ts
|
|
3373
3323
|
import { constants } from "fs";
|
|
3374
3324
|
import { lstat as lstat2, open, readdir as readdir2, realpath as realpath2 } from "fs/promises";
|
|
3375
|
-
import
|
|
3325
|
+
import path6 from "path";
|
|
3376
3326
|
function parseFrontmatter(raw) {
|
|
3377
3327
|
const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
|
|
3378
3328
|
if (!match) return null;
|
|
@@ -3412,7 +3362,7 @@ async function safeRealpath(p) {
|
|
|
3412
3362
|
}
|
|
3413
3363
|
}
|
|
3414
3364
|
function isContainedPath(real, containmentRoot) {
|
|
3415
|
-
return real === containmentRoot || real.startsWith(containmentRoot +
|
|
3365
|
+
return real === containmentRoot || real.startsWith(containmentRoot + path6.sep);
|
|
3416
3366
|
}
|
|
3417
3367
|
async function collectMarkdownFiles(dir, containmentRoot) {
|
|
3418
3368
|
const files = [];
|
|
@@ -3432,7 +3382,7 @@ async function collectMarkdownFiles(dir, containmentRoot) {
|
|
|
3432
3382
|
}
|
|
3433
3383
|
const sorted = [...entries].sort((a, b) => a.name.localeCompare(b.name));
|
|
3434
3384
|
for (const entry of sorted) {
|
|
3435
|
-
const full =
|
|
3385
|
+
const full = path6.join(d, entry.name);
|
|
3436
3386
|
if (entry.isSymbolicLink()) continue;
|
|
3437
3387
|
if (entry.isDirectory()) {
|
|
3438
3388
|
await walk(full);
|
|
@@ -3514,9 +3464,9 @@ async function convertMemoriesToRecords(options) {
|
|
|
3514
3464
|
const { memoryDir } = options;
|
|
3515
3465
|
const containmentRoot = await safeRealpath(memoryDir);
|
|
3516
3466
|
if (!containmentRoot) return [];
|
|
3517
|
-
const dirs = RECALL_FALLBACK_DIRS.map((dir) =>
|
|
3467
|
+
const dirs = RECALL_FALLBACK_DIRS.map((dir) => path6.join(memoryDir, dir));
|
|
3518
3468
|
if (options.includeEntities) {
|
|
3519
|
-
dirs.push(
|
|
3469
|
+
dirs.push(path6.join(memoryDir, "entities"));
|
|
3520
3470
|
}
|
|
3521
3471
|
const allFiles = [];
|
|
3522
3472
|
for (const dir of dirs) {
|
|
@@ -3779,14 +3729,14 @@ async function runTrainingExportCliCommand(opts) {
|
|
|
3779
3729
|
`Unknown training-export format "${opts.format}". ${validList}`
|
|
3780
3730
|
);
|
|
3781
3731
|
}
|
|
3782
|
-
const { statSync:
|
|
3732
|
+
const { statSync: statSync3, existsSync: existsSync2 } = await import("fs");
|
|
3783
3733
|
if (!existsSync2(expandedMemoryDir)) {
|
|
3784
3734
|
throw new Error(
|
|
3785
3735
|
`--memory-dir "${opts.memoryDir}" does not exist. Provide the path to an existing memory directory.`
|
|
3786
3736
|
);
|
|
3787
3737
|
}
|
|
3788
3738
|
try {
|
|
3789
|
-
if (!
|
|
3739
|
+
if (!statSync3(expandedMemoryDir).isDirectory()) {
|
|
3790
3740
|
throw new Error(
|
|
3791
3741
|
`--memory-dir "${opts.memoryDir}" is not a directory. Provide the path to a memory directory, not a file.`
|
|
3792
3742
|
);
|
|
@@ -4521,10 +4471,10 @@ function effectivePolicyValuesForVersion(values, config) {
|
|
|
4521
4471
|
}
|
|
4522
4472
|
function policyVersionForValues(values, config) {
|
|
4523
4473
|
const normalized = effectivePolicyValuesForVersion(values, config);
|
|
4524
|
-
return
|
|
4474
|
+
return createHash2("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
|
|
4525
4475
|
}
|
|
4526
4476
|
async function readRuntimePolicySnapshot2(config, fileName) {
|
|
4527
|
-
const filePath =
|
|
4477
|
+
const filePath = path7.join(config.memoryDir, "state", fileName);
|
|
4528
4478
|
const snapshot = await readRuntimePolicySnapshot(filePath, {
|
|
4529
4479
|
maxStaleDecayThreshold: config.lifecycleArchiveDecayThreshold
|
|
4530
4480
|
});
|
|
@@ -5301,7 +5251,7 @@ async function exists(p) {
|
|
|
5301
5251
|
}
|
|
5302
5252
|
}
|
|
5303
5253
|
function assertSafeNamespaceSegment(namespace) {
|
|
5304
|
-
if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") ||
|
|
5254
|
+
if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path7.isAbsolute(namespace) || path7.win32.isAbsolute(namespace)) {
|
|
5305
5255
|
throw new Error(`invalid namespace: ${namespace}`);
|
|
5306
5256
|
}
|
|
5307
5257
|
}
|
|
@@ -5351,7 +5301,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
|
|
|
5351
5301
|
for (const entry of entries) {
|
|
5352
5302
|
if (entry.isSymbolicLink()) continue;
|
|
5353
5303
|
const entryName = typeof entry.name === "string" ? entry.name : entry.name.toString("utf-8");
|
|
5354
|
-
const fullPath =
|
|
5304
|
+
const fullPath = path7.join(dir, entryName);
|
|
5355
5305
|
try {
|
|
5356
5306
|
assertPathInsideRoot(memoryRootReal, await realpath3(fullPath), fullPath);
|
|
5357
5307
|
} catch (err) {
|
|
@@ -5366,7 +5316,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
|
|
|
5366
5316
|
await visit(fullPath);
|
|
5367
5317
|
}
|
|
5368
5318
|
};
|
|
5369
|
-
for (const root of RECALL_FALLBACK_DIRS.map((dir) =>
|
|
5319
|
+
for (const root of RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir))) {
|
|
5370
5320
|
await walk(root);
|
|
5371
5321
|
}
|
|
5372
5322
|
}
|
|
@@ -5694,7 +5644,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5694
5644
|
);
|
|
5695
5645
|
tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
5696
5646
|
const options = args[0] ?? {};
|
|
5697
|
-
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-
|
|
5647
|
+
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-VK5PCO2L.js");
|
|
5698
5648
|
const summary = await summarizeTiers(orchestrator.storage);
|
|
5699
5649
|
if (reportHasMachineReadableOutput(options)) {
|
|
5700
5650
|
console.log(JSON.stringify(summary, null, 2));
|
|
@@ -5705,7 +5655,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5705
5655
|
tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
5706
5656
|
const idArg = typeof args[0] === "string" ? args[0] : "";
|
|
5707
5657
|
const options = args[1] ?? {};
|
|
5708
|
-
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-
|
|
5658
|
+
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-VK5PCO2L.js");
|
|
5709
5659
|
try {
|
|
5710
5660
|
const explain = await explainTierForMemory(
|
|
5711
5661
|
orchestrator.storage,
|
|
@@ -5976,7 +5926,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5976
5926
|
if (plan.moved.length > 0) {
|
|
5977
5927
|
console.log("\nEntries:");
|
|
5978
5928
|
for (const move of plan.moved) {
|
|
5979
|
-
console.log(`- ${
|
|
5929
|
+
console.log(`- ${path7.basename(move.from)}`);
|
|
5980
5930
|
}
|
|
5981
5931
|
}
|
|
5982
5932
|
if (dryRun) {
|
|
@@ -6277,15 +6227,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6277
6227
|
const capsulesDir = defaultCapsulesDir(memoryDir);
|
|
6278
6228
|
const { stat: statMerge } = await import("fs/promises");
|
|
6279
6229
|
let sourceArchive = expandTildePath(parsed.archive);
|
|
6280
|
-
const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(
|
|
6230
|
+
const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path7.sep);
|
|
6281
6231
|
if (!looksLikePath) {
|
|
6282
|
-
const cwdResolved =
|
|
6232
|
+
const cwdResolved = path7.resolve(sourceArchive);
|
|
6283
6233
|
const cwdSt = await statMerge(cwdResolved).catch(() => null);
|
|
6284
6234
|
if (cwdSt && cwdSt.isFile()) {
|
|
6285
6235
|
sourceArchive = cwdResolved;
|
|
6286
6236
|
} else {
|
|
6287
|
-
const byId =
|
|
6288
|
-
const byIdEnc =
|
|
6237
|
+
const byId = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
|
|
6238
|
+
const byIdEnc = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
|
|
6289
6239
|
const stId = await statMerge(byId).catch(() => null);
|
|
6290
6240
|
if (stId && stId.isFile()) {
|
|
6291
6241
|
sourceArchive = byId;
|
|
@@ -6298,7 +6248,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6298
6248
|
}
|
|
6299
6249
|
}
|
|
6300
6250
|
if (sourceArchive.endsWith(".enc")) {
|
|
6301
|
-
const { isEncryptedCapsuleFile } = await import("./capsule-crypto-
|
|
6251
|
+
const { isEncryptedCapsuleFile } = await import("./capsule-crypto-YO5QJ6L3.js");
|
|
6302
6252
|
const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
|
|
6303
6253
|
if (encDetected) {
|
|
6304
6254
|
throw new Error(
|
|
@@ -6306,7 +6256,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6306
6256
|
);
|
|
6307
6257
|
}
|
|
6308
6258
|
}
|
|
6309
|
-
const { mergeCapsule } = await import("./capsule-merge-
|
|
6259
|
+
const { mergeCapsule } = await import("./capsule-merge-3MNURAQ3.js");
|
|
6310
6260
|
const result = await mergeCapsule({
|
|
6311
6261
|
sourceArchive,
|
|
6312
6262
|
targetRoot: memoryDir,
|
|
@@ -6366,10 +6316,10 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6366
6316
|
).sort();
|
|
6367
6317
|
const entries = [];
|
|
6368
6318
|
for (const archiveName of archives) {
|
|
6369
|
-
const archivePath =
|
|
6319
|
+
const archivePath = path7.join(capsulesDir, archiveName);
|
|
6370
6320
|
const id = archiveName.replace(/\.capsule\.json\.gz\.enc$/, "").replace(/\.capsule\.json\.gz$/, "");
|
|
6371
6321
|
const manifestName = `${id}.manifest.json`;
|
|
6372
|
-
const manifestPath =
|
|
6322
|
+
const manifestPath = path7.join(capsulesDir, manifestName);
|
|
6373
6323
|
let createdAt = null;
|
|
6374
6324
|
let pluginVersion = null;
|
|
6375
6325
|
let fileCount = null;
|
|
@@ -6424,15 +6374,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6424
6374
|
const parsed = parseCapsuleInspectOptions(archiveArg, opts);
|
|
6425
6375
|
const { stat } = await import("fs/promises");
|
|
6426
6376
|
let archivePath = expandTildePath(parsed.archive);
|
|
6427
|
-
const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(
|
|
6377
|
+
const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path7.sep);
|
|
6428
6378
|
if (!looksLikePath) {
|
|
6429
|
-
const cwdResolved =
|
|
6379
|
+
const cwdResolved = path7.resolve(archivePath);
|
|
6430
6380
|
const cwdSt = await stat(cwdResolved).catch(() => null);
|
|
6431
6381
|
if (cwdSt && cwdSt.isFile()) {
|
|
6432
6382
|
archivePath = cwdResolved;
|
|
6433
6383
|
} else {
|
|
6434
|
-
const byId =
|
|
6435
|
-
const byIdEnc =
|
|
6384
|
+
const byId = path7.join(capsulesDir, `${archivePath}.capsule.json.gz`);
|
|
6385
|
+
const byIdEnc = path7.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
|
|
6436
6386
|
const st = await stat(byId).catch(() => null);
|
|
6437
6387
|
if (st && st.isFile()) {
|
|
6438
6388
|
archivePath = byId;
|
|
@@ -6461,7 +6411,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6461
6411
|
const { parseExportBundle } = await import("./transfer/types.js");
|
|
6462
6412
|
let decryptedBuf;
|
|
6463
6413
|
try {
|
|
6464
|
-
const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-
|
|
6414
|
+
const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-YO5QJ6L3.js");
|
|
6465
6415
|
decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
|
|
6466
6416
|
} catch (decErr) {
|
|
6467
6417
|
const msg = decErr instanceof Error ? decErr.message : String(decErr);
|
|
@@ -8425,7 +8375,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8425
8375
|
return;
|
|
8426
8376
|
}
|
|
8427
8377
|
const expandedTarget = expandTildePath(rawTarget);
|
|
8428
|
-
const targetPath =
|
|
8378
|
+
const targetPath = path7.isAbsolute(expandedTarget) ? expandedTarget : path7.join(orchestrator.config.memoryDir, expandedTarget);
|
|
8429
8379
|
const { runConsolidationUndo, formatConsolidationUndoResult } = await import("./consolidation-undo.js");
|
|
8430
8380
|
const result = await runConsolidationUndo({
|
|
8431
8381
|
storage: orchestrator.storage,
|
|
@@ -8463,7 +8413,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8463
8413
|
}
|
|
8464
8414
|
});
|
|
8465
8415
|
cmd.command("identity").description("Show agent identity reflections").action(async () => {
|
|
8466
|
-
const workspaceDir =
|
|
8416
|
+
const workspaceDir = path7.join(resolveHomeDir(), ".openclaw", "workspace");
|
|
8467
8417
|
const identity = await orchestrator.storage.readIdentity(workspaceDir);
|
|
8468
8418
|
if (!identity) {
|
|
8469
8419
|
console.log("No identity file found.");
|
|
@@ -8686,8 +8636,8 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8686
8636
|
const options = args[0] ?? {};
|
|
8687
8637
|
const threadId = options.thread;
|
|
8688
8638
|
const top = parseInt(options.top ?? "10", 10);
|
|
8689
|
-
const memoryDir =
|
|
8690
|
-
const threading = new ThreadingManager(
|
|
8639
|
+
const memoryDir = path7.join(resolveHomeDir(), ".openclaw", "workspace", "memory", "local");
|
|
8640
|
+
const threading = new ThreadingManager(path7.join(memoryDir, "threads"));
|
|
8691
8641
|
if (threadId) {
|
|
8692
8642
|
const thread = await threading.loadThread(threadId);
|
|
8693
8643
|
if (!thread) {
|
|
@@ -8949,7 +8899,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8949
8899
|
console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
|
|
8950
8900
|
process.exit(1);
|
|
8951
8901
|
}
|
|
8952
|
-
const { isValidResolutionVerb, executeResolution } = await import("./resolution-
|
|
8902
|
+
const { isValidResolutionVerb, executeResolution } = await import("./resolution-LXFQQ4AE.js");
|
|
8953
8903
|
if (!isValidResolutionVerb(verb)) {
|
|
8954
8904
|
console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
|
|
8955
8905
|
process.exit(1);
|
|
@@ -8981,7 +8931,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8981
8931
|
});
|
|
8982
8932
|
reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
|
|
8983
8933
|
const options = args[0] ?? {};
|
|
8984
|
-
const { runContradictionScan } = await import("./contradiction-scan-
|
|
8934
|
+
const { runContradictionScan } = await import("./contradiction-scan-GVD4JJ7B.js");
|
|
8985
8935
|
console.log("Running contradiction scan...");
|
|
8986
8936
|
const result = await runContradictionScan({
|
|
8987
8937
|
storage: orchestrator.storage,
|
|
@@ -9621,10 +9571,13 @@ export {
|
|
|
9621
9571
|
runMeetingsCliCommand,
|
|
9622
9572
|
runOkfCliCommand,
|
|
9623
9573
|
runHarmonicSearchCliCommand,
|
|
9624
|
-
|
|
9625
|
-
|
|
9626
|
-
|
|
9627
|
-
|
|
9574
|
+
applyVaultFrontmatter,
|
|
9575
|
+
VAULT_PROPERTY_KEY_MAX_CHARS,
|
|
9576
|
+
VAULT_PROPERTY_SCALAR_MAX_CHARS,
|
|
9577
|
+
VAULT_PROPERTY_LIST_MAX_ITEMS,
|
|
9578
|
+
VAULT_PROPERTY_TOTAL_MAX_CHARS,
|
|
9579
|
+
renderVaultPropertyValue,
|
|
9580
|
+
validateVaultProperties,
|
|
9628
9581
|
insertMarkersUnderHeading,
|
|
9629
9582
|
assertBeginEndPair,
|
|
9630
9583
|
VAULT_PUBLISH_OUTCOMES,
|
|
@@ -9730,4 +9683,4 @@ export {
|
|
|
9730
9683
|
listMemoryMarkdownFilePaths,
|
|
9731
9684
|
registerCli
|
|
9732
9685
|
};
|
|
9733
|
-
//# sourceMappingURL=chunk-
|
|
9686
|
+
//# sourceMappingURL=chunk-NYWCFC3K.js.map
|