@remnic/core 9.63.6 → 9.63.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.d.ts +3 -2
- package/dist/access-admin-ops-surface.js +31 -27
- package/dist/access-authorization-probe.d.ts +3 -2
- package/dist/access-authorization-probe.js +32 -28
- package/dist/access-boundary.d.ts +3 -2
- package/dist/access-boundary.js +31 -27
- package/dist/access-cli.js +98 -95
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.d.ts +3 -2
- package/dist/access-extraction-force-flush.js +31 -27
- package/dist/access-http-lcm-compaction.d.ts +3 -2
- package/dist/access-http-lifecycle-flush.d.ts +3 -2
- package/dist/access-http-offline-stream.d.ts +3 -2
- package/dist/access-http-query.js +33 -29
- package/dist/access-http.d.ts +4 -3
- package/dist/access-http.js +47 -43
- package/dist/access-identity-continuity-surface.d.ts +2 -1
- package/dist/access-identity-continuity-surface.js +31 -27
- package/dist/access-lcm-surface.d.ts +3 -2
- package/dist/access-lcm-surface.js +31 -27
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +3 -2
- package/dist/access-mcp.js +38 -34
- package/dist/access-namespace-preflight.js +31 -27
- package/dist/access-observe-write-surface.d.ts +3 -2
- package/dist/access-observe-write-surface.js +31 -27
- package/dist/access-offline-manifest.d.ts +2 -1
- package/dist/access-offline-manifest.js +5 -4
- package/dist/access-operations-batch.js +32 -28
- package/dist/access-operations.d.ts +3 -2
- package/dist/access-operations.js +36 -32
- package/dist/access-recall-concurrency.d.ts +3 -2
- package/dist/access-recall-concurrency.js +31 -27
- package/dist/access-recall-response.d.ts +3 -2
- package/dist/access-recall-response.js +31 -27
- package/dist/access-recall-surface.d.ts +3 -2
- package/dist/access-recall-surface.js +31 -27
- package/dist/access-schema.js +6 -5
- package/dist/{access-service-cKQrte9Z.d.ts → access-service-BaPa_km6.d.ts} +1 -1
- package/dist/access-service-helpers.d.ts +3 -2
- package/dist/access-service.d.ts +3 -2
- package/dist/access-service.js +31 -27
- package/dist/access-surface-catalog.d.ts +3 -2
- package/dist/access-surface-catalog.js +33 -29
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +4 -2
- 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-BKRJDMKX.js → auto-sync-3SHMZVQS.js} +5 -3
- package/dist/{auto-sync-BKRJDMKX.js.map → auto-sync-3SHMZVQS.js.map} +1 -1
- package/dist/bootstrap.d.ts +2 -1
- package/dist/briefing.js +10 -10
- package/dist/calibration.d.ts +2 -1
- package/dist/calibration.js +7 -0
- package/dist/calibration.js.map +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/causal-consolidation.js +11 -11
- package/dist/census-validation.d.ts +19 -0
- package/dist/census-validation.js +14 -0
- package/dist/census-validation.js.map +1 -0
- package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
- package/dist/chunk-2YA5N2BY.js +65 -0
- package/dist/chunk-2YA5N2BY.js.map +1 -0
- package/dist/{chunk-PB4WVYGC.js → chunk-3IMYRX3W.js} +2 -2
- package/dist/{chunk-R6UMNP5C.js → chunk-3T6HIIKA.js} +2 -2
- package/dist/{chunk-77QZW2D6.js → chunk-3TDAA7VA.js} +2 -2
- package/dist/{chunk-TWTUGCTY.js → chunk-3YTTAGPB.js} +6 -1
- package/dist/chunk-3YTTAGPB.js.map +1 -0
- package/dist/{chunk-DXDAQZ2K.js → chunk-42TIIO2M.js} +2 -2
- package/dist/{chunk-Y7COCXY2.js → chunk-4F67JJPG.js} +2 -2
- package/dist/{chunk-OW7NVMGQ.js → chunk-5OOTHWGJ.js} +2 -2
- package/dist/{chunk-KYTRF64R.js → chunk-5SCFDQEJ.js} +2 -2
- package/dist/{chunk-DYZR3Z6D.js → chunk-5TF5STAV.js} +4 -4
- package/dist/{chunk-GG4DN63W.js → chunk-62Y5AGCM.js} +2 -2
- package/dist/{chunk-PMVPCZJZ.js → chunk-6433HV72.js} +2 -2
- package/dist/{chunk-KHCUVYCY.js → chunk-6UKSOXAO.js} +3 -3
- package/dist/{chunk-GF7RQWXC.js → chunk-AJRJDXYR.js} +2 -2
- package/dist/{chunk-YEQCMA5L.js → chunk-BOSIHHOH.js} +2 -2
- package/dist/{chunk-IVXVLDNT.js → chunk-BPQ7L27U.js} +77 -92
- package/dist/chunk-BPQ7L27U.js.map +1 -0
- package/dist/{chunk-7LF2OHIJ.js → chunk-BRHKW7GY.js} +2 -2
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-LX4TNSAE.js → chunk-CBY54QYW.js} +4 -4
- package/dist/{chunk-CIAI24TQ.js → chunk-DGUVXXAU.js} +3 -3
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-QI5RDDEL.js → chunk-EDZNW3HE.js} +3 -3
- package/dist/chunk-FEHIOYML.js +168 -0
- package/dist/chunk-FEHIOYML.js.map +1 -0
- package/dist/{chunk-Z4N7SVVF.js → chunk-FZEEWOI2.js} +9 -4
- package/dist/chunk-FZEEWOI2.js.map +1 -0
- package/dist/{chunk-6YMEU6OQ.js → chunk-G72IPMR7.js} +2 -2
- package/dist/{chunk-7AF243WZ.js → chunk-GBVRVYF4.js} +1 -1
- package/dist/{chunk-FPEZ74F7.js → chunk-I2HTKOOP.js} +3 -3
- package/dist/{chunk-R7TZ2HCS.js → chunk-JG22O53B.js} +58 -3
- package/dist/chunk-JG22O53B.js.map +1 -0
- package/dist/{chunk-VPHSMJ2E.js → chunk-JPWSYHLB.js} +2 -2
- package/dist/{chunk-X7LEDA74.js → chunk-KFB4YNXM.js} +2 -2
- package/dist/{chunk-I5FLIB2J.js → chunk-KXWE62IH.js} +2 -2
- package/dist/chunk-LQWOFU6L.js +17 -0
- package/dist/chunk-LQWOFU6L.js.map +1 -0
- package/dist/{chunk-TSTI6A3A.js → chunk-LTYH2L6E.js} +13 -13
- package/dist/{chunk-ZUPKNWRZ.js → chunk-MIUL6AUZ.js} +3 -3
- package/dist/{chunk-EJY3HJMT.js → chunk-MYI3RKI6.js} +2 -2
- package/dist/{chunk-UCLMKNHA.js → chunk-N7V3P4V5.js} +2 -2
- package/dist/{chunk-NA56NSKL.js → chunk-O52TB5SL.js} +2 -2
- package/dist/{chunk-7KQB4EBS.js → chunk-OPPBTPUU.js} +4 -4
- package/dist/{chunk-ERPBRXVZ.js → chunk-PHKU6BZ2.js} +2 -2
- package/dist/{chunk-GTD4Q62X.js → chunk-PQHNZ63P.js} +4 -4
- package/dist/{chunk-FHKXVTM5.js → chunk-Q5XKKDFQ.js} +16 -16
- package/dist/{chunk-QRWMS6SI.js → chunk-Q6OL23WM.js} +2 -2
- package/dist/{chunk-V3KIRICY.js → chunk-QQYHYW2N.js} +3 -3
- package/dist/{chunk-YFCEBB5P.js → chunk-QTXNS3HB.js} +2 -2
- package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
- package/dist/{chunk-E4KMY4KR.js → chunk-SNEUAZ6B.js} +2 -2
- package/dist/{chunk-F6JYBVL6.js → chunk-SY5JUJ2X.js} +52 -52
- package/dist/{chunk-EFKZT6AY.js → chunk-T42L3S6A.js} +6 -11
- package/dist/chunk-T42L3S6A.js.map +1 -0
- package/dist/{chunk-YXMHUBN2.js → chunk-TOP3FSDW.js} +25 -102
- package/dist/chunk-TOP3FSDW.js.map +1 -0
- package/dist/{chunk-PBRCYYO7.js → chunk-ULZFZL7K.js} +2 -2
- package/dist/{chunk-YYQAKIDJ.js → chunk-VD2OT77P.js} +2 -2
- package/dist/chunk-VD2OT77P.js.map +1 -0
- package/dist/{chunk-IPLYGWQF.js → chunk-VDX2J7OX.js} +6 -6
- package/dist/{chunk-UGHCZS6K.js → chunk-VFZQXYN5.js} +2 -2
- package/dist/{chunk-NKB43PGI.js → chunk-VYMICVRA.js} +2 -2
- package/dist/{chunk-OETHJBAL.js → chunk-WBPD6SBZ.js} +109 -116
- package/dist/chunk-WBPD6SBZ.js.map +1 -0
- package/dist/{chunk-2UM6WHME.js → chunk-XE2QCCT2.js} +2 -2
- package/dist/{chunk-SYVGVK4S.js → chunk-XTMYB2HY.js} +2 -2
- package/dist/{chunk-AYVCKGA6.js → chunk-YTXNDEUS.js} +2 -2
- package/dist/{chunk-3Z5TGRFA.js → chunk-ZOAAY2OE.js} +9 -9
- package/dist/{chunk-L3CHRBHE.js → chunk-ZRUEP4IK.js} +17 -11
- package/dist/chunk-ZRUEP4IK.js.map +1 -0
- package/dist/{chunk-PRDJMOST.js → chunk-ZVZHG7AI.js} +65 -15
- package/dist/chunk-ZVZHG7AI.js.map +1 -0
- package/dist/{chunk-RYST72N5.js → chunk-ZWYXSF2T.js} +4 -154
- package/dist/chunk-ZWYXSF2T.js.map +1 -0
- package/dist/{cli-BFBDYV0D.d.ts → cli-D0tV7eeU.d.ts} +2 -2
- package/dist/cli.d.ts +4 -3
- package/dist/cli.js +69 -65
- package/dist/compounding/engine.js +10 -10
- package/dist/config.js +4 -2
- package/dist/connectors/codex-materialize-runner.js +10 -10
- package/dist/connectors/index.js +10 -10
- package/dist/consolidation-provenance-check.js +2 -2
- package/dist/convergence-refresh.js +12 -12
- package/dist/conversation-index/backend.js +2 -2
- package/dist/corpus-watermark.js +12 -12
- package/dist/entity-retrieval.js +10 -10
- package/dist/explicit-capture.d.ts +2 -1
- package/dist/external-wiki-access.d.ts +3 -2
- package/dist/external-wiki-access.js +32 -28
- package/dist/external-wiki-mcp-tools.d.ts +3 -2
- package/dist/extraction-judge.d.ts +2 -1
- package/dist/extraction-judge.js +6 -1
- package/dist/extraction-normalization.js +2 -2
- package/dist/extraction-prompt.d.ts +20 -1
- package/dist/extraction-prompt.js +11 -1
- package/dist/extraction.js +13 -13
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/included-memories.d.ts +11 -0
- package/dist/included-memories.js +14 -0
- package/dist/included-memories.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +117 -114
- package/dist/lcm/index.js +3 -3
- package/dist/maintenance/memory-governance.js +10 -10
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
- package/dist/maintenance/rebuild-memory-projection.js +11 -11
- package/dist/mcp-memory-inspector-app.d.ts +3 -2
- package/dist/namespaces/migrate.js +11 -11
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.js +10 -10
- package/dist/offline-sync.js +2 -1
- package/dist/operator-doctor-corpus.js +13 -13
- package/dist/operator-toolkit.js +23 -21
- package/dist/orchestration/maintenance.js +16 -16
- package/dist/{orchestrator-CSc9GfQv.d.ts → orchestrator-Bay_AofR.d.ts} +2 -3
- package/dist/orchestrator.d.ts +2 -1
- package/dist/orchestrator.js +100 -97
- package/dist/{public-http-8PcrDIYi.d.ts → public-http-BtjiyKah.d.ts} +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -0
- package/dist/recall-state.d.ts +6 -2
- package/dist/recall-state.js +6 -2
- package/dist/reconcile/cursor.js +7 -3
- package/dist/reconcile/cursor.js.map +1 -1
- package/dist/reconcile/manifest.js +3 -7
- package/dist/reconcile/plan.d.ts +15 -1
- package/dist/reconcile/plan.js +6 -10
- package/dist/resume-bundles.js +5 -3
- package/dist/search/factory.js +3 -3
- package/dist/search/index.js +3 -3
- package/dist/semantic-consolidation.js +16 -16
- package/dist/semantic-rule-promotion.js +10 -10
- package/dist/semantic-rule-verifier.js +10 -10
- package/dist/source-agent-qualifier.js +10 -10
- package/dist/storage.js +9 -9
- package/dist/support-passport/index.d.ts +6 -5
- package/dist/support-passport/index.js +34 -30
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +3 -3
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/verified-recall.js +10 -10
- package/package.json +2 -2
- package/src/access-mcp-output-schemas.ts +1 -1
- package/src/access-recall-response.ts +4 -2
- package/src/access-recall-surface.ts +9 -9
- package/src/access-service-namespace.test.ts +9 -9
- package/src/access-service-raw-excerpt-read-gate.test.ts +1 -1
- package/src/calibration.ts +3 -1
- package/src/census-validation.ts +25 -0
- package/src/coding/architecture-surfaces.test.ts +9 -10
- package/src/coding/architecture-surfaces.ts +2 -35
- package/src/coding/codegraph-runtime-loader.test.ts +228 -0
- package/src/coding/codegraph-runtime.ts +30 -50
- package/src/coding/codegraph-surfaces.ts +2 -2
- package/src/coding/coding-knowledge-config.ts +35 -1
- package/src/coding/decision-surfaces.test.ts +9 -10
- package/src/coding/decision-surfaces.ts +2 -40
- package/src/coding/session-delta-surfaces.test.ts +9 -10
- package/src/coding/session-delta-surfaces.ts +2 -33
- package/src/extraction-judge.ts +3 -1
- package/src/extraction-output-language.test.ts +116 -0
- package/src/extraction-prompt.ts +70 -1
- package/src/extraction.ts +23 -95
- package/src/included-memories.ts +88 -0
- package/src/offline-sync.ts +4 -4
- package/src/orchestration/recall-internal-deps.ts +2 -4
- package/src/orchestration/recall-internal.ts +9 -13
- package/src/orchestration/recall-result-formatter-display-safe.test.ts +13 -16
- package/src/orchestration/recall-result-formatter.ts +32 -45
- package/src/orchestration/recall-section-coordinator.ts +20 -26
- package/src/orchestrator.ts +2 -4
- package/src/recall-explain-renderer.test.ts +4 -0
- package/src/recall-state.test.ts +108 -5
- package/src/recall-state.ts +85 -23
- package/src/recall-token-budget.test.ts +1 -1
- package/src/reconcile/census-parity.test.ts +152 -0
- package/src/reconcile/cursor.ts +5 -5
- package/src/reconcile/manifest.ts +4 -11
- package/src/reconcile/plan.ts +18 -15
- package/dist/chunk-EFKZT6AY.js.map +0 -1
- package/dist/chunk-IVXVLDNT.js.map +0 -1
- package/dist/chunk-L3CHRBHE.js.map +0 -1
- package/dist/chunk-OETHJBAL.js.map +0 -1
- package/dist/chunk-PRDJMOST.js.map +0 -1
- package/dist/chunk-R7TZ2HCS.js.map +0 -1
- package/dist/chunk-RYST72N5.js.map +0 -1
- package/dist/chunk-TWTUGCTY.js.map +0 -1
- package/dist/chunk-YXMHUBN2.js.map +0 -1
- package/dist/chunk-YYQAKIDJ.js.map +0 -1
- package/dist/chunk-Z4N7SVVF.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
- /package/dist/{chunk-PB4WVYGC.js.map → chunk-3IMYRX3W.js.map} +0 -0
- /package/dist/{chunk-R6UMNP5C.js.map → chunk-3T6HIIKA.js.map} +0 -0
- /package/dist/{chunk-77QZW2D6.js.map → chunk-3TDAA7VA.js.map} +0 -0
- /package/dist/{chunk-DXDAQZ2K.js.map → chunk-42TIIO2M.js.map} +0 -0
- /package/dist/{chunk-Y7COCXY2.js.map → chunk-4F67JJPG.js.map} +0 -0
- /package/dist/{chunk-OW7NVMGQ.js.map → chunk-5OOTHWGJ.js.map} +0 -0
- /package/dist/{chunk-KYTRF64R.js.map → chunk-5SCFDQEJ.js.map} +0 -0
- /package/dist/{chunk-DYZR3Z6D.js.map → chunk-5TF5STAV.js.map} +0 -0
- /package/dist/{chunk-GG4DN63W.js.map → chunk-62Y5AGCM.js.map} +0 -0
- /package/dist/{chunk-PMVPCZJZ.js.map → chunk-6433HV72.js.map} +0 -0
- /package/dist/{chunk-KHCUVYCY.js.map → chunk-6UKSOXAO.js.map} +0 -0
- /package/dist/{chunk-GF7RQWXC.js.map → chunk-AJRJDXYR.js.map} +0 -0
- /package/dist/{chunk-YEQCMA5L.js.map → chunk-BOSIHHOH.js.map} +0 -0
- /package/dist/{chunk-7LF2OHIJ.js.map → chunk-BRHKW7GY.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-LX4TNSAE.js.map → chunk-CBY54QYW.js.map} +0 -0
- /package/dist/{chunk-CIAI24TQ.js.map → chunk-DGUVXXAU.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-QI5RDDEL.js.map → chunk-EDZNW3HE.js.map} +0 -0
- /package/dist/{chunk-6YMEU6OQ.js.map → chunk-G72IPMR7.js.map} +0 -0
- /package/dist/{chunk-7AF243WZ.js.map → chunk-GBVRVYF4.js.map} +0 -0
- /package/dist/{chunk-FPEZ74F7.js.map → chunk-I2HTKOOP.js.map} +0 -0
- /package/dist/{chunk-VPHSMJ2E.js.map → chunk-JPWSYHLB.js.map} +0 -0
- /package/dist/{chunk-X7LEDA74.js.map → chunk-KFB4YNXM.js.map} +0 -0
- /package/dist/{chunk-I5FLIB2J.js.map → chunk-KXWE62IH.js.map} +0 -0
- /package/dist/{chunk-TSTI6A3A.js.map → chunk-LTYH2L6E.js.map} +0 -0
- /package/dist/{chunk-ZUPKNWRZ.js.map → chunk-MIUL6AUZ.js.map} +0 -0
- /package/dist/{chunk-EJY3HJMT.js.map → chunk-MYI3RKI6.js.map} +0 -0
- /package/dist/{chunk-UCLMKNHA.js.map → chunk-N7V3P4V5.js.map} +0 -0
- /package/dist/{chunk-NA56NSKL.js.map → chunk-O52TB5SL.js.map} +0 -0
- /package/dist/{chunk-7KQB4EBS.js.map → chunk-OPPBTPUU.js.map} +0 -0
- /package/dist/{chunk-ERPBRXVZ.js.map → chunk-PHKU6BZ2.js.map} +0 -0
- /package/dist/{chunk-GTD4Q62X.js.map → chunk-PQHNZ63P.js.map} +0 -0
- /package/dist/{chunk-FHKXVTM5.js.map → chunk-Q5XKKDFQ.js.map} +0 -0
- /package/dist/{chunk-QRWMS6SI.js.map → chunk-Q6OL23WM.js.map} +0 -0
- /package/dist/{chunk-V3KIRICY.js.map → chunk-QQYHYW2N.js.map} +0 -0
- /package/dist/{chunk-YFCEBB5P.js.map → chunk-QTXNS3HB.js.map} +0 -0
- /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
- /package/dist/{chunk-E4KMY4KR.js.map → chunk-SNEUAZ6B.js.map} +0 -0
- /package/dist/{chunk-F6JYBVL6.js.map → chunk-SY5JUJ2X.js.map} +0 -0
- /package/dist/{chunk-PBRCYYO7.js.map → chunk-ULZFZL7K.js.map} +0 -0
- /package/dist/{chunk-IPLYGWQF.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-UGHCZS6K.js.map → chunk-VFZQXYN5.js.map} +0 -0
- /package/dist/{chunk-NKB43PGI.js.map → chunk-VYMICVRA.js.map} +0 -0
- /package/dist/{chunk-2UM6WHME.js.map → chunk-XE2QCCT2.js.map} +0 -0
- /package/dist/{chunk-SYVGVK4S.js.map → chunk-XTMYB2HY.js.map} +0 -0
- /package/dist/{chunk-AYVCKGA6.js.map → chunk-YTXNDEUS.js.map} +0 -0
- /package/dist/{chunk-3Z5TGRFA.js.map → chunk-ZOAAY2OE.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
SUPPORT_PASSPORT_MODEL_RESULT_PATH,
|
|
5
5
|
SupportPassportModelBridge,
|
|
6
6
|
parseSupportPassportModelJob
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-3IMYRX3W.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_SUPPORT_PASSPORT_CONFIG,
|
|
10
10
|
parseSupportPassportConfig
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
buildSupportPassportPublicRequestHandler,
|
|
15
15
|
composeSupportPassportExternalRequestHandlers,
|
|
16
16
|
normalizeSupportPassportNetworkAddress
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-N7V3P4V5.js";
|
|
18
|
+
import "../chunk-VYMICVRA.js";
|
|
19
19
|
import {
|
|
20
20
|
SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
|
|
21
21
|
SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES,
|
|
@@ -56,28 +56,30 @@ import {
|
|
|
56
56
|
notifySupportPassportCommitted,
|
|
57
57
|
resolveSupportPassportModelRoutePlan,
|
|
58
58
|
syncDirectoryForDurability
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-BPQ7L27U.js";
|
|
60
60
|
import "../chunk-GDASG7NC.js";
|
|
61
61
|
import "../chunk-GDB4J2H3.js";
|
|
62
|
-
import "../chunk-
|
|
62
|
+
import "../chunk-6433HV72.js";
|
|
63
63
|
import "../chunk-VQ7B2Q6M.js";
|
|
64
64
|
import "../chunk-PJSK6OJM.js";
|
|
65
|
-
import "../chunk-5QZR2RA3.js";
|
|
66
65
|
import "../chunk-GNVZQ5JN.js";
|
|
67
66
|
import "../chunk-YN2UN7N3.js";
|
|
67
|
+
import "../chunk-5QZR2RA3.js";
|
|
68
68
|
import "../chunk-P5FPO2BR.js";
|
|
69
69
|
import "../chunk-S4DDLTPX.js";
|
|
70
|
+
import "../chunk-ZVZHG7AI.js";
|
|
70
71
|
import "../chunk-H7XKCNR6.js";
|
|
71
72
|
import "../chunk-3F3CVVDS.js";
|
|
72
73
|
import "../chunk-SOBJ6NEY.js";
|
|
73
74
|
import "../chunk-QICOU4RY.js";
|
|
74
|
-
import "../chunk-
|
|
75
|
+
import "../chunk-QTXNS3HB.js";
|
|
75
76
|
import "../chunk-CVILPI77.js";
|
|
77
|
+
import "../chunk-EIR5VLIH.js";
|
|
76
78
|
import "../chunk-2HIJHXB3.js";
|
|
77
79
|
import "../chunk-AQEJKOKI.js";
|
|
78
80
|
import "../chunk-HTP6XRUI.js";
|
|
79
|
-
import "../chunk-EIR5VLIH.js";
|
|
80
81
|
import "../chunk-IISBCCWR.js";
|
|
82
|
+
import "../chunk-2YA5N2BY.js";
|
|
81
83
|
import "../chunk-PD66CVSD.js";
|
|
82
84
|
import "../chunk-LTHVM4XN.js";
|
|
83
85
|
import "../chunk-EI6V5UXY.js";
|
|
@@ -92,10 +94,10 @@ import "../chunk-QDW3E4RD.js";
|
|
|
92
94
|
import "../chunk-NS5ETDYD.js";
|
|
93
95
|
import "../chunk-C37ZRXX7.js";
|
|
94
96
|
import "../chunk-7ZNJN5WZ.js";
|
|
95
|
-
import "../chunk-
|
|
96
|
-
import "../chunk-
|
|
97
|
-
import "../chunk-
|
|
98
|
-
import "../chunk-
|
|
97
|
+
import "../chunk-3TDAA7VA.js";
|
|
98
|
+
import "../chunk-MYI3RKI6.js";
|
|
99
|
+
import "../chunk-MIUL6AUZ.js";
|
|
100
|
+
import "../chunk-5SCFDQEJ.js";
|
|
99
101
|
import "../chunk-UFGFMWAD.js";
|
|
100
102
|
import "../chunk-YMOPYG3K.js";
|
|
101
103
|
import "../chunk-2LSZVONP.js";
|
|
@@ -106,16 +108,16 @@ import "../chunk-CSAKJVXW.js";
|
|
|
106
108
|
import "../chunk-K2XUWZBM.js";
|
|
107
109
|
import "../chunk-OD4FM2U7.js";
|
|
108
110
|
import "../chunk-ZY2MNJR6.js";
|
|
109
|
-
import "../chunk-
|
|
111
|
+
import "../chunk-BOSIHHOH.js";
|
|
110
112
|
import "../chunk-RDFF2NAU.js";
|
|
111
113
|
import "../chunk-GPFZFCRN.js";
|
|
112
|
-
import "../chunk-
|
|
113
|
-
import "../chunk-
|
|
114
|
-
import "../chunk-46WM6JX2.js";
|
|
114
|
+
import "../chunk-YTXNDEUS.js";
|
|
115
|
+
import "../chunk-Q5XKKDFQ.js";
|
|
115
116
|
import "../chunk-UHVXE24Y.js";
|
|
117
|
+
import "../chunk-46WM6JX2.js";
|
|
116
118
|
import "../chunk-SXIMQLGV.js";
|
|
117
|
-
import "../chunk-
|
|
118
|
-
import "../chunk-
|
|
119
|
+
import "../chunk-AJRJDXYR.js";
|
|
120
|
+
import "../chunk-62Y5AGCM.js";
|
|
119
121
|
import "../chunk-OQIRBGUU.js";
|
|
120
122
|
import "../chunk-VANZKHTN.js";
|
|
121
123
|
import "../chunk-CYEPCZN5.js";
|
|
@@ -124,15 +126,15 @@ import "../chunk-VYISFWVX.js";
|
|
|
124
126
|
import "../chunk-W7IGLX4G.js";
|
|
125
127
|
import "../chunk-6KTXE6A3.js";
|
|
126
128
|
import "../chunk-GUMZC2BO.js";
|
|
127
|
-
import "../chunk-
|
|
129
|
+
import "../chunk-227UFSEQ.js";
|
|
130
|
+
import "../chunk-ET356KSB.js";
|
|
128
131
|
import "../chunk-72A4L5JJ.js";
|
|
129
132
|
import "../chunk-A7Q43EUZ.js";
|
|
130
|
-
import "../chunk-ET356KSB.js";
|
|
131
133
|
import "../chunk-S2V7RUCL.js";
|
|
132
134
|
import "../chunk-AR253JBM.js";
|
|
135
|
+
import "../chunk-SCU65EZI.js";
|
|
133
136
|
import "../chunk-PO7NXBG2.js";
|
|
134
137
|
import "../chunk-S2HLHAZ4.js";
|
|
135
|
-
import "../chunk-SCU65EZI.js";
|
|
136
138
|
import "../chunk-DM2T26WE.js";
|
|
137
139
|
import "../chunk-LDXUBPMO.js";
|
|
138
140
|
import "../chunk-UG6VXIOK.js";
|
|
@@ -140,16 +142,16 @@ import "../chunk-AAD2ZS6P.js";
|
|
|
140
142
|
import "../chunk-MUJ4QFUQ.js";
|
|
141
143
|
import "../chunk-LCU5R6TQ.js";
|
|
142
144
|
import "../chunk-BT7NVCML.js";
|
|
143
|
-
import "../chunk-YXZG5TVN.js";
|
|
144
145
|
import "../chunk-3ONXXHQO.js";
|
|
146
|
+
import "../chunk-YXZG5TVN.js";
|
|
145
147
|
import "../chunk-5GINB5LC.js";
|
|
146
|
-
import "../chunk-G7D6GZ5J.js";
|
|
147
148
|
import "../chunk-UFKPQBXH.js";
|
|
148
149
|
import "../chunk-XCB6QDL6.js";
|
|
149
150
|
import "../chunk-RBOJCG4T.js";
|
|
150
151
|
import "../chunk-ZVPVTPGI.js";
|
|
151
152
|
import "../chunk-5WITETWU.js";
|
|
152
153
|
import "../chunk-6CIAGZ6X.js";
|
|
154
|
+
import "../chunk-G7D6GZ5J.js";
|
|
153
155
|
import "../chunk-VYEPACWY.js";
|
|
154
156
|
import "../chunk-URS5GSM7.js";
|
|
155
157
|
import "../chunk-ZLQ37WJX.js";
|
|
@@ -164,6 +166,7 @@ import "../chunk-RGMVMVMF.js";
|
|
|
164
166
|
import "../chunk-N7RWREIQ.js";
|
|
165
167
|
import "../chunk-UBCBDJOB.js";
|
|
166
168
|
import "../chunk-TOTT6S2V.js";
|
|
169
|
+
import "../chunk-FEHIOYML.js";
|
|
167
170
|
import "../chunk-P32IDSHD.js";
|
|
168
171
|
import "../chunk-WNIUPHWV.js";
|
|
169
172
|
import "../chunk-IJ6WHMFB.js";
|
|
@@ -180,10 +183,10 @@ import "../chunk-Z7L72ZHL.js";
|
|
|
180
183
|
import "../chunk-4O4TKIXQ.js";
|
|
181
184
|
import "../chunk-TBBDFYXW.js";
|
|
182
185
|
import "../chunk-YCVB7X56.js";
|
|
183
|
-
import "../chunk-
|
|
184
|
-
import "../chunk-J4EB7DNW.js";
|
|
186
|
+
import "../chunk-VDX2J7OX.js";
|
|
185
187
|
import "../chunk-WEHSQBFR.js";
|
|
186
|
-
import "../chunk-
|
|
188
|
+
import "../chunk-DQEMWVMT.js";
|
|
189
|
+
import "../chunk-J4EB7DNW.js";
|
|
187
190
|
import "../chunk-BJMBJZ2Y.js";
|
|
188
191
|
import "../chunk-UKJAGEXH.js";
|
|
189
192
|
import "../chunk-FP2373TW.js";
|
|
@@ -194,9 +197,9 @@ import "../chunk-3QL24R5Y.js";
|
|
|
194
197
|
import "../chunk-SYOIVK7K.js";
|
|
195
198
|
import "../chunk-ZN7SMKAK.js";
|
|
196
199
|
import "../chunk-LNEWDF2A.js";
|
|
197
|
-
import "../chunk-
|
|
198
|
-
import "../chunk-
|
|
199
|
-
import "../chunk-
|
|
200
|
+
import "../chunk-I2HTKOOP.js";
|
|
201
|
+
import "../chunk-T42L3S6A.js";
|
|
202
|
+
import "../chunk-ZRUEP4IK.js";
|
|
200
203
|
import "../chunk-HZNYJN77.js";
|
|
201
204
|
import "../chunk-Q57GOHLF.js";
|
|
202
205
|
import "../chunk-AW4QUFQF.js";
|
|
@@ -245,11 +248,12 @@ import "../chunk-JDSVLVCG.js";
|
|
|
245
248
|
import "../chunk-HBVPYRDW.js";
|
|
246
249
|
import "../chunk-5GKPFL3S.js";
|
|
247
250
|
import "../chunk-JAKIDQB2.js";
|
|
248
|
-
import "../chunk-
|
|
251
|
+
import "../chunk-FZEEWOI2.js";
|
|
249
252
|
import "../chunk-UI3NYK34.js";
|
|
250
253
|
import "../chunk-GCGJW34D.js";
|
|
251
254
|
import "../chunk-AREGMX2J.js";
|
|
252
255
|
import "../chunk-LC2BDILZ.js";
|
|
256
|
+
import "../chunk-LQWOFU6L.js";
|
|
253
257
|
import "../chunk-P7FMDTKL.js";
|
|
254
258
|
import "../chunk-MZWSOLMT.js";
|
|
255
259
|
import "../chunk-MRV7VSQK.js";
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
import "../chunk-2DL3OFLD.js";
|
|
5
5
|
import "../chunk-G4IAEX6D.js";
|
|
6
6
|
import "../chunk-765K3SAT.js";
|
|
7
|
-
import "../chunk-J4EB7DNW.js";
|
|
8
7
|
import "../chunk-WEHSQBFR.js";
|
|
8
|
+
import "../chunk-J4EB7DNW.js";
|
|
9
9
|
import "../chunk-UI3NYK34.js";
|
|
10
10
|
import "../chunk-GCGJW34D.js";
|
|
11
11
|
import "../chunk-PZ5AY32C.js";
|
package/dist/transfer/backup.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
backupMemoryDir
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BXLOS5AJ.js";
|
|
4
4
|
import "../chunk-765K3SAT.js";
|
|
5
|
+
import "../chunk-DQEMWVMT.js";
|
|
5
6
|
import "../chunk-J4EB7DNW.js";
|
|
6
|
-
import "../chunk-X7Y7WX73.js";
|
|
7
7
|
import "../chunk-BJMBJZ2Y.js";
|
|
8
8
|
import "../chunk-UKJAGEXH.js";
|
|
9
9
|
import "../chunk-FP2373TW.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
exportCapsule,
|
|
3
3
|
isValidCapsuleSince
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-J4EB7DNW.js";
|
|
4
|
+
} from "../chunk-VDX2J7OX.js";
|
|
6
5
|
import "../chunk-WEHSQBFR.js";
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-DQEMWVMT.js";
|
|
7
|
+
import "../chunk-J4EB7DNW.js";
|
|
8
8
|
import "../chunk-BJMBJZ2Y.js";
|
|
9
9
|
import "../chunk-UKJAGEXH.js";
|
|
10
10
|
import "../chunk-FP2373TW.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
importCapsule
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-6433HV72.js";
|
|
4
4
|
import "../chunk-UFKPQBXH.js";
|
|
5
5
|
import "../chunk-XCB6QDL6.js";
|
|
6
6
|
import "../chunk-RBOJCG4T.js";
|
|
@@ -10,7 +10,7 @@ import "../chunk-6CIAGZ6X.js";
|
|
|
10
10
|
import "../chunk-C64XATK7.js";
|
|
11
11
|
import "../chunk-42JKGUFJ.js";
|
|
12
12
|
import "../chunk-WEHSQBFR.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-DQEMWVMT.js";
|
|
14
14
|
import "../chunk-BJMBJZ2Y.js";
|
|
15
15
|
import "../chunk-UKJAGEXH.js";
|
|
16
16
|
import "../chunk-FP2373TW.js";
|
package/dist/verified-recall.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XE2QCCT2.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-46WM6JX2.js";
|
|
6
|
+
import "./chunk-Q5XKKDFQ.js";
|
|
8
7
|
import "./chunk-UHVXE24Y.js";
|
|
8
|
+
import "./chunk-46WM6JX2.js";
|
|
9
9
|
import "./chunk-SXIMQLGV.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-AJRJDXYR.js";
|
|
11
|
+
import "./chunk-62Y5AGCM.js";
|
|
12
12
|
import "./chunk-OQIRBGUU.js";
|
|
13
13
|
import "./chunk-VANZKHTN.js";
|
|
14
14
|
import "./chunk-CYEPCZN5.js";
|
|
@@ -17,15 +17,15 @@ import "./chunk-VYISFWVX.js";
|
|
|
17
17
|
import "./chunk-W7IGLX4G.js";
|
|
18
18
|
import "./chunk-6KTXE6A3.js";
|
|
19
19
|
import "./chunk-GUMZC2BO.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-227UFSEQ.js";
|
|
21
|
+
import "./chunk-ET356KSB.js";
|
|
21
22
|
import "./chunk-72A4L5JJ.js";
|
|
22
23
|
import "./chunk-A7Q43EUZ.js";
|
|
23
|
-
import "./chunk-ET356KSB.js";
|
|
24
24
|
import "./chunk-S2V7RUCL.js";
|
|
25
25
|
import "./chunk-AR253JBM.js";
|
|
26
|
+
import "./chunk-SCU65EZI.js";
|
|
26
27
|
import "./chunk-PO7NXBG2.js";
|
|
27
28
|
import "./chunk-S2HLHAZ4.js";
|
|
28
|
-
import "./chunk-SCU65EZI.js";
|
|
29
29
|
import "./chunk-DM2T26WE.js";
|
|
30
30
|
import "./chunk-LDXUBPMO.js";
|
|
31
31
|
import "./chunk-UG6VXIOK.js";
|
|
@@ -33,16 +33,16 @@ import "./chunk-AAD2ZS6P.js";
|
|
|
33
33
|
import "./chunk-MUJ4QFUQ.js";
|
|
34
34
|
import "./chunk-LCU5R6TQ.js";
|
|
35
35
|
import "./chunk-BT7NVCML.js";
|
|
36
|
-
import "./chunk-YXZG5TVN.js";
|
|
37
36
|
import "./chunk-3ONXXHQO.js";
|
|
37
|
+
import "./chunk-YXZG5TVN.js";
|
|
38
38
|
import "./chunk-5GINB5LC.js";
|
|
39
|
-
import "./chunk-G7D6GZ5J.js";
|
|
40
39
|
import "./chunk-UFKPQBXH.js";
|
|
41
40
|
import "./chunk-XCB6QDL6.js";
|
|
42
41
|
import "./chunk-RBOJCG4T.js";
|
|
43
42
|
import "./chunk-ZVPVTPGI.js";
|
|
44
43
|
import "./chunk-5WITETWU.js";
|
|
45
44
|
import "./chunk-6CIAGZ6X.js";
|
|
45
|
+
import "./chunk-G7D6GZ5J.js";
|
|
46
46
|
import "./chunk-VYEPACWY.js";
|
|
47
47
|
import "./chunk-URS5GSM7.js";
|
|
48
48
|
import "./chunk-ZLQ37WJX.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.63.
|
|
3
|
+
"version": "9.63.8",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3156,7 +3156,7 @@
|
|
|
3156
3156
|
"core"
|
|
3157
3157
|
],
|
|
3158
3158
|
"peerDependencies": {
|
|
3159
|
-
"@remnic/coding-graph": "^9.63.
|
|
3159
|
+
"@remnic/coding-graph": "^9.63.8"
|
|
3160
3160
|
},
|
|
3161
3161
|
"peerDependenciesMeta": {
|
|
3162
3162
|
"@remnic/coding-graph": {
|
|
@@ -313,7 +313,7 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
|
|
|
313
313
|
fallbackUsed: T_BOOLEAN,
|
|
314
314
|
sourcesUsed: T_ARRAY,
|
|
315
315
|
latencyMs: T_NUMBER,
|
|
316
|
-
|
|
316
|
+
includedMemories: T_ARRAY,
|
|
317
317
|
message: T_NULLABLE_STRING,
|
|
318
318
|
}),
|
|
319
319
|
memory_intent_debug: objectSchema({
|
|
@@ -15,7 +15,7 @@ import { type BudgetDecision, toBudgetWarning } from "./cross-namespace-budget.j
|
|
|
15
15
|
import { decideDisclosureEscalation } from "./recall-disclosure-escalation.js";
|
|
16
16
|
import { type TagMatchMode, applyTagFilter, normalizeTags, parseTagMatch } from "./recall-tag-filter.js";
|
|
17
17
|
import type { RecallDisclosure, RecallPlanMode } from "./types.js";
|
|
18
|
-
import {
|
|
18
|
+
import { displaySafeRecallSnapshot } from "./orchestration/recall-result-formatter.js";
|
|
19
19
|
import {
|
|
20
20
|
boundRecallContextComposition,
|
|
21
21
|
composeRecallContext,
|
|
@@ -305,7 +305,9 @@ export async function assembleRecallResponse(
|
|
|
305
305
|
fallbackUsed: snapshot?.fallbackUsed ?? false,
|
|
306
306
|
sourcesUsed: snapshot?.sourcesUsed ?? [],
|
|
307
307
|
disclosure,
|
|
308
|
-
budgetsApplied:
|
|
308
|
+
budgetsApplied: snapshot
|
|
309
|
+
? displaySafeRecallSnapshot(snapshot, deps.orchestrator.config.memoryDir).budgetsApplied
|
|
310
|
+
: undefined,
|
|
309
311
|
auditAnomalies,
|
|
310
312
|
budgetWarning: toBudgetWarning(budgetDecision),
|
|
311
313
|
latencyMs: snapshot?.latencyMs ?? (Date.now() - startedAt),
|
|
@@ -26,7 +26,7 @@ import { expandScopeProfileReadNamespaces, resolveScopeProfilePlan } from "./nam
|
|
|
26
26
|
import type { Orchestrator, RecallInvocationOptions } from "./orchestrator.js";
|
|
27
27
|
import { decideDisclosureEscalation } from "./recall-disclosure-escalation.js";
|
|
28
28
|
import { assembleRecallResponse } from "./access-recall-response.js";
|
|
29
|
-
import type
|
|
29
|
+
import { coerceIncludedMemories, type LastRecallSnapshot } from "./recall-state.js";
|
|
30
30
|
import type { RecallContextComposition } from "./recall-context-composition.js";
|
|
31
31
|
import { type TagMatchMode, applyTagFilter, normalizeTags, parseTagMatch } from "./recall-tag-filter.js";
|
|
32
32
|
import { type RecallXraySnapshot, estimateRecallTokens } from "./recall-xray.js";
|
|
@@ -44,7 +44,6 @@ import {
|
|
|
44
44
|
// Canonical copies (access-service.ts still carries private duplicates for
|
|
45
45
|
// its remaining callers; dedupe tracked separately).
|
|
46
46
|
import { qmdCollectionPathParts, qmdResultPathCandidates } from "./orchestration/qmd-result-resolver.js";
|
|
47
|
-
|
|
48
47
|
export interface AccessRecallSurfaceDeps {
|
|
49
48
|
readonly auditAdapter: AccessAuditAdapter | null;
|
|
50
49
|
readonly budget: CrossNamespaceBudget;
|
|
@@ -214,7 +213,10 @@ export class AccessRecallSurface {
|
|
|
214
213
|
rawExcerptsSuppressed?: boolean;
|
|
215
214
|
}): Promise<EngramAccessRecallResponse> {
|
|
216
215
|
const memoryIds = options.snapshot.results.map((result) => result.memoryId);
|
|
217
|
-
const
|
|
216
|
+
const includedMemories = options.snapshot.results.map((result) => ({
|
|
217
|
+
id: result.memoryId,
|
|
218
|
+
path: result.path,
|
|
219
|
+
}));
|
|
218
220
|
const namespace = options.snapshot.namespace
|
|
219
221
|
? this.deps.resolveNamespace(options.snapshot.namespace)
|
|
220
222
|
: this.deps.orchestrator.config.defaultNamespace;
|
|
@@ -243,7 +245,7 @@ export class AccessRecallSurface {
|
|
|
243
245
|
finalContextChars: options.snapshot.budget.used,
|
|
244
246
|
},
|
|
245
247
|
latencyMs: Date.now() - options.startedAt,
|
|
246
|
-
|
|
248
|
+
includedMemories,
|
|
247
249
|
};
|
|
248
250
|
const results = await this.deps.serializeRecallResults(
|
|
249
251
|
snapshotForSerialization,
|
|
@@ -515,12 +517,10 @@ export class AccessRecallSurface {
|
|
|
515
517
|
: null,
|
|
516
518
|
);
|
|
517
519
|
const rawExcerpts = rawExcerptsResult ?? undefined;
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
for (let index = 0; index < (snapshot.resultPaths ?? []).length; index += 1) {
|
|
521
|
-
const memoryPath = snapshot.resultPaths?.[index];
|
|
522
|
-
const memoryNamespace = resultNamespaces[index];
|
|
520
|
+
for (const included of coerceIncludedMemories(snapshot)) {
|
|
521
|
+
const memoryPath = included.path;
|
|
523
522
|
if (!memoryPath) continue;
|
|
523
|
+
const memoryNamespace = included.namespace;
|
|
524
524
|
const seenKey = `${memoryNamespace ?? ""}\0${memoryPath}`;
|
|
525
525
|
if (seen.has(seenKey)) continue;
|
|
526
526
|
const resolved = await readResultPath(memoryPath, memoryNamespace);
|
|
@@ -259,7 +259,7 @@ test("last recall serialization resolves namespace collection-prefixed result pa
|
|
|
259
259
|
queryLen: 4,
|
|
260
260
|
memoryIds: [],
|
|
261
261
|
namespace: "default",
|
|
262
|
-
|
|
262
|
+
includedMemories: [{ id: "", path: `${collection}/archive/facts/2026-06-16/fact-001.md` }],
|
|
263
263
|
},
|
|
264
264
|
"summary",
|
|
265
265
|
);
|
|
@@ -355,7 +355,7 @@ test("last recall serialization does not fall back after namespace collection mi
|
|
|
355
355
|
queryLen: 4,
|
|
356
356
|
memoryIds: [],
|
|
357
357
|
namespace: "default",
|
|
358
|
-
|
|
358
|
+
includedMemories: [{ id: "", path: `${collection}/2026-06-16/fact-001.md` }],
|
|
359
359
|
},
|
|
360
360
|
"summary",
|
|
361
361
|
);
|
|
@@ -428,7 +428,7 @@ test("last recall serialization resolves cold collection paths through snapshot
|
|
|
428
428
|
queryLen: 4,
|
|
429
429
|
memoryIds: [],
|
|
430
430
|
namespace: "default",
|
|
431
|
-
|
|
431
|
+
includedMemories: [{ id: "", path: "test-memory-cold/facts/2026-06-16/fact-001.md" }],
|
|
432
432
|
},
|
|
433
433
|
"summary",
|
|
434
434
|
);
|
|
@@ -503,7 +503,7 @@ test("last recall serialization propagates locked namespace collection errors",
|
|
|
503
503
|
queryLen: 4,
|
|
504
504
|
memoryIds: [],
|
|
505
505
|
namespace: "default",
|
|
506
|
-
|
|
506
|
+
includedMemories: [{ id: "", path: `${collection}/2026-06-16/fact-001.md` }],
|
|
507
507
|
},
|
|
508
508
|
"summary",
|
|
509
509
|
),
|
|
@@ -563,7 +563,7 @@ test("last recall serialization does not treat date paths as collection prefixes
|
|
|
563
563
|
queryLen: 4,
|
|
564
564
|
memoryIds: [],
|
|
565
565
|
namespace: "default",
|
|
566
|
-
|
|
566
|
+
includedMemories: [{ id: "", path: "2026-06-16/fact-001.md" }],
|
|
567
567
|
},
|
|
568
568
|
"summary",
|
|
569
569
|
);
|
|
@@ -632,7 +632,7 @@ test("last recall serialization does not strip invalid collection prefixes", asy
|
|
|
632
632
|
queryLen: 4,
|
|
633
633
|
memoryIds: [],
|
|
634
634
|
namespace: "default",
|
|
635
|
-
|
|
635
|
+
includedMemories: [{ id: "", path: "test-memory--not-a-token/2026-06-16/fact-001.md" }],
|
|
636
636
|
},
|
|
637
637
|
"summary",
|
|
638
638
|
);
|
|
@@ -733,7 +733,7 @@ test("last recall serialization preserves absolute paths from readable namespace
|
|
|
733
733
|
queryLen: 4,
|
|
734
734
|
memoryIds: [],
|
|
735
735
|
namespace: "team",
|
|
736
|
-
|
|
736
|
+
includedMemories: [{ id: "", path: sharedMemoryPath }],
|
|
737
737
|
},
|
|
738
738
|
"summary",
|
|
739
739
|
);
|
|
@@ -817,7 +817,7 @@ test("last recall serialization preserves absolute paths from dynamic namespace
|
|
|
817
817
|
queryLen: 4,
|
|
818
818
|
memoryIds: [],
|
|
819
819
|
namespace: "team",
|
|
820
|
-
|
|
820
|
+
includedMemories: [{ id: "", path: dynamicMemoryPath }],
|
|
821
821
|
},
|
|
822
822
|
"summary",
|
|
823
823
|
);
|
|
@@ -905,7 +905,7 @@ test("last recall serialization rejects traversing collection paths", async () =
|
|
|
905
905
|
queryLen: 4,
|
|
906
906
|
memoryIds: [],
|
|
907
907
|
namespace: "default",
|
|
908
|
-
|
|
908
|
+
includedMemories: [{ id: "", path: `${collection}/../../facts/2026-06-16/fact-001.md` }],
|
|
909
909
|
},
|
|
910
910
|
"summary",
|
|
911
911
|
);
|
package/src/calibration.ts
CHANGED
|
@@ -20,6 +20,7 @@ import type { AgentPersonaModelConfig, GatewayConfig, MemoryFile } from "./types
|
|
|
20
20
|
import { listJsonFiles, readJsonFile } from "./json-store.js";
|
|
21
21
|
import { isRecord } from "./store-contract.js";
|
|
22
22
|
import { log } from "./logger.js";
|
|
23
|
+
import { OUTPUT_LANGUAGE_POLICY } from "./extraction-prompt.js";
|
|
23
24
|
|
|
24
25
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
25
26
|
|
|
@@ -193,7 +194,7 @@ async function readCorrectionsImpl(memoryDir: string): Promise<CorrectionMemory[
|
|
|
193
194
|
|
|
194
195
|
// ─── LLM-Assisted Clustering and Replay ──────────────────────────────────────
|
|
195
196
|
|
|
196
|
-
const CLUSTER_PROMPT = `You are analyzing user corrections to an AI assistant. Each correction represents a moment where the assistant's prediction of what the user wanted was WRONG.
|
|
197
|
+
export const CLUSTER_PROMPT = `You are analyzing user corrections to an AI assistant. Each correction represents a moment where the assistant's prediction of what the user wanted was WRONG.
|
|
197
198
|
|
|
198
199
|
Your job: Group these corrections into clusters where the SAME TYPE of misunderstanding is happening. Then for each cluster, synthesize a CalibrationRule.
|
|
199
200
|
|
|
@@ -205,6 +206,7 @@ A CalibrationRule describes:
|
|
|
205
206
|
- ruleType: One of "model_tendency", "user_expectation", "scope_boundary", "verification_required"
|
|
206
207
|
|
|
207
208
|
Focus on PATTERNS, not individual corrections. A cluster needs at least 2 corrections to be worth a rule.
|
|
209
|
+
${OUTPUT_LANGUAGE_POLICY}
|
|
208
210
|
|
|
209
211
|
Output valid JSON only:
|
|
210
212
|
{
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Census field acceptance shared by offline-sync and the reconcile planner
|
|
3
|
+
* (issue #2477). Both surfaces parse untrusted peer censuses and must accept
|
|
4
|
+
* and reject exactly the same values; when these checks lived as two copies
|
|
5
|
+
* they could drift silently and break convergence. Each surface keeps only a
|
|
6
|
+
* thin wrapper that picks its own error type and message.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/** 64-character sha256 hex, either case; the canonical stored form is lowercase. */
|
|
10
|
+
export const SHA256_HEX_PATTERN = /^[a-f0-9]{64}$/i;
|
|
11
|
+
|
|
12
|
+
/** Largest `mtimeMs` a census may carry: `new Date(ms)` must stay a valid Date. */
|
|
13
|
+
export const CENSUS_MAX_MTIME_MS = 8_640_000_000_000_000;
|
|
14
|
+
|
|
15
|
+
export function isSha256Hex(value: unknown): value is string {
|
|
16
|
+
return typeof value === "string" && SHA256_HEX_PATTERN.test(value);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Fractional values are valid: `fs.stat()` reports sub-millisecond mtimes on
|
|
21
|
+
* common filesystems, so this deliberately does not require an integer.
|
|
22
|
+
*/
|
|
23
|
+
export function isCensusMtimeMs(value: unknown): value is number {
|
|
24
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= CENSUS_MAX_MTIME_MS;
|
|
25
|
+
}
|
|
@@ -22,8 +22,6 @@ import {
|
|
|
22
22
|
ARCHITECTURE_CARD_TAG,
|
|
23
23
|
ARCHITECTURE_CARD_KIND,
|
|
24
24
|
handleCodingArchitecture,
|
|
25
|
-
isArchitectureCardSurfaceEnabled,
|
|
26
|
-
isArchitectureCardSurfaceVisible,
|
|
27
25
|
isArchitectureSubcommand,
|
|
28
26
|
formatArchitectureSubcommands,
|
|
29
27
|
findArchitectureCardMemory,
|
|
@@ -31,6 +29,7 @@ import {
|
|
|
31
29
|
type ArchitectureSurfaceRequest,
|
|
32
30
|
type ArchitectureSurfaceStorage,
|
|
33
31
|
} from "./architecture-surfaces.js";
|
|
32
|
+
import { isCodingKnowledgeFeatureEnabled, isCodingKnowledgeFeatureVisible } from "./coding-knowledge-config.js";
|
|
34
33
|
import { sealedWriteToLegacyArgs } from "../write-envelope.js";
|
|
35
34
|
import type { ArchitectureCardBuildResult } from "./architecture-card.js";
|
|
36
35
|
import type {
|
|
@@ -183,28 +182,28 @@ test("subcommands: formatArchitectureSubcommands lists valid options", () => {
|
|
|
183
182
|
// ──────────────────────────────────────────────────────────────────────────
|
|
184
183
|
|
|
185
184
|
test("gate: surface enabled when config + architectureCard + coding context all true", () => {
|
|
186
|
-
assert.equal(
|
|
185
|
+
assert.equal(isCodingKnowledgeFeatureEnabled(DEFAULT_CONFIG, "architectureCard", CODING_CONTEXT), true);
|
|
187
186
|
});
|
|
188
187
|
|
|
189
188
|
test("gate: surface disabled when master gate off", () => {
|
|
190
189
|
const config: CodingKnowledgeConfig = { ...DEFAULT_CONFIG, enabled: false };
|
|
191
|
-
assert.equal(
|
|
190
|
+
assert.equal(isCodingKnowledgeFeatureEnabled(config, "architectureCard", CODING_CONTEXT), false);
|
|
192
191
|
});
|
|
193
192
|
|
|
194
193
|
test("gate: surface disabled when architectureCard off", () => {
|
|
195
194
|
const config: CodingKnowledgeConfig = { ...DEFAULT_CONFIG, architectureCard: false };
|
|
196
|
-
assert.equal(
|
|
195
|
+
assert.equal(isCodingKnowledgeFeatureEnabled(config, "architectureCard", CODING_CONTEXT), false);
|
|
197
196
|
});
|
|
198
197
|
|
|
199
198
|
test("gate: surface disabled when no coding context", () => {
|
|
200
|
-
assert.equal(
|
|
201
|
-
assert.equal(
|
|
199
|
+
assert.equal(isCodingKnowledgeFeatureEnabled(DEFAULT_CONFIG, "architectureCard", null), false);
|
|
200
|
+
assert.equal(isCodingKnowledgeFeatureEnabled(DEFAULT_CONFIG, "architectureCard", undefined), false);
|
|
202
201
|
});
|
|
203
202
|
|
|
204
203
|
test("gate: visibility (tools/list) matches config-only check", () => {
|
|
205
|
-
assert.equal(
|
|
206
|
-
assert.equal(
|
|
207
|
-
assert.equal(
|
|
204
|
+
assert.equal(isCodingKnowledgeFeatureVisible(DEFAULT_CONFIG, "architectureCard"), true);
|
|
205
|
+
assert.equal(isCodingKnowledgeFeatureVisible({ ...DEFAULT_CONFIG, enabled: false }, "architectureCard"), false);
|
|
206
|
+
assert.equal(isCodingKnowledgeFeatureVisible({ ...DEFAULT_CONFIG, architectureCard: false }, "architectureCard"), false);
|
|
208
207
|
});
|
|
209
208
|
|
|
210
209
|
// ──────────────────────────────────────────────────────────────────────────
|
|
@@ -35,6 +35,7 @@ import { stripAttributesSuffix } from "../structured-attributes.js";
|
|
|
35
35
|
import { ARCHITECTURE_CARD_TRUNCATION_MARKER, type ArchitectureCardBuildResult } from "./architecture-card.js";
|
|
36
36
|
import { log } from "../logger.js";
|
|
37
37
|
import { composeMemoryEnvelope, type SealedMemoryEnvelope } from "../write-envelope.js";
|
|
38
|
+
import { isCodingKnowledgeFeatureEnabled } from "./coding-knowledge-config.js";
|
|
38
39
|
|
|
39
40
|
// ──────────────────────────────────────────────────────────────────────────
|
|
40
41
|
// Subcommands
|
|
@@ -56,40 +57,6 @@ export function formatArchitectureSubcommands(): string {
|
|
|
56
57
|
return ARCHITECTURE_SUBCOMMANDS.join(", ");
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
// ──────────────────────────────────────────────────────────────────────────
|
|
60
|
-
// Gate predicates — rule 39: one predicate, identical on every surface
|
|
61
|
-
// ──────────────────────────────────────────────────────────────────────────
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* The single architecture-card surface gate. Returns `true` only when:
|
|
65
|
-
* 1. `codingKnowledge.enabled` is true,
|
|
66
|
-
* 2. `codingKnowledge.architectureCard` is true,
|
|
67
|
-
* 3. a coding context is attached (so a repo root is available).
|
|
68
|
-
*/
|
|
69
|
-
export function isArchitectureCardSurfaceEnabled(
|
|
70
|
-
config: CodingKnowledgeConfig,
|
|
71
|
-
codingContext: CodingContext | null | undefined,
|
|
72
|
-
): boolean {
|
|
73
|
-
return (
|
|
74
|
-
config.enabled === true &&
|
|
75
|
-
config.architectureCard === true &&
|
|
76
|
-
codingContext !== null &&
|
|
77
|
-
codingContext !== undefined
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Config-only visibility gate — used by the MCP constructor to decide
|
|
83
|
-
* whether to advertise `engram.coding_architecture` in `tools/list`.
|
|
84
|
-
* When this returns `false` the tools array is byte-identical to
|
|
85
|
-
* pre-feature (rule 39).
|
|
86
|
-
*/
|
|
87
|
-
export function isArchitectureCardSurfaceVisible(
|
|
88
|
-
config: CodingKnowledgeConfig,
|
|
89
|
-
): boolean {
|
|
90
|
-
return config.enabled === true && config.architectureCard === true;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
60
|
// ──────────────────────────────────────────────────────────────────────────
|
|
94
61
|
// Surface request / response shapes
|
|
95
62
|
// ──────────────────────────────────────────────────────────────────────────
|
|
@@ -228,7 +195,7 @@ export async function handleCodingArchitecture(
|
|
|
228
195
|
// narrows it to CodingContext here, with no non-null assertion cast.
|
|
229
196
|
if (
|
|
230
197
|
codingContext === null ||
|
|
231
|
-
!
|
|
198
|
+
!isCodingKnowledgeFeatureEnabled(ctx.codingKnowledge, "architectureCard", codingContext)
|
|
232
199
|
) {
|
|
233
200
|
ctx.throwInputError(
|
|
234
201
|
"coding_architecture requires codingKnowledge.enabled, codingKnowledge.architectureCard, and an attached coding context",
|