@remnic/core 9.3.725 → 9.3.727
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-boundary.d.ts +5 -5
- package/dist/access-boundary.js +28 -27
- package/dist/access-cli.js +65 -63
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +20 -5
- package/dist/access-http.js +34 -33
- package/dist/access-mcp.d.ts +5 -5
- package/dist/access-mcp.js +31 -30
- package/dist/access-operations-batch.js +29 -28
- package/dist/access-operations.d.ts +5 -5
- package/dist/access-operations.js +30 -29
- package/dist/{access-service-B2PlPtxh.d.ts → access-service-Bgpjxo4f.d.ts} +36 -4
- package/dist/access-service.d.ts +5 -5
- package/dist/access-service.js +27 -26
- package/dist/access-surface-catalog.d.ts +5 -5
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +3 -3
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +4 -4
- package/dist/briefing.d.ts +1 -1
- package/dist/briefing.js +9 -8
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer.d.ts +1 -1
- package/dist/calibration.d.ts +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{catalog-CzUb-GyD.d.ts → catalog-bMczlO2G.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +10 -9
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-KGZF2VO3.js → chunk-27QQC7ZX.js} +80 -19
- package/dist/{chunk-KGZF2VO3.js.map → chunk-27QQC7ZX.js.map} +1 -1
- package/dist/{chunk-HCVWF657.js → chunk-2KAYTPPT.js} +12 -12
- package/dist/{chunk-4SF232E6.js → chunk-36SEDFAU.js} +19 -7
- package/dist/chunk-36SEDFAU.js.map +1 -0
- package/dist/{chunk-ZK2L72VN.js → chunk-37436GML.js} +2 -2
- package/dist/{chunk-SC2YAWRF.js → chunk-3TSTGI6F.js} +2 -2
- package/dist/{chunk-FACTVMXQ.js → chunk-4H4F3BFL.js} +2 -2
- package/dist/{chunk-WAFDHKES.js → chunk-4NOI577P.js} +2 -2
- package/dist/{chunk-YQMPUYHE.js → chunk-4NR2PDZ5.js} +2 -2
- package/dist/{chunk-TAPSNIMA.js → chunk-5CEJH5ZN.js} +4 -4
- package/dist/{chunk-FN6QP7JQ.js → chunk-6PY5YJAV.js} +100 -14
- package/dist/{chunk-FN6QP7JQ.js.map → chunk-6PY5YJAV.js.map} +1 -1
- package/dist/{chunk-PKMQK2WY.js → chunk-773DPI6T.js} +4 -4
- package/dist/{chunk-4R3CGCI5.js → chunk-7RLCCNHU.js} +15 -12
- package/dist/chunk-7RLCCNHU.js.map +1 -0
- package/dist/{chunk-XGTBNVIU.js → chunk-AAD2ZS6P.js} +11 -1
- package/dist/chunk-AAD2ZS6P.js.map +1 -0
- package/dist/{chunk-Z3FGC3QE.js → chunk-AQLOP5F4.js} +139 -30
- package/dist/chunk-AQLOP5F4.js.map +1 -0
- package/dist/{chunk-FXCIOLRB.js → chunk-ASKXIAHD.js} +2 -2
- package/dist/{chunk-5OPYYPJN.js → chunk-CBWI22JN.js} +2 -2
- package/dist/{chunk-ZOHMPFOB.js → chunk-CKFLLAIS.js} +3 -3
- package/dist/{chunk-GZQXOQQ2.js → chunk-CSRXQ6NB.js} +5 -5
- package/dist/{chunk-QR67FU5G.js → chunk-CTOQEZSN.js} +2 -2
- package/dist/{chunk-ZUDM75KG.js → chunk-DCWIQFNA.js} +4 -4
- package/dist/{chunk-6CWGS2LY.js → chunk-DKJCRGWM.js} +3 -3
- package/dist/{chunk-JJJCVCCQ.js → chunk-DMQWV6SQ.js} +2 -2
- package/dist/{chunk-F3XZN24Z.js → chunk-DRUDC2UX.js} +2 -2
- package/dist/{chunk-4WZ3J7M6.js → chunk-EY6MDMHK.js} +2 -2
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-C4X4QGIO.js → chunk-G6NKALRN.js} +5 -2
- package/dist/chunk-G6NKALRN.js.map +1 -0
- package/dist/{chunk-6SQQOJ4U.js → chunk-GKRLPHPU.js} +2 -2
- package/dist/{chunk-D7EBTQ24.js → chunk-HOHVIVDR.js} +2 -2
- package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
- package/dist/{chunk-UBHVAGO7.js → chunk-JYLFZWUX.js} +2 -2
- package/dist/{chunk-LD53WPMU.js → chunk-LQ6JI4VH.js} +4 -4
- package/dist/chunk-LTHVM4XN.js +109 -0
- package/dist/chunk-LTHVM4XN.js.map +1 -0
- package/dist/{chunk-WM7DNKBD.js → chunk-M4V2JVSZ.js} +2 -2
- package/dist/{chunk-I2HL5M6T.js → chunk-MJIHJ7OG.js} +52 -52
- package/dist/{chunk-J334N6QV.js → chunk-MLKWJOAJ.js} +2 -2
- package/dist/{chunk-C6BWLYW5.js → chunk-N3VNUM4Z.js} +171 -79
- package/dist/chunk-N3VNUM4Z.js.map +1 -0
- package/dist/{chunk-DF3I6JGP.js → chunk-NSA5ZRUL.js} +15 -15
- package/dist/{chunk-VI5SGGXB.js → chunk-OEEW4KJA.js} +4 -4
- package/dist/{chunk-7AG54AF3.js → chunk-PUR2CKX2.js} +1 -1
- package/dist/chunk-PUR2CKX2.js.map +1 -0
- package/dist/{chunk-NT36GU6X.js → chunk-R7IYU5DZ.js} +2 -2
- package/dist/{chunk-TT5U3UDO.js → chunk-SNKPUJHR.js} +4 -4
- package/dist/{chunk-T55EGZSJ.js → chunk-UVPL565C.js} +2 -2
- package/dist/chunk-W5H6ZRPT.js +14 -0
- package/dist/chunk-W5H6ZRPT.js.map +1 -0
- package/dist/{chunk-YQGHW5ML.js → chunk-WRFKZEO6.js} +4 -4
- package/dist/{chunk-KLFYKC3K.js → chunk-XPHVAOBT.js} +195 -74
- package/dist/chunk-XPHVAOBT.js.map +1 -0
- package/dist/{chunk-H7HUQIY7.js → chunk-Y4YD5TYW.js} +3 -3
- package/dist/{chunk-MDBZTH7N.js → chunk-YKBHOBJK.js} +44 -10
- package/dist/chunk-YKBHOBJK.js.map +1 -0
- package/dist/{chunk-YUYPWJD3.js → chunk-YOLZS7NY.js} +2 -2
- package/dist/{chunk-6OIDDKAA.js → chunk-YTU7WKYN.js} +35 -9
- package/dist/chunk-YTU7WKYN.js.map +1 -0
- package/dist/{cli-IOlDHSBT.d.ts → cli-BLME420h.d.ts} +3 -3
- package/dist/cli.d.ts +6 -6
- package/dist/cli.js +60 -59
- package/dist/compat/codex-cli-fallback.d.ts +1 -0
- package/dist/compat/codex-cli-fallback.js +22 -0
- package/dist/compat/codex-cli-fallback.js.map +1 -0
- package/dist/compat/codex-thread-key.d.ts +1 -0
- package/dist/compat/codex-thread-key.js +18 -0
- package/dist/compat/codex-thread-key.js.map +1 -0
- package/dist/compounding/engine.d.ts +1 -1
- package/dist/compounding/engine.js +9 -8
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +3 -3
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +9 -8
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +9 -8
- package/dist/consolidation-provenance-check.d.ts +1 -1
- package/dist/consolidation-undo.d.ts +1 -1
- package/dist/content-hash.d.ts +14 -0
- package/dist/content-hash.js +10 -0
- package/dist/content-hash.js.map +1 -0
- package/dist/contradiction/index.d.ts +1 -1
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +1 -1
- package/dist/entity-retrieval.js +9 -8
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +4 -4
- package/dist/extraction-faithfulness.d.ts +1 -1
- package/dist/extraction-faithfulness.js +2 -2
- package/dist/extraction-judge-telemetry.d.ts +1 -1
- package/dist/extraction-judge-training.d.ts +1 -1
- package/dist/extraction-judge.d.ts +1 -1
- package/dist/extraction-redaction-rules.d.ts +33 -0
- package/dist/extraction-redaction-rules.js +14 -0
- package/dist/extraction-redaction-rules.js.map +1 -0
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +3 -3
- package/dist/faithfulness-config.d.ts +1 -0
- package/dist/faithfulness-config.js +1 -1
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/{forget-OEE5OELK.js → forget-WYLR4ZFV.js} +2 -2
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/identity-continuity.d.ts +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +107 -105
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +4 -4
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +1 -1
- package/dist/local-model-endpoint.d.ts +9 -4
- package/dist/local-model-endpoint.js +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +9 -8
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -8
- package/dist/maintenance/rebuild-memory-projection.js +10 -9
- package/dist/mcp-memory-inspector-app.d.ts +5 -5
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-worth-outcomes.d.ts +1 -1
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +2 -2
- package/dist/namespaces/migrate.js +19 -18
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.d.ts +2 -2
- package/dist/namespaces/storage.js +9 -8
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +1 -1
- package/dist/operator-toolkit.js +28 -27
- package/dist/orchestration/maintenance.d.ts +2 -2
- package/dist/orchestration/maintenance.js +11 -10
- package/dist/{orchestrator-C_OMSIMZ.d.ts → orchestrator-DqPAz8ot.d.ts} +3 -3
- package/dist/orchestrator.d.ts +4 -4
- package/dist/orchestrator.js +51 -49
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/provenance.js +1 -1
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +4 -4
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/schemas.d.ts +22 -22
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +8 -8
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +14 -14
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-B8LiYtvx.d.ts → semantic-consolidation-Cl15ksZy.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +10 -9
- package/dist/semantic-rule-promotion.js +9 -8
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +9 -8
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/storage.d.ts +3 -3
- package/dist/storage.js +9 -8
- package/dist/summarizer.d.ts +1 -1
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/temporal-supersession.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +1 -1
- package/dist/tier-routing.d.ts +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/types.d.ts +12 -12
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-DmTaqob2.d.ts → types-ChQb9D6s.d.ts} +8 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +9 -8
- package/package.json +26 -2
- package/src/access-http.ts +68 -1
- package/src/admin/admin-surfaces.test.ts +289 -0
- package/src/admin/admin-surfaces.ts +138 -7
- package/src/bitemporal-dedup-backfill.test.ts +294 -0
- package/src/chat/chat-engine.test.ts +66 -1
- package/src/chat/chat-http.test.ts +119 -1
- package/src/chat/chat-http.ts +252 -97
- package/src/chat/chat-session.ts +143 -7
- package/src/compat/codex-cli-fallback.ts +23 -0
- package/src/compat/codex-subpath-aliases.test.ts +93 -0
- package/src/compat/codex-thread-key.ts +23 -0
- package/src/config.test.ts +50 -0
- package/src/config.ts +21 -4
- package/src/content-hash.ts +24 -0
- package/src/correction/correction-access-wiring.ts +104 -19
- package/src/correction/correction-contract.ts +68 -10
- package/src/correction/correction-executor.test.ts +112 -2
- package/src/correction/correction-executor.ts +65 -5
- package/src/correction/correction-planner.test.ts +47 -0
- package/src/correction/correction-planner.ts +40 -1
- package/src/correction/correction-storage-integration.test.ts +183 -0
- package/src/extraction-faithfulness.test.ts +240 -0
- package/src/extraction-faithfulness.ts +58 -6
- package/src/extraction-redaction-rules.test.ts +213 -0
- package/src/extraction-redaction-rules.ts +208 -0
- package/src/faithfulness-config.ts +16 -1
- package/src/local-model-endpoint.ts +24 -3
- package/src/orchestrator.ts +252 -9
- package/src/provenance-extraction.test.ts +266 -0
- package/src/provenance.ts +66 -16
- package/src/storage.ts +6 -10
- package/src/types.ts +8 -0
- package/dist/chunk-4R3CGCI5.js.map +0 -1
- package/dist/chunk-4SF232E6.js.map +0 -1
- package/dist/chunk-6OIDDKAA.js.map +0 -1
- package/dist/chunk-7AG54AF3.js.map +0 -1
- package/dist/chunk-C4X4QGIO.js.map +0 -1
- package/dist/chunk-C6BWLYW5.js.map +0 -1
- package/dist/chunk-KLFYKC3K.js.map +0 -1
- package/dist/chunk-MDBZTH7N.js.map +0 -1
- package/dist/chunk-XGTBNVIU.js.map +0 -1
- package/dist/chunk-Z3FGC3QE.js.map +0 -1
- /package/dist/{chunk-HCVWF657.js.map → chunk-2KAYTPPT.js.map} +0 -0
- /package/dist/{chunk-ZK2L72VN.js.map → chunk-37436GML.js.map} +0 -0
- /package/dist/{chunk-SC2YAWRF.js.map → chunk-3TSTGI6F.js.map} +0 -0
- /package/dist/{chunk-FACTVMXQ.js.map → chunk-4H4F3BFL.js.map} +0 -0
- /package/dist/{chunk-WAFDHKES.js.map → chunk-4NOI577P.js.map} +0 -0
- /package/dist/{chunk-YQMPUYHE.js.map → chunk-4NR2PDZ5.js.map} +0 -0
- /package/dist/{chunk-TAPSNIMA.js.map → chunk-5CEJH5ZN.js.map} +0 -0
- /package/dist/{chunk-PKMQK2WY.js.map → chunk-773DPI6T.js.map} +0 -0
- /package/dist/{chunk-FXCIOLRB.js.map → chunk-ASKXIAHD.js.map} +0 -0
- /package/dist/{chunk-5OPYYPJN.js.map → chunk-CBWI22JN.js.map} +0 -0
- /package/dist/{chunk-ZOHMPFOB.js.map → chunk-CKFLLAIS.js.map} +0 -0
- /package/dist/{chunk-GZQXOQQ2.js.map → chunk-CSRXQ6NB.js.map} +0 -0
- /package/dist/{chunk-QR67FU5G.js.map → chunk-CTOQEZSN.js.map} +0 -0
- /package/dist/{chunk-ZUDM75KG.js.map → chunk-DCWIQFNA.js.map} +0 -0
- /package/dist/{chunk-6CWGS2LY.js.map → chunk-DKJCRGWM.js.map} +0 -0
- /package/dist/{chunk-JJJCVCCQ.js.map → chunk-DMQWV6SQ.js.map} +0 -0
- /package/dist/{chunk-F3XZN24Z.js.map → chunk-DRUDC2UX.js.map} +0 -0
- /package/dist/{chunk-4WZ3J7M6.js.map → chunk-EY6MDMHK.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-6SQQOJ4U.js.map → chunk-GKRLPHPU.js.map} +0 -0
- /package/dist/{chunk-D7EBTQ24.js.map → chunk-HOHVIVDR.js.map} +0 -0
- /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
- /package/dist/{chunk-UBHVAGO7.js.map → chunk-JYLFZWUX.js.map} +0 -0
- /package/dist/{chunk-LD53WPMU.js.map → chunk-LQ6JI4VH.js.map} +0 -0
- /package/dist/{chunk-WM7DNKBD.js.map → chunk-M4V2JVSZ.js.map} +0 -0
- /package/dist/{chunk-I2HL5M6T.js.map → chunk-MJIHJ7OG.js.map} +0 -0
- /package/dist/{chunk-J334N6QV.js.map → chunk-MLKWJOAJ.js.map} +0 -0
- /package/dist/{chunk-DF3I6JGP.js.map → chunk-NSA5ZRUL.js.map} +0 -0
- /package/dist/{chunk-VI5SGGXB.js.map → chunk-OEEW4KJA.js.map} +0 -0
- /package/dist/{chunk-NT36GU6X.js.map → chunk-R7IYU5DZ.js.map} +0 -0
- /package/dist/{chunk-TT5U3UDO.js.map → chunk-SNKPUJHR.js.map} +0 -0
- /package/dist/{chunk-T55EGZSJ.js.map → chunk-UVPL565C.js.map} +0 -0
- /package/dist/{chunk-YQGHW5ML.js.map → chunk-WRFKZEO6.js.map} +0 -0
- /package/dist/{chunk-H7HUQIY7.js.map → chunk-Y4YD5TYW.js.map} +0 -0
- /package/dist/{chunk-YUYPWJD3.js.map → chunk-YOLZS7NY.js.map} +0 -0
- /package/dist/{forget-OEE5OELK.js.map → forget-WYLR4ZFV.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPostConsolidationMaterialize
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-37436GML.js";
|
|
4
4
|
import {
|
|
5
5
|
discoverMemoryExtensions,
|
|
6
6
|
renderExtensionsBlock,
|
|
@@ -217,4 +217,4 @@ export {
|
|
|
217
217
|
buildExtensionsBlockForConsolidation,
|
|
218
218
|
materializeAfterSemanticConsolidation
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=chunk-
|
|
220
|
+
//# sourceMappingURL=chunk-DMQWV6SQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isRecallDisclosure
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PUR2CKX2.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeRetrievedMemoryProvenance
|
|
6
6
|
} from "./chunk-I4WBNM3M.js";
|
|
@@ -292,4 +292,4 @@ export {
|
|
|
292
292
|
RecallXrayBuilder,
|
|
293
293
|
summarizeDisclosureTokens
|
|
294
294
|
};
|
|
295
|
-
//# sourceMappingURL=chunk-
|
|
295
|
+
//# sourceMappingURL=chunk-DRUDC2UX.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager,
|
|
3
3
|
normalizeEntityName
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7RLCCNHU.js";
|
|
5
5
|
import {
|
|
6
6
|
serializeMutations
|
|
7
7
|
} from "./chunk-LTJAMRGI.js";
|
|
@@ -956,4 +956,4 @@ export {
|
|
|
956
956
|
resolveBriefingSaveDir,
|
|
957
957
|
briefingFilename
|
|
958
958
|
};
|
|
959
|
-
//# sourceMappingURL=chunk-
|
|
959
|
+
//# sourceMappingURL=chunk-EY6MDMHK.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
diffGraphSnapshots
|
|
3
|
-
} from "./chunk-AUDJPF4N.js";
|
|
4
1
|
import {
|
|
5
2
|
graphSnapshotFromMemoryDir
|
|
6
3
|
} from "./chunk-44442YCH.js";
|
|
4
|
+
import {
|
|
5
|
+
diffGraphSnapshots
|
|
6
|
+
} from "./chunk-AUDJPF4N.js";
|
|
7
7
|
|
|
8
8
|
// src/dashboard-runtime.ts
|
|
9
9
|
import { createHash, timingSafeEqual } from "crypto";
|
|
@@ -370,4 +370,4 @@ var GraphDashboardServer = class {
|
|
|
370
370
|
export {
|
|
371
371
|
GraphDashboardServer
|
|
372
372
|
};
|
|
373
|
-
//# sourceMappingURL=chunk-
|
|
373
|
+
//# sourceMappingURL=chunk-EZ25VE3G.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
coerceBool,
|
|
2
3
|
coerceNumber
|
|
3
4
|
} from "./chunk-PHK3HARR.js";
|
|
4
5
|
|
|
@@ -38,12 +39,14 @@ function parseFaithfulnessGateConfig(cfg) {
|
|
|
38
39
|
parseIntegerAtLeast(cfg.extractionFaithfulnessTimeoutMs, 8e3, 1, "extractionFaithfulnessTimeoutMs"),
|
|
39
40
|
6e4
|
|
40
41
|
);
|
|
42
|
+
const extractionFaithfulnessLocalParseFallback = coerceBool(cfg.extractionFaithfulnessLocalParseFallback) === true;
|
|
41
43
|
return {
|
|
42
44
|
extractionFaithfulnessGate,
|
|
43
45
|
extractionFaithfulnessModel,
|
|
44
46
|
extractionFaithfulnessBaseUrl,
|
|
45
47
|
extractionFaithfulnessContextChars,
|
|
46
|
-
extractionFaithfulnessTimeoutMs
|
|
48
|
+
extractionFaithfulnessTimeoutMs,
|
|
49
|
+
extractionFaithfulnessLocalParseFallback
|
|
47
50
|
};
|
|
48
51
|
}
|
|
49
52
|
function parseCorrectionIntentConfig(cfg) {
|
|
@@ -57,4 +60,4 @@ export {
|
|
|
57
60
|
parseFaithfulnessGateConfig,
|
|
58
61
|
parseCorrectionIntentConfig
|
|
59
62
|
};
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-G6NKALRN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/faithfulness-config.ts"],"sourcesContent":["/**\n * Faithfulness-gate + correction-intent config parsing (issue #1576 / #1585).\n *\n * Extracted verbatim from `config.ts` (a watchlisted god file) so the gate\n * config block can grow — the model-lab pointer keys\n * `extractionFaithfulnessBaseUrl` (#1585) and the correction-intent pointers\n * (`correctionIntentModel` / `correctionIntentBaseUrl`) — without growing the\n * god file. This is a behavior-preserving extraction (#1526-style): the\n * validation, defaults, and error messages are byte-identical to the inline\n * block it replaces, which the existing extraction-faithfulness + config\n * tests pin.\n *\n * Why a dedicated module (and not inline): the ratchet\n * (`scripts/check-ratchets.mjs`) forbids `config.ts` from growing, and the\n * model-lab integration needs three new optional keys. Centralizing the whole\n * gate+intent parsing here keeps it unit-testable in isolation and lets\n * `config.ts` spread the result in one line.\n */\n\nimport { coerceBool, coerceNumber } from \"./connectors/coerce.js\";\n\n/**\n * Parse a value as a strict integer >= `min`, throwing on anything else.\n *\n * Mirrors `parseIntegerAtLeast` in `config.ts` byte-for-byte (issue #1634:\n * reject non-numeric, <=0, non-integer, NaN, Infinity, booleans, objects —\n * gotcha #51). Reimplemented locally rather than exported from `config.ts`\n * so this module has no dependency on the god file (and vice versa).\n */\nfunction parseIntegerAtLeast(\n value: unknown,\n fallback: number,\n min: number,\n keyName: string,\n): number {\n if (value === undefined || value === null) return fallback;\n const coerced = coerceNumber(value);\n if (\n coerced === undefined ||\n !Number.isFinite(coerced) ||\n !Number.isInteger(coerced) ||\n coerced < min\n ) {\n throw new Error(\n `${keyName} must be an integer greater than or equal to ${min}; got ${JSON.stringify(value)}`,\n );\n }\n return coerced;\n}\n\n/**\n * Parse the extraction faithfulness gate config block.\n *\n * Returns exactly the `PluginConfig` fields this block owns. Defaults preserve\n * the byte-identical pre-feature pipeline (rule 39): gate \"off\", empty model\n * + base URL, context 400 chars, timeout 8000 ms. Invalid `gate` values reject\n * listing valid options (rule 51); invalid integers throw (issue #1634).\n *\n * `extractionFaithfulnessBaseUrl` (issue #1585) is the model-lab pointer: when\n * set together with `extractionFaithfulnessModel`, the gate routes to that\n * local openai-compatible endpoint before the configured chain; empty string\n * (default) preserves the existing routing exactly.\n */\nexport function parseFaithfulnessGateConfig(cfg: Record<string, unknown>): {\n extractionFaithfulnessGate: \"off\" | \"shadow\" | \"enforce\";\n extractionFaithfulnessModel: string;\n extractionFaithfulnessBaseUrl: string;\n extractionFaithfulnessContextChars: number;\n extractionFaithfulnessTimeoutMs: number;\n extractionFaithfulnessLocalParseFallback: boolean;\n} {\n const gateValue = cfg.extractionFaithfulnessGate;\n let extractionFaithfulnessGate: \"off\" | \"shadow\" | \"enforce\";\n if (gateValue === undefined || gateValue === null) {\n extractionFaithfulnessGate = \"off\";\n } else {\n // Present-but-invalid (true/1/{}) must reject, not silently disable the gate (Ob4RQ).\n const raw = typeof gateValue === \"string\" ? gateValue.trim().toLowerCase() : gateValue;\n if (raw === \"off\" || raw === \"shadow\" || raw === \"enforce\") {\n extractionFaithfulnessGate = raw;\n } else {\n throw new Error(\n `extractionFaithfulnessGate must be one of \"off\" | \"shadow\" | \"enforce\" (got ${JSON.stringify(gateValue)})`,\n );\n }\n }\n\n const extractionFaithfulnessModel =\n typeof cfg.extractionFaithfulnessModel === \"string\" ? cfg.extractionFaithfulnessModel : \"\";\n\n // Issue #1585: model-lab pointer. Empty default → gate uses its existing\n // routing chain (byte-identical). Non-empty + a model name → gate prefers\n // the local served endpoint, falling back to the chain on failure.\n const extractionFaithfulnessBaseUrl =\n typeof cfg.extractionFaithfulnessBaseUrl === \"string\"\n ? cfg.extractionFaithfulnessBaseUrl\n : \"\";\n\n const extractionFaithfulnessContextChars = Math.min(\n parseIntegerAtLeast(cfg.extractionFaithfulnessContextChars, 400, 1, \"extractionFaithfulnessContextChars\"),\n 4000,\n );\n\n const extractionFaithfulnessTimeoutMs = Math.min(\n parseIntegerAtLeast(cfg.extractionFaithfulnessTimeoutMs, 8000, 1, \"extractionFaithfulnessTimeoutMs\"),\n 60_000,\n );\n\n // Issue #1700 nit #6: resilient-fallback toggle for the local model-lab\n // endpoint. Default false preserves the loud-signal behavior (a 200-with-\n // garbage local response surfaces malformed_output so a misconfigured\n // endpoint is visible); true falls back to the configured chain on local\n // parse failure. Byte-identical pre-feature when unset (rule 39).\n // coerceBool for CLI-string parity: a CLI override like\n // --config extractionFaithfulnessLocalParseFallback=true reaches here as the\n // string \"true\"; === true would silently leave the flag disabled. Matches\n // every other CLI-settable boolean in config.ts (gotcha 36, codex P2\n // PRRT_kwDORJXyws6O6gDQ / cursor BUGBOT e273b22c).\n const extractionFaithfulnessLocalParseFallback =\n coerceBool(cfg.extractionFaithfulnessLocalParseFallback) === true;\n\n return {\n extractionFaithfulnessGate,\n extractionFaithfulnessModel,\n extractionFaithfulnessBaseUrl,\n extractionFaithfulnessContextChars,\n extractionFaithfulnessTimeoutMs,\n extractionFaithfulnessLocalParseFallback,\n };\n}\n\n/**\n * Parse the correction-intent config block (issue #1581 / #1585).\n *\n * The model-lab pointer for passive-correction detection: when both\n * `correctionIntentModel` and `correctionIntentBaseUrl` are set, the detection\n * path can route to that local fine-tuned classifier; empty defaults (the\n * common case) keep the rule-based `detectPassiveCorrections` heuristic as the\n * sole detector — byte-identical to the pre-feature path. Consumption by the\n * detector is the consuming child's job (#1581's detector is a pure function;\n * wiring a model call into it is out of scope for this config-pointer PR).\n */\nexport function parseCorrectionIntentConfig(cfg: Record<string, unknown>): {\n correctionIntentModel: string;\n correctionIntentBaseUrl: string;\n} {\n return {\n correctionIntentModel:\n typeof cfg.correctionIntentModel === \"string\" ? cfg.correctionIntentModel : \"\",\n correctionIntentBaseUrl:\n typeof cfg.correctionIntentBaseUrl === \"string\" ? cfg.correctionIntentBaseUrl : \"\",\n };\n}\n"],"mappings":";;;;;;AA6BA,SAAS,oBACP,OACA,UACA,KACA,SACQ;AACR,MAAI,UAAU,UAAa,UAAU,KAAM,QAAO;AAClD,QAAM,UAAU,aAAa,KAAK;AAClC,MACE,YAAY,UACZ,CAAC,OAAO,SAAS,OAAO,KACxB,CAAC,OAAO,UAAU,OAAO,KACzB,UAAU,KACV;AACA,UAAM,IAAI;AAAA,MACR,GAAG,OAAO,gDAAgD,GAAG,SAAS,KAAK,UAAU,KAAK,CAAC;AAAA,IAC7F;AAAA,EACF;AACA,SAAO;AACT;AAeO,SAAS,4BAA4B,KAO1C;AACA,QAAM,YAAY,IAAI;AACtB,MAAI;AACJ,MAAI,cAAc,UAAa,cAAc,MAAM;AACjD,iCAA6B;AAAA,EAC/B,OAAO;AAEL,UAAM,MAAM,OAAO,cAAc,WAAW,UAAU,KAAK,EAAE,YAAY,IAAI;AAC7E,QAAI,QAAQ,SAAS,QAAQ,YAAY,QAAQ,WAAW;AAC1D,mCAA6B;AAAA,IAC/B,OAAO;AACL,YAAM,IAAI;AAAA,QACR,+EAA+E,KAAK,UAAU,SAAS,CAAC;AAAA,MAC1G;AAAA,IACF;AAAA,EACF;AAEA,QAAM,8BACJ,OAAO,IAAI,gCAAgC,WAAW,IAAI,8BAA8B;AAK1F,QAAM,gCACJ,OAAO,IAAI,kCAAkC,WACzC,IAAI,gCACJ;AAEN,QAAM,qCAAqC,KAAK;AAAA,IAC9C,oBAAoB,IAAI,oCAAoC,KAAK,GAAG,oCAAoC;AAAA,IACxG;AAAA,EACF;AAEA,QAAM,kCAAkC,KAAK;AAAA,IAC3C,oBAAoB,IAAI,iCAAiC,KAAM,GAAG,iCAAiC;AAAA,IACnG;AAAA,EACF;AAYA,QAAM,2CACJ,WAAW,IAAI,wCAAwC,MAAM;AAE/D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAaO,SAAS,4BAA4B,KAG1C;AACA,SAAO;AAAA,IACL,uBACE,OAAO,IAAI,0BAA0B,WAAW,IAAI,wBAAwB;AAAA,IAC9E,yBACE,OAAO,IAAI,4BAA4B,WAAW,IAAI,0BAA0B;AAAA,EACpF;AACF;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-SOBJ6NEY.js";
|
|
4
4
|
import {
|
|
5
5
|
summarizeDisclosureTokens
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DRUDC2UX.js";
|
|
7
7
|
import {
|
|
8
8
|
summarizeRetrievedMemoryProvenance
|
|
9
9
|
} from "./chunk-I4WBNM3M.js";
|
|
@@ -587,4 +587,4 @@ export {
|
|
|
587
587
|
renderRecallExplain,
|
|
588
588
|
parseRecallExplainFormat
|
|
589
589
|
};
|
|
590
|
-
//# sourceMappingURL=chunk-
|
|
590
|
+
//# sourceMappingURL=chunk-GKRLPHPU.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-LMDRGRJ2.js";
|
|
12
12
|
import {
|
|
13
13
|
parseConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-36SEDFAU.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveObjectiveStateStoreDir,
|
|
17
17
|
validateObjectiveStateSnapshot
|
|
@@ -268,4 +268,4 @@ export {
|
|
|
268
268
|
recordResumeBundle,
|
|
269
269
|
getResumeBundleStatus
|
|
270
270
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-HOHVIVDR.js.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReplitAdapter
|
|
3
|
+
} from "./chunk-TMSXWOBZ.js";
|
|
1
4
|
import {
|
|
2
5
|
ClaudeCodeAdapter
|
|
3
6
|
} from "./chunk-J64TK33U.js";
|
|
@@ -7,9 +10,6 @@ import {
|
|
|
7
10
|
import {
|
|
8
11
|
HermesAdapter
|
|
9
12
|
} from "./chunk-42NQ7AVG.js";
|
|
10
|
-
import {
|
|
11
|
-
ReplitAdapter
|
|
12
|
-
} from "./chunk-TMSXWOBZ.js";
|
|
13
13
|
|
|
14
14
|
// src/adapters/registry.ts
|
|
15
15
|
var AdapterRegistry = class {
|
|
@@ -53,4 +53,4 @@ var AdapterRegistry = class {
|
|
|
53
53
|
export {
|
|
54
54
|
AdapterRegistry
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=chunk-
|
|
56
|
+
//# sourceMappingURL=chunk-JBPKEARU.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-SFQ6QNL7.js";
|
|
7
7
|
import {
|
|
8
8
|
StorageManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7RLCCNHU.js";
|
|
10
10
|
import {
|
|
11
11
|
buildLifecycleEventsForMemory,
|
|
12
12
|
sortMemoryLifecycleEvents
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
backupExistingLedger,
|
|
75
75
|
rebuildMemoryLifecycleLedger
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-JYLFZWUX.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
scanMemoryDir
|
|
3
|
+
} from "./chunk-AER6MT24.js";
|
|
1
4
|
import {
|
|
2
5
|
isSearchAborted,
|
|
3
6
|
throwIfSearchAborted
|
|
4
7
|
} from "./chunk-CINZGPSJ.js";
|
|
5
|
-
import {
|
|
6
|
-
scanMemoryDir
|
|
7
|
-
} from "./chunk-AER6MT24.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveEnsureCollectionArgs
|
|
10
10
|
} from "./chunk-YNQ6DFSV.js";
|
|
@@ -605,4 +605,4 @@ export {
|
|
|
605
605
|
resolveOramaCollectionDbFilePath,
|
|
606
606
|
OramaBackend
|
|
607
607
|
};
|
|
608
|
-
//# sourceMappingURL=chunk-
|
|
608
|
+
//# sourceMappingURL=chunk-LQ6JI4VH.js.map
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// src/extraction-redaction-rules.ts
|
|
2
|
+
import { readdir, readFile } from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
var REDACTION_RULES_SUBDIR = path.join("state", "corrections", "redaction-rules");
|
|
5
|
+
var MAX_RULE_FILES = 256;
|
|
6
|
+
function isRegexLike(pattern) {
|
|
7
|
+
return pattern.startsWith("/") && pattern.endsWith("/") && pattern.length >= 2;
|
|
8
|
+
}
|
|
9
|
+
function isSafeRegex(source) {
|
|
10
|
+
if (source.length === 0 || source.length > 512) return false;
|
|
11
|
+
if (/(?:^|[^\\])\(\.\*\)|(?:^|[^\\])\.\*|(?:^|[^\\])\.\+|^\.([^*+]?)$/.test(source)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
for (let i = 0; i < source.length; i++) {
|
|
15
|
+
if (source[i] !== "(") continue;
|
|
16
|
+
let depth = 1;
|
|
17
|
+
let j = i + 1;
|
|
18
|
+
while (j < source.length && depth > 0) {
|
|
19
|
+
if (source[j] === "\\") {
|
|
20
|
+
j += 2;
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (source[j] === "(") depth++;
|
|
24
|
+
else if (source[j] === ")") depth--;
|
|
25
|
+
j++;
|
|
26
|
+
}
|
|
27
|
+
if (depth !== 0) continue;
|
|
28
|
+
const afterGroup = source[j];
|
|
29
|
+
if (afterGroup !== "+" && afterGroup !== "*" && afterGroup !== "{") continue;
|
|
30
|
+
const groupBody = source.slice(i + 1, j - 1);
|
|
31
|
+
if (/[+*?]$/.test(groupBody) || /\{\d+,?\d*\}[+*?]?$/.test(groupBody)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (groupBody.includes("|")) {
|
|
35
|
+
const branches = groupBody.split("|");
|
|
36
|
+
if (branches.length >= 2) {
|
|
37
|
+
const firstChars = new Set(branches.map((b) => b[0]).filter(Boolean));
|
|
38
|
+
if (firstChars.size < branches.filter((b) => b.length > 0).length) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
i = j;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
function compileRedactionPattern(pattern) {
|
|
48
|
+
const trimmed = pattern.trim();
|
|
49
|
+
if (!isRegexLike(trimmed)) {
|
|
50
|
+
return { pattern: trimmed, matcher: (content) => content.includes(trimmed) };
|
|
51
|
+
}
|
|
52
|
+
const body = trimmed.slice(1, -1);
|
|
53
|
+
try {
|
|
54
|
+
if (!isSafeRegex(body)) {
|
|
55
|
+
if (body.length === 0) return { pattern: trimmed, matcher: () => false };
|
|
56
|
+
return { pattern: trimmed, matcher: (content) => content.includes(body) };
|
|
57
|
+
}
|
|
58
|
+
const re = new RegExp(body);
|
|
59
|
+
if (re.test("")) {
|
|
60
|
+
return { pattern: trimmed, matcher: (content) => content.includes(body) };
|
|
61
|
+
}
|
|
62
|
+
return { pattern: trimmed, matcher: (content) => re.test(content) };
|
|
63
|
+
} catch {
|
|
64
|
+
return { pattern: trimmed, matcher: (content) => content.includes(body) };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async function loadRedactionRules(stateDir) {
|
|
68
|
+
const dir = path.join(stateDir, REDACTION_RULES_SUBDIR);
|
|
69
|
+
let names;
|
|
70
|
+
try {
|
|
71
|
+
names = await readdir(dir);
|
|
72
|
+
} catch {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
const jsonFiles = names.filter((n) => n.endsWith(".json")).sort();
|
|
76
|
+
if (jsonFiles.length > MAX_RULE_FILES) {
|
|
77
|
+
console.warn(
|
|
78
|
+
`extraction-redaction: ${jsonFiles.length} redaction rules in ${dir} exceed the ${MAX_RULE_FILES} cap; ${jsonFiles.length - MAX_RULE_FILES} rules will NOT be enforced. Remove unused rules or raise the cap.`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
const rules = [];
|
|
82
|
+
for (const name of jsonFiles.slice(0, MAX_RULE_FILES)) {
|
|
83
|
+
try {
|
|
84
|
+
const raw = await readFile(path.join(dir, name), "utf-8");
|
|
85
|
+
const parsed = JSON.parse(raw);
|
|
86
|
+
if (typeof parsed?.pattern !== "string" || parsed.pattern.trim().length === 0) continue;
|
|
87
|
+
rules.push(compileRedactionPattern(parsed.pattern));
|
|
88
|
+
} catch {
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return rules;
|
|
92
|
+
}
|
|
93
|
+
function contentMatchesRedactionRules(content, rules) {
|
|
94
|
+
for (const rule of rules) {
|
|
95
|
+
try {
|
|
96
|
+
if (rule.matcher(content)) return true;
|
|
97
|
+
} catch {
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export {
|
|
104
|
+
REDACTION_RULES_SUBDIR,
|
|
105
|
+
compileRedactionPattern,
|
|
106
|
+
loadRedactionRules,
|
|
107
|
+
contentMatchesRedactionRules
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=chunk-LTHVM4XN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/extraction-redaction-rules.ts"],"sourcesContent":["/**\n * extraction-redaction-rules.ts — consults persisted correction redaction\n * rules during the extraction→persist path so a `never_store` / redaction_rule\n * correction actually blocks future extraction of matching content (issue\n * #1669, #1580 follow-up).\n *\n * The Correction Contract persists `redaction_rule` patterns to\n * `<storage>/state/corrections/redaction-rules/<slug>.json` (one file per\n * rule, idempotent on pattern). This module reads those patterns at the start\n * of each extraction persist pass and exposes a pure matcher the orchestrator\n * consults BEFORE a fact reaches the storage write chokepoint — mirroring how\n * tombstones are consulted at the write chokepoint (#1579), but one stage\n * earlier so the content never even lands as `pending_review`.\n *\n * Scope (issue #1669): the extraction layer consults the rules. Persistence\n * stays owned by the correction module. This helper is the read surface.\n *\n * Safety: patterns are validated at correction-apply time\n * (`validateRedactionPattern` — bounded literal/safe-regex, no catastrophic\n * shapes). We compile defensively here too: a pattern that fails to compile\n * as a regex is treated as a literal substring, and any matcher error is\n * swallowed (fail-open to \"no match\") so a malformed rule can never block the\n * entire extraction pipeline.\n */\nimport { readdir, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\n\n/**\n * Directory (relative to a namespace storage dir) where redaction rules live.\n * Kept in sync with `registerRedactionRuleFn` in correction-access-wiring.ts.\n */\nexport const REDACTION_RULES_SUBDIR = path.join(\"state\", \"corrections\", \"redaction-rules\");\n\n/** Maximum number of rule files read per pass (defense in depth). */\nconst MAX_RULE_FILES = 256;\n\n/**\n * A compiled redaction rule. `pattern` is the original (validated) pattern;\n * `matcher` returns true when content should be withheld.\n */\nexport interface CompiledRedactionRule {\n pattern: string;\n matcher: (content: string) => boolean;\n}\n\n/** Shape persisted by `registerRedactionRuleFn`. */\ninterface RedactionRuleFile {\n pattern: string;\n namespace?: string;\n createdAt?: string;\n}\n\n/**\n * Only `/…/`-wrapped patterns compile as RegExp; everything else is a literal\n * substring (review thread P1). An unwrapped pattern like `abc+def` must match\n * the literal string `abc+def`, NOT the regex `abccccdef`.\n */\nfunction isRegexLike(pattern: string): boolean {\n return pattern.startsWith(\"/\") && pattern.endsWith(\"/\") && pattern.length >= 2;\n}\n\n/**\n * Reject patterns prone to catastrophic backtracking (ReDoS, review thread #3).\n * Mirrors the safe-regex heuristic: a quantifier inside a group that is itself\n * quantified creates exponential blowup on near-miss inputs. Also rejects\n * patterns with overlapping alternation under repetition\n * (e.g. (a|a)*). Returns true when the pattern is safe to compile.\n *\n * This is a second line of defense — validateRedactionPattern runs first at\n * apply time, but a hand-edited rule file or an edge case can still slip past.\n */\nfunction isSafeRegex(source: string): boolean {\n if (source.length === 0 || source.length > 512) return false;\n // Reject overly-broad patterns (.*) that would match every fact and\n // withhold all extraction (cursor Bugbot thread — mirrors\n // isUnsafeRedactionRegex in correction-contract.ts).\n if (/(?:^|[^\\\\])\\(\\.\\*\\)|(?:^|[^\\\\])\\.\\*|(?:^|[^\\\\])\\.\\+|^\\.([^*+]?)$/.test(source)) {\n return false;\n }\n // group body itself ends with a quantifier. This catches (a+)+, (a*)*, etc.\n // Also catches overlapping alternation like (a|a)+.\n for (let i = 0; i < source.length; i++) {\n if (source[i] !== \"(\") continue;\n // Find the matching close paren\n let depth = 1;\n let j = i + 1;\n while (j < source.length && depth > 0) {\n if (source[j] === \"\\\\\") { j += 2; continue; }\n if (source[j] === \"(\") depth++;\n else if (source[j] === \")\") depth--;\n j++;\n }\n if (depth !== 0) continue; // unbalanced — will fail RegExp compile anyway\n // Check if the char after the closing paren is a quantifier\n const afterGroup = source[j];\n if (afterGroup !== \"+\" && afterGroup !== \"*\" && afterGroup !== \"{\") continue;\n const groupBody = source.slice(i + 1, j - 1);\n // The group body ends with a quantifier on a non-escape char\n if (/[+*?]$/.test(groupBody) || /\\{\\d+,?\\d*\\}[+*?]?$/.test(groupBody)) {\n // Nested quantifier → potential ReDoS\n return false;\n }\n // Overlapping alternation: (a|a)+ where branches share a common prefix\n if (groupBody.includes(\"|\")) {\n const branches = groupBody.split(\"|\");\n if (branches.length >= 2) {\n const firstChars = new Set(branches.map((b) => b[0]).filter(Boolean));\n if (firstChars.size < branches.filter((b) => b.length > 0).length) {\n return false;\n }\n }\n }\n i = j;\n }\n return true;\n}\n\n/**\n * Compile a single pattern into a matcher. A literal pattern matches by\n * case-sensitive substring; a `/…/`-wrapped pattern compiles into a RegExp\n * anchored to search (global flag off — we only need a boolean). Compilation\n * failures fall back to literal substring so a bad pattern never throws here.\n */\nexport function compileRedactionPattern(pattern: string): CompiledRedactionRule {\n const trimmed = pattern.trim();\n if (!isRegexLike(trimmed)) {\n return { pattern: trimmed, matcher: (content) => content.includes(trimmed) };\n }\n const body = trimmed.slice(1, -1);\n try {\n if (!isSafeRegex(body)) {\n if (body.length === 0) return { pattern: trimmed, matcher: () => false };\n return { pattern: trimmed, matcher: (content) => content.includes(body) };\n }\n const re = new RegExp(body);\n if (re.test(\"\")) {\n // Zero-width regex matches every string — would withhold all extraction.\n return { pattern: trimmed, matcher: (content) => content.includes(body) };\n }\n return { pattern: trimmed, matcher: (content) => re.test(content) };\n } catch {\n // Malformed regex despite validation (e.g. rule file hand-edited) —\n // treat as a literal on the BODY so the rule still does something useful.\n return { pattern: trimmed, matcher: (content) => content.includes(body) };\n }\n}\n\n/**\n * Load + compile every redaction rule persisted under a namespace's storage\n * dir. Returns an empty array when the directory is absent or unreadable\n * (fail-open — a missing or corrupt rules dir must never block extraction).\n */\nexport async function loadRedactionRules(stateDir: string): Promise<CompiledRedactionRule[]> {\n const dir = path.join(stateDir, REDACTION_RULES_SUBDIR);\n let names: string[];\n try {\n names = await readdir(dir);\n } catch {\n // ENOENT (cold install, no rules yet) or permission error — no rules.\n return [];\n }\n // Sort deterministically (alphabetical by filename) so the set of rules\n // that survives the MAX_RULE_FILES cap is NOT filesystem-dependent (review\n // thread P2). Without this, readdir order varies by OS/FS and the silently\n // truncated rules are arbitrary — a never-store pattern could be dropped.\n const jsonFiles = names.filter((n) => n.endsWith(\".json\")).sort();\n if (jsonFiles.length > MAX_RULE_FILES) {\n // Visible failure mode: log a warning so the operator knows rules were\n // truncated, rather than silently dropping enforcement.\n console.warn(\n `extraction-redaction: ${jsonFiles.length} redaction rules in ${dir} exceed the ${MAX_RULE_FILES} cap; ` +\n `${jsonFiles.length - MAX_RULE_FILES} rules will NOT be enforced. Remove unused rules or raise the cap.`,\n );\n }\n const rules: CompiledRedactionRule[] = [];\n for (const name of jsonFiles.slice(0, MAX_RULE_FILES)) {\n try {\n const raw = await readFile(path.join(dir, name), \"utf-8\");\n const parsed = JSON.parse(raw) as RedactionRuleFile;\n if (typeof parsed?.pattern !== \"string\" || parsed.pattern.trim().length === 0) continue;\n rules.push(compileRedactionPattern(parsed.pattern));\n } catch {\n // Skip a corrupt rule file rather than failing the pass (rule 34 —\n // visible skip, never a silent pipeline block).\n }\n }\n return rules;\n}\n\n/**\n * Test content against a set of compiled rules. Returns true if ANY rule\n * matches (the content should be withheld). An empty rule set never matches.\n */\nexport function contentMatchesRedactionRules(\n content: string,\n rules: readonly CompiledRedactionRule[],\n): boolean {\n for (const rule of rules) {\n try {\n if (rule.matcher(content)) return true;\n } catch {\n // A matcher should not throw (compilation already fell back), but if a\n // RegExp blows up on pathological input we skip that rule rather than\n // failing the whole gate.\n }\n }\n return false;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultNamespaceRoot,
|
|
3
3
|
resolveNamespaceStorageRoot
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3TSTGI6F.js";
|
|
5
5
|
import {
|
|
6
6
|
getConfiguredNamespaces
|
|
7
7
|
} from "./chunk-J6BH2OBA.js";
|
|
@@ -1946,4 +1946,4 @@ export {
|
|
|
1946
1946
|
runNamespaceMaintenancePlan,
|
|
1947
1947
|
runNamespaceMaintenanceBatchPlan
|
|
1948
1948
|
};
|
|
1949
|
-
//# sourceMappingURL=chunk-
|
|
1949
|
+
//# sourceMappingURL=chunk-M4V2JVSZ.js.map
|
|
@@ -7,18 +7,15 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
openclawReplayNormalizer
|
|
9
9
|
} from "./chunk-7F7Z6MOS.js";
|
|
10
|
-
import {
|
|
11
|
-
importSqlite
|
|
12
|
-
} from "./chunk-AGNBY3VG.js";
|
|
13
|
-
import {
|
|
14
|
-
exportJsonBundle
|
|
15
|
-
} from "./chunk-UP6MOYCB.js";
|
|
16
10
|
import {
|
|
17
11
|
exportSqlite
|
|
18
12
|
} from "./chunk-7VFZTJ7K.js";
|
|
19
13
|
import {
|
|
20
14
|
importMarkdownBundle
|
|
21
15
|
} from "./chunk-HDDRVXX4.js";
|
|
16
|
+
import {
|
|
17
|
+
importSqlite
|
|
18
|
+
} from "./chunk-AGNBY3VG.js";
|
|
22
19
|
import {
|
|
23
20
|
detectImportFormat
|
|
24
21
|
} from "./chunk-OZKVVUJB.js";
|
|
@@ -28,14 +25,12 @@ import {
|
|
|
28
25
|
import {
|
|
29
26
|
backupMemoryDir
|
|
30
27
|
} from "./chunk-2NLLXCJG.js";
|
|
28
|
+
import {
|
|
29
|
+
exportJsonBundle
|
|
30
|
+
} from "./chunk-UP6MOYCB.js";
|
|
31
31
|
import {
|
|
32
32
|
exportMarkdownBundle
|
|
33
33
|
} from "./chunk-765K3SAT.js";
|
|
34
|
-
import {
|
|
35
|
-
buildReplayNormalizerRegistry,
|
|
36
|
-
clampBatchSize,
|
|
37
|
-
runReplay
|
|
38
|
-
} from "./chunk-HOJZMQ4J.js";
|
|
39
34
|
import {
|
|
40
35
|
TailscaleHelper
|
|
41
36
|
} from "./chunk-EEC4PCG5.js";
|
|
@@ -43,22 +38,27 @@ import {
|
|
|
43
38
|
WebDavServer
|
|
44
39
|
} from "./chunk-PYIFUBRK.js";
|
|
45
40
|
import {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
} from "./chunk-UBHVAGO7.js";
|
|
41
|
+
buildReplayNormalizerRegistry,
|
|
42
|
+
clampBatchSize,
|
|
43
|
+
runReplay
|
|
44
|
+
} from "./chunk-HOJZMQ4J.js";
|
|
51
45
|
import {
|
|
52
46
|
rebuildMemoryProjection,
|
|
53
47
|
repairMemoryProjection,
|
|
54
48
|
verifyMemoryProjection
|
|
55
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-Y4YD5TYW.js";
|
|
56
50
|
import {
|
|
57
51
|
rebuildObservations
|
|
58
52
|
} from "./chunk-LZZNTPLR.js";
|
|
59
53
|
import {
|
|
60
54
|
archiveObservations
|
|
61
55
|
} from "./chunk-WMWVO45V.js";
|
|
56
|
+
import {
|
|
57
|
+
migrateObservations
|
|
58
|
+
} from "./chunk-D6RIFG4O.js";
|
|
59
|
+
import {
|
|
60
|
+
rebuildMemoryLifecycleLedger
|
|
61
|
+
} from "./chunk-JYLFZWUX.js";
|
|
62
62
|
import {
|
|
63
63
|
getBulkImportSource,
|
|
64
64
|
listBulkImportSources,
|
|
@@ -70,18 +70,27 @@ import {
|
|
|
70
70
|
} from "./chunk-GQL52GQ5.js";
|
|
71
71
|
import {
|
|
72
72
|
promoteSemanticRuleFromMemory
|
|
73
|
-
} from "./chunk-
|
|
74
|
-
import {
|
|
75
|
-
resolveAgentAccessAuthToken
|
|
76
|
-
} from "./chunk-TGQ2NTWH.js";
|
|
73
|
+
} from "./chunk-4H4F3BFL.js";
|
|
77
74
|
import {
|
|
78
75
|
buildResumeBundleFromState,
|
|
79
76
|
getResumeBundleStatus,
|
|
80
77
|
recordResumeBundle
|
|
81
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-HOHVIVDR.js";
|
|
79
|
+
import {
|
|
80
|
+
resolveAgentAccessAuthToken
|
|
81
|
+
} from "./chunk-TGQ2NTWH.js";
|
|
82
82
|
import {
|
|
83
83
|
parseXrayCliOptions
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-CKFLLAIS.js";
|
|
85
|
+
import {
|
|
86
|
+
collectPatternMemories,
|
|
87
|
+
explainPatternMemory,
|
|
88
|
+
parsePatternsExplainOptions,
|
|
89
|
+
parsePatternsListOptions,
|
|
90
|
+
parseStrictCliDate,
|
|
91
|
+
renderPatternExplain,
|
|
92
|
+
renderPatternsList
|
|
93
|
+
} from "./chunk-3T74IZB3.js";
|
|
85
94
|
import {
|
|
86
95
|
runBenchmarkRecall,
|
|
87
96
|
runOperatorConfigReview,
|
|
@@ -89,24 +98,15 @@ import {
|
|
|
89
98
|
runOperatorInventory,
|
|
90
99
|
runOperatorRepair,
|
|
91
100
|
runOperatorSetup
|
|
92
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-NSA5ZRUL.js";
|
|
93
102
|
import {
|
|
94
103
|
listNamespaces,
|
|
95
104
|
runNamespaceMigration,
|
|
96
105
|
verifyNamespaces
|
|
97
|
-
} from "./chunk-
|
|
98
|
-
import {
|
|
99
|
-
collectPatternMemories,
|
|
100
|
-
explainPatternMemory,
|
|
101
|
-
parsePatternsExplainOptions,
|
|
102
|
-
parsePatternsListOptions,
|
|
103
|
-
parseStrictCliDate,
|
|
104
|
-
renderPatternExplain,
|
|
105
|
-
renderPatternsList
|
|
106
|
-
} from "./chunk-3T74IZB3.js";
|
|
106
|
+
} from "./chunk-DKJCRGWM.js";
|
|
107
107
|
import {
|
|
108
108
|
GraphDashboardServer
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-EZ25VE3G.js";
|
|
110
110
|
import {
|
|
111
111
|
isReplaySource,
|
|
112
112
|
normalizeReplaySessionKey
|
|
@@ -114,6 +114,9 @@ import {
|
|
|
114
114
|
import {
|
|
115
115
|
RoutingRulesStore
|
|
116
116
|
} from "./chunk-WIWPSQYU.js";
|
|
117
|
+
import {
|
|
118
|
+
searchVerifiedEpisodes
|
|
119
|
+
} from "./chunk-ASKXIAHD.js";
|
|
117
120
|
import {
|
|
118
121
|
getUtilityLearningStatus,
|
|
119
122
|
learnUtilityPromotionWeights
|
|
@@ -122,15 +125,12 @@ import {
|
|
|
122
125
|
getUtilityTelemetryStatus,
|
|
123
126
|
recordUtilityTelemetryEvent
|
|
124
127
|
} from "./chunk-TERNBNJB.js";
|
|
125
|
-
import {
|
|
126
|
-
searchVerifiedEpisodes
|
|
127
|
-
} from "./chunk-FXCIOLRB.js";
|
|
128
128
|
import {
|
|
129
129
|
ThreadingManager
|
|
130
130
|
} from "./chunk-QRDOSYOR.js";
|
|
131
131
|
import {
|
|
132
132
|
searchVerifiedSemanticRules
|
|
133
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-UVPL565C.js";
|
|
134
134
|
import {
|
|
135
135
|
getWorkProductLedgerStatus,
|
|
136
136
|
recordWorkProductLedgerEntry,
|
|
@@ -145,7 +145,7 @@ import {
|
|
|
145
145
|
} from "./chunk-33JBK2XP.js";
|
|
146
146
|
import {
|
|
147
147
|
formatNamespaceMaintenanceHealthText
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-CBWI22JN.js";
|
|
149
149
|
import {
|
|
150
150
|
analyzeSessionIntegrity,
|
|
151
151
|
applySessionRepair,
|
|
@@ -168,12 +168,12 @@ import {
|
|
|
168
168
|
import {
|
|
169
169
|
listConnectorStates
|
|
170
170
|
} from "./chunk-6GUG4YNM.js";
|
|
171
|
-
import {
|
|
172
|
-
rescoreMemoryImportance
|
|
173
|
-
} from "./chunk-JXS5PDQ7.js";
|
|
174
171
|
import {
|
|
175
172
|
searchHarmonicRetrieval
|
|
176
173
|
} from "./chunk-AV5ZEH4M.js";
|
|
174
|
+
import {
|
|
175
|
+
rescoreMemoryImportance
|
|
176
|
+
} from "./chunk-JXS5PDQ7.js";
|
|
177
177
|
import {
|
|
178
178
|
createEvalBaselineSnapshot,
|
|
179
179
|
getEvalHarnessStatus,
|
|
@@ -209,13 +209,13 @@ import {
|
|
|
209
209
|
} from "./chunk-UQ7RN5HK.js";
|
|
210
210
|
import {
|
|
211
211
|
parseConfig
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-36SEDFAU.js";
|
|
213
213
|
import {
|
|
214
214
|
getAbstractionNodeStoreStatus
|
|
215
215
|
} from "./chunk-OADWQ5CR.js";
|
|
216
216
|
import {
|
|
217
217
|
EngramAccessHttpServer
|
|
218
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-N3VNUM4Z.js";
|
|
219
219
|
import {
|
|
220
220
|
WearablesInputError
|
|
221
221
|
} from "./chunk-7WV3F5DQ.js";
|
|
@@ -228,10 +228,10 @@ import {
|
|
|
228
228
|
createProductionChatLlmAdapter,
|
|
229
229
|
loadChatSession,
|
|
230
230
|
sessionBelongsToPrincipal
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-6PY5YJAV.js";
|
|
232
232
|
import {
|
|
233
233
|
EngramAccessService
|
|
234
|
-
} from "./chunk-
|
|
234
|
+
} from "./chunk-27QQC7ZX.js";
|
|
235
235
|
import {
|
|
236
236
|
WorkStorage
|
|
237
237
|
} from "./chunk-GDB4J2H3.js";
|
|
@@ -243,13 +243,13 @@ import {
|
|
|
243
243
|
parseRecallExplainFormat,
|
|
244
244
|
renderRecallExplain,
|
|
245
245
|
renderXray
|
|
246
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-GKRLPHPU.js";
|
|
247
247
|
import {
|
|
248
248
|
listMemoryGovernanceRuns,
|
|
249
249
|
readMemoryGovernanceRunArtifact,
|
|
250
250
|
restoreMemoryGovernanceRun,
|
|
251
251
|
runMemoryGovernance
|
|
252
|
-
} from "./chunk-
|
|
252
|
+
} from "./chunk-4NOI577P.js";
|
|
253
253
|
import {
|
|
254
254
|
getTrustZoneStoreStatus,
|
|
255
255
|
promoteTrustZoneRecord,
|
|
@@ -274,7 +274,7 @@ import {
|
|
|
274
274
|
import {
|
|
275
275
|
RECALL_DISCLOSURE_LEVELS,
|
|
276
276
|
isRecallDisclosure
|
|
277
|
-
} from "./chunk-
|
|
277
|
+
} from "./chunk-PUR2CKX2.js";
|
|
278
278
|
import {
|
|
279
279
|
RECALL_FALLBACK_DIRS
|
|
280
280
|
} from "./chunk-VS2IYZRU.js";
|
|
@@ -3575,7 +3575,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
3575
3575
|
const idArg = typeof args[0] === "string" ? args[0] : "";
|
|
3576
3576
|
const options = args[1] ?? {};
|
|
3577
3577
|
const reason = typeof options.reason === "string" && options.reason.trim().length > 0 ? options.reason.trim() : void 0;
|
|
3578
|
-
const { forgetMemory } = await import("./forget-
|
|
3578
|
+
const { forgetMemory } = await import("./forget-WYLR4ZFV.js");
|
|
3579
3579
|
try {
|
|
3580
3580
|
const result = await forgetMemory(orchestrator.storage, {
|
|
3581
3581
|
id: idArg,
|
|
@@ -7505,4 +7505,4 @@ export {
|
|
|
7505
7505
|
listMemoryMarkdownFilePaths,
|
|
7506
7506
|
registerCli
|
|
7507
7507
|
};
|
|
7508
|
-
//# sourceMappingURL=chunk-
|
|
7508
|
+
//# sourceMappingURL=chunk-MJIHJ7OG.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
planNamespaceMaintenance,
|
|
12
12
|
runNamespaceMaintenanceBatchPlan
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-M4V2JVSZ.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveHomeDir
|
|
16
16
|
} from "./chunk-JUC24CTX.js";
|
|
@@ -441,4 +441,4 @@ var MaintenanceScheduler = class {
|
|
|
441
441
|
export {
|
|
442
442
|
MaintenanceScheduler
|
|
443
443
|
};
|
|
444
|
-
//# sourceMappingURL=chunk-
|
|
444
|
+
//# sourceMappingURL=chunk-MLKWJOAJ.js.map
|