@remnic/core 9.45.3 → 9.45.5
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/abort-error.d.ts +2 -1
- package/dist/abort-error.js +3 -1
- package/dist/access-admin-ops-surface.d.ts +14 -10
- package/dist/access-admin-ops-surface.js +84 -75
- package/dist/access-audit.js +2 -2
- package/dist/access-authorization-probe.d.ts +14 -10
- package/dist/access-authorization-probe.js +85 -76
- package/dist/access-boundary.d.ts +15 -11
- package/dist/access-boundary.js +84 -75
- package/dist/access-citation-namespace.js +2 -2
- package/dist/access-cli.js +191 -177
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +16 -0
- package/dist/access-coding-context-resolution.js +13 -0
- package/dist/access-coding-context-resolution.js.map +1 -0
- package/dist/access-extraction-force-flush.d.ts +14 -10
- package/dist/access-extraction-force-flush.js +84 -75
- package/dist/access-health-types.d.ts +2 -1
- package/dist/access-http-lcm-compaction.d.ts +16 -12
- package/dist/access-http-lcm-compaction.js +3 -3
- package/dist/access-http-lifecycle-flush.d.ts +14 -10
- package/dist/access-http-lifecycle-flush.js +2 -2
- package/dist/access-http-offline-stream.d.ts +123 -0
- package/dist/access-http-offline-stream.js +10 -0
- package/dist/access-http-offline-stream.js.map +1 -0
- package/dist/access-http-query.js +84 -75
- package/dist/access-http.d.ts +15 -11
- package/dist/access-http.js +104 -90
- package/dist/access-identity-continuity-surface.d.ts +9 -8
- package/dist/access-identity-continuity-surface.js +84 -75
- package/dist/access-lcm-surface.d.ts +14 -10
- package/dist/access-lcm-surface.js +84 -75
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +14 -10
- package/dist/access-mcp.js +95 -82
- package/dist/access-memory-search-fanout.d.ts +3 -2
- package/dist/{access-namespace-preflight-5yZ4g6F8.d.ts → access-namespace-preflight-CWUDwB4M.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +4 -3
- package/dist/access-namespace-preflight.js +84 -75
- package/dist/access-observe-helpers.d.ts +1 -0
- package/dist/access-observe-helpers.js +1 -1
- package/dist/access-observe-write-surface.d.ts +16 -10
- package/dist/access-observe-write-surface.js +84 -75
- package/dist/access-offline-manifest.d.ts +104 -0
- package/dist/access-offline-manifest.js +45 -0
- package/dist/access-offline-manifest.js.map +1 -0
- package/dist/access-operations-batch.js +86 -77
- package/dist/access-operations.d.ts +18 -14
- package/dist/access-operations.js +91 -79
- package/dist/access-recall-concurrency.d.ts +16 -26
- package/dist/access-recall-concurrency.js +86 -76
- package/dist/access-recall-response.d.ts +18 -14
- package/dist/access-recall-response.js +84 -75
- package/dist/access-recall-surface.d.ts +29 -24
- package/dist/access-recall-surface.js +84 -75
- package/dist/access-schema.d.ts +84 -84
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-CiJRsgAB.d.ts → access-service-CNN89xyn.d.ts} +25 -16
- package/dist/access-service-helpers.d.ts +14 -10
- package/dist/access-service.d.ts +14 -10
- package/dist/access-service.js +84 -75
- package/dist/access-surface-catalog.d.ts +14 -10
- package/dist/access-surface-catalog.js +4 -0
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +4 -3
- package/dist/action-confidence.d.ts +2 -1
- package/dist/active-memory-bridge.d.ts +2 -1
- package/dist/active-recall.d.ts +2 -1
- package/dist/active-recall.js +10 -8
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-5OE5QOZB.js → auto-sync-UPTUVE4X.js} +6 -6
- package/dist/behavior-learner.d.ts +2 -1
- package/dist/behavior-learner.js +1 -1
- package/dist/behavior-signals.d.ts +2 -1
- package/dist/bootstrap.d.ts +9 -8
- package/dist/briefing.d.ts +3 -2
- package/dist/briefing.js +24 -22
- package/dist/buffer-surprise-report.d.ts +2 -1
- package/dist/buffer-turn-helpers.d.ts +2 -1
- package/dist/buffer.d.ts +3 -2
- package/dist/buffer.js +12 -11
- package/dist/bulk-import/index.d.ts +4 -3
- package/dist/calibration.d.ts +2 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/{capsule-merge-IDWJPCWK.js → capsule-merge-Q6AR3XL7.js} +67 -54
- package/dist/capsule-merge-Q6AR3XL7.js.map +1 -0
- package/dist/{catalog-scBmy0sO.d.ts → catalog-bctMURhN.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +2 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +2 -1
- package/dist/causal-consolidation.js +28 -26
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.d.ts +2 -1
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-E5UK4VPE.js → chunk-2FSTB6BJ.js} +5 -5
- package/dist/{chunk-5ZE7QHTK.js → chunk-2X2T2UVE.js} +5 -5
- package/dist/{chunk-P4DRWEYC.js → chunk-3COYXTGM.js} +2 -2
- package/dist/{chunk-5IVLTFOV.js → chunk-44N6ESJ4.js} +2 -2
- package/dist/{chunk-DL7ZD3JH.js → chunk-4FBVAGV3.js} +14 -9
- package/dist/chunk-4FBVAGV3.js.map +1 -0
- package/dist/{chunk-WOCNN776.js → chunk-4POAMKV6.js} +100 -41
- package/dist/chunk-4POAMKV6.js.map +1 -0
- package/dist/{chunk-HO3QBJEY.js → chunk-5546W5SI.js} +2 -2
- package/dist/{chunk-AAIUERNB.js → chunk-5QJQHBLE.js} +6 -6
- package/dist/{chunk-6CZPDBJS.js → chunk-5U7ID3EZ.js} +3 -3
- package/dist/{chunk-RN7DY3FC.js → chunk-6ISC4AVB.js} +31 -12
- package/dist/chunk-6ISC4AVB.js.map +1 -0
- package/dist/chunk-773TRRGT.js +36 -0
- package/dist/chunk-773TRRGT.js.map +1 -0
- package/dist/chunk-7T4TOGMS.js +242 -0
- package/dist/chunk-7T4TOGMS.js.map +1 -0
- package/dist/{chunk-DLVPUX7U.js → chunk-7YKVM5H3.js} +8 -6
- package/dist/chunk-7YKVM5H3.js.map +1 -0
- package/dist/chunk-7YQ6ESEA.js +322 -0
- package/dist/chunk-7YQ6ESEA.js.map +1 -0
- package/dist/{chunk-DNWXFTLD.js → chunk-A4IJCD2Z.js} +2 -2
- package/dist/{chunk-3CE77VAP.js → chunk-A4JMGKCD.js} +87 -74
- package/dist/chunk-A4JMGKCD.js.map +1 -0
- package/dist/chunk-A5KNZSNA.js +26 -0
- package/dist/chunk-A5KNZSNA.js.map +1 -0
- package/dist/{chunk-PKNLM44P.js → chunk-AC5OWJLV.js} +9 -9
- package/dist/{chunk-LZ4LDKHZ.js → chunk-AMAUBUKY.js} +6 -6
- package/dist/{chunk-CUM2BBPN.js → chunk-AUMWZSE7.js} +19 -10
- package/dist/chunk-AUMWZSE7.js.map +1 -0
- package/dist/{chunk-BUE5E2HL.js → chunk-BGLY7EEM.js} +5 -314
- package/dist/chunk-BGLY7EEM.js.map +1 -0
- package/dist/chunk-BIPBQQFI.js +44 -0
- package/dist/chunk-BIPBQQFI.js.map +1 -0
- package/dist/{chunk-S5SLVSVY.js → chunk-BQIFZ2MP.js} +5 -5
- package/dist/chunk-BTTPKDIL.js +34 -0
- package/dist/{chunk-PVGDJXVK.js.map → chunk-BTTPKDIL.js.map} +1 -1
- package/dist/chunk-CK5KOVHW.js +69 -0
- package/dist/chunk-CK5KOVHW.js.map +1 -0
- package/dist/{chunk-Q6IP2ARR.js → chunk-CSOYVTRX.js} +2 -2
- package/dist/{chunk-XOQSEF7X.js → chunk-CVILPI77.js} +6 -6
- package/dist/{chunk-VWAXN2BN.js → chunk-CX4ZUMC6.js} +91 -83
- package/dist/chunk-CX4ZUMC6.js.map +1 -0
- package/dist/{chunk-NVRYW264.js → chunk-DAJPRXBR.js} +16 -13
- package/dist/chunk-DAJPRXBR.js.map +1 -0
- package/dist/{chunk-J7VGGECD.js → chunk-DZPFMQZ7.js} +1 -1
- package/dist/chunk-DZPFMQZ7.js.map +1 -0
- package/dist/{chunk-4LMA77JH.js → chunk-E5XQIWAL.js} +3 -3
- package/dist/{chunk-WUNIWKY4.js → chunk-ELIL2A37.js} +6 -6
- package/dist/{chunk-OQ5PRDDS.js → chunk-ERZ2R42X.js} +6 -6
- package/dist/{chunk-U7GW7NE7.js → chunk-FIK3CQNA.js} +10 -10
- package/dist/{chunk-D3J5SLQK.js → chunk-FR27HBBA.js} +81 -20
- package/dist/chunk-FR27HBBA.js.map +1 -0
- package/dist/{chunk-E6PNLPGJ.js → chunk-FUCYDRE5.js} +838 -480
- package/dist/chunk-FUCYDRE5.js.map +1 -0
- package/dist/{chunk-HZFHQ4AQ.js → chunk-G7A5HLUS.js} +23 -17
- package/dist/chunk-G7A5HLUS.js.map +1 -0
- package/dist/{chunk-33PLLLL7.js → chunk-GFCVUY6G.js} +6 -6
- package/dist/{chunk-HREE4JHI.js → chunk-GODSPTOT.js} +477 -278
- package/dist/chunk-GODSPTOT.js.map +1 -0
- package/dist/{chunk-S2NCTZGJ.js → chunk-GRUYA45P.js} +15 -15
- package/dist/chunk-GRUYA45P.js.map +1 -0
- package/dist/{chunk-VUPTKTDV.js → chunk-GUAL4PQH.js} +3 -3
- package/dist/{chunk-CINZGPSJ.js → chunk-GUMZC2BO.js} +2 -2
- package/dist/{chunk-H24WNPA2.js → chunk-GWFSVJ4P.js} +3 -3
- package/dist/{chunk-7XC2HX75.js → chunk-GYPQL6XN.js} +157 -16
- package/dist/chunk-GYPQL6XN.js.map +1 -0
- package/dist/{chunk-TSH56VPU.js → chunk-HAYSYUAB.js} +2 -2
- package/dist/{chunk-PDLBLTOK.js → chunk-HC3PBX23.js} +9 -9
- package/dist/{chunk-TDHTVMPG.js → chunk-HFPASSFV.js} +7 -2
- package/dist/chunk-HFPASSFV.js.map +1 -0
- package/dist/chunk-J2WC5LF4.js +395 -0
- package/dist/chunk-J2WC5LF4.js.map +1 -0
- package/dist/{chunk-KXB4VXHY.js → chunk-JIYDRBVZ.js} +2 -2
- package/dist/chunk-JV3C2MNQ.js +74 -0
- package/dist/chunk-JV3C2MNQ.js.map +1 -0
- package/dist/{chunk-HLPD7B7P.js → chunk-JZH4LWHB.js} +2 -2
- package/dist/{chunk-AV5ZEH4M.js → chunk-KVJRXN2E.js} +2 -2
- package/dist/{chunk-WFTIGIIS.js → chunk-L6CQ7WIW.js} +5 -5
- package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
- package/dist/{chunk-EJUEXZHX.js → chunk-LLJMAULE.js} +2 -2
- package/dist/{chunk-N5Z4EVOR.js → chunk-LNEWDF2A.js} +36 -11
- package/dist/chunk-LNEWDF2A.js.map +1 -0
- package/dist/{chunk-QN25OCUF.js → chunk-LPYDOLSM.js} +5 -5
- package/dist/{chunk-AS7YMSL6.js → chunk-M23RF3LJ.js} +4 -4
- package/dist/{chunk-OAEQLRCY.js → chunk-MO4HSXHZ.js} +5 -5
- package/dist/{chunk-ECK75GDJ.js → chunk-N3LL5NEU.js} +43 -24
- package/dist/chunk-N3LL5NEU.js.map +1 -0
- package/dist/chunk-NEF7LR5J.js +29 -0
- package/dist/chunk-NEF7LR5J.js.map +1 -0
- package/dist/{chunk-3F2LKUMU.js → chunk-NIS256NW.js} +2 -2
- package/dist/{chunk-YIAA2X3D.js → chunk-NK5RGJ65.js} +3 -3
- package/dist/chunk-NLDVVWCL.js +84 -0
- package/dist/chunk-NLDVVWCL.js.map +1 -0
- package/dist/{chunk-4J7G5SY4.js → chunk-NZBZ7IS2.js} +72 -24
- package/dist/chunk-NZBZ7IS2.js.map +1 -0
- package/dist/{chunk-3TBLDMJA.js → chunk-O4KMGRXE.js} +5 -2
- package/dist/chunk-O4KMGRXE.js.map +1 -0
- package/dist/{chunk-7TWUCYER.js → chunk-PNRA7FAD.js} +7 -7
- package/dist/{chunk-5I4M26Q7.js → chunk-QBSFOKY6.js} +4 -4
- package/dist/{chunk-E53DSZEN.js → chunk-QR6G5KF4.js} +3 -3
- package/dist/{chunk-CJ2ZR7UA.js → chunk-QUENPGWZ.js} +261 -211
- package/dist/chunk-QUENPGWZ.js.map +1 -0
- package/dist/{chunk-4UH4BTGK.js → chunk-QVJPH7SH.js} +84 -84
- package/dist/{chunk-UYLMNVY6.js → chunk-R3KHKU7M.js} +16 -9
- package/dist/chunk-R3KHKU7M.js.map +1 -0
- package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
- package/dist/{chunk-WDISJRMG.js → chunk-RMMVQQA6.js} +2 -2
- package/dist/{chunk-JVLCVFQ4.js → chunk-RNHVVMFN.js} +3 -3
- package/dist/{chunk-QJAQNXWI.js → chunk-RVO6TCTU.js} +81 -84
- package/dist/chunk-RVO6TCTU.js.map +1 -0
- package/dist/chunk-S2HLHAZ4.js +16 -0
- package/dist/chunk-S2HLHAZ4.js.map +1 -0
- package/dist/{chunk-KWMXR7XS.js → chunk-S2V7RUCL.js} +8 -1
- package/dist/{chunk-KWMXR7XS.js.map → chunk-S2V7RUCL.js.map} +1 -1
- package/dist/{chunk-5SM35XZR.js → chunk-S5NZBKKQ.js} +2 -2
- package/dist/{chunk-VNA7W7QF.js → chunk-SVH57F5Z.js} +12 -4
- package/dist/chunk-SVH57F5Z.js.map +1 -0
- package/dist/{chunk-WIPEXG6R.js → chunk-SXIMQLGV.js} +2 -2
- package/dist/{chunk-RVLJEII5.js → chunk-SYUBB3WM.js} +256 -187
- package/dist/chunk-SYUBB3WM.js.map +1 -0
- package/dist/{chunk-VCD4PSK2.js → chunk-TQZ4DVBC.js} +7 -4
- package/dist/chunk-TQZ4DVBC.js.map +1 -0
- package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
- package/dist/{chunk-YV32N67O.js → chunk-URS5GSM7.js} +1 -1
- package/dist/chunk-URS5GSM7.js.map +1 -0
- package/dist/{chunk-4B77XSG5.js → chunk-UV72DEZD.js} +5 -5
- package/dist/{chunk-BJKPPZ6Z.js → chunk-UW66OZTD.js} +2 -2
- package/dist/{chunk-XYTOI63Z.js → chunk-V2TNYF6Q.js} +19 -11
- package/dist/chunk-V2TNYF6Q.js.map +1 -0
- package/dist/{chunk-S2BBISHU.js → chunk-VANZKHTN.js} +3 -3
- package/dist/chunk-VHFXP27N.js +250 -0
- package/dist/chunk-VHFXP27N.js.map +1 -0
- package/dist/chunk-VL35ZFSZ.js +102 -0
- package/dist/chunk-VL35ZFSZ.js.map +1 -0
- package/dist/{chunk-3Y224NYC.js → chunk-VYISFWVX.js} +2 -2
- package/dist/{chunk-JE7EK33X.js → chunk-W2V7UESE.js} +2 -2
- package/dist/{chunk-TIHMZFIV.js → chunk-W3IC7QOY.js} +3 -3
- package/dist/{chunk-NRV4Y3PM.js → chunk-W4FBGYGK.js} +1 -1
- package/dist/{chunk-P2BM76KT.js → chunk-WAS4HV46.js} +174 -43
- package/dist/chunk-WAS4HV46.js.map +1 -0
- package/dist/{chunk-57QKLRBV.js → chunk-WB7JSQCP.js} +2 -1
- package/dist/chunk-WB7JSQCP.js.map +1 -0
- package/dist/{chunk-A5OJCXZL.js → chunk-WZ3TOIDW.js} +15 -4
- package/dist/chunk-WZ3TOIDW.js.map +1 -0
- package/dist/{chunk-MU7ZHSZE.js → chunk-WZFAPHIK.js} +2 -2
- package/dist/{chunk-T2TTP3KU.js → chunk-X4IDNPOS.js} +2 -2
- package/dist/{chunk-UVIKWC7M.js → chunk-XAGYS7X6.js} +17 -17
- package/dist/{chunk-BLAKS3CP.js → chunk-XL3TATMJ.js} +3 -3
- package/dist/{chunk-W4XJFLAL.js → chunk-XPRJSHNI.js} +2 -2
- package/dist/{chunk-5TFP4CUL.js → chunk-XQ3HXAQH.js} +14 -11
- package/dist/chunk-XQ3HXAQH.js.map +1 -0
- package/dist/{chunk-E6EE5B67.js → chunk-YK6BDDHP.js} +4 -4
- package/dist/{chunk-ES36HTSC.js → chunk-YLHM5BQQ.js} +3 -3
- package/dist/{chunk-ULARSG5Z.js → chunk-YN6ASZUG.js} +10 -8
- package/dist/{chunk-ULARSG5Z.js.map → chunk-YN6ASZUG.js.map} +1 -1
- package/dist/{chunk-VOUOLGIP.js → chunk-YRFAYOFQ.js} +11 -13
- package/dist/chunk-YRFAYOFQ.js.map +1 -0
- package/dist/{chunk-IKKWIPYN.js → chunk-YYQAKIDJ.js} +37 -1
- package/dist/chunk-YYQAKIDJ.js.map +1 -0
- package/dist/{chunk-GF22HWS2.js → chunk-Z54EM5YZ.js} +4 -4
- package/dist/{chunk-64UDOIMI.js → chunk-ZLQ37WJX.js} +2 -2
- package/dist/{cli-BUGN3d6_.d.ts → cli-BHBswmUa.d.ts} +5 -5
- package/dist/cli.d.ts +16 -12
- package/dist/cli.js +138 -123
- package/dist/compounding/engine.d.ts +3 -2
- package/dist/compounding/engine.js +25 -23
- package/dist/compounding/preference-consolidator.d.ts +2 -1
- package/dist/compression-optimizer.d.ts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/config.js +10 -8
- package/dist/connectors/codex-materialize-runner.d.ts +2 -1
- package/dist/connectors/codex-materialize-runner.js +24 -22
- package/dist/connectors/codex-materialize.d.ts +2 -1
- package/dist/connectors/index.d.ts +2 -1
- package/dist/connectors/index.js +27 -25
- package/dist/consolidation-provenance-check.d.ts +3 -2
- package/dist/consolidation-provenance-check.js +4 -4
- package/dist/consolidation-undo.d.ts +3 -2
- package/dist/consolidation-undo.js +10 -7
- package/dist/consolidation-undo.js.map +1 -1
- package/dist/contradiction/index.d.ts +3 -2
- package/dist/converge-config.d.ts +2 -1
- package/dist/convergence-refresh.d.ts +4 -3
- package/dist/convergence-refresh.js +28 -26
- package/dist/conversation-index/backend.d.ts +2 -1
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/chunker.d.ts +2 -1
- package/dist/conversation-index/faiss-adapter.d.ts +2 -1
- package/dist/conversation-index/indexer.d.ts +2 -1
- package/dist/conversation-index/search.d.ts +2 -1
- package/dist/corpus-watermark.d.ts +2 -1
- package/dist/corpus-watermark.js +43 -41
- package/dist/day-summary.d.ts +2 -1
- package/dist/delinearize.d.ts +2 -1
- package/dist/direct-answer-wiring.d.ts +2 -1
- package/dist/direct-answer-wiring.js +2 -2
- package/dist/direct-answer.d.ts +2 -1
- package/dist/embedding-fallback.d.ts +2 -1
- package/dist/embedding-fallback.js +2 -2
- package/dist/enrichment/index.d.ts +2 -1
- package/dist/entity-retrieval-boundaries.js +1 -1
- package/dist/entity-retrieval.d.ts +3 -2
- package/dist/entity-retrieval.js +25 -23
- package/dist/entity-schema.d.ts +2 -1
- package/dist/explicit-capture.d.ts +9 -8
- package/dist/explicit-capture.js +11 -9
- package/dist/external-wiki-access.d.ts +127 -0
- package/dist/external-wiki-access.js +187 -0
- package/dist/external-wiki-access.js.map +1 -0
- package/dist/external-wiki-cli.d.ts +13 -0
- package/dist/external-wiki-cli.js +10 -0
- package/dist/external-wiki-cli.js.map +1 -0
- package/dist/external-wiki-collection-registration.d.ts +39 -0
- package/dist/external-wiki-collection-registration.js +79 -0
- package/dist/external-wiki-collection-registration.js.map +1 -0
- package/dist/external-wiki-collection.d.ts +50 -0
- package/dist/external-wiki-collection.js +387 -0
- package/dist/external-wiki-collection.js.map +1 -0
- package/dist/external-wiki-config.d.ts +13 -0
- package/dist/external-wiki-config.js +13 -0
- package/dist/external-wiki-config.js.map +1 -0
- package/dist/external-wiki-guard.d.ts +11 -0
- package/dist/external-wiki-guard.js +18 -0
- package/dist/external-wiki-guard.js.map +1 -0
- package/dist/external-wiki-mcp-tools.d.ts +123 -0
- package/dist/external-wiki-mcp-tools.js +8 -0
- package/dist/external-wiki-mcp-tools.js.map +1 -0
- package/dist/external-wiki-search.d.ts +42 -0
- package/dist/external-wiki-search.js +11 -0
- package/dist/external-wiki-search.js.map +1 -0
- package/dist/external-wiki.d.ts +39 -0
- package/dist/external-wiki.js +14 -0
- package/dist/external-wiki.js.map +1 -0
- package/dist/extraction-error-classification.d.ts +2 -1
- package/dist/extraction-faithfulness.d.ts +2 -1
- package/dist/extraction-judge-telemetry.d.ts +2 -1
- package/dist/extraction-judge-training.d.ts +2 -1
- package/dist/extraction-judge.d.ts +2 -1
- package/dist/extraction-liveness.d.ts +2 -1
- package/dist/extraction-source-grounding-helpers.d.ts +5 -3
- package/dist/extraction-source-grounding-helpers.js +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +2 -1
- package/dist/extraction-source-grounding-rules.js +2 -2
- package/dist/extraction-source-grounding.d.ts +2 -1
- package/dist/extraction-source-grounding.js +5 -5
- package/dist/extraction.d.ts +2 -1
- package/dist/extraction.js +46 -43
- package/dist/fallback-llm.d.ts +2 -1
- package/dist/{first-start-migration-F2QJD66E.js → first-start-migration-ZSHEFEI3.js} +10 -12
- package/dist/{first-start-migration-F2QJD66E.js.map → first-start-migration-ZSHEFEI3.js.map} +1 -1
- package/dist/graph-dashboard-diff.d.ts +2 -1
- package/dist/graph-dashboard-key.d.ts +2 -1
- package/dist/graph-dashboard-parser.d.ts +2 -1
- package/dist/graph-edge-reinforcement.d.ts +2 -1
- package/dist/graph-snapshot.d.ts +2 -1
- package/dist/graph.d.ts +2 -1
- package/dist/harmonic-retrieval.js +2 -2
- package/dist/importance.d.ts +2 -1
- package/dist/importers/index.d.ts +2 -1
- package/dist/in-flight-reads.d.ts +2 -1
- package/dist/index.d.ts +443 -430
- package/dist/index.js +304 -269
- package/dist/intent.d.ts +2 -1
- package/dist/lcm/engine.d.ts +2 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +2 -1
- package/dist/lcm/index.js +7 -7
- package/dist/lcm/tools.d.ts +2 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/live-connectors-runner.d.ts +2 -1
- package/dist/local-llm.d.ts +2 -1
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +2 -1
- package/dist/maintenance/memory-governance.d.ts +2 -1
- package/dist/maintenance/memory-governance.js +25 -23
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +25 -23
- package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-projection.js +27 -25
- package/dist/{maintenance-LbuS2rUA.d.ts → maintenance-CoRikzIt.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +14 -10
- package/dist/mcp-read-only-tools.js +1 -1
- package/dist/memory-action-policy.d.ts +2 -1
- package/dist/memory-cache.d.ts +2 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
- package/dist/memory-projection-store.d.ts +2 -1
- package/dist/memory-provenance.d.ts +2 -1
- package/dist/memory-snapshot.d.ts +10 -0
- package/dist/memory-snapshot.js +8 -0
- package/dist/memory-snapshot.js.map +1 -0
- package/dist/memory-worth-outcomes.d.ts +3 -2
- package/dist/models-json.d.ts +2 -1
- package/dist/namespaces/migrate.d.ts +4 -3
- package/dist/namespaces/migrate.js +41 -39
- package/dist/namespaces/principal.d.ts +2 -1
- package/dist/namespaces/search.d.ts +2 -1
- package/dist/namespaces/search.js +18 -18
- package/dist/namespaces/storage.d.ts +4 -3
- package/dist/namespaces/storage.js +24 -22
- package/dist/native-knowledge.d.ts +2 -1
- package/dist/offline-sync-impression-drain.d.ts +2 -1
- package/dist/offline-sync-impression-drain.js +11 -9
- package/dist/offline-sync.d.ts +29 -3
- package/dist/offline-sync.js +6 -2
- package/dist/operator-doctor-corpus.d.ts +2 -1
- package/dist/operator-doctor-corpus.js +46 -44
- package/dist/operator-doctor-replica.d.ts +2 -1
- package/dist/operator-doctor-replica.js +3 -3
- package/dist/operator-toolkit.d.ts +4 -3
- package/dist/operator-toolkit.js +60 -55
- package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
- package/dist/orchestration/maintenance.d.ts +5 -4
- package/dist/orchestration/maintenance.js +37 -33
- package/dist/{orchestrator-rHiWt32X.d.ts → orchestrator-BJeq7Pw1.d.ts} +14 -7
- package/dist/orchestrator.d.ts +9 -8
- package/dist/orchestrator.js +200 -186
- package/dist/page-versioning.js +3 -3
- package/dist/patterns-cli.d.ts +2 -1
- package/dist/{pipeline-W_97O8BV.d.ts → pipeline-CNjY4wk3.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +2 -1
- package/dist/policy-runtime.js +1 -1
- package/dist/proactive-contention.d.ts +2 -1
- package/dist/provenance.d.ts +2 -1
- package/dist/provenance.js +2 -2
- package/dist/{qmd-LWtMofAf.d.ts → qmd-C0UDZidt.d.ts} +9 -7
- package/dist/qmd-preflight.d.ts +5 -4
- package/dist/qmd-preflight.js +2 -2
- package/dist/qmd-recall-cache.d.ts +2 -1
- package/dist/qmd.d.ts +4 -3
- package/dist/qmd.js +8 -8
- package/dist/recall-concurrency-config.d.ts +2 -1
- package/dist/recall-disclosure-escalation.d.ts +2 -1
- package/dist/recall-explain-renderer.d.ts +2 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +2 -1
- package/dist/recall-planner-llm.d.ts +2 -1
- package/dist/recall-state.d.ts +2 -1
- package/dist/recall-tag-filter.d.ts +2 -1
- package/dist/recall-timings.d.ts +2 -1
- package/dist/recall-xray-cli.d.ts +2 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +2 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +8 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +12 -2
- package/dist/reconcile/cursor.js +46 -7
- package/dist/reconcile/cursor.js.map +1 -1
- package/dist/reconcile/manifest.d.ts +9 -2
- package/dist/reconcile/manifest.js +15 -268
- package/dist/reconcile/manifest.js.map +1 -1
- package/dist/reconcile/plan.d.ts +4 -1
- package/dist/reconcile/plan.js +4 -4
- package/dist/replay/normalizers/chatgpt.d.ts +2 -1
- package/dist/replay/normalizers/claude.d.ts +2 -1
- package/dist/replay/normalizers/openclaw.d.ts +2 -1
- package/dist/replay/normalizers/shared.d.ts +2 -1
- package/dist/replay/runner.d.ts +2 -1
- package/dist/replay/types.d.ts +2 -1
- package/dist/replica-divergence.d.ts +2 -1
- package/dist/replica-divergence.js +2 -2
- package/dist/replica-peers-config.d.ts +2 -1
- package/dist/resolve-auth-token.d.ts +2 -1
- package/dist/resume-bundles.js +12 -10
- package/dist/retrieval-agents.d.ts +4 -3
- package/dist/retrieval-agents.js +2 -2
- package/dist/retrieval-tiers.d.ts +2 -1
- package/dist/routing/engine.d.ts +2 -1
- package/dist/routing/store.d.ts +2 -1
- package/dist/salvage-envelope.d.ts +2 -1
- package/dist/schemas.d.ts +54 -54
- package/dist/{scope-profiles-BiQKOE-p.d.ts → scope-profiles-BJzp2F5A.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +2 -1
- package/dist/search/embed-helper.js +3 -3
- package/dist/search/factory.d.ts +4 -2
- package/dist/search/factory.js +20 -18
- package/dist/search/index.d.ts +2 -1
- package/dist/search/index.js +20 -20
- package/dist/search/lancedb-backend.d.ts +2 -1
- package/dist/search/lancedb-backend.js +4 -4
- package/dist/search/meilisearch-backend.d.ts +2 -1
- package/dist/search/meilisearch-backend.js +4 -4
- package/dist/search/noop-backend.d.ts +2 -1
- package/dist/search/orama-backend.d.ts +2 -1
- package/dist/search/orama-backend.js +4 -4
- package/dist/search/port.d.ts +18 -1
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +2 -1
- package/dist/search/remote-backend.js +2 -2
- package/dist/secure-store/index.js +2 -2
- package/dist/{semantic-consolidation-dHYCyqgh.d.ts → semantic-consolidation-D4KAZO2G.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +3 -2
- package/dist/semantic-consolidation.js +26 -24
- package/dist/semantic-rule-promotion.js +24 -22
- package/dist/semantic-rule-verifier.d.ts +2 -1
- package/dist/semantic-rule-verifier.js +25 -23
- package/dist/{service-DJG3KCQ4.d.ts → service-DWC4tq7p.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +2 -1
- package/dist/session-observer-state.d.ts +2 -1
- package/dist/shared-context/manager.d.ts +10 -9
- package/dist/shared-context/manager.js +2 -2
- package/dist/signal.d.ts +2 -1
- package/dist/source-agent-qualifier.d.ts +2 -1
- package/dist/source-agent-qualifier.js +43 -40
- package/dist/{storage-F9FVh-w9.d.ts → storage-DPGjB-8e.d.ts} +28 -13
- package/dist/storage.d.ts +3 -2
- package/dist/storage.js +26 -24
- package/dist/summarizer.d.ts +2 -1
- package/dist/summarizer.js +5 -5
- package/dist/summary-snapshot.d.ts +2 -1
- package/dist/temporal-supersession.d.ts +3 -2
- package/dist/temporal-timeline-recall.d.ts +2 -1
- package/dist/temporal-validity.d.ts +2 -1
- package/dist/threading.d.ts +2 -1
- package/dist/tier-migration.d.ts +3 -2
- package/dist/tier-migration.js +1 -1
- package/dist/tier-routing.d.ts +2 -1
- package/dist/tool-scoped-memory.d.ts +5 -1
- package/dist/tool-scoped-memory.js +3 -1
- package/dist/topics.d.ts +2 -1
- package/dist/transcript.d.ts +2 -1
- package/dist/transfer/capsule-import.js +4 -4
- package/dist/transfer/types.d.ts +66 -66
- package/dist/trust-score-stage.d.ts +2 -1
- package/dist/trust-score.d.ts +2 -1
- package/dist/{types-rEwubvim.d.ts → types-yX_FwERf.d.ts} +8 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -1
- package/dist/verified-recall.js +25 -23
- package/dist/write-envelope.d.ts +2 -1
- package/package.json +2 -2
- package/src/abort-error.ts +17 -0
- package/src/access-admin-ops-surface.ts +1 -0
- package/src/access-boundary.ts +1 -0
- package/src/access-coding-context-resolution.ts +42 -0
- package/src/access-extraction-force-flush.ts +38 -2
- package/src/access-http-lcm-compaction.ts +5 -2
- package/src/access-http-offline-stream.ts +80 -0
- package/src/access-http.test.ts +310 -3
- package/src/access-http.ts +84 -77
- package/src/access-mcp-output-schemas.ts +36 -0
- package/src/access-mcp.test.ts +95 -1
- package/src/access-mcp.ts +7 -9
- package/src/access-observe-helpers.ts +64 -22
- package/src/access-observe-write-surface.ts +8 -0
- package/src/access-offline-manifest.ts +54 -0
- package/src/access-operations-batch.ts +3 -3
- package/src/access-operations.ts +13 -7
- package/src/access-recall-concurrency.ts +3 -27
- package/src/access-recall-surface.ts +3 -0
- package/src/access-service-health.test.ts +32 -7
- package/src/access-service-namespace.test.ts +55 -0
- package/src/access-service-observe-idempotency.test.ts +34 -2
- package/src/access-service-observe-lcm-parity.test.ts +183 -23
- package/src/access-service-observe-scope.test.ts +160 -1
- package/src/access-service-offline-file-content.test.ts +345 -1
- package/src/access-service.ts +88 -62
- package/src/access-surface-catalog.ts +4 -0
- package/src/admin/admin-surfaces.ts +2 -0
- package/src/binary-lifecycle/pipeline.test.ts +106 -1
- package/src/binary-lifecycle/pipeline.ts +3 -0
- package/src/coding/git-context.test.ts +47 -0
- package/src/coding/git-context.ts +129 -27
- package/src/config.test.ts +24 -0
- package/src/config.ts +9 -12
- package/src/connector-provenance.test.ts +101 -0
- package/src/consolidation-undo.ts +3 -0
- package/src/convergence-refresh.ts +14 -2
- package/src/correction/correction-access-wiring.ts +9 -7
- package/src/correction/correction-executor.test.ts +206 -2
- package/src/correction/correction-executor.ts +29 -20
- package/src/correction/correction-planner.test.ts +36 -0
- package/src/correction/correction-planner.ts +9 -15
- package/src/correction/correction-service.ts +3 -1
- package/src/correction/correction-storage-integration.test.ts +77 -0
- package/src/correction/correction-surfaces.test.ts +41 -28
- package/src/correction/passive-capture.test.ts +59 -0
- package/src/correction/passive-capture.ts +4 -1
- package/src/entity-retrieval-boundaries.ts +17 -4
- package/src/entity-retrieval.ts +27 -6
- package/src/external-wiki-access.test.ts +65 -0
- package/src/external-wiki-access.ts +31 -0
- package/src/external-wiki-cli.ts +100 -0
- package/src/external-wiki-collection-registration.test.ts +163 -0
- package/src/external-wiki-collection-registration.ts +101 -0
- package/src/external-wiki-collection.test.ts +502 -0
- package/src/external-wiki-collection.ts +503 -0
- package/src/external-wiki-config.test.ts +135 -0
- package/src/external-wiki-config.ts +100 -0
- package/src/external-wiki-guard.ts +83 -0
- package/src/external-wiki-mcp-tools.ts +23 -0
- package/src/external-wiki-search.test.ts +367 -0
- package/src/external-wiki-search.ts +362 -0
- package/src/external-wiki.test.ts +240 -0
- package/src/external-wiki.ts +427 -0
- package/src/extraction-scope-source-agent.test.ts +21 -0
- package/src/extraction-source-grounding-helpers.ts +243 -53
- package/src/extraction-source-grounding-rules.ts +133 -39
- package/src/extraction-source-grounding.test.ts +363 -33
- package/src/extraction-timeout.test.ts +1 -0
- package/src/extraction-watermark.test.ts +150 -7
- package/src/extraction.ts +8 -1
- package/src/index.ts +9 -5
- package/src/maintenance/first-start-migration.ts +11 -11
- package/src/mcp-read-only-tools.ts +1 -0
- package/src/memory-snapshot.ts +15 -0
- package/src/offline-sync.test.ts +194 -0
- package/src/offline-sync.ts +217 -13
- package/src/orchestration/external-wiki-recall-guard.test.ts +94 -0
- package/src/orchestration/extraction-persist.ts +19 -2
- package/src/orchestration/extraction-run-helpers.ts +37 -19
- package/src/orchestration/extraction-run.test.ts +171 -2
- package/src/orchestration/extraction-run.ts +11 -13
- package/src/orchestration/extraction-watermark.ts +106 -17
- package/src/orchestration/generic-recall-paths.ts +14 -0
- package/src/orchestration/orchestrator-helpers.ts +2 -0
- package/src/orchestration/orchestrator-init.ts +9 -0
- package/src/orchestration/recall-internal-deps.ts +6 -0
- package/src/orchestration/recall-internal.ts +154 -33
- package/src/orchestration/recall-rerank-coordinator.ts +60 -25
- package/src/orchestration/recall-search-pipeline.test.ts +75 -1
- package/src/orchestration/recall-search-pipeline.ts +50 -10
- package/src/orchestrator-convergence-refresh.test.ts +36 -2
- package/src/orchestrator.ts +13 -3
- package/src/page-versioning.ts +5 -19
- package/src/procedural/procedure-recall.ts +5 -1
- package/src/provenance-surfaces.test.ts +3 -0
- package/src/qmd-client.test.ts +78 -17
- package/src/qmd.test.ts +24 -0
- package/src/qmd.ts +224 -315
- package/src/recall-explain-renderer.ts +3 -0
- package/src/recall-rerank-coordinator.test.ts +61 -0
- package/src/recall-xray-renderer.test.ts +6 -0
- package/src/recall-xray.test.ts +88 -1
- package/src/recall-xray.ts +15 -0
- package/src/reconcile/cursor.test.ts +48 -0
- package/src/reconcile/cursor.ts +58 -11
- package/src/reconcile/manifest.test.ts +4 -0
- package/src/reconcile/manifest.ts +41 -51
- package/src/reconcile/plan.test.ts +4 -0
- package/src/reconcile/plan.ts +28 -16
- package/src/search/factory.ts +6 -6
- package/src/search/port.ts +25 -9
- package/src/secure-store/secure-fs.ts +20 -12
- package/src/secure-store/secure-store.test.ts +41 -2
- package/src/spaces/index.test.ts +61 -2
- package/src/spaces/index.ts +44 -18
- package/src/storage/entity-alias-config.ts +97 -0
- package/src/storage/entity-canonical-id-lock.ts +53 -23
- package/src/storage/entity-canonical-id-migration.ts +53 -22
- package/src/storage/entity-canonical-id-references.ts +3 -0
- package/src/storage/entity-id-safety.ts +7 -0
- package/src/storage/entity-store.ts +6 -2
- package/src/storage/memory-frontmatter-metadata.ts +4 -9
- package/src/storage/memory-migration-serialization.ts +10 -15
- package/src/storage/tombstone-blocked-capture-mutation.ts +52 -64
- package/src/storage/tombstone-blocked-capture-sync.ts +244 -199
- package/src/storage-contract/cache-coherence.test.ts +99 -0
- package/src/storage-deletion-revisions.test.ts +91 -0
- package/src/storage-fact-hash-index-defer.test.ts +460 -170
- package/src/storage.ts +572 -284
- package/src/testing/subjects/first-start-tier-migration.test.ts +75 -0
- package/src/tier-migration.ts +10 -12
- package/src/tool-scoped-memory.ts +10 -0
- package/src/transfer/capsule-import.ts +13 -0
- package/src/transfer/capsule-merge.ts +13 -0
- package/src/trust-score-recall-paths.test.ts +75 -1
- package/src/types.ts +7 -3
- package/dist/capsule-merge-IDWJPCWK.js.map +0 -1
- package/dist/chunk-3CE77VAP.js.map +0 -1
- package/dist/chunk-3TBLDMJA.js.map +0 -1
- package/dist/chunk-4J7G5SY4.js.map +0 -1
- package/dist/chunk-57QKLRBV.js.map +0 -1
- package/dist/chunk-5TFP4CUL.js.map +0 -1
- package/dist/chunk-7XC2HX75.js.map +0 -1
- package/dist/chunk-A5OJCXZL.js.map +0 -1
- package/dist/chunk-BUE5E2HL.js.map +0 -1
- package/dist/chunk-CJ2ZR7UA.js.map +0 -1
- package/dist/chunk-CUM2BBPN.js.map +0 -1
- package/dist/chunk-D3J5SLQK.js.map +0 -1
- package/dist/chunk-DL7ZD3JH.js.map +0 -1
- package/dist/chunk-DLVPUX7U.js.map +0 -1
- package/dist/chunk-E6PNLPGJ.js.map +0 -1
- package/dist/chunk-ECK75GDJ.js.map +0 -1
- package/dist/chunk-HREE4JHI.js.map +0 -1
- package/dist/chunk-HZFHQ4AQ.js.map +0 -1
- package/dist/chunk-IKKWIPYN.js.map +0 -1
- package/dist/chunk-J7VGGECD.js.map +0 -1
- package/dist/chunk-N5Z4EVOR.js.map +0 -1
- package/dist/chunk-NVRYW264.js.map +0 -1
- package/dist/chunk-P2BM76KT.js.map +0 -1
- package/dist/chunk-PVGDJXVK.js +0 -21
- package/dist/chunk-QJAQNXWI.js.map +0 -1
- package/dist/chunk-RN7DY3FC.js.map +0 -1
- package/dist/chunk-RVLJEII5.js.map +0 -1
- package/dist/chunk-S2NCTZGJ.js.map +0 -1
- package/dist/chunk-TDHTVMPG.js.map +0 -1
- package/dist/chunk-UYLMNVY6.js.map +0 -1
- package/dist/chunk-VCD4PSK2.js.map +0 -1
- package/dist/chunk-VNA7W7QF.js.map +0 -1
- package/dist/chunk-VOUOLGIP.js.map +0 -1
- package/dist/chunk-VWAXN2BN.js.map +0 -1
- package/dist/chunk-WOCNN776.js.map +0 -1
- package/dist/chunk-XYTOI63Z.js.map +0 -1
- package/dist/chunk-YV32N67O.js.map +0 -1
- /package/dist/{auto-sync-5OE5QOZB.js.map → auto-sync-UPTUVE4X.js.map} +0 -0
- /package/dist/{chunk-E5UK4VPE.js.map → chunk-2FSTB6BJ.js.map} +0 -0
- /package/dist/{chunk-5ZE7QHTK.js.map → chunk-2X2T2UVE.js.map} +0 -0
- /package/dist/{chunk-P4DRWEYC.js.map → chunk-3COYXTGM.js.map} +0 -0
- /package/dist/{chunk-5IVLTFOV.js.map → chunk-44N6ESJ4.js.map} +0 -0
- /package/dist/{chunk-HO3QBJEY.js.map → chunk-5546W5SI.js.map} +0 -0
- /package/dist/{chunk-AAIUERNB.js.map → chunk-5QJQHBLE.js.map} +0 -0
- /package/dist/{chunk-6CZPDBJS.js.map → chunk-5U7ID3EZ.js.map} +0 -0
- /package/dist/{chunk-DNWXFTLD.js.map → chunk-A4IJCD2Z.js.map} +0 -0
- /package/dist/{chunk-PKNLM44P.js.map → chunk-AC5OWJLV.js.map} +0 -0
- /package/dist/{chunk-LZ4LDKHZ.js.map → chunk-AMAUBUKY.js.map} +0 -0
- /package/dist/{chunk-S5SLVSVY.js.map → chunk-BQIFZ2MP.js.map} +0 -0
- /package/dist/{chunk-Q6IP2ARR.js.map → chunk-CSOYVTRX.js.map} +0 -0
- /package/dist/{chunk-XOQSEF7X.js.map → chunk-CVILPI77.js.map} +0 -0
- /package/dist/{chunk-4LMA77JH.js.map → chunk-E5XQIWAL.js.map} +0 -0
- /package/dist/{chunk-WUNIWKY4.js.map → chunk-ELIL2A37.js.map} +0 -0
- /package/dist/{chunk-OQ5PRDDS.js.map → chunk-ERZ2R42X.js.map} +0 -0
- /package/dist/{chunk-U7GW7NE7.js.map → chunk-FIK3CQNA.js.map} +0 -0
- /package/dist/{chunk-33PLLLL7.js.map → chunk-GFCVUY6G.js.map} +0 -0
- /package/dist/{chunk-VUPTKTDV.js.map → chunk-GUAL4PQH.js.map} +0 -0
- /package/dist/{chunk-CINZGPSJ.js.map → chunk-GUMZC2BO.js.map} +0 -0
- /package/dist/{chunk-H24WNPA2.js.map → chunk-GWFSVJ4P.js.map} +0 -0
- /package/dist/{chunk-TSH56VPU.js.map → chunk-HAYSYUAB.js.map} +0 -0
- /package/dist/{chunk-PDLBLTOK.js.map → chunk-HC3PBX23.js.map} +0 -0
- /package/dist/{chunk-KXB4VXHY.js.map → chunk-JIYDRBVZ.js.map} +0 -0
- /package/dist/{chunk-HLPD7B7P.js.map → chunk-JZH4LWHB.js.map} +0 -0
- /package/dist/{chunk-AV5ZEH4M.js.map → chunk-KVJRXN2E.js.map} +0 -0
- /package/dist/{chunk-WFTIGIIS.js.map → chunk-L6CQ7WIW.js.map} +0 -0
- /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
- /package/dist/{chunk-EJUEXZHX.js.map → chunk-LLJMAULE.js.map} +0 -0
- /package/dist/{chunk-QN25OCUF.js.map → chunk-LPYDOLSM.js.map} +0 -0
- /package/dist/{chunk-AS7YMSL6.js.map → chunk-M23RF3LJ.js.map} +0 -0
- /package/dist/{chunk-OAEQLRCY.js.map → chunk-MO4HSXHZ.js.map} +0 -0
- /package/dist/{chunk-3F2LKUMU.js.map → chunk-NIS256NW.js.map} +0 -0
- /package/dist/{chunk-YIAA2X3D.js.map → chunk-NK5RGJ65.js.map} +0 -0
- /package/dist/{chunk-7TWUCYER.js.map → chunk-PNRA7FAD.js.map} +0 -0
- /package/dist/{chunk-5I4M26Q7.js.map → chunk-QBSFOKY6.js.map} +0 -0
- /package/dist/{chunk-E53DSZEN.js.map → chunk-QR6G5KF4.js.map} +0 -0
- /package/dist/{chunk-4UH4BTGK.js.map → chunk-QVJPH7SH.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
- /package/dist/{chunk-WDISJRMG.js.map → chunk-RMMVQQA6.js.map} +0 -0
- /package/dist/{chunk-JVLCVFQ4.js.map → chunk-RNHVVMFN.js.map} +0 -0
- /package/dist/{chunk-5SM35XZR.js.map → chunk-S5NZBKKQ.js.map} +0 -0
- /package/dist/{chunk-WIPEXG6R.js.map → chunk-SXIMQLGV.js.map} +0 -0
- /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
- /package/dist/{chunk-4B77XSG5.js.map → chunk-UV72DEZD.js.map} +0 -0
- /package/dist/{chunk-BJKPPZ6Z.js.map → chunk-UW66OZTD.js.map} +0 -0
- /package/dist/{chunk-S2BBISHU.js.map → chunk-VANZKHTN.js.map} +0 -0
- /package/dist/{chunk-3Y224NYC.js.map → chunk-VYISFWVX.js.map} +0 -0
- /package/dist/{chunk-JE7EK33X.js.map → chunk-W2V7UESE.js.map} +0 -0
- /package/dist/{chunk-TIHMZFIV.js.map → chunk-W3IC7QOY.js.map} +0 -0
- /package/dist/{chunk-NRV4Y3PM.js.map → chunk-W4FBGYGK.js.map} +0 -0
- /package/dist/{chunk-MU7ZHSZE.js.map → chunk-WZFAPHIK.js.map} +0 -0
- /package/dist/{chunk-T2TTP3KU.js.map → chunk-X4IDNPOS.js.map} +0 -0
- /package/dist/{chunk-UVIKWC7M.js.map → chunk-XAGYS7X6.js.map} +0 -0
- /package/dist/{chunk-BLAKS3CP.js.map → chunk-XL3TATMJ.js.map} +0 -0
- /package/dist/{chunk-W4XJFLAL.js.map → chunk-XPRJSHNI.js.map} +0 -0
- /package/dist/{chunk-E6EE5B67.js.map → chunk-YK6BDDHP.js.map} +0 -0
- /package/dist/{chunk-ES36HTSC.js.map → chunk-YLHM5BQQ.js.map} +0 -0
- /package/dist/{chunk-GF22HWS2.js.map → chunk-Z54EM5YZ.js.map} +0 -0
- /package/dist/{chunk-64UDOIMI.js.map → chunk-ZLQ37WJX.js.map} +0 -0
package/dist/provenance.js
CHANGED
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
parseProvenanceTag,
|
|
6
6
|
reconcileProvenanceRead,
|
|
7
7
|
serializeProvenanceFields
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-QBSFOKY6.js";
|
|
9
9
|
import "./chunk-5GKPFL3S.js";
|
|
10
10
|
import "./chunk-PQVCH2AE.js";
|
|
11
|
-
import "./chunk-JUC24CTX.js";
|
|
12
11
|
import "./chunk-6MKAMLQL.js";
|
|
13
12
|
import "./chunk-JAKIDQB2.js";
|
|
13
|
+
import "./chunk-JUC24CTX.js";
|
|
14
14
|
import "./chunk-3WCASNQZ.js";
|
|
15
15
|
import "./chunk-PZ5AY32C.js";
|
|
16
16
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Q as QmdSearchResult, aD as QmdSearchExplain } from './types-rEwubvim.js';
|
|
2
|
-
import { SearchBackend, SearchExecutionOptions, SearchQueryOptions } from './search/port.js';
|
|
3
1
|
import { QmdStatusReport } from './qmd-status.js';
|
|
2
|
+
import { SearchBackend, SearchExecutionOptions, SearchQueryOptions } from './search/port.js';
|
|
3
|
+
import { Q as QmdSearchResult, aE as QmdSearchExplain } from './types-yX_FwERf.js';
|
|
4
4
|
|
|
5
5
|
declare const QMD_PROBE_TIMEOUT_MS = 8000;
|
|
6
6
|
declare const QMD_PROBE_RETRY_BACKOFF_MS: number[];
|
|
@@ -41,6 +41,7 @@ interface QmdClientOptions {
|
|
|
41
41
|
updateMinIntervalMs?: number;
|
|
42
42
|
qmdPath?: string;
|
|
43
43
|
daemonUrl?: string;
|
|
44
|
+
qmdStrictPath?: boolean;
|
|
44
45
|
daemonRecheckIntervalMs?: number;
|
|
45
46
|
qmdSupportedVersion?: string;
|
|
46
47
|
qmdAutoUpgradeEnabled?: boolean;
|
|
@@ -203,6 +204,7 @@ declare class QmdClient implements SearchBackend {
|
|
|
203
204
|
private readonly qmdSearchStrategy;
|
|
204
205
|
private readonly qmdSubprocessStrategy;
|
|
205
206
|
private readonly qmdFallbackPaths;
|
|
207
|
+
private readonly qmdStrictPath;
|
|
206
208
|
private readonly daemonTimeoutMs;
|
|
207
209
|
private readonly qmdRuntimeEnv;
|
|
208
210
|
private qmdPathSource;
|
|
@@ -224,11 +226,6 @@ declare class QmdClient implements SearchBackend {
|
|
|
224
226
|
probe(): Promise<boolean>;
|
|
225
227
|
checkAvailability(execution?: SearchExecutionOptions): Promise<boolean>;
|
|
226
228
|
private probeDaemon;
|
|
227
|
-
/**
|
|
228
|
-
* Run a single `qmd --version` probe against `qmdPath`. Extracted as its own
|
|
229
|
-
* method so tests can inject a fake probe runner that exercises the preflight
|
|
230
|
-
* retry/classification paths without spawning a real qmd binary. Issue #1841.
|
|
231
|
-
*/
|
|
232
229
|
private runVersionProbe;
|
|
233
230
|
private probeCli;
|
|
234
231
|
private maybeAutoUpgradeQmd;
|
|
@@ -248,6 +245,7 @@ declare class QmdClient implements SearchBackend {
|
|
|
248
245
|
* Returns null fields when the command fails or output is unparseable.
|
|
249
246
|
*/
|
|
250
247
|
status(): Promise<QmdStatusReport>;
|
|
248
|
+
collectionStatus(collection: string): Promise<Pick<QmdStatusReport, "totalFiles">>;
|
|
251
249
|
isDaemonMode(): boolean;
|
|
252
250
|
dispose(): Promise<void>;
|
|
253
251
|
/**
|
|
@@ -333,6 +331,10 @@ declare class QmdClient implements SearchBackend {
|
|
|
333
331
|
/** Trigger a collection-level embed for fresh writes (debounced by prioritized-embed). */
|
|
334
332
|
embedFiles(filePaths: string[]): Promise<boolean>;
|
|
335
333
|
private runEmbedForCollection;
|
|
334
|
+
supportsAdditionalCollections(): boolean;
|
|
335
|
+
collectionRoot(collection: string, execution?: SearchExecutionOptions): Promise<string | null>;
|
|
336
|
+
excludeCollectionFromGlobalSearch(collection: string, execution?: SearchExecutionOptions): Promise<void>;
|
|
337
|
+
deleteCollection(collection: string, execution?: SearchExecutionOptions): Promise<boolean>;
|
|
336
338
|
checkCollection(collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
|
|
337
339
|
ensureCollection(memoryDir: string, collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
|
|
338
340
|
}
|
package/dist/qmd-preflight.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-
|
|
2
|
-
import './
|
|
1
|
+
export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-C0UDZidt.js';
|
|
2
|
+
import './qmd-status.js';
|
|
3
|
+
import './search/port.js';
|
|
4
|
+
import './types-yX_FwERf.js';
|
|
3
5
|
import './message-parts/index.js';
|
|
4
6
|
import './bounded-jsonl-state.js';
|
|
5
7
|
import './operator-doctor-types.js';
|
|
8
|
+
import './external-wiki-config.js';
|
|
6
9
|
import './types-continuity.js';
|
|
7
|
-
import './search/port.js';
|
|
8
|
-
import './qmd-status.js';
|
package/dist/qmd-preflight.js
CHANGED
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
resolveQmdCapabilities,
|
|
12
12
|
shouldAutoUpgradeQmd,
|
|
13
13
|
versionAtLeast
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-ZLQ37WJX.js";
|
|
15
|
+
import "./chunk-BTTPKDIL.js";
|
|
16
16
|
import "./chunk-PZ5AY32C.js";
|
|
17
17
|
export {
|
|
18
18
|
QMD_PROBE_RETRY_BACKOFF_MS,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { R as RecallPlanMode } from './types-
|
|
1
|
+
import { R as RecallPlanMode } from './types-yX_FwERf.js';
|
|
2
2
|
import { SearchQueryOptions } from './search/port.js';
|
|
3
3
|
import './message-parts/index.js';
|
|
4
4
|
import './bounded-jsonl-state.js';
|
|
5
5
|
import './operator-doctor-types.js';
|
|
6
|
+
import './external-wiki-config.js';
|
|
6
7
|
import './types-continuity.js';
|
|
7
8
|
|
|
8
9
|
type QmdRecallCacheSource = "fresh" | "stale";
|
package/dist/qmd.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import './search/port.js';
|
|
3
|
-
export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-LWtMofAf.js';
|
|
1
|
+
export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-C0UDZidt.js';
|
|
4
2
|
export { QmdStatusReport, parseQmdStatusOutput } from './qmd-status.js';
|
|
3
|
+
import './search/port.js';
|
|
4
|
+
import './types-yX_FwERf.js';
|
|
5
5
|
import './message-parts/index.js';
|
|
6
6
|
import './bounded-jsonl-state.js';
|
|
7
7
|
import './operator-doctor-types.js';
|
|
8
|
+
import './external-wiki-config.js';
|
|
8
9
|
import './types-continuity.js';
|
package/dist/qmd.js
CHANGED
|
@@ -6,8 +6,11 @@ import {
|
|
|
6
6
|
releaseSharedDaemonSession,
|
|
7
7
|
retainSharedDaemonSession,
|
|
8
8
|
sharedDaemonSessionCountForTest
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-RVO6TCTU.js";
|
|
10
|
+
import "./chunk-URS5GSM7.js";
|
|
11
|
+
import {
|
|
12
|
+
parseQmdStatusOutput
|
|
13
|
+
} from "./chunk-IUM3VSHI.js";
|
|
11
14
|
import {
|
|
12
15
|
QMD_SUPPORTED_VERSION,
|
|
13
16
|
compareQmdVersions,
|
|
@@ -17,15 +20,12 @@ import {
|
|
|
17
20
|
resolveQmdCapabilities,
|
|
18
21
|
shouldAutoUpgradeQmd,
|
|
19
22
|
versionAtLeast
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import {
|
|
22
|
-
parseQmdStatusOutput
|
|
23
|
-
} from "./chunk-IUM3VSHI.js";
|
|
24
|
-
import "./chunk-O75CRYGF.js";
|
|
23
|
+
} from "./chunk-ZLQ37WJX.js";
|
|
25
24
|
import "./chunk-XMMESCPD.js";
|
|
26
25
|
import "./chunk-42JKGUFJ.js";
|
|
26
|
+
import "./chunk-O75CRYGF.js";
|
|
27
27
|
import "./chunk-JUC24CTX.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-BTTPKDIL.js";
|
|
29
29
|
import "./chunk-3WCASNQZ.js";
|
|
30
30
|
import "./chunk-PZ5AY32C.js";
|
|
31
31
|
export {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { P as PluginConfig } from './types-
|
|
1
|
+
import { P as PluginConfig } from './types-yX_FwERf.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './operator-doctor-types.js';
|
|
5
|
+
import './external-wiki-config.js';
|
|
5
6
|
import './types-continuity.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as RecallDisclosure } from './types-yX_FwERf.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './operator-doctor-types.js';
|
|
5
|
+
import './external-wiki-config.js';
|
|
5
6
|
import './types-continuity.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { LastRecallSnapshot } from './recall-state.js';
|
|
2
|
-
import {
|
|
2
|
+
import { b as RecallTierExplain } from './types-yX_FwERf.js';
|
|
3
3
|
import { RecallXraySnapshot } from './recall-xray.js';
|
|
4
4
|
import './utils/serialize-mutations.js';
|
|
5
5
|
import './search/port.js';
|
|
6
6
|
import './message-parts/index.js';
|
|
7
7
|
import './bounded-jsonl-state.js';
|
|
8
8
|
import './operator-doctor-types.js';
|
|
9
|
+
import './external-wiki-config.js';
|
|
9
10
|
import './types-continuity.js';
|
|
10
11
|
import './memory-provenance.js';
|
|
11
12
|
import './user-model.js';
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
toRecallExplainJson,
|
|
6
6
|
toRecallExplainText,
|
|
7
7
|
toRecallXraySnapshotFromLegacy
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-O4KMGRXE.js";
|
|
9
9
|
import "./chunk-SOBJ6NEY.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-HFPASSFV.js";
|
|
11
|
+
import "./chunk-DZPFMQZ7.js";
|
|
12
12
|
import "./chunk-I4WBNM3M.js";
|
|
13
13
|
import "./chunk-SOAU2OE2.js";
|
|
14
14
|
import "./chunk-PZ5AY32C.js";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Q as QmdSearchResult, M as MemoryFile } from './types-
|
|
1
|
+
import { Q as QmdSearchResult, M as MemoryFile } from './types-yX_FwERf.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './operator-doctor-types.js';
|
|
5
|
+
import './external-wiki-config.js';
|
|
5
6
|
import './types-continuity.js';
|
|
6
7
|
|
|
7
8
|
declare function memoryMapKey(result: Pick<QmdSearchResult, "namespace" | "path">): string;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { R as RecallPlanMode, P as PluginConfig } from './types-
|
|
1
|
+
import { R as RecallPlanMode, P as PluginConfig } from './types-yX_FwERf.js';
|
|
2
2
|
import { CapabilitySet } from './capabilities.js';
|
|
3
3
|
import { FallbackLlmClient, FallbackLlmOptions } from './fallback-llm.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
5
|
import './bounded-jsonl-state.js';
|
|
6
6
|
import './operator-doctor-types.js';
|
|
7
|
+
import './external-wiki-config.js';
|
|
7
8
|
import './types-continuity.js';
|
|
8
9
|
import './resolve-provider-secret.js';
|
|
9
10
|
|
package/dist/recall-state.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { HeldFileLockOptions } from './utils/serialize-mutations.js';
|
|
2
2
|
import { SearchDegradation } from './search/port.js';
|
|
3
|
-
import { R as RecallPlanMode, I as IdentityInjectionMode,
|
|
3
|
+
import { R as RecallPlanMode, I as IdentityInjectionMode, b as RecallTierExplain } from './types-yX_FwERf.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
5
|
import './bounded-jsonl-state.js';
|
|
6
6
|
import './operator-doctor-types.js';
|
|
7
|
+
import './external-wiki-config.js';
|
|
7
8
|
import './types-continuity.js';
|
|
8
9
|
|
|
9
10
|
interface LastRecallBudgetSummary {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { RecallFilterTrace } from './recall-xray.js';
|
|
2
2
|
import './memory-provenance.js';
|
|
3
|
-
import './types-
|
|
3
|
+
import './types-yX_FwERf.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
5
|
import './bounded-jsonl-state.js';
|
|
6
6
|
import './operator-doctor-types.js';
|
|
7
|
+
import './external-wiki-config.js';
|
|
7
8
|
import './types-continuity.js';
|
|
8
9
|
import './user-model.js';
|
|
9
10
|
|
package/dist/recall-timings.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { P as PluginConfig } from './types-
|
|
1
|
+
import { P as PluginConfig } from './types-yX_FwERf.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './operator-doctor-types.js';
|
|
5
|
+
import './external-wiki-config.js';
|
|
5
6
|
import './types-continuity.js';
|
|
6
7
|
|
|
7
8
|
interface RecallTimingRecord {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { RecallXrayFormat } from './recall-xray-renderer.js';
|
|
2
|
-
import {
|
|
2
|
+
import { n as RecallDisclosure } from './types-yX_FwERf.js';
|
|
3
3
|
import './recall-xray.js';
|
|
4
4
|
import './memory-provenance.js';
|
|
5
5
|
import './user-model.js';
|
|
6
6
|
import './message-parts/index.js';
|
|
7
7
|
import './bounded-jsonl-state.js';
|
|
8
8
|
import './operator-doctor-types.js';
|
|
9
|
+
import './external-wiki-config.js';
|
|
9
10
|
import './types-continuity.js';
|
|
10
11
|
|
|
11
12
|
/**
|
package/dist/recall-xray-cli.js
CHANGED
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
parseXrayBudgetFlag,
|
|
3
3
|
parseXrayCliOptions,
|
|
4
4
|
parseXrayDisclosureFlag
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-W3IC7QOY.js";
|
|
6
|
+
import "./chunk-O4KMGRXE.js";
|
|
7
7
|
import "./chunk-SOBJ6NEY.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-HFPASSFV.js";
|
|
9
|
+
import "./chunk-DZPFMQZ7.js";
|
|
10
10
|
import "./chunk-I4WBNM3M.js";
|
|
11
11
|
import "./chunk-SOAU2OE2.js";
|
|
12
12
|
import "./chunk-PZ5AY32C.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { RecallXraySnapshot } from './recall-xray.js';
|
|
2
2
|
import './memory-provenance.js';
|
|
3
|
-
import './types-
|
|
3
|
+
import './types-yX_FwERf.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
5
|
import './bounded-jsonl-state.js';
|
|
6
6
|
import './operator-doctor-types.js';
|
|
7
|
+
import './external-wiki-config.js';
|
|
7
8
|
import './types-continuity.js';
|
|
8
9
|
import './user-model.js';
|
|
9
10
|
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
renderXrayJson,
|
|
6
6
|
renderXrayMarkdown,
|
|
7
7
|
renderXrayText
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-O4KMGRXE.js";
|
|
9
9
|
import "./chunk-SOBJ6NEY.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-HFPASSFV.js";
|
|
11
|
+
import "./chunk-DZPFMQZ7.js";
|
|
12
12
|
import "./chunk-I4WBNM3M.js";
|
|
13
13
|
import "./chunk-SOAU2OE2.js";
|
|
14
14
|
import "./chunk-PZ5AY32C.js";
|
package/dist/recall-xray.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { RetrievedMemoryProvenance } from './memory-provenance.js';
|
|
2
|
-
import {
|
|
2
|
+
import { b as RecallTierExplain, n as RecallDisclosure } from './types-yX_FwERf.js';
|
|
3
3
|
import './user-model.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
5
|
import './bounded-jsonl-state.js';
|
|
6
6
|
import './operator-doctor-types.js';
|
|
7
|
+
import './external-wiki-config.js';
|
|
7
8
|
import './types-continuity.js';
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -234,6 +235,9 @@ interface RecallXraySnapshot {
|
|
|
234
235
|
*/
|
|
235
236
|
tierExplain: RecallTierExplain | null;
|
|
236
237
|
results: RecallXrayResult[];
|
|
238
|
+
appliedResultLimit: number;
|
|
239
|
+
appliedResults: RecallXrayResult[];
|
|
240
|
+
headroomResults: RecallXrayResult[];
|
|
237
241
|
filters: RecallFilterTrace[];
|
|
238
242
|
/**
|
|
239
243
|
* Character budget accounting for the final assembled recall payload.
|
|
@@ -260,6 +264,9 @@ interface BuildXraySnapshotInput {
|
|
|
260
264
|
query: string;
|
|
261
265
|
tierExplain?: RecallTierExplain | null;
|
|
262
266
|
results?: RecallXrayResult[];
|
|
267
|
+
appliedResultLimit?: number;
|
|
268
|
+
appliedResults?: RecallXrayResult[];
|
|
269
|
+
headroomResults?: RecallXrayResult[];
|
|
263
270
|
filters?: RecallFilterTrace[];
|
|
264
271
|
budget?: {
|
|
265
272
|
chars?: number;
|
package/dist/recall-xray.js
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
estimateRecallTokens,
|
|
6
6
|
isRecallXrayServedBy,
|
|
7
7
|
summarizeDisclosureTokens
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-HFPASSFV.js";
|
|
9
|
+
import "./chunk-DZPFMQZ7.js";
|
|
10
10
|
import "./chunk-I4WBNM3M.js";
|
|
11
11
|
import "./chunk-SOAU2OE2.js";
|
|
12
12
|
import "./chunk-PZ5AY32C.js";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { ReconcileSemanticAgreement, ReconcilePlanEntry } from './plan.js';
|
|
2
2
|
import '../offline-sync.js';
|
|
3
|
-
import '../types-
|
|
3
|
+
import '../types-yX_FwERf.js';
|
|
4
4
|
import '../message-parts/index.js';
|
|
5
5
|
import '../bounded-jsonl-state.js';
|
|
6
6
|
import '../operator-doctor-types.js';
|
|
7
|
+
import '../external-wiki-config.js';
|
|
7
8
|
import '../types-continuity.js';
|
|
8
9
|
|
|
10
|
+
type ConvergeRefreshTarget = "local" | "receiver";
|
|
9
11
|
interface ConvergeCursorFileState {
|
|
10
12
|
path: string;
|
|
11
13
|
sha256: string;
|
|
@@ -20,12 +22,20 @@ interface ConvergeCursorState {
|
|
|
20
22
|
baseFiles: ConvergeCursorFileState[];
|
|
21
23
|
semanticAgreements?: ReconcileSemanticAgreement[];
|
|
22
24
|
completedPaths?: string[];
|
|
25
|
+
pendingRefreshes?: ConvergeRefreshTarget[];
|
|
23
26
|
}
|
|
27
|
+
declare function normalizeConvergePeerUrl(peerUrl: string): string;
|
|
24
28
|
declare function hashPeerNamespace(peerUrl: string, namespace: string): string;
|
|
25
29
|
declare function defaultConvergeCursorPath(memoryDir: string, peerUrl: string, namespace: string): string;
|
|
26
30
|
declare function deriveConvergeCursorBase(entries: readonly ReconcilePlanEntry[], namespace: string, priorSemanticAgreements?: readonly ReconcileSemanticAgreement[]): Pick<ConvergeCursorState, "baseFiles" | "semanticAgreements">;
|
|
27
31
|
declare function normalizeConvergeCursor(input: unknown): ConvergeCursorState;
|
|
28
32
|
declare function readConvergeCursor(cursorPath: string): Promise<ConvergeCursorState | null>;
|
|
29
33
|
declare function writeConvergeCursor(cursorPath: string, cursor: ConvergeCursorState): Promise<void>;
|
|
34
|
+
declare function markConvergeRefreshPending(cursorPath: string, options: {
|
|
35
|
+
peerUrl: string;
|
|
36
|
+
namespace: string;
|
|
37
|
+
target: ConvergeRefreshTarget;
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
declare function clearConvergeRefreshPending(cursorPath: string, target: ConvergeRefreshTarget): Promise<void>;
|
|
30
40
|
|
|
31
|
-
export { type ConvergeCursorFileState, type ConvergeCursorState, defaultConvergeCursorPath, deriveConvergeCursorBase, hashPeerNamespace, normalizeConvergeCursor, readConvergeCursor, writeConvergeCursor };
|
|
41
|
+
export { type ConvergeCursorFileState, type ConvergeCursorState, type ConvergeRefreshTarget, clearConvergeRefreshPending, defaultConvergeCursorPath, deriveConvergeCursorBase, hashPeerNamespace, markConvergeRefreshPending, normalizeConvergeCursor, normalizeConvergePeerUrl, readConvergeCursor, writeConvergeCursor };
|
package/dist/reconcile/cursor.js
CHANGED
|
@@ -4,15 +4,22 @@ import "../chunk-PZ5AY32C.js";
|
|
|
4
4
|
import { createHash, randomUUID } from "crypto";
|
|
5
5
|
import * as fs from "fs/promises";
|
|
6
6
|
import * as path from "path";
|
|
7
|
-
function
|
|
8
|
-
|
|
7
|
+
function normalizeConvergePeerUrl(peerUrl) {
|
|
8
|
+
const trimmed = peerUrl.trim();
|
|
9
9
|
try {
|
|
10
|
-
const url = new URL(
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const url = new URL(trimmed);
|
|
11
|
+
url.username = "";
|
|
12
|
+
url.password = "";
|
|
13
|
+
url.search = "";
|
|
14
|
+
url.hash = "";
|
|
15
|
+
url.pathname = url.pathname.replace(/\/+$/, "");
|
|
16
|
+
return url.toString().replace(/\/$/, "");
|
|
13
17
|
} catch {
|
|
14
|
-
|
|
18
|
+
return trimmed.replace(/\/+$/, "");
|
|
15
19
|
}
|
|
20
|
+
}
|
|
21
|
+
function hashPeerNamespace(peerUrl, namespace) {
|
|
22
|
+
const normalizedUrl = normalizeConvergePeerUrl(peerUrl);
|
|
16
23
|
const normalizedNs = namespace.trim().toLowerCase();
|
|
17
24
|
return createHash("sha256").update(`${normalizedUrl}\0${normalizedNs}`).digest("hex").slice(0, 16);
|
|
18
25
|
}
|
|
@@ -110,6 +117,11 @@ function normalizeConvergeCursor(input) {
|
|
|
110
117
|
}
|
|
111
118
|
}
|
|
112
119
|
}
|
|
120
|
+
const pendingRefreshes = [];
|
|
121
|
+
if (Array.isArray(obj.pendingRefreshes)) {
|
|
122
|
+
if (obj.pendingRefreshes.includes("local")) pendingRefreshes.push("local");
|
|
123
|
+
if (obj.pendingRefreshes.includes("receiver")) pendingRefreshes.push("receiver");
|
|
124
|
+
}
|
|
113
125
|
return {
|
|
114
126
|
version: 1,
|
|
115
127
|
peerUrl: obj.peerUrl.trim(),
|
|
@@ -117,7 +129,8 @@ function normalizeConvergeCursor(input) {
|
|
|
117
129
|
lastConvergedAt: typeof obj.lastConvergedAt === "string" ? obj.lastConvergedAt : void 0,
|
|
118
130
|
baseFiles,
|
|
119
131
|
semanticAgreements,
|
|
120
|
-
completedPaths
|
|
132
|
+
completedPaths,
|
|
133
|
+
pendingRefreshes
|
|
121
134
|
};
|
|
122
135
|
}
|
|
123
136
|
async function readConvergeCursor(cursorPath) {
|
|
@@ -147,11 +160,37 @@ async function writeConvergeCursor(cursorPath, cursor) {
|
|
|
147
160
|
throw error;
|
|
148
161
|
}
|
|
149
162
|
}
|
|
163
|
+
async function markConvergeRefreshPending(cursorPath, options) {
|
|
164
|
+
const current = await readConvergeCursor(cursorPath);
|
|
165
|
+
const pendingRefreshes = new Set(current?.pendingRefreshes ?? []);
|
|
166
|
+
pendingRefreshes.add(options.target);
|
|
167
|
+
await writeConvergeCursor(cursorPath, {
|
|
168
|
+
version: 1,
|
|
169
|
+
peerUrl: current?.peerUrl ?? options.peerUrl,
|
|
170
|
+
namespace: current?.namespace ?? options.namespace,
|
|
171
|
+
lastConvergedAt: current?.lastConvergedAt,
|
|
172
|
+
baseFiles: current?.baseFiles ?? [],
|
|
173
|
+
semanticAgreements: current?.semanticAgreements ?? [],
|
|
174
|
+
completedPaths: current?.completedPaths ?? [],
|
|
175
|
+
pendingRefreshes: [...pendingRefreshes].sort()
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
async function clearConvergeRefreshPending(cursorPath, target) {
|
|
179
|
+
const current = await readConvergeCursor(cursorPath);
|
|
180
|
+
if (!current?.pendingRefreshes?.includes(target)) return;
|
|
181
|
+
await writeConvergeCursor(cursorPath, {
|
|
182
|
+
...current,
|
|
183
|
+
pendingRefreshes: current.pendingRefreshes.filter((pending) => pending !== target)
|
|
184
|
+
});
|
|
185
|
+
}
|
|
150
186
|
export {
|
|
187
|
+
clearConvergeRefreshPending,
|
|
151
188
|
defaultConvergeCursorPath,
|
|
152
189
|
deriveConvergeCursorBase,
|
|
153
190
|
hashPeerNamespace,
|
|
191
|
+
markConvergeRefreshPending,
|
|
154
192
|
normalizeConvergeCursor,
|
|
193
|
+
normalizeConvergePeerUrl,
|
|
155
194
|
readConvergeCursor,
|
|
156
195
|
writeConvergeCursor
|
|
157
196
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/reconcile/cursor.ts"],"sourcesContent":["import { createHash, randomUUID } from \"node:crypto\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport type { ReconcilePlanEntry, ReconcileSemanticAgreement } from \"./plan.js\";\n\nexport interface ConvergeCursorFileState {\n path: string;\n sha256: string;\n mtimeMs?: number;\n bytes?: number;\n}\n\nexport interface ConvergeCursorState {\n version: 1;\n peerUrl: string;\n namespace: string;\n lastConvergedAt?: string;\n baseFiles: ConvergeCursorFileState[];\n semanticAgreements?: ReconcileSemanticAgreement[];\n completedPaths?: string[];\n}\n\nexport function hashPeerNamespace(peerUrl: string, namespace: string): string {\n let normalizedUrl: string;\n try {\n const url = new URL(peerUrl);\n const credentials =\n url.username || url.password\n ? `${url.username}${url.password ? `:${url.password}` : \"\"}@`\n : \"\";\n normalizedUrl =\n `${url.protocol.toLowerCase()}//${credentials}${url.hostname.toLowerCase()}` +\n `${url.port ? `:${url.port}` : \"\"}${url.pathname.replace(/\\/+$/, \"\")}${url.search}${url.hash}`;\n } catch {\n normalizedUrl = peerUrl.trim().replace(/\\/+$/, \"\").toLowerCase();\n }\n const normalizedNs = namespace.trim().toLowerCase();\n return createHash(\"sha256\")\n .update(`${normalizedUrl}\\0${normalizedNs}`)\n .digest(\"hex\")\n .slice(0, 16);\n}\n\nexport function defaultConvergeCursorPath(\n memoryDir: string,\n peerUrl: string,\n namespace: string,\n): string {\n const key = hashPeerNamespace(peerUrl, namespace);\n return path.join(path.resolve(memoryDir), \".remnic\", \"state\", \"converge-cursors\", `${key}.json`);\n}\n\nfunction normalizeSemanticFileState(input: unknown): { path: string; sha256: string } | undefined {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) return undefined;\n const file = input as Record<string, unknown>;\n if (typeof file.path !== \"string\" || typeof file.sha256 !== \"string\") return undefined;\n return { path: file.path, sha256: file.sha256 };\n}\n\nfunction digestAfterReconcile(entry: ReconcilePlanEntry): string | undefined {\n if (entry.action === \"push\") return entry.localSha256;\n if (entry.action === \"pull\") return entry.peerSha256;\n if (entry.action === \"conflict\") {\n if (entry.resolution === \"local-wins\") return entry.localSha256;\n if (entry.resolution === \"peer-wins\") return entry.peerSha256;\n return undefined;\n }\n if (entry.action !== \"identical\") return undefined;\n if (entry.localSha256 && entry.peerSha256 && entry.localSha256 !== entry.peerSha256) return undefined;\n return entry.localSha256 ?? entry.peerSha256;\n}\n\nfunction semanticAgreementKey(agreement: ReconcileSemanticAgreement): string {\n return `${agreement.local.path}\\0${agreement.peer.path}`;\n}\n\nexport function deriveConvergeCursorBase(\n entries: readonly ReconcilePlanEntry[],\n namespace: string,\n priorSemanticAgreements: readonly ReconcileSemanticAgreement[] = [],\n): Pick<ConvergeCursorState, \"baseFiles\" | \"semanticAgreements\"> {\n const baseFiles: ConvergeCursorFileState[] = [];\n const semanticAgreementsByPathPair = new Map(\n priorSemanticAgreements.map((agreement) => [semanticAgreementKey(agreement), agreement])\n );\n for (const entry of entries) {\n if (entry.namespace !== namespace) continue;\n if (entry.semanticAgreement) {\n semanticAgreementsByPathPair.set(semanticAgreementKey(entry.semanticAgreement), entry.semanticAgreement);\n continue;\n }\n const sha256 = digestAfterReconcile(entry);\n if (sha256) baseFiles.push({ path: entry.path, sha256 });\n }\n baseFiles.sort((left, right) => left.path.localeCompare(right.path));\n const semanticAgreements = [...semanticAgreementsByPathPair.values()];\n semanticAgreements.sort((left, right) =>\n left.local.path.localeCompare(right.local.path) || left.peer.path.localeCompare(right.peer.path)\n );\n return { baseFiles, semanticAgreements };\n}\n\nexport function normalizeConvergeCursor(input: unknown): ConvergeCursorState {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n throw new Error(\"converge cursor must be an object\");\n }\n const obj = input as Record<string, unknown>;\n if (obj.version !== 1) {\n throw new Error(\"converge cursor version must be 1\");\n }\n if (typeof obj.peerUrl !== \"string\" || !obj.peerUrl.trim()) {\n throw new Error(\"converge cursor missing peerUrl\");\n }\n if (typeof obj.namespace !== \"string\" || !obj.namespace.trim()) {\n throw new Error(\"converge cursor missing namespace\");\n }\n const baseFiles: ConvergeCursorFileState[] = [];\n if (Array.isArray(obj.baseFiles)) {\n for (const item of obj.baseFiles) {\n if (item && typeof item === \"object\") {\n const fileItem = item as Record<string, unknown>;\n if (typeof fileItem.path === \"string\" && typeof fileItem.sha256 === \"string\") {\n baseFiles.push({\n path: fileItem.path,\n sha256: fileItem.sha256,\n mtimeMs: typeof fileItem.mtimeMs === \"number\" ? fileItem.mtimeMs : undefined,\n bytes: typeof fileItem.bytes === \"number\" ? fileItem.bytes : undefined,\n });\n }\n }\n }\n }\n const semanticAgreements: ReconcileSemanticAgreement[] = [];\n if (Array.isArray(obj.semanticAgreements)) {\n for (const item of obj.semanticAgreements) {\n if (!item || typeof item !== \"object\" || Array.isArray(item)) continue;\n const agreement = item as Record<string, unknown>;\n const local = normalizeSemanticFileState(agreement.local);\n const peer = normalizeSemanticFileState(agreement.peer);\n if (local && peer) semanticAgreements.push({ local, peer });\n }\n }\n const completedPaths: string[] = [];\n if (Array.isArray(obj.completedPaths)) {\n for (const item of obj.completedPaths) {\n if (typeof item === \"string\") {\n completedPaths.push(item);\n }\n }\n }\n return {\n version: 1,\n peerUrl: obj.peerUrl.trim(),\n namespace: obj.namespace.trim(),\n lastConvergedAt: typeof obj.lastConvergedAt === \"string\" ? obj.lastConvergedAt : undefined,\n baseFiles,\n semanticAgreements,\n completedPaths,\n };\n}\n\nexport async function readConvergeCursor(\n cursorPath: string,\n): Promise<ConvergeCursorState | null> {\n try {\n const raw = await fs.readFile(path.resolve(cursorPath), \"utf-8\");\n const parsed = JSON.parse(raw);\n return normalizeConvergeCursor(parsed);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n return null;\n }\n}\n\nexport async function writeConvergeCursor(\n cursorPath: string,\n cursor: ConvergeCursorState,\n): Promise<void> {\n const normalized = normalizeConvergeCursor(cursor);\n const target = path.resolve(cursorPath);\n await fs.mkdir(path.dirname(target), { recursive: true });\n const tmp = path.join(\n path.dirname(target),\n `.converge-cursor.${process.pid}.${randomUUID()}.tmp`,\n );\n await fs.writeFile(tmp, JSON.stringify(normalized, null, 2) + \"\\n\", \"utf-8\");\n try {\n await fs.rename(tmp, target);\n } catch (error) {\n await fs.unlink(tmp).catch(() => {});\n throw error;\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/reconcile/cursor.ts"],"sourcesContent":["import { createHash, randomUUID } from \"node:crypto\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport type { ReconcilePlanEntry, ReconcileSemanticAgreement } from \"./plan.js\";\n\nexport type ConvergeRefreshTarget = \"local\" | \"receiver\";\n\nexport interface ConvergeCursorFileState {\n path: string;\n sha256: string;\n mtimeMs?: number;\n bytes?: number;\n}\n\nexport interface ConvergeCursorState {\n version: 1;\n peerUrl: string;\n namespace: string;\n lastConvergedAt?: string;\n baseFiles: ConvergeCursorFileState[];\n semanticAgreements?: ReconcileSemanticAgreement[];\n completedPaths?: string[];\n pendingRefreshes?: ConvergeRefreshTarget[];\n}\n\nexport function normalizeConvergePeerUrl(peerUrl: string): string {\n const trimmed = peerUrl.trim();\n try {\n const url = new URL(trimmed);\n url.username = \"\";\n url.password = \"\";\n url.search = \"\";\n url.hash = \"\";\n url.pathname = url.pathname.replace(/\\/+$/, \"\");\n return url.toString().replace(/\\/$/, \"\");\n } catch {\n return trimmed.replace(/\\/+$/, \"\");\n }\n}\n\nexport function hashPeerNamespace(peerUrl: string, namespace: string): string {\n const normalizedUrl = normalizeConvergePeerUrl(peerUrl);\n const normalizedNs = namespace.trim().toLowerCase();\n return createHash(\"sha256\")\n .update(`${normalizedUrl}\\0${normalizedNs}`)\n .digest(\"hex\")\n .slice(0, 16);\n}\n\nexport function defaultConvergeCursorPath(\n memoryDir: string,\n peerUrl: string,\n namespace: string,\n): string {\n const key = hashPeerNamespace(peerUrl, namespace);\n return path.join(path.resolve(memoryDir), \".remnic\", \"state\", \"converge-cursors\", `${key}.json`);\n}\n\nfunction normalizeSemanticFileState(input: unknown): { path: string; sha256: string } | undefined {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) return undefined;\n const file = input as Record<string, unknown>;\n if (typeof file.path !== \"string\" || typeof file.sha256 !== \"string\") return undefined;\n return { path: file.path, sha256: file.sha256 };\n}\n\nfunction digestAfterReconcile(entry: ReconcilePlanEntry): string | undefined {\n if (entry.action === \"push\") return entry.localSha256;\n if (entry.action === \"pull\") return entry.peerSha256;\n if (entry.action === \"conflict\") {\n if (entry.resolution === \"local-wins\") return entry.localSha256;\n if (entry.resolution === \"peer-wins\") return entry.peerSha256;\n return undefined;\n }\n if (entry.action !== \"identical\") return undefined;\n if (entry.localSha256 && entry.peerSha256 && entry.localSha256 !== entry.peerSha256) return undefined;\n return entry.localSha256 ?? entry.peerSha256;\n}\n\nfunction semanticAgreementKey(agreement: ReconcileSemanticAgreement): string {\n return `${agreement.local.path}\\0${agreement.peer.path}`;\n}\n\nexport function deriveConvergeCursorBase(\n entries: readonly ReconcilePlanEntry[],\n namespace: string,\n priorSemanticAgreements: readonly ReconcileSemanticAgreement[] = [],\n): Pick<ConvergeCursorState, \"baseFiles\" | \"semanticAgreements\"> {\n const baseFiles: ConvergeCursorFileState[] = [];\n const semanticAgreementsByPathPair = new Map(\n priorSemanticAgreements.map((agreement) => [semanticAgreementKey(agreement), agreement])\n );\n for (const entry of entries) {\n if (entry.namespace !== namespace) continue;\n if (entry.semanticAgreement) {\n semanticAgreementsByPathPair.set(semanticAgreementKey(entry.semanticAgreement), entry.semanticAgreement);\n continue;\n }\n const sha256 = digestAfterReconcile(entry);\n if (sha256) baseFiles.push({ path: entry.path, sha256 });\n }\n baseFiles.sort((left, right) => left.path.localeCompare(right.path));\n const semanticAgreements = [...semanticAgreementsByPathPair.values()];\n semanticAgreements.sort((left, right) =>\n left.local.path.localeCompare(right.local.path) || left.peer.path.localeCompare(right.peer.path)\n );\n return { baseFiles, semanticAgreements };\n}\n\nexport function normalizeConvergeCursor(input: unknown): ConvergeCursorState {\n if (!input || typeof input !== \"object\" || Array.isArray(input)) {\n throw new Error(\"converge cursor must be an object\");\n }\n const obj = input as Record<string, unknown>;\n if (obj.version !== 1) {\n throw new Error(\"converge cursor version must be 1\");\n }\n if (typeof obj.peerUrl !== \"string\" || !obj.peerUrl.trim()) {\n throw new Error(\"converge cursor missing peerUrl\");\n }\n if (typeof obj.namespace !== \"string\" || !obj.namespace.trim()) {\n throw new Error(\"converge cursor missing namespace\");\n }\n const baseFiles: ConvergeCursorFileState[] = [];\n if (Array.isArray(obj.baseFiles)) {\n for (const item of obj.baseFiles) {\n if (item && typeof item === \"object\") {\n const fileItem = item as Record<string, unknown>;\n if (typeof fileItem.path === \"string\" && typeof fileItem.sha256 === \"string\") {\n baseFiles.push({\n path: fileItem.path,\n sha256: fileItem.sha256,\n mtimeMs: typeof fileItem.mtimeMs === \"number\" ? fileItem.mtimeMs : undefined,\n bytes: typeof fileItem.bytes === \"number\" ? fileItem.bytes : undefined,\n });\n }\n }\n }\n }\n const semanticAgreements: ReconcileSemanticAgreement[] = [];\n if (Array.isArray(obj.semanticAgreements)) {\n for (const item of obj.semanticAgreements) {\n if (!item || typeof item !== \"object\" || Array.isArray(item)) continue;\n const agreement = item as Record<string, unknown>;\n const local = normalizeSemanticFileState(agreement.local);\n const peer = normalizeSemanticFileState(agreement.peer);\n if (local && peer) semanticAgreements.push({ local, peer });\n }\n }\n const completedPaths: string[] = [];\n if (Array.isArray(obj.completedPaths)) {\n for (const item of obj.completedPaths) {\n if (typeof item === \"string\") {\n completedPaths.push(item);\n }\n }\n }\n const pendingRefreshes: ConvergeRefreshTarget[] = [];\n if (Array.isArray(obj.pendingRefreshes)) {\n if (obj.pendingRefreshes.includes(\"local\")) pendingRefreshes.push(\"local\");\n if (obj.pendingRefreshes.includes(\"receiver\")) pendingRefreshes.push(\"receiver\");\n }\n return {\n version: 1,\n peerUrl: obj.peerUrl.trim(),\n namespace: obj.namespace.trim(),\n lastConvergedAt: typeof obj.lastConvergedAt === \"string\" ? obj.lastConvergedAt : undefined,\n baseFiles,\n semanticAgreements,\n completedPaths,\n pendingRefreshes,\n };\n}\n\nexport async function readConvergeCursor(\n cursorPath: string,\n): Promise<ConvergeCursorState | null> {\n try {\n const raw = await fs.readFile(path.resolve(cursorPath), \"utf-8\");\n const parsed = JSON.parse(raw);\n return normalizeConvergeCursor(parsed);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") return null;\n return null;\n }\n}\n\nexport async function writeConvergeCursor(\n cursorPath: string,\n cursor: ConvergeCursorState,\n): Promise<void> {\n const normalized = normalizeConvergeCursor(cursor);\n const target = path.resolve(cursorPath);\n await fs.mkdir(path.dirname(target), { recursive: true });\n const tmp = path.join(\n path.dirname(target),\n `.converge-cursor.${process.pid}.${randomUUID()}.tmp`,\n );\n await fs.writeFile(tmp, JSON.stringify(normalized, null, 2) + \"\\n\", \"utf-8\");\n try {\n await fs.rename(tmp, target);\n } catch (error) {\n await fs.unlink(tmp).catch(() => {});\n throw error;\n }\n}\n\nexport async function markConvergeRefreshPending(\n cursorPath: string,\n options: {\n peerUrl: string;\n namespace: string;\n target: ConvergeRefreshTarget;\n },\n): Promise<void> {\n const current = await readConvergeCursor(cursorPath);\n const pendingRefreshes = new Set(current?.pendingRefreshes ?? []);\n pendingRefreshes.add(options.target);\n await writeConvergeCursor(cursorPath, {\n version: 1,\n peerUrl: current?.peerUrl ?? options.peerUrl,\n namespace: current?.namespace ?? options.namespace,\n lastConvergedAt: current?.lastConvergedAt,\n baseFiles: current?.baseFiles ?? [],\n semanticAgreements: current?.semanticAgreements ?? [],\n completedPaths: current?.completedPaths ?? [],\n pendingRefreshes: [...pendingRefreshes].sort(),\n });\n}\n\nexport async function clearConvergeRefreshPending(\n cursorPath: string,\n target: ConvergeRefreshTarget,\n): Promise<void> {\n const current = await readConvergeCursor(cursorPath);\n if (!current?.pendingRefreshes?.includes(target)) return;\n await writeConvergeCursor(cursorPath, {\n ...current,\n pendingRefreshes: current.pendingRefreshes.filter((pending) => pending !== target),\n });\n}\n"],"mappings":";;;AAAA,SAAS,YAAY,kBAAkB;AACvC,YAAY,QAAQ;AACpB,YAAY,UAAU;AAuBf,SAAS,yBAAyB,SAAyB;AAChE,QAAM,UAAU,QAAQ,KAAK;AAC7B,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,OAAO;AAC3B,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,SAAS;AACb,QAAI,OAAO;AACX,QAAI,WAAW,IAAI,SAAS,QAAQ,QAAQ,EAAE;AAC9C,WAAO,IAAI,SAAS,EAAE,QAAQ,OAAO,EAAE;AAAA,EACzC,QAAQ;AACN,WAAO,QAAQ,QAAQ,QAAQ,EAAE;AAAA,EACnC;AACF;AAEO,SAAS,kBAAkB,SAAiB,WAA2B;AAC5E,QAAM,gBAAgB,yBAAyB,OAAO;AACtD,QAAM,eAAe,UAAU,KAAK,EAAE,YAAY;AAClD,SAAO,WAAW,QAAQ,EACvB,OAAO,GAAG,aAAa,KAAK,YAAY,EAAE,EAC1C,OAAO,KAAK,EACZ,MAAM,GAAG,EAAE;AAChB;AAEO,SAAS,0BACd,WACA,SACA,WACQ;AACR,QAAM,MAAM,kBAAkB,SAAS,SAAS;AAChD,SAAY,UAAU,aAAQ,SAAS,GAAG,WAAW,SAAS,oBAAoB,GAAG,GAAG,OAAO;AACjG;AAEA,SAAS,2BAA2B,OAA8D;AAChG,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,EAAG,QAAO;AACxE,QAAM,OAAO;AACb,MAAI,OAAO,KAAK,SAAS,YAAY,OAAO,KAAK,WAAW,SAAU,QAAO;AAC7E,SAAO,EAAE,MAAM,KAAK,MAAM,QAAQ,KAAK,OAAO;AAChD;AAEA,SAAS,qBAAqB,OAA+C;AAC3E,MAAI,MAAM,WAAW,OAAQ,QAAO,MAAM;AAC1C,MAAI,MAAM,WAAW,OAAQ,QAAO,MAAM;AAC1C,MAAI,MAAM,WAAW,YAAY;AAC/B,QAAI,MAAM,eAAe,aAAc,QAAO,MAAM;AACpD,QAAI,MAAM,eAAe,YAAa,QAAO,MAAM;AACnD,WAAO;AAAA,EACT;AACA,MAAI,MAAM,WAAW,YAAa,QAAO;AACzC,MAAI,MAAM,eAAe,MAAM,cAAc,MAAM,gBAAgB,MAAM,WAAY,QAAO;AAC5F,SAAO,MAAM,eAAe,MAAM;AACpC;AAEA,SAAS,qBAAqB,WAA+C;AAC3E,SAAO,GAAG,UAAU,MAAM,IAAI,KAAK,UAAU,KAAK,IAAI;AACxD;AAEO,SAAS,yBACd,SACA,WACA,0BAAiE,CAAC,GACH;AAC/D,QAAM,YAAuC,CAAC;AAC9C,QAAM,+BAA+B,IAAI;AAAA,IACvC,wBAAwB,IAAI,CAAC,cAAc,CAAC,qBAAqB,SAAS,GAAG,SAAS,CAAC;AAAA,EACzF;AACA,aAAW,SAAS,SAAS;AAC3B,QAAI,MAAM,cAAc,UAAW;AACnC,QAAI,MAAM,mBAAmB;AAC3B,mCAA6B,IAAI,qBAAqB,MAAM,iBAAiB,GAAG,MAAM,iBAAiB;AACvG;AAAA,IACF;AACA,UAAM,SAAS,qBAAqB,KAAK;AACzC,QAAI,OAAQ,WAAU,KAAK,EAAE,MAAM,MAAM,MAAM,OAAO,CAAC;AAAA,EACzD;AACA,YAAU,KAAK,CAAC,MAAM,UAAU,KAAK,KAAK,cAAc,MAAM,IAAI,CAAC;AACnE,QAAM,qBAAqB,CAAC,GAAG,6BAA6B,OAAO,CAAC;AACpE,qBAAmB;AAAA,IAAK,CAAC,MAAM,UAC7B,KAAK,MAAM,KAAK,cAAc,MAAM,MAAM,IAAI,KAAK,KAAK,KAAK,KAAK,cAAc,MAAM,KAAK,IAAI;AAAA,EACjG;AACA,SAAO,EAAE,WAAW,mBAAmB;AACzC;AAEO,SAAS,wBAAwB,OAAqC;AAC3E,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AAC/D,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AACA,QAAM,MAAM;AACZ,MAAI,IAAI,YAAY,GAAG;AACrB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AACA,MAAI,OAAO,IAAI,YAAY,YAAY,CAAC,IAAI,QAAQ,KAAK,GAAG;AAC1D,UAAM,IAAI,MAAM,iCAAiC;AAAA,EACnD;AACA,MAAI,OAAO,IAAI,cAAc,YAAY,CAAC,IAAI,UAAU,KAAK,GAAG;AAC9D,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AACA,QAAM,YAAuC,CAAC;AAC9C,MAAI,MAAM,QAAQ,IAAI,SAAS,GAAG;AAChC,eAAW,QAAQ,IAAI,WAAW;AAChC,UAAI,QAAQ,OAAO,SAAS,UAAU;AACpC,cAAM,WAAW;AACjB,YAAI,OAAO,SAAS,SAAS,YAAY,OAAO,SAAS,WAAW,UAAU;AAC5E,oBAAU,KAAK;AAAA,YACb,MAAM,SAAS;AAAA,YACf,QAAQ,SAAS;AAAA,YACjB,SAAS,OAAO,SAAS,YAAY,WAAW,SAAS,UAAU;AAAA,YACnE,OAAO,OAAO,SAAS,UAAU,WAAW,SAAS,QAAQ;AAAA,UAC/D,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,qBAAmD,CAAC;AAC1D,MAAI,MAAM,QAAQ,IAAI,kBAAkB,GAAG;AACzC,eAAW,QAAQ,IAAI,oBAAoB;AACzC,UAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,MAAM,QAAQ,IAAI,EAAG;AAC9D,YAAM,YAAY;AAClB,YAAM,QAAQ,2BAA2B,UAAU,KAAK;AACxD,YAAM,OAAO,2BAA2B,UAAU,IAAI;AACtD,UAAI,SAAS,KAAM,oBAAmB,KAAK,EAAE,OAAO,KAAK,CAAC;AAAA,IAC5D;AAAA,EACF;AACA,QAAM,iBAA2B,CAAC;AAClC,MAAI,MAAM,QAAQ,IAAI,cAAc,GAAG;AACrC,eAAW,QAAQ,IAAI,gBAAgB;AACrC,UAAI,OAAO,SAAS,UAAU;AAC5B,uBAAe,KAAK,IAAI;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AACA,QAAM,mBAA4C,CAAC;AACnD,MAAI,MAAM,QAAQ,IAAI,gBAAgB,GAAG;AACvC,QAAI,IAAI,iBAAiB,SAAS,OAAO,EAAG,kBAAiB,KAAK,OAAO;AACzE,QAAI,IAAI,iBAAiB,SAAS,UAAU,EAAG,kBAAiB,KAAK,UAAU;AAAA,EACjF;AACA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS,IAAI,QAAQ,KAAK;AAAA,IAC1B,WAAW,IAAI,UAAU,KAAK;AAAA,IAC9B,iBAAiB,OAAO,IAAI,oBAAoB,WAAW,IAAI,kBAAkB;AAAA,IACjF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAsB,mBACpB,YACqC;AACrC,MAAI;AACF,UAAM,MAAM,MAAS,YAAc,aAAQ,UAAU,GAAG,OAAO;AAC/D,UAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,WAAO,wBAAwB,MAAM;AAAA,EACvC,SAAS,OAAO;AACd,QAAK,MAAgC,SAAS,SAAU,QAAO;AAC/D,WAAO;AAAA,EACT;AACF;AAEA,eAAsB,oBACpB,YACA,QACe;AACf,QAAM,aAAa,wBAAwB,MAAM;AACjD,QAAM,SAAc,aAAQ,UAAU;AACtC,QAAS,SAAW,aAAQ,MAAM,GAAG,EAAE,WAAW,KAAK,CAAC;AACxD,QAAM,MAAW;AAAA,IACV,aAAQ,MAAM;AAAA,IACnB,oBAAoB,QAAQ,GAAG,IAAI,WAAW,CAAC;AAAA,EACjD;AACA,QAAS,aAAU,KAAK,KAAK,UAAU,YAAY,MAAM,CAAC,IAAI,MAAM,OAAO;AAC3E,MAAI;AACF,UAAS,UAAO,KAAK,MAAM;AAAA,EAC7B,SAAS,OAAO;AACd,UAAS,UAAO,GAAG,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AACnC,UAAM;AAAA,EACR;AACF;AAEA,eAAsB,2BACpB,YACA,SAKe;AACf,QAAM,UAAU,MAAM,mBAAmB,UAAU;AACnD,QAAM,mBAAmB,IAAI,IAAI,SAAS,oBAAoB,CAAC,CAAC;AAChE,mBAAiB,IAAI,QAAQ,MAAM;AACnC,QAAM,oBAAoB,YAAY;AAAA,IACpC,SAAS;AAAA,IACT,SAAS,SAAS,WAAW,QAAQ;AAAA,IACrC,WAAW,SAAS,aAAa,QAAQ;AAAA,IACzC,iBAAiB,SAAS;AAAA,IAC1B,WAAW,SAAS,aAAa,CAAC;AAAA,IAClC,oBAAoB,SAAS,sBAAsB,CAAC;AAAA,IACpD,gBAAgB,SAAS,kBAAkB,CAAC;AAAA,IAC5C,kBAAkB,CAAC,GAAG,gBAAgB,EAAE,KAAK;AAAA,EAC/C,CAAC;AACH;AAEA,eAAsB,4BACpB,YACA,QACe;AACf,QAAM,UAAU,MAAM,mBAAmB,UAAU;AACnD,MAAI,CAAC,SAAS,kBAAkB,SAAS,MAAM,EAAG;AAClD,QAAM,oBAAoB,YAAY;AAAA,IACpC,GAAG;AAAA,IACH,kBAAkB,QAAQ,iBAAiB,OAAO,CAAC,YAAY,YAAY,MAAM;AAAA,EACnF,CAAC;AACH;","names":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { y as MemoryStatus, l as MemoryFrontmatter } from '../types-yX_FwERf.js';
|
|
2
2
|
import { ReconcileFileState, ReconcilePlan, ReconcileSemanticAgreement } from './plan.js';
|
|
3
3
|
import '../message-parts/index.js';
|
|
4
4
|
import '../bounded-jsonl-state.js';
|
|
5
5
|
import '../operator-doctor-types.js';
|
|
6
|
+
import '../external-wiki-config.js';
|
|
6
7
|
import '../types-continuity.js';
|
|
7
8
|
import '../offline-sync.js';
|
|
8
9
|
|
|
@@ -22,12 +23,18 @@ interface ReconcileManifest {
|
|
|
22
23
|
schemaVersion: typeof RECONCILE_MANIFEST_SCHEMA_VERSION;
|
|
23
24
|
files: ReconcileManifestFile[];
|
|
24
25
|
}
|
|
26
|
+
type ReconcileMemoryParser = (raw: string) => {
|
|
27
|
+
frontmatter: MemoryFrontmatter;
|
|
28
|
+
content: string;
|
|
29
|
+
} | null;
|
|
25
30
|
interface BuildReconcileManifestOptions {
|
|
26
31
|
files: Iterable<ReconcileFileState>;
|
|
27
32
|
readFile: (file: ReconcileFileState) => Promise<Buffer | string | null>;
|
|
33
|
+
parseMemory: ReconcileMemoryParser;
|
|
28
34
|
cachedFiles?: Iterable<ReconcileManifestFile>;
|
|
29
35
|
}
|
|
36
|
+
declare function buildReconcileManifestFile(file: ReconcileFileState, readFile: (file: ReconcileFileState) => Promise<Buffer | string | null>, parseMemory: ReconcileMemoryParser): Promise<ReconcileManifestFile>;
|
|
30
37
|
declare function buildReconcileManifest(options: BuildReconcileManifestOptions): Promise<ReconcileManifest>;
|
|
31
38
|
declare function collapseActiveFactDuplicates(plan: ReconcilePlan, localManifests: ReadonlyMap<string, ReconcileManifest>, peerManifests: ReadonlyMap<string, ReconcileManifest>, priorSemanticAgreements?: ReadonlyMap<string, readonly ReconcileSemanticAgreement[]>): ReconcilePlan;
|
|
32
39
|
|
|
33
|
-
export { type BuildReconcileManifestOptions, RECONCILE_MANIFEST_FORMAT, RECONCILE_MANIFEST_SCHEMA_VERSION, type ReconcileManifest, type ReconcileManifestFile, type ReconcileMemoryIdentity, buildReconcileManifest, collapseActiveFactDuplicates };
|
|
40
|
+
export { type BuildReconcileManifestOptions, RECONCILE_MANIFEST_FORMAT, RECONCILE_MANIFEST_SCHEMA_VERSION, type ReconcileManifest, type ReconcileManifestFile, type ReconcileMemoryIdentity, type ReconcileMemoryParser, buildReconcileManifest, buildReconcileManifestFile, collapseActiveFactDuplicates };
|