@remnic/core 9.69.45 → 9.69.47
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 +15 -14
- package/dist/access-admin-ops-surface.js +40 -39
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.d.ts +15 -14
- package/dist/access-authorization-probe.js +41 -40
- package/dist/access-boundary.d.ts +15 -14
- package/dist/access-boundary.js +40 -39
- package/dist/access-cli.js +110 -104
- 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 +15 -14
- package/dist/access-extraction-force-flush.js +40 -39
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-briefing.d.ts +15 -14
- package/dist/access-http-briefing.js +41 -40
- package/dist/access-http-lcm-compaction.d.ts +15 -14
- package/dist/access-http-lifecycle-flush.d.ts +15 -14
- package/dist/access-http-offline-stream.d.ts +15 -14
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +42 -41
- package/dist/access-http.d.ts +16 -15
- package/dist/access-http.js +64 -60
- package/dist/access-identity-continuity-surface.d.ts +11 -11
- package/dist/access-identity-continuity-surface.js +40 -39
- package/dist/access-lcm-surface.d.ts +15 -14
- package/dist/access-lcm-surface.js +40 -39
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp-shared-context-tools.d.ts +15 -14
- package/dist/access-mcp.d.ts +15 -14
- package/dist/access-mcp.js +53 -50
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-DDnsN22V.d.ts → access-namespace-preflight-CetF9ziA.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +40 -39
- package/dist/access-observe-transcript.d.ts +11 -11
- package/dist/access-observe-write-category.d.ts +3 -3
- package/dist/access-observe-write-surface.d.ts +15 -14
- package/dist/access-observe-write-surface.js +40 -39
- package/dist/access-offline-manifest.d.ts +11 -11
- package/dist/access-offline-manifest.js +2 -2
- package/dist/access-operations-batch.js +42 -41
- package/dist/access-operations.d.ts +16 -15
- package/dist/access-operations.js +49 -47
- package/dist/access-recall-concurrency.d.ts +15 -14
- package/dist/access-recall-concurrency.js +40 -39
- package/dist/access-recall-response.d.ts +15 -14
- package/dist/access-recall-response.js +40 -39
- package/dist/access-recall-surface.d.ts +15 -14
- package/dist/access-recall-surface.js +40 -39
- package/dist/access-schema.d.ts +1 -1
- package/dist/{access-service-CDteK_Gt.d.ts → access-service-BXYrJ3pO.d.ts} +13 -10
- package/dist/access-service-helpers.d.ts +15 -14
- package/dist/access-service.d.ts +15 -14
- package/dist/access-service.js +40 -39
- package/dist/access-surface-catalog.d.ts +15 -14
- package/dist/access-surface-catalog.js +48 -41
- 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-recall.d.ts +1 -1
- package/dist/active-recall.js +3 -2
- package/dist/active-recall.js.map +1 -1
- package/dist/activity/digest.d.ts +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -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 +11 -11
- package/dist/briefing-window.d.ts +2 -2
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +13 -13
- 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/capabilities.d.ts +1 -1
- package/dist/{catalog-Dl2hYqpS.d.ts → catalog-Bns9zpl3.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 +14 -14
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-OREGA7GY.js → chunk-2JFSQWFH.js} +5 -5
- package/dist/chunk-2JFSQWFH.js.map +1 -0
- package/dist/{chunk-C3MCMFNV.js → chunk-2QX65IEC.js} +2 -2
- package/dist/{chunk-HBGSZ62Z.js → chunk-3RKVSECD.js} +8 -8
- package/dist/{chunk-7LKXP4QG.js → chunk-44BILQ7U.js} +85 -43
- package/dist/chunk-44BILQ7U.js.map +1 -0
- package/dist/{chunk-R4HFCATE.js → chunk-4LPIVP77.js} +2 -2
- package/dist/{chunk-PW4HTWXL.js → chunk-55XWRL6F.js} +2 -2
- package/dist/{chunk-E5VOKZQV.js → chunk-5KBI2MOC.js} +1 -1
- package/dist/{chunk-ZQ533JDE.js → chunk-6A6HSXWV.js} +2 -2
- package/dist/{chunk-4HTQ76O4.js → chunk-7SJCSDQ3.js} +2 -2
- package/dist/{chunk-A2YN3FR4.js → chunk-7YUX52XZ.js} +3 -3
- package/dist/{chunk-NKDQXDFL.js → chunk-AS4YKT75.js} +36 -26
- package/dist/chunk-AS4YKT75.js.map +1 -0
- package/dist/{chunk-LQVXSRAJ.js → chunk-B4EGAHHS.js} +2 -2
- package/dist/{chunk-EUP4AXIW.js → chunk-B6VDWDFN.js} +2 -2
- package/dist/{chunk-Z5YNVWRD.js → chunk-BMENHAJL.js} +2 -2
- package/dist/{chunk-5ZXGH2ZL.js → chunk-BXOPUJ3W.js} +2 -2
- package/dist/{chunk-J6NEOCQC.js → chunk-CD7VTZIG.js} +2 -2
- package/dist/{chunk-EC5SVM6H.js → chunk-DE4ZGH2N.js} +2 -2
- package/dist/{chunk-2LRO73MN.js → chunk-DRLZB3CN.js} +2 -2
- package/dist/{chunk-SHEHQBCG.js → chunk-DUJYRVUD.js} +638 -45
- package/dist/chunk-DUJYRVUD.js.map +1 -0
- package/dist/{chunk-Q4MI2KCG.js → chunk-EGOWY342.js} +2 -2
- package/dist/chunk-EIB4FJVR.js +46 -0
- package/dist/chunk-EIB4FJVR.js.map +1 -0
- package/dist/{chunk-W44T2KHG.js → chunk-EWBDJQ5Y.js} +3 -3
- package/dist/{chunk-JMBTNVMW.js → chunk-FGRJJBFO.js} +2 -2
- package/dist/{chunk-F3TURDFG.js → chunk-FPB5LQWW.js} +4 -1
- package/dist/{chunk-F3TURDFG.js.map → chunk-FPB5LQWW.js.map} +1 -1
- package/dist/{chunk-OOBUWMPY.js → chunk-G2SJRFGP.js} +6 -6
- package/dist/{chunk-WGZHSQDV.js → chunk-G2XZFGYN.js} +4 -4
- package/dist/{chunk-JPNUKKSL.js → chunk-GGROFIYX.js} +2 -2
- package/dist/chunk-GXJSLNYO.js +74 -0
- package/dist/chunk-GXJSLNYO.js.map +1 -0
- package/dist/{chunk-VA5QRTZX.js → chunk-HG74GEVY.js} +2 -2
- package/dist/chunk-HMDYSGY6.js +54 -0
- package/dist/chunk-HMDYSGY6.js.map +1 -0
- package/dist/{chunk-WUUGE7QC.js → chunk-HS75MCQF.js} +4 -4
- package/dist/{chunk-DO6R3LIE.js → chunk-I6IJDTRP.js} +2 -2
- package/dist/{chunk-T3F2HWIG.js → chunk-IO7K7GES.js} +2 -2
- package/dist/{chunk-6II55MXS.js → chunk-JXLEQIJ7.js} +2 -2
- package/dist/{chunk-4XTSKGLX.js → chunk-JYXLW22X.js} +3 -3
- package/dist/chunk-LI4APB6M.js +218 -0
- package/dist/chunk-LI4APB6M.js.map +1 -0
- package/dist/{chunk-IFULZYYQ.js → chunk-LIAM7U2J.js} +2 -2
- package/dist/{chunk-LZAJONO5.js → chunk-LIDJWAQV.js} +2 -2
- package/dist/{chunk-B55FYF6F.js → chunk-LYMJ36UI.js} +2 -2
- package/dist/chunk-M4DB6ZNN.js +87 -0
- package/dist/chunk-M4DB6ZNN.js.map +1 -0
- package/dist/{chunk-5TKHJ5RW.js → chunk-MMQVWKFY.js} +17 -13
- package/dist/chunk-MMQVWKFY.js.map +1 -0
- package/dist/{chunk-IAT5WFEU.js → chunk-MNG536IS.js} +261 -797
- package/dist/chunk-MNG536IS.js.map +1 -0
- package/dist/{chunk-AOMUIF3R.js → chunk-MQT3WP3F.js} +2 -2
- package/dist/{chunk-F6AYWLRN.js → chunk-NE45P3OF.js} +2 -2
- package/dist/{chunk-5XTILJRI.js → chunk-NMA7RQPR.js} +2 -2
- package/dist/{chunk-46A4RGBC.js → chunk-OS4JVTHR.js} +3 -3
- package/dist/{chunk-W6YDAIVB.js → chunk-OSTXIFZW.js} +13 -2
- package/dist/chunk-OSTXIFZW.js.map +1 -0
- package/dist/chunk-P3YNEMYY.js +212 -0
- package/dist/chunk-P3YNEMYY.js.map +1 -0
- package/dist/{chunk-C3YEB7CR.js → chunk-PA67GXYJ.js} +5 -5
- package/dist/{chunk-NGAFYIHQ.js → chunk-PPJLJD2D.js} +2 -2
- package/dist/{chunk-AG6PANBG.js → chunk-PXJ6HE2W.js} +11 -11
- package/dist/{chunk-BOWAP64Q.js → chunk-QB4VXCFN.js} +2 -2
- package/dist/{chunk-L63M2PE4.js → chunk-QGAKUOKU.js} +2 -2
- package/dist/{chunk-T2ZNUWUY.js → chunk-QKFYJVDG.js} +2 -2
- package/dist/{chunk-YHSEUZV5.js → chunk-QLCMOHRE.js} +2 -2
- package/dist/{chunk-Q4AUIFUA.js → chunk-QMWKENNK.js} +4 -4
- package/dist/{chunk-UJXNBZYJ.js → chunk-R4JTUTU6.js} +12 -5
- package/dist/chunk-R4JTUTU6.js.map +1 -0
- package/dist/{chunk-TFS5FAAC.js → chunk-ROBGBT3D.js} +213 -77
- package/dist/chunk-ROBGBT3D.js.map +1 -0
- package/dist/{chunk-TNQR7N52.js → chunk-S3YM4SZQ.js} +2 -1
- package/dist/chunk-S3YM4SZQ.js.map +1 -0
- package/dist/{chunk-RW4QNB4J.js → chunk-S45INSV3.js} +3 -1
- package/dist/{chunk-RW4QNB4J.js.map → chunk-S45INSV3.js.map} +1 -1
- package/dist/{chunk-HVGCQMTQ.js → chunk-SJ7ZNUXB.js} +2 -2
- package/dist/{chunk-WCQ7L54B.js → chunk-SK6HEQTW.js} +2 -2
- package/dist/{chunk-PGAB2V53.js → chunk-SMBWBEE7.js} +2 -2
- package/dist/{chunk-SPN5YFXN.js → chunk-SS33RR4F.js} +8 -8
- package/dist/{chunk-NRFUYVW7.js → chunk-T3T5HTZZ.js} +2 -2
- package/dist/{chunk-KG2OOAFF.js → chunk-TQSCR5DU.js} +6 -6
- package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
- package/dist/{chunk-ZLVURGAJ.js → chunk-V2XNMIAM.js} +2 -2
- package/dist/{chunk-AS2NOPDM.js → chunk-V7IONNTJ.js} +2 -2
- package/dist/{chunk-OFBJD3V5.js → chunk-VV5GCNKG.js} +2 -2
- package/dist/{chunk-MDYZCPNQ.js → chunk-WL3PGPGU.js} +2 -2
- package/dist/{chunk-66YUOI53.js → chunk-WQW6KPVC.js} +1 -1
- package/dist/chunk-WQW6KPVC.js.map +1 -0
- package/dist/{chunk-2AV75BJW.js → chunk-WVI43D54.js} +24 -1
- package/dist/chunk-WVI43D54.js.map +1 -0
- package/dist/{chunk-N6I257OM.js → chunk-WYU66IVZ.js} +3 -3
- package/dist/{chunk-A7GQBJP5.js → chunk-X2NFFBTO.js} +4 -4
- package/dist/{chunk-D3DJYGU2.js → chunk-XEHLYA5Z.js} +3 -3
- package/dist/{chunk-JIWZVOQM.js → chunk-XKHRNAK7.js} +2 -2
- package/dist/{chunk-VW5TGNJN.js → chunk-XXLH6KFO.js} +2 -2
- package/dist/{chunk-WMTYEQO5.js → chunk-XZUHXKM3.js} +2 -2
- package/dist/{chunk-K4KE5MYE.js → chunk-Y5VT7BIT.js} +2 -2
- package/dist/{chunk-M7ECD3KN.js → chunk-YOSLKZLZ.js} +2 -2
- package/dist/{chunk-K75H7FSO.js → chunk-YXWMZAAN.js} +2 -2
- package/dist/{chunk-DSHSQGSN.js → chunk-ZEIJQ4I3.js} +2 -2
- package/dist/{cli-CZDhIcxu.d.ts → cli-B8YyIrPR.d.ts} +5 -5
- package/dist/cli.d.ts +17 -16
- package/dist/cli.js +81 -76
- package/dist/coding/export-okf-codegraph.d.ts +1 -1
- package/dist/coding/export-okf-codegraph.js +12 -12
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +13 -13
- 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 +3 -2
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +13 -13
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +13 -13
- 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/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +15 -15
- 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 +15 -15
- 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 +15 -14
- package/dist/deep-recall-mcp-tools.d.ts +15 -14
- package/dist/deep-recall-policy-llm.d.ts +2 -2
- package/dist/deep-recall-seeds.d.ts +1 -1
- package/dist/deep-recall.js +2 -2
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-BXaUoVUf.d.ts → dependency-propagation-delivery-B-LvcDaq.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 +13 -13
- 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 +2 -2
- package/dist/external-wiki-access.d.ts +15 -14
- package/dist/external-wiki-access.js +41 -40
- 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 +15 -14
- package/dist/extraction-error-classification.d.ts +1 -1
- package/dist/extraction-evidence-class.d.ts +142 -0
- package/dist/extraction-evidence-class.js +113 -0
- package/dist/extraction-evidence-class.js.map +1 -0
- package/dist/extraction-faithfulness.d.ts +2 -2
- 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-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-source-grounding.js +2 -2
- package/dist/extraction-span-config.d.ts +1 -1
- package/dist/extraction-span-materialize.d.ts +1 -1
- package/dist/extraction-span-wire.d.ts +1 -1
- package/dist/extraction.d.ts +2 -2
- package/dist/extraction.js +21 -21
- package/dist/fallback-llm-codex-subscription.d.ts +1 -1
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/{generic-recall-paths-BkVVEoeO.d.ts → generic-recall-paths-Bfc7zigS.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-TBPe6NvB.d.ts → index-C7IA1DxB.d.ts} +3 -3
- package/dist/index.d.ts +121 -30
- package/dist/index.js +170 -123
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +4 -4
- 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-DdrhmecM.d.ts → local-llm-DH4tWtck.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 +5 -5
- package/dist/location/index.js +15 -15
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +13 -13
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +13 -13
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +14 -14
- package/dist/{maintenance-B813YFWJ.d.ts → maintenance-n6yeTQhR.d.ts} +4 -4
- package/dist/mcp-memory-inspector-app.d.ts +15 -14
- package/dist/mcp-read-only-tools.js +1 -1
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-age.d.ts +100 -0
- package/dist/memory-age.js +22 -0
- package/dist/memory-age.js.map +1 -0
- package/dist/memory-browse-http-glue.d.ts +170 -0
- package/dist/memory-browse-http-glue.js +9 -0
- package/dist/memory-browse-http-glue.js.map +1 -0
- package/dist/memory-browse-mcp-tools.d.ts +160 -0
- package/dist/memory-browse-mcp-tools.js +8 -0
- package/dist/memory-browse-mcp-tools.js.map +1 -0
- package/dist/memory-browse-operations.d.ts +2 -0
- package/dist/memory-browse-operations.js +246 -0
- package/dist/memory-browse-operations.js.map +1 -0
- package/dist/memory-browse.d.ts +113 -0
- package/dist/memory-browse.js +49 -0
- package/dist/memory-browse.js.map +1 -0
- 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 +15 -14
- package/dist/memory-subject.d.ts +15 -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 +14 -14
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +13 -13
- 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 +16 -16
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +23 -22
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +23 -23
- package/dist/{orchestrator-BCvQavIS.d.ts → orchestrator-Cirjo3ZB.d.ts} +10 -10
- package/dist/orchestrator.d.ts +11 -11
- package/dist/orchestrator.js +112 -106
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-4lqKJZ_0.d.ts → pipeline-DK79FrgH.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 +77 -2
- package/dist/provenance.js +7 -3
- package/dist/{public-http-NH72a6aa.d.ts → public-http-VB85y0ZH.d.ts} +1 -1
- package/dist/{qmd-DnoWaXKb.d.ts → qmd-BT0ErlRS.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/qmd.js +4 -4
- 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 +2 -2
- package/dist/recall-navigate.d.ts +1 -1
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-http-glue.d.ts +15 -14
- package/dist/recall-navigation-mcp-tools.d.ts +15 -14
- package/dist/recall-navigation-operations.js +41 -40
- package/dist/recall-navigation-renderer.d.ts +1 -1
- package/dist/recall-navigation.d.ts +1 -1
- package/dist/recall-navigation.js +40 -39
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-state-view-admission.d.ts +2 -2
- package/dist/recall-state-view-admission.js +5 -5
- package/dist/recall-state-view-anchors.d.ts +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 +4 -1
- package/dist/reconcile/manifest.js +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 +4 -3
- 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-crazXegZ.d.ts → scope-profiles-BgPQx9iE.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 +5 -5
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +9 -9
- 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-B09JI9WM.d.ts → semantic-consolidation-BrAWKVcm.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +14 -14
- package/dist/semantic-rule-promotion.js +13 -13
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +13 -13
- package/dist/{service-Echc5Xso.d.ts → service-CqHOTg87.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 +17 -17
- package/dist/standing-memory-block.d.ts +77 -0
- package/dist/standing-memory-block.js +40 -0
- package/dist/standing-memory-block.js.map +1 -0
- package/dist/standup/build.js +13 -13
- package/dist/{storage-ClkHCQSE.d.ts → storage-mD2YQ8_2.d.ts} +17 -3
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +12 -12
- package/dist/subject-config.d.ts +1 -1
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +3 -3
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +18 -17
- package/dist/support-passport/index.js +43 -42
- package/dist/{tagging-ksktJ60G.d.ts → tagging-CiAVA-ID.d.ts} +2 -2
- 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 +13 -13
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-nmhnJpxx.d.ts → types-DgDaoY61.d.ts} +6 -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 +13 -13
- package/dist/who-knows-cli.d.ts +15 -14
- package/dist/who-knows-cli.js +14 -14
- package/dist/who-knows.d.ts +15 -14
- package/dist/who-knows.js +13 -13
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +2 -2
- package/src/access-boundary.ts +3 -0
- package/src/access-http.ts +2 -2
- package/src/access-mcp-output-schemas.ts +25 -0
- package/src/access-mcp.ts +3 -3
- package/src/access-operations.ts +2 -0
- package/src/access-service.ts +6 -1
- package/src/access-surface-catalog.test.ts +20 -0
- package/src/access-surface-catalog.ts +6 -0
- package/src/activity/timeline/index.ts +1 -0
- package/src/activity/timeline/journal-recap.test.ts +17 -0
- package/src/activity/timeline/journal-recap.ts +19 -6
- package/src/activity/timeline/recap-export-range.test.ts +289 -0
- package/src/activity/timeline/recap-export-range.ts +169 -0
- package/src/activity/timeline/recap-export.test.ts +73 -1
- package/src/activity/timeline/recap-export.ts +57 -4
- package/src/cli/memory-browse-commands.ts +77 -0
- package/src/cli.ts +2 -2
- package/src/config.ts +11 -0
- package/src/dedup/merge.test.ts +185 -8
- package/src/extraction-evidence-class.test.ts +355 -0
- package/src/extraction-evidence-class.ts +241 -0
- package/src/index.ts +1 -0
- package/src/mcp-read-only-tools.ts +3 -0
- package/src/memory-age.test.ts +106 -0
- package/src/memory-age.ts +196 -0
- package/src/memory-browse-http-glue.ts +93 -0
- package/src/memory-browse-mcp-tools.ts +57 -0
- package/src/memory-browse-operations.ts +88 -0
- package/src/memory-browse-surface.test.ts +500 -0
- package/src/memory-browse.ts +316 -0
- package/src/orchestration/recall-search-pipeline.test.ts +207 -1
- package/src/orchestration/recall-search-pipeline.ts +13 -9
- package/src/orchestration/semantic-merge-commit-effects.ts +31 -9
- package/src/orchestration/semantic-merge-persist.ts +16 -5
- package/src/provenance.ts +3 -3
- package/src/reconcile/manifest.test.ts +27 -0
- package/src/reconcile/manifest.ts +7 -0
- package/src/standing-memory-block.test.ts +262 -0
- package/src/standing-memory-block.ts +331 -0
- package/src/storage/cas-revision-host.ts +22 -0
- package/src/storage/cas-revision-store.test.ts +44 -1
- package/src/storage/cas-revision-store.ts +23 -0
- package/src/storage/tombstone-blocked-capture-sync.ts +26 -1
- package/src/storage-frontmatter-cas.test.ts +49 -1
- package/src/storage.ts +1 -1
- package/src/types.ts +6 -0
- package/dist/chunk-2AV75BJW.js.map +0 -1
- package/dist/chunk-5TKHJ5RW.js.map +0 -1
- package/dist/chunk-66YUOI53.js.map +0 -1
- package/dist/chunk-7LKXP4QG.js.map +0 -1
- package/dist/chunk-IAT5WFEU.js.map +0 -1
- package/dist/chunk-NKDQXDFL.js.map +0 -1
- package/dist/chunk-OREGA7GY.js.map +0 -1
- package/dist/chunk-SHEHQBCG.js.map +0 -1
- package/dist/chunk-TFS5FAAC.js.map +0 -1
- package/dist/chunk-TNQR7N52.js.map +0 -1
- package/dist/chunk-UJXNBZYJ.js.map +0 -1
- package/dist/chunk-W6YDAIVB.js.map +0 -1
- /package/dist/{chunk-C3MCMFNV.js.map → chunk-2QX65IEC.js.map} +0 -0
- /package/dist/{chunk-HBGSZ62Z.js.map → chunk-3RKVSECD.js.map} +0 -0
- /package/dist/{chunk-R4HFCATE.js.map → chunk-4LPIVP77.js.map} +0 -0
- /package/dist/{chunk-PW4HTWXL.js.map → chunk-55XWRL6F.js.map} +0 -0
- /package/dist/{chunk-E5VOKZQV.js.map → chunk-5KBI2MOC.js.map} +0 -0
- /package/dist/{chunk-ZQ533JDE.js.map → chunk-6A6HSXWV.js.map} +0 -0
- /package/dist/{chunk-4HTQ76O4.js.map → chunk-7SJCSDQ3.js.map} +0 -0
- /package/dist/{chunk-A2YN3FR4.js.map → chunk-7YUX52XZ.js.map} +0 -0
- /package/dist/{chunk-LQVXSRAJ.js.map → chunk-B4EGAHHS.js.map} +0 -0
- /package/dist/{chunk-EUP4AXIW.js.map → chunk-B6VDWDFN.js.map} +0 -0
- /package/dist/{chunk-Z5YNVWRD.js.map → chunk-BMENHAJL.js.map} +0 -0
- /package/dist/{chunk-5ZXGH2ZL.js.map → chunk-BXOPUJ3W.js.map} +0 -0
- /package/dist/{chunk-J6NEOCQC.js.map → chunk-CD7VTZIG.js.map} +0 -0
- /package/dist/{chunk-EC5SVM6H.js.map → chunk-DE4ZGH2N.js.map} +0 -0
- /package/dist/{chunk-2LRO73MN.js.map → chunk-DRLZB3CN.js.map} +0 -0
- /package/dist/{chunk-Q4MI2KCG.js.map → chunk-EGOWY342.js.map} +0 -0
- /package/dist/{chunk-W44T2KHG.js.map → chunk-EWBDJQ5Y.js.map} +0 -0
- /package/dist/{chunk-JMBTNVMW.js.map → chunk-FGRJJBFO.js.map} +0 -0
- /package/dist/{chunk-OOBUWMPY.js.map → chunk-G2SJRFGP.js.map} +0 -0
- /package/dist/{chunk-WGZHSQDV.js.map → chunk-G2XZFGYN.js.map} +0 -0
- /package/dist/{chunk-JPNUKKSL.js.map → chunk-GGROFIYX.js.map} +0 -0
- /package/dist/{chunk-VA5QRTZX.js.map → chunk-HG74GEVY.js.map} +0 -0
- /package/dist/{chunk-WUUGE7QC.js.map → chunk-HS75MCQF.js.map} +0 -0
- /package/dist/{chunk-DO6R3LIE.js.map → chunk-I6IJDTRP.js.map} +0 -0
- /package/dist/{chunk-T3F2HWIG.js.map → chunk-IO7K7GES.js.map} +0 -0
- /package/dist/{chunk-6II55MXS.js.map → chunk-JXLEQIJ7.js.map} +0 -0
- /package/dist/{chunk-4XTSKGLX.js.map → chunk-JYXLW22X.js.map} +0 -0
- /package/dist/{chunk-IFULZYYQ.js.map → chunk-LIAM7U2J.js.map} +0 -0
- /package/dist/{chunk-LZAJONO5.js.map → chunk-LIDJWAQV.js.map} +0 -0
- /package/dist/{chunk-B55FYF6F.js.map → chunk-LYMJ36UI.js.map} +0 -0
- /package/dist/{chunk-AOMUIF3R.js.map → chunk-MQT3WP3F.js.map} +0 -0
- /package/dist/{chunk-F6AYWLRN.js.map → chunk-NE45P3OF.js.map} +0 -0
- /package/dist/{chunk-5XTILJRI.js.map → chunk-NMA7RQPR.js.map} +0 -0
- /package/dist/{chunk-46A4RGBC.js.map → chunk-OS4JVTHR.js.map} +0 -0
- /package/dist/{chunk-C3YEB7CR.js.map → chunk-PA67GXYJ.js.map} +0 -0
- /package/dist/{chunk-NGAFYIHQ.js.map → chunk-PPJLJD2D.js.map} +0 -0
- /package/dist/{chunk-AG6PANBG.js.map → chunk-PXJ6HE2W.js.map} +0 -0
- /package/dist/{chunk-BOWAP64Q.js.map → chunk-QB4VXCFN.js.map} +0 -0
- /package/dist/{chunk-L63M2PE4.js.map → chunk-QGAKUOKU.js.map} +0 -0
- /package/dist/{chunk-T2ZNUWUY.js.map → chunk-QKFYJVDG.js.map} +0 -0
- /package/dist/{chunk-YHSEUZV5.js.map → chunk-QLCMOHRE.js.map} +0 -0
- /package/dist/{chunk-Q4AUIFUA.js.map → chunk-QMWKENNK.js.map} +0 -0
- /package/dist/{chunk-HVGCQMTQ.js.map → chunk-SJ7ZNUXB.js.map} +0 -0
- /package/dist/{chunk-WCQ7L54B.js.map → chunk-SK6HEQTW.js.map} +0 -0
- /package/dist/{chunk-PGAB2V53.js.map → chunk-SMBWBEE7.js.map} +0 -0
- /package/dist/{chunk-SPN5YFXN.js.map → chunk-SS33RR4F.js.map} +0 -0
- /package/dist/{chunk-NRFUYVW7.js.map → chunk-T3T5HTZZ.js.map} +0 -0
- /package/dist/{chunk-KG2OOAFF.js.map → chunk-TQSCR5DU.js.map} +0 -0
- /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
- /package/dist/{chunk-ZLVURGAJ.js.map → chunk-V2XNMIAM.js.map} +0 -0
- /package/dist/{chunk-AS2NOPDM.js.map → chunk-V7IONNTJ.js.map} +0 -0
- /package/dist/{chunk-OFBJD3V5.js.map → chunk-VV5GCNKG.js.map} +0 -0
- /package/dist/{chunk-MDYZCPNQ.js.map → chunk-WL3PGPGU.js.map} +0 -0
- /package/dist/{chunk-N6I257OM.js.map → chunk-WYU66IVZ.js.map} +0 -0
- /package/dist/{chunk-A7GQBJP5.js.map → chunk-X2NFFBTO.js.map} +0 -0
- /package/dist/{chunk-D3DJYGU2.js.map → chunk-XEHLYA5Z.js.map} +0 -0
- /package/dist/{chunk-JIWZVOQM.js.map → chunk-XKHRNAK7.js.map} +0 -0
- /package/dist/{chunk-VW5TGNJN.js.map → chunk-XXLH6KFO.js.map} +0 -0
- /package/dist/{chunk-WMTYEQO5.js.map → chunk-XZUHXKM3.js.map} +0 -0
- /package/dist/{chunk-K4KE5MYE.js.map → chunk-Y5VT7BIT.js.map} +0 -0
- /package/dist/{chunk-M7ECD3KN.js.map → chunk-YOSLKZLZ.js.map} +0 -0
- /package/dist/{chunk-K75H7FSO.js.map → chunk-YXWMZAAN.js.map} +0 -0
- /package/dist/{chunk-DSHSQGSN.js.map → chunk-ZEIJQ4I3.js.map} +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory-store browse command group (issue #2978) — extracted from cli.ts
|
|
3
|
+
* so the surface file stays at its structural ceiling (same seam as
|
|
4
|
+
* cli/recall-navigation-commands.ts). `remnic browse ls|tree|find` runs
|
|
5
|
+
* through EngramAccessService.memoryStoreBrowse — the same single
|
|
6
|
+
* implementation MCP and HTTP call, sharing one renderer.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { Orchestrator } from "../orchestrator.js";
|
|
10
|
+
import type { CliCommand } from "../cli.js";
|
|
11
|
+
import { EngramAccessService } from "../access-service.js";
|
|
12
|
+
import type { BrowseVerb } from "../memory-browse.js";
|
|
13
|
+
|
|
14
|
+
export function registerMemoryBrowseCommands(cmd: CliCommand, orchestrator: Orchestrator): void {
|
|
15
|
+
const run = async (args: unknown[], verb: BrowseVerb) => {
|
|
16
|
+
const options = (args[args.length - 1] ?? {}) as Record<string, unknown>;
|
|
17
|
+
// `browse find <pattern>` takes the pattern as a positional arg; the
|
|
18
|
+
// options object sits at the END of commander's action args.
|
|
19
|
+
const pattern = typeof args[0] === "string" && args[0].length > 0
|
|
20
|
+
? args[0]
|
|
21
|
+
: typeof options.pattern === "string"
|
|
22
|
+
? options.pattern
|
|
23
|
+
: "";
|
|
24
|
+
if (verb === "find" && pattern.trim().length === 0) {
|
|
25
|
+
console.error("usage: browse <ls|tree|find> [path] [--pattern <glob>] [--depth <n>] [--namespace <ns>] [--json]");
|
|
26
|
+
process.exitCode = 1;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const depth = verb === "tree" && options.depth !== undefined ? Number(options.depth) : undefined;
|
|
30
|
+
if (depth !== undefined && (!Number.isFinite(depth) || !Number.isInteger(depth) || depth < 1 || depth > 4)) {
|
|
31
|
+
console.error("--depth must be an integer between 1 and 4");
|
|
32
|
+
process.exitCode = 1;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const service = new EngramAccessService(orchestrator);
|
|
36
|
+
try {
|
|
37
|
+
const result = await service.memoryStoreBrowse({
|
|
38
|
+
verb,
|
|
39
|
+
...(typeof args[0] === "string" && args[0].length > 0 ? { path: args[0] } : {}),
|
|
40
|
+
...(depth !== undefined ? { depth } : {}),
|
|
41
|
+
...(verb === "find" ? { pattern } : {}),
|
|
42
|
+
...(typeof options.namespace === "string" && options.namespace.length > 0 ? { namespace: options.namespace } : {}),
|
|
43
|
+
});
|
|
44
|
+
if (options.json === true) {
|
|
45
|
+
console.log(JSON.stringify(result, null, 2));
|
|
46
|
+
} else {
|
|
47
|
+
console.log(result.rendered);
|
|
48
|
+
}
|
|
49
|
+
if (!result.ok) process.exitCode = 1;
|
|
50
|
+
} catch (err) {
|
|
51
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
52
|
+
process.exitCode = 1;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
cmd
|
|
57
|
+
.command("browse ls [path]")
|
|
58
|
+
.description("List children of a store path in your namespace (issue #2978)")
|
|
59
|
+
.option("--namespace <ns>", "Namespace to scope the browse to")
|
|
60
|
+
.option("--json", "JSON output (entries + counts + truncated flag)")
|
|
61
|
+
.action(async (...args: unknown[]) => run(args, "ls"));
|
|
62
|
+
|
|
63
|
+
cmd
|
|
64
|
+
.command("browse tree [path]")
|
|
65
|
+
.description("Depth-limited store tree under one path (issue #2978)")
|
|
66
|
+
.option("--depth <n>", "Expansion depth, 1-4 (default 1)")
|
|
67
|
+
.option("--namespace <ns>", "Namespace to scope the browse to")
|
|
68
|
+
.option("--json", "JSON output (entries + counts + truncated flag)")
|
|
69
|
+
.action(async (...args: unknown[]) => run(args, "tree"));
|
|
70
|
+
|
|
71
|
+
cmd
|
|
72
|
+
.command("browse find <pattern>")
|
|
73
|
+
.description("Deterministic name/path glob or substring lookup (issue #2978)")
|
|
74
|
+
.option("--namespace <ns>", "Namespace to scope the browse to")
|
|
75
|
+
.option("--json", "JSON output (entries + counts + truncated flag)")
|
|
76
|
+
.action(async (...args: unknown[]) => run(args, "find"));
|
|
77
|
+
}
|
package/src/cli.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { bumpMemoryCorpusVersionForDir } from "./memory-corpus-version.js";
|
|
|
14
14
|
import { utcDayRange } from "./transcript.js";
|
|
15
15
|
import { padEndDisplay, truncateGraphemeSafe } from "./whitespace.js";
|
|
16
16
|
import { runWearablesCliCommand } from "./wearables/cli.js";
|
|
17
|
-
import { registerMeetingsCommands } from "./cli/meetings-commands.js"; import { registerDeepRecallCommands } from "./cli/deep-recall-commands.js"; import { registerRecallNavigationCommands } from "./cli/recall-navigation-commands.js";
|
|
17
|
+
import { registerMeetingsCommands } from "./cli/meetings-commands.js"; import { registerDeepRecallCommands } from "./cli/deep-recall-commands.js"; import { registerRecallNavigationCommands } from "./cli/recall-navigation-commands.js"; import { registerMemoryBrowseCommands } from "./cli/memory-browse-commands.js";
|
|
18
18
|
import { registerExportOkfCommand, registerOkfCommands } from "./cli/okf-commands.js";
|
|
19
19
|
import { registerSkillsCommands } from "./cli/skills-commands.js";
|
|
20
20
|
import { registerResearchStatusCommands } from "./cli/research-status-commands.js";
|
|
@@ -6230,7 +6230,7 @@ export function registerCli(
|
|
|
6230
6230
|
|
|
6231
6231
|
registerResearchStatusCommands(cmd, orchestrator);
|
|
6232
6232
|
|
|
6233
|
-
registerCreationLedgerCommands(cmd, orchestrator); registerMeetingsCommands(cmd, orchestrator); registerOkfCommands(cmd, orchestrator); registerDeepRecallCommands(cmd, orchestrator); registerTimelineCommands(cmd, orchestrator); registerRecallNavigationCommands(cmd, orchestrator);
|
|
6233
|
+
registerCreationLedgerCommands(cmd, orchestrator); registerMeetingsCommands(cmd, orchestrator); registerOkfCommands(cmd, orchestrator); registerDeepRecallCommands(cmd, orchestrator); registerTimelineCommands(cmd, orchestrator); registerRecallNavigationCommands(cmd, orchestrator); registerMemoryBrowseCommands(cmd, orchestrator);
|
|
6234
6234
|
|
|
6235
6235
|
cmd
|
|
6236
6236
|
.command("trust-zone-promote")
|
package/src/config.ts
CHANGED
|
@@ -41,6 +41,11 @@ import { expandTildePath } from "./utils/path.js";
|
|
|
41
41
|
import { coerceBool, coerceBooleanLike, coerceInstallExtension, coerceNumber } from "./connectors/coerce.js";
|
|
42
42
|
import { parseSubjectRuntimeConfig } from "./subject-config.js";
|
|
43
43
|
import { parseRecallStateViews } from "./recall-state-view.js";
|
|
44
|
+
import {
|
|
45
|
+
parseRecallStandingBlock,
|
|
46
|
+
parseStandingBlockFreshDays,
|
|
47
|
+
parseStandingBlockMaxChars,
|
|
48
|
+
} from "./standing-memory-block.js";
|
|
44
49
|
import { parseRecallConcurrencyConfig } from "./recall-concurrency-config.js";
|
|
45
50
|
import { parseExtractionFields } from "./extraction-span-config.js";
|
|
46
51
|
import { parseReplicaPeersConfig } from "./replica-peers-config.js";
|
|
@@ -1952,6 +1957,12 @@ export function parseConfig(
|
|
|
1952
1957
|
// Recall state views (issue #1952). Default false; exact false/0/"false"
|
|
1953
1958
|
// disable (parseRecallStateViews → coerceBooleanLike).
|
|
1954
1959
|
recallStateViews: parseRecallStateViews(cfg.recallStateViews),
|
|
1960
|
+
// Prefix-cache-stable standing memory block (issue #2971). Default
|
|
1961
|
+
// false, and nothing on the recall path reads these keys until the
|
|
1962
|
+
// server wiring slice lands — pre-wiring behavior is byte-identical.
|
|
1963
|
+
recallStandingBlock: parseRecallStandingBlock(cfg.recallStandingBlock),
|
|
1964
|
+
standingBlockFreshDays: parseStandingBlockFreshDays(cfg.standingBlockFreshDays),
|
|
1965
|
+
standingBlockMaxChars: parseStandingBlockMaxChars(cfg.standingBlockMaxChars),
|
|
1955
1966
|
// Disclosure auto-escalation (issue #677 PR 4/4). Default `manual`
|
|
1956
1967
|
// so pre-#677 callers see unchanged behavior. Reject anything
|
|
1957
1968
|
// outside the allow-list rather than silently defaulting (CLAUDE.md
|
package/src/dedup/merge.test.ts
CHANGED
|
@@ -769,7 +769,6 @@ async function harness(
|
|
|
769
769
|
registerFactContentHash: async (id: string, hash: string, _expectedContent: string) => {
|
|
770
770
|
calls.hashRegistrations.push({ id, hash });
|
|
771
771
|
},
|
|
772
|
-
readCasRevision: async (p: string) => (p === targetPath ? casRevision : undefined),
|
|
773
772
|
readCasRevisionStatus: async (p: string): Promise<CasRevisionReadStatus> => {
|
|
774
773
|
if (p !== targetPath) return { status: "absent" };
|
|
775
774
|
if (overrides.receiptStatus === "unavailable") {
|
|
@@ -3460,7 +3459,10 @@ async function postEffectsHarness(options: {
|
|
|
3460
3459
|
: null,
|
|
3461
3460
|
// #2807: static token — these fixtures drive the rollback paths, not
|
|
3462
3461
|
// ownership attribution.
|
|
3463
|
-
|
|
3462
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> => ({
|
|
3463
|
+
status: "present",
|
|
3464
|
+
revision: "2026-08-20T00:00:00.000Z",
|
|
3465
|
+
}),
|
|
3464
3466
|
} as unknown as StorageManager;
|
|
3465
3467
|
const deps = {
|
|
3466
3468
|
config: parseConfig({ memoryDir: dir }),
|
|
@@ -3729,6 +3731,12 @@ test("runMergedTargetPostEffects: a writer committing mid-rebuild keeps its edge
|
|
|
3729
3731
|
content: buildGraphEdgeCalls > 0 ? NEWER_BODY : MERGED,
|
|
3730
3732
|
}
|
|
3731
3733
|
: null,
|
|
3734
|
+
// #2807: B's mid-rebuild commit mints a NEW token — the identity the
|
|
3735
|
+
// revision guard compares (public `updated` no longer carries it).
|
|
3736
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> =>
|
|
3737
|
+
buildGraphEdgeCalls > 0
|
|
3738
|
+
? { status: "present", revision: "2026-08-22T01:00:00.001Z" }
|
|
3739
|
+
: { status: "present", revision: "2026-08-20T00:00:00.000Z" },
|
|
3732
3740
|
} as unknown as StorageManager;
|
|
3733
3741
|
const deps = {
|
|
3734
3742
|
...h.deps,
|
|
@@ -3800,8 +3808,10 @@ test("runMergedTargetPostEffects: a stale writer's rollback preserves the newer
|
|
|
3800
3808
|
: null,
|
|
3801
3809
|
// #2807: B's mid-rebuild commit mints a NEW token — the identity the
|
|
3802
3810
|
// revision guard compares (public `updated` no longer carries it).
|
|
3803
|
-
|
|
3804
|
-
buildStarted
|
|
3811
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> =>
|
|
3812
|
+
buildStarted
|
|
3813
|
+
? { status: "present", revision: "2026-08-22T01:00:00.001Z" }
|
|
3814
|
+
: { status: "present", revision: "2026-08-20T00:00:00.000Z" },
|
|
3805
3815
|
} as unknown as StorageManager;
|
|
3806
3816
|
const graphConfig = parseConfig({ memoryDir: h.dir });
|
|
3807
3817
|
const graphIndex = new GraphIndex(h.dir, graphConfig);
|
|
@@ -3849,6 +3859,170 @@ test("runMergedTargetPostEffects: a stale writer's rollback preserves the newer
|
|
|
3849
3859
|
);
|
|
3850
3860
|
});
|
|
3851
3861
|
|
|
3862
|
+
// ── #2837: the revision guard must FAIL CLOSED. The old guard read the
|
|
3863
|
+
// receipt fail-open (readCasRevision), so a rewrite whose BOTH sidecar reads
|
|
3864
|
+
// were unavailable compared undefined against undefined, passed, and
|
|
3865
|
+
// installed replacement edges no receipt ever verified. ────────────────────
|
|
3866
|
+
|
|
3867
|
+
test("runMergedTargetPostEffects: both receipt reads unavailable skips the graph rewrite instead of installing unchecked (#2837)", async () => {
|
|
3868
|
+
const h = await postEffectsHarness();
|
|
3869
|
+
const OTHER = "facts/2026-08-19/other.md";
|
|
3870
|
+
const priorEntity: GraphEdge = { from: h.targetRelPath, to: OTHER, type: "entity", weight: 1, label: "entity-billing-service", ts: "2026-08-19T00:00:00.000Z" };
|
|
3871
|
+
await seedGraphFile(h.dir, "entity", [priorEntity]);
|
|
3872
|
+
let built = false;
|
|
3873
|
+
const storage = {
|
|
3874
|
+
dir: h.dir,
|
|
3875
|
+
getMemoryByIdIncludingArchived: async (id: string) =>
|
|
3876
|
+
id === "fact-target"
|
|
3877
|
+
? {
|
|
3878
|
+
path: path.join(h.dir, h.targetRelPath),
|
|
3879
|
+
frontmatter: { id, category: "fact", entityRef: "entity-billing-service" },
|
|
3880
|
+
content: MERGED,
|
|
3881
|
+
}
|
|
3882
|
+
: null,
|
|
3883
|
+
// The fail-open collapse the OLD guard trusted: an unreadable sidecar
|
|
3884
|
+
// reads as undefined on both sides of the remove-and-rebuild.
|
|
3885
|
+
readCasRevision: async () => undefined,
|
|
3886
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> => ({
|
|
3887
|
+
status: "unavailable",
|
|
3888
|
+
reason: "simulated sidecar outage",
|
|
3889
|
+
}),
|
|
3890
|
+
} as unknown as StorageManager;
|
|
3891
|
+
const deps = {
|
|
3892
|
+
...h.deps,
|
|
3893
|
+
buildGraphEdge: async () => {
|
|
3894
|
+
built = true;
|
|
3895
|
+
},
|
|
3896
|
+
} as unknown as ExtractionPersistDeps;
|
|
3897
|
+
const graphContext = { allMemsForGraph: [], memoryPathById: new Map(), previousPersistedRelPath: "facts/2026-08-18/prev.md" };
|
|
3898
|
+
await runMergedTargetPostEffects(
|
|
3899
|
+
deps,
|
|
3900
|
+
storage,
|
|
3901
|
+
{ targetId: "fact-target", mergedContent: MERGED },
|
|
3902
|
+
{
|
|
3903
|
+
category: "fact",
|
|
3904
|
+
incomingContent: INCOMING,
|
|
3905
|
+
incomingConfidence: 0.9,
|
|
3906
|
+
namespace: "default",
|
|
3907
|
+
graphCaps: ALL_GRAPH_CAPS,
|
|
3908
|
+
graphContext,
|
|
3909
|
+
threadIdForEdge: undefined,
|
|
3910
|
+
threadEpisodeIdsForGraph: undefined,
|
|
3911
|
+
},
|
|
3912
|
+
);
|
|
3913
|
+
assert.equal(built, false, "the graph effect must be SKIPPED while receipt identity is unavailable");
|
|
3914
|
+
assert.deepEqual(
|
|
3915
|
+
await readGraphFile(h.dir, "entity"),
|
|
3916
|
+
[priorEntity],
|
|
3917
|
+
"the prior edges survive untouched — nothing was removed for an install that could never be verified",
|
|
3918
|
+
);
|
|
3919
|
+
assert.equal(graphContext.previousPersistedRelPath, "facts/2026-08-18/prev.md", "a skipped rewrite must not advance the adjacency chain");
|
|
3920
|
+
});
|
|
3921
|
+
|
|
3922
|
+
test("runMergedTargetPostEffects: a receipt that becomes unavailable mid-rebuild rolls the install back (#2837)", async () => {
|
|
3923
|
+
const h = await postEffectsHarness();
|
|
3924
|
+
const OTHER = "facts/2026-08-19/other.md";
|
|
3925
|
+
const priorEntity: GraphEdge = { from: h.targetRelPath, to: OTHER, type: "entity", weight: 1, label: "entity-billing-service", ts: "2026-08-19T00:00:00.000Z" };
|
|
3926
|
+
await seedGraphFile(h.dir, "entity", [priorEntity]);
|
|
3927
|
+
let buildStarted = false;
|
|
3928
|
+
const storage = {
|
|
3929
|
+
dir: h.dir,
|
|
3930
|
+
getMemoryByIdIncludingArchived: async (id: string) =>
|
|
3931
|
+
id === "fact-target"
|
|
3932
|
+
? {
|
|
3933
|
+
path: path.join(h.dir, h.targetRelPath),
|
|
3934
|
+
frontmatter: { id, category: "fact", entityRef: "entity-billing-service" },
|
|
3935
|
+
content: MERGED,
|
|
3936
|
+
}
|
|
3937
|
+
: null,
|
|
3938
|
+
readCasRevision: async () => undefined,
|
|
3939
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> =>
|
|
3940
|
+
buildStarted
|
|
3941
|
+
? { status: "unavailable", reason: "simulated transient sidecar read failure" }
|
|
3942
|
+
: { status: "present", revision: "2026-08-20T00:00:00.000Z" },
|
|
3943
|
+
} as unknown as StorageManager;
|
|
3944
|
+
const rebuilt: GraphEdge = { from: h.targetRelPath, to: OTHER, type: "entity", weight: 1, label: "entity-billing-service-v3", ts: "2026-08-23T00:00:00.000Z" };
|
|
3945
|
+
const deps = {
|
|
3946
|
+
...h.deps,
|
|
3947
|
+
buildGraphEdge: async () => {
|
|
3948
|
+
buildStarted = true;
|
|
3949
|
+
await appendEdge(h.dir, { ...rebuilt });
|
|
3950
|
+
return [{ ...rebuilt }];
|
|
3951
|
+
},
|
|
3952
|
+
} as unknown as ExtractionPersistDeps;
|
|
3953
|
+
const graphContext = { allMemsForGraph: [], memoryPathById: new Map(), previousPersistedRelPath: "facts/2026-08-18/prev.md" };
|
|
3954
|
+
await runMergedTargetPostEffects(
|
|
3955
|
+
deps,
|
|
3956
|
+
storage,
|
|
3957
|
+
{ targetId: "fact-target", mergedContent: MERGED },
|
|
3958
|
+
{
|
|
3959
|
+
category: "fact",
|
|
3960
|
+
incomingContent: INCOMING,
|
|
3961
|
+
incomingConfidence: 0.9,
|
|
3962
|
+
namespace: "default",
|
|
3963
|
+
graphCaps: ALL_GRAPH_CAPS,
|
|
3964
|
+
graphContext,
|
|
3965
|
+
threadIdForEdge: undefined,
|
|
3966
|
+
threadEpisodeIdsForGraph: undefined,
|
|
3967
|
+
},
|
|
3968
|
+
);
|
|
3969
|
+
assert.deepEqual(
|
|
3970
|
+
await readGraphFile(h.dir, "entity"),
|
|
3971
|
+
[priorEntity],
|
|
3972
|
+
"an unverifiable post-build receipt must roll the remove-and-rebuild back to the prior edges",
|
|
3973
|
+
);
|
|
3974
|
+
assert.equal(graphContext.previousPersistedRelPath, "facts/2026-08-18/prev.md", "a rolled-back rewrite must not advance the adjacency chain");
|
|
3975
|
+
});
|
|
3976
|
+
test("runMergedTargetPostEffects: a genuinely absent receipt on both reads still installs (#2837)", async () => {
|
|
3977
|
+
const h = await postEffectsHarness();
|
|
3978
|
+
const OTHER = "facts/2026-08-19/other.md";
|
|
3979
|
+
const priorEntity: GraphEdge = { from: h.targetRelPath, to: OTHER, type: "entity", weight: 1, label: "entity-billing-service", ts: "2026-08-19T00:00:00.000Z" };
|
|
3980
|
+
await seedGraphFile(h.dir, "entity", [priorEntity]);
|
|
3981
|
+
const storage = {
|
|
3982
|
+
dir: h.dir,
|
|
3983
|
+
getMemoryByIdIncludingArchived: async (id: string) =>
|
|
3984
|
+
id === "fact-target"
|
|
3985
|
+
? {
|
|
3986
|
+
path: path.join(h.dir, h.targetRelPath),
|
|
3987
|
+
frontmatter: { id, category: "fact", entityRef: "entity-billing-service" },
|
|
3988
|
+
content: MERGED,
|
|
3989
|
+
}
|
|
3990
|
+
: null,
|
|
3991
|
+
readCasRevision: async () => undefined,
|
|
3992
|
+
readCasRevisionStatus: async (): Promise<CasRevisionReadStatus> => ({ status: "absent" }),
|
|
3993
|
+
} as unknown as StorageManager;
|
|
3994
|
+
const rebuilt: GraphEdge = { from: h.targetRelPath, to: OTHER, type: "entity", weight: 1, label: "entity-billing-service-v3", ts: "2026-08-23T00:00:00.000Z" };
|
|
3995
|
+
const deps = {
|
|
3996
|
+
...h.deps,
|
|
3997
|
+
buildGraphEdge: async () => {
|
|
3998
|
+
await appendEdge(h.dir, { ...rebuilt });
|
|
3999
|
+
return [{ ...rebuilt }];
|
|
4000
|
+
},
|
|
4001
|
+
} as unknown as ExtractionPersistDeps;
|
|
4002
|
+
const graphContext = { allMemsForGraph: [], memoryPathById: new Map(), previousPersistedRelPath: "facts/2026-08-18/prev.md" };
|
|
4003
|
+
await runMergedTargetPostEffects(
|
|
4004
|
+
deps,
|
|
4005
|
+
storage,
|
|
4006
|
+
{ targetId: "fact-target", mergedContent: MERGED },
|
|
4007
|
+
{
|
|
4008
|
+
category: "fact",
|
|
4009
|
+
incomingContent: INCOMING,
|
|
4010
|
+
incomingConfidence: 0.9,
|
|
4011
|
+
namespace: "default",
|
|
4012
|
+
graphCaps: ALL_GRAPH_CAPS,
|
|
4013
|
+
graphContext,
|
|
4014
|
+
threadIdForEdge: undefined,
|
|
4015
|
+
threadEpisodeIdsForGraph: undefined,
|
|
4016
|
+
},
|
|
4017
|
+
);
|
|
4018
|
+
assert.deepEqual(
|
|
4019
|
+
await readGraphFile(h.dir, "entity"),
|
|
4020
|
+
[rebuilt],
|
|
4021
|
+
"a target that never minted a receipt (pre-sidecar legacy) still installs its rebuilt edges",
|
|
4022
|
+
);
|
|
4023
|
+
assert.equal(graphContext.previousPersistedRelPath, h.targetRelPath, "the verified install advances the batch's adjacency chain");
|
|
4024
|
+
});
|
|
4025
|
+
|
|
3852
4026
|
// ── Round N+16 (A): the N+14 surgical rollback leaned on build()'s RETURN
|
|
3853
4027
|
// value. A build that THROWS mid-append (the entity rows landed, a later
|
|
3854
4028
|
// append failed) loses that return, and the rollback fell back to the
|
|
@@ -4194,11 +4368,12 @@ test("applySemanticMergeAtPersist: a timestamp-less retirement between the conte
|
|
|
4194
4368
|
// identity the rollback compares.
|
|
4195
4369
|
const receipt = h.calls.commitRevisions[0];
|
|
4196
4370
|
assert.ok(receipt, "the content CAS stamped a receipt");
|
|
4197
|
-
const
|
|
4198
|
-
assert.ok(
|
|
4371
|
+
const standingStatus = await h.storage.readCasRevisionStatus(h.target.path);
|
|
4372
|
+
assert.ok(standingStatus.status === "present", "the retirement minted a standing receipt");
|
|
4373
|
+
const standingToken = standingStatus.status === "present" ? standingStatus.revision : undefined;
|
|
4199
4374
|
assert.notEqual(standingToken, receipt, "the timestamp-less retirement retired the CAS's receipt token");
|
|
4200
4375
|
assert.ok(
|
|
4201
|
-
new Date(standingToken).getTime() > new Date(receipt).getTime(),
|
|
4376
|
+
standingToken !== undefined && new Date(standingToken).getTime() > new Date(receipt).getTime(),
|
|
4202
4377
|
"the timestamp-less retirement advanced the token strictly past the CAS receipt",
|
|
4203
4378
|
);
|
|
4204
4379
|
assert.deepEqual(
|
|
@@ -4324,7 +4499,9 @@ test("applySemanticMergeAtPersist: the monotonic receipt survives the metadata p
|
|
|
4324
4499
|
T.toISOString(),
|
|
4325
4500
|
"#2807: the metadata patch stamps business time (mergePatch.updated) verbatim — never a revision",
|
|
4326
4501
|
);
|
|
4327
|
-
const
|
|
4502
|
+
const standingRead = await h.storage.readCasRevisionStatus(h.target.path);
|
|
4503
|
+
assert.equal(standingRead.status, "present", "the standing receipt is readable after the metadata patches");
|
|
4504
|
+
const standingToken = standingRead.status === "present" ? standingRead.revision : undefined;
|
|
4328
4505
|
const [aReceipt, bReceipt, cReceipt2] = h.calls.commitRevisions;
|
|
4329
4506
|
assert.ok(aReceipt && bReceipt && cReceipt2);
|
|
4330
4507
|
assert.ok(aReceipt < bReceipt && bReceipt < cReceipt2, "A, B, C receipts are unique and strictly increasing");
|