@remnic/core 9.23.4 → 9.25.0
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 +12 -10
- package/dist/access-admin-ops-surface.js +40 -39
- package/dist/access-authorization-probe.d.ts +122 -0
- package/dist/access-authorization-probe.js +154 -0
- package/dist/access-boundary.d.ts +12 -10
- package/dist/access-boundary.js +40 -39
- package/dist/access-cli.js +119 -117
- package/dist/access-cli.js.map +1 -1
- package/dist/access-health-types.d.ts +54 -0
- package/dist/access-health-types.js +1 -0
- package/dist/access-http.d.ts +12 -10
- package/dist/access-http.js +51 -49
- package/dist/access-identity-continuity-surface.d.ts +9 -8
- package/dist/access-identity-continuity-surface.js +40 -39
- package/dist/access-lcm-surface.d.ts +12 -10
- package/dist/access-lcm-surface.js +40 -39
- package/dist/access-mcp.d.ts +12 -10
- package/dist/access-mcp.js +46 -45
- package/dist/access-memory-search-fanout.d.ts +3 -2
- package/dist/{access-namespace-preflight-CmErR03h.d.ts → access-namespace-preflight-wRSZEO5V.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +4 -3
- package/dist/access-namespace-preflight.js +40 -39
- package/dist/access-observe-write-surface.d.ts +13 -11
- package/dist/access-observe-write-surface.js +40 -39
- package/dist/access-operations-batch.js +42 -41
- package/dist/access-operations.d.ts +13 -11
- package/dist/access-operations.js +44 -43
- package/dist/access-recall-concurrency.d.ts +12 -10
- package/dist/access-recall-concurrency.js +40 -39
- package/dist/access-recall-response.d.ts +12 -10
- package/dist/access-recall-response.js +40 -39
- package/dist/access-recall-surface.d.ts +12 -10
- package/dist/access-recall-surface.js +40 -39
- package/dist/access-schema.d.ts +10 -10
- package/dist/access-schema.js +8 -8
- package/dist/{access-service-Pl-h7x4p.d.ts → access-service-BlNKWBC9.d.ts} +10 -40
- package/dist/access-service.d.ts +13 -11
- package/dist/access-service.js +40 -39
- package/dist/access-surface-catalog.d.ts +12 -10
- package/dist/access-token-capabilities.d.ts +15 -1
- package/dist/access-token-capabilities.js +3 -1
- package/dist/access-wearables-meetings-surface.d.ts +4 -3
- package/dist/action-confidence.d.ts +2 -1
- package/dist/active-memory-bridge.d.ts +2 -1
- package/dist/active-recall.d.ts +2 -1
- package/dist/active-recall.js +7 -6
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/auto-sync-5OE5QOZB.js +1 -1
- package/dist/behavior-learner.d.ts +2 -1
- package/dist/behavior-signals.d.ts +2 -1
- package/dist/bootstrap.d.ts +9 -8
- package/dist/briefing.d.ts +3 -2
- package/dist/briefing.js +9 -9
- package/dist/buffer-surprise-report.d.ts +2 -1
- package/dist/buffer.d.ts +6 -2
- package/dist/buffer.js +1 -1
- package/dist/bulk-import/index.d.ts +4 -3
- package/dist/calibration.d.ts +2 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/capsule-crypto-7FJQINUR.js.map +1 -0
- package/dist/{catalog-BFTVo2Ez.d.ts → catalog-BLLxZ5L5.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +2 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +2 -1
- package/dist/causal-consolidation.js +12 -12
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.d.ts +2 -1
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
- package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-34RC5RT7.js → chunk-2SA56WMI.js} +4 -4
- package/dist/{chunk-POHSSW2T.js → chunk-3CDMIR3C.js} +2 -2
- package/dist/{chunk-EXH5AK46.js → chunk-3I35RLJW.js} +27 -15
- package/dist/chunk-3I35RLJW.js.map +1 -0
- package/dist/{chunk-JRQBPN63.js → chunk-3UOSVTFR.js} +8 -8
- package/dist/chunk-443XCR34.js +213 -0
- package/dist/chunk-443XCR34.js.map +1 -0
- package/dist/{chunk-354T54RR.js → chunk-4TFIRMTE.js} +28 -1
- package/dist/chunk-4TFIRMTE.js.map +1 -0
- package/dist/{chunk-CNUZ2PN2.js → chunk-5ZGWA4AG.js} +14 -10
- package/dist/chunk-5ZGWA4AG.js.map +1 -0
- package/dist/{chunk-AT7XL2JJ.js → chunk-6LRTGCRV.js} +10 -10
- package/dist/{chunk-AJ7QCSIS.js → chunk-7CPOZH6Y.js} +2 -2
- package/dist/{chunk-EHOTE26K.js → chunk-AGR7MGUX.js} +2 -2
- package/dist/{chunk-D5ILARSD.js → chunk-AL4TZWI3.js} +2 -2
- package/dist/{chunk-RPOSRICW.js → chunk-AT6DNUCM.js} +2 -2
- package/dist/{chunk-KNB7IBBU.js → chunk-CKMO4RDY.js} +5 -5
- package/dist/{chunk-5CPI2QWG.js → chunk-CSXHRAJJ.js} +3 -3
- package/dist/{chunk-5XMJ2P62.js → chunk-DPYYSG6F.js} +7 -7
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-K3C6CJOF.js → chunk-FIGDB2HR.js} +2 -2
- package/dist/{chunk-Z54EM5YZ.js → chunk-GF22HWS2.js} +4 -4
- package/dist/{chunk-ZYU7ZFLT.js → chunk-GJJBPI6I.js} +5 -1
- package/dist/chunk-GJJBPI6I.js.map +1 -0
- package/dist/{chunk-UZ7HGRHK.js → chunk-GNFZFJBJ.js} +2 -2
- package/dist/{chunk-W6ROK2KU.js → chunk-HNZKVLAN.js} +2 -2
- package/dist/{chunk-HVYOZAQ7.js → chunk-IE4HB6O5.js} +3 -3
- package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
- package/dist/chunk-JMDZDT24.js +38 -0
- package/dist/chunk-JMDZDT24.js.map +1 -0
- package/dist/{chunk-UZGJFIIG.js → chunk-JYIFGGEM.js} +2 -2
- package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
- package/dist/{chunk-3SHB4YAW.js → chunk-L2DPF4DF.js} +4 -4
- package/dist/{chunk-SPWOLGXT.js → chunk-LARPWF3S.js} +3 -3
- package/dist/{chunk-NSRTLSBX.js → chunk-LFHMUWA2.js} +131 -131
- package/dist/{chunk-AYAROCWD.js → chunk-LLISELSY.js} +2 -2
- package/dist/{chunk-W3BKLKG6.js → chunk-LXKJNUND.js} +2 -2
- package/dist/{chunk-MMTG3SCJ.js → chunk-M5EPMNS4.js} +2 -2
- package/dist/{chunk-KYP5FSPG.js → chunk-MNLZGCM2.js} +10 -10
- package/dist/{chunk-TMX4MBSK.js → chunk-MPDX5QMH.js} +2 -2
- package/dist/{chunk-PO5LSKQO.js → chunk-MU7ZHSZE.js} +2 -2
- package/dist/{chunk-7AMFUATK.js → chunk-MZWSOLMT.js} +14 -1
- package/dist/chunk-MZWSOLMT.js.map +1 -0
- package/dist/{chunk-JVOA5VDZ.js → chunk-NMGO2HAZ.js} +3 -3
- package/dist/{chunk-CAGPP5NB.js → chunk-NRV4Y3PM.js} +1 -1
- package/dist/{chunk-H2M4YA6K.js → chunk-NVYCTASB.js} +2 -2
- package/dist/{chunk-M2PG7OTI.js → chunk-P25IPRXP.js} +7 -7
- package/dist/{chunk-6MFMTNY4.js → chunk-RROMWDDC.js} +50 -54
- package/dist/chunk-RROMWDDC.js.map +1 -0
- package/dist/{chunk-FPJWQZ35.js → chunk-SZN6XVFC.js} +2 -2
- package/dist/{chunk-ZLDMAGCB.js → chunk-TG2DJFH7.js} +80 -80
- package/dist/chunk-TG2DJFH7.js.map +1 -0
- package/dist/{chunk-4E3DWNTJ.js → chunk-THHPDPMS.js} +2 -2
- package/dist/{chunk-XPLTZEJU.js → chunk-U37RGPJT.js} +2 -2
- package/dist/{chunk-SCOT5DTA.js → chunk-V25OWXAC.js} +1 -1
- package/dist/chunk-V25OWXAC.js.map +1 -0
- package/dist/{chunk-3UD5ZAUA.js → chunk-VY6SDKWZ.js} +2 -2
- package/dist/{chunk-XJTYLU6J.js → chunk-W4ZDTHWZ.js} +3 -3
- package/dist/{chunk-3NAHZQU3.js → chunk-X3SQYAPP.js} +2 -2
- package/dist/{chunk-WMLHJ5UW.js → chunk-X6ROIHFE.js} +2 -2
- package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-GCQIMJFH.js → chunk-XTAAG4SQ.js} +8 -8
- package/dist/{chunk-RSLXMGFP.js → chunk-ZN4UZWMT.js} +2 -2
- package/dist/{cli-DuMB83Mw.d.ts → cli-Zc6UclD1.d.ts} +5 -5
- package/dist/cli.d.ts +14 -12
- package/dist/cli.js +82 -80
- package/dist/compounding/engine.d.ts +3 -2
- package/dist/compounding/engine.js +9 -9
- package/dist/compounding/preference-consolidator.d.ts +2 -1
- package/dist/compression-optimizer.d.ts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/config.js +4 -3
- package/dist/connectors/codex-materialize-runner.d.ts +2 -1
- package/dist/connectors/codex-materialize-runner.js +9 -9
- package/dist/connectors/codex-materialize.d.ts +2 -1
- package/dist/connectors/index.d.ts +2 -1
- package/dist/connectors/index.js +12 -12
- package/dist/consolidation-provenance-check.d.ts +3 -2
- package/dist/consolidation-provenance-check.js +2 -2
- package/dist/consolidation-undo.d.ts +3 -2
- package/dist/contradiction/index.d.ts +3 -2
- package/dist/contradiction/index.js +1 -1
- package/dist/conversation-index/backend.d.ts +2 -1
- package/dist/conversation-index/backend.js +2 -2
- package/dist/conversation-index/chunker.d.ts +2 -1
- package/dist/conversation-index/faiss-adapter.d.ts +2 -1
- package/dist/conversation-index/indexer.d.ts +2 -1
- package/dist/conversation-index/search.d.ts +2 -1
- package/dist/corpus-watermark.d.ts +2 -1
- package/dist/corpus-watermark.js +18 -18
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +2 -1
- package/dist/delinearize.d.ts +2 -1
- package/dist/direct-answer-wiring.d.ts +2 -1
- package/dist/direct-answer.d.ts +2 -1
- package/dist/embedding-fallback.d.ts +2 -1
- package/dist/enrichment/index.d.ts +2 -1
- package/dist/entity-retrieval.d.ts +3 -2
- package/dist/entity-retrieval.js +9 -9
- package/dist/entity-schema.d.ts +2 -1
- package/dist/explicit-capture.d.ts +9 -8
- package/dist/explicit-capture.js +1 -1
- package/dist/extraction-error-classification.d.ts +2 -1
- package/dist/extraction-faithfulness.d.ts +2 -1
- package/dist/extraction-judge-telemetry.d.ts +2 -1
- package/dist/extraction-judge-training.d.ts +2 -1
- package/dist/extraction-judge.d.ts +2 -1
- package/dist/extraction-liveness.d.ts +5 -0
- package/dist/extraction-liveness.js +26 -0
- package/dist/extraction-liveness.js.map +1 -0
- package/dist/extraction.d.ts +2 -1
- package/dist/extraction.js +1 -1
- package/dist/fallback-llm.d.ts +2 -1
- package/dist/graph-dashboard-diff.d.ts +2 -1
- package/dist/graph-dashboard-key.d.ts +2 -1
- package/dist/graph-dashboard-parser.d.ts +2 -1
- package/dist/{graph-edge-decay-GF3ZSGSP.js → graph-edge-decay-Z6ENALU2.js} +4 -4
- package/dist/graph-edge-decay-Z6ENALU2.js.map +1 -0
- package/dist/graph-edge-reinforcement.d.ts +2 -1
- package/dist/graph-snapshot.d.ts +2 -1
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.d.ts +2 -1
- package/dist/graph.js +2 -2
- package/dist/importance.d.ts +2 -1
- package/dist/importers/index.d.ts +2 -1
- package/dist/in-flight-reads.d.ts +2 -1
- package/dist/index.d.ts +53 -51
- package/dist/index.js +229 -227
- package/dist/intent.d.ts +2 -1
- package/dist/lcm/engine.d.ts +2 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +2 -1
- package/dist/lcm/index.js +4 -4
- package/dist/lcm/tools.d.ts +2 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/live-connectors-runner.d.ts +2 -1
- package/dist/local-llm.d.ts +2 -1
- package/dist/local-model-endpoint.d.ts +2 -1
- package/dist/maintenance/memory-governance.d.ts +2 -1
- package/dist/maintenance/memory-governance.js +9 -9
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -9
- package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-projection.js +10 -10
- package/dist/{maintenance-DGvDB1xF.d.ts → maintenance-DD22oIx9.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +12 -10
- package/dist/memory-action-policy.d.ts +2 -1
- package/dist/memory-cache.d.ts +2 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
- package/dist/memory-projection-store.d.ts +2 -1
- package/dist/memory-provenance.d.ts +2 -1
- package/dist/memory-worth-outcomes.d.ts +3 -2
- package/dist/models-json.d.ts +2 -1
- package/dist/namespaces/migrate.d.ts +4 -3
- package/dist/namespaces/migrate.js +16 -16
- package/dist/namespaces/principal.d.ts +2 -1
- package/dist/namespaces/search.d.ts +2 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +4 -3
- package/dist/namespaces/storage.js +9 -9
- package/dist/native-knowledge.d.ts +2 -1
- package/dist/offline-sync-impression-drain.d.ts +2 -1
- package/dist/offline-sync-impression-drain.js +1 -1
- package/dist/operator-doctor-corpus.d.ts +2 -15
- package/dist/operator-doctor-corpus.js +19 -19
- package/dist/operator-doctor-types.d.ts +22 -0
- package/dist/operator-doctor-types.js +1 -0
- package/dist/operator-doctor-types.js.map +1 -0
- package/dist/operator-toolkit.d.ts +10 -13
- package/dist/operator-toolkit.js +32 -28
- package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
- package/dist/orchestration/maintenance.d.ts +5 -4
- package/dist/orchestration/maintenance.js +15 -15
- package/dist/{orchestrator-RXHefhAy.d.ts → orchestrator-BTGgoKli.d.ts} +7 -7
- package/dist/orchestrator.d.ts +9 -8
- package/dist/orchestrator.js +120 -118
- package/dist/patterns-cli.d.ts +2 -1
- package/dist/{pipeline-id_-sqYm.d.ts → pipeline-Bq5zU6Bp.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +2 -1
- package/dist/proactive-contention.d.ts +2 -1
- package/dist/provenance.d.ts +2 -1
- package/dist/{qmd-R6XaQOZK.d.ts → qmd-3ILJkC70.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +3 -2
- package/dist/qmd-recall-cache.d.ts +2 -1
- package/dist/qmd.d.ts +3 -2
- package/dist/recall-concurrency-config.d.ts +2 -1
- package/dist/recall-disclosure-escalation.d.ts +2 -1
- package/dist/recall-explain-renderer.d.ts +2 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +2 -1
- package/dist/recall-planner-llm.d.ts +2 -1
- package/dist/recall-state.d.ts +2 -1
- package/dist/recall-tag-filter.d.ts +2 -1
- package/dist/recall-timings.d.ts +2 -1
- package/dist/recall-xray-cli.d.ts +2 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +2 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +2 -1
- package/dist/recall-xray.js +2 -2
- package/dist/replay/normalizers/chatgpt.d.ts +2 -1
- package/dist/replay/normalizers/claude.d.ts +2 -1
- package/dist/replay/normalizers/openclaw.d.ts +2 -1
- package/dist/replay/normalizers/shared.d.ts +2 -1
- package/dist/replay/runner.d.ts +2 -1
- package/dist/replay/types.d.ts +2 -1
- package/dist/resolution-3K27T4VO.js +1 -1
- package/dist/resolve-auth-token.d.ts +2 -1
- package/dist/resume-bundles.js +6 -5
- package/dist/retrieval-agents.d.ts +3 -2
- package/dist/retrieval-tiers.d.ts +2 -1
- package/dist/routing/engine.d.ts +2 -1
- package/dist/routing/store.d.ts +2 -1
- package/dist/salvage-envelope.d.ts +2 -1
- package/dist/salvage-envelope.js +1 -1
- package/dist/{scope-profiles-EhyuAKkd.d.ts → scope-profiles-D0-ff4xT.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +2 -1
- package/dist/search/factory.d.ts +2 -1
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +2 -1
- package/dist/search/index.js +9 -9
- package/dist/search/lancedb-backend.d.ts +2 -1
- package/dist/search/meilisearch-backend.d.ts +2 -1
- package/dist/search/noop-backend.d.ts +2 -1
- package/dist/search/orama-backend.d.ts +2 -1
- package/dist/search/port.d.ts +2 -1
- package/dist/search/remote-backend.d.ts +2 -1
- package/dist/{semantic-consolidation-B2xo26UQ.d.ts → semantic-consolidation-4Tfh7c1g.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +3 -2
- package/dist/semantic-consolidation.js +14 -14
- package/dist/semantic-rule-promotion.js +9 -9
- package/dist/semantic-rule-verifier.d.ts +2 -1
- package/dist/semantic-rule-verifier.js +9 -9
- package/dist/{service-BrWqlsZ4.d.ts → service-Z8uzoAST.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +2 -1
- package/dist/session-observer-state.d.ts +2 -1
- package/dist/shared-context/manager.d.ts +2 -1
- package/dist/signal.d.ts +2 -1
- package/dist/{storage-DgNVexXm.d.ts → storage-BZVMn8yJ.d.ts} +1 -1
- package/dist/storage.d.ts +3 -2
- package/dist/storage.js +8 -8
- package/dist/summarizer.d.ts +2 -1
- package/dist/summary-snapshot.d.ts +2 -1
- package/dist/temporal-supersession.d.ts +3 -2
- package/dist/temporal-timeline-recall.d.ts +2 -1
- package/dist/temporal-validity.d.ts +2 -1
- package/dist/threading.d.ts +2 -1
- package/dist/tier-migration.d.ts +3 -2
- package/dist/tier-routing.d.ts +2 -1
- package/dist/tokens.js +2 -2
- package/dist/topics.d.ts +2 -1
- package/dist/transcript.d.ts +2 -1
- package/dist/transfer/backup.js +4 -4
- package/dist/transfer/capsule-export.js +4 -4
- package/dist/transfer/capsule-import.js +3 -3
- package/dist/trust-score-stage.d.ts +2 -1
- package/dist/trust-score.d.ts +2 -1
- package/dist/{types-Bbs0qz6b.d.ts → types-DHBxIF0s.d.ts} +181 -5
- package/dist/types.d.ts +2 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -1
- package/dist/verified-recall.js +9 -9
- package/dist/write-envelope.d.ts +2 -1
- package/dist/write-envelope.js +1 -1
- package/package.json +2 -2
- package/src/access-authorization-probe.ts +43 -0
- package/src/access-boundary.ts +2 -31
- package/src/access-health-types.ts +51 -0
- package/src/access-http.test.ts +94 -0
- package/src/access-http.ts +11 -0
- package/src/access-service-health.test.ts +212 -0
- package/src/access-service.ts +11 -39
- package/src/access-surface-catalog.test.ts +4 -3
- package/src/access-token-capabilities.ts +31 -0
- package/src/buffer.ts +30 -0
- package/src/cli.ts +2 -4
- package/src/config.ts +4 -4
- package/src/extraction-liveness.test.ts +461 -0
- package/src/extraction-liveness.ts +462 -0
- package/src/operator-doctor-types.ts +20 -0
- package/src/operator-toolkit.ts +9 -10
- package/src/types.ts +4 -4
- package/dist/chunk-354T54RR.js.map +0 -1
- package/dist/chunk-6MFMTNY4.js.map +0 -1
- package/dist/chunk-7AMFUATK.js.map +0 -1
- package/dist/chunk-CNUZ2PN2.js.map +0 -1
- package/dist/chunk-EXH5AK46.js.map +0 -1
- package/dist/chunk-SCOT5DTA.js.map +0 -1
- package/dist/chunk-ZLDMAGCB.js.map +0 -1
- package/dist/chunk-ZYU7ZFLT.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → access-authorization-probe.js.map} +0 -0
- /package/dist/{graph-edge-decay-GF3ZSGSP.js.map → access-health-types.js.map} +0 -0
- /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-34RC5RT7.js.map → chunk-2SA56WMI.js.map} +0 -0
- /package/dist/{chunk-POHSSW2T.js.map → chunk-3CDMIR3C.js.map} +0 -0
- /package/dist/{chunk-JRQBPN63.js.map → chunk-3UOSVTFR.js.map} +0 -0
- /package/dist/{chunk-AT7XL2JJ.js.map → chunk-6LRTGCRV.js.map} +0 -0
- /package/dist/{chunk-AJ7QCSIS.js.map → chunk-7CPOZH6Y.js.map} +0 -0
- /package/dist/{chunk-EHOTE26K.js.map → chunk-AGR7MGUX.js.map} +0 -0
- /package/dist/{chunk-D5ILARSD.js.map → chunk-AL4TZWI3.js.map} +0 -0
- /package/dist/{chunk-RPOSRICW.js.map → chunk-AT6DNUCM.js.map} +0 -0
- /package/dist/{chunk-KNB7IBBU.js.map → chunk-CKMO4RDY.js.map} +0 -0
- /package/dist/{chunk-5CPI2QWG.js.map → chunk-CSXHRAJJ.js.map} +0 -0
- /package/dist/{chunk-5XMJ2P62.js.map → chunk-DPYYSG6F.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-K3C6CJOF.js.map → chunk-FIGDB2HR.js.map} +0 -0
- /package/dist/{chunk-Z54EM5YZ.js.map → chunk-GF22HWS2.js.map} +0 -0
- /package/dist/{chunk-UZ7HGRHK.js.map → chunk-GNFZFJBJ.js.map} +0 -0
- /package/dist/{chunk-W6ROK2KU.js.map → chunk-HNZKVLAN.js.map} +0 -0
- /package/dist/{chunk-HVYOZAQ7.js.map → chunk-IE4HB6O5.js.map} +0 -0
- /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
- /package/dist/{chunk-UZGJFIIG.js.map → chunk-JYIFGGEM.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-3SHB4YAW.js.map → chunk-L2DPF4DF.js.map} +0 -0
- /package/dist/{chunk-SPWOLGXT.js.map → chunk-LARPWF3S.js.map} +0 -0
- /package/dist/{chunk-NSRTLSBX.js.map → chunk-LFHMUWA2.js.map} +0 -0
- /package/dist/{chunk-AYAROCWD.js.map → chunk-LLISELSY.js.map} +0 -0
- /package/dist/{chunk-W3BKLKG6.js.map → chunk-LXKJNUND.js.map} +0 -0
- /package/dist/{chunk-MMTG3SCJ.js.map → chunk-M5EPMNS4.js.map} +0 -0
- /package/dist/{chunk-KYP5FSPG.js.map → chunk-MNLZGCM2.js.map} +0 -0
- /package/dist/{chunk-TMX4MBSK.js.map → chunk-MPDX5QMH.js.map} +0 -0
- /package/dist/{chunk-PO5LSKQO.js.map → chunk-MU7ZHSZE.js.map} +0 -0
- /package/dist/{chunk-JVOA5VDZ.js.map → chunk-NMGO2HAZ.js.map} +0 -0
- /package/dist/{chunk-CAGPP5NB.js.map → chunk-NRV4Y3PM.js.map} +0 -0
- /package/dist/{chunk-H2M4YA6K.js.map → chunk-NVYCTASB.js.map} +0 -0
- /package/dist/{chunk-M2PG7OTI.js.map → chunk-P25IPRXP.js.map} +0 -0
- /package/dist/{chunk-FPJWQZ35.js.map → chunk-SZN6XVFC.js.map} +0 -0
- /package/dist/{chunk-4E3DWNTJ.js.map → chunk-THHPDPMS.js.map} +0 -0
- /package/dist/{chunk-XPLTZEJU.js.map → chunk-U37RGPJT.js.map} +0 -0
- /package/dist/{chunk-3UD5ZAUA.js.map → chunk-VY6SDKWZ.js.map} +0 -0
- /package/dist/{chunk-XJTYLU6J.js.map → chunk-W4ZDTHWZ.js.map} +0 -0
- /package/dist/{chunk-3NAHZQU3.js.map → chunk-X3SQYAPP.js.map} +0 -0
- /package/dist/{chunk-WMLHJ5UW.js.map → chunk-X6ROIHFE.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-GCQIMJFH.js.map → chunk-XTAAG4SQ.js.map} +0 -0
- /package/dist/{chunk-RSLXMGFP.js.map → chunk-ZN4UZWMT.js.map} +0 -0
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-LMDRGRJ2.js";
|
|
12
12
|
import {
|
|
13
13
|
parseConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GJJBPI6I.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-LLISELSY.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-ZBJMUXZH.js";
|
|
5
5
|
import {
|
|
6
6
|
StorageManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XTAAG4SQ.js";
|
|
8
8
|
import {
|
|
9
9
|
getCachedRuleMemories,
|
|
10
10
|
setCachedRuleMemories
|
|
@@ -119,4 +119,4 @@ export {
|
|
|
119
119
|
compareVerifiedSemanticRuleResults,
|
|
120
120
|
searchVerifiedSemanticRules
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
122
|
+
//# sourceMappingURL=chunk-LXKJNUND.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-SOBJ6NEY.js";
|
|
4
4
|
import {
|
|
5
5
|
summarizeDisclosureTokens
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-X3SQYAPP.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-M5EPMNS4.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runGraphEdgeDecayMaintenanceAcrossNamespaces
|
|
3
|
-
} from "./chunk-W6ROK2KU.js";
|
|
4
1
|
import {
|
|
5
2
|
normalizeDreamsStatusWindowHours
|
|
6
3
|
} from "./chunk-EQWEIIKQ.js";
|
|
4
|
+
import {
|
|
5
|
+
runGraphEdgeDecayMaintenanceAcrossNamespaces
|
|
6
|
+
} from "./chunk-HNZKVLAN.js";
|
|
7
7
|
import {
|
|
8
8
|
runContradictionScan
|
|
9
9
|
} from "./chunk-BJJAX3IZ.js";
|
|
@@ -28,20 +28,20 @@ import {
|
|
|
28
28
|
defineOperation,
|
|
29
29
|
parseNamespacePreflightWriteOp,
|
|
30
30
|
resolveAuthorizedNamespaceWritablePreflight
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-RROMWDDC.js";
|
|
32
32
|
import {
|
|
33
33
|
projectTagProjectId
|
|
34
34
|
} from "./chunk-MQVINOJQ.js";
|
|
35
35
|
import {
|
|
36
36
|
validateBriefingFormat
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import {
|
|
39
|
-
enforceNamespaceAllowList,
|
|
40
|
-
tokenCapabilityStore
|
|
41
|
-
} from "./chunk-7AMFUATK.js";
|
|
37
|
+
} from "./chunk-SZN6XVFC.js";
|
|
42
38
|
import {
|
|
43
39
|
expandTildePath
|
|
44
40
|
} from "./chunk-EYIEWJNI.js";
|
|
41
|
+
import {
|
|
42
|
+
enforceNamespaceAllowList,
|
|
43
|
+
tokenCapabilityStore
|
|
44
|
+
} from "./chunk-MZWSOLMT.js";
|
|
45
45
|
import {
|
|
46
46
|
resolvePrincipal
|
|
47
47
|
} from "./chunk-2H7OEVPO.js";
|
|
@@ -484,4 +484,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
|
|
|
484
484
|
defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
|
|
485
485
|
defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
|
|
486
486
|
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 } }) });
|
|
487
|
-
//# sourceMappingURL=chunk-
|
|
487
|
+
//# sourceMappingURL=chunk-MNLZGCM2.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-3UXOZBHV.js";
|
|
8
8
|
import {
|
|
9
9
|
StorageManager
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XTAAG4SQ.js";
|
|
11
11
|
import {
|
|
12
12
|
isSafeRouteNamespace
|
|
13
13
|
} from "./chunk-U3PN77QT.js";
|
|
@@ -118,4 +118,4 @@ export {
|
|
|
118
118
|
runCodexMaterialize,
|
|
119
119
|
runPostConsolidationMaterialize
|
|
120
120
|
};
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-MPDX5QMH.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-B7RWBZXW.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveCausalTrajectoryStoreDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NRV4Y3PM.js";
|
|
7
7
|
import {
|
|
8
8
|
normalizeRecallTokens
|
|
9
9
|
} from "./chunk-ZBJMUXZH.js";
|
|
@@ -339,4 +339,4 @@ export {
|
|
|
339
339
|
scoreStitchCandidate,
|
|
340
340
|
stitchCausalChain
|
|
341
341
|
};
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
342
|
+
//# sourceMappingURL=chunk-MU7ZHSZE.js.map
|
|
@@ -114,6 +114,18 @@ function capabilityAllowsOp(caps, op) {
|
|
|
114
114
|
if (caps?.ops === void 0) return true;
|
|
115
115
|
return caps.ops.includes(op);
|
|
116
116
|
}
|
|
117
|
+
function assertOperationAuthorizationAllowed(caps, operation) {
|
|
118
|
+
if (operation.allowedByOps && operation.allowedByOps.length > 0) {
|
|
119
|
+
if (!operation.allowedByOps.some((allowedOperation) => capabilityAllowsOp(caps, allowedOperation))) {
|
|
120
|
+
throw new EngramAccessForbiddenError(`token is not permitted to call operation: ${operation.name}`);
|
|
121
|
+
}
|
|
122
|
+
} else {
|
|
123
|
+
assertOperationAllowed(caps, operation.name);
|
|
124
|
+
}
|
|
125
|
+
if (operation.fleetWide) {
|
|
126
|
+
assertFleetWideOperationAllowed(caps);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
117
129
|
function capabilityAllowsNamespace(caps, namespace) {
|
|
118
130
|
if (caps?.namespaces === void 0) return true;
|
|
119
131
|
if (namespace === void 0) return false;
|
|
@@ -164,6 +176,7 @@ export {
|
|
|
164
176
|
validateCapabilitiesForMint,
|
|
165
177
|
isCapabilityRestricted,
|
|
166
178
|
capabilityAllowsOp,
|
|
179
|
+
assertOperationAuthorizationAllowed,
|
|
167
180
|
capabilityAllowsNamespace,
|
|
168
181
|
assertOperationAllowed,
|
|
169
182
|
assertNamespaceAllowed,
|
|
@@ -173,4 +186,4 @@ export {
|
|
|
173
186
|
assertFleetWideOperationAllowed,
|
|
174
187
|
tokenCapabilityStore
|
|
175
188
|
};
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
189
|
+
//# sourceMappingURL=chunk-MZWSOLMT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/access-token-capabilities.ts"],"sourcesContent":["/**\n * Per-token capabilities (issue #1837).\n *\n * A token entry MAY carry an explicit, versioned capabilities record. The\n * record's PRESENCE is mechanically detectable, which is load-bearing for\n * security:\n *\n * - ABSENT `capabilities` field ⇒ a PRE-FEATURE legacy entry (minted\n * before this feature). It is UNRESTRICTED — full access — purely for\n * backward compatibility. This is the ONLY path by which \"full access\"\n * is granted by omission.\n *\n * - PRESENT `capabilities` record (always carries a `version` marker) ⇒ a\n * token minted by the capability-aware path. Even a new token minted\n * without `--ops`/`--namespaces` records an EXPLICIT unrestricted record\n * (`{ version: 1 }`) — a deliberate, auditable choice, never an\n * accidentally-omitted field. Within the record, the two axes follow\n * absent-vs-present semantics:\n * * axis ABSENT (e.g. no `ops` key) ⇒ unrestricted on that axis.\n * * axis PRESENT and empty (`ops: []`) ⇒ deny all (fail-closed).\n * * axis PRESENT and non-empty ⇒ allow only the listed values.\n *\n * Malformed capability input at mint time (bad version, non-array axes,\n * non-string elements, unknown op names against the catalog, malformed\n * namespace values) is REJECTED — a token is never created from invalid\n * input (rule: invalid input rejected, not defaulted).\n *\n * This module owns the pure capability logic (shape validation, allow-list\n * checks) and the per-request AsyncLocalStorage carrying the presenting\n * token's resolved capabilities down to the access boundary. It imports\n * nothing else in the package except the forbidden-error class, so it can be\n * reused by the token store, the boundary, and the HTTP/MCP surfaces without\n * cycles.\n */\n\nimport { AsyncLocalStorage } from \"node:async_hooks\";\nimport { EngramAccessForbiddenError } from \"./access-errors.js\";\n\n/** Current capability-record schema version. */\nexport const TOKEN_CAPABILITIES_VERSION = 1 as const;\n\n/**\n * Versioned capabilities record stored on a token entry. Presence of this\n * record (vs. an absent field) is what distinguishes a capability-aware\n * token from a pre-feature legacy entry.\n */\nexport interface TokenCapabilities {\n readonly version: typeof TOKEN_CAPABILITIES_VERSION;\n /**\n * Operations allow-list. `undefined` (key absent) ⇒ unrestricted on this\n * axis. `[]` ⇒ deny all ops (fail-closed). Non-empty ⇒ allow only listed.\n */\n ops?: string[];\n /**\n * Namespaces allow-list. `undefined` ⇒ unrestricted. `[]` ⇒ deny all.\n * Non-empty ⇒ allow only listed.\n */\n namespaces?: string[];\n}\n\n/**\n * Namespace value validation. Namespace identifiers are flexible (default,\n * team, self, principal-prefixed, project-prefixed) but must never contain\n * whitespace, path separators, traversal segments, or control characters —\n * such values are malformed at mint time and rejected, never silently\n * coerced.\n */\nconst NAMESPACE_VALUE_MAX_LENGTH = 128;\n// Non-empty, no whitespace, no path separators, no control chars. `.` and\n// `..` are rejected separately so legitimate dotted names (e.g. a domain)\n// remain allowed while traversal is not.\nconst NAMESPACE_VALUE_PATTERN = /^[^\\s\\/\\\\\\x00-\\x1F]+$/;\n\n/** True when `value` is an acceptable namespace allow-list entry. */\nexport function isValidNamespaceValue(value: unknown): value is string {\n if (typeof value !== \"string\" || value.length === 0 || value.length > NAMESPACE_VALUE_MAX_LENGTH) {\n return false;\n }\n if (!NAMESPACE_VALUE_PATTERN.test(value)) return false;\n if (value === \".\" || value === \"..\") return false;\n return true;\n}\n\nfunction isStringArray(value: unknown): value is unknown[] {\n return Array.isArray(value) && value.every((v) => typeof v === \"string\");\n}\n\nfunction dedupeSort(values: string[]): string[] {\n return [...new Set(values)].sort();\n}\n\n/**\n * Parse one axis (ops or namespaces) for PERSISTENCE/LOAD. Returns the\n * cleaned array (deduped, sorted; possibly empty to preserve \"present ⇒\n * fail-closed\") or `undefined` when the key is absent. Throws on a malformed\n * shape (non-array, non-string elements, malformed namespace values). Op\n * validation against the catalog happens only at mint time.\n */\nfunction parseAxis(\n obj: Record<string, unknown>,\n key: \"ops\" | \"namespaces\",\n validateValue: (v: unknown) => boolean,\n valueLabel: string,\n): string[] | undefined {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) return undefined;\n const value = obj[key];\n if (value === undefined || value === null) return undefined;\n if (!isStringArray(value)) {\n throw new Error(`capabilities ${key} must be an array of non-empty strings`);\n }\n const cleaned: string[] = [];\n for (const v of value) {\n if (typeof v !== \"string\" || v.length === 0) {\n throw new Error(`capabilities ${key} must be an array of non-empty strings`);\n }\n if (!validateValue(v)) {\n throw new Error(`capabilities ${key} contains a malformed ${valueLabel}: ${JSON.stringify(v)}`);\n }\n cleaned.push(v);\n }\n // Preserve presence: an explicitly empty array stays [] (fail-closed),\n // NOT coerced to undefined (which would mean unrestricted).\n return dedupeSort(cleaned);\n}\n\n/**\n * Normalize a capabilities record for PERSISTENCE/LOAD. Returns `undefined`\n * ONLY when the record is entirely absent (a pre-feature legacy entry ⇒\n * unrestricted). When present, an absent/`undefined` `version` is COERCED to\n * the current default (1) — mirroring {@link validateCapabilitiesForMint} — so\n * a record that mint-validated also load-normalizes without a schema throw.\n * An explicitly-present WRONG version (not 1) is still rejected. Throws on a\n * malformed record (non-object, explicitly-wrong version, malformed axes).\n */\nexport function normalizeCapabilities(raw: unknown): TokenCapabilities | undefined {\n if (raw === undefined || raw === null) return undefined;\n if (typeof raw !== \"object\" || Array.isArray(raw)) {\n throw new Error(\"capabilities must be an object with a version marker\");\n }\n const obj = raw as Record<string, unknown>;\n // Coerce absent/undefined version → 1, mirroring validateCapabilitiesForMint\n // (version 1 is the only schema version; coercing keeps mint-validated\n // records reloadable). Only an explicitly-present WRONG version throws.\n if (obj.version !== undefined && obj.version !== TOKEN_CAPABILITIES_VERSION) {\n throw new Error(`capabilities.version must be ${TOKEN_CAPABILITIES_VERSION}`);\n }\n const ops = parseAxis(obj, \"ops\", () => true, \"operation\");\n const namespaces = parseAxis(obj, \"namespaces\", isValidNamespaceValue, \"namespace\");\n const result: TokenCapabilities = { version: TOKEN_CAPABILITIES_VERSION };\n if (ops !== undefined) result.ops = ops;\n if (namespaces !== undefined) result.namespaces = namespaces;\n return result;\n}\n\n/**\n * Validate a capabilities record at MINT time. ALWAYS returns a versioned\n * record (never `undefined`) so every newly-minted token carries an explicit\n * capability decision — a new token can never gain full access by OMITTING\n * the field. When `raw` is absent/null, the result is an explicit\n * unrestricted record (`{ version: 1 }`), a deliberate/auditable choice. A\n * present-but-`undefined` (or absent) `version` is coerced to the current\n * default (1); an explicitly-wrong version is rejected. This version rule is\n * identical to {@link normalizeCapabilities} (mint/load symmetry). Rejects\n * unknown op names against the catalog and malformed namespace values;\n * throws a plain Error — the caller must NOT create a token when this throws.\n */\nexport function validateCapabilitiesForMint(\n raw: unknown,\n validOps: readonly string[],\n): TokenCapabilities {\n const result: TokenCapabilities = { version: TOKEN_CAPABILITIES_VERSION };\n if (raw === undefined || raw === null) {\n return result;\n }\n if (typeof raw !== \"object\" || Array.isArray(raw)) {\n throw new Error(\"capabilities must be an object with optional ops/namespaces arrays\");\n }\n const obj = raw as Record<string, unknown>;\n if (Object.prototype.hasOwnProperty.call(obj, \"version\") && obj.version !== undefined) {\n if (obj.version !== TOKEN_CAPABILITIES_VERSION) {\n throw new Error(`capabilities.version must be ${TOKEN_CAPABILITIES_VERSION}`);\n }\n }\n const validOpSet = new Set(validOps);\n\n if (Object.prototype.hasOwnProperty.call(obj, \"ops\") && obj.ops !== undefined && obj.ops !== null) {\n if (!isStringArray(obj.ops)) {\n throw new Error(\"capabilities ops must be an array of non-empty strings\");\n }\n const ops = obj.ops as unknown[];\n for (const v of ops) {\n if (typeof v !== \"string\" || v.length === 0) {\n throw new Error(\"capabilities ops must be an array of non-empty strings\");\n }\n }\n // Reject unknown op names against the catalog (unknown ⇒ reject, never drop).\n const unknown = ops.filter((op) => typeof op === \"string\" && !validOpSet.has(op));\n if (unknown.length > 0) {\n throw new Error(\n `capabilities ops contains unknown operation name(s): ${unknown.map((o) => JSON.stringify(o)).join(\", \")}`,\n );\n }\n // Preserve presence (empty stays [] ⇒ deny all ops).\n result.ops = dedupeSort(ops as string[]);\n }\n\n if (\n Object.prototype.hasOwnProperty.call(obj, \"namespaces\") &&\n obj.namespaces !== undefined &&\n obj.namespaces !== null\n ) {\n if (!isStringArray(obj.namespaces)) {\n throw new Error(\"capabilities namespaces must be an array of non-empty strings\");\n }\n const namespaces = obj.namespaces as unknown[];\n for (const v of namespaces) {\n if (typeof v !== \"string\" || v.length === 0) {\n throw new Error(\"capabilities namespaces must be an array of non-empty strings\");\n }\n if (!isValidNamespaceValue(v)) {\n throw new Error(`capabilities namespaces contains a malformed namespace: ${JSON.stringify(v)}`);\n }\n }\n result.namespaces = dedupeSort(namespaces as string[]);\n }\n\n return result;\n}\n\n/**\n * True when `caps` imposes any restriction (a present record with at least\n * one axis key). `undefined` (legacy / absent record) ⇒ unrestricted. A\n * present `{ version: 1 }` record with no axes ⇒ also unrestricted (but\n * auditable — it is a deliberate new-token decision, not omission).\n */\nexport function isCapabilityRestricted(caps: TokenCapabilities | undefined | null): boolean {\n if (!caps) return false;\n return caps.ops !== undefined || caps.namespaces !== undefined;\n}\n\n/**\n * True when `caps` permits `op`.\n * - record ABSENT (legacy) ⇒ unrestricted (true).\n * - ops axis ABSENT ⇒ unrestricted on this axis (true).\n * - ops axis PRESENT ⇒ `op` must be listed; `[]` ⇒ false (deny all).\n */\nexport function capabilityAllowsOp(caps: TokenCapabilities | undefined | null, op: string): boolean {\n if (caps?.ops === undefined) return true;\n return caps.ops.includes(op);\n}\n\n/**\n * The operation policy that all access surfaces use to decide whether a token\n * can invoke an operation.\n */\nexport interface OperationAuthorizationPolicy {\n readonly name: string;\n readonly allowedByOps?: readonly string[];\n readonly fleetWide?: boolean;\n}\n\n/**\n * Apply an operation's alternate grant and fleet-wide restrictions without\n * invoking its handler.\n */\nexport function assertOperationAuthorizationAllowed(\n caps: TokenCapabilities | undefined | null,\n operation: OperationAuthorizationPolicy,\n): void {\n if (operation.allowedByOps && operation.allowedByOps.length > 0) {\n if (!operation.allowedByOps.some((allowedOperation) => capabilityAllowsOp(caps, allowedOperation))) {\n throw new EngramAccessForbiddenError(`token is not permitted to call operation: ${operation.name}`);\n }\n } else {\n assertOperationAllowed(caps, operation.name);\n }\n\n if (operation.fleetWide) {\n assertFleetWideOperationAllowed(caps);\n }\n}\n\n/**\n * True when `caps` permits `namespace`.\n * - record ABSENT / namespaces axis ABSENT ⇒ unrestricted (true).\n * - namespaces axis PRESENT ⇒ `namespace` must be listed; undefined\n * namespace ⇒ false; `[]` ⇒ false (deny all).\n */\nexport function capabilityAllowsNamespace(\n caps: TokenCapabilities | undefined | null,\n namespace: string | undefined,\n): boolean {\n if (caps?.namespaces === undefined) return true;\n if (namespace === undefined) return false;\n return caps.namespaces.includes(namespace);\n}\n\n/**\n * Throw {@link EngramAccessForbiddenError} when `caps` restricts ops and\n * `op` is not permitted. No-op for unrestricted tokens.\n */\nexport function assertOperationAllowed(\n caps: TokenCapabilities | undefined | null,\n op: string,\n): void {\n if (!capabilityAllowsOp(caps, op)) {\n throw new EngramAccessForbiddenError(\n `token is not permitted to call operation: ${op}`,\n );\n }\n}\n\n/**\n * Throw {@link EngramAccessForbiddenError} when `caps` restricts namespaces\n * and `namespace` is not permitted. No-op for unrestricted tokens.\n */\nexport function assertNamespaceAllowed(\n caps: TokenCapabilities | undefined | null,\n namespace: string | undefined,\n): void {\n if (!capabilityAllowsNamespace(caps, namespace)) {\n throw new EngramAccessForbiddenError(\n namespace === undefined\n ? \"token is scoped to specific namespaces and this operation requires an explicit namespace\"\n : `token is not permitted to access namespace: ${namespace}`,\n );\n }\n}\n\n/**\n * Resolve the EFFECTIVE namespace an operation runs against: a present,\n * non-empty request namespace wins, otherwise the server default — the same\n * resolution downstream storage applies\n * (`getWritableStorageForNamespace(undefined)` → `defaultNamespace`). Empty\n * strings are treated as absent. Centralized so every invocation surface\n * (HTTP query/body, MCP `tools/call`, id-loaded records, legacy pairs that\n * carry no namespace) applies ONE rule and none can dodge the check by\n * dropping the param. (issue #1850)\n */\nexport function resolveEffectiveNamespace(\n namespace: string | undefined,\n defaultNamespace: string | undefined,\n): string | undefined {\n const normalized = namespace !== undefined && namespace.length > 0 ? namespace : undefined;\n return normalized ?? defaultNamespace;\n}\n\n/**\n * The single effective-namespace allow-list chokepoint (issues #1837/#1850).\n * Throws {@link EngramAccessForbiddenError} when `caps` carries a namespaces\n * allow-list and the EFFECTIVE namespace (request value OR server default) is\n * not a member. FAIL CLOSED:\n * - a scoped token whose allow-list does not cover the effective namespace\n * (explicit OR defaulted) is rejected;\n * - an absent server default (unconfigured) is also rejected for scoped\n * tokens, so omitting `?namespace=` can never bypass the allow-list.\n * No-op for unrestricted tokens (no namespaces axis) so legacy/unrestricted\n * behavior is unchanged. Both the HTTP transport (`resolveNamespace`) and the\n * MCP dispatch route through this ONE function so no surface is missed.\n */\nexport function isNamespaceAllowed(\n caps: TokenCapabilities | undefined | null,\n namespace: string | undefined,\n defaultNamespace: string | undefined,\n): boolean {\n if (caps?.namespaces === undefined) return true; // unrestricted token\n const effective = resolveEffectiveNamespace(namespace, defaultNamespace);\n return effective !== undefined && caps.namespaces.includes(effective);\n}\n\nexport function enforceNamespaceAllowList(\n caps: TokenCapabilities | undefined | null,\n namespace: string | undefined,\n defaultNamespace: string | undefined,\n): void {\n if (isNamespaceAllowed(caps, namespace, defaultNamespace)) return;\n throw new EngramAccessForbiddenError(\n namespace === undefined\n ? \"token is scoped to specific namespaces; the server default namespace is not permitted — supply an allowed namespace\"\n : `token is not permitted to access namespace: ${namespace}`,\n );\n}\n\n/**\n * Fleet-wide / global maintenance operation guard (issue #1850 round 10).\n *\n * A distinct escalation class from the id-addressed routes (round 9) and the\n * param-namespace ops (round 4): some boundary operations inherently run\n * ACROSS ALL namespaces — or against a single global layer (compression\n * guidelines, shared context, compounding) that is not namespace-partitioned\n * — and carry NO `namespace` argument, so the MCP `tools/call` effective-\n * namespace chokepoint ({@link enforceNamespaceAllowList}, which only fires\n * when `toolAcceptsNamespace`) never applies. Without this guard a bearer\n * scoped to ONE tenant could trigger maintenance that mutates state in EVERY\n * namespace (privilege escalation).\n *\n * Fail CLOSED exactly like the other shared guards: a namespace-SCOPED token\n * (namespaces axis present) is rejected; unrestricted / legacy tokens (absent\n * record or no namespaces axis — i.e. cron and internal callers that never\n * bind a capability record) are unaffected. Reuses the EXISTING capability\n * model via {@link capabilityAllowsNamespace} — no new \"all\"/\"*\" scope concept.\n * Must run BEFORE any side effect so a denial never leaks a partial mutation.\n */\nexport function assertFleetWideOperationAllowed(\n caps: TokenCapabilities | undefined | null,\n): void {\n // capabilityAllowsNamespace returns false for ANY scoped token when the\n // namespace is undefined (a fleet-wide op has no single namespace), and\n // true for unrestricted/legacy tokens — exactly the desired policy.\n if (!capabilityAllowsNamespace(caps, undefined)) {\n throw new EngramAccessForbiddenError(\n \"token is scoped to specific namespaces; this maintenance operation runs across all namespaces and is not permitted for a namespace-scoped token\",\n );\n }\n}\n\n/**\n * Per-request AsyncLocalStorage carrying the presenting token's resolved\n * capabilities. The HTTP surface binds the resolved capabilities with\n * `.run(caps, handler)` for the WHOLE authorized request dispatch (NOT\n * `.enterWith()`, which mutates the current async resource and does not\n * reliably isolate the store across the handler's awaits / concurrent\n * requests — risking a fail-open read of undefined mid-handler); the\n * access boundary reads `.getStore()` to enforce the ops allow-list for\n * every boundary operation without each dispatch site threading the value\n * explicitly. Unset (CLI, direct boundary callers, tests) ⇒ undefined ⇒\n * unrestricted (issue #1850 round 7).\n */\nexport const tokenCapabilityStore = new AsyncLocalStorage<TokenCapabilities | undefined>();\n"],"mappings":"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","names":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
memoryStoreRequestSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-P25IPRXP.js";
|
|
4
4
|
import {
|
|
5
5
|
CorrectionContractError,
|
|
6
6
|
DECISION_SUBCOMMANDS,
|
|
7
7
|
DELTA_SUBCOMMANDS,
|
|
8
8
|
defineOperation,
|
|
9
9
|
isCodegraphToolName
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RROMWDDC.js";
|
|
11
11
|
import {
|
|
12
12
|
serializeMutations,
|
|
13
13
|
withHeldFileLock
|
|
@@ -1805,4 +1805,4 @@ export {
|
|
|
1805
1805
|
codegraphIngestTracesOperation,
|
|
1806
1806
|
REGISTERED_OPERATIONS
|
|
1807
1807
|
};
|
|
1808
|
-
//# sourceMappingURL=chunk-
|
|
1808
|
+
//# sourceMappingURL=chunk-NMGO2HAZ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XTAAG4SQ.js";
|
|
4
4
|
import {
|
|
5
5
|
namespaceIdentityToken,
|
|
6
6
|
normalizeNamespaceIdentity
|
|
@@ -386,4 +386,4 @@ export {
|
|
|
386
386
|
resolveNamespaceStorageRoot,
|
|
387
387
|
NamespaceStorageRouter
|
|
388
388
|
};
|
|
389
|
-
//# sourceMappingURL=chunk-
|
|
389
|
+
//# sourceMappingURL=chunk-NVYCTASB.js.map
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KQAFEZQX.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
7
|
-
import {
|
|
8
|
-
ACTION_CONFIDENCE_CONTEXT_READINESS,
|
|
9
|
-
ACTION_CONFIDENCE_RISK_CATEGORIES,
|
|
10
|
-
ACTION_CONFIDENCE_RULE_KINDS
|
|
11
|
-
} from "./chunk-Z2YFLXHU.js";
|
|
12
7
|
import {
|
|
13
8
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
14
9
|
OFFLINE_SYNC_MAX_MTIME_MS
|
|
@@ -16,6 +11,11 @@ import {
|
|
|
16
11
|
import {
|
|
17
12
|
validateArchiveRelativePath
|
|
18
13
|
} from "./chunk-GCGJW34D.js";
|
|
14
|
+
import {
|
|
15
|
+
ACTION_CONFIDENCE_CONTEXT_READINESS,
|
|
16
|
+
ACTION_CONFIDENCE_RISK_CATEGORIES,
|
|
17
|
+
ACTION_CONFIDENCE_RULE_KINDS
|
|
18
|
+
} from "./chunk-Z2YFLXHU.js";
|
|
19
19
|
|
|
20
20
|
// src/access-schema.ts
|
|
21
21
|
import { z } from "zod";
|
|
@@ -441,4 +441,4 @@ export {
|
|
|
441
441
|
actionConfidenceRequestSchema,
|
|
442
442
|
validateRequest
|
|
443
443
|
};
|
|
444
|
-
//# sourceMappingURL=chunk-
|
|
444
|
+
//# sourceMappingURL=chunk-P25IPRXP.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-GDB4J2H3.js";
|
|
9
9
|
import {
|
|
10
10
|
importCapsule
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7CPOZH6Y.js";
|
|
12
12
|
import {
|
|
13
13
|
WriteQuarantineStore
|
|
14
14
|
} from "./chunk-PJSK6OJM.js";
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
} from "./chunk-H7XKCNR6.js";
|
|
36
36
|
import {
|
|
37
37
|
toRecallExplainJson
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-M5EPMNS4.js";
|
|
39
39
|
import {
|
|
40
40
|
estimateRecallTokens
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-X3SQYAPP.js";
|
|
42
42
|
import {
|
|
43
43
|
buildProposedActions,
|
|
44
44
|
buildQualityScore,
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
listMemoryGovernanceRuns,
|
|
47
47
|
readMemoryGovernanceRunArtifact,
|
|
48
48
|
runMemoryGovernance
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-3CDMIR3C.js";
|
|
50
50
|
import {
|
|
51
51
|
recordObjectiveStateSnapshotsFromObservedMessages
|
|
52
52
|
} from "./chunk-ICP53SKG.js";
|
|
@@ -75,32 +75,32 @@ import {
|
|
|
75
75
|
} from "./chunk-EIR5VLIH.js";
|
|
76
76
|
import {
|
|
77
77
|
buildGraphSnapshot
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-JYIFGGEM.js";
|
|
79
79
|
import {
|
|
80
80
|
wrapWorkLayerContext
|
|
81
81
|
} from "./chunk-EI6V5UXY.js";
|
|
82
82
|
import {
|
|
83
83
|
formatProfileTraceAscii
|
|
84
84
|
} from "./chunk-NLE6TSLG.js";
|
|
85
|
+
import {
|
|
86
|
+
buildProcedurePersistBody,
|
|
87
|
+
normalizeProcedureSteps
|
|
88
|
+
} from "./chunk-QDW3E4RD.js";
|
|
85
89
|
import {
|
|
86
90
|
persistExplicitCapture,
|
|
87
91
|
queueExplicitCaptureForReview,
|
|
88
92
|
validateExplicitCaptureInput
|
|
89
93
|
} from "./chunk-IKMAO55B.js";
|
|
90
|
-
import {
|
|
91
|
-
buildProcedurePersistBody,
|
|
92
|
-
normalizeProcedureSteps
|
|
93
|
-
} from "./chunk-QDW3E4RD.js";
|
|
94
94
|
import {
|
|
95
95
|
lcmEvidenceIdentity
|
|
96
96
|
} from "./chunk-C37ZRXX7.js";
|
|
97
97
|
import {
|
|
98
98
|
CorpusWatermarkCache,
|
|
99
99
|
computeServiceCorpusWatermarks
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-W4ZDTHWZ.js";
|
|
101
101
|
import {
|
|
102
102
|
namespaceCollectionName
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-ZN4UZWMT.js";
|
|
104
104
|
import {
|
|
105
105
|
CrossNamespaceBudget,
|
|
106
106
|
toBudgetWarning
|
|
@@ -111,27 +111,31 @@ import {
|
|
|
111
111
|
import {
|
|
112
112
|
filterTrajectoriesByLookbackDays,
|
|
113
113
|
readCausalTrajectoryRecords
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-NRV4Y3PM.js";
|
|
115
|
+
import {
|
|
116
|
+
ExtractionLivenessWarnThrottle,
|
|
117
|
+
computeExtractionLivenessStatus
|
|
118
|
+
} from "./chunk-443XCR34.js";
|
|
115
119
|
import {
|
|
116
120
|
FileCalendarSource,
|
|
117
121
|
buildBriefing,
|
|
118
122
|
enqueuePassiveCorrectionNotification,
|
|
119
123
|
parseBriefingFocus,
|
|
120
124
|
parseBriefingWindow
|
|
121
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-SZN6XVFC.js";
|
|
122
126
|
import {
|
|
123
127
|
parseEntityFile,
|
|
124
128
|
qmdCollectionPathParts,
|
|
125
129
|
qmdResultPathCandidates,
|
|
126
130
|
selfDeps
|
|
127
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-XTAAG4SQ.js";
|
|
128
132
|
import {
|
|
129
133
|
supersessionKeysForFact
|
|
130
134
|
} from "./chunk-DNHVPZOD.js";
|
|
131
135
|
import {
|
|
132
136
|
DEFAULT_RECALL_DISCLOSURE,
|
|
133
137
|
isRecallDisclosure
|
|
134
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-V25OWXAC.js";
|
|
135
139
|
import {
|
|
136
140
|
namespaceIdentityFromToken
|
|
137
141
|
} from "./chunk-EGGE52UU.js";
|
|
@@ -167,23 +171,43 @@ import {
|
|
|
167
171
|
normalizeTags,
|
|
168
172
|
parseTagMatch
|
|
169
173
|
} from "./chunk-BT7NVCML.js";
|
|
174
|
+
import {
|
|
175
|
+
computeContentHash
|
|
176
|
+
} from "./chunk-W5H6ZRPT.js";
|
|
170
177
|
import {
|
|
171
178
|
createVersion
|
|
172
179
|
} from "./chunk-5VQJBH2G.js";
|
|
173
180
|
import {
|
|
174
|
-
|
|
175
|
-
} from "./chunk-
|
|
181
|
+
sanitizeMemoryContent
|
|
182
|
+
} from "./chunk-5GKPFL3S.js";
|
|
183
|
+
import {
|
|
184
|
+
expandTildePath
|
|
185
|
+
} from "./chunk-EYIEWJNI.js";
|
|
186
|
+
import {
|
|
187
|
+
buildHandleIndexForResults,
|
|
188
|
+
isHandleToken
|
|
189
|
+
} from "./chunk-JAKIDQB2.js";
|
|
176
190
|
import {
|
|
177
191
|
exportCapsule
|
|
178
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-KQAFEZQX.js";
|
|
179
193
|
import {
|
|
180
|
-
|
|
181
|
-
|
|
194
|
+
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
195
|
+
applyOfflineSyncChangeset,
|
|
196
|
+
applyOfflineSyncFileContentChunk,
|
|
197
|
+
buildOfflineSyncSnapshot,
|
|
198
|
+
buildOfflineSyncSnapshotForPaths,
|
|
199
|
+
buildOfflineSyncSnapshotFromBase,
|
|
200
|
+
compileOfflineSyncExcludeGlobs,
|
|
201
|
+
iterateOfflineSyncSnapshotFileRecords,
|
|
202
|
+
readOfflineSyncFileContentChunk
|
|
203
|
+
} from "./chunk-E4OCKU67.js";
|
|
204
|
+
import {
|
|
205
|
+
assertOperationAuthorizationAllowed,
|
|
182
206
|
capabilityAllowsOp,
|
|
183
207
|
enforceNamespaceAllowList,
|
|
184
208
|
isNamespaceAllowed,
|
|
185
209
|
tokenCapabilityStore
|
|
186
|
-
} from "./chunk-
|
|
210
|
+
} from "./chunk-MZWSOLMT.js";
|
|
187
211
|
import {
|
|
188
212
|
meetingsBuild,
|
|
189
213
|
meetingsGet,
|
|
@@ -197,27 +221,6 @@ import {
|
|
|
197
221
|
import {
|
|
198
222
|
evaluateActionConfidence
|
|
199
223
|
} from "./chunk-Z2YFLXHU.js";
|
|
200
|
-
import {
|
|
201
|
-
sanitizeMemoryContent
|
|
202
|
-
} from "./chunk-5GKPFL3S.js";
|
|
203
|
-
import {
|
|
204
|
-
expandTildePath
|
|
205
|
-
} from "./chunk-EYIEWJNI.js";
|
|
206
|
-
import {
|
|
207
|
-
OFFLINE_SYNC_SNAPSHOT_FORMAT,
|
|
208
|
-
applyOfflineSyncChangeset,
|
|
209
|
-
applyOfflineSyncFileContentChunk,
|
|
210
|
-
buildOfflineSyncSnapshot,
|
|
211
|
-
buildOfflineSyncSnapshotForPaths,
|
|
212
|
-
buildOfflineSyncSnapshotFromBase,
|
|
213
|
-
compileOfflineSyncExcludeGlobs,
|
|
214
|
-
iterateOfflineSyncSnapshotFileRecords,
|
|
215
|
-
readOfflineSyncFileContentChunk
|
|
216
|
-
} from "./chunk-E4OCKU67.js";
|
|
217
|
-
import {
|
|
218
|
-
buildHandleIndexForResults,
|
|
219
|
-
isHandleToken
|
|
220
|
-
} from "./chunk-JAKIDQB2.js";
|
|
221
224
|
import {
|
|
222
225
|
defaultNamespaceAtFlatRoot,
|
|
223
226
|
mergeMemorySearchDefaultFallback,
|
|
@@ -5046,17 +5049,7 @@ function defineOperation(spec) {
|
|
|
5046
5049
|
if (!parseResult.success) {
|
|
5047
5050
|
throw new EngramAccessInputError(formatZodIssues(parseResult.error));
|
|
5048
5051
|
}
|
|
5049
|
-
|
|
5050
|
-
const store = tokenCapabilityStore.getStore();
|
|
5051
|
-
if (!spec.allowedByOps.some((op) => capabilityAllowsOp(store, op))) {
|
|
5052
|
-
throw new EngramAccessForbiddenError(`token is not permitted to call operation: ${spec.name}`);
|
|
5053
|
-
}
|
|
5054
|
-
} else {
|
|
5055
|
-
assertOperationAllowed(tokenCapabilityStore.getStore(), spec.name);
|
|
5056
|
-
}
|
|
5057
|
-
if (spec.fleetWide) {
|
|
5058
|
-
assertFleetWideOperationAllowed(tokenCapabilityStore.getStore());
|
|
5059
|
-
}
|
|
5052
|
+
assertOperationAuthorizationAllowed(tokenCapabilityStore.getStore(), spec);
|
|
5060
5053
|
return spec.handler(parseResult.data, ctx);
|
|
5061
5054
|
}
|
|
5062
5055
|
};
|
|
@@ -8904,6 +8897,7 @@ var EngramAccessService = class {
|
|
|
8904
8897
|
}
|
|
8905
8898
|
return this._accessIdentityContinuitySurface;
|
|
8906
8899
|
}
|
|
8900
|
+
extractionLivenessWarn = new ExtractionLivenessWarnThrottle();
|
|
8907
8901
|
get briefingEnabled() {
|
|
8908
8902
|
return this.orchestrator.config.briefing?.enabled === true;
|
|
8909
8903
|
}
|
|
@@ -9587,6 +9581,7 @@ var EngramAccessService = class {
|
|
|
9587
9581
|
const storage = await this.orchestrator.getStorage(resolvedNamespace);
|
|
9588
9582
|
const searchBackend = this.orchestrator.config.searchBackend ?? "qmd";
|
|
9589
9583
|
const qmdEnabled = resolveQmdCapabilities(this.orchestrator.config).qmd === true;
|
|
9584
|
+
const extraction = await computeExtractionLivenessStatus(this.orchestrator, this.extractionLivenessWarn);
|
|
9590
9585
|
let projectionAvailable = false;
|
|
9591
9586
|
try {
|
|
9592
9587
|
await stat2(getMemoryProjectionPath(storage.dir));
|
|
@@ -9609,6 +9604,7 @@ var EngramAccessService = class {
|
|
|
9609
9604
|
),
|
|
9610
9605
|
nativeKnowledgeEnabled: this.orchestrator.config.nativeKnowledge?.enabled === true,
|
|
9611
9606
|
projectionAvailable,
|
|
9607
|
+
extraction,
|
|
9612
9608
|
corpus: await computeServiceCorpusWatermarks(this.orchestrator, {
|
|
9613
9609
|
cache: this.corpusWatermarkCache,
|
|
9614
9610
|
caps: tokenCapabilityStore.getStore()
|
|
@@ -12450,4 +12446,4 @@ export {
|
|
|
12450
12446
|
EngramAccessService,
|
|
12451
12447
|
AccessAdminOpsSurface
|
|
12452
12448
|
};
|
|
12453
|
-
//# sourceMappingURL=chunk-
|
|
12449
|
+
//# sourceMappingURL=chunk-RROMWDDC.js.map
|