@remnic/core 9.69.39 → 9.69.40
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 +37 -37
- package/dist/access-authorization-probe.d.ts +16 -14
- package/dist/access-authorization-probe.js +38 -38
- package/dist/access-boundary.d.ts +16 -14
- package/dist/access-boundary.js +37 -37
- package/dist/access-cli.js +98 -97
- 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 +37 -37
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-briefing.d.ts +16 -14
- package/dist/access-http-briefing.js +38 -38
- 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 +39 -39
- package/dist/access-http.d.ts +17 -15
- package/dist/access-http.js +53 -53
- package/dist/access-identity-continuity-surface.d.ts +13 -12
- package/dist/access-identity-continuity-surface.js +37 -37
- package/dist/access-lcm-surface.d.ts +16 -14
- package/dist/access-lcm-surface.js +37 -37
- package/dist/access-mcp.d.ts +16 -14
- package/dist/access-mcp.js +45 -45
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-CKBumJ8W.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +37 -37
- 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 +2 -2
- package/dist/access-observe-write-surface.d.ts +16 -14
- package/dist/access-observe-write-surface.js +37 -37
- package/dist/access-offline-manifest.d.ts +37 -13
- package/dist/access-offline-manifest.js +7 -3
- package/dist/access-operations-batch.js +39 -39
- package/dist/access-operations.d.ts +16 -14
- package/dist/access-operations.js +44 -44
- package/dist/access-recall-concurrency.d.ts +16 -14
- package/dist/access-recall-concurrency.js +37 -37
- package/dist/access-recall-response.d.ts +16 -14
- package/dist/access-recall-response.js +37 -37
- package/dist/access-recall-surface.d.ts +16 -14
- package/dist/access-recall-surface.js +37 -37
- package/dist/access-schema.d.ts +5 -3
- package/dist/access-schema.js +1 -1
- package/dist/{access-service-MY4bsr_Q.d.ts → access-service-DJ3qogNt.d.ts} +8 -8
- package/dist/access-service-helpers.d.ts +16 -14
- package/dist/access-service.d.ts +16 -14
- package/dist/access-service.js +37 -37
- package/dist/access-surface-catalog.d.ts +16 -14
- package/dist/access-surface-catalog.js +39 -39
- 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-recall.d.ts +1 -1
- package/dist/active-recall.js +6 -5
- 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-D6BAPIJV.js} +5 -5
- 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 +15 -15
- 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 +5 -5
- 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/{catalog-CW87xGx8.d.ts → catalog-BHXkBVhg.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 +19 -18
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-B36GUU6T.js → chunk-23HFXQ5J.js} +36 -3
- package/dist/chunk-23HFXQ5J.js.map +1 -0
- package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
- package/dist/chunk-27NO2KVB.js.map +1 -0
- package/dist/{chunk-JTQR6L2N.js → chunk-2SKMZUOW.js} +2 -2
- package/dist/{chunk-GG5FHZJJ.js → chunk-2SNCQHJZ.js} +2 -2
- package/dist/{chunk-O76F5QPP.js → chunk-3QEVOQF5.js} +2 -2
- package/dist/{chunk-3N3PBBEH.js → chunk-3XPN7AVY.js} +2 -2
- package/dist/{chunk-X4TD4O2F.js → chunk-46Z3VGWF.js} +2 -2
- package/dist/{chunk-2ZTDRNCS.js → chunk-4CMXI55L.js} +2 -2
- package/dist/{chunk-FWWWUPOE.js → chunk-5LYSEZOF.js} +18 -9
- package/dist/chunk-5LYSEZOF.js.map +1 -0
- package/dist/{chunk-IQEJIOEU.js → chunk-62HFZNCJ.js} +17 -10
- package/dist/chunk-62HFZNCJ.js.map +1 -0
- package/dist/{chunk-YKREX63Z.js → chunk-6L2II3KS.js} +5 -3
- package/dist/chunk-6L2II3KS.js.map +1 -0
- package/dist/{chunk-MUTVRKKY.js → chunk-7D6SER6A.js} +8 -8
- package/dist/{chunk-WBM2MVBK.js → chunk-7Z54NXVS.js} +2 -2
- package/dist/{chunk-ACY4ZPF7.js → chunk-AEOOGXMQ.js} +10 -5
- package/dist/chunk-AEOOGXMQ.js.map +1 -0
- package/dist/{chunk-UHRZ324M.js → chunk-BGRTZOJB.js} +3 -3
- package/dist/{chunk-ZEGL7YCC.js → chunk-BXIJSPCL.js} +2 -2
- package/dist/{chunk-JKKII6GX.js → chunk-BYQX4IOG.js} +2 -2
- package/dist/{chunk-WIWLX65T.js → chunk-C5R73BON.js} +2 -2
- package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
- package/dist/{chunk-TNZNSMVJ.js → chunk-DAZANIYU.js} +249 -295
- package/dist/chunk-DAZANIYU.js.map +1 -0
- package/dist/{chunk-LMLGBG6H.js → chunk-DFVSJFHK.js} +2 -2
- package/dist/{chunk-3NPNBVFR.js → chunk-ES5BUPYB.js} +2 -2
- package/dist/{chunk-MVAQ2WM3.js → chunk-G2XZFGYN.js} +6 -2
- package/dist/chunk-G2XZFGYN.js.map +1 -0
- package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
- package/dist/{chunk-5N4MZLEH.js → chunk-GO5LOHCD.js} +2 -2
- package/dist/{chunk-AECJY3GJ.js → chunk-GSSDHAYH.js} +2 -2
- package/dist/{chunk-TSP5WH72.js → chunk-HJUP3K6L.js} +2 -2
- package/dist/{chunk-AAZEKXUP.js → chunk-ICNJ6J46.js} +2 -2
- package/dist/{chunk-6EHM2AV7.js → chunk-IMBQFHRV.js} +2 -2
- package/dist/{chunk-4RZLTZVM.js → chunk-IOPIGX7Y.js} +1 -1
- package/dist/{chunk-EYKIDK33.js → chunk-IS2IDFJP.js} +13 -13
- package/dist/{chunk-VJIE4D2I.js → chunk-J4WGTN2N.js} +2 -2
- package/dist/{chunk-NXGSONWM.js → chunk-J7FVMLBR.js} +2 -2
- package/dist/{chunk-VSL63CFJ.js → chunk-JAJIMTFB.js} +6 -6
- package/dist/{chunk-4JVQRFZD.js → chunk-JOP7W24J.js} +9 -9
- package/dist/{chunk-YUW66UAH.js → chunk-JUDT33RX.js} +2 -2
- package/dist/{chunk-QHT7MOUF.js → chunk-K4A6UVPB.js} +22 -11
- package/dist/chunk-K4A6UVPB.js.map +1 -0
- package/dist/{chunk-D545Z7UH.js → chunk-K4JKAXMO.js} +2 -2
- package/dist/{chunk-BV4ZKIZH.js → chunk-K75A5XWU.js} +3 -2
- package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
- package/dist/chunk-KG2OOAFF.js.map +1 -0
- package/dist/{chunk-M6HBPLBA.js → chunk-KOTG3RXE.js} +2 -2
- package/dist/{chunk-CWTCMZGE.js → chunk-KTOXQMW3.js} +119 -3
- package/dist/chunk-KTOXQMW3.js.map +1 -0
- package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
- package/dist/{chunk-GI4ZBWPQ.js → chunk-KY236SP5.js} +3 -3
- package/dist/{chunk-4BCHFSC7.js → chunk-LFVZD5EC.js} +3 -3
- package/dist/{chunk-O4M4BDIJ.js → chunk-LKFVVN7R.js} +2 -2
- package/dist/{chunk-IYKZJVL5.js → chunk-MDIEES23.js} +1 -1
- package/dist/chunk-MDIEES23.js.map +1 -0
- package/dist/{chunk-4RX5O34R.js → chunk-MJC7UKH7.js} +2 -2
- package/dist/{chunk-CZTPU65V.js → chunk-MVG3KXON.js} +63 -16
- package/dist/chunk-MVG3KXON.js.map +1 -0
- package/dist/{chunk-YDVAM7S4.js → chunk-NETQXOPY.js} +2 -2
- package/dist/chunk-NETQXOPY.js.map +1 -0
- package/dist/{chunk-UZZ7SQT3.js → chunk-NVVZPBKI.js} +2 -2
- package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
- package/dist/chunk-PJRKLB4Z.js.map +1 -0
- package/dist/{chunk-VBSNUH4J.js → chunk-PKUJNICO.js} +2 -2
- package/dist/{chunk-OPBFP4TF.js → chunk-QE6YVNP5.js} +7 -7
- package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
- package/dist/chunk-QM2SPLKQ.js.map +1 -0
- package/dist/{chunk-ENBPQEVU.js → chunk-QPVNK2VE.js} +2 -2
- package/dist/{chunk-RLJHJQUY.js → chunk-QS5Q5RBV.js} +2 -2
- package/dist/{chunk-3EKVN2OP.js → chunk-RDLPFM7I.js} +2 -2
- package/dist/{chunk-F4EHXVP7.js → chunk-RJQAP333.js} +2 -2
- package/dist/{chunk-QTQ6XKGT.js → chunk-RLU2Y5GV.js} +4 -4
- package/dist/chunk-RLU2Y5GV.js.map +1 -0
- package/dist/{chunk-5SPCMAUC.js → chunk-ROEFLU37.js} +4 -4
- package/dist/{chunk-UZEHHXYC.js → chunk-SFHLQPBF.js} +22 -22
- package/dist/chunk-SK7D34OL.js +68 -0
- package/dist/chunk-SK7D34OL.js.map +1 -0
- package/dist/{chunk-ZBW7A667.js → chunk-SUEOG2S4.js} +2 -2
- package/dist/{chunk-Q7CLGFA7.js → chunk-TEMKBSV6.js} +2 -2
- package/dist/{chunk-LQNRVPTV.js → chunk-THTF2W7M.js} +151 -118
- package/dist/chunk-THTF2W7M.js.map +1 -0
- package/dist/{chunk-GMIQV6DD.js → chunk-TO36VPZI.js} +2 -2
- package/dist/{chunk-6YAIN5XJ.js → chunk-TZ44E732.js} +44 -6
- package/dist/chunk-TZ44E732.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-LPYYY4AP.js → chunk-UZ6JYPJ6.js} +500 -218
- package/dist/chunk-UZ6JYPJ6.js.map +1 -0
- package/dist/{chunk-FXHOZGSE.js → chunk-V2ZA4YWE.js} +2 -2
- package/dist/{chunk-XH3HGI2N.js → chunk-VHKXRYQN.js} +2 -2
- package/dist/{chunk-GAS7KYC7.js → chunk-VKWFNPBH.js} +2 -2
- package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
- package/dist/chunk-VNQRRUNS.js.map +1 -0
- package/dist/{chunk-IL6ODG6M.js → chunk-VQWBUPSJ.js} +2 -2
- package/dist/{chunk-5YCNDC3C.js → chunk-VQYWKCDR.js} +2 -2
- package/dist/{chunk-54NX5EG4.js → chunk-W23JARAQ.js} +2 -2
- package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
- package/dist/{chunk-FNHLI2RE.js → chunk-WZYHPAG5.js} +3 -3
- package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
- package/dist/chunk-XCPNH2MG.js.map +1 -0
- package/dist/{chunk-TA4C3XB7.js → chunk-XM46Y66S.js} +2 -2
- package/dist/{chunk-PCOVEDPK.js → chunk-YRIFXXMI.js} +3 -3
- package/dist/{chunk-TRLOFIQC.js → chunk-YTK5MVNF.js} +2 -2
- package/dist/{chunk-Q432REND.js → chunk-YTZN2UZO.js} +2 -2
- package/dist/{chunk-6AGWBKQU.js → chunk-Z4GUX2M6.js} +2 -2
- package/dist/{chunk-AENM6GKU.js → chunk-ZAEPD4C2.js} +2 -2
- package/dist/{chunk-KQW3YGEN.js → chunk-ZRMMXWYI.js} +2 -2
- package/dist/{chunk-P4ZAEYKG.js → chunk-ZX3AYNNV.js} +6 -3
- package/dist/chunk-ZX3AYNNV.js.map +1 -0
- package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZCR2QYL.js} +2 -2
- package/dist/{cli-DGq0MNpO.d.ts → cli-BWri5-am.d.ts} +5 -5
- package/dist/cli.d.ts +18 -16
- package/dist/cli.js +75 -74
- package/dist/coding/export-okf-codegraph.d.ts +1 -1
- package/dist/coding/export-okf-codegraph.js +14 -14
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +15 -15
- 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 +6 -5
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +15 -15
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +15 -15
- 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/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +17 -17
- 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 +17 -17
- package/dist/cross-lingual-recall.d.ts +1 -1
- package/dist/day-summary.d.ts +1 -1
- package/dist/deep-recall-http-glue.d.ts +16 -14
- package/dist/deep-recall-http-glue.js +2 -2
- package/dist/deep-recall-mcp-tools.d.ts +16 -14
- package/dist/deep-recall-policy-llm.d.ts +4 -3
- package/dist/deep-recall-policy-llm.js +3 -3
- package/dist/deep-recall-seeds.d.ts +1 -1
- 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-ueZlKTQB.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 +15 -15
- 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/external-wiki-access.d.ts +16 -14
- package/dist/external-wiki-access.js +38 -38
- 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 +25 -23
- package/dist/fallback-llm-codex-subscription.d.ts +52 -7
- package/dist/fallback-llm-codex-subscription.js +17 -1
- package/dist/fallback-llm.d.ts +25 -28
- package/dist/fallback-llm.js +4 -3
- package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpyVmA88.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 +1 -1
- 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-BvUA4S7M.d.ts} +3 -3
- package/dist/index.d.ts +79 -39
- package/dist/index.js +119 -103
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +3 -3
- 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-BsJGulur.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 +17 -17
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +15 -15
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +15 -15
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +16 -16
- package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CYubtIRr.d.ts} +9 -3
- 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 +16 -16
- 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 +15 -15
- 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 +18 -18
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +29 -28
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +26 -26
- package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-BWDRJ_0d.d.ts} +24 -11
- package/dist/orchestrator.d.ts +13 -12
- package/dist/orchestrator.js +101 -98
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-7JMn2yMH.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-CJWs3mo9.d.ts} +1 -1
- package/dist/{qmd-qXD4vatU.d.ts → qmd-CxCH9G9m.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 +8 -8
- 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 +1 -0
- package/dist/recall-state-view.js +1 -1
- 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/manifest.d.ts +1 -1
- package/dist/reconcile/plan.d.ts +1 -1
- 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/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +7 -6
- 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-BGAUqhBR.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 +10 -10
- 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-CCeRD9pV.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +16 -16
- package/dist/semantic-rule-promotion.js +15 -15
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +15 -15
- package/dist/{service-CLkA7AQB.d.ts → service-BwpzRduk.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/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +18 -18
- package/dist/standup/build.js +15 -15
- package/dist/{storage-wvX01lht.d.ts → storage-BprAGBG0.d.ts} +2 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +14 -14
- package/dist/subject-config.d.ts +1 -1
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +5 -5
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +18 -17
- package/dist/support-passport/index.js +40 -40
- 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/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/export-okf.d.ts +1 -1
- package/dist/transfer/export-okf.js +15 -15
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-Cyr32ABj.d.ts → types-nJV23pa3.d.ts} +1 -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 +15 -15
- package/dist/who-knows-cli.d.ts +16 -14
- package/dist/who-knows-cli.js +16 -16
- package/dist/who-knows.d.ts +16 -14
- package/dist/who-knows.js +15 -15
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +2 -2
- package/src/access-category-alias.test.ts +93 -0
- package/src/access-offline-manifest.ts +52 -2
- package/src/access-schema.ts +9 -4
- 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 +82 -2
- package/src/activity/timeline/regenerate.ts +7 -1
- 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/timeline-publish-commands.ts +9 -0
- package/src/config.test.ts +170 -43
- package/src/config.ts +17 -5
- 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 +193 -7
- package/src/fallback-llm-parse-failure.test.ts +156 -0
- package/src/fallback-llm.test.ts +58 -0
- package/src/fallback-llm.ts +187 -186
- 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/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/orchestrator-helpers.test.ts +104 -0
- package/src/orchestration/orchestrator-init.ts +366 -106
- package/src/orchestration/recall-internal.ts +5 -11
- 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/qmd.ts +21 -10
- package/src/recall-state-view-admission.ts +11 -1
- 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 +5 -2
- package/src/reconcile-identity-cache.test.ts +82 -1
- package/src/search/port.ts +1 -1
- 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 +1 -0
- package/dist/chunk-3CBI2ZSA.js.map +0 -1
- package/dist/chunk-5HYUUFMQ.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-CWTCMZGE.js.map +0 -1
- package/dist/chunk-CZTPU65V.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-LPYYY4AP.js.map +0 -1
- package/dist/chunk-LQNRVPTV.js.map +0 -1
- package/dist/chunk-MVAQ2WM3.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-TNZNSMVJ.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/{auto-sync-RP4C6ZPF.js.map → auto-sync-D6BAPIJV.js.map} +0 -0
- /package/dist/{chunk-JTQR6L2N.js.map → chunk-2SKMZUOW.js.map} +0 -0
- /package/dist/{chunk-GG5FHZJJ.js.map → chunk-2SNCQHJZ.js.map} +0 -0
- /package/dist/{chunk-O76F5QPP.js.map → chunk-3QEVOQF5.js.map} +0 -0
- /package/dist/{chunk-3N3PBBEH.js.map → chunk-3XPN7AVY.js.map} +0 -0
- /package/dist/{chunk-X4TD4O2F.js.map → chunk-46Z3VGWF.js.map} +0 -0
- /package/dist/{chunk-2ZTDRNCS.js.map → chunk-4CMXI55L.js.map} +0 -0
- /package/dist/{chunk-MUTVRKKY.js.map → chunk-7D6SER6A.js.map} +0 -0
- /package/dist/{chunk-WBM2MVBK.js.map → chunk-7Z54NXVS.js.map} +0 -0
- /package/dist/{chunk-UHRZ324M.js.map → chunk-BGRTZOJB.js.map} +0 -0
- /package/dist/{chunk-ZEGL7YCC.js.map → chunk-BXIJSPCL.js.map} +0 -0
- /package/dist/{chunk-JKKII6GX.js.map → chunk-BYQX4IOG.js.map} +0 -0
- /package/dist/{chunk-WIWLX65T.js.map → chunk-C5R73BON.js.map} +0 -0
- /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
- /package/dist/{chunk-LMLGBG6H.js.map → chunk-DFVSJFHK.js.map} +0 -0
- /package/dist/{chunk-3NPNBVFR.js.map → chunk-ES5BUPYB.js.map} +0 -0
- /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
- /package/dist/{chunk-5N4MZLEH.js.map → chunk-GO5LOHCD.js.map} +0 -0
- /package/dist/{chunk-AECJY3GJ.js.map → chunk-GSSDHAYH.js.map} +0 -0
- /package/dist/{chunk-TSP5WH72.js.map → chunk-HJUP3K6L.js.map} +0 -0
- /package/dist/{chunk-AAZEKXUP.js.map → chunk-ICNJ6J46.js.map} +0 -0
- /package/dist/{chunk-6EHM2AV7.js.map → chunk-IMBQFHRV.js.map} +0 -0
- /package/dist/{chunk-4RZLTZVM.js.map → chunk-IOPIGX7Y.js.map} +0 -0
- /package/dist/{chunk-EYKIDK33.js.map → chunk-IS2IDFJP.js.map} +0 -0
- /package/dist/{chunk-VJIE4D2I.js.map → chunk-J4WGTN2N.js.map} +0 -0
- /package/dist/{chunk-NXGSONWM.js.map → chunk-J7FVMLBR.js.map} +0 -0
- /package/dist/{chunk-VSL63CFJ.js.map → chunk-JAJIMTFB.js.map} +0 -0
- /package/dist/{chunk-4JVQRFZD.js.map → chunk-JOP7W24J.js.map} +0 -0
- /package/dist/{chunk-YUW66UAH.js.map → chunk-JUDT33RX.js.map} +0 -0
- /package/dist/{chunk-D545Z7UH.js.map → chunk-K4JKAXMO.js.map} +0 -0
- /package/dist/{chunk-BV4ZKIZH.js.map → chunk-K75A5XWU.js.map} +0 -0
- /package/dist/{chunk-M6HBPLBA.js.map → chunk-KOTG3RXE.js.map} +0 -0
- /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
- /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-KY236SP5.js.map} +0 -0
- /package/dist/{chunk-4BCHFSC7.js.map → chunk-LFVZD5EC.js.map} +0 -0
- /package/dist/{chunk-O4M4BDIJ.js.map → chunk-LKFVVN7R.js.map} +0 -0
- /package/dist/{chunk-4RX5O34R.js.map → chunk-MJC7UKH7.js.map} +0 -0
- /package/dist/{chunk-UZZ7SQT3.js.map → chunk-NVVZPBKI.js.map} +0 -0
- /package/dist/{chunk-VBSNUH4J.js.map → chunk-PKUJNICO.js.map} +0 -0
- /package/dist/{chunk-OPBFP4TF.js.map → chunk-QE6YVNP5.js.map} +0 -0
- /package/dist/{chunk-ENBPQEVU.js.map → chunk-QPVNK2VE.js.map} +0 -0
- /package/dist/{chunk-RLJHJQUY.js.map → chunk-QS5Q5RBV.js.map} +0 -0
- /package/dist/{chunk-3EKVN2OP.js.map → chunk-RDLPFM7I.js.map} +0 -0
- /package/dist/{chunk-F4EHXVP7.js.map → chunk-RJQAP333.js.map} +0 -0
- /package/dist/{chunk-5SPCMAUC.js.map → chunk-ROEFLU37.js.map} +0 -0
- /package/dist/{chunk-UZEHHXYC.js.map → chunk-SFHLQPBF.js.map} +0 -0
- /package/dist/{chunk-ZBW7A667.js.map → chunk-SUEOG2S4.js.map} +0 -0
- /package/dist/{chunk-Q7CLGFA7.js.map → chunk-TEMKBSV6.js.map} +0 -0
- /package/dist/{chunk-GMIQV6DD.js.map → chunk-TO36VPZI.js.map} +0 -0
- /package/dist/{chunk-FXHOZGSE.js.map → chunk-V2ZA4YWE.js.map} +0 -0
- /package/dist/{chunk-XH3HGI2N.js.map → chunk-VHKXRYQN.js.map} +0 -0
- /package/dist/{chunk-GAS7KYC7.js.map → chunk-VKWFNPBH.js.map} +0 -0
- /package/dist/{chunk-IL6ODG6M.js.map → chunk-VQWBUPSJ.js.map} +0 -0
- /package/dist/{chunk-5YCNDC3C.js.map → chunk-VQYWKCDR.js.map} +0 -0
- /package/dist/{chunk-54NX5EG4.js.map → chunk-W23JARAQ.js.map} +0 -0
- /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
- /package/dist/{chunk-FNHLI2RE.js.map → chunk-WZYHPAG5.js.map} +0 -0
- /package/dist/{chunk-TA4C3XB7.js.map → chunk-XM46Y66S.js.map} +0 -0
- /package/dist/{chunk-PCOVEDPK.js.map → chunk-YRIFXXMI.js.map} +0 -0
- /package/dist/{chunk-TRLOFIQC.js.map → chunk-YTK5MVNF.js.map} +0 -0
- /package/dist/{chunk-Q432REND.js.map → chunk-YTZN2UZO.js.map} +0 -0
- /package/dist/{chunk-6AGWBKQU.js.map → chunk-Z4GUX2M6.js.map} +0 -0
- /package/dist/{chunk-AENM6GKU.js.map → chunk-ZAEPD4C2.js.map} +0 -0
- /package/dist/{chunk-KQW3YGEN.js.map → chunk-ZRMMXWYI.js.map} +0 -0
- /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZCR2QYL.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,12 +8,12 @@ import {
|
|
|
5
8
|
openclawReplayNormalizer
|
|
6
9
|
} from "./chunk-H4CKS5B2.js";
|
|
7
10
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./chunk-
|
|
11
|
+
exportJsonBundle
|
|
12
|
+
} from "./chunk-UP6MOYCB.js";
|
|
10
13
|
import {
|
|
11
14
|
exportOkfBundle,
|
|
12
15
|
parseIncludeStatus
|
|
13
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PKUJNICO.js";
|
|
14
17
|
import {
|
|
15
18
|
exportSqlite
|
|
16
19
|
} from "./chunk-BV2TIZ4F.js";
|
|
@@ -32,9 +35,6 @@ import {
|
|
|
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,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
} from "./chunk-PYIFUBRK.js";
|
|
56
56
|
import {
|
|
57
57
|
rebuildMemoryLifecycleLedger
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-XM46Y66S.js";
|
|
59
59
|
import {
|
|
60
60
|
rebuildObservations
|
|
61
61
|
} from "./chunk-DQTCGVFK.js";
|
|
@@ -65,18 +65,18 @@ import {
|
|
|
65
65
|
import {
|
|
66
66
|
migrateObservations
|
|
67
67
|
} from "./chunk-IIFFC3RL.js";
|
|
68
|
-
import {
|
|
69
|
-
lintOkfDir
|
|
70
|
-
} from "./chunk-UJX4I26O.js";
|
|
71
|
-
import {
|
|
72
|
-
runCompatChecks
|
|
73
|
-
} from "./chunk-2524MOWK.js";
|
|
74
68
|
import {
|
|
75
69
|
getBulkImportSource,
|
|
76
70
|
listBulkImportSources,
|
|
77
71
|
registerBulkImportSource,
|
|
78
72
|
runBulkImportPipeline
|
|
79
73
|
} from "./chunk-HSSERO3E.js";
|
|
74
|
+
import {
|
|
75
|
+
lintOkfDir
|
|
76
|
+
} from "./chunk-UJX4I26O.js";
|
|
77
|
+
import {
|
|
78
|
+
runCompatChecks
|
|
79
|
+
} from "./chunk-2524MOWK.js";
|
|
80
80
|
import {
|
|
81
81
|
getUtilityLearningStatus,
|
|
82
82
|
learnUtilityPromotionWeights
|
|
@@ -87,21 +87,21 @@ import {
|
|
|
87
87
|
} from "./chunk-EBA5DA77.js";
|
|
88
88
|
import {
|
|
89
89
|
searchVerifiedEpisodes
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-ICNJ6J46.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-QPVNK2VE.js";
|
|
97
97
|
import {
|
|
98
98
|
searchVerifiedSemanticRules
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-ZAEPD4C2.js";
|
|
100
100
|
import {
|
|
101
101
|
buildResumeBundleFromState,
|
|
102
102
|
getResumeBundleStatus,
|
|
103
103
|
recordResumeBundle
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-7Z54NXVS.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-LFVZD5EC.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-7D6SER6A.js";
|
|
138
138
|
import {
|
|
139
139
|
analyzeSessionIntegrity,
|
|
140
140
|
applySessionRepair,
|
|
@@ -176,7 +176,7 @@ import {
|
|
|
176
176
|
rebuildMemoryProjection,
|
|
177
177
|
repairMemoryProjection,
|
|
178
178
|
verifyMemoryProjection
|
|
179
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-BGRTZOJB.js";
|
|
180
180
|
import {
|
|
181
181
|
applyCommitmentLedgerLifecycle,
|
|
182
182
|
getCommitmentLedgerStatus,
|
|
@@ -197,16 +197,20 @@ import {
|
|
|
197
197
|
} from "./chunk-6TBIWIAG.js";
|
|
198
198
|
import {
|
|
199
199
|
parseConfig
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-5LYSEZOF.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-IS2IDFJP.js";
|
|
210
214
|
import {
|
|
211
215
|
WearablesInputError
|
|
212
216
|
} from "./chunk-V7IZKJI3.js";
|
|
@@ -216,10 +220,10 @@ import {
|
|
|
216
220
|
loadChatSession,
|
|
217
221
|
processChatMessage,
|
|
218
222
|
sessionBelongsToPrincipal
|
|
219
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-ROEFLU37.js";
|
|
220
224
|
import {
|
|
221
225
|
EngramAccessService
|
|
222
|
-
} from "./chunk-
|
|
226
|
+
} from "./chunk-SFHLQPBF.js";
|
|
223
227
|
import {
|
|
224
228
|
WorkStorage
|
|
225
229
|
} from "./chunk-MPC7TYTZ.js";
|
|
@@ -234,26 +238,26 @@ import {
|
|
|
234
238
|
} from "./chunk-P5FPO2BR.js";
|
|
235
239
|
import {
|
|
236
240
|
journalPath
|
|
237
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-NVVZPBKI.js";
|
|
238
242
|
import {
|
|
239
243
|
parseRecallExplainFormat,
|
|
240
244
|
renderRecallExplain,
|
|
241
245
|
renderXray
|
|
242
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-KOTG3RXE.js";
|
|
243
247
|
import {
|
|
244
248
|
readAggregateExtractionWatermark
|
|
245
|
-
} from "./chunk-
|
|
249
|
+
} from "./chunk-LKFVVN7R.js";
|
|
246
250
|
import {
|
|
247
251
|
getObjectiveStateStoreStatus
|
|
248
252
|
} from "./chunk-HM7RHKS4.js";
|
|
249
253
|
import {
|
|
250
254
|
searchHarmonicRetrieval
|
|
251
|
-
} from "./chunk-
|
|
255
|
+
} from "./chunk-IOPIGX7Y.js";
|
|
252
256
|
import {
|
|
253
257
|
listNamespaces,
|
|
254
258
|
runNamespaceMigration,
|
|
255
259
|
verifyNamespaces
|
|
256
|
-
} from "./chunk-
|
|
260
|
+
} from "./chunk-KY236SP5.js";
|
|
257
261
|
import {
|
|
258
262
|
getCueAnchorStoreStatus
|
|
259
263
|
} from "./chunk-BMWN7B3Y.js";
|
|
@@ -262,7 +266,7 @@ import {
|
|
|
262
266
|
readMemoryGovernanceRunArtifact,
|
|
263
267
|
restoreMemoryGovernanceRun,
|
|
264
268
|
runMemoryGovernance
|
|
265
|
-
} from "./chunk-
|
|
269
|
+
} from "./chunk-2SKMZUOW.js";
|
|
266
270
|
import {
|
|
267
271
|
analyzeGraphHealth
|
|
268
272
|
} from "./chunk-5FAGCOZD.js";
|
|
@@ -271,7 +275,7 @@ import {
|
|
|
271
275
|
} from "./chunk-3UXOZBHV.js";
|
|
272
276
|
import {
|
|
273
277
|
meetingIdDate
|
|
274
|
-
} from "./chunk-
|
|
278
|
+
} from "./chunk-MVG3KXON.js";
|
|
275
279
|
import {
|
|
276
280
|
isValidTranscriptDate
|
|
277
281
|
} from "./chunk-UHVXE24Y.js";
|
|
@@ -282,7 +286,7 @@ import {
|
|
|
282
286
|
import {
|
|
283
287
|
RECALL_DISCLOSURE_LEVELS,
|
|
284
288
|
isRecallDisclosure
|
|
285
|
-
} from "./chunk-
|
|
289
|
+
} from "./chunk-MDIEES23.js";
|
|
286
290
|
import {
|
|
287
291
|
normalizeProjectionPreview
|
|
288
292
|
} from "./chunk-SCU65EZI.js";
|
|
@@ -393,9 +397,9 @@ import {
|
|
|
393
397
|
} from "./chunk-3WCASNQZ.js";
|
|
394
398
|
|
|
395
399
|
// src/cli.ts
|
|
396
|
-
import
|
|
400
|
+
import path7 from "path";
|
|
397
401
|
import { access, lstat as lstat3, readFile as readFile2, readdir as readdir3, realpath as realpath3, unlink } from "fs/promises";
|
|
398
|
-
import { createHash as
|
|
402
|
+
import { createHash as createHash2 } from "crypto";
|
|
399
403
|
|
|
400
404
|
// src/wearables/registry.ts
|
|
401
405
|
var registrations = /* @__PURE__ */ new Map();
|
|
@@ -2082,215 +2086,122 @@ function registerCreationLedgerCommands(cmd, orchestrator) {
|
|
|
2082
2086
|
}
|
|
2083
2087
|
|
|
2084
2088
|
// src/activity/timeline/publish-cli.ts
|
|
2085
|
-
import { existsSync, readFileSync as
|
|
2089
|
+
import { existsSync, readFileSync as readFileSync3 } from "fs";
|
|
2086
2090
|
|
|
2087
2091
|
// 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
2092
|
import { createHash, randomBytes } from "crypto";
|
|
2094
|
-
import { readFileSync as readFileSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
|
|
2093
|
+
import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync2, realpathSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
|
|
2095
2094
|
import path4 from "path";
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2095
|
+
|
|
2096
|
+
// src/activity/vault-frontmatter.ts
|
|
2097
|
+
function assertNoNewlineKey(key) {
|
|
2098
|
+
if (key.includes("\n") || key.includes("\r")) {
|
|
2099
|
+
throw new RangeError("Vault frontmatter keys must not contain newlines.");
|
|
2100
|
+
}
|
|
2101
|
+
}
|
|
2102
|
+
function applyVaultFrontmatter(existingYaml, updates) {
|
|
2103
|
+
const entries = Object.entries(updates);
|
|
2104
|
+
if (entries.length === 0) return existingYaml;
|
|
2105
|
+
const merged = /* @__PURE__ */ new Map();
|
|
2106
|
+
for (const line of existingYaml.split("\n")) {
|
|
2107
|
+
const idx = line.indexOf(":");
|
|
2108
|
+
if (idx === -1) continue;
|
|
2109
|
+
const key = line.slice(0, idx).trim();
|
|
2110
|
+
if (key.length === 0) continue;
|
|
2111
|
+
assertNoNewlineKey(key);
|
|
2112
|
+
merged.set(key, line.slice(idx + 1).trim());
|
|
2112
2113
|
}
|
|
2113
|
-
|
|
2114
|
-
|
|
2114
|
+
for (const [key, value] of entries) {
|
|
2115
|
+
assertNoNewlineKey(key);
|
|
2116
|
+
merged.set(key, value);
|
|
2115
2117
|
}
|
|
2116
|
-
|
|
2117
|
-
return {
|
|
2118
|
-
ok: true,
|
|
2119
|
-
text: `${fileText.slice(0, startRow.start + startRow.line.length)}${eol}${body}${eol}${fileText.slice(endRow.start)}`
|
|
2120
|
-
};
|
|
2118
|
+
return [...merged.keys()].sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map((key) => `${key}: ${merged.get(key)}`).join("\n");
|
|
2121
2119
|
}
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2131
|
-
|
|
2120
|
+
var VAULT_PROPERTY_KEY_MAX_CHARS = 64;
|
|
2121
|
+
var VAULT_PROPERTY_SCALAR_MAX_CHARS = 200;
|
|
2122
|
+
var VAULT_PROPERTY_LIST_MAX_ITEMS = 20;
|
|
2123
|
+
var VAULT_PROPERTY_TOTAL_MAX_CHARS = 2e3;
|
|
2124
|
+
var CONTROL_RE = /[\u0000-\u001f\u007f-\u009f]/;
|
|
2125
|
+
var INDICATOR_CHARS = ",[]{}#&*!|>'\"%@`";
|
|
2126
|
+
var INJECTION_RE = /: | #/;
|
|
2127
|
+
var FLOW_ITEM_DELIM_RE = /[[\]{},]/;
|
|
2128
|
+
function renderVaultPropertyValue(value) {
|
|
2129
|
+
return typeof value === "string" ? value : `[${value.join(", ")}]`;
|
|
2130
|
+
}
|
|
2131
|
+
function hasLeadingYamlIndicator(text) {
|
|
2132
|
+
const first = text[0];
|
|
2133
|
+
if (first === void 0) return false;
|
|
2134
|
+
return INDICATOR_CHARS.includes(first) || "-?:".includes(first) && text[1] === " ";
|
|
2135
|
+
}
|
|
2136
|
+
function validateScalar(value, label) {
|
|
2137
|
+
if (value.length === 0) {
|
|
2138
|
+
return { ok: false, reason: `${label} must not be empty` };
|
|
2132
2139
|
}
|
|
2133
|
-
if (
|
|
2134
|
-
|
|
2135
|
-
return { ok: false, reason: "duplicate_heading", lines: hits.map((hit2) => hit2.line), text: fileText };
|
|
2140
|
+
if (value.length > VAULT_PROPERTY_SCALAR_MAX_CHARS) {
|
|
2141
|
+
return { ok: false, reason: `${label} exceeds ${VAULT_PROPERTY_SCALAR_MAX_CHARS} characters` };
|
|
2136
2142
|
}
|
|
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
|
-
}
|
|
2143
|
+
if (CONTROL_RE.test(value)) {
|
|
2144
|
+
return { ok: false, reason: `${label} must not contain control characters or line breaks` };
|
|
2146
2145
|
}
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
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;
|
|
2146
|
+
if (value !== value.trim()) {
|
|
2147
|
+
return { ok: false, reason: `${label} must not carry leading or trailing whitespace` };
|
|
2148
|
+
}
|
|
2149
|
+
if (hasLeadingYamlIndicator(value)) {
|
|
2150
|
+
return { ok: false, reason: `${label} must be a plain scalar (leading "${value[0]}" changes its YAML shape)` };
|
|
2151
|
+
}
|
|
2152
|
+
if (INJECTION_RE.test(value)) {
|
|
2153
|
+
return { ok: false, reason: `${label} must not contain ": " or " #"` };
|
|
2154
|
+
}
|
|
2155
|
+
if (value.endsWith(":")) {
|
|
2156
|
+
return { ok: false, reason: `${label} must not end with ":"` };
|
|
2162
2157
|
}
|
|
2163
|
-
return
|
|
2158
|
+
return { ok: true };
|
|
2164
2159
|
}
|
|
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;
|
|
2160
|
+
function validateVaultProperties(entries) {
|
|
2161
|
+
let total = 0;
|
|
2162
|
+
for (const { key, value } of entries) {
|
|
2163
|
+
if (key.length === 0) {
|
|
2164
|
+
return { ok: false, reason: "property keys must not be empty" };
|
|
2165
|
+
}
|
|
2166
|
+
if (key.length > VAULT_PROPERTY_KEY_MAX_CHARS) {
|
|
2167
|
+
return { ok: false, reason: `property key exceeds ${VAULT_PROPERTY_KEY_MAX_CHARS} characters` };
|
|
2168
|
+
}
|
|
2169
|
+
if (CONTROL_RE.test(key) || key !== key.trim() || key.includes(":") || key.includes("#") || hasLeadingYamlIndicator(key)) {
|
|
2170
|
+
return { ok: false, reason: `property key ${JSON.stringify(key)} is not a plain mapping key` };
|
|
2171
|
+
}
|
|
2172
|
+
if (typeof value === "string") {
|
|
2173
|
+
const scalar = validateScalar(value, `property ${key}`);
|
|
2174
|
+
if (!scalar.ok) return scalar;
|
|
2193
2175
|
} else {
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2176
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
2177
|
+
return { ok: false, reason: `property ${key} must be a scalar string or a non-empty list of scalar strings` };
|
|
2178
|
+
}
|
|
2179
|
+
if (value.length > VAULT_PROPERTY_LIST_MAX_ITEMS) {
|
|
2180
|
+
return { ok: false, reason: `property ${key} exceeds ${VAULT_PROPERTY_LIST_MAX_ITEMS} list items` };
|
|
2181
|
+
}
|
|
2182
|
+
for (const item of value) {
|
|
2183
|
+
if (typeof item !== "string") {
|
|
2184
|
+
return { ok: false, reason: `property ${key} must be a scalar string or a list of scalar strings` };
|
|
2185
|
+
}
|
|
2186
|
+
const scalar = validateScalar(item, `property ${key} list item`);
|
|
2187
|
+
if (!scalar.ok) return scalar;
|
|
2188
|
+
if (FLOW_ITEM_DELIM_RE.test(item)) {
|
|
2189
|
+
return {
|
|
2190
|
+
ok: false,
|
|
2191
|
+
reason: `property ${key} list item must not contain flow delimiters "[", "]", "{", "}", or ","`
|
|
2192
|
+
};
|
|
2193
|
+
}
|
|
2197
2194
|
}
|
|
2198
2195
|
}
|
|
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 {
|
|
2196
|
+
total += key.length + 2 + renderVaultPropertyValue(value).length;
|
|
2197
|
+
if (total > VAULT_PROPERTY_TOTAL_MAX_CHARS) {
|
|
2198
|
+
return {
|
|
2199
|
+
ok: false,
|
|
2200
|
+
reason: `frontmatter properties exceed the ${VAULT_PROPERTY_TOTAL_MAX_CHARS}-character total`
|
|
2201
|
+
};
|
|
2290
2202
|
}
|
|
2291
|
-
throw renameErr;
|
|
2292
2203
|
}
|
|
2293
|
-
return { ok: true
|
|
2204
|
+
return { ok: true };
|
|
2294
2205
|
}
|
|
2295
2206
|
|
|
2296
2207
|
// src/activity/vault-insert.ts
|
|
@@ -2420,6 +2331,32 @@ function publishVaultNote(input) {
|
|
|
2420
2331
|
throw new RangeError(`Section name ${JSON.stringify(section.name)} is not a valid region name.`);
|
|
2421
2332
|
}
|
|
2422
2333
|
}
|
|
2334
|
+
const headingsToProbe = strategy === "heading" ? input.sections.map((section) => section.name) : [];
|
|
2335
|
+
if (typeof input.insertUnderHeading === "string" && input.insertUnderHeading.length > 0) {
|
|
2336
|
+
headingsToProbe.push(input.insertUnderHeading);
|
|
2337
|
+
}
|
|
2338
|
+
for (const headingName of headingsToProbe) {
|
|
2339
|
+
if (!headingSurvivesRoundTrip(headingName)) {
|
|
2340
|
+
throw new RangeError(
|
|
2341
|
+
`Section name ${JSON.stringify(headingName)} is not matchable by the heading parser; it must survive a render-and-parse round trip.`
|
|
2342
|
+
);
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2345
|
+
const propertyEntries = [];
|
|
2346
|
+
for (const section of input.sections) {
|
|
2347
|
+
if (!section.properties) continue;
|
|
2348
|
+
for (const key of Object.keys(section.properties)) {
|
|
2349
|
+
const value = section.properties[key];
|
|
2350
|
+
if (value === void 0) continue;
|
|
2351
|
+
propertyEntries.push({ key: `${prefix}${key}`, value });
|
|
2352
|
+
}
|
|
2353
|
+
}
|
|
2354
|
+
if (propertyEntries.length > 0) {
|
|
2355
|
+
const checked = validateVaultProperties(propertyEntries);
|
|
2356
|
+
if (!checked.ok) {
|
|
2357
|
+
throw new RangeError(`Vault publish properties rejected: ${checked.reason}.`);
|
|
2358
|
+
}
|
|
2359
|
+
}
|
|
2423
2360
|
const relative = resolveVaultNotePath(input.notePathTemplate, input.date);
|
|
2424
2361
|
const result = publishRelative(input, relative, { strategy, propertiesMode, prefix });
|
|
2425
2362
|
return summarizeVaultPublish(result);
|
|
@@ -2432,10 +2369,10 @@ function publishRelative(input, relative, opts) {
|
|
|
2432
2369
|
} catch {
|
|
2433
2370
|
return refuse(relative, "error", "not_directory");
|
|
2434
2371
|
}
|
|
2435
|
-
const root =
|
|
2436
|
-
const dest =
|
|
2437
|
-
const lexical =
|
|
2438
|
-
if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${
|
|
2372
|
+
const root = path4.resolve(vault);
|
|
2373
|
+
const dest = path4.resolve(root, relative);
|
|
2374
|
+
const lexical = path4.relative(root, dest);
|
|
2375
|
+
if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${path4.sep}`) || path4.isAbsolute(lexical)) {
|
|
2439
2376
|
return refuse(relative, "error", "path_escape");
|
|
2440
2377
|
}
|
|
2441
2378
|
if (!containedBySymlinks(root, dest)) {
|
|
@@ -2447,14 +2384,14 @@ function publishRelative(input, relative, opts) {
|
|
|
2447
2384
|
if (lstatSync(dest).isSymbolicLink()) {
|
|
2448
2385
|
return refuse(relative, "error", "symlinked_note");
|
|
2449
2386
|
}
|
|
2450
|
-
const st =
|
|
2387
|
+
const st = statSync2(dest);
|
|
2451
2388
|
if (st.isFile()) {
|
|
2452
|
-
currentText =
|
|
2389
|
+
currentText = readFileSync2(dest, "utf8");
|
|
2453
2390
|
expected = {
|
|
2454
2391
|
ino: st.ino,
|
|
2455
2392
|
mtimeMs: st.mtimeMs,
|
|
2456
2393
|
size: st.size,
|
|
2457
|
-
sha256:
|
|
2394
|
+
sha256: createHash("sha256").update(currentText, "utf8").digest("hex")
|
|
2458
2395
|
};
|
|
2459
2396
|
} else return refuse(relative, "error", "not_a_file");
|
|
2460
2397
|
} catch (err) {
|
|
@@ -2463,13 +2400,13 @@ function publishRelative(input, relative, opts) {
|
|
|
2463
2400
|
let created = false;
|
|
2464
2401
|
if (currentText === null) {
|
|
2465
2402
|
if (input.createMissingNotes === true && typeof input.noteTemplate === "string" && input.noteTemplate.length > 0) {
|
|
2466
|
-
const templatePath =
|
|
2467
|
-
const templateRel =
|
|
2468
|
-
if (templateRel === ".." || templateRel.startsWith(`..${
|
|
2403
|
+
const templatePath = path4.resolve(root, input.noteTemplate);
|
|
2404
|
+
const templateRel = path4.relative(root, templatePath);
|
|
2405
|
+
if (templateRel === ".." || templateRel.startsWith(`..${path4.sep}`) || path4.isAbsolute(templateRel) || templateRel.length === 0 || !containedBySymlinks(root, templatePath)) {
|
|
2469
2406
|
return refuse(relative, "error", "template_escape");
|
|
2470
2407
|
}
|
|
2471
2408
|
try {
|
|
2472
|
-
const templateText =
|
|
2409
|
+
const templateText = readFileSync2(templatePath, "utf8");
|
|
2473
2410
|
currentText = expandVaultTemplateTokens(templateText, input.date);
|
|
2474
2411
|
if (!currentText.endsWith("\n")) currentText += "\n";
|
|
2475
2412
|
created = true;
|
|
@@ -2516,8 +2453,8 @@ function publishRelative(input, relative, opts) {
|
|
|
2516
2453
|
text = merged.text;
|
|
2517
2454
|
}
|
|
2518
2455
|
}
|
|
2519
|
-
const prevHash =
|
|
2520
|
-
const nextHash =
|
|
2456
|
+
const prevHash = createHash("sha256").update(original, "utf8").digest("hex");
|
|
2457
|
+
const nextHash = createHash("sha256").update(text, "utf8").digest("hex");
|
|
2521
2458
|
if (prevHash === nextHash) {
|
|
2522
2459
|
return withSkipped([{ path: relative, outcome: "unchanged" }]);
|
|
2523
2460
|
}
|
|
@@ -2526,7 +2463,7 @@ function publishRelative(input, relative, opts) {
|
|
|
2526
2463
|
}
|
|
2527
2464
|
if (created) {
|
|
2528
2465
|
try {
|
|
2529
|
-
mkdirSync(
|
|
2466
|
+
mkdirSync(path4.dirname(dest), { recursive: true });
|
|
2530
2467
|
} catch {
|
|
2531
2468
|
return refuse(relative, "error", "mkdir_failed");
|
|
2532
2469
|
}
|
|
@@ -2547,7 +2484,7 @@ function decorate(section, prefixed, mode) {
|
|
|
2547
2484
|
const parts = [section.content];
|
|
2548
2485
|
if (prefixed !== void 0 && mode === "dataview-inline") {
|
|
2549
2486
|
for (const [key, value] of Object.entries(prefixed)) {
|
|
2550
|
-
parts.push(`${key}:: ${value}`);
|
|
2487
|
+
parts.push(`${key}:: ${renderVaultPropertyValue(value)}`);
|
|
2551
2488
|
}
|
|
2552
2489
|
}
|
|
2553
2490
|
if (section.provenance !== void 0) {
|
|
@@ -2641,17 +2578,21 @@ function frontmatterUpdates(sections, prefix) {
|
|
|
2641
2578
|
function mergeFrontmatterKeys(noteText, updates) {
|
|
2642
2579
|
const entries = Object.entries(updates);
|
|
2643
2580
|
if (entries.length === 0) return { ok: true, text: noteText };
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
}
|
|
2581
|
+
const checked = validateVaultProperties(entries.map(([key, value]) => ({ key, value })));
|
|
2582
|
+
if (!checked.ok) {
|
|
2583
|
+
return { ok: false, reason: "invalid_property" };
|
|
2648
2584
|
}
|
|
2649
2585
|
const eol = noteText.includes("\r\n") ? "\r\n" : "\n";
|
|
2650
2586
|
const openRe = /^---\r?$/;
|
|
2651
2587
|
const firstLineEnd = noteText.indexOf("\n");
|
|
2652
2588
|
const firstLine = firstLineEnd === -1 ? noteText : noteText.slice(0, firstLineEnd);
|
|
2653
2589
|
if (!openRe.test(firstLine)) {
|
|
2654
|
-
const block = [
|
|
2590
|
+
const block = [
|
|
2591
|
+
"---",
|
|
2592
|
+
...entries.map(([key, value]) => `${key}: ${renderVaultPropertyValue(value)}`),
|
|
2593
|
+
"---",
|
|
2594
|
+
""
|
|
2595
|
+
].join(eol);
|
|
2655
2596
|
return { ok: true, text: block + eol + noteText };
|
|
2656
2597
|
}
|
|
2657
2598
|
const lines = noteText.split(eol);
|
|
@@ -2674,13 +2615,13 @@ function mergeFrontmatterKeys(noteText, updates) {
|
|
|
2674
2615
|
if (rawKey !== rawKey.trimStart()) continue;
|
|
2675
2616
|
const key = rawKey.trimEnd();
|
|
2676
2617
|
if (!pending.has(key)) continue;
|
|
2677
|
-
lines[i] = `${rawKey}: ${pending.get(key)}`;
|
|
2618
|
+
lines[i] = `${rawKey}: ${renderVaultPropertyValue(pending.get(key))}`;
|
|
2678
2619
|
pending.delete(key);
|
|
2679
2620
|
}
|
|
2680
2621
|
const insertAt = closeIdx;
|
|
2681
2622
|
const added = [];
|
|
2682
2623
|
for (const [key, value] of pending.entries()) {
|
|
2683
|
-
added.push(`${key}: ${value}`);
|
|
2624
|
+
added.push(`${key}: ${renderVaultPropertyValue(value)}`);
|
|
2684
2625
|
}
|
|
2685
2626
|
lines.splice(insertAt, 0, ...added);
|
|
2686
2627
|
return { ok: true, text: lines.join(eol) };
|
|
@@ -2690,13 +2631,13 @@ function containedBySymlinks(root, dest) {
|
|
|
2690
2631
|
let probe = dest;
|
|
2691
2632
|
for (; ; ) {
|
|
2692
2633
|
try {
|
|
2693
|
-
if (lstatSync(probe).isSymbolicLink() ||
|
|
2634
|
+
if (lstatSync(probe).isSymbolicLink() || statSync2(probe).isFile() || statSync2(probe).isDirectory()) {
|
|
2694
2635
|
const real = realpathSync(probe);
|
|
2695
|
-
return real === realRoot || real.startsWith(`${realRoot}${
|
|
2636
|
+
return real === realRoot || real.startsWith(`${realRoot}${path4.sep}`);
|
|
2696
2637
|
}
|
|
2697
2638
|
} catch {
|
|
2698
2639
|
}
|
|
2699
|
-
const parent =
|
|
2640
|
+
const parent = path4.dirname(probe);
|
|
2700
2641
|
if (parent === probe) return false;
|
|
2701
2642
|
probe = parent;
|
|
2702
2643
|
}
|
|
@@ -2706,11 +2647,11 @@ function setVaultPublisherTestHooks(hooks) {
|
|
|
2706
2647
|
vaultPublisherTestHooks = hooks;
|
|
2707
2648
|
}
|
|
2708
2649
|
function writeAtomic(dest, text, expect) {
|
|
2709
|
-
const tmpPath =
|
|
2710
|
-
|
|
2650
|
+
const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
|
|
2651
|
+
writeFileSync(tmpPath, text);
|
|
2711
2652
|
let prev = null;
|
|
2712
2653
|
try {
|
|
2713
|
-
prev =
|
|
2654
|
+
prev = statSync2(dest);
|
|
2714
2655
|
} catch {
|
|
2715
2656
|
prev = null;
|
|
2716
2657
|
}
|
|
@@ -2724,30 +2665,30 @@ function writeAtomic(dest, text, expect) {
|
|
|
2724
2665
|
vaultPublisherTestHooks?.beforeReplaceVerify?.(dest);
|
|
2725
2666
|
try {
|
|
2726
2667
|
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 ||
|
|
2668
|
+
prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size || createHash("sha256").update(readFileSync2(dest, "utf8"), "utf8").digest("hex") !== expect.sha256;
|
|
2728
2669
|
if (concurrent) {
|
|
2729
2670
|
try {
|
|
2730
|
-
|
|
2671
|
+
unlinkSync2(tmpPath);
|
|
2731
2672
|
} catch {
|
|
2732
2673
|
}
|
|
2733
2674
|
return "concurrent";
|
|
2734
2675
|
}
|
|
2735
2676
|
} catch {
|
|
2736
2677
|
try {
|
|
2737
|
-
|
|
2678
|
+
unlinkSync2(tmpPath);
|
|
2738
2679
|
} catch {
|
|
2739
2680
|
}
|
|
2740
2681
|
return "concurrent";
|
|
2741
2682
|
}
|
|
2742
2683
|
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
2743
2684
|
try {
|
|
2744
|
-
|
|
2685
|
+
renameSync(tmpPath, dest);
|
|
2745
2686
|
return "written";
|
|
2746
2687
|
} catch (err) {
|
|
2747
2688
|
const code = err.code;
|
|
2748
2689
|
if (attempt === 1 || code !== "EBUSY" && code !== "EPERM") {
|
|
2749
2690
|
try {
|
|
2750
|
-
|
|
2691
|
+
unlinkSync2(tmpPath);
|
|
2751
2692
|
} catch {
|
|
2752
2693
|
}
|
|
2753
2694
|
if (code === "EBUSY" || code === "EPERM") return "failed";
|
|
@@ -2778,6 +2719,11 @@ function runTimelinePublishCli(config, options, io) {
|
|
|
2778
2719
|
);
|
|
2779
2720
|
return 1;
|
|
2780
2721
|
}
|
|
2722
|
+
if (options.date !== void 0 && (typeof options.date !== "string" || options.date.length === 0)) {
|
|
2723
|
+
io.stderr.write(`Invalid --date ${JSON.stringify(options.date ?? "")}; expected YYYY-MM-DD.
|
|
2724
|
+
`);
|
|
2725
|
+
return 1;
|
|
2726
|
+
}
|
|
2781
2727
|
const date = typeof options.date === "string" && options.date.length > 0 ? options.date : activityDateInTimezone(/* @__PURE__ */ new Date(), config.activity?.timezone ?? "UTC");
|
|
2782
2728
|
if (!isValidActivityDate(date)) {
|
|
2783
2729
|
io.stderr.write(`Invalid --date "${date}"; expected YYYY-MM-DD.
|
|
@@ -2813,7 +2759,7 @@ function runTimelinePublishCli(config, options, io) {
|
|
|
2813
2759
|
);
|
|
2814
2760
|
return 1;
|
|
2815
2761
|
}
|
|
2816
|
-
sections.push({ name: target.section, content:
|
|
2762
|
+
sections.push({ name: target.section, content: readFileSync3(source, "utf8").trimEnd() });
|
|
2817
2763
|
}
|
|
2818
2764
|
const status = publishVaultNote({
|
|
2819
2765
|
vaultPath: vault.vaultPath,
|
|
@@ -2861,6 +2807,11 @@ function parseKinds(raw) {
|
|
|
2861
2807
|
function registerTimelineCommands(cmd, orchestrator) {
|
|
2862
2808
|
const timelineCmd = cmd.command("timeline").description("Timeline artifacts: publish the day's recap into a markdown vault (issue #1985)");
|
|
2863
2809
|
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) => {
|
|
2810
|
+
if (args.some((arg) => typeof arg === "string")) {
|
|
2811
|
+
process.stderr.write("timeline publish takes no positional arguments.\n");
|
|
2812
|
+
process.exitCode = 1;
|
|
2813
|
+
return;
|
|
2814
|
+
}
|
|
2864
2815
|
const options = args[0] ?? {};
|
|
2865
2816
|
const code = runTimelinePublishCli(orchestrator.config, options, {
|
|
2866
2817
|
stdout: process.stdout,
|
|
@@ -2871,10 +2822,10 @@ function registerTimelineCommands(cmd, orchestrator) {
|
|
|
2871
2822
|
}
|
|
2872
2823
|
|
|
2873
2824
|
// src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts
|
|
2874
|
-
import
|
|
2825
|
+
import path5 from "path";
|
|
2875
2826
|
async function runRebuildMemoryLifecycleLedgerCliCommand(options) {
|
|
2876
2827
|
const storage = options.storage;
|
|
2877
|
-
const ledgerPath =
|
|
2828
|
+
const ledgerPath = path5.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
|
|
2878
2829
|
const encrypted = await probeEncryptedRegularFileHeader(ledgerPath);
|
|
2879
2830
|
if (encrypted && !(storage?.isSecureStoreUnlocked() ?? false)) {
|
|
2880
2831
|
throw new Error(
|
|
@@ -3372,7 +3323,7 @@ assistant> ${result.reply}
|
|
|
3372
3323
|
// src/training-export/converter.ts
|
|
3373
3324
|
import { constants } from "fs";
|
|
3374
3325
|
import { lstat as lstat2, open, readdir as readdir2, realpath as realpath2 } from "fs/promises";
|
|
3375
|
-
import
|
|
3326
|
+
import path6 from "path";
|
|
3376
3327
|
function parseFrontmatter(raw) {
|
|
3377
3328
|
const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
|
|
3378
3329
|
if (!match) return null;
|
|
@@ -3412,7 +3363,7 @@ async function safeRealpath(p) {
|
|
|
3412
3363
|
}
|
|
3413
3364
|
}
|
|
3414
3365
|
function isContainedPath(real, containmentRoot) {
|
|
3415
|
-
return real === containmentRoot || real.startsWith(containmentRoot +
|
|
3366
|
+
return real === containmentRoot || real.startsWith(containmentRoot + path6.sep);
|
|
3416
3367
|
}
|
|
3417
3368
|
async function collectMarkdownFiles(dir, containmentRoot) {
|
|
3418
3369
|
const files = [];
|
|
@@ -3432,7 +3383,7 @@ async function collectMarkdownFiles(dir, containmentRoot) {
|
|
|
3432
3383
|
}
|
|
3433
3384
|
const sorted = [...entries].sort((a, b) => a.name.localeCompare(b.name));
|
|
3434
3385
|
for (const entry of sorted) {
|
|
3435
|
-
const full =
|
|
3386
|
+
const full = path6.join(d, entry.name);
|
|
3436
3387
|
if (entry.isSymbolicLink()) continue;
|
|
3437
3388
|
if (entry.isDirectory()) {
|
|
3438
3389
|
await walk(full);
|
|
@@ -3514,9 +3465,9 @@ async function convertMemoriesToRecords(options) {
|
|
|
3514
3465
|
const { memoryDir } = options;
|
|
3515
3466
|
const containmentRoot = await safeRealpath(memoryDir);
|
|
3516
3467
|
if (!containmentRoot) return [];
|
|
3517
|
-
const dirs = RECALL_FALLBACK_DIRS.map((dir) =>
|
|
3468
|
+
const dirs = RECALL_FALLBACK_DIRS.map((dir) => path6.join(memoryDir, dir));
|
|
3518
3469
|
if (options.includeEntities) {
|
|
3519
|
-
dirs.push(
|
|
3470
|
+
dirs.push(path6.join(memoryDir, "entities"));
|
|
3520
3471
|
}
|
|
3521
3472
|
const allFiles = [];
|
|
3522
3473
|
for (const dir of dirs) {
|
|
@@ -3779,14 +3730,14 @@ async function runTrainingExportCliCommand(opts) {
|
|
|
3779
3730
|
`Unknown training-export format "${opts.format}". ${validList}`
|
|
3780
3731
|
);
|
|
3781
3732
|
}
|
|
3782
|
-
const { statSync:
|
|
3733
|
+
const { statSync: statSync3, existsSync: existsSync2 } = await import("fs");
|
|
3783
3734
|
if (!existsSync2(expandedMemoryDir)) {
|
|
3784
3735
|
throw new Error(
|
|
3785
3736
|
`--memory-dir "${opts.memoryDir}" does not exist. Provide the path to an existing memory directory.`
|
|
3786
3737
|
);
|
|
3787
3738
|
}
|
|
3788
3739
|
try {
|
|
3789
|
-
if (!
|
|
3740
|
+
if (!statSync3(expandedMemoryDir).isDirectory()) {
|
|
3790
3741
|
throw new Error(
|
|
3791
3742
|
`--memory-dir "${opts.memoryDir}" is not a directory. Provide the path to a memory directory, not a file.`
|
|
3792
3743
|
);
|
|
@@ -4521,10 +4472,10 @@ function effectivePolicyValuesForVersion(values, config) {
|
|
|
4521
4472
|
}
|
|
4522
4473
|
function policyVersionForValues(values, config) {
|
|
4523
4474
|
const normalized = effectivePolicyValuesForVersion(values, config);
|
|
4524
|
-
return
|
|
4475
|
+
return createHash2("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
|
|
4525
4476
|
}
|
|
4526
4477
|
async function readRuntimePolicySnapshot2(config, fileName) {
|
|
4527
|
-
const filePath =
|
|
4478
|
+
const filePath = path7.join(config.memoryDir, "state", fileName);
|
|
4528
4479
|
const snapshot = await readRuntimePolicySnapshot(filePath, {
|
|
4529
4480
|
maxStaleDecayThreshold: config.lifecycleArchiveDecayThreshold
|
|
4530
4481
|
});
|
|
@@ -5301,7 +5252,7 @@ async function exists(p) {
|
|
|
5301
5252
|
}
|
|
5302
5253
|
}
|
|
5303
5254
|
function assertSafeNamespaceSegment(namespace) {
|
|
5304
|
-
if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") ||
|
|
5255
|
+
if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path7.isAbsolute(namespace) || path7.win32.isAbsolute(namespace)) {
|
|
5305
5256
|
throw new Error(`invalid namespace: ${namespace}`);
|
|
5306
5257
|
}
|
|
5307
5258
|
}
|
|
@@ -5351,7 +5302,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
|
|
|
5351
5302
|
for (const entry of entries) {
|
|
5352
5303
|
if (entry.isSymbolicLink()) continue;
|
|
5353
5304
|
const entryName = typeof entry.name === "string" ? entry.name : entry.name.toString("utf-8");
|
|
5354
|
-
const fullPath =
|
|
5305
|
+
const fullPath = path7.join(dir, entryName);
|
|
5355
5306
|
try {
|
|
5356
5307
|
assertPathInsideRoot(memoryRootReal, await realpath3(fullPath), fullPath);
|
|
5357
5308
|
} catch (err) {
|
|
@@ -5366,7 +5317,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
|
|
|
5366
5317
|
await visit(fullPath);
|
|
5367
5318
|
}
|
|
5368
5319
|
};
|
|
5369
|
-
for (const root of RECALL_FALLBACK_DIRS.map((dir) =>
|
|
5320
|
+
for (const root of RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir))) {
|
|
5370
5321
|
await walk(root);
|
|
5371
5322
|
}
|
|
5372
5323
|
}
|
|
@@ -5976,7 +5927,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
5976
5927
|
if (plan.moved.length > 0) {
|
|
5977
5928
|
console.log("\nEntries:");
|
|
5978
5929
|
for (const move of plan.moved) {
|
|
5979
|
-
console.log(`- ${
|
|
5930
|
+
console.log(`- ${path7.basename(move.from)}`);
|
|
5980
5931
|
}
|
|
5981
5932
|
}
|
|
5982
5933
|
if (dryRun) {
|
|
@@ -6277,15 +6228,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6277
6228
|
const capsulesDir = defaultCapsulesDir(memoryDir);
|
|
6278
6229
|
const { stat: statMerge } = await import("fs/promises");
|
|
6279
6230
|
let sourceArchive = expandTildePath(parsed.archive);
|
|
6280
|
-
const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(
|
|
6231
|
+
const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path7.sep);
|
|
6281
6232
|
if (!looksLikePath) {
|
|
6282
|
-
const cwdResolved =
|
|
6233
|
+
const cwdResolved = path7.resolve(sourceArchive);
|
|
6283
6234
|
const cwdSt = await statMerge(cwdResolved).catch(() => null);
|
|
6284
6235
|
if (cwdSt && cwdSt.isFile()) {
|
|
6285
6236
|
sourceArchive = cwdResolved;
|
|
6286
6237
|
} else {
|
|
6287
|
-
const byId =
|
|
6288
|
-
const byIdEnc =
|
|
6238
|
+
const byId = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
|
|
6239
|
+
const byIdEnc = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
|
|
6289
6240
|
const stId = await statMerge(byId).catch(() => null);
|
|
6290
6241
|
if (stId && stId.isFile()) {
|
|
6291
6242
|
sourceArchive = byId;
|
|
@@ -6366,10 +6317,10 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6366
6317
|
).sort();
|
|
6367
6318
|
const entries = [];
|
|
6368
6319
|
for (const archiveName of archives) {
|
|
6369
|
-
const archivePath =
|
|
6320
|
+
const archivePath = path7.join(capsulesDir, archiveName);
|
|
6370
6321
|
const id = archiveName.replace(/\.capsule\.json\.gz\.enc$/, "").replace(/\.capsule\.json\.gz$/, "");
|
|
6371
6322
|
const manifestName = `${id}.manifest.json`;
|
|
6372
|
-
const manifestPath =
|
|
6323
|
+
const manifestPath = path7.join(capsulesDir, manifestName);
|
|
6373
6324
|
let createdAt = null;
|
|
6374
6325
|
let pluginVersion = null;
|
|
6375
6326
|
let fileCount = null;
|
|
@@ -6424,15 +6375,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
6424
6375
|
const parsed = parseCapsuleInspectOptions(archiveArg, opts);
|
|
6425
6376
|
const { stat } = await import("fs/promises");
|
|
6426
6377
|
let archivePath = expandTildePath(parsed.archive);
|
|
6427
|
-
const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(
|
|
6378
|
+
const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path7.sep);
|
|
6428
6379
|
if (!looksLikePath) {
|
|
6429
|
-
const cwdResolved =
|
|
6380
|
+
const cwdResolved = path7.resolve(archivePath);
|
|
6430
6381
|
const cwdSt = await stat(cwdResolved).catch(() => null);
|
|
6431
6382
|
if (cwdSt && cwdSt.isFile()) {
|
|
6432
6383
|
archivePath = cwdResolved;
|
|
6433
6384
|
} else {
|
|
6434
|
-
const byId =
|
|
6435
|
-
const byIdEnc =
|
|
6385
|
+
const byId = path7.join(capsulesDir, `${archivePath}.capsule.json.gz`);
|
|
6386
|
+
const byIdEnc = path7.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
|
|
6436
6387
|
const st = await stat(byId).catch(() => null);
|
|
6437
6388
|
if (st && st.isFile()) {
|
|
6438
6389
|
archivePath = byId;
|
|
@@ -8425,7 +8376,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8425
8376
|
return;
|
|
8426
8377
|
}
|
|
8427
8378
|
const expandedTarget = expandTildePath(rawTarget);
|
|
8428
|
-
const targetPath =
|
|
8379
|
+
const targetPath = path7.isAbsolute(expandedTarget) ? expandedTarget : path7.join(orchestrator.config.memoryDir, expandedTarget);
|
|
8429
8380
|
const { runConsolidationUndo, formatConsolidationUndoResult } = await import("./consolidation-undo.js");
|
|
8430
8381
|
const result = await runConsolidationUndo({
|
|
8431
8382
|
storage: orchestrator.storage,
|
|
@@ -8463,7 +8414,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8463
8414
|
}
|
|
8464
8415
|
});
|
|
8465
8416
|
cmd.command("identity").description("Show agent identity reflections").action(async () => {
|
|
8466
|
-
const workspaceDir =
|
|
8417
|
+
const workspaceDir = path7.join(resolveHomeDir(), ".openclaw", "workspace");
|
|
8467
8418
|
const identity = await orchestrator.storage.readIdentity(workspaceDir);
|
|
8468
8419
|
if (!identity) {
|
|
8469
8420
|
console.log("No identity file found.");
|
|
@@ -8686,8 +8637,8 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
8686
8637
|
const options = args[0] ?? {};
|
|
8687
8638
|
const threadId = options.thread;
|
|
8688
8639
|
const top = parseInt(options.top ?? "10", 10);
|
|
8689
|
-
const memoryDir =
|
|
8690
|
-
const threading = new ThreadingManager(
|
|
8640
|
+
const memoryDir = path7.join(resolveHomeDir(), ".openclaw", "workspace", "memory", "local");
|
|
8641
|
+
const threading = new ThreadingManager(path7.join(memoryDir, "threads"));
|
|
8691
8642
|
if (threadId) {
|
|
8692
8643
|
const thread = await threading.loadThread(threadId);
|
|
8693
8644
|
if (!thread) {
|
|
@@ -9621,10 +9572,13 @@ export {
|
|
|
9621
9572
|
runMeetingsCliCommand,
|
|
9622
9573
|
runOkfCliCommand,
|
|
9623
9574
|
runHarmonicSearchCliCommand,
|
|
9624
|
-
|
|
9625
|
-
|
|
9626
|
-
|
|
9627
|
-
|
|
9575
|
+
applyVaultFrontmatter,
|
|
9576
|
+
VAULT_PROPERTY_KEY_MAX_CHARS,
|
|
9577
|
+
VAULT_PROPERTY_SCALAR_MAX_CHARS,
|
|
9578
|
+
VAULT_PROPERTY_LIST_MAX_ITEMS,
|
|
9579
|
+
VAULT_PROPERTY_TOTAL_MAX_CHARS,
|
|
9580
|
+
renderVaultPropertyValue,
|
|
9581
|
+
validateVaultProperties,
|
|
9628
9582
|
insertMarkersUnderHeading,
|
|
9629
9583
|
assertBeginEndPair,
|
|
9630
9584
|
VAULT_PUBLISH_OUTCOMES,
|
|
@@ -9730,4 +9684,4 @@ export {
|
|
|
9730
9684
|
listMemoryMarkdownFilePaths,
|
|
9731
9685
|
registerCli
|
|
9732
9686
|
};
|
|
9733
|
-
//# sourceMappingURL=chunk-
|
|
9687
|
+
//# sourceMappingURL=chunk-DAZANIYU.js.map
|