@remnic/core 9.69.40 → 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 +13 -13
- package/dist/access-admin-ops-surface.js +69 -68
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.d.ts +13 -13
- package/dist/access-authorization-probe.js +70 -69
- package/dist/access-boundary.d.ts +13 -13
- package/dist/access-boundary.js +69 -68
- package/dist/access-cli.js +157 -155
- 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 +13 -13
- package/dist/access-extraction-force-flush.js +69 -68
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-briefing.d.ts +13 -13
- package/dist/access-http-briefing.js +70 -69
- package/dist/access-http-lcm-compaction.d.ts +13 -13
- package/dist/access-http-lifecycle-flush.d.ts +13 -13
- package/dist/access-http-offline-stream.d.ts +13 -13
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +71 -70
- package/dist/access-http.d.ts +14 -14
- package/dist/access-http.js +90 -87
- package/dist/access-identity-continuity-surface.d.ts +11 -11
- package/dist/access-identity-continuity-surface.js +69 -68
- package/dist/access-lcm-surface.d.ts +13 -13
- package/dist/access-lcm-surface.js +69 -68
- 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 +13 -13
- package/dist/access-mcp.js +81 -78
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-CKBumJ8W.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 +69 -68
- package/dist/access-observe-transcript.d.ts +11 -11
- 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 +13 -13
- package/dist/access-observe-write-surface.js +69 -68
- package/dist/access-offline-manifest.d.ts +11 -11
- package/dist/access-offline-manifest.js +9 -9
- package/dist/access-operations-batch.js +74 -72
- package/dist/access-operations.d.ts +13 -13
- package/dist/access-operations.js +79 -77
- package/dist/access-recall-concurrency.d.ts +13 -13
- package/dist/access-recall-concurrency.js +69 -68
- package/dist/access-recall-response.d.ts +13 -13
- package/dist/access-recall-response.js +69 -68
- package/dist/access-recall-surface.d.ts +13 -13
- package/dist/access-recall-surface.js +69 -68
- package/dist/access-schema.d.ts +1 -1
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-DJ3qogNt.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
- package/dist/access-service-helpers.d.ts +13 -13
- package/dist/access-service.d.ts +13 -13
- package/dist/access-service.js +69 -68
- package/dist/access-surface-catalog.d.ts +13 -13
- package/dist/access-surface-catalog.js +71 -70
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +4 -4
- 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 +6 -6
- 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-D6BAPIJV.js → auto-sync-7PGUFY7U.js} +7 -7
- 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 +11 -11
- package/dist/briefing-window.d.ts +2 -2
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +17 -17
- 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 +1 -1
- 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-BHXkBVhg.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 +20 -20
- package/dist/causal-trajectory-graph.d.ts +1 -1
- 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-VHKXRYQN.js → chunk-2HQPE2NM.js} +2 -2
- package/dist/{chunk-RDLPFM7I.js → chunk-2ZG2LLZT.js} +2 -2
- package/dist/{chunk-IMBQFHRV.js → chunk-3BLHPQHT.js} +5 -5
- package/dist/{chunk-6L2II3KS.js → chunk-3D75XIYO.js} +2 -2
- package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
- package/dist/{chunk-RJQAP333.js → chunk-46RII65S.js} +2 -2
- package/dist/{chunk-JUDT33RX.js → chunk-4AX5OYKC.js} +2 -2
- package/dist/{chunk-GSSDHAYH.js → chunk-4IGOLIWM.js} +2 -2
- package/dist/{chunk-4CMXI55L.js → chunk-54QPOE45.js} +2 -2
- package/dist/{chunk-LKFVVN7R.js → chunk-563X6JJX.js} +2 -2
- package/dist/{chunk-VQWBUPSJ.js → chunk-5EQT62HH.js} +2 -2
- package/dist/{chunk-BYQX4IOG.js → chunk-6MQMYXSQ.js} +2 -2
- package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
- package/dist/{chunk-K75A5XWU.js → chunk-7ZLC4DTZ.js} +4 -4
- package/dist/{chunk-7Z54NXVS.js → chunk-A4OIJYCV.js} +2 -2
- package/dist/{chunk-QS5Q5RBV.js → chunk-AFJHNHAM.js} +8 -8
- package/dist/{chunk-TZ44E732.js → chunk-AIVRD66I.js} +2 -2
- package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
- package/dist/chunk-AJBWVDRV.js.map +1 -0
- package/dist/{chunk-IOPIGX7Y.js → chunk-AKABVXFS.js} +2 -2
- package/dist/{chunk-KOTG3RXE.js → chunk-AUSRUOMQ.js} +2 -2
- package/dist/{chunk-K4A6UVPB.js → chunk-BTPCP535.js} +8 -8
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-TEMKBSV6.js → chunk-C3G6MW4W.js} +3 -3
- package/dist/{chunk-3QEVOQF5.js → chunk-D6PY63OM.js} +2 -2
- package/dist/{chunk-DFVSJFHK.js → chunk-DBB5JPSL.js} +2 -2
- package/dist/{chunk-HJUP3K6L.js → chunk-DIXZQTGY.js} +2 -2
- package/dist/{chunk-ZX3AYNNV.js → chunk-DM5CU5J7.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-BGRTZOJB.js → chunk-E3I3NDUP.js} +4 -4
- package/dist/{chunk-ZAEPD4C2.js → chunk-E4LMQTST.js} +2 -2
- package/dist/{chunk-NETQXOPY.js → chunk-EH3HNCAM.js} +12 -7
- package/dist/{chunk-NETQXOPY.js.map → chunk-EH3HNCAM.js.map} +1 -1
- package/dist/{chunk-7D6SER6A.js → chunk-EMSYMYXO.js} +14 -14
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-V2ZA4YWE.js → chunk-F5H6YG5P.js} +2 -2
- package/dist/{chunk-YTK5MVNF.js → chunk-FGFC2EFR.js} +14 -13
- package/dist/chunk-FGFC2EFR.js.map +1 -0
- package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
- package/dist/{chunk-IS2IDFJP.js → chunk-GMH5QPUU.js} +22 -22
- package/dist/chunk-GMH5QPUU.js.map +1 -0
- package/dist/{chunk-LFVZD5EC.js → chunk-GWNSKQDA.js} +3 -3
- package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
- package/dist/{chunk-2SNCQHJZ.js → chunk-I33QYUAF.js} +6 -6
- package/dist/{chunk-UZ6JYPJ6.js → chunk-I46BYY7U.js} +193 -150
- package/dist/chunk-I46BYY7U.js.map +1 -0
- package/dist/{chunk-MVG3KXON.js → chunk-ICN37XHG.js} +15 -15
- package/dist/chunk-IFBSZGW3.js +42 -0
- package/dist/chunk-IFBSZGW3.js.map +1 -0
- package/dist/{chunk-ICNJ6J46.js → chunk-IYIPXAIJ.js} +2 -2
- package/dist/{chunk-AEOOGXMQ.js → chunk-J2MGTGKC.js} +4 -4
- 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-NVVZPBKI.js → chunk-JMWUPUE6.js} +2 -2
- package/dist/{chunk-QPVNK2VE.js → chunk-JSD7Q7LD.js} +2 -2
- package/dist/{chunk-RLU2Y5GV.js → chunk-K5D2XVNN.js} +4 -4
- package/dist/{chunk-YTZN2UZO.js → chunk-KJLLPG26.js} +2 -2
- package/dist/{chunk-2SKMZUOW.js → chunk-KLUC2GSG.js} +6 -6
- package/dist/{chunk-YRIFXXMI.js → chunk-KZJM7R4F.js} +3 -3
- package/dist/{chunk-46Z3VGWF.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-5LYSEZOF.js → chunk-MCMS4VUK.js} +9 -8
- package/dist/chunk-MCMS4VUK.js.map +1 -0
- package/dist/{chunk-ROEFLU37.js → chunk-N6XTC56E.js} +13 -81
- package/dist/chunk-N6XTC56E.js.map +1 -0
- package/dist/{chunk-PKUJNICO.js → chunk-ND7MAIJC.js} +2 -2
- package/dist/{chunk-DAZANIYU.js → chunk-NYWCFC3K.js} +76 -77
- package/dist/{chunk-DAZANIYU.js.map → chunk-NYWCFC3K.js.map} +1 -1
- package/dist/{chunk-W23JARAQ.js → chunk-P66QH6R6.js} +2 -2
- package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
- package/dist/{chunk-XM46Y66S.js → chunk-PFKIOYJH.js} +2 -2
- package/dist/{chunk-C5R73BON.js → chunk-PGGPRF6J.js} +2 -2
- package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
- package/dist/{chunk-JOP7W24J.js → chunk-PLJ2MQFT.js} +4 -4
- package/dist/{chunk-MJC7UKH7.js → chunk-PQ42DJNG.js} +2 -2
- package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
- package/dist/{chunk-BXIJSPCL.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-VKWFNPBH.js → chunk-RQQO3ORQ.js} +2 -2
- package/dist/{chunk-SFHLQPBF.js → chunk-S4MJTIPG.js} +85 -81
- package/dist/chunk-S4MJTIPG.js.map +1 -0
- package/dist/{chunk-THTF2W7M.js → chunk-TRTLWUDD.js} +19 -18
- package/dist/chunk-TRTLWUDD.js.map +1 -0
- package/dist/{chunk-KTOXQMW3.js → chunk-UHSOPTNB.js} +14 -4
- package/dist/chunk-UHSOPTNB.js.map +1 -0
- package/dist/{chunk-ES5BUPYB.js → chunk-UZGHKD3T.js} +2 -2
- package/dist/{chunk-62HFZNCJ.js → chunk-V2EXYQEQ.js} +11 -10
- package/dist/{chunk-62HFZNCJ.js.map → chunk-V2EXYQEQ.js.map} +1 -1
- package/dist/{chunk-QE6YVNP5.js → chunk-V2TOGJPM.js} +49 -16
- package/dist/chunk-V2TOGJPM.js.map +1 -0
- package/dist/{chunk-J4WGTN2N.js → chunk-V62YYBBY.js} +4 -4
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-Z4GUX2M6.js → chunk-VSN2DMQK.js} +2 -2
- package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
- package/dist/{chunk-KY236SP5.js → chunk-W7UV2ZCA.js} +3 -3
- package/dist/{chunk-TO36VPZI.js → chunk-WBQ4ONQJ.js} +2 -2
- package/dist/{chunk-WZYHPAG5.js → chunk-WFMQN7JE.js} +3 -3
- package/dist/{chunk-G2XZFGYN.js → chunk-WGZHSQDV.js} +4 -4
- package/dist/{chunk-MDIEES23.js → chunk-WN2OXGGH.js} +1 -1
- package/dist/chunk-WN2OXGGH.js.map +1 -0
- package/dist/{chunk-SUEOG2S4.js → chunk-WPGA4RYI.js} +2 -2
- package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
- package/dist/chunk-WUUGE7QC.js.map +1 -0
- package/dist/{chunk-J7FVMLBR.js → chunk-WZIO3TW6.js} +2 -2
- package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
- package/dist/{chunk-JAJIMTFB.js → chunk-XRS65T4O.js} +9 -9
- package/dist/{chunk-GO5LOHCD.js → chunk-YFXAWGMR.js} +2 -2
- package/dist/{chunk-ZRMMXWYI.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-K4JKAXMO.js → chunk-Z535ADTC.js} +3 -3
- package/dist/{chunk-23HFXQ5J.js → chunk-Z7NBT6AK.js} +3 -3
- package/dist/{chunk-VQYWKCDR.js → chunk-ZX6NNFSY.js} +3 -3
- package/dist/{chunk-3XPN7AVY.js → chunk-ZYSOT6HD.js} +2 -2
- package/dist/{chunk-ZZCR2QYL.js → chunk-ZZEIL3MI.js} +2 -2
- package/dist/{cli-BWri5-am.d.ts → cli-CUlMlS2N.d.ts} +5 -5
- package/dist/cli.d.ts +15 -15
- package/dist/cli.js +116 -114
- package/dist/coding/export-okf-codegraph.d.ts +1 -1
- package/dist/coding/export-okf-codegraph.js +16 -16
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +19 -19
- 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 -6
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +19 -19
- 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 +19 -19
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +4 -4
- 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 +20 -20
- 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 +19 -19
- 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 +16 -14
- package/dist/deep-recall-http-glue.js +7 -4
- package/dist/deep-recall-mcp-tools.d.ts +13 -13
- package/dist/deep-recall-policy-llm.d.ts +12 -2
- 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-ueZlKTQB.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 +18 -18
- 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 +11 -11
- package/dist/explicit-capture.js +3 -3
- package/dist/external-wiki-access.d.ts +13 -13
- package/dist/external-wiki-access.js +70 -69
- 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 +13 -13
- package/dist/extraction-error-classification.d.ts +1 -1
- package/dist/extraction-faithfulness.d.ts +2 -2
- package/dist/extraction-faithfulness.js +3 -3
- package/dist/extraction-judge-telemetry.d.ts +2 -2
- package/dist/extraction-judge-training.d.ts +2 -2
- package/dist/extraction-judge.d.ts +2 -2
- 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 +2 -2
- package/dist/extraction.js +30 -30
- package/dist/fallback-llm-codex-subscription.d.ts +15 -5
- package/dist/fallback-llm-codex-subscription.js +3 -1
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/fallback-llm.js +2 -2
- package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
- package/dist/{generic-recall-paths-CpyVmA88.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-BvUA4S7M.d.ts → index-CtmmCJoo.d.ts} +3 -3
- package/dist/index.d.ts +26 -26
- package/dist/index.js +279 -275
- 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 +8 -8
- 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 → local-llm-DpXIvm6F.d.ts} +1 -1
- package/dist/local-llm-helpers.d.ts +2 -2
- package/dist/local-llm.d.ts +2 -2
- 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 +19 -19
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +18 -18
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +17 -17
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +19 -19
- package/dist/{maintenance-CYubtIRr.d.ts → maintenance-CNgoLsoM.d.ts} +7 -6
- package/dist/mcp-memory-inspector-app.d.ts +13 -13
- 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 +13 -13
- package/dist/memory-subject.d.ts +13 -13
- 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 +18 -18
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +3 -3
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +17 -17
- 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 +20 -20
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +35 -35
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +29 -29
- package/dist/{orchestrator-BWDRJ_0d.d.ts → orchestrator-DT7ybIFz.d.ts} +18 -10
- package/dist/orchestrator.d.ts +11 -11
- package/dist/orchestrator.js +157 -155
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-7JMn2yMH.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-CJWs3mo9.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
- package/dist/{qmd-CxCH9G9m.d.ts → qmd-BkY8KpCh.d.ts} +1 -1
- 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/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 +1 -1
- package/dist/recall-planner-llm.js +2 -2
- package/dist/recall-state-view-admission.d.ts +2 -2
- package/dist/recall-state-view-admission.js +7 -7
- 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 +9 -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 +8 -8
- 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-BGAUqhBR.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 +2 -2
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +4 -4
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-CCeRD9pV.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +20 -20
- package/dist/semantic-rule-promotion.js +17 -17
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +17 -17
- package/dist/{service-BwpzRduk.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 +25 -25
- package/dist/source-attribution.d.ts +23 -1
- package/dist/source-attribution.js +13 -3
- package/dist/standup/build.js +17 -17
- package/dist/{storage-BprAGBG0.d.ts → storage-C-0Ah5OY.d.ts} +1 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +16 -16
- 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 +16 -16
- package/dist/support-passport/index.js +72 -71
- 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 +17 -17
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-nJV23pa3.d.ts → types-cK5LydjL.d.ts} +5 -0
- 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 +17 -17
- package/dist/who-knows-cli.d.ts +13 -13
- package/dist/who-knows-cli.js +18 -18
- package/dist/who-knows.d.ts +13 -13
- package/dist/who-knows.js +17 -17
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +12 -2
- 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-operations-batch.ts +45 -2
- package/src/access-service.ts +14 -7
- package/src/activity/timeline/regenerate.test.ts +48 -0
- package/src/activity/timeline/regenerate.ts +7 -5
- package/src/cli/deep-recall-commands.ts +22 -10
- package/src/config.ts +5 -0
- 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/fallback-llm-codex-subscription.ts +27 -5
- package/src/fallback-llm.test.ts +120 -0
- package/src/fallback-llm.ts +17 -16
- package/src/meetings/config.test.ts +58 -0
- package/src/orchestration/extraction-persist.ts +1 -1
- package/src/orchestration/recall-entry.ts +15 -1
- package/src/orchestration/recall-internal.ts +1 -0
- 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/providers/codex-subscription.test.ts +127 -0
- package/src/providers/codex-subscription.ts +1 -1
- package/src/recall-state-view-budget.test.ts +424 -0
- package/src/recall-state-view.ts +30 -16
- 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/types.ts +5 -0
- package/dist/chunk-5LYSEZOF.js.map +0 -1
- package/dist/chunk-CARRTDKC.js.map +0 -1
- package/dist/chunk-CC37E3QM.js.map +0 -1
- package/dist/chunk-IS2IDFJP.js.map +0 -1
- package/dist/chunk-KTOXQMW3.js.map +0 -1
- package/dist/chunk-MDIEES23.js.map +0 -1
- package/dist/chunk-OEDW4ER7.js.map +0 -1
- package/dist/chunk-QE6YVNP5.js.map +0 -1
- package/dist/chunk-ROEFLU37.js.map +0 -1
- package/dist/chunk-SFHLQPBF.js.map +0 -1
- package/dist/chunk-SV4Z2S67.js.map +0 -1
- package/dist/chunk-THTF2W7M.js.map +0 -1
- package/dist/chunk-UZ6JYPJ6.js.map +0 -1
- package/dist/chunk-YTK5MVNF.js.map +0 -1
- package/dist/chunk-ZRMMXWYI.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
- /package/dist/{auto-sync-D6BAPIJV.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-VHKXRYQN.js.map → chunk-2HQPE2NM.js.map} +0 -0
- /package/dist/{chunk-RDLPFM7I.js.map → chunk-2ZG2LLZT.js.map} +0 -0
- /package/dist/{chunk-IMBQFHRV.js.map → chunk-3BLHPQHT.js.map} +0 -0
- /package/dist/{chunk-6L2II3KS.js.map → chunk-3D75XIYO.js.map} +0 -0
- /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
- /package/dist/{chunk-RJQAP333.js.map → chunk-46RII65S.js.map} +0 -0
- /package/dist/{chunk-JUDT33RX.js.map → chunk-4AX5OYKC.js.map} +0 -0
- /package/dist/{chunk-GSSDHAYH.js.map → chunk-4IGOLIWM.js.map} +0 -0
- /package/dist/{chunk-4CMXI55L.js.map → chunk-54QPOE45.js.map} +0 -0
- /package/dist/{chunk-LKFVVN7R.js.map → chunk-563X6JJX.js.map} +0 -0
- /package/dist/{chunk-VQWBUPSJ.js.map → chunk-5EQT62HH.js.map} +0 -0
- /package/dist/{chunk-BYQX4IOG.js.map → chunk-6MQMYXSQ.js.map} +0 -0
- /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
- /package/dist/{chunk-K75A5XWU.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
- /package/dist/{chunk-7Z54NXVS.js.map → chunk-A4OIJYCV.js.map} +0 -0
- /package/dist/{chunk-QS5Q5RBV.js.map → chunk-AFJHNHAM.js.map} +0 -0
- /package/dist/{chunk-TZ44E732.js.map → chunk-AIVRD66I.js.map} +0 -0
- /package/dist/{chunk-IOPIGX7Y.js.map → chunk-AKABVXFS.js.map} +0 -0
- /package/dist/{chunk-KOTG3RXE.js.map → chunk-AUSRUOMQ.js.map} +0 -0
- /package/dist/{chunk-K4A6UVPB.js.map → chunk-BTPCP535.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-TEMKBSV6.js.map → chunk-C3G6MW4W.js.map} +0 -0
- /package/dist/{chunk-3QEVOQF5.js.map → chunk-D6PY63OM.js.map} +0 -0
- /package/dist/{chunk-DFVSJFHK.js.map → chunk-DBB5JPSL.js.map} +0 -0
- /package/dist/{chunk-HJUP3K6L.js.map → chunk-DIXZQTGY.js.map} +0 -0
- /package/dist/{chunk-ZX3AYNNV.js.map → chunk-DM5CU5J7.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-BGRTZOJB.js.map → chunk-E3I3NDUP.js.map} +0 -0
- /package/dist/{chunk-ZAEPD4C2.js.map → chunk-E4LMQTST.js.map} +0 -0
- /package/dist/{chunk-7D6SER6A.js.map → chunk-EMSYMYXO.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-V2ZA4YWE.js.map → chunk-F5H6YG5P.js.map} +0 -0
- /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
- /package/dist/{chunk-LFVZD5EC.js.map → chunk-GWNSKQDA.js.map} +0 -0
- /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
- /package/dist/{chunk-2SNCQHJZ.js.map → chunk-I33QYUAF.js.map} +0 -0
- /package/dist/{chunk-MVG3KXON.js.map → chunk-ICN37XHG.js.map} +0 -0
- /package/dist/{chunk-ICNJ6J46.js.map → chunk-IYIPXAIJ.js.map} +0 -0
- /package/dist/{chunk-AEOOGXMQ.js.map → chunk-J2MGTGKC.js.map} +0 -0
- /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
- /package/dist/{chunk-NVVZPBKI.js.map → chunk-JMWUPUE6.js.map} +0 -0
- /package/dist/{chunk-QPVNK2VE.js.map → chunk-JSD7Q7LD.js.map} +0 -0
- /package/dist/{chunk-RLU2Y5GV.js.map → chunk-K5D2XVNN.js.map} +0 -0
- /package/dist/{chunk-YTZN2UZO.js.map → chunk-KJLLPG26.js.map} +0 -0
- /package/dist/{chunk-2SKMZUOW.js.map → chunk-KLUC2GSG.js.map} +0 -0
- /package/dist/{chunk-YRIFXXMI.js.map → chunk-KZJM7R4F.js.map} +0 -0
- /package/dist/{chunk-46Z3VGWF.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-PKUJNICO.js.map → chunk-ND7MAIJC.js.map} +0 -0
- /package/dist/{chunk-W23JARAQ.js.map → chunk-P66QH6R6.js.map} +0 -0
- /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
- /package/dist/{chunk-XM46Y66S.js.map → chunk-PFKIOYJH.js.map} +0 -0
- /package/dist/{chunk-C5R73BON.js.map → chunk-PGGPRF6J.js.map} +0 -0
- /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
- /package/dist/{chunk-JOP7W24J.js.map → chunk-PLJ2MQFT.js.map} +0 -0
- /package/dist/{chunk-MJC7UKH7.js.map → chunk-PQ42DJNG.js.map} +0 -0
- /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
- /package/dist/{chunk-BXIJSPCL.js.map → chunk-Q62GA5U2.js.map} +0 -0
- /package/dist/{chunk-VKWFNPBH.js.map → chunk-RQQO3ORQ.js.map} +0 -0
- /package/dist/{chunk-ES5BUPYB.js.map → chunk-UZGHKD3T.js.map} +0 -0
- /package/dist/{chunk-J4WGTN2N.js.map → chunk-V62YYBBY.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-Z4GUX2M6.js.map → chunk-VSN2DMQK.js.map} +0 -0
- /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-KY236SP5.js.map → chunk-W7UV2ZCA.js.map} +0 -0
- /package/dist/{chunk-TO36VPZI.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
- /package/dist/{chunk-WZYHPAG5.js.map → chunk-WFMQN7JE.js.map} +0 -0
- /package/dist/{chunk-G2XZFGYN.js.map → chunk-WGZHSQDV.js.map} +0 -0
- /package/dist/{chunk-SUEOG2S4.js.map → chunk-WPGA4RYI.js.map} +0 -0
- /package/dist/{chunk-J7FVMLBR.js.map → chunk-WZIO3TW6.js.map} +0 -0
- /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
- /package/dist/{chunk-JAJIMTFB.js.map → chunk-XRS65T4O.js.map} +0 -0
- /package/dist/{chunk-GO5LOHCD.js.map → chunk-YFXAWGMR.js.map} +0 -0
- /package/dist/{chunk-K4JKAXMO.js.map → chunk-Z535ADTC.js.map} +0 -0
- /package/dist/{chunk-23HFXQ5J.js.map → chunk-Z7NBT6AK.js.map} +0 -0
- /package/dist/{chunk-VQYWKCDR.js.map → chunk-ZX6NNFSY.js.map} +0 -0
- /package/dist/{chunk-3XPN7AVY.js.map → chunk-ZYSOT6HD.js.map} +0 -0
- /package/dist/{chunk-ZZCR2QYL.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
package/src/access-mcp.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sharedContextMcpTools } from "./access-mcp-shared-context-tools.js";
|
|
1
2
|
import { randomUUID } from "node:crypto";
|
|
2
3
|
import {
|
|
3
4
|
MCP_ADMIN_OPS_MIGRATED_OPERATIONS, MCP_ADMIN_OPS_TOOLS,
|
|
@@ -1301,80 +1302,9 @@ export class EngramMcpServer {
|
|
|
1301
1302
|
additionalProperties: false,
|
|
1302
1303
|
},
|
|
1303
1304
|
},
|
|
1304
|
-
// ── Shared Context
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
description: "Write agent work product into shared-context directory for cross-agent coordination.",
|
|
1308
|
-
inputSchema: {
|
|
1309
|
-
type: "object",
|
|
1310
|
-
properties: {
|
|
1311
|
-
agentId: { type: "string", description: "Agent ID producing this output." },
|
|
1312
|
-
title: { type: "string", description: "Short title for the output." },
|
|
1313
|
-
content: { type: "string", description: "Markdown content to write." },
|
|
1314
|
-
},
|
|
1315
|
-
required: ["agentId", "title", "content"],
|
|
1316
|
-
additionalProperties: false,
|
|
1317
|
-
},
|
|
1318
|
-
},
|
|
1319
|
-
{
|
|
1320
|
-
name: "engram.shared_feedback_record",
|
|
1321
|
-
description: "Append approval/rejection decision into shared-context feedback inbox for compounding learning.",
|
|
1322
|
-
inputSchema: {
|
|
1323
|
-
type: "object",
|
|
1324
|
-
properties: {
|
|
1325
|
-
agent: { type: "string", description: "Agent name that produced the output." },
|
|
1326
|
-
decision: { type: "string", enum: ["approved", "approved_with_feedback", "rejected"] },
|
|
1327
|
-
reason: { type: "string" },
|
|
1328
|
-
date: { type: "string", description: "ISO timestamp. Defaults to now." },
|
|
1329
|
-
learning: { type: "string" },
|
|
1330
|
-
outcome: { type: "string" },
|
|
1331
|
-
severity: { type: "string", enum: ["low", "medium", "high"] },
|
|
1332
|
-
confidence: { type: "number", description: "Confidence 0-1." },
|
|
1333
|
-
workflow: { type: "string" },
|
|
1334
|
-
tags: { type: "array", items: { type: "string" } },
|
|
1335
|
-
evidenceWindowStart: { type: "string" },
|
|
1336
|
-
evidenceWindowEnd: { type: "string" },
|
|
1337
|
-
refs: { type: "array", items: { type: "string" } },
|
|
1338
|
-
},
|
|
1339
|
-
required: ["agent", "decision", "reason"],
|
|
1340
|
-
additionalProperties: false,
|
|
1341
|
-
},
|
|
1342
|
-
},
|
|
1343
|
-
{
|
|
1344
|
-
name: "engram.shared_priorities_append",
|
|
1345
|
-
description: "Append priorities text into shared-context inbox for curator merge.",
|
|
1346
|
-
inputSchema: {
|
|
1347
|
-
type: "object",
|
|
1348
|
-
properties: {
|
|
1349
|
-
agentId: { type: "string" },
|
|
1350
|
-
text: { type: "string", description: "Priority notes (markdown)." },
|
|
1351
|
-
},
|
|
1352
|
-
required: ["agentId", "text"],
|
|
1353
|
-
additionalProperties: false,
|
|
1354
|
-
},
|
|
1355
|
-
},
|
|
1356
|
-
{
|
|
1357
|
-
name: "engram.shared_context_cross_signals_run",
|
|
1358
|
-
description: "Generate cross-signal markdown + JSON artifacts from agent outputs and feedback.",
|
|
1359
|
-
inputSchema: {
|
|
1360
|
-
type: "object",
|
|
1361
|
-
properties: {
|
|
1362
|
-
date: { type: "string", description: "YYYY-MM-DD. Defaults to today." },
|
|
1363
|
-
},
|
|
1364
|
-
additionalProperties: false,
|
|
1365
|
-
},
|
|
1366
|
-
},
|
|
1367
|
-
{
|
|
1368
|
-
name: "engram.shared_context_curate_daily",
|
|
1369
|
-
description: "Generate daily roundtable summary (deterministic baseline aggregation).",
|
|
1370
|
-
inputSchema: {
|
|
1371
|
-
type: "object",
|
|
1372
|
-
properties: {
|
|
1373
|
-
date: { type: "string", description: "YYYY-MM-DD. Defaults to today." },
|
|
1374
|
-
},
|
|
1375
|
-
additionalProperties: false,
|
|
1376
|
-
},
|
|
1377
|
-
},
|
|
1305
|
+
// ── Shared Context tools (extracted; access-mcp.ts is at its ratchet
|
|
1306
|
+
// ceiling — issue #2920) ─────────────────────────────────────────
|
|
1307
|
+
...sharedContextMcpTools,
|
|
1378
1308
|
{
|
|
1379
1309
|
name: "engram.compounding_weekly_synthesize",
|
|
1380
1310
|
description:
|
|
@@ -33,7 +33,12 @@ import {
|
|
|
33
33
|
} from "./access-namespace-preflight.js";
|
|
34
34
|
import { expandTildePath } from "./utils/path.js";
|
|
35
35
|
import { resolvePrincipal } from "./namespaces/principal.js";
|
|
36
|
+
import {
|
|
37
|
+
parseSharedWriteOutputControls,
|
|
38
|
+
type SharedWriteOutputControls,
|
|
39
|
+
} from "./shared-context/write-output-controls.js";
|
|
36
40
|
import { getRecallTimingStatus, isRecallTimingsOperator } from "./recall-timings.js";
|
|
41
|
+
import { parseDeepRecallMaxSteps } from "./deep-recall-config.js";
|
|
37
42
|
import { validateBriefingFormat } from "./briefing.js";
|
|
38
43
|
import {
|
|
39
44
|
buildChatGptMemoryInspectorActionRequest,
|
|
@@ -195,7 +200,19 @@ defineOperation({ name: "meetings_list", description: "List stored meeting recor
|
|
|
195
200
|
defineOperation({ name: "meetings_get", description: "Get a stored meeting record by id.", schema: strictSchema({ id: S.str, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.meetingsGet(reqStr(input.id, "id"), { authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }) });
|
|
196
201
|
defineOperation({ name: "meetings_build", description: "Detect + fuse + store a day's meetings.", schema: strictSchema({ date: S.str, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.meetingsBuild(reqStr(input.date, "date"), { authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey) }) }) });
|
|
197
202
|
// === DEEP RECALL (issue #2332) — budgeted REFINE/EXPAND/STOP retrieval ===
|
|
198
|
-
defineOperation({ name: "deep_recall", description: "Budgeted multi-hop deep recall over the anchor graph.", schema: strictSchema({ query: S.str, maxSteps: S.flexNum, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => {
|
|
203
|
+
defineOperation({ name: "deep_recall", description: "Budgeted multi-hop deep recall over the anchor graph.", schema: strictSchema({ query: S.str, maxSteps: S.flexNum, namespace: S.str, sessionKey: S.str }), handler: async (input, ctx) => {
|
|
204
|
+
const q = defStr(input.query, "");
|
|
205
|
+
if (q.trim().length === 0) throw new EngramAccessInputError("deep_recall: query is required");
|
|
206
|
+
// Strict boundary parse (issue #2915): `"abc"` must NOT silently become the
|
|
207
|
+
// configured default and `""` must NOT become 0 — both are rejected.
|
|
208
|
+
let maxSteps: number | undefined;
|
|
209
|
+
try {
|
|
210
|
+
maxSteps = parseDeepRecallMaxSteps(input.maxSteps);
|
|
211
|
+
} catch (err) {
|
|
212
|
+
throw new EngramAccessInputError(`deep_recall: ${err instanceof Error ? err.message : String(err)}`);
|
|
213
|
+
}
|
|
214
|
+
return { result: await ctx.service.deepRecall({ query: q, maxSteps, authenticatedPrincipal: ctx.authenticatedPrincipal, namespace: optStr(input.namespace), sessionKey: optStr(input.sessionKey), ...(ctx.abortSignal ? { abortSignal: ctx.abortSignal } : {}) }) };
|
|
215
|
+
} });
|
|
199
216
|
|
|
200
217
|
// === ACTION CONFIDENCE + INSPECTOR + CAPSULE ===
|
|
201
218
|
defineOperation({ name: "action_confidence", description: "Action confidence.", schema: strictSchema({ intendedAction: S.str, confidence: S.num, risk: S.str, contextReadiness: S.str, currentContextScopes: S.strArr, userRules: z.array(z.unknown()).optional(), retrievedMemories: z.array(z.unknown()).optional() }), handler: async (input, ctx) => { const req: Record<string, unknown> = {}; if (input.intendedAction !== undefined) req.intendedAction = optStr(input.intendedAction); if (input.confidence !== undefined) req.confidence = optNum(input.confidence); if (input.risk !== undefined) req.risk = optStr(input.risk) as "low" | "medium" | "high" | "irreversible" | "restricted" | undefined; if (input.contextReadiness !== undefined) req.contextReadiness = optStr(input.contextReadiness) as "none" | "partial" | "sufficient" | undefined; if (input.currentContextScopes !== undefined) req.currentContextScopes = optStrArr(input.currentContextScopes); if (input.userRules !== undefined) req.userRules = input.userRules; if (input.retrievedMemories !== undefined) req.retrievedMemories = input.retrievedMemories; return { result: await ctx.service.actionConfidence(req) }; } });
|
|
@@ -306,7 +323,33 @@ defineOperation({ name: "memory_identity", description: "Memory identity.", sche
|
|
|
306
323
|
defineOperation({ name: "work_task", description: "Manage work task.", schema: strictSchema({ action: S.str, id: S.str, title: S.str, description: S.str, status: S.str, priority: S.str, owner: S.str, assignee: S.str, projectId: S.str, tags: S.strArr, dueAt: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.workTask({ action: (optStr(input.action) as "update" | "list" | "get" | "create" | "delete" | "transition") ?? "list", id: optStr(input.id), title: optStr(input.title), description: optStr(input.description), status: optStr(input.status), priority: optStr(input.priority), owner: optStr(input.owner), assignee: optStr(input.assignee), projectId: optStr(input.projectId), tags: optStrArr(input.tags), dueAt: optStr(input.dueAt) }) }) });
|
|
307
324
|
defineOperation({ name: "work_project", description: "Manage work project.", schema: strictSchema({ action: S.str, id: S.str, name: S.str, description: S.str, status: S.str, owner: S.str, tags: S.strArr, taskId: S.str, projectId: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.workProject({ action: (optStr(input.action) as "update" | "list" | "get" | "create" | "delete" | "link_task") ?? "list", id: optStr(input.id), name: optStr(input.name), description: optStr(input.description), status: optStr(input.status), owner: optStr(input.owner), tags: optStrArr(input.tags), taskId: optStr(input.taskId), projectId: optStr(input.projectId) }) }) });
|
|
308
325
|
defineOperation({ name: "work_board", description: "Manage work board.", schema: strictSchema({ action: S.str, projectId: S.str, snapshotJson: S.str, linkToMemory: S.bool }), handler: async (input, ctx) => ({ result: await ctx.service.workBoard({ action: (optStr(input.action) as "export_markdown" | "export_snapshot" | "import_snapshot") ?? "export_markdown", projectId: optStr(input.projectId) ?? "", snapshotJson: optStr(input.snapshotJson) ?? "", linkToMemory: input.linkToMemory === true }) }) });
|
|
309
|
-
|
|
326
|
+
// Issue #2920: the envelope controls (authority/expiresAt/supersedes) are
|
|
327
|
+
// parsed by the ONE canonical surface module shared with the OpenClaw tool
|
|
328
|
+
// (write-output-controls.ts); semantics stay in composeWriteEnvelope. A
|
|
329
|
+
// client-supplied principal/namespace is rejected here — identity and
|
|
330
|
+
// scoping are server-resolved (ctx.authenticatedPrincipal).
|
|
331
|
+
defineOperation({
|
|
332
|
+
name: "shared_context_write_output",
|
|
333
|
+
description: "Write shared output.",
|
|
334
|
+
schema: strictSchema({ agentId: S.str, title: S.str, content: S.str, authority: S.str, expiresAt: S.str, supersedes: S.str }),
|
|
335
|
+
handler: async (input, ctx) => {
|
|
336
|
+
let controls: SharedWriteOutputControls;
|
|
337
|
+
try {
|
|
338
|
+
controls = parseSharedWriteOutputControls(input);
|
|
339
|
+
} catch (error) {
|
|
340
|
+
throw new EngramAccessInputError(error instanceof Error ? error.message : String(error));
|
|
341
|
+
}
|
|
342
|
+
return {
|
|
343
|
+
result: await ctx.service.sharedContextWriteOutput({
|
|
344
|
+
agentId: optStr(input.agentId) ?? "",
|
|
345
|
+
title: optStr(input.title) ?? "",
|
|
346
|
+
content: optStr(input.content) ?? "",
|
|
347
|
+
...controls,
|
|
348
|
+
principal: ctx.authenticatedPrincipal,
|
|
349
|
+
}),
|
|
350
|
+
};
|
|
351
|
+
},
|
|
352
|
+
});
|
|
310
353
|
defineOperation({ name: "shared_feedback_record", description: "Record shared feedback.", schema: strictSchema({ agent: S.str, decision: S.str, reason: S.str, date: S.str, learning: S.str, outcome: S.str, severity: S.str, confidence: S.num, workflow: S.str, tags: S.strArr, evidenceWindowStart: S.str, evidenceWindowEnd: S.str, refs: S.strArr }), handler: async (input, ctx) => { const sv = optStr(input.severity); return { result: await ctx.service.sharedFeedbackRecord({ agent: optStr(input.agent) ?? "", decision: (optStr(input.decision) as "rejected" | "approved" | "approved_with_feedback") ?? "approved", reason: optStr(input.reason) ?? "", date: optStr(input.date), learning: optStr(input.learning), outcome: optStr(input.outcome), severity: sv === "low" || sv === "medium" || sv === "high" ? sv as "low" | "medium" | "high" : undefined, confidence: optNum(input.confidence), workflow: optStr(input.workflow), tags: optStrArr(input.tags), evidenceWindowStart: optStr(input.evidenceWindowStart), evidenceWindowEnd: optStr(input.evidenceWindowEnd), refs: optStrArr(input.refs) }) }; } });
|
|
311
354
|
defineOperation({ name: "shared_priorities_append", description: "Append priorities.", schema: strictSchema({ agentId: S.str, text: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.sharedPrioritiesAppend({ agentId: optStr(input.agentId) ?? "", text: optStr(input.text) ?? "" }) }) });
|
|
312
355
|
defineOperation({ name: "shared_context_cross_signals_run", description: "Run cross signals.", fleetWide: true, schema: strictSchema({ date: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.sharedContextCrossSignalsRun({ date: optStr(input.date) }) }) });
|
package/src/access-service.ts
CHANGED
|
@@ -35,6 +35,7 @@ import { ReplicaDivergenceMonitor } from "./replica-divergence.js";
|
|
|
35
35
|
import type { ResolveSecretRefFn } from "./resolve-auth-token.js";
|
|
36
36
|
import { buildAccessWriteRequestFingerprint, buildObserveRequestFingerprint } from "./write-envelope.js";
|
|
37
37
|
import { UNATTRIBUTED_ACCESS_WRITE_ORIGIN } from "./shared-context/envelope-io.js";
|
|
38
|
+
import { isSharedContextWriteInputError } from "./shared-context/write-output-controls.js";
|
|
38
39
|
export type { EngramAccessHealthResponse, EngramAccessQmdCollectionState, EngramAccessQmdHealthResponse };
|
|
39
40
|
import { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult } from "./access-audit.js";
|
|
40
41
|
import {
|
|
@@ -2726,6 +2727,8 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
2726
2727
|
sessionKey?: string;
|
|
2727
2728
|
authenticatedPrincipal?: string;
|
|
2728
2729
|
maxSteps?: number;
|
|
2730
|
+
/** Transport cancellation (issue #2915): MCP tools/call cancelled, HTTP disconnect. */
|
|
2731
|
+
abortSignal?: AbortSignal;
|
|
2729
2732
|
}): Promise<DeepRecallResult & { rendered: string }> {
|
|
2730
2733
|
const cfg = this.orchestrator.config.deepRecall;
|
|
2731
2734
|
if (!cfg.enabled) {
|
|
@@ -2787,14 +2790,18 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
2787
2790
|
// (which also decodes the raw collection-qualified path forms the
|
|
2788
2791
|
// namespaces-disabled fanout returns), so no invocation pre-scans the
|
|
2789
2792
|
// namespace corpus.
|
|
2793
|
+
// The transport cancellation signal reaches the seed router, the graph
|
|
2794
|
+
// read, and the policy legs (issue #2915).
|
|
2790
2795
|
const result = await runBudgetedDeepRecall(
|
|
2791
2796
|
{
|
|
2792
2797
|
config: effective,
|
|
2798
|
+
...(request.abortSignal ? { signal: request.abortSignal } : {}),
|
|
2793
2799
|
searchSeed: createDeepRecallSeedSearch({
|
|
2794
2800
|
namespace: resolvedNamespace,
|
|
2795
2801
|
storage,
|
|
2796
2802
|
router: this.orchestrator,
|
|
2797
2803
|
resolver: this.orchestrator.qmdResultResolver,
|
|
2804
|
+
...(request.abortSignal ? { signal: request.abortSignal } : {}),
|
|
2798
2805
|
}),
|
|
2799
2806
|
// Nodes and anchors are projected against the namespace's CURRENT
|
|
2800
2807
|
// active memories through the SAME helper searchHarmonicRetrieval
|
|
@@ -2807,6 +2814,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
2807
2814
|
memoryDir: storage.dir,
|
|
2808
2815
|
abstractionNodeStoreDir: graphStoreDir,
|
|
2809
2816
|
anchorsEnabled: true,
|
|
2817
|
+
...(request.abortSignal ? { abortSignal: request.abortSignal } : {}),
|
|
2810
2818
|
}),
|
|
2811
2819
|
loadMemory: async (memoryId) => {
|
|
2812
2820
|
const memory = await storage.getMemoryById(memoryId);
|
|
@@ -2829,6 +2837,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
2829
2837
|
localLlm: this.orchestrator.localLlm ?? null,
|
|
2830
2838
|
fallbackLlm: this.orchestrator.fastGatewayLlm ?? null,
|
|
2831
2839
|
timeoutMs,
|
|
2840
|
+
...(request.abortSignal ? { signal: request.abortSignal } : {}),
|
|
2832
2841
|
}),
|
|
2833
2842
|
},
|
|
2834
2843
|
query
|
|
@@ -4595,6 +4604,7 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
4595
4604
|
agentId: string;
|
|
4596
4605
|
title: string;
|
|
4597
4606
|
content: string;
|
|
4607
|
+
authority?: string; expiresAt?: string; supersedes?: string;
|
|
4598
4608
|
/** Authenticated principal resolved by the surface, never client-supplied. */
|
|
4599
4609
|
principal?: string;
|
|
4600
4610
|
}): Promise<unknown> {
|
|
@@ -4607,19 +4617,16 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
4607
4617
|
agentId: request.agentId,
|
|
4608
4618
|
title: request.title,
|
|
4609
4619
|
content: request.content,
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
// authenticated request must never stamp the client's `agentId`
|
|
4614
|
-
// as audit metadata. The client label survives only as the
|
|
4615
|
-
// producer, which feeds grouping and display, never authority.
|
|
4620
|
+
authority: request.authority,
|
|
4621
|
+
expiresAt: request.expiresAt,
|
|
4622
|
+
supersedes: request.supersedes,
|
|
4616
4623
|
...(request.principal
|
|
4617
4624
|
? { authenticatedIdentity: request.principal }
|
|
4618
4625
|
: { unattributedOrigin: UNATTRIBUTED_ACCESS_WRITE_ORIGIN }),
|
|
4619
4626
|
});
|
|
4620
4627
|
} catch (error) {
|
|
4621
4628
|
const message = error instanceof Error ? error.message : String(error);
|
|
4622
|
-
if (message
|
|
4629
|
+
if (isSharedContextWriteInputError(message)) {
|
|
4623
4630
|
throw new EngramAccessInputError(message);
|
|
4624
4631
|
}
|
|
4625
4632
|
throw error;
|
|
@@ -386,6 +386,54 @@ test("resolveTimelineLoadDates keeps a bounded window and expands an unbounded o
|
|
|
386
386
|
assert.deepEqual(empty, ["2026-08-23"]);
|
|
387
387
|
});
|
|
388
388
|
|
|
389
|
+
test("resolveTimelineLoadDates loads the local day of a lone bound, never today (#2931)", () => {
|
|
390
|
+
const store = { snapshotCaptureExtent: () => null };
|
|
391
|
+
const base = { timezone: "UTC" as const, today: "2026-08-23", store, persistedDates: [] as string[] };
|
|
392
|
+
|
|
393
|
+
const loneTo = resolveTimelineLoadDates({
|
|
394
|
+
...base,
|
|
395
|
+
window: { to: "2026-05-02T12:00:00.000Z" },
|
|
396
|
+
});
|
|
397
|
+
assert.deepEqual(loneTo, ["2026-05-02"], "a lone --to must load the day of the to instant, not today");
|
|
398
|
+
|
|
399
|
+
const loneFrom = resolveTimelineLoadDates({
|
|
400
|
+
...base,
|
|
401
|
+
window: { from: "2026-05-02T12:00:00.000Z" },
|
|
402
|
+
});
|
|
403
|
+
assert.deepEqual(loneFrom, ["2026-05-02"], "a lone --from keeps loading its own day");
|
|
404
|
+
|
|
405
|
+
const futureTo = resolveTimelineLoadDates({
|
|
406
|
+
...base,
|
|
407
|
+
window: { to: "2026-09-01T12:00:00.000Z" },
|
|
408
|
+
});
|
|
409
|
+
assert.deepEqual(futureTo, ["2026-09-01"], "a lone future --to loads that future day, not today");
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
test("resolveTimelineLoadDates resolves a lone --to day through the configured timezone (#2931)", () => {
|
|
413
|
+
const store = { snapshotCaptureExtent: () => null };
|
|
414
|
+
// 2026-08-20T23:30Z is 2026-08-21 13:30 in Kiritimati (UTC+14) but still
|
|
415
|
+
// 2026-08-20 in Adak (UTC-10): the same instant must load different local
|
|
416
|
+
// days under the two configured zones, proving the configured timezone —
|
|
417
|
+
// not UTC and not today — drives the resolution.
|
|
418
|
+
const east = resolveTimelineLoadDates({
|
|
419
|
+
window: { to: "2026-08-20T23:30:00.000Z" },
|
|
420
|
+
timezone: "Pacific/Kiritimati",
|
|
421
|
+
today: "2026-08-23",
|
|
422
|
+
store,
|
|
423
|
+
persistedDates: [],
|
|
424
|
+
});
|
|
425
|
+
assert.deepEqual(east, ["2026-08-21"]);
|
|
426
|
+
|
|
427
|
+
const west = resolveTimelineLoadDates({
|
|
428
|
+
window: { to: "2026-08-20T23:30:00.000Z" },
|
|
429
|
+
timezone: "America/Adak",
|
|
430
|
+
today: "2026-08-23",
|
|
431
|
+
store,
|
|
432
|
+
persistedDates: [],
|
|
433
|
+
});
|
|
434
|
+
assert.deepEqual(west, ["2026-08-20"]);
|
|
435
|
+
});
|
|
436
|
+
|
|
389
437
|
test("localDatesForUtcRange covers a multi-year span for unbounded search", () => {
|
|
390
438
|
const dates = localDatesForUtcRange(
|
|
391
439
|
Date.parse("2020-01-01T00:00:00.000Z"),
|
|
@@ -143,9 +143,10 @@ export function listPersistedTimelineDates(memoryDir: string): string[] {
|
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* Local days a CLI window must load. Bounded windows keep the explicit
|
|
146
|
-
* from/to span
|
|
147
|
-
*
|
|
148
|
-
*
|
|
146
|
+
* from/to span; a window with a single bound loads the local day containing
|
|
147
|
+
* that instant (never today). An unbounded search loads every day the
|
|
148
|
+
* snapshot store or a persisted day file covers (plus today), so historical
|
|
149
|
+
* cards enter the search pool instead of only the current day.
|
|
149
150
|
*/
|
|
150
151
|
export function resolveTimelineLoadDates(input: {
|
|
151
152
|
window: { from?: string; to?: string };
|
|
@@ -156,8 +157,9 @@ export function resolveTimelineLoadDates(input: {
|
|
|
156
157
|
}): string[] {
|
|
157
158
|
const { window, timezone, today, store, persistedDates } = input;
|
|
158
159
|
if (window.from !== undefined || window.to !== undefined) {
|
|
159
|
-
const
|
|
160
|
-
const
|
|
160
|
+
const parsedTo = window.to === undefined ? Number.NaN : Date.parse(window.to);
|
|
161
|
+
const fromMs = window.from === undefined ? parsedTo : Date.parse(window.from);
|
|
162
|
+
const toMs = window.to === undefined ? fromMs + 1 : parsedTo;
|
|
161
163
|
if (!Number.isFinite(fromMs) || !Number.isFinite(toMs)) return [];
|
|
162
164
|
return localDatesForUtcRange(fromMs, toMs > fromMs ? toMs : fromMs + 1, timezone);
|
|
163
165
|
}
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* meetings-commands.ts). `engram deep-recall <query>` runs the budgeted
|
|
5
5
|
* REFINE/EXPAND/STOP loop through EngramAccessService — the same single
|
|
6
6
|
* implementation MCP and HTTP call.
|
|
7
|
+
*
|
|
8
|
+
* Identity (issue #2915): with namespaces enabled the read path requires an
|
|
9
|
+
* authenticated principal, and this standalone CLI runs without a transport
|
|
10
|
+
* to authenticate one. It therefore exposes the SAME identity pattern the
|
|
11
|
+
* access CLI already uses — `--principal` (the authenticated identity) or
|
|
12
|
+
* `--session-key` (resolved through the configured principal mapping) — so a
|
|
13
|
+
* namespace-enabled deployment is usable from the CLI instead of refusing
|
|
14
|
+
* every invocation as unauthenticated.
|
|
7
15
|
*/
|
|
8
16
|
|
|
9
17
|
import type { Orchestrator } from "../orchestrator.js";
|
|
10
18
|
import type { CliCommand } from "../cli.js";
|
|
11
19
|
import { EngramAccessService } from "../access-service.js";
|
|
12
|
-
|
|
13
|
-
function parseMaxSteps(raw: unknown): number | undefined {
|
|
14
|
-
if (raw === undefined || raw === null) return undefined;
|
|
15
|
-
const value = typeof raw === "string" ? Number(raw) : raw;
|
|
16
|
-
if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
|
|
17
|
-
throw new Error(`--max-steps must be a non-negative integer; got ${JSON.stringify(raw)}`);
|
|
18
|
-
}
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
20
|
+
import { parseDeepRecallMaxSteps } from "../deep-recall-config.js";
|
|
21
21
|
|
|
22
22
|
export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orchestrator): void {
|
|
23
23
|
cmd
|
|
@@ -25,18 +25,28 @@ export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orches
|
|
|
25
25
|
.description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)")
|
|
26
26
|
.option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)")
|
|
27
27
|
.option("--namespace <ns>", "Namespace to scope the retrieval to")
|
|
28
|
+
.option("--session-key <key>", "Session key for principal/namespace resolution (namespaces enabled)")
|
|
29
|
+
.option("--principal <principal>", "Authenticated principal for namespace authorization (namespaces enabled)")
|
|
28
30
|
.option("--json", "JSON output (full entries + trace)")
|
|
29
31
|
.action(async (...args: unknown[]) => {
|
|
30
32
|
const query = String(args[0] ?? "");
|
|
31
33
|
const options = (args[args.length - 1] ?? {}) as Record<string, unknown>;
|
|
32
34
|
let maxSteps: number | undefined;
|
|
33
35
|
try {
|
|
34
|
-
maxSteps =
|
|
36
|
+
maxSteps = parseDeepRecallMaxSteps(options.maxSteps);
|
|
35
37
|
} catch (err) {
|
|
36
38
|
console.error(err instanceof Error ? err.message : String(err));
|
|
37
39
|
process.exitCode = 1;
|
|
38
40
|
return;
|
|
39
41
|
}
|
|
42
|
+
const sessionKey =
|
|
43
|
+
typeof options.sessionKey === "string" && options.sessionKey.trim().length > 0
|
|
44
|
+
? options.sessionKey.trim()
|
|
45
|
+
: undefined;
|
|
46
|
+
const principal =
|
|
47
|
+
typeof options.principal === "string" && options.principal.trim().length > 0
|
|
48
|
+
? options.principal.trim()
|
|
49
|
+
: undefined;
|
|
40
50
|
const service = new EngramAccessService(orchestrator);
|
|
41
51
|
try {
|
|
42
52
|
const result = await service.deepRecall({
|
|
@@ -45,6 +55,8 @@ export function registerDeepRecallCommands(cmd: CliCommand, orchestrator: Orches
|
|
|
45
55
|
...(typeof options.namespace === "string" && options.namespace.length > 0
|
|
46
56
|
? { namespace: options.namespace }
|
|
47
57
|
: {}),
|
|
58
|
+
...(sessionKey !== undefined ? { sessionKey } : {}),
|
|
59
|
+
...(principal !== undefined ? { authenticatedPrincipal: principal } : {}),
|
|
48
60
|
});
|
|
49
61
|
if (options.json === true) {
|
|
50
62
|
console.log(JSON.stringify(result, null, 2));
|
package/src/config.ts
CHANGED
|
@@ -2796,6 +2796,11 @@ export function parseConfig(
|
|
|
2796
2796
|
cfg.inlineSourceAttributionFormat.trim().length > 0
|
|
2797
2797
|
? cfg.inlineSourceAttributionFormat
|
|
2798
2798
|
: "[Source: agent={agent}, session={sessionId}, ts={ts}]",
|
|
2799
|
+
inlineSourceAttributionFormatHistory: Array.isArray(cfg.inlineSourceAttributionFormatHistory)
|
|
2800
|
+
? (cfg.inlineSourceAttributionFormatHistory as unknown[])
|
|
2801
|
+
.filter((value): value is string => typeof value === "string" && value.trim().length > 0)
|
|
2802
|
+
.map((value) => value.trim())
|
|
2803
|
+
: [],
|
|
2799
2804
|
consolidationRequireNonZeroExtraction: cfg.consolidationRequireNonZeroExtraction !== false,
|
|
2800
2805
|
// Issue #678 PR 2/4: dreams.phases.rem.minIntervalMs WINS when set.
|
|
2801
2806
|
consolidationMinIntervalMs: dreamsRem.minIntervalMs,
|