@remnic/core 9.69.23 → 9.69.25
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/abstraction-nodes.js +3 -2
- package/dist/access-admin-ops-surface.d.ts +1 -1
- package/dist/access-admin-ops-surface.js +53 -53
- package/dist/access-authorization-probe.d.ts +1 -1
- package/dist/access-authorization-probe.js +54 -54
- package/dist/access-boundary.d.ts +1 -1
- package/dist/access-boundary.js +53 -53
- package/dist/access-citation-namespace.js +3 -3
- package/dist/access-cli.js +112 -112
- package/dist/access-extraction-force-flush.d.ts +1 -1
- package/dist/access-extraction-force-flush.js +53 -53
- package/dist/access-http-briefing.d.ts +1 -1
- package/dist/access-http-briefing.js +54 -54
- package/dist/access-http-lcm-compaction.d.ts +1 -1
- package/dist/access-http-lifecycle-flush.d.ts +1 -1
- package/dist/access-http-offline-stream.d.ts +1 -1
- package/dist/access-http-query.js +55 -55
- package/dist/access-http.d.ts +2 -2
- package/dist/access-http.js +72 -72
- package/dist/access-identity-continuity-surface.js +53 -53
- package/dist/access-lcm-surface.d.ts +1 -1
- package/dist/access-lcm-surface.js +53 -53
- package/dist/access-mcp.d.ts +1 -1
- package/dist/access-mcp.js +64 -64
- package/dist/access-namespace-preflight.js +53 -53
- package/dist/access-observe-write-surface.d.ts +1 -1
- package/dist/access-observe-write-surface.js +53 -53
- package/dist/access-offline-manifest.js +10 -10
- package/dist/access-operations-batch.js +58 -58
- package/dist/access-operations.d.ts +1 -1
- package/dist/access-operations.js +63 -63
- package/dist/access-recall-concurrency.d.ts +1 -1
- package/dist/access-recall-concurrency.js +53 -53
- package/dist/access-recall-response.d.ts +1 -1
- package/dist/access-recall-response.js +53 -53
- package/dist/access-recall-surface.d.ts +1 -1
- package/dist/access-recall-surface.js +53 -53
- package/dist/access-schema.js +6 -5
- package/dist/access-service-helpers.d.ts +1 -1
- package/dist/access-service.d.ts +1 -1
- package/dist/access-service.js +53 -53
- package/dist/access-surface-catalog.d.ts +1 -1
- package/dist/access-surface-catalog.js +55 -55
- package/dist/active-recall.js +12 -11
- package/dist/active-recall.js.map +1 -1
- package/dist/{auto-sync-TTIEWJ5X.js → auto-sync-WNGG2GC2.js} +7 -7
- package/dist/briefing.js +20 -20
- package/dist/buffer.js +9 -9
- package/dist/calibration.js +2 -1
- package/dist/calibration.js.map +1 -1
- package/dist/{capsule-merge-CU6QJBSV.js → capsule-merge-IPG4IOFP.js} +4 -4
- package/dist/causal-behavior.js +4 -3
- package/dist/causal-behavior.js.map +1 -1
- package/dist/causal-chain.js +4 -3
- package/dist/causal-consolidation.js +25 -25
- package/dist/causal-retrieval.js +4 -3
- package/dist/causal-retrieval.js.map +1 -1
- package/dist/causal-trajectory-graph.js +2 -1
- package/dist/causal-trajectory-graph.js.map +1 -1
- package/dist/causal-trajectory.js +3 -2
- package/dist/{chunk-5RWHODVF.js → chunk-27QVNSQ3.js} +2 -2
- package/dist/{chunk-2MX7RU7B.js → chunk-2EKJDQZB.js} +2 -2
- package/dist/{chunk-XLRM6PPI.js → chunk-2IOHTUP3.js} +4 -4
- package/dist/{chunk-ZGQDTD5T.js → chunk-2ITE4C2Z.js} +2 -2
- package/dist/{chunk-O5ZR7SXV.js → chunk-2SGLMP2E.js} +2 -2
- package/dist/{chunk-FYWLSFFS.js → chunk-2Z4GS5E6.js} +2 -2
- package/dist/{chunk-WELP4CG6.js → chunk-37KUQPX4.js} +6 -6
- package/dist/{chunk-DDQQY2E3.js → chunk-3BTFBQLO.js} +7 -7
- package/dist/chunk-3BTFBQLO.js.map +1 -0
- package/dist/{chunk-UR6PBX2J.js → chunk-3K7V3HE6.js} +35 -60
- package/dist/chunk-3K7V3HE6.js.map +1 -0
- package/dist/{chunk-MRSLR6TB.js → chunk-3QQTXYZ6.js} +2 -2
- package/dist/{chunk-DJUKBGAD.js → chunk-46EST7JO.js} +5 -5
- package/dist/chunk-46EST7JO.js.map +1 -0
- package/dist/{chunk-CI6C33EO.js → chunk-46ZPIGWI.js} +3 -3
- package/dist/{chunk-HTIIXNJQ.js → chunk-4FIH6MPS.js} +6 -3
- package/dist/chunk-4FIH6MPS.js.map +1 -0
- package/dist/{chunk-MCA2X4WH.js → chunk-4IHBN6WU.js} +2 -2
- package/dist/{chunk-W7IGLX4G.js → chunk-4O6WRBGE.js} +7 -7
- package/dist/chunk-4O6WRBGE.js.map +1 -0
- package/dist/{chunk-TOZCM7WN.js → chunk-4TKJGOCJ.js} +2 -2
- package/dist/{chunk-3ADRFFRO.js → chunk-54WHLA65.js} +4 -4
- package/dist/{chunk-Z2N2AHEM.js → chunk-56Y6EKZN.js} +2 -2
- package/dist/{chunk-2H2N5UQW.js → chunk-5ATKSPEQ.js} +2 -2
- package/dist/{chunk-MSOXFXCA.js → chunk-5FAGCOZD.js} +5 -5
- package/dist/chunk-5FAGCOZD.js.map +1 -0
- package/dist/{chunk-ZVZHG7AI.js → chunk-5UBH37SL.js} +3 -3
- package/dist/{chunk-YZYZ2BEU.js → chunk-66OJSCI6.js} +2 -2
- package/dist/{chunk-HNPE66LB.js → chunk-6CVNSDCZ.js} +4 -4
- package/dist/{chunk-ERVJFFTR.js → chunk-6NXSYYGP.js} +2 -2
- package/dist/{chunk-2HIJHXB3.js → chunk-6WHJ2EAB.js} +2 -2
- package/dist/{chunk-34VTBPNE.js → chunk-6XL73HQ4.js} +4 -4
- package/dist/{chunk-YK3UIF7X.js → chunk-AQ7SYDVO.js} +2 -2
- package/dist/{chunk-DSCCM66R.js → chunk-B3O3IRZN.js} +2 -2
- package/dist/{chunk-P77QX3ID.js → chunk-B6O2YLUR.js} +21 -20
- package/dist/chunk-B6O2YLUR.js.map +1 -0
- package/dist/{chunk-N37X5RU7.js → chunk-BD7JTBYP.js} +2 -2
- package/dist/{chunk-VO43BJ2F.js → chunk-BLJWYCNO.js} +5 -5
- package/dist/{chunk-ACPCA4NO.js → chunk-BMWN7B3Y.js} +6 -6
- package/dist/chunk-BMWN7B3Y.js.map +1 -0
- package/dist/{chunk-HSKSVY3Q.js → chunk-C553ZTLF.js} +15 -15
- package/dist/{chunk-GCASGYIO.js → chunk-C7HJ3NEI.js} +2 -2
- package/dist/{chunk-WVGXCBOC.js → chunk-D5F7TKMH.js} +2 -2
- package/dist/{chunk-UFT2XNBW.js → chunk-DGS34QSY.js} +2 -2
- package/dist/{chunk-VAOL3SOT.js → chunk-DZD3WGCD.js} +4 -4
- package/dist/{chunk-KHMS2FQS.js → chunk-E2P7TZTF.js} +2 -2
- package/dist/{chunk-6FC3IZ26.js → chunk-EBA5DA77.js} +2 -2
- package/dist/{chunk-E6EANYLD.js → chunk-EOQ6FSQP.js} +2 -2
- package/dist/{chunk-7RPPCA26.js → chunk-FVOP3NT7.js} +2 -2
- package/dist/{chunk-NRLELHAY.js → chunk-G7NYVKD6.js} +2 -2
- package/dist/{chunk-QY34X2QJ.js → chunk-GHTSNGBZ.js} +2 -2
- package/dist/{chunk-SLIOMMPF.js → chunk-H272ZPQ3.js} +5 -5
- package/dist/{chunk-ZZBQNQS6.js → chunk-H3TKENU4.js} +2 -2
- package/dist/{chunk-5OPNUUBX.js → chunk-H4SEGIZY.js} +2 -2
- package/dist/{chunk-F2HMDGLC.js → chunk-H54VWRPS.js} +13 -13
- package/dist/{chunk-HTP6XRUI.js → chunk-HM7RHKS4.js} +2 -2
- package/dist/{chunk-O7H3P2SJ.js → chunk-HWLIMQE2.js} +2 -2
- package/dist/{chunk-62WZDHTW.js → chunk-ICKJ52PE.js} +33 -33
- package/dist/chunk-ICKJ52PE.js.map +1 -0
- package/dist/{chunk-I3FDDCY3.js → chunk-JEC4DVM3.js} +8 -8
- package/dist/chunk-JEC4DVM3.js.map +1 -0
- package/dist/{chunk-ET2CNMLD.js → chunk-JN72EPOE.js} +2 -2
- package/dist/{chunk-E7UQOS4C.js → chunk-JPKK466T.js} +2 -2
- package/dist/{chunk-JCCWJHOP.js → chunk-JYZSRNR7.js} +2 -2
- package/dist/{chunk-7IUESBLV.js → chunk-K7724CH2.js} +2 -2
- package/dist/{chunk-UK7HXNNJ.js → chunk-KAXCYM66.js} +3 -3
- package/dist/{chunk-7XVP4P4O.js → chunk-KB2G2I6Q.js} +3 -3
- package/dist/{chunk-K7LTRJZU.js → chunk-KEF46KL2.js} +2 -2
- package/dist/{chunk-5UZXUTVO.js → chunk-KNA3BXXL.js} +6 -2
- package/dist/chunk-KNA3BXXL.js.map +1 -0
- package/dist/{chunk-JYYTWCPU.js → chunk-KTWG7CNY.js} +6 -6
- package/dist/{chunk-XTYDEO7M.js → chunk-L7Z57SID.js} +2 -2
- package/dist/{chunk-EYMPUXAN.js → chunk-LO4UKPKX.js} +3 -3
- package/dist/{chunk-LDWIPYJ6.js → chunk-LS2FHUML.js} +3 -3
- package/dist/{chunk-GDB4J2H3.js → chunk-MPC7TYTZ.js} +2 -2
- package/dist/{chunk-2GF27PGH.js → chunk-MRPOZBJC.js} +3 -3
- package/dist/{chunk-7OLKAQMG.js → chunk-MWN6QEI2.js} +2 -2
- package/dist/{chunk-J62HG52Z.js → chunk-MY5EDR46.js} +4 -4
- package/dist/{chunk-IZRMWPGS.js → chunk-N3ZOP7KC.js} +2 -2
- package/dist/{chunk-N6A2RP5S.js → chunk-NB3LRY4T.js} +3 -3
- package/dist/{chunk-4N5BIR2U.js → chunk-ND6IQGSZ.js} +2 -2
- package/dist/{chunk-NOB2T2FC.js → chunk-NHLLKEKK.js} +2 -2
- package/dist/{chunk-WW6B7NQJ.js → chunk-NLYVH66G.js} +6 -6
- package/dist/chunk-NLYVH66G.js.map +1 -0
- package/dist/{chunk-M5CQNOQN.js → chunk-O6ZNNVSP.js} +2 -2
- package/dist/{chunk-NNBZS3DY.js → chunk-OB3XMWX5.js} +2 -2
- package/dist/{chunk-TXJNRGMI.js → chunk-OEYZXDQI.js} +6 -6
- package/dist/chunk-OEYZXDQI.js.map +1 -0
- package/dist/{chunk-SIBVIP2Y.js → chunk-PAZY2ZKP.js} +2 -2
- package/dist/{chunk-LXESHEBP.js → chunk-PX4UMA5Z.js} +2 -2
- package/dist/{chunk-4KNRKJXQ.js → chunk-QOOBICJF.js} +5 -5
- package/dist/chunk-QOOBICJF.js.map +1 -0
- package/dist/{chunk-NNZFPYYX.js → chunk-R7QY5ZVB.js} +2 -2
- package/dist/{chunk-WTRTFIIN.js → chunk-R7RTXEYG.js} +2 -2
- package/dist/{chunk-XRBJ5R3P.js → chunk-RBCQVOVJ.js} +3 -3
- package/dist/{chunk-WFZNT4KB.js → chunk-RC5DXXWC.js} +2 -2
- package/dist/{chunk-OH7LZHGJ.js → chunk-RJYJ7KR7.js} +52 -52
- package/dist/{chunk-OH7LZHGJ.js.map → chunk-RJYJ7KR7.js.map} +1 -1
- package/dist/{chunk-5QZR2RA3.js → chunk-ROBHL3GL.js} +2 -2
- package/dist/{chunk-6PST2SFW.js → chunk-SCXURCVT.js} +3 -3
- package/dist/{chunk-AYG7ML7O.js → chunk-SJDQ5RSN.js} +3 -3
- package/dist/{chunk-3ZBLKIHJ.js → chunk-SMWTZLHE.js} +51 -41
- package/dist/{chunk-3ZBLKIHJ.js.map → chunk-SMWTZLHE.js.map} +1 -1
- package/dist/{chunk-IQXDSKTL.js → chunk-SVXJLDDC.js} +6 -6
- package/dist/{chunk-SEF4IOFE.js → chunk-SWIKABKI.js} +2 -2
- package/dist/{chunk-ZJABRLCZ.js → chunk-TBXAY2SS.js} +4 -4
- package/dist/{chunk-GIC6BASP.js → chunk-TNSCIPBQ.js} +2 -2
- package/dist/{chunk-ZMDMHSV2.js → chunk-TVEONGBU.js} +2 -2
- package/dist/{chunk-4FSEZRGK.js → chunk-TWF35IC6.js} +2 -2
- package/dist/{chunk-LS2SGMQE.js → chunk-U6N5IBVY.js} +2 -2
- package/dist/{chunk-62YW6OYI.js → chunk-UCKYTA2T.js} +3 -3
- package/dist/{chunk-YFCHNOGJ.js → chunk-UNNPNBR2.js} +9 -9
- package/dist/{chunk-Z2M7F4QM.js → chunk-VVX5PZFS.js} +3 -3
- package/dist/{chunk-NTYLZXDX.js → chunk-VYCOJKSX.js} +2 -2
- package/dist/{chunk-UICSQESY.js → chunk-W24T5YMW.js} +2 -2
- package/dist/{chunk-HDQUQBPW.js → chunk-W3K3HITK.js} +2 -2
- package/dist/{chunk-GDASG7NC.js → chunk-W4F3C7N7.js} +2 -2
- package/dist/{chunk-YBLZFNIQ.js → chunk-WJHGDE7X.js} +2 -2
- package/dist/{chunk-ZBPXG5PJ.js → chunk-WMLEPWMO.js} +9 -9
- package/dist/chunk-WMLEPWMO.js.map +1 -0
- package/dist/{chunk-4F24PHNX.js → chunk-WQZZDN5M.js} +2 -2
- package/dist/{chunk-CDZEUCV7.js → chunk-X5K5TAQZ.js} +4 -4
- package/dist/{chunk-5AUODSOQ.js → chunk-XM24CDZX.js} +3 -3
- package/dist/{chunk-6VML2LII.js → chunk-XOVKXJEP.js} +3 -3
- package/dist/{chunk-OU5TIWDQ.js → chunk-XSGUMQQQ.js} +12 -12
- package/dist/{chunk-7CFVBWDC.js → chunk-XUE46UYW.js} +3 -3
- package/dist/{chunk-DJORULH3.js → chunk-YRLHEEQT.js} +2 -2
- package/dist/{chunk-YRWDPE32.js → chunk-Z3O53WZR.js} +2 -2
- package/dist/{chunk-CSY5DA7O.js → chunk-Z6COGHHN.js} +2 -2
- package/dist/{chunk-OYR3IPHD.js → chunk-ZIW5JVRM.js} +2 -2
- package/dist/{cli-B_YwqoIr.d.ts → cli-BqMNkQn5.d.ts} +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +94 -94
- package/dist/coding/export-okf-codegraph.js +21 -21
- package/dist/coding/pre-action-gate.js +4 -3
- package/dist/commitment-ledger.js +3 -2
- package/dist/compounding/engine.js +21 -21
- package/dist/config.js +12 -11
- package/dist/connectors/codex-materialize-runner.js +21 -21
- package/dist/connectors/codex-materialize.js +3 -3
- package/dist/connectors/index.js +21 -21
- package/dist/consolidation-provenance-check.js +4 -4
- package/dist/consolidation-undo.js +3 -3
- package/dist/contradiction/index.js +7 -7
- package/dist/convergence-refresh.js +22 -22
- package/dist/corpus-watermark.js +22 -22
- package/dist/cue-anchors.js +4 -3
- package/dist/deep-recall-http-glue.d.ts +1 -1
- package/dist/deep-recall-http-glue.js +7 -6
- package/dist/deep-recall-mcp-tools.d.ts +1 -1
- package/dist/entity-retrieval.js +20 -20
- package/dist/eval-trajectory-store.js +4 -3
- package/dist/eval-trajectory.js +4 -3
- package/dist/evals.js +3 -2
- package/dist/explicit-capture.js +8 -8
- package/dist/external-wiki-access.d.ts +1 -1
- package/dist/external-wiki-access.js +54 -54
- package/dist/external-wiki-mcp-tools.d.ts +1 -1
- package/dist/extraction.js +25 -25
- package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-RC345GPL.js} +6 -5
- package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-RC345GPL.js.map} +1 -1
- package/dist/{graph-edge-decay-CJW4OT2X.js → graph-edge-decay-MKIRZ762.js} +5 -4
- package/dist/graph-jsonl.js +3 -2
- package/dist/graph-snapshot.js +3 -2
- package/dist/graph.js +2 -1
- package/dist/harmonic-construction.js +5 -4
- package/dist/harmonic-retrieval.js +5 -4
- package/dist/index.d.ts +19 -7
- package/dist/index.js +114 -112
- package/dist/json-store.js +2 -1
- package/dist/live-connectors-runner.js +3 -2
- package/dist/location/index.js +23 -23
- package/dist/maintenance/memory-governance.js +20 -20
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +20 -20
- package/dist/maintenance/rebuild-memory-projection.js +21 -21
- package/dist/mcp-memory-inspector-app.d.ts +1 -1
- package/dist/memory-projection-mutations.js +3 -3
- package/dist/memory-subject-cli.d.ts +1 -1
- package/dist/memory-subject.d.ts +1 -1
- package/dist/memory-subject.js +4 -4
- package/dist/namespaces/migrate.js +21 -21
- package/dist/namespaces/search.js +8 -8
- package/dist/namespaces/storage.js +20 -20
- package/dist/objective-state-writers.js +4 -3
- package/dist/objective-state.js +3 -2
- package/dist/offline-sync-file-io.js +4 -3
- package/dist/offline-sync-impression-drain.js +5 -5
- package/dist/offline-sync.js +5 -4
- package/dist/operator-doctor-corpus.js +23 -23
- package/dist/operator-toolkit.js +38 -38
- package/dist/orchestration/maintenance.js +29 -29
- package/dist/orchestrator.js +112 -112
- package/dist/page-versioning.js +3 -3
- package/dist/{public-http-D6d4W8x-.d.ts → public-http-ByX2eTla.d.ts} +1 -1
- package/dist/{purge-OP6BEDFY.js → purge-TZKRE6ZQ.js} +5 -5
- package/dist/purge-TZKRE6ZQ.js.map +1 -0
- package/dist/recall-state.js +3 -3
- package/dist/reconcile/manifest.js +4 -4
- package/dist/{resolution-U5O4QANY.js → resolution-VKATP2HT.js} +8 -8
- package/dist/resume-bundles.js +16 -15
- package/dist/salvage-envelope.js +6 -6
- package/dist/schemas.d.ts +42 -42
- package/dist/search/document-scanner.js +3 -3
- package/dist/search/factory.js +7 -7
- package/dist/search/index.js +7 -7
- package/dist/search/lancedb-backend.js +4 -4
- package/dist/search/meilisearch-backend.js +4 -4
- package/dist/search/orama-backend.js +4 -4
- package/dist/secure-store/index.js +3 -3
- package/dist/semantic-consolidation.js +22 -22
- package/dist/semantic-rule-promotion.js +20 -20
- package/dist/semantic-rule-verifier.js +20 -20
- package/dist/source-agent-qualifier.js +24 -24
- package/dist/standup/build.js +20 -20
- package/dist/storage.js +19 -19
- package/dist/subject-config.js +5 -5
- package/dist/support-passport/index.d.ts +4 -4
- package/dist/support-passport/index.js +56 -56
- package/dist/{tier-stats-2TOW3QNL.js → tier-stats-KA6OZX2C.js} +6 -5
- package/dist/{tier-stats-2TOW3QNL.js.map → tier-stats-KA6OZX2C.js.map} +1 -1
- package/dist/transfer/capsule-import.js +4 -4
- package/dist/transfer/export-okf.js +21 -21
- package/dist/transfer/types.d.ts +12 -12
- package/dist/trust-zones.js +3 -2
- package/dist/utility-learner.js +4 -3
- package/dist/utility-runtime.js +5 -4
- package/dist/utility-telemetry.js +3 -2
- package/dist/verified-recall.js +20 -20
- package/dist/who-knows-cli.d.ts +1 -1
- package/dist/who-knows-cli.js +21 -21
- package/dist/who-knows.d.ts +1 -1
- package/dist/who-knows.js +20 -20
- package/dist/work/board.js +3 -3
- package/dist/work/storage.js +2 -2
- package/dist/work-product-ledger.js +3 -2
- package/dist/write-envelope.js +5 -5
- package/package.json +2 -2
- package/src/abstraction-nodes.ts +1 -4
- package/src/binary-lifecycle/backend.ts +2 -1
- package/src/connectors/live/github.ts +10 -17
- package/src/connectors/live/gmail.ts +8 -19
- package/src/connectors/live/google-drive.ts +6 -13
- package/src/connectors/live/notion.ts +11 -21
- package/src/cue-anchors.ts +1 -6
- package/src/graph.ts +2 -4
- package/src/json-store.ts +17 -20
- package/src/live-connectors-runner.ts +2 -1
- package/src/location/store.ts +1 -4
- package/src/maintenance/purge.ts +2 -5
- package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +3 -6
- package/src/maintenance/rebuild-memory-projection.ts +2 -5
- package/src/namespaces/catalog.ts +1 -9
- package/src/offline-sync-file-io.test.ts +39 -0
- package/src/offline-sync-file-io.ts +3 -7
- package/src/procedural/procedure-miner.ts +1 -9
- package/src/search/document-scanner.ts +3 -6
- package/src/semantic-rule-promotion.ts +1 -4
- package/src/utils/errno.test.ts +31 -0
- package/src/utils/errno.ts +5 -0
- package/src/wearables/index.ts +1 -0
- package/src/wearables/registry.ts +23 -0
- package/dist/chunk-4KNRKJXQ.js.map +0 -1
- package/dist/chunk-5UZXUTVO.js.map +0 -1
- package/dist/chunk-62WZDHTW.js.map +0 -1
- package/dist/chunk-ACPCA4NO.js.map +0 -1
- package/dist/chunk-DDQQY2E3.js.map +0 -1
- package/dist/chunk-DJUKBGAD.js.map +0 -1
- package/dist/chunk-HTIIXNJQ.js.map +0 -1
- package/dist/chunk-I3FDDCY3.js.map +0 -1
- package/dist/chunk-MSOXFXCA.js.map +0 -1
- package/dist/chunk-P77QX3ID.js.map +0 -1
- package/dist/chunk-TXJNRGMI.js.map +0 -1
- package/dist/chunk-UR6PBX2J.js.map +0 -1
- package/dist/chunk-W7IGLX4G.js.map +0 -1
- package/dist/chunk-WW6B7NQJ.js.map +0 -1
- package/dist/chunk-ZBPXG5PJ.js.map +0 -1
- package/dist/purge-OP6BEDFY.js.map +0 -1
- package/dist/{access-service-Cv8Rizo0.d.ts → access-service-GrdVg_-Z.d.ts} +6 -6
- /package/dist/{auto-sync-TTIEWJ5X.js.map → auto-sync-WNGG2GC2.js.map} +0 -0
- /package/dist/{capsule-merge-CU6QJBSV.js.map → capsule-merge-IPG4IOFP.js.map} +0 -0
- /package/dist/{chunk-5RWHODVF.js.map → chunk-27QVNSQ3.js.map} +0 -0
- /package/dist/{chunk-2MX7RU7B.js.map → chunk-2EKJDQZB.js.map} +0 -0
- /package/dist/{chunk-XLRM6PPI.js.map → chunk-2IOHTUP3.js.map} +0 -0
- /package/dist/{chunk-ZGQDTD5T.js.map → chunk-2ITE4C2Z.js.map} +0 -0
- /package/dist/{chunk-O5ZR7SXV.js.map → chunk-2SGLMP2E.js.map} +0 -0
- /package/dist/{chunk-FYWLSFFS.js.map → chunk-2Z4GS5E6.js.map} +0 -0
- /package/dist/{chunk-WELP4CG6.js.map → chunk-37KUQPX4.js.map} +0 -0
- /package/dist/{chunk-MRSLR6TB.js.map → chunk-3QQTXYZ6.js.map} +0 -0
- /package/dist/{chunk-CI6C33EO.js.map → chunk-46ZPIGWI.js.map} +0 -0
- /package/dist/{chunk-MCA2X4WH.js.map → chunk-4IHBN6WU.js.map} +0 -0
- /package/dist/{chunk-TOZCM7WN.js.map → chunk-4TKJGOCJ.js.map} +0 -0
- /package/dist/{chunk-3ADRFFRO.js.map → chunk-54WHLA65.js.map} +0 -0
- /package/dist/{chunk-Z2N2AHEM.js.map → chunk-56Y6EKZN.js.map} +0 -0
- /package/dist/{chunk-2H2N5UQW.js.map → chunk-5ATKSPEQ.js.map} +0 -0
- /package/dist/{chunk-ZVZHG7AI.js.map → chunk-5UBH37SL.js.map} +0 -0
- /package/dist/{chunk-YZYZ2BEU.js.map → chunk-66OJSCI6.js.map} +0 -0
- /package/dist/{chunk-HNPE66LB.js.map → chunk-6CVNSDCZ.js.map} +0 -0
- /package/dist/{chunk-ERVJFFTR.js.map → chunk-6NXSYYGP.js.map} +0 -0
- /package/dist/{chunk-2HIJHXB3.js.map → chunk-6WHJ2EAB.js.map} +0 -0
- /package/dist/{chunk-34VTBPNE.js.map → chunk-6XL73HQ4.js.map} +0 -0
- /package/dist/{chunk-YK3UIF7X.js.map → chunk-AQ7SYDVO.js.map} +0 -0
- /package/dist/{chunk-DSCCM66R.js.map → chunk-B3O3IRZN.js.map} +0 -0
- /package/dist/{chunk-N37X5RU7.js.map → chunk-BD7JTBYP.js.map} +0 -0
- /package/dist/{chunk-VO43BJ2F.js.map → chunk-BLJWYCNO.js.map} +0 -0
- /package/dist/{chunk-HSKSVY3Q.js.map → chunk-C553ZTLF.js.map} +0 -0
- /package/dist/{chunk-GCASGYIO.js.map → chunk-C7HJ3NEI.js.map} +0 -0
- /package/dist/{chunk-WVGXCBOC.js.map → chunk-D5F7TKMH.js.map} +0 -0
- /package/dist/{chunk-UFT2XNBW.js.map → chunk-DGS34QSY.js.map} +0 -0
- /package/dist/{chunk-VAOL3SOT.js.map → chunk-DZD3WGCD.js.map} +0 -0
- /package/dist/{chunk-KHMS2FQS.js.map → chunk-E2P7TZTF.js.map} +0 -0
- /package/dist/{chunk-6FC3IZ26.js.map → chunk-EBA5DA77.js.map} +0 -0
- /package/dist/{chunk-E6EANYLD.js.map → chunk-EOQ6FSQP.js.map} +0 -0
- /package/dist/{chunk-7RPPCA26.js.map → chunk-FVOP3NT7.js.map} +0 -0
- /package/dist/{chunk-NRLELHAY.js.map → chunk-G7NYVKD6.js.map} +0 -0
- /package/dist/{chunk-QY34X2QJ.js.map → chunk-GHTSNGBZ.js.map} +0 -0
- /package/dist/{chunk-SLIOMMPF.js.map → chunk-H272ZPQ3.js.map} +0 -0
- /package/dist/{chunk-ZZBQNQS6.js.map → chunk-H3TKENU4.js.map} +0 -0
- /package/dist/{chunk-5OPNUUBX.js.map → chunk-H4SEGIZY.js.map} +0 -0
- /package/dist/{chunk-F2HMDGLC.js.map → chunk-H54VWRPS.js.map} +0 -0
- /package/dist/{chunk-HTP6XRUI.js.map → chunk-HM7RHKS4.js.map} +0 -0
- /package/dist/{chunk-O7H3P2SJ.js.map → chunk-HWLIMQE2.js.map} +0 -0
- /package/dist/{chunk-ET2CNMLD.js.map → chunk-JN72EPOE.js.map} +0 -0
- /package/dist/{chunk-E7UQOS4C.js.map → chunk-JPKK466T.js.map} +0 -0
- /package/dist/{chunk-JCCWJHOP.js.map → chunk-JYZSRNR7.js.map} +0 -0
- /package/dist/{chunk-7IUESBLV.js.map → chunk-K7724CH2.js.map} +0 -0
- /package/dist/{chunk-UK7HXNNJ.js.map → chunk-KAXCYM66.js.map} +0 -0
- /package/dist/{chunk-7XVP4P4O.js.map → chunk-KB2G2I6Q.js.map} +0 -0
- /package/dist/{chunk-K7LTRJZU.js.map → chunk-KEF46KL2.js.map} +0 -0
- /package/dist/{chunk-JYYTWCPU.js.map → chunk-KTWG7CNY.js.map} +0 -0
- /package/dist/{chunk-XTYDEO7M.js.map → chunk-L7Z57SID.js.map} +0 -0
- /package/dist/{chunk-EYMPUXAN.js.map → chunk-LO4UKPKX.js.map} +0 -0
- /package/dist/{chunk-LDWIPYJ6.js.map → chunk-LS2FHUML.js.map} +0 -0
- /package/dist/{chunk-GDB4J2H3.js.map → chunk-MPC7TYTZ.js.map} +0 -0
- /package/dist/{chunk-2GF27PGH.js.map → chunk-MRPOZBJC.js.map} +0 -0
- /package/dist/{chunk-7OLKAQMG.js.map → chunk-MWN6QEI2.js.map} +0 -0
- /package/dist/{chunk-J62HG52Z.js.map → chunk-MY5EDR46.js.map} +0 -0
- /package/dist/{chunk-IZRMWPGS.js.map → chunk-N3ZOP7KC.js.map} +0 -0
- /package/dist/{chunk-N6A2RP5S.js.map → chunk-NB3LRY4T.js.map} +0 -0
- /package/dist/{chunk-4N5BIR2U.js.map → chunk-ND6IQGSZ.js.map} +0 -0
- /package/dist/{chunk-NOB2T2FC.js.map → chunk-NHLLKEKK.js.map} +0 -0
- /package/dist/{chunk-M5CQNOQN.js.map → chunk-O6ZNNVSP.js.map} +0 -0
- /package/dist/{chunk-NNBZS3DY.js.map → chunk-OB3XMWX5.js.map} +0 -0
- /package/dist/{chunk-SIBVIP2Y.js.map → chunk-PAZY2ZKP.js.map} +0 -0
- /package/dist/{chunk-LXESHEBP.js.map → chunk-PX4UMA5Z.js.map} +0 -0
- /package/dist/{chunk-NNZFPYYX.js.map → chunk-R7QY5ZVB.js.map} +0 -0
- /package/dist/{chunk-WTRTFIIN.js.map → chunk-R7RTXEYG.js.map} +0 -0
- /package/dist/{chunk-XRBJ5R3P.js.map → chunk-RBCQVOVJ.js.map} +0 -0
- /package/dist/{chunk-WFZNT4KB.js.map → chunk-RC5DXXWC.js.map} +0 -0
- /package/dist/{chunk-5QZR2RA3.js.map → chunk-ROBHL3GL.js.map} +0 -0
- /package/dist/{chunk-6PST2SFW.js.map → chunk-SCXURCVT.js.map} +0 -0
- /package/dist/{chunk-AYG7ML7O.js.map → chunk-SJDQ5RSN.js.map} +0 -0
- /package/dist/{chunk-IQXDSKTL.js.map → chunk-SVXJLDDC.js.map} +0 -0
- /package/dist/{chunk-SEF4IOFE.js.map → chunk-SWIKABKI.js.map} +0 -0
- /package/dist/{chunk-ZJABRLCZ.js.map → chunk-TBXAY2SS.js.map} +0 -0
- /package/dist/{chunk-GIC6BASP.js.map → chunk-TNSCIPBQ.js.map} +0 -0
- /package/dist/{chunk-ZMDMHSV2.js.map → chunk-TVEONGBU.js.map} +0 -0
- /package/dist/{chunk-4FSEZRGK.js.map → chunk-TWF35IC6.js.map} +0 -0
- /package/dist/{chunk-LS2SGMQE.js.map → chunk-U6N5IBVY.js.map} +0 -0
- /package/dist/{chunk-62YW6OYI.js.map → chunk-UCKYTA2T.js.map} +0 -0
- /package/dist/{chunk-YFCHNOGJ.js.map → chunk-UNNPNBR2.js.map} +0 -0
- /package/dist/{chunk-Z2M7F4QM.js.map → chunk-VVX5PZFS.js.map} +0 -0
- /package/dist/{chunk-NTYLZXDX.js.map → chunk-VYCOJKSX.js.map} +0 -0
- /package/dist/{chunk-UICSQESY.js.map → chunk-W24T5YMW.js.map} +0 -0
- /package/dist/{chunk-HDQUQBPW.js.map → chunk-W3K3HITK.js.map} +0 -0
- /package/dist/{chunk-GDASG7NC.js.map → chunk-W4F3C7N7.js.map} +0 -0
- /package/dist/{chunk-YBLZFNIQ.js.map → chunk-WJHGDE7X.js.map} +0 -0
- /package/dist/{chunk-4F24PHNX.js.map → chunk-WQZZDN5M.js.map} +0 -0
- /package/dist/{chunk-CDZEUCV7.js.map → chunk-X5K5TAQZ.js.map} +0 -0
- /package/dist/{chunk-5AUODSOQ.js.map → chunk-XM24CDZX.js.map} +0 -0
- /package/dist/{chunk-6VML2LII.js.map → chunk-XOVKXJEP.js.map} +0 -0
- /package/dist/{chunk-OU5TIWDQ.js.map → chunk-XSGUMQQQ.js.map} +0 -0
- /package/dist/{chunk-7CFVBWDC.js.map → chunk-XUE46UYW.js.map} +0 -0
- /package/dist/{chunk-DJORULH3.js.map → chunk-YRLHEEQT.js.map} +0 -0
- /package/dist/{chunk-YRWDPE32.js.map → chunk-Z3O53WZR.js.map} +0 -0
- /package/dist/{chunk-CSY5DA7O.js.map → chunk-Z6COGHHN.js.map} +0 -0
- /package/dist/{chunk-OYR3IPHD.js.map → chunk-ZIW5JVRM.js.map} +0 -0
- /package/dist/{graph-edge-decay-CJW4OT2X.js.map → graph-edge-decay-MKIRZ762.js.map} +0 -0
- /package/dist/{resolution-U5O4QANY.js.map → resolution-VKATP2HT.js.map} +0 -0
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readChainIndex,
|
|
3
3
|
resolveChainsDir
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LO4UKPKX.js";
|
|
5
5
|
import {
|
|
6
6
|
buildExtensionsBlockForConsolidation
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-W24T5YMW.js";
|
|
8
8
|
import "./chunk-5JMAGU26.js";
|
|
9
9
|
import "./chunk-B7RWBZXW.js";
|
|
10
10
|
import {
|
|
11
11
|
runPostConsolidationMaterialize
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KAXCYM66.js";
|
|
13
13
|
import "./chunk-3UXOZBHV.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-KEF46KL2.js";
|
|
15
|
+
import "./chunk-XSGUMQQQ.js";
|
|
16
16
|
import "./chunk-UHVXE24Y.js";
|
|
17
17
|
import "./chunk-46WM6JX2.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-D5F7TKMH.js";
|
|
19
|
+
import "./chunk-2Z4GS5E6.js";
|
|
20
|
+
import "./chunk-6CVNSDCZ.js";
|
|
21
|
+
import "./chunk-BD7JTBYP.js";
|
|
22
|
+
import "./chunk-OB3XMWX5.js";
|
|
23
23
|
import "./chunk-CYEPCZN5.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-TNSCIPBQ.js";
|
|
25
25
|
import "./chunk-YQNNHLCG.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-4O6WRBGE.js";
|
|
27
27
|
import "./chunk-6KTXE6A3.js";
|
|
28
28
|
import "./chunk-GUMZC2BO.js";
|
|
29
29
|
import "./chunk-227UFSEQ.js";
|
|
@@ -33,29 +33,29 @@ import "./chunk-A7Q43EUZ.js";
|
|
|
33
33
|
import "./chunk-S2V7RUCL.js";
|
|
34
34
|
import "./chunk-SO7SV523.js";
|
|
35
35
|
import "./chunk-SCU65EZI.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-MRPOZBJC.js";
|
|
37
37
|
import "./chunk-S2HLHAZ4.js";
|
|
38
38
|
import "./chunk-DM2T26WE.js";
|
|
39
39
|
import "./chunk-LDXUBPMO.js";
|
|
40
40
|
import "./chunk-XSTNGNJP.js";
|
|
41
41
|
import "./chunk-AAD2ZS6P.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-H272ZPQ3.js";
|
|
43
43
|
import "./chunk-YXZG5TVN.js";
|
|
44
44
|
import "./chunk-3ONXXHQO.js";
|
|
45
45
|
import "./chunk-5GINB5LC.js";
|
|
46
46
|
import "./chunk-3WU7XOFN.js";
|
|
47
47
|
import "./chunk-G7D6GZ5J.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-JPKK466T.js";
|
|
49
49
|
import "./chunk-XCB6QDL6.js";
|
|
50
50
|
import "./chunk-RBOJCG4T.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-R7QY5ZVB.js";
|
|
52
52
|
import "./chunk-5WITETWU.js";
|
|
53
53
|
import "./chunk-6CIAGZ6X.js";
|
|
54
54
|
import "./chunk-CEH2AFXG.js";
|
|
55
55
|
import "./chunk-JXN77SGO.js";
|
|
56
56
|
import "./chunk-IUM3VSHI.js";
|
|
57
57
|
import "./chunk-ZLQ37WJX.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-3QQTXYZ6.js";
|
|
59
59
|
import "./chunk-BT7NVCML.js";
|
|
60
60
|
import "./chunk-C64XATK7.js";
|
|
61
61
|
import "./chunk-42JKGUFJ.js";
|
|
@@ -73,10 +73,10 @@ import "./chunk-ZCUTSMR2.js";
|
|
|
73
73
|
import "./chunk-QDW3E4RD.js";
|
|
74
74
|
import {
|
|
75
75
|
resolveCausalTrajectoryStoreDir
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-B3O3IRZN.js";
|
|
77
77
|
import "./chunk-NXH34IPL.js";
|
|
78
78
|
import "./chunk-ZIKENA2C.js";
|
|
79
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-VYCOJKSX.js";
|
|
80
80
|
import "./chunk-6Q3ZTEF6.js";
|
|
81
81
|
import "./chunk-W5BIQOAJ.js";
|
|
82
82
|
import "./chunk-Z7L72ZHL.js";
|
|
@@ -86,13 +86,13 @@ import "./chunk-TOTT6S2V.js";
|
|
|
86
86
|
import "./chunk-PQVCH2AE.js";
|
|
87
87
|
import "./chunk-PJKTFXE2.js";
|
|
88
88
|
import "./chunk-TG3FAM2S.js";
|
|
89
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-TBXAY2SS.js";
|
|
90
90
|
import "./chunk-ZA53AZND.js";
|
|
91
91
|
import "./chunk-AL3UYZ5N.js";
|
|
92
92
|
import "./chunk-RL6NEVXT.js";
|
|
93
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-C7HJ3NEI.js";
|
|
94
94
|
import "./chunk-7RJUVTVF.js";
|
|
95
|
-
import "./chunk-
|
|
95
|
+
import "./chunk-NB3LRY4T.js";
|
|
96
96
|
import "./chunk-5FVVY2EB.js";
|
|
97
97
|
import "./chunk-FFAZ2XFU.js";
|
|
98
98
|
import "./chunk-EEOUMG3J.js";
|
|
@@ -116,12 +116,12 @@ import {
|
|
|
116
116
|
import {
|
|
117
117
|
listJsonFiles,
|
|
118
118
|
readJsonFile
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-B6O2YLUR.js";
|
|
120
120
|
import "./chunk-FF4KLI5W.js";
|
|
121
|
-
import "./chunk-
|
|
121
|
+
import "./chunk-JN72EPOE.js";
|
|
122
122
|
import "./chunk-A6XUJE5D.js";
|
|
123
123
|
import "./chunk-VS2IYZRU.js";
|
|
124
|
-
import "./chunk-
|
|
124
|
+
import "./chunk-KNA3BXXL.js";
|
|
125
125
|
import {
|
|
126
126
|
log
|
|
127
127
|
} from "./chunk-3WCASNQZ.js";
|
package/dist/causal-retrieval.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readChainIndex,
|
|
3
3
|
resolveChainsDir
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LO4UKPKX.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
6
|
import {
|
|
7
7
|
readCausalTrajectoryRecords,
|
|
8
8
|
searchCausalTrajectories
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B3O3IRZN.js";
|
|
10
10
|
import "./chunk-YCVB7X56.js";
|
|
11
11
|
import "./chunk-A2IYSXDQ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-B6O2YLUR.js";
|
|
13
|
+
import "./chunk-KNA3BXXL.js";
|
|
13
14
|
import {
|
|
14
15
|
log
|
|
15
16
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/causal-retrieval.ts"],"sourcesContent":["/**\n * causal-retrieval.ts — CMC Phase 3: Causal Retrieval Channel\n *\n * Walks upstream/downstream causal chains during recall to surface\n * connected trajectories. Branching points (multiple outgoing edges\n * with different outcomes) get a counterfactual boost as they represent\n * decision points worth surfacing.\n */\n\nimport type { CausalTrajectoryRecord } from \"./causal-trajectory.js\";\nimport { readCausalTrajectoryRecords, searchCausalTrajectories } from \"./causal-trajectory.js\";\nimport {\n readChainIndex,\n resolveChainsDir,\n type CausalChainIndex,\n type CausalEdge,\n} from \"./causal-chain.js\";\nimport { log } from \"./logger.js\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface CausalRetrievalConfig {\n maxDepth: number;\n maxChars: number;\n counterfactualBoost: number;\n}\n\nexport interface CausalRetrievalResult {\n trajectoryId: string;\n direction: \"upstream\" | \"downstream\" | \"seed\";\n depth: number;\n score: number;\n edgeType?: CausalEdge[\"edgeType\"];\n edgeConfidence?: number;\n isCounterfactual: boolean;\n summary: string;\n}\n\n// ─── Graph Traversal ─────────────────────────────────────────────────────────\n\n/**\n * Walk upstream (incoming edges) from a seed trajectory.\n */\nfunction walkUpstream(\n seedId: string,\n index: CausalChainIndex,\n maxDepth: number,\n counterfactualBoost: number,\n): Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> {\n const visited = new Set<string>([seedId]);\n const results: Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> = [];\n\n let frontier = [seedId];\n for (let depth = 1; depth <= maxDepth; depth++) {\n const nextFrontier: string[] = [];\n\n for (const currentId of frontier) {\n const incomingEdgeIds = index.incoming[currentId] ?? [];\n\n for (const edgeId of incomingEdgeIds) {\n const edge = index.edges[edgeId];\n if (!edge) continue;\n\n const fromId = edge.fromTrajectoryId;\n if (visited.has(fromId)) continue;\n visited.add(fromId);\n\n // Check if this is a counterfactual branching point\n const outgoingFromSource = index.outgoing[fromId] ?? [];\n const isCounterfactual = outgoingFromSource.length > 1;\n\n const depthDecay = 1 / depth;\n let score = depthDecay * edge.confidence;\n if (isCounterfactual) score += counterfactualBoost;\n\n results.push({\n trajectoryId: fromId,\n depth,\n score,\n edgeType: edge.edgeType,\n edgeConfidence: edge.confidence,\n isCounterfactual,\n });\n\n nextFrontier.push(fromId);\n }\n }\n\n frontier = nextFrontier;\n if (frontier.length === 0) break;\n }\n\n return results;\n}\n\n/**\n * Walk downstream (outgoing edges) from a seed trajectory.\n * Max 2 hops downstream (less relevant than upstream context).\n */\nfunction walkDownstream(\n seedId: string,\n index: CausalChainIndex,\n maxDepth: number,\n counterfactualBoost: number,\n): Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> {\n const downstreamMaxDepth = Math.min(maxDepth, 2);\n const visited = new Set<string>([seedId]);\n const results: Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> = [];\n\n let frontier = [seedId];\n for (let depth = 1; depth <= downstreamMaxDepth; depth++) {\n const nextFrontier: string[] = [];\n\n for (const currentId of frontier) {\n const outgoingEdgeIds = index.outgoing[currentId] ?? [];\n\n // Counterfactual: multiple outgoing = branching point\n const isCounterfactual = outgoingEdgeIds.length > 1;\n\n for (const edgeId of outgoingEdgeIds) {\n const edge = index.edges[edgeId];\n if (!edge) continue;\n\n const toId = edge.toTrajectoryId;\n if (visited.has(toId)) continue;\n visited.add(toId);\n\n const depthDecay = 1 / (depth + 1); // downstream penalized more\n let score = depthDecay * edge.confidence;\n if (isCounterfactual) score += counterfactualBoost;\n\n results.push({\n trajectoryId: toId,\n depth,\n score,\n edgeType: edge.edgeType,\n edgeConfidence: edge.confidence,\n isCounterfactual,\n });\n\n nextFrontier.push(toId);\n }\n }\n\n frontier = nextFrontier;\n if (frontier.length === 0) break;\n }\n\n return results;\n}\n\n// ─── Section Formatting ──────────────────────────────────────────────────────\n\nfunction formatRetrievalResult(result: CausalRetrievalResult): string {\n const direction = result.direction === \"upstream\" ? \"↑\" : result.direction === \"downstream\" ? \"↓\" : \"•\";\n const counterfactual = result.isCounterfactual ? \" [branching point]\" : \"\";\n const edgeInfo = result.edgeType ? ` (${result.edgeType})` : \"\";\n return `- ${direction} ${result.summary}${edgeInfo}${counterfactual}`;\n}\n\nfunction formatConnectedTrajectorySummary(\n trajectoryId: string,\n depth: number,\n trajectoriesById: Map<string, CausalTrajectoryRecord>,\n): string {\n const record = trajectoriesById.get(trajectoryId);\n if (!record) return `Depth ${depth}: trajectory ${trajectoryId.slice(0, 12)}`;\n return `Depth ${depth}: [${record.outcomeKind}] ${record.goal} → ${record.outcomeSummary}`;\n}\n\nexport function formatCausalRetrievalSection(\n results: CausalRetrievalResult[],\n maxChars: number,\n): string | null {\n if (results.length === 0) return null;\n\n const lines: string[] = [\n \"## Causal Chain Context\",\n \"\",\n \"Related causal trajectories from connected sessions:\",\n \"\",\n ];\n\n let totalChars = lines.join(\"\\n\").length;\n\n for (const result of results) {\n const line = formatRetrievalResult(result);\n if (totalChars + line.length + 1 > maxChars) break;\n lines.push(line);\n totalChars += line.length + 1;\n }\n\n if (lines.length <= 4) return null; // only header, no content\n lines.push(\"\");\n return lines.join(\"\\n\");\n}\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\n/**\n * Retrieve causal chain context for a recall query.\n * 1. Use existing causal trajectory search for seed trajectories\n * 2. Walk upstream/downstream from seeds\n * 3. Format as recall section\n */\nexport async function retrieveCausalChains(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n query: string;\n sessionKey?: string;\n config: CausalRetrievalConfig;\n}): Promise<string | null> {\n try {\n const { memoryDir, causalTrajectoryStoreDir, query, sessionKey, config: retrievalConfig } = options;\n\n // 1. Search for seed trajectories matching the query\n const seeds = await searchCausalTrajectories({\n memoryDir,\n causalTrajectoryStoreDir,\n query,\n maxResults: 3,\n sessionKey,\n });\n\n if (seeds.length === 0) return null;\n\n // 2. Load chain index\n const chainsDir = resolveChainsDir(memoryDir, causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n\n if (Object.keys(chainIndex.edges).length === 0) return null;\n\n const { trajectories } = await readCausalTrajectoryRecords({ memoryDir, causalTrajectoryStoreDir });\n const trajectoriesById = new Map(trajectories.map((trajectory) => [trajectory.trajectoryId, trajectory]));\n\n // 3. Walk chains from each seed\n const allResults: CausalRetrievalResult[] = [];\n\n for (const seed of seeds) {\n // Add seed itself\n allResults.push({\n trajectoryId: seed.record.trajectoryId,\n direction: \"seed\",\n depth: 0,\n score: seed.score,\n isCounterfactual: false,\n summary: `[${seed.record.outcomeKind}] ${seed.record.goal} → ${seed.record.outcomeSummary}`,\n });\n\n // Walk upstream\n const upstream = walkUpstream(\n seed.record.trajectoryId,\n chainIndex,\n retrievalConfig.maxDepth,\n retrievalConfig.counterfactualBoost,\n );\n for (const u of upstream) {\n allResults.push({\n trajectoryId: u.trajectoryId,\n direction: \"upstream\",\n depth: u.depth,\n score: u.score,\n edgeType: u.edgeType,\n edgeConfidence: u.edgeConfidence,\n isCounterfactual: u.isCounterfactual,\n summary: formatConnectedTrajectorySummary(u.trajectoryId, u.depth, trajectoriesById),\n });\n }\n\n // Walk downstream\n const downstream = walkDownstream(\n seed.record.trajectoryId,\n chainIndex,\n retrievalConfig.maxDepth,\n retrievalConfig.counterfactualBoost,\n );\n for (const d of downstream) {\n allResults.push({\n trajectoryId: d.trajectoryId,\n direction: \"downstream\",\n depth: d.depth,\n score: d.score,\n edgeType: d.edgeType,\n edgeConfidence: d.edgeConfidence,\n isCounterfactual: d.isCounterfactual,\n summary: formatConnectedTrajectorySummary(d.trajectoryId, d.depth, trajectoriesById),\n });\n }\n }\n\n // 4. Sort by score and format\n allResults.sort((a, b) => b.score - a.score);\n\n return formatCausalRetrievalSection(allResults, retrievalConfig.maxChars);\n } catch (error) {\n log.warn(`[cmc] causal retrieval failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return null;\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/causal-retrieval.ts"],"sourcesContent":["/**\n * causal-retrieval.ts — CMC Phase 3: Causal Retrieval Channel\n *\n * Walks upstream/downstream causal chains during recall to surface\n * connected trajectories. Branching points (multiple outgoing edges\n * with different outcomes) get a counterfactual boost as they represent\n * decision points worth surfacing.\n */\n\nimport type { CausalTrajectoryRecord } from \"./causal-trajectory.js\";\nimport { readCausalTrajectoryRecords, searchCausalTrajectories } from \"./causal-trajectory.js\";\nimport {\n readChainIndex,\n resolveChainsDir,\n type CausalChainIndex,\n type CausalEdge,\n} from \"./causal-chain.js\";\nimport { log } from \"./logger.js\";\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface CausalRetrievalConfig {\n maxDepth: number;\n maxChars: number;\n counterfactualBoost: number;\n}\n\nexport interface CausalRetrievalResult {\n trajectoryId: string;\n direction: \"upstream\" | \"downstream\" | \"seed\";\n depth: number;\n score: number;\n edgeType?: CausalEdge[\"edgeType\"];\n edgeConfidence?: number;\n isCounterfactual: boolean;\n summary: string;\n}\n\n// ─── Graph Traversal ─────────────────────────────────────────────────────────\n\n/**\n * Walk upstream (incoming edges) from a seed trajectory.\n */\nfunction walkUpstream(\n seedId: string,\n index: CausalChainIndex,\n maxDepth: number,\n counterfactualBoost: number,\n): Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> {\n const visited = new Set<string>([seedId]);\n const results: Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> = [];\n\n let frontier = [seedId];\n for (let depth = 1; depth <= maxDepth; depth++) {\n const nextFrontier: string[] = [];\n\n for (const currentId of frontier) {\n const incomingEdgeIds = index.incoming[currentId] ?? [];\n\n for (const edgeId of incomingEdgeIds) {\n const edge = index.edges[edgeId];\n if (!edge) continue;\n\n const fromId = edge.fromTrajectoryId;\n if (visited.has(fromId)) continue;\n visited.add(fromId);\n\n // Check if this is a counterfactual branching point\n const outgoingFromSource = index.outgoing[fromId] ?? [];\n const isCounterfactual = outgoingFromSource.length > 1;\n\n const depthDecay = 1 / depth;\n let score = depthDecay * edge.confidence;\n if (isCounterfactual) score += counterfactualBoost;\n\n results.push({\n trajectoryId: fromId,\n depth,\n score,\n edgeType: edge.edgeType,\n edgeConfidence: edge.confidence,\n isCounterfactual,\n });\n\n nextFrontier.push(fromId);\n }\n }\n\n frontier = nextFrontier;\n if (frontier.length === 0) break;\n }\n\n return results;\n}\n\n/**\n * Walk downstream (outgoing edges) from a seed trajectory.\n * Max 2 hops downstream (less relevant than upstream context).\n */\nfunction walkDownstream(\n seedId: string,\n index: CausalChainIndex,\n maxDepth: number,\n counterfactualBoost: number,\n): Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> {\n const downstreamMaxDepth = Math.min(maxDepth, 2);\n const visited = new Set<string>([seedId]);\n const results: Array<{ trajectoryId: string; depth: number; score: number; edgeType: CausalEdge[\"edgeType\"]; edgeConfidence: number; isCounterfactual: boolean }> = [];\n\n let frontier = [seedId];\n for (let depth = 1; depth <= downstreamMaxDepth; depth++) {\n const nextFrontier: string[] = [];\n\n for (const currentId of frontier) {\n const outgoingEdgeIds = index.outgoing[currentId] ?? [];\n\n // Counterfactual: multiple outgoing = branching point\n const isCounterfactual = outgoingEdgeIds.length > 1;\n\n for (const edgeId of outgoingEdgeIds) {\n const edge = index.edges[edgeId];\n if (!edge) continue;\n\n const toId = edge.toTrajectoryId;\n if (visited.has(toId)) continue;\n visited.add(toId);\n\n const depthDecay = 1 / (depth + 1); // downstream penalized more\n let score = depthDecay * edge.confidence;\n if (isCounterfactual) score += counterfactualBoost;\n\n results.push({\n trajectoryId: toId,\n depth,\n score,\n edgeType: edge.edgeType,\n edgeConfidence: edge.confidence,\n isCounterfactual,\n });\n\n nextFrontier.push(toId);\n }\n }\n\n frontier = nextFrontier;\n if (frontier.length === 0) break;\n }\n\n return results;\n}\n\n// ─── Section Formatting ──────────────────────────────────────────────────────\n\nfunction formatRetrievalResult(result: CausalRetrievalResult): string {\n const direction = result.direction === \"upstream\" ? \"↑\" : result.direction === \"downstream\" ? \"↓\" : \"•\";\n const counterfactual = result.isCounterfactual ? \" [branching point]\" : \"\";\n const edgeInfo = result.edgeType ? ` (${result.edgeType})` : \"\";\n return `- ${direction} ${result.summary}${edgeInfo}${counterfactual}`;\n}\n\nfunction formatConnectedTrajectorySummary(\n trajectoryId: string,\n depth: number,\n trajectoriesById: Map<string, CausalTrajectoryRecord>,\n): string {\n const record = trajectoriesById.get(trajectoryId);\n if (!record) return `Depth ${depth}: trajectory ${trajectoryId.slice(0, 12)}`;\n return `Depth ${depth}: [${record.outcomeKind}] ${record.goal} → ${record.outcomeSummary}`;\n}\n\nexport function formatCausalRetrievalSection(\n results: CausalRetrievalResult[],\n maxChars: number,\n): string | null {\n if (results.length === 0) return null;\n\n const lines: string[] = [\n \"## Causal Chain Context\",\n \"\",\n \"Related causal trajectories from connected sessions:\",\n \"\",\n ];\n\n let totalChars = lines.join(\"\\n\").length;\n\n for (const result of results) {\n const line = formatRetrievalResult(result);\n if (totalChars + line.length + 1 > maxChars) break;\n lines.push(line);\n totalChars += line.length + 1;\n }\n\n if (lines.length <= 4) return null; // only header, no content\n lines.push(\"\");\n return lines.join(\"\\n\");\n}\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\n/**\n * Retrieve causal chain context for a recall query.\n * 1. Use existing causal trajectory search for seed trajectories\n * 2. Walk upstream/downstream from seeds\n * 3. Format as recall section\n */\nexport async function retrieveCausalChains(options: {\n memoryDir: string;\n causalTrajectoryStoreDir?: string;\n query: string;\n sessionKey?: string;\n config: CausalRetrievalConfig;\n}): Promise<string | null> {\n try {\n const { memoryDir, causalTrajectoryStoreDir, query, sessionKey, config: retrievalConfig } = options;\n\n // 1. Search for seed trajectories matching the query\n const seeds = await searchCausalTrajectories({\n memoryDir,\n causalTrajectoryStoreDir,\n query,\n maxResults: 3,\n sessionKey,\n });\n\n if (seeds.length === 0) return null;\n\n // 2. Load chain index\n const chainsDir = resolveChainsDir(memoryDir, causalTrajectoryStoreDir);\n const chainIndex = await readChainIndex(chainsDir);\n\n if (Object.keys(chainIndex.edges).length === 0) return null;\n\n const { trajectories } = await readCausalTrajectoryRecords({ memoryDir, causalTrajectoryStoreDir });\n const trajectoriesById = new Map(trajectories.map((trajectory) => [trajectory.trajectoryId, trajectory]));\n\n // 3. Walk chains from each seed\n const allResults: CausalRetrievalResult[] = [];\n\n for (const seed of seeds) {\n // Add seed itself\n allResults.push({\n trajectoryId: seed.record.trajectoryId,\n direction: \"seed\",\n depth: 0,\n score: seed.score,\n isCounterfactual: false,\n summary: `[${seed.record.outcomeKind}] ${seed.record.goal} → ${seed.record.outcomeSummary}`,\n });\n\n // Walk upstream\n const upstream = walkUpstream(\n seed.record.trajectoryId,\n chainIndex,\n retrievalConfig.maxDepth,\n retrievalConfig.counterfactualBoost,\n );\n for (const u of upstream) {\n allResults.push({\n trajectoryId: u.trajectoryId,\n direction: \"upstream\",\n depth: u.depth,\n score: u.score,\n edgeType: u.edgeType,\n edgeConfidence: u.edgeConfidence,\n isCounterfactual: u.isCounterfactual,\n summary: formatConnectedTrajectorySummary(u.trajectoryId, u.depth, trajectoriesById),\n });\n }\n\n // Walk downstream\n const downstream = walkDownstream(\n seed.record.trajectoryId,\n chainIndex,\n retrievalConfig.maxDepth,\n retrievalConfig.counterfactualBoost,\n );\n for (const d of downstream) {\n allResults.push({\n trajectoryId: d.trajectoryId,\n direction: \"downstream\",\n depth: d.depth,\n score: d.score,\n edgeType: d.edgeType,\n edgeConfidence: d.edgeConfidence,\n isCounterfactual: d.isCounterfactual,\n summary: formatConnectedTrajectorySummary(d.trajectoryId, d.depth, trajectoriesById),\n });\n }\n }\n\n // 4. Sort by score and format\n allResults.sort((a, b) => b.score - a.score);\n\n return formatCausalRetrievalSection(allResults, retrievalConfig.maxChars);\n } catch (error) {\n log.warn(`[cmc] causal retrieval failed (non-fatal): ${error instanceof Error ? error.message : String(error)}`);\n return null;\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
appendEdge
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5FAGCOZD.js";
|
|
4
4
|
import "./chunk-EUT2WCWS.js";
|
|
5
5
|
import "./chunk-2LSZVONP.js";
|
|
6
6
|
import "./chunk-DEUNUKTD.js";
|
|
7
7
|
import "./chunk-LXY5VVGM.js";
|
|
8
8
|
import "./chunk-GKCXTSFF.js";
|
|
9
9
|
import "./chunk-FFAZ2XFU.js";
|
|
10
|
+
import "./chunk-KNA3BXXL.js";
|
|
10
11
|
import "./chunk-PZ5AY32C.js";
|
|
11
12
|
|
|
12
13
|
// src/causal-trajectory-graph.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/causal-trajectory-graph.ts"],"sourcesContent":["import { appendEdge, type GraphEdge } from \"./graph.js\";\nimport type { CausalTrajectoryRecord } from \"./causal-trajectory.js\";\n\nexport type CausalTrajectoryGraphStage = \"goal\" | \"action\" | \"observation\" | \"outcome\" | \"follow_up\";\n\nexport function causalTrajectoryGraphNodeId(trajectoryId: string, stage: CausalTrajectoryGraphStage): string {\n return `causal-trajectory/${trajectoryId}#${stage}`;\n}\n\nexport function buildCausalTrajectoryGraphEdges(record: CausalTrajectoryRecord): GraphEdge[] {\n const edges: GraphEdge[] = [\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"goal\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"action\"),\n type: \"causal\",\n weight: 1.0,\n label: \"goal_to_action\",\n ts: record.recordedAt,\n },\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"action\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"observation\"),\n type: \"causal\",\n weight: 1.0,\n label: \"action_to_observation\",\n ts: record.recordedAt,\n },\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"observation\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"outcome\"),\n type: \"causal\",\n weight: 1.0,\n label: `observation_to_outcome:${record.outcomeKind}`,\n ts: record.recordedAt,\n },\n ];\n\n if (record.followUpSummary) {\n edges.push({\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"outcome\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"follow_up\"),\n type: \"causal\",\n weight: 1.0,\n label: \"outcome_to_follow_up\",\n ts: record.recordedAt,\n });\n }\n\n return edges;\n}\n\nexport async function appendCausalTrajectoryGraphEdges(options: {\n memoryDir: string;\n record: CausalTrajectoryRecord;\n}): Promise<void> {\n const edges = buildCausalTrajectoryGraphEdges(options.record);\n for (const edge of edges) {\n await appendEdge(options.memoryDir, edge);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/causal-trajectory-graph.ts"],"sourcesContent":["import { appendEdge, type GraphEdge } from \"./graph.js\";\nimport type { CausalTrajectoryRecord } from \"./causal-trajectory.js\";\n\nexport type CausalTrajectoryGraphStage = \"goal\" | \"action\" | \"observation\" | \"outcome\" | \"follow_up\";\n\nexport function causalTrajectoryGraphNodeId(trajectoryId: string, stage: CausalTrajectoryGraphStage): string {\n return `causal-trajectory/${trajectoryId}#${stage}`;\n}\n\nexport function buildCausalTrajectoryGraphEdges(record: CausalTrajectoryRecord): GraphEdge[] {\n const edges: GraphEdge[] = [\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"goal\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"action\"),\n type: \"causal\",\n weight: 1.0,\n label: \"goal_to_action\",\n ts: record.recordedAt,\n },\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"action\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"observation\"),\n type: \"causal\",\n weight: 1.0,\n label: \"action_to_observation\",\n ts: record.recordedAt,\n },\n {\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"observation\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"outcome\"),\n type: \"causal\",\n weight: 1.0,\n label: `observation_to_outcome:${record.outcomeKind}`,\n ts: record.recordedAt,\n },\n ];\n\n if (record.followUpSummary) {\n edges.push({\n from: causalTrajectoryGraphNodeId(record.trajectoryId, \"outcome\"),\n to: causalTrajectoryGraphNodeId(record.trajectoryId, \"follow_up\"),\n type: \"causal\",\n weight: 1.0,\n label: \"outcome_to_follow_up\",\n ts: record.recordedAt,\n });\n }\n\n return edges;\n}\n\nexport async function appendCausalTrajectoryGraphEdges(options: {\n memoryDir: string;\n record: CausalTrajectoryRecord;\n}): Promise<void> {\n const edges = buildCausalTrajectoryGraphEdges(options.record);\n for (const edge of edges) {\n await appendEdge(options.memoryDir, edge);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAKO,SAAS,4BAA4B,cAAsB,OAA2C;AAC3G,SAAO,qBAAqB,YAAY,IAAI,KAAK;AACnD;AAEO,SAAS,gCAAgC,QAA6C;AAC3F,QAAM,QAAqB;AAAA,IACzB;AAAA,MACE,MAAM,4BAA4B,OAAO,cAAc,MAAM;AAAA,MAC7D,IAAI,4BAA4B,OAAO,cAAc,QAAQ;AAAA,MAC7D,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,IAAI,OAAO;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAM,4BAA4B,OAAO,cAAc,QAAQ;AAAA,MAC/D,IAAI,4BAA4B,OAAO,cAAc,aAAa;AAAA,MAClE,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,IAAI,OAAO;AAAA,IACb;AAAA,IACA;AAAA,MACE,MAAM,4BAA4B,OAAO,cAAc,aAAa;AAAA,MACpE,IAAI,4BAA4B,OAAO,cAAc,SAAS;AAAA,MAC9D,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO,0BAA0B,OAAO,WAAW;AAAA,MACnD,IAAI,OAAO;AAAA,IACb;AAAA,EACF;AAEA,MAAI,OAAO,iBAAiB;AAC1B,UAAM,KAAK;AAAA,MACT,MAAM,4BAA4B,OAAO,cAAc,SAAS;AAAA,MAChE,IAAI,4BAA4B,OAAO,cAAc,WAAW;AAAA,MAChE,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,IAAI,OAAO;AAAA,IACb,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEA,eAAsB,iCAAiC,SAGrC;AAChB,QAAM,QAAQ,gCAAgC,QAAQ,MAAM;AAC5D,aAAW,QAAQ,OAAO;AACxB,UAAM,WAAW,QAAQ,WAAW,IAAI;AAAA,EAC1C;AACF;","names":[]}
|
|
@@ -9,10 +9,11 @@ import {
|
|
|
9
9
|
resolveCausalTrajectoryStoreDir,
|
|
10
10
|
searchCausalTrajectories,
|
|
11
11
|
validateCausalTrajectoryRecord
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-B3O3IRZN.js";
|
|
13
13
|
import "./chunk-YCVB7X56.js";
|
|
14
14
|
import "./chunk-A2IYSXDQ.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-B6O2YLUR.js";
|
|
16
|
+
import "./chunk-KNA3BXXL.js";
|
|
16
17
|
import "./chunk-PZ5AY32C.js";
|
|
17
18
|
export {
|
|
18
19
|
advanceCausalTrajectoryRevisionToken,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
|
|
3
3
|
SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ICKJ52PE.js";
|
|
5
5
|
import {
|
|
6
6
|
SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
|
|
7
7
|
} from "./chunk-EEOUMG3J.js";
|
|
@@ -343,4 +343,4 @@ export {
|
|
|
343
343
|
parseSupportPassportModelJob,
|
|
344
344
|
SupportPassportModelBridge
|
|
345
345
|
};
|
|
346
|
-
//# sourceMappingURL=chunk-
|
|
346
|
+
//# sourceMappingURL=chunk-27QVNSQ3.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseEntityFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XSGUMQQQ.js";
|
|
4
4
|
import {
|
|
5
5
|
inferMemoryStatus
|
|
6
6
|
} from "./chunk-7RJUVTVF.js";
|
|
@@ -253,4 +253,4 @@ export {
|
|
|
253
253
|
WHO_KNOWS_MCP_TOOLS,
|
|
254
254
|
handleWhoKnowsHttpQuery
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=chunk-
|
|
256
|
+
//# sourceMappingURL=chunk-2EKJDQZB.js.map
|
|
@@ -15,10 +15,10 @@ import {
|
|
|
15
15
|
PRE_ACTION_GATE_DEFAULT_TIMEOUT_MS,
|
|
16
16
|
normalizeActionIntent,
|
|
17
17
|
sanitizePayloadString
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-Z3O53WZR.js";
|
|
19
19
|
import {
|
|
20
20
|
parseSubjectRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-H3TKENU4.js";
|
|
22
22
|
import {
|
|
23
23
|
cloneDefaultSessionObserverBands
|
|
24
24
|
} from "./chunk-Z5LAYHGJ.js";
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
} from "./chunk-5GKPFL3S.js";
|
|
108
108
|
import {
|
|
109
109
|
parseOfflineSyncExcludes
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-WQZZDN5M.js";
|
|
111
111
|
import {
|
|
112
112
|
expandTildePath
|
|
113
113
|
} from "./chunk-EYIEWJNI.js";
|
|
@@ -4792,4 +4792,4 @@ export {
|
|
|
4792
4792
|
VALID_MEMORY_CATEGORIES,
|
|
4793
4793
|
parseConfig
|
|
4794
4794
|
};
|
|
4795
|
-
//# sourceMappingURL=chunk-
|
|
4795
|
+
//# sourceMappingURL=chunk-2IOHTUP3.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseFrontmatter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XSGUMQQQ.js";
|
|
4
4
|
import {
|
|
5
5
|
activityDigestPath,
|
|
6
6
|
isValidActivityDate
|
|
@@ -199,4 +199,4 @@ export {
|
|
|
199
199
|
buildStandup,
|
|
200
200
|
standupHelp
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-2ITE4C2Z.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-G7D6GZ5J.js";
|
|
5
5
|
import {
|
|
6
6
|
sidecarKey
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JPKK466T.js";
|
|
8
8
|
import {
|
|
9
9
|
RECALL_FALLBACK_DIRS
|
|
10
10
|
} from "./chunk-VS2IYZRU.js";
|
|
@@ -342,4 +342,4 @@ function isPathWithin(candidate, root) {
|
|
|
342
342
|
export {
|
|
343
343
|
runConsolidationProvenanceCheck
|
|
344
344
|
};
|
|
345
|
-
//# sourceMappingURL=chunk-
|
|
345
|
+
//# sourceMappingURL=chunk-2SGLMP2E.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSearchBackend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6CVNSDCZ.js";
|
|
4
4
|
import {
|
|
5
5
|
namespaceIdentityToken,
|
|
6
6
|
normalizeNamespaceIdentity
|
|
@@ -470,4 +470,4 @@ export {
|
|
|
470
470
|
NamespaceSearchRouter,
|
|
471
471
|
normalizeQmdResultPath
|
|
472
472
|
};
|
|
473
|
-
//# sourceMappingURL=chunk-
|
|
473
|
+
//# sourceMappingURL=chunk-2Z4GS5E6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runGraphEdgeDecayMaintenanceAcrossNamespaces
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SCXURCVT.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeDreamsStatusWindowHours
|
|
6
6
|
} from "./chunk-EQWEIIKQ.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
executeResolution,
|
|
9
9
|
isValidResolutionVerb,
|
|
10
10
|
runPreferenceDriftScan
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XOVKXJEP.js";
|
|
12
12
|
import {
|
|
13
13
|
runContradictionScan
|
|
14
14
|
} from "./chunk-YYGZJPOK.js";
|
|
@@ -28,15 +28,15 @@ import {
|
|
|
28
28
|
import {
|
|
29
29
|
observeRequestSchema,
|
|
30
30
|
recallRequestSchema
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-N3ZOP7KC.js";
|
|
32
32
|
import {
|
|
33
33
|
defineOperation,
|
|
34
34
|
parseNamespacePreflightWriteOp,
|
|
35
35
|
resolveAuthorizedNamespaceWritablePreflight
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-ICKJ52PE.js";
|
|
37
37
|
import {
|
|
38
38
|
validateBriefingFormat
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-WJHGDE7X.js";
|
|
40
40
|
import {
|
|
41
41
|
enforceNamespaceAllowList,
|
|
42
42
|
tokenCapabilityStore
|
|
@@ -543,4 +543,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
543
543
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
544
544
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
545
545
|
defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
546
|
-
//# sourceMappingURL=chunk-
|
|
546
|
+
//# sourceMappingURL=chunk-37KUQPX4.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
throwIfAborted
|
|
3
|
+
} from "./chunk-BTTPKDIL.js";
|
|
1
4
|
import {
|
|
2
5
|
MAGIC_HEADER_SIZE,
|
|
3
6
|
isEncryptedFile
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-JN72EPOE.js";
|
|
5
8
|
|
|
6
9
|
// src/offline-sync-file-io.ts
|
|
7
10
|
import { createHash } from "crypto";
|
|
8
11
|
import { createReadStream } from "fs";
|
|
9
12
|
import { open } from "fs/promises";
|
|
10
|
-
function throwIfAborted(signal) {
|
|
11
|
-
if (signal?.aborted) throw new Error("offline sync request aborted");
|
|
12
|
-
}
|
|
13
13
|
async function shouldExcludeOfflineSyncFile(excludeFile, target) {
|
|
14
14
|
return excludeFile ? await excludeFile(target) : false;
|
|
15
15
|
}
|
|
@@ -17,12 +17,12 @@ async function sha256OfflineSyncFile(filePath, signal) {
|
|
|
17
17
|
const hash = createHash("sha256");
|
|
18
18
|
let bytes = 0;
|
|
19
19
|
for await (const chunk of createReadStream(filePath)) {
|
|
20
|
-
throwIfAborted(signal);
|
|
20
|
+
throwIfAborted(signal, "offline sync request aborted");
|
|
21
21
|
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
22
22
|
hash.update(buffer);
|
|
23
23
|
bytes += buffer.length;
|
|
24
24
|
}
|
|
25
|
-
throwIfAborted(signal);
|
|
25
|
+
throwIfAborted(signal, "offline sync request aborted");
|
|
26
26
|
return { sha256: hash.digest("hex"), bytes };
|
|
27
27
|
}
|
|
28
28
|
async function isEncryptedOfflineSyncFile(filePath) {
|
|
@@ -62,4 +62,4 @@ export {
|
|
|
62
62
|
readPlainOfflineSyncFileChunk,
|
|
63
63
|
plainFileDigest
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
65
|
+
//# sourceMappingURL=chunk-3BTFBQLO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/offline-sync-file-io.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { createReadStream } from \"node:fs\";\nimport { open } from \"node:fs/promises\";\nimport { throwIfAborted } from \"./abort-error.js\";\nimport { MAGIC_HEADER_SIZE, isEncryptedFile } from \"./secure-store/secure-fs.js\";\n\nexport interface OfflineSyncFileTarget {\n root: string;\n path: string;\n filePath: string;\n}\n\nexport type OfflineSyncExcludeFile = (target: OfflineSyncFileTarget) => boolean | Promise<boolean>;\nexport async function shouldExcludeOfflineSyncFile(\n excludeFile: OfflineSyncExcludeFile | undefined,\n target: OfflineSyncFileTarget\n): Promise<boolean> {\n return excludeFile ? await excludeFile(target) : false;\n}\n\nexport async function sha256OfflineSyncFile(\n filePath: string,\n signal?: AbortSignal\n): Promise<{ sha256: string; bytes: number }> {\n const hash = createHash(\"sha256\");\n let bytes = 0;\n for await (const chunk of createReadStream(filePath)) {\n throwIfAborted(signal, \"offline sync request aborted\");\n const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);\n hash.update(buffer);\n bytes += buffer.length;\n }\n throwIfAborted(signal, \"offline sync request aborted\");\n return { sha256: hash.digest(\"hex\"), bytes };\n}\n\nexport async function isEncryptedOfflineSyncFile(filePath: string): Promise<boolean> {\n const handle = await open(filePath, \"r\");\n try {\n const header = Buffer.alloc(MAGIC_HEADER_SIZE);\n const { bytesRead } = await handle.read(header, 0, header.length, 0);\n return bytesRead >= MAGIC_HEADER_SIZE && isEncryptedFile(header);\n } finally {\n await handle.close();\n }\n}\n\nexport async function readPlainOfflineSyncFileChunk(options: {\n filePath: string;\n offset: number;\n length: number;\n bytes: number;\n}): Promise<Buffer> {\n const chunkBytes = Math.min(options.length, options.bytes - options.offset);\n const chunk = Buffer.alloc(chunkBytes);\n if (chunkBytes === 0) return chunk;\n const handle = await open(options.filePath, \"r\");\n try {\n const { bytesRead } = await handle.read(chunk, 0, chunk.length, options.offset);\n return bytesRead === chunk.length ? chunk : chunk.subarray(0, bytesRead);\n } finally {\n await handle.close();\n }\n}\n\n/** Streamed whole-file sha256 for plain-file chunk reads — the value the\n * file-content response contract exposes as x-remnic-file-sha256. Deliberately\n * UNCACHED: identity keys like (path, size, mtimeMs) are spoofable (a rewrite\n * that preserves size and mtime would serve a stale digest, defeating the\n * uploader's verify-before-idempotent-skip check). One bounded-memory hash\n * pass per chunk request; content reads stay windowed. */\nexport async function plainFileDigest(filePath: string): Promise<string> {\n const hash = createHash(\"sha256\");\n for await (const piece of createReadStream(filePath)) {\n hash.update(piece as Buffer);\n }\n return hash.digest(\"hex\");\n}\n"],"mappings":";;;;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,YAAY;AAWrB,eAAsB,6BACpB,aACA,QACkB;AAClB,SAAO,cAAc,MAAM,YAAY,MAAM,IAAI;AACnD;AAEA,eAAsB,sBACpB,UACA,QAC4C;AAC5C,QAAM,OAAO,WAAW,QAAQ;AAChC,MAAI,QAAQ;AACZ,mBAAiB,SAAS,iBAAiB,QAAQ,GAAG;AACpD,mBAAe,QAAQ,8BAA8B;AACrD,UAAM,SAAS,OAAO,SAAS,KAAK,IAAI,QAAQ,OAAO,KAAK,KAAK;AACjE,SAAK,OAAO,MAAM;AAClB,aAAS,OAAO;AAAA,EAClB;AACA,iBAAe,QAAQ,8BAA8B;AACrD,SAAO,EAAE,QAAQ,KAAK,OAAO,KAAK,GAAG,MAAM;AAC7C;AAEA,eAAsB,2BAA2B,UAAoC;AACnF,QAAM,SAAS,MAAM,KAAK,UAAU,GAAG;AACvC,MAAI;AACF,UAAM,SAAS,OAAO,MAAM,iBAAiB;AAC7C,UAAM,EAAE,UAAU,IAAI,MAAM,OAAO,KAAK,QAAQ,GAAG,OAAO,QAAQ,CAAC;AACnE,WAAO,aAAa,qBAAqB,gBAAgB,MAAM;AAAA,EACjE,UAAE;AACA,UAAM,OAAO,MAAM;AAAA,EACrB;AACF;AAEA,eAAsB,8BAA8B,SAKhC;AAClB,QAAM,aAAa,KAAK,IAAI,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM;AAC1E,QAAM,QAAQ,OAAO,MAAM,UAAU;AACrC,MAAI,eAAe,EAAG,QAAO;AAC7B,QAAM,SAAS,MAAM,KAAK,QAAQ,UAAU,GAAG;AAC/C,MAAI;AACF,UAAM,EAAE,UAAU,IAAI,MAAM,OAAO,KAAK,OAAO,GAAG,MAAM,QAAQ,QAAQ,MAAM;AAC9E,WAAO,cAAc,MAAM,SAAS,QAAQ,MAAM,SAAS,GAAG,SAAS;AAAA,EACzE,UAAE;AACA,UAAM,OAAO,MAAM;AAAA,EACrB;AACF;AAQA,eAAsB,gBAAgB,UAAmC;AACvE,QAAM,OAAO,WAAW,QAAQ;AAChC,mBAAiB,SAAS,iBAAiB,QAAQ,GAAG;AACpD,SAAK,OAAO,KAAe;AAAA,EAC7B;AACA,SAAO,KAAK,OAAO,KAAK;AAC1B;","names":[]}
|