@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Q5XKKDFQ.js";
|
|
4
4
|
import {
|
|
5
5
|
composeMemoryEnvelope
|
|
6
6
|
} from "./chunk-LCU5R6TQ.js";
|
|
@@ -546,4 +546,4 @@ export {
|
|
|
546
546
|
setSemanticRulePromotionTestHooks,
|
|
547
547
|
promoteSemanticRuleFromMemory
|
|
548
548
|
};
|
|
549
|
-
//# sourceMappingURL=chunk-
|
|
549
|
+
//# sourceMappingURL=chunk-BRHKW7GY.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-765K3SAT.js";
|
|
4
4
|
import {
|
|
5
5
|
encryptCapsuleFile
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DQEMWVMT.js";
|
|
7
7
|
import {
|
|
8
8
|
computeTransferOutputRel,
|
|
9
9
|
isTransferPathExcluded
|
|
@@ -109,4 +109,4 @@ async function enforceRetention(outDirAbs, retentionDays) {
|
|
|
109
109
|
export {
|
|
110
110
|
backupMemoryDir
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-BXLOS5AJ.js.map
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
} from "./chunk-666A3MOW.js";
|
|
10
10
|
import {
|
|
11
11
|
rebuildMemoryLifecycleLedger
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q6OL23WM.js";
|
|
13
13
|
import {
|
|
14
14
|
planNamespaceMaintenance,
|
|
15
15
|
runNamespaceMaintenanceBatchPlan
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-QQYHYW2N.js";
|
|
17
17
|
import {
|
|
18
18
|
rebuildMemoryProjection
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6UKSOXAO.js";
|
|
20
20
|
import {
|
|
21
21
|
activityDayWindow,
|
|
22
22
|
activityDigestPath,
|
|
@@ -1719,4 +1719,4 @@ export {
|
|
|
1719
1719
|
ActivitySyncScheduler,
|
|
1720
1720
|
MaintenanceScheduler
|
|
1721
1721
|
};
|
|
1722
|
-
//# sourceMappingURL=chunk-
|
|
1722
|
+
//# sourceMappingURL=chunk-CBY54QYW.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VDX2J7OX.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
14
14
|
OFFLINE_SYNC_MAX_MTIME_MS
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FZEEWOI2.js";
|
|
16
16
|
import {
|
|
17
17
|
validateArchiveRelativePath
|
|
18
18
|
} from "./chunk-GCGJW34D.js";
|
|
@@ -475,4 +475,4 @@ export {
|
|
|
475
475
|
actionConfidenceRequestSchema,
|
|
476
476
|
validateRequest
|
|
477
477
|
};
|
|
478
|
-
//# sourceMappingURL=chunk-
|
|
478
|
+
//# sourceMappingURL=chunk-DGUVXXAU.js.map
|
|
@@ -28,10 +28,10 @@ import {
|
|
|
28
28
|
defineOperation,
|
|
29
29
|
parseNamespacePreflightWriteOp,
|
|
30
30
|
resolveAuthorizedNamespaceWritablePreflight
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-BPQ7L27U.js";
|
|
32
32
|
import {
|
|
33
33
|
validateBriefingFormat
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-YTXNDEUS.js";
|
|
35
35
|
import {
|
|
36
36
|
enforceNamespaceAllowList,
|
|
37
37
|
tokenCapabilityStore
|
|
@@ -494,4 +494,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
494
494
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
495
495
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
496
496
|
defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
497
|
-
//# sourceMappingURL=chunk-
|
|
497
|
+
//# sourceMappingURL=chunk-EDZNW3HE.js.map
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TIER_1_LANGUAGES
|
|
3
|
+
} from "./chunk-P32IDSHD.js";
|
|
4
|
+
import {
|
|
5
|
+
coerceBool
|
|
6
|
+
} from "./chunk-PQVCH2AE.js";
|
|
7
|
+
|
|
8
|
+
// src/coding/coding-knowledge-config.ts
|
|
9
|
+
var CODING_KNOWLEDGE_DEFAULTS = Object.freeze({
|
|
10
|
+
enabled: false,
|
|
11
|
+
decisionRecords: true,
|
|
12
|
+
architectureCard: true,
|
|
13
|
+
sessionDelta: true,
|
|
14
|
+
architectureCardLlmSummary: false,
|
|
15
|
+
structuralProvider: "none",
|
|
16
|
+
structuralProviderCommand: "",
|
|
17
|
+
codegraphTools: false,
|
|
18
|
+
codegraphDbDir: ""
|
|
19
|
+
// `lsp` is excluded: it is an optional structured sub-config (issue #1917)
|
|
20
|
+
// with no flat boolean/string default; the parser returns `undefined` when
|
|
21
|
+
// absent (LSP off — rule 48 explicit opt-in).
|
|
22
|
+
});
|
|
23
|
+
var VALID_STRUCTURAL_PROVIDERS = ["none", "subprocess", "native"];
|
|
24
|
+
function parseCodingKnowledgeConfig(raw) {
|
|
25
|
+
const record = raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
|
|
26
|
+
const structuralProvider = readStructuralProvider(record.structuralProvider);
|
|
27
|
+
return {
|
|
28
|
+
enabled: readStrictBool(
|
|
29
|
+
record.enabled,
|
|
30
|
+
"enabled",
|
|
31
|
+
/* default */
|
|
32
|
+
false
|
|
33
|
+
),
|
|
34
|
+
decisionRecords: readStrictBool(
|
|
35
|
+
record.decisionRecords,
|
|
36
|
+
"decisionRecords",
|
|
37
|
+
/* default */
|
|
38
|
+
true
|
|
39
|
+
),
|
|
40
|
+
architectureCard: readStrictBool(
|
|
41
|
+
record.architectureCard,
|
|
42
|
+
"architectureCard",
|
|
43
|
+
/* default */
|
|
44
|
+
true
|
|
45
|
+
),
|
|
46
|
+
sessionDelta: readStrictBool(
|
|
47
|
+
record.sessionDelta,
|
|
48
|
+
"sessionDelta",
|
|
49
|
+
/* default */
|
|
50
|
+
true
|
|
51
|
+
),
|
|
52
|
+
architectureCardLlmSummary: readStrictBool(
|
|
53
|
+
record.architectureCardLlmSummary,
|
|
54
|
+
"architectureCardLlmSummary",
|
|
55
|
+
/* default */
|
|
56
|
+
false
|
|
57
|
+
),
|
|
58
|
+
structuralProvider,
|
|
59
|
+
structuralProviderCommand: typeof record.structuralProviderCommand === "string" ? record.structuralProviderCommand.trim() : "",
|
|
60
|
+
codegraphTools: readStrictBool(
|
|
61
|
+
record.codegraphTools,
|
|
62
|
+
"codegraphTools",
|
|
63
|
+
/* default */
|
|
64
|
+
false
|
|
65
|
+
),
|
|
66
|
+
codegraphDbDir: typeof record.codegraphDbDir === "string" ? record.codegraphDbDir.trim() : "",
|
|
67
|
+
// `lsp` is spread conditionally so an absent key stays ABSENT — an own
|
|
68
|
+
// `lsp: undefined` property would change the pinned defaults shape
|
|
69
|
+
// (config.test.ts) and leak a new key into serialized configs.
|
|
70
|
+
...readLspField(record.lsp)
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function isCodingKnowledgeFeatureVisible(config, feature) {
|
|
74
|
+
return config.enabled === true && config[feature] === true;
|
|
75
|
+
}
|
|
76
|
+
function isCodingKnowledgeFeatureEnabled(config, feature, codingContext) {
|
|
77
|
+
return isCodingKnowledgeFeatureVisible(config, feature) && codingContext != null;
|
|
78
|
+
}
|
|
79
|
+
function readLspField(raw) {
|
|
80
|
+
if (raw === void 0 || raw === null) return {};
|
|
81
|
+
if (typeof raw !== "object" || Array.isArray(raw)) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`codingKnowledge.lsp must be an object ({ enabled, servers?, timeoutMs?, maxRequestsPerRun? }); got ${JSON.stringify(raw)}`
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
return { lsp: parseLspConfig(raw) };
|
|
87
|
+
}
|
|
88
|
+
var STRICT_BOOL_ACCEPTED = "true/false/1/0/yes/no/on/off";
|
|
89
|
+
function readStrictBool(value, keyName, defaultValue) {
|
|
90
|
+
if (value === void 0) return defaultValue;
|
|
91
|
+
const coerced = coerceBool(value);
|
|
92
|
+
if (coerced === void 0) {
|
|
93
|
+
throw new Error(
|
|
94
|
+
`codingKnowledge.${keyName} must be a boolean or one of ${STRICT_BOOL_ACCEPTED}; got ${JSON.stringify(value)}.`
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
return coerced;
|
|
98
|
+
}
|
|
99
|
+
function readStructuralProvider(raw) {
|
|
100
|
+
if (raw === void 0) return "none";
|
|
101
|
+
if (typeof raw !== "string") {
|
|
102
|
+
throw new Error(
|
|
103
|
+
`codingKnowledge.structuralProvider must be a string (${VALID_STRUCTURAL_PROVIDERS.join(", ")}); got ${JSON.stringify(raw)}.`
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
if (raw === "none" || raw === "subprocess" || raw === "native") return raw;
|
|
107
|
+
throw new Error(
|
|
108
|
+
`codingKnowledge.structuralProvider must be one of ${VALID_STRUCTURAL_PROVIDERS.join(", ")}; got ${JSON.stringify(raw)}.`
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
function parseLspConfig(raw) {
|
|
112
|
+
const enabled = readStrictBool(raw.enabled, "lsp.enabled", false);
|
|
113
|
+
if (!enabled) return { enabled: false };
|
|
114
|
+
const servers = {};
|
|
115
|
+
if (raw.servers !== void 0 && raw.servers !== null) {
|
|
116
|
+
if (typeof raw.servers !== "object" || Array.isArray(raw.servers)) {
|
|
117
|
+
throw new Error(
|
|
118
|
+
`codingKnowledge.lsp.servers must be an object mapping language ids to { command, args? }; got ${JSON.stringify(raw.servers)}.`
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
for (const [lang, def] of Object.entries(raw.servers)) {
|
|
122
|
+
if (!TIER_1_LANGUAGES.includes(lang)) {
|
|
123
|
+
throw new Error(
|
|
124
|
+
`codingKnowledge.lsp.servers has unknown language key ${JSON.stringify(lang)}; valid keys: ${TIER_1_LANGUAGES.join(", ")}.`
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
if (!def || typeof def !== "object" || Array.isArray(def)) {
|
|
128
|
+
throw new Error(
|
|
129
|
+
`codingKnowledge.lsp.servers.${lang} must be an object ({ command, args? }); got ${JSON.stringify(def)}.`
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
const d = def;
|
|
133
|
+
if (typeof d.command !== "string" || d.command.trim().length === 0) {
|
|
134
|
+
throw new Error(
|
|
135
|
+
`codingKnowledge.lsp.servers.${lang}.command must be a non-empty string; got ${JSON.stringify(d.command)}.`
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
if (d.args !== void 0 && (!Array.isArray(d.args) || !d.args.every((a) => typeof a === "string"))) {
|
|
139
|
+
throw new Error(
|
|
140
|
+
`codingKnowledge.lsp.servers.${lang}.args must be an array of strings; got ${JSON.stringify(d.args)}.`
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
servers[lang] = {
|
|
144
|
+
command: d.command.trim(),
|
|
145
|
+
...Array.isArray(d.args) ? { args: d.args } : {}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const timeoutMs = readPositiveInt(raw.timeoutMs, "lsp.timeoutMs", 3e3, 3e4);
|
|
150
|
+
const maxRequestsPerRun = readPositiveInt(raw.maxRequestsPerRun, "lsp.maxRequestsPerRun", 500, 5e3);
|
|
151
|
+
return { enabled: true, ...Object.keys(servers).length > 0 ? { servers } : {}, timeoutMs, maxRequestsPerRun };
|
|
152
|
+
}
|
|
153
|
+
function readPositiveInt(value, keyName, defaultValue, max) {
|
|
154
|
+
if (value === void 0) return defaultValue;
|
|
155
|
+
const coerced = typeof value === "string" && value.trim().length > 0 ? Number(value) : value;
|
|
156
|
+
if (typeof coerced !== "number" || !Number.isFinite(coerced) || !Number.isInteger(coerced) || coerced < 1 || coerced > max) {
|
|
157
|
+
throw new Error(
|
|
158
|
+
`codingKnowledge.${keyName} must be an integer in [1, ${max}]; got ${JSON.stringify(value)}. To disable LSP resolution set codingKnowledge.lsp.enabled to false.`
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
return coerced;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export {
|
|
165
|
+
parseCodingKnowledgeConfig,
|
|
166
|
+
isCodingKnowledgeFeatureEnabled
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=chunk-FEHIOYML.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/coding/coding-knowledge-config.ts"],"sourcesContent":["/**\n * Track A (issue #1548 PR 1) — parse the `codingKnowledge` config block.\n *\n * Lives in `coding/` (not in `config.ts`) so adding a feature config block\n * does not grow the watchlisted `config.ts` past its ratchet baseline. The\n * function is a pure helper: it reads from the raw `cfg.codingKnowledge`\n * sub-object, applies defaults from `CODING_KNOWLEDGE_DEFAULTS`, validates\n * the structural-provider enum, and returns the populated\n * `CodingKnowledgeConfig`.\n *\n * Parse rules (CLAUDE.md gotcha 36, rule 30, rule 48):\n * - booleans are coerced at the parse boundary so CLI strings like\n * `--config codingKnowledge.enabled=false` arrive as `false`, not truthy.\n * - unknown structural-provider values are rejected listing the valid\n * options (rule 51 — silent defaulting is a contract lie).\n * - `structuralProvider` defaults to `\"none\"` (rule 48 — least-privileged:\n * spawning subprocesses is an explicit operator choice).\n *\n * Env overrides follow the REMNIC_* + ENGRAM_* fallback already used elsewhere\n * in `config.ts` (#1427 family). Each individual switch is `codingKnowledge.*` —\n * the existing `ENGRAM_*` env vars from earlier releases do not pair them up.\n */\n\nimport type { CodingContext, CodingGraphLspConfig, CodingKnowledgeConfig } from \"../types.js\";\nimport { TIER_1_LANGUAGES } from \"./coding-graph-types.js\";\nimport { coerceBool } from \"../connectors/coerce.js\";\n\nexport const CODING_KNOWLEDGE_DEFAULTS = Object.freeze({\n enabled: false,\n decisionRecords: true,\n architectureCard: true,\n sessionDelta: true,\n architectureCardLlmSummary: false,\n structuralProvider: \"none\",\n structuralProviderCommand: \"\",\n codegraphTools: false,\n codegraphDbDir: \"\",\n // `lsp` is excluded: it is an optional structured sub-config (issue #1917)\n // with no flat boolean/string default; the parser returns `undefined` when\n // absent (LSP off — rule 48 explicit opt-in).\n} satisfies Record<Exclude<keyof CodingKnowledgeConfig, \"lsp\">, boolean | string>);\n\nconst VALID_STRUCTURAL_PROVIDERS = [\"none\", \"subprocess\", \"native\"] as const;\ntype StructuralProvider = CodingKnowledgeConfig[\"structuralProvider\"];\n\n/**\n * Parse the `codingKnowledge` sub-object into a fully-populated\n * `CodingKnowledgeConfig`. Returns the documented defaults when the\n * sub-object is missing, null, not an object, or has unknown shape.\n *\n * Throws when an explicit `structuralProvider` value is not one of the\n * declared enum values (rule 51 — listing valid options in the error).\n */\nexport function parseCodingKnowledgeConfig(raw: unknown): CodingKnowledgeConfig {\n const record =\n raw && typeof raw === \"object\" && !Array.isArray(raw)\n ? (raw as Record<string, unknown>)\n : {};\n\n const structuralProvider = readStructuralProvider(record.structuralProvider);\n return {\n enabled: readStrictBool(record.enabled, \"enabled\", /* default */ false),\n decisionRecords: readStrictBool(record.decisionRecords, \"decisionRecords\", /* default */ true),\n architectureCard: readStrictBool(record.architectureCard, \"architectureCard\", /* default */ true),\n sessionDelta: readStrictBool(record.sessionDelta, \"sessionDelta\", /* default */ true),\n architectureCardLlmSummary: readStrictBool(record.architectureCardLlmSummary, \"architectureCardLlmSummary\", /* default */ false),\n structuralProvider,\n structuralProviderCommand:\n typeof record.structuralProviderCommand === \"string\"\n ? record.structuralProviderCommand.trim()\n : \"\",\n codegraphTools: readStrictBool(record.codegraphTools, \"codegraphTools\", /* default */ false),\n codegraphDbDir:\n typeof record.codegraphDbDir === \"string\"\n ? record.codegraphDbDir.trim()\n : \"\",\n // `lsp` is spread conditionally so an absent key stays ABSENT — an own\n // `lsp: undefined` property would change the pinned defaults shape\n // (config.test.ts) and leak a new key into serialized configs.\n ...readLspField(record.lsp),\n };\n}\n\n// ──────────────────────────────────────────────────────────────────────────\n// Shared surface gates (rule 39: ONE predicate pair, identical on every\n// surface — issue #2478 dedupe). Each Track A surface used to carry its own\n// copy of this logic; they all resolve here now. The booleans are already\n// strict-coerced by parseCodingKnowledgeConfig, so `=== true` is safe here.\n// ──────────────────────────────────────────────────────────────────────────\n\n/** Boolean feature switches governed by the master `codingKnowledge.enabled` gate. */\nexport type CodingKnowledgeFeatureFlag = \"decisionRecords\" | \"architectureCard\" | \"sessionDelta\";\n\n/**\n * Config-only visibility gate — used by the MCP constructor to decide\n * whether a coding tool is advertised in `tools/list`. True only when the\n * master gate AND the feature switch are both on.\n */\nexport function isCodingKnowledgeFeatureVisible(\n config: CodingKnowledgeConfig,\n feature: CodingKnowledgeFeatureFlag,\n): boolean {\n return config.enabled === true && config[feature] === true;\n}\n\n/**\n * Full call-time gate: visibility PLUS an attached coding context\n * (project/branch-scoped session). Handlers check this before dispatch.\n */\nexport function isCodingKnowledgeFeatureEnabled(\n config: CodingKnowledgeConfig,\n feature: CodingKnowledgeFeatureFlag,\n codingContext: CodingContext | null | undefined,\n): boolean {\n return isCodingKnowledgeFeatureVisible(config, feature) && codingContext != null;\n}\n\n/**\n * Read the optional `codingKnowledge.lsp` sub-object. Absent → empty\n * spread (no own key). Present-but-malformed (string/number/array) is\n * REJECTED, consistent with `readStrictBool`'s posture — a typo like\n * `\"lsp\": true` must alert the operator, not silently disable Phase B.\n */\nfunction readLspField(raw: unknown): { lsp?: CodingGraphLspConfig } {\n if (raw === undefined || raw === null) return {};\n if (typeof raw !== \"object\" || Array.isArray(raw)) {\n throw new Error(\n `codingKnowledge.lsp must be an object ({ enabled, servers?, timeoutMs?, maxRequestsPerRun? }); got ${JSON.stringify(raw)}`,\n );\n }\n return { lsp: parseLspConfig(raw as Record<string, unknown>) };\n}\n\nconst STRICT_BOOL_ACCEPTED = \"true/false/1/0/yes/no/on/off\";\n\n/**\n * Strict boolean parse for feature-gate config values.\n * - `undefined` falls back to `defaultValue` (the key was simply not\n * supplied).\n * - `true`/`false` (native) and the boolean-like strings listed in\n * `STRICT_BOOL_ACCEPTED` are honored (rule 36 — CLI string parity).\n * - Any other shape, including misspelled strings like `\"flase\"`,\n * numbers outside `{0, 1}`, objects, arrays — is REJECTED with an\n * error listing the valid inputs (rule 51). Silent defaulting on\n * malformed operator input is a contract lie.\n */\nexport function readStrictBool(\n value: unknown,\n keyName: string,\n defaultValue: boolean,\n): boolean {\n if (value === undefined) return defaultValue;\n const coerced = coerceBool(value);\n if (coerced === undefined) {\n throw new Error(\n `codingKnowledge.${keyName} must be a boolean or one of ${STRICT_BOOL_ACCEPTED}; ` +\n `got ${JSON.stringify(value)}.`,\n );\n }\n return coerced;\n}\n\nfunction readStructuralProvider(raw: unknown): StructuralProvider {\n if (raw === undefined) return \"none\";\n if (typeof raw !== \"string\") {\n throw new Error(\n `codingKnowledge.structuralProvider must be a string (` +\n `${VALID_STRUCTURAL_PROVIDERS.join(\", \")}); got ${JSON.stringify(raw)}.`,\n );\n }\n if (raw === \"none\" || raw === \"subprocess\" || raw === \"native\") return raw;\n throw new Error(\n `codingKnowledge.structuralProvider must be one of ` +\n `${VALID_STRUCTURAL_PROVIDERS.join(\", \")}; got ${JSON.stringify(raw)}.`,\n );\n}\n\n/**\n * Parse the `codingKnowledge.lsp` sub-object (issue #1917). Returns\n * `{ enabled: false }` when absent or malformed — LSP is opt-in.\n */\nfunction parseLspConfig(raw: Record<string, unknown>): CodingGraphLspConfig {\n const enabled = readStrictBool(raw.enabled, \"lsp.enabled\", false);\n if (!enabled) return { enabled: false };\n\n // Server overrides are validated STRICTLY (rule 51): a malformed entry\n // or a misspelled language key must not silently fall through to the\n // built-in default server — the operator configured an override for a\n // reason. Keys validate against TIER_1_LANGUAGES (core owns the tier-1\n // list in coding-graph-types.ts, so there is no drift risk).\n const servers: CodingGraphLspConfig[\"servers\"] = {};\n if (raw.servers !== undefined && raw.servers !== null) {\n if (typeof raw.servers !== \"object\" || Array.isArray(raw.servers)) {\n throw new Error(\n `codingKnowledge.lsp.servers must be an object mapping language ids to { command, args? }; got ${JSON.stringify(raw.servers)}.`,\n );\n }\n for (const [lang, def] of Object.entries(raw.servers as Record<string, unknown>)) {\n if (!(TIER_1_LANGUAGES as readonly string[]).includes(lang)) {\n throw new Error(\n `codingKnowledge.lsp.servers has unknown language key ${JSON.stringify(lang)}; valid keys: ${TIER_1_LANGUAGES.join(\", \")}.`,\n );\n }\n if (!def || typeof def !== \"object\" || Array.isArray(def)) {\n throw new Error(\n `codingKnowledge.lsp.servers.${lang} must be an object ({ command, args? }); got ${JSON.stringify(def)}.`,\n );\n }\n const d = def as Record<string, unknown>;\n if (typeof d.command !== \"string\" || d.command.trim().length === 0) {\n throw new Error(\n `codingKnowledge.lsp.servers.${lang}.command must be a non-empty string; got ${JSON.stringify(d.command)}.`,\n );\n }\n if (d.args !== undefined && (!Array.isArray(d.args) || !d.args.every((a) => typeof a === \"string\"))) {\n throw new Error(\n `codingKnowledge.lsp.servers.${lang}.args must be an array of strings; got ${JSON.stringify(d.args)}.`,\n );\n }\n servers[lang] = {\n command: d.command.trim(),\n ...(Array.isArray(d.args) ? { args: d.args as string[] } : {}),\n };\n }\n }\n\n const timeoutMs = readPositiveInt(raw.timeoutMs, \"lsp.timeoutMs\", 3_000, 30_000);\n const maxRequestsPerRun = readPositiveInt(raw.maxRequestsPerRun, \"lsp.maxRequestsPerRun\", 500, 5_000);\n\n return { enabled: true, ...(Object.keys(servers).length > 0 ? { servers } : {}), timeoutMs, maxRequestsPerRun };\n}\n\n/**\n * Strict positive-integer parse for LSP numeric knobs (rule 51 + CLI\n * string parity, pattern 17). `undefined` falls back to the default;\n * strings coerce via Number() (CLI values arrive as strings); anything\n * non-integer, < 1 (0 is NOT a disable value here — set lsp.enabled:false\n * to disable), or > max is REJECTED instead of silently replaced.\n */\nfunction readPositiveInt(value: unknown, keyName: string, defaultValue: number, max: number): number {\n if (value === undefined) return defaultValue;\n const coerced = typeof value === \"string\" && value.trim().length > 0 ? Number(value) : value;\n if (typeof coerced !== \"number\" || !Number.isFinite(coerced) || !Number.isInteger(coerced) || coerced < 1 || coerced > max) {\n throw new Error(\n `codingKnowledge.${keyName} must be an integer in [1, ${max}]; got ${JSON.stringify(value)}. ` +\n `To disable LSP resolution set codingKnowledge.lsp.enabled to false.`,\n );\n }\n return coerced;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -16,6 +16,11 @@ import {
|
|
|
16
16
|
sha256OfflineSyncFile,
|
|
17
17
|
shouldExcludeOfflineSyncFile
|
|
18
18
|
} from "./chunk-LC2BDILZ.js";
|
|
19
|
+
import {
|
|
20
|
+
CENSUS_MAX_MTIME_MS,
|
|
21
|
+
isCensusMtimeMs,
|
|
22
|
+
isSha256Hex
|
|
23
|
+
} from "./chunk-LQWOFU6L.js";
|
|
19
24
|
import {
|
|
20
25
|
parseFlexibleIsoTimestamp
|
|
21
26
|
} from "./chunk-P7FMDTKL.js";
|
|
@@ -43,7 +48,7 @@ var OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES = 64 * 1024 * 1024;
|
|
|
43
48
|
var OFFLINE_SYNC_FILE_CONTENT_TRANSFER_CHUNK_BYTES = 8 * 1024 * 1024;
|
|
44
49
|
var OFFLINE_SYNC_APPLY_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
45
50
|
var OFFLINE_SYNC_SNAPSHOT_BASE_MAX_BODY_BYTES = 64 * 1024 * 1024;
|
|
46
|
-
var OFFLINE_SYNC_MAX_MTIME_MS =
|
|
51
|
+
var OFFLINE_SYNC_MAX_MTIME_MS = CENSUS_MAX_MTIME_MS;
|
|
47
52
|
var SYNC_INTERNAL_DIR = ".offline-sync";
|
|
48
53
|
var OFFLINE_SYNC_UPLOAD_STAGING_MAX_AGE_MS = 24 * 60 * 60 * 1e3;
|
|
49
54
|
var OFFLINE_SYNC_FAST_BASE_MTIME_TOLERANCE_MS = 1e3;
|
|
@@ -105,7 +110,7 @@ function compareByPath(left, right) {
|
|
|
105
110
|
return left.path.localeCompare(right.path);
|
|
106
111
|
}
|
|
107
112
|
function assertSha256(value, field) {
|
|
108
|
-
if (
|
|
113
|
+
if (!isSha256Hex(value)) {
|
|
109
114
|
throw new Error(`${field} must be a 64-character sha256 hex string`);
|
|
110
115
|
}
|
|
111
116
|
return value.toLowerCase();
|
|
@@ -124,7 +129,7 @@ function assertNonNegativeFinite(value, field) {
|
|
|
124
129
|
}
|
|
125
130
|
function assertOfflineSyncMtimeMs(value, field) {
|
|
126
131
|
const mtimeMs = assertNonNegativeFinite(value, field);
|
|
127
|
-
if (mtimeMs
|
|
132
|
+
if (!isCensusMtimeMs(mtimeMs)) {
|
|
128
133
|
throw new Error(`${field} must be within JavaScript Date range`);
|
|
129
134
|
}
|
|
130
135
|
return mtimeMs;
|
|
@@ -1889,4 +1894,4 @@ export {
|
|
|
1889
1894
|
normalizeOfflineSyncState,
|
|
1890
1895
|
fileStatesFromSnapshot
|
|
1891
1896
|
};
|
|
1892
|
-
//# sourceMappingURL=chunk-
|
|
1897
|
+
//# sourceMappingURL=chunk-FZEEWOI2.js.map
|