@remnic/core 9.54.5 → 9.54.6
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 +24 -24
- package/dist/access-admin-ops-surface.js +32 -29
- package/dist/access-authorization-probe.d.ts +25 -23
- package/dist/access-authorization-probe.js +35 -30
- package/dist/access-boundary.d.ts +26 -24
- package/dist/access-boundary.js +36 -31
- package/dist/access-cli.js +86 -80
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +1 -1
- package/dist/access-extraction-force-flush.d.ts +19 -19
- package/dist/access-extraction-force-flush.js +32 -29
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +22 -22
- package/dist/access-http-lifecycle-flush.d.ts +22 -22
- package/dist/access-http-offline-stream.d.ts +18 -18
- package/dist/access-http-query.js +32 -29
- package/dist/access-http.d.ts +55 -37
- package/dist/access-http.js +52 -43
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +32 -29
- package/dist/access-lcm-surface.d.ts +21 -21
- package/dist/access-lcm-surface.js +32 -29
- package/dist/access-mcp.d.ts +22 -22
- package/dist/access-mcp.js +40 -36
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-BdHlGd_T.d.ts → access-namespace-preflight-CCNn_6NE.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +32 -29
- package/dist/access-observe-write-surface.d.ts +22 -22
- package/dist/access-observe-write-surface.js +32 -29
- package/dist/access-offline-manifest.d.ts +9 -9
- package/dist/access-offline-manifest.js +2 -2
- package/dist/access-operations-batch.js +34 -31
- package/dist/access-operations.d.ts +26 -26
- package/dist/access-operations.js +38 -34
- package/dist/access-recall-concurrency.d.ts +21 -21
- package/dist/access-recall-concurrency.js +32 -29
- package/dist/access-recall-response.d.ts +19 -19
- package/dist/access-recall-response.js +32 -29
- package/dist/access-recall-surface.d.ts +19 -19
- package/dist/access-recall-surface.js +32 -29
- package/dist/access-schema.d.ts +88 -88
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-DL7X9hrg.d.ts → access-service-DkSdXK4S.d.ts} +1314 -83
- package/dist/access-service-helpers.d.ts +22 -22
- package/dist/access-service.d.ts +31 -31
- package/dist/access-service.js +32 -29
- package/dist/access-surface-catalog.d.ts +22 -22
- package/dist/access-surface-catalog.js +209 -2
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +3 -3
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +6 -5
- package/dist/active-memory-bridge.js +2 -2
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +2 -1
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/admin-console/public/what-helps-me/app.js +1594 -0
- package/dist/admin-console/public/what-helps-me/index.html +339 -0
- package/dist/admin-console/public/what-helps-me/model.js +685 -0
- package/dist/admin-console/public/what-helps-me/what-helps-me.css +1296 -0
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-TDHLZPVP.js → auto-sync-NR3GPCOA.js} +4 -4
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +9 -9
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +14 -14
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +1 -1
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.js +2 -2
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/calibration.js +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{catalog-B90is4d8.d.ts → catalog-DGFf8mD9.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 +15 -15
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-CSY44OKU.js → chunk-26ZXBTYN.js} +4 -4
- package/dist/chunk-26ZXBTYN.js.map +1 -0
- package/dist/{chunk-LLJMAULE.js → chunk-2FKEIPIT.js} +5 -5
- package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
- package/dist/chunk-37DZZFFM.js +502 -0
- package/dist/chunk-37DZZFFM.js.map +1 -0
- package/dist/chunk-3HSRWJTC.js +9 -0
- package/dist/chunk-3HSRWJTC.js.map +1 -0
- package/dist/{chunk-TKFGFDPJ.js → chunk-3TIZPSJC.js} +4 -4
- package/dist/{chunk-B4T3FQMT.js → chunk-43SEBY2M.js} +1 -1
- package/dist/{chunk-LVKYLMSM.js → chunk-46SZBVDS.js} +2 -2
- package/dist/{chunk-YKZLOPTC.js → chunk-5FD7JMTX.js} +2 -2
- package/dist/{chunk-2PNXOQ4P.js → chunk-5NB726GV.js} +3 -7
- package/dist/chunk-5NB726GV.js.map +1 -0
- package/dist/chunk-62OKGIJA.js +39 -0
- package/dist/chunk-62OKGIJA.js.map +1 -0
- package/dist/{chunk-WM5LD6AT.js → chunk-6CYHUWCO.js} +2 -2
- package/dist/{chunk-BIF4SHMD.js → chunk-76JJSXK7.js} +1 -1
- package/dist/chunk-76JJSXK7.js.map +1 -0
- package/dist/{chunk-3SXLD5T3.js → chunk-7BD6O7ZV.js} +189 -4
- package/dist/chunk-7BD6O7ZV.js.map +1 -0
- package/dist/chunk-7TBXNYLO.js +346 -0
- package/dist/chunk-7TBXNYLO.js.map +1 -0
- package/dist/{chunk-YR65W7BV.js → chunk-BRR5EUTF.js} +3 -3
- package/dist/{chunk-JKW663ZN.js → chunk-CIAI24TQ.js} +2 -2
- package/dist/{chunk-3WGI7F4V.js → chunk-D3LBIUWV.js} +9219 -5233
- package/dist/chunk-D3LBIUWV.js.map +1 -0
- package/dist/{chunk-YDWPYDML.js → chunk-EKTP7MNS.js} +4 -4
- package/dist/{chunk-6LEIWWAF.js → chunk-F2JRDPON.js} +2 -2
- package/dist/{chunk-VYQ4URQB.js → chunk-FFRTNF3L.js} +2 -2
- package/dist/{chunk-TY6MKIWP.js → chunk-FONWBCVY.js} +3 -3
- package/dist/{chunk-XSV2YDCJ.js → chunk-FPLM2TKD.js} +2 -2
- package/dist/{chunk-VTU5IEKY.js → chunk-FTPONF6B.js} +2 -2
- package/dist/{chunk-6PZGKGAO.js → chunk-FWX7W5PM.js} +2 -2
- package/dist/{chunk-QPW3PAIH.js → chunk-G6DFSS6A.js} +2 -2
- package/dist/{chunk-2DD6ZHOM.js → chunk-GJ776BC2.js} +3 -3
- package/dist/{chunk-XKAR4RF6.js → chunk-GN3WRFJY.js} +6 -6
- package/dist/{chunk-RG426DJO.js → chunk-H7NAZ3UB.js} +2 -2
- package/dist/{chunk-BSXGTDVJ.js → chunk-HBUFQRIM.js} +2 -2
- package/dist/{chunk-FFEBSFVT.js → chunk-HGJ6NJ4E.js} +2 -2
- package/dist/{chunk-WB7JSQCP.js → chunk-HIEWDJ2O.js} +5 -2
- package/dist/{chunk-WB7JSQCP.js.map → chunk-HIEWDJ2O.js.map} +1 -1
- package/dist/{chunk-QTO6BMQZ.js → chunk-I3MSGFGD.js} +17 -6
- package/dist/chunk-I3MSGFGD.js.map +1 -0
- package/dist/{chunk-5JKUSBMX.js → chunk-IKP5OYQQ.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
- package/dist/{chunk-DBY26JJJ.js → chunk-IQ4NVWEF.js} +2 -2
- package/dist/{chunk-7Q7JWLQ4.js → chunk-JYG4OLWH.js} +2 -2
- package/dist/{chunk-3OTSVCPK.js → chunk-K26NWEOC.js} +4 -4
- package/dist/{chunk-WZWZRZ2V.js → chunk-K2UGPTYY.js} +484 -43
- package/dist/chunk-K2UGPTYY.js.map +1 -0
- package/dist/{chunk-L6CQ7WIW.js → chunk-KFBOPMF6.js} +11 -11
- package/dist/chunk-KFBOPMF6.js.map +1 -0
- package/dist/{chunk-HOIRB77A.js → chunk-L6Z5OAS4.js} +2 -2
- package/dist/{chunk-7RZJWZ46.js → chunk-LEPOP46W.js} +5 -5
- package/dist/{chunk-QQXWFDRD.js → chunk-M4YHAODQ.js} +270 -684
- package/dist/chunk-M4YHAODQ.js.map +1 -0
- package/dist/{chunk-NGT35IGQ.js → chunk-MIH3CJPN.js} +3 -3
- package/dist/{chunk-QPAQSG3F.js → chunk-MK5VEWCR.js} +2 -2
- package/dist/chunk-NISZQW72.js +140 -0
- package/dist/chunk-NISZQW72.js.map +1 -0
- package/dist/{chunk-L7RTUEDG.js → chunk-OCIP6YMD.js} +2 -2
- package/dist/{chunk-2INWPC6E.js → chunk-PG4QBPVG.js} +20 -10
- package/dist/chunk-PG4QBPVG.js.map +1 -0
- package/dist/{chunk-DDA55IVB.js → chunk-PT54WISF.js} +189 -55
- package/dist/chunk-PT54WISF.js.map +1 -0
- package/dist/{chunk-UWJNKGBA.js → chunk-QZLDRQ4I.js} +5 -5
- package/dist/{chunk-UYOXFFEY.js → chunk-RUNORG2P.js} +3 -3
- package/dist/{chunk-LC3FD4BV.js → chunk-RZQ6W2W4.js} +39 -39
- package/dist/{chunk-MRGJZ75M.js → chunk-SMNYAMJD.js} +3 -3
- package/dist/{chunk-MKQBXQKU.js → chunk-TB6CBZ5V.js} +22 -15
- package/dist/chunk-TB6CBZ5V.js.map +1 -0
- package/dist/{chunk-DN2IDKI5.js → chunk-TO7ZTWJW.js} +2 -2
- package/dist/{chunk-K2TDK7GG.js → chunk-TWTUGCTY.js} +2 -2
- package/dist/{chunk-CUTFSLSD.js → chunk-UCTS3DDH.js} +2 -2
- package/dist/{chunk-JYIJNNN3.js → chunk-UG6VXIOK.js} +2 -2
- package/dist/{chunk-QOQQMVR2.js → chunk-UKYS3NU5.js} +2 -2
- package/dist/{chunk-VZRFGJCH.js → chunk-UPLZNJKN.js} +2 -2
- package/dist/{chunk-C23BYTJV.js → chunk-UW5NPZJ2.js} +40 -12
- package/dist/chunk-UW5NPZJ2.js.map +1 -0
- package/dist/{chunk-DOOWFDWN.js → chunk-V6ERBR7U.js} +2 -2
- package/dist/{chunk-7HG7MGAP.js → chunk-W5ZKPI34.js} +462 -2673
- package/dist/chunk-W5ZKPI34.js.map +1 -0
- package/dist/{chunk-HNDIND7P.js → chunk-XX4HPFFM.js} +54 -15
- package/dist/chunk-XX4HPFFM.js.map +1 -0
- package/dist/{chunk-N7CXQ5TA.js → chunk-XZHE2DEN.js} +1 -1
- package/dist/chunk-YXQEKCZM.js +223 -0
- package/dist/chunk-YXQEKCZM.js.map +1 -0
- package/dist/{chunk-6NNNURLK.js → chunk-Z54EM5YZ.js} +4 -4
- package/dist/{chunk-F2Y6I74C.js → chunk-ZRZVLB7O.js} +2 -2
- package/dist/{chunk-CLKBV3Z3.js → chunk-ZUKIUXHQ.js} +9 -9
- package/dist/{cli-jfuZXixq.d.ts → cli-Bze8S0Qs.d.ts} +5 -5
- package/dist/cli.d.ts +22 -22
- package/dist/cli.js +66 -58
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +14 -14
- 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 +2 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +14 -14
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +14 -14
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +2 -2
- package/dist/contradiction/index.js +2 -2
- package/dist/{contradiction-scan-KCADHXPE.js → contradiction-scan-JDTBXRGW.js} +3 -3
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +16 -16
- 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/corpus-watermark.d.ts +1 -1
- package/dist/corpus-watermark.js +16 -16
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-CTDuAVJc.d.ts → dependency-propagation-delivery-CzEfB31P.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 +2 -2
- package/dist/entity-retrieval.js +14 -14
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/explicit-capture.js +4 -3
- package/dist/external-wiki-access.d.ts +22 -22
- package/dist/external-wiki-access.js +33 -30
- package/dist/external-wiki-collection-registration.d.ts +1 -1
- package/dist/external-wiki-collection.d.ts +1 -1
- package/dist/external-wiki-mcp-tools.d.ts +22 -22
- package/dist/extraction-error-classification.d.ts +1 -1
- 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-judge.js +2 -2
- package/dist/extraction-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-prompt.d.ts +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +20 -20
- package/dist/fallback-llm.d.ts +14 -1
- package/dist/fallback-llm.js +1 -1
- package/dist/{first-start-migration-LMMZFLKK.js → first-start-migration-CRZCZAJN.js} +5 -5
- 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-path-reconstruction.d.ts +1 -1
- package/dist/graph-path-scoring.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/index.d.ts +704 -1421
- package/dist/index.js +203 -118
- package/dist/inline-script.d.ts +3 -0
- package/dist/inline-script.js +8 -0
- package/dist/inline-script.js.map +1 -0
- 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 +2 -2
- 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 +2 -1
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +14 -14
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -14
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +15 -15
- package/dist/{maintenance-heMZSq7G.d.ts → maintenance-C8aRWfhq.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +22 -22
- package/dist/mcp-read-only-tools.js +1 -1
- 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-snapshot.d.ts +1 -1
- package/dist/memory-worth-outcomes.d.ts +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +15 -15
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +14 -14
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +17 -17
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +23 -22
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +19 -19
- package/dist/{orchestrator-BQQPsSjs.d.ts → orchestrator-D85CzDDY.d.ts} +8 -8
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +86 -80
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-DFfmsnGk.d.ts → pipeline-DPcUifCO.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/proactive-contention.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/public-http-D-SyWNj6.d.ts +25 -0
- package/dist/{qmd-BF5bcVRs.d.ts → qmd-dFCHp1r0.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/recall-concurrency-config.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-memory-map.d.ts +1 -1
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-planner-llm.js +1 -1
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.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/reconcile/cursor.d.ts +1 -1
- package/dist/reconcile/manifest.d.ts +1 -1
- package/dist/reconcile/plan.d.ts +1 -1
- package/dist/replay/normalizers/chatgpt.d.ts +1 -1
- package/dist/replay/normalizers/claude.d.ts +1 -1
- package/dist/replay/normalizers/openclaw.d.ts +1 -1
- package/dist/replay/normalizers/shared.d.ts +1 -1
- package/dist/replay/runner.d.ts +1 -1
- package/dist/replay/types.d.ts +1 -1
- package/dist/replica-divergence.d.ts +1 -1
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +3 -2
- package/dist/retrieval-agents.d.ts +2 -2
- 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/salvage-envelope.d.ts +1 -1
- package/dist/schemas.d.ts +116 -116
- package/dist/{scope-profiles-CbUOsE_E.d.ts → scope-profiles-DICK7GtN.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +9 -9
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-DAB3xdKM.d.ts → semantic-consolidation-BP7NAX0N.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +15 -15
- package/dist/semantic-rule-promotion.js +14 -14
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +14 -14
- package/dist/{service-DGKg2O6r.d.ts → service-DT-pJyda.d.ts} +660 -660
- 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 +9 -9
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +16 -16
- package/dist/{storage-CC1jKcWg.d.ts → storage-qOnaJ1Lw.d.ts} +4 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +13 -13
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +5 -5
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +518 -0
- package/dist/support-passport/index.js +357 -0
- package/dist/support-passport/index.js.map +1 -0
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.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 +2 -2
- package/dist/tier-routing.d.ts +1 -1
- package/dist/tier-routing.js +2 -2
- package/dist/{tier-stats-JDN6HRNT.js → tier-stats-EXYSKSVN.js} +3 -3
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/types.d.ts +90 -90
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-BnQza1y8.d.ts → types-ed-SvS2t.d.ts} +7 -1
- 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 +14 -14
- package/dist/write-envelope.d.ts +1 -1
- package/dist/write-rate-limiter.d.ts +11 -5
- package/dist/write-rate-limiter.js +1 -1
- package/package.json +12 -2
- package/scripts/build-with-heap.mjs +11 -1
- package/src/access-authorization-probe.ts +20 -2
- package/src/access-boundary.ts +32 -0
- package/src/access-http.test.ts +1940 -643
- package/src/access-http.ts +81 -74
- package/src/access-mcp.ts +3 -1
- package/src/access-operations.ts +2 -0
- package/src/access-service.ts +612 -845
- package/src/access-surface-catalog.test.ts +40 -10
- package/src/access-surface-catalog.ts +15 -0
- package/src/active-memory-bridge.ts +17 -19
- package/src/config.ts +18 -9
- package/src/fallback-llm.test.ts +54 -0
- package/src/fallback-llm.ts +54 -9
- package/src/inline-script.ts +6 -0
- package/src/local-llm-headers-timeout.test.ts +42 -0
- package/src/local-llm.ts +8 -8
- package/src/mcp-read-only-tools.ts +3 -0
- package/src/relay/mission-access.test.ts +11 -11
- package/src/relay/mission-ui.test.ts +3 -1
- package/src/storage/tombstone-blocked-capture-sync.ts +31 -0
- package/src/storage-contract/failure-semantics.test.ts +102 -0
- package/src/support-passport/access-http-base.ts +143 -0
- package/src/support-passport/access-http.ts +172 -0
- package/src/support-passport/access-operations.ts +272 -0
- package/src/support-passport/access-service-base.test.ts +193 -0
- package/src/support-passport/access-service-base.ts +176 -0
- package/src/support-passport/access-surface.test.ts +283 -0
- package/src/support-passport/access-surface.ts +286 -0
- package/src/support-passport/card-projection.test.ts +8 -0
- package/src/support-passport/card-projection.ts +77 -16
- package/src/support-passport/card-replacement.ts +126 -0
- package/src/support-passport/card-service-commit-forwarding.test.ts +160 -0
- package/src/support-passport/card-service.test.ts +533 -31
- package/src/support-passport/card-service.ts +506 -364
- package/src/support-passport/card-state.ts +158 -0
- package/src/support-passport/config-model-routing.test.ts +37 -0
- package/src/support-passport/config.test.ts +34 -0
- package/src/support-passport/config.ts +41 -0
- package/src/support-passport/contracts.test.ts +15 -2
- package/src/support-passport/contracts.ts +13 -0
- package/src/support-passport/errors.ts +6 -0
- package/src/support-passport/generated-batch.test.ts +185 -0
- package/src/support-passport/generated-batch.ts +338 -0
- package/src/support-passport/grant-contracts.ts +45 -1
- package/src/support-passport/grant-generated-batch-scope.test.ts +201 -0
- package/src/support-passport/grant-service-cache.test.ts +2 -2
- package/src/support-passport/grant-service-cancellation.test.ts +2 -0
- package/src/support-passport/grant-service-marker-cache.test.ts +62 -0
- package/src/support-passport/grant-service.test.ts +853 -239
- package/src/support-passport/grant-service.ts +206 -57
- package/src/support-passport/grant-store.ts +7 -3
- package/src/support-passport/index.ts +10 -0
- package/src/support-passport/mcp-tools.test.ts +222 -0
- package/src/support-passport/mcp-tools.ts +187 -0
- package/src/support-passport/model-adapter.test.ts +840 -0
- package/src/support-passport/model-adapter.ts +602 -0
- package/src/support-passport/model-audit-pinned-write.test.ts +59 -0
- package/src/support-passport/model-audit.ts +152 -0
- package/src/support-passport/model-bridge.test.ts +456 -0
- package/src/support-passport/model-bridge.ts +439 -0
- package/src/support-passport/model-contracts.ts +124 -0
- package/src/support-passport/model-service.test.ts +1731 -0
- package/src/support-passport/model-service.ts +399 -0
- package/src/support-passport/owner-http.test.ts +671 -0
- package/src/support-passport/owner-lock.ts +26 -9
- package/src/support-passport/private-file.test.ts +99 -0
- package/src/support-passport/private-file.ts +139 -12
- package/src/support-passport/public-http.test.ts +476 -0
- package/src/support-passport/public-http.ts +601 -0
- package/src/support-passport/ui.test.ts +181 -0
- package/src/types.ts +7 -0
- package/src/write-rate-limiter.test.ts +30 -6
- package/src/write-rate-limiter.ts +29 -18
- package/dist/chunk-2INWPC6E.js.map +0 -1
- package/dist/chunk-2PNXOQ4P.js.map +0 -1
- package/dist/chunk-3SXLD5T3.js.map +0 -1
- package/dist/chunk-3WGI7F4V.js.map +0 -1
- package/dist/chunk-7HG7MGAP.js.map +0 -1
- package/dist/chunk-BIF4SHMD.js.map +0 -1
- package/dist/chunk-C23BYTJV.js.map +0 -1
- package/dist/chunk-CSY44OKU.js.map +0 -1
- package/dist/chunk-DDA55IVB.js.map +0 -1
- package/dist/chunk-HNDIND7P.js.map +0 -1
- package/dist/chunk-L6CQ7WIW.js.map +0 -1
- package/dist/chunk-MKQBXQKU.js.map +0 -1
- package/dist/chunk-QQXWFDRD.js.map +0 -1
- package/dist/chunk-QTO6BMQZ.js.map +0 -1
- package/dist/chunk-WZWZRZ2V.js.map +0 -1
- /package/dist/{auto-sync-TDHLZPVP.js.map → auto-sync-NR3GPCOA.js.map} +0 -0
- /package/dist/{chunk-LLJMAULE.js.map → chunk-2FKEIPIT.js.map} +0 -0
- /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
- /package/dist/{chunk-TKFGFDPJ.js.map → chunk-3TIZPSJC.js.map} +0 -0
- /package/dist/{chunk-B4T3FQMT.js.map → chunk-43SEBY2M.js.map} +0 -0
- /package/dist/{chunk-LVKYLMSM.js.map → chunk-46SZBVDS.js.map} +0 -0
- /package/dist/{chunk-YKZLOPTC.js.map → chunk-5FD7JMTX.js.map} +0 -0
- /package/dist/{chunk-WM5LD6AT.js.map → chunk-6CYHUWCO.js.map} +0 -0
- /package/dist/{chunk-YR65W7BV.js.map → chunk-BRR5EUTF.js.map} +0 -0
- /package/dist/{chunk-JKW663ZN.js.map → chunk-CIAI24TQ.js.map} +0 -0
- /package/dist/{chunk-YDWPYDML.js.map → chunk-EKTP7MNS.js.map} +0 -0
- /package/dist/{chunk-6LEIWWAF.js.map → chunk-F2JRDPON.js.map} +0 -0
- /package/dist/{chunk-VYQ4URQB.js.map → chunk-FFRTNF3L.js.map} +0 -0
- /package/dist/{chunk-TY6MKIWP.js.map → chunk-FONWBCVY.js.map} +0 -0
- /package/dist/{chunk-XSV2YDCJ.js.map → chunk-FPLM2TKD.js.map} +0 -0
- /package/dist/{chunk-VTU5IEKY.js.map → chunk-FTPONF6B.js.map} +0 -0
- /package/dist/{chunk-6PZGKGAO.js.map → chunk-FWX7W5PM.js.map} +0 -0
- /package/dist/{chunk-QPW3PAIH.js.map → chunk-G6DFSS6A.js.map} +0 -0
- /package/dist/{chunk-2DD6ZHOM.js.map → chunk-GJ776BC2.js.map} +0 -0
- /package/dist/{chunk-XKAR4RF6.js.map → chunk-GN3WRFJY.js.map} +0 -0
- /package/dist/{chunk-RG426DJO.js.map → chunk-H7NAZ3UB.js.map} +0 -0
- /package/dist/{chunk-BSXGTDVJ.js.map → chunk-HBUFQRIM.js.map} +0 -0
- /package/dist/{chunk-FFEBSFVT.js.map → chunk-HGJ6NJ4E.js.map} +0 -0
- /package/dist/{chunk-5JKUSBMX.js.map → chunk-IKP5OYQQ.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
- /package/dist/{chunk-DBY26JJJ.js.map → chunk-IQ4NVWEF.js.map} +0 -0
- /package/dist/{chunk-7Q7JWLQ4.js.map → chunk-JYG4OLWH.js.map} +0 -0
- /package/dist/{chunk-3OTSVCPK.js.map → chunk-K26NWEOC.js.map} +0 -0
- /package/dist/{chunk-HOIRB77A.js.map → chunk-L6Z5OAS4.js.map} +0 -0
- /package/dist/{chunk-7RZJWZ46.js.map → chunk-LEPOP46W.js.map} +0 -0
- /package/dist/{chunk-NGT35IGQ.js.map → chunk-MIH3CJPN.js.map} +0 -0
- /package/dist/{chunk-QPAQSG3F.js.map → chunk-MK5VEWCR.js.map} +0 -0
- /package/dist/{chunk-L7RTUEDG.js.map → chunk-OCIP6YMD.js.map} +0 -0
- /package/dist/{chunk-UWJNKGBA.js.map → chunk-QZLDRQ4I.js.map} +0 -0
- /package/dist/{chunk-UYOXFFEY.js.map → chunk-RUNORG2P.js.map} +0 -0
- /package/dist/{chunk-LC3FD4BV.js.map → chunk-RZQ6W2W4.js.map} +0 -0
- /package/dist/{chunk-MRGJZ75M.js.map → chunk-SMNYAMJD.js.map} +0 -0
- /package/dist/{chunk-DN2IDKI5.js.map → chunk-TO7ZTWJW.js.map} +0 -0
- /package/dist/{chunk-K2TDK7GG.js.map → chunk-TWTUGCTY.js.map} +0 -0
- /package/dist/{chunk-CUTFSLSD.js.map → chunk-UCTS3DDH.js.map} +0 -0
- /package/dist/{chunk-JYIJNNN3.js.map → chunk-UG6VXIOK.js.map} +0 -0
- /package/dist/{chunk-QOQQMVR2.js.map → chunk-UKYS3NU5.js.map} +0 -0
- /package/dist/{chunk-VZRFGJCH.js.map → chunk-UPLZNJKN.js.map} +0 -0
- /package/dist/{chunk-DOOWFDWN.js.map → chunk-V6ERBR7U.js.map} +0 -0
- /package/dist/{chunk-N7CXQ5TA.js.map → chunk-XZHE2DEN.js.map} +0 -0
- /package/dist/{chunk-6NNNURLK.js.map → chunk-Z54EM5YZ.js.map} +0 -0
- /package/dist/{chunk-F2Y6I74C.js.map → chunk-ZRZVLB7O.js.map} +0 -0
- /package/dist/{chunk-CLKBV3Z3.js.map → chunk-ZUKIUXHQ.js.map} +0 -0
- /package/dist/{contradiction-scan-KCADHXPE.js.map → contradiction-scan-JDTBXRGW.js.map} +0 -0
- /package/dist/{first-start-migration-LMMZFLKK.js.map → first-start-migration-CRZCZAJN.js.map} +0 -0
- /package/dist/{tier-stats-JDN6HRNT.js.map → tier-stats-EXYSKSVN.js.map} +0 -0
|
@@ -39,6 +39,8 @@ var SupportPassportNamespaceSchema = z.string().min(1).refine((namespace) => nam
|
|
|
39
39
|
message: "namespaces must be canonical"
|
|
40
40
|
});
|
|
41
41
|
var SupportPassportMemoryIdSchema = z.string().trim().min(1).max(128).regex(/^[A-Za-z0-9._:-]+$/);
|
|
42
|
+
var SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH = 512;
|
|
43
|
+
var SupportPassportSourceMemoryIdSchema = z.string().trim().min(1).max(SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH);
|
|
42
44
|
var SupportPassportCardSchema = z.object({
|
|
43
45
|
cardId: SupportPassportMemoryIdSchema,
|
|
44
46
|
title: SupportPassportCardTitleSchema,
|
|
@@ -75,7 +77,8 @@ var SupportPassportManualDraftInputSchema = z.object({
|
|
|
75
77
|
var SupportPassportCardMutationInputSchema = z.object({
|
|
76
78
|
principal: z.string().trim().min(1).max(512),
|
|
77
79
|
cardId: SupportPassportMemoryIdSchema,
|
|
78
|
-
expectedRevision: z.string().regex(/^[a-f0-9]{64}$/)
|
|
80
|
+
expectedRevision: z.string().regex(/^[a-f0-9]{64}$/),
|
|
81
|
+
reasonCode: z.string().trim().min(1).max(64).regex(/^[a-z0-9-]+$/).optional()
|
|
79
82
|
}).strict();
|
|
80
83
|
var SupportPassportReplaceCardInputSchema = SupportPassportCardMutationInputSchema.extend({
|
|
81
84
|
title: SupportPassportCardTitleSchema,
|
|
@@ -149,7 +152,9 @@ var SUPPORT_PASSPORT_ATTRIBUTE_KEYS = Object.freeze({
|
|
|
149
152
|
replacesDraftId: "support-passport-replaces-draft-id",
|
|
150
153
|
replacedRevision: "support-passport-replaced-revision",
|
|
151
154
|
draftReplacementPrepared: "support-passport-draft-replacement-prepared",
|
|
152
|
-
replacementComplete: "support-passport-replacement-complete"
|
|
155
|
+
replacementComplete: "support-passport-replacement-complete",
|
|
156
|
+
generatedBatchId: "support-passport-generated-batch-id",
|
|
157
|
+
generatedBatchSize: "support-passport-generated-batch-size"
|
|
153
158
|
});
|
|
154
159
|
var SUPPORT_PASSPORT_NAMESPACE_ENCODING = "base64url-v1";
|
|
155
160
|
var SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX = "support-passport-namespace-";
|
|
@@ -204,14 +209,19 @@ function decodeSupportPassportNamespaceAttributes(attributes) {
|
|
|
204
209
|
function computeSupportPassportOwnerKey(principal) {
|
|
205
210
|
return createHash2("sha256").update(principal).digest("hex");
|
|
206
211
|
}
|
|
207
|
-
function
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
function activeSupportPassportReplacementPredecessorIds(cards) {
|
|
213
|
+
return new Set(
|
|
214
|
+
cards.filter((item) => item.card.status === "active").map((item) => item.memory.frontmatter.supersedes).filter((cardId) => typeof cardId === "string")
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
function parseSourceMemoryIds(frontmatter) {
|
|
218
|
+
const lineage = frontmatter.lineage;
|
|
219
|
+
const legacyValue = frontmatter.structuredAttributes?.[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.sourceMemoryIds];
|
|
220
|
+
const rawIds = lineage ?? (legacyValue === void 0 || legacyValue === "" ? [] : legacyValue.split(","));
|
|
211
221
|
if (rawIds.length > 5) return null;
|
|
212
222
|
const normalized = [];
|
|
213
223
|
for (const rawId of rawIds) {
|
|
214
|
-
const parsed =
|
|
224
|
+
const parsed = SupportPassportSourceMemoryIdSchema.safeParse(rawId);
|
|
215
225
|
if (!parsed.success) return null;
|
|
216
226
|
normalized.push(parsed.data);
|
|
217
227
|
}
|
|
@@ -223,12 +233,15 @@ function parseSupportPassportCardMetadata(memory) {
|
|
|
223
233
|
const attributes = frontmatter.structuredAttributes;
|
|
224
234
|
if (frontmatter.category !== "preference") return null;
|
|
225
235
|
if (!frontmatter.tags?.includes(SUPPORT_PASSPORT_CARD_TAG)) return null;
|
|
226
|
-
if (!attributes || frontmatter.blockedBy || frontmatter.archivedAt || frontmatter.supersededBy)
|
|
227
|
-
|
|
236
|
+
if (!attributes || frontmatter.blockedBy || frontmatter.archivedAt || frontmatter.supersededBy)
|
|
237
|
+
return null;
|
|
238
|
+
const category = SupportPassportCardCategorySchema.safeParse(
|
|
239
|
+
attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.category]
|
|
240
|
+
);
|
|
228
241
|
const status = SupportPassportCardStatusSchema.safeParse(frontmatter.status);
|
|
229
242
|
const rawOrder = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.order];
|
|
230
243
|
const order = Number(rawOrder);
|
|
231
|
-
const sourceMemoryIds = parseSourceMemoryIds(
|
|
244
|
+
const sourceMemoryIds = parseSourceMemoryIds(frontmatter);
|
|
232
245
|
const namespace = decodeSupportPassportNamespaceAttributes(attributes);
|
|
233
246
|
const owner = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.owner];
|
|
234
247
|
let replacesDraftId;
|
|
@@ -244,9 +257,26 @@ function parseSupportPassportCardMetadata(memory) {
|
|
|
244
257
|
if (!/^[a-f0-9]{64}$/.test(rawReplacedRevision)) return null;
|
|
245
258
|
replacedRevision = rawReplacedRevision;
|
|
246
259
|
}
|
|
260
|
+
const generatedBatchId = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchId];
|
|
261
|
+
const rawGeneratedBatchSize = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchSize];
|
|
262
|
+
let generatedBatchSize;
|
|
263
|
+
if (generatedBatchId !== void 0) {
|
|
264
|
+
if (!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(generatedBatchId)) {
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
if (typeof rawGeneratedBatchSize !== "string" || !/^[1-8]$/.test(rawGeneratedBatchSize)) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
generatedBatchSize = Number(rawGeneratedBatchSize);
|
|
271
|
+
} else if (rawGeneratedBatchSize !== void 0) {
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
247
274
|
if (!category.success || !status.success || status.data === "superseded" || typeof rawOrder !== "string" || !/^(?:0|[1-9]\d*)$/.test(rawOrder) || !Number.isSafeInteger(order) || namespace === null || typeof owner !== "string" || !/^[a-f0-9]{64}$/.test(owner) || !sourceMemoryIds)
|
|
248
275
|
return null;
|
|
249
|
-
const fields = SupportPassportCardSchema.omit({
|
|
276
|
+
const fields = SupportPassportCardSchema.omit({
|
|
277
|
+
revision: true,
|
|
278
|
+
statement: true
|
|
279
|
+
}).safeParse({
|
|
250
280
|
cardId: frontmatter.id,
|
|
251
281
|
title: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.title],
|
|
252
282
|
category: category.data,
|
|
@@ -263,7 +293,9 @@ function parseSupportPassportCardMetadata(memory) {
|
|
|
263
293
|
owner,
|
|
264
294
|
replacesDraftId,
|
|
265
295
|
replacedRevision,
|
|
266
|
-
draftReplacementPrepared: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.draftReplacementPrepared] === "true"
|
|
296
|
+
draftReplacementPrepared: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.draftReplacementPrepared] === "true",
|
|
297
|
+
generatedBatchId,
|
|
298
|
+
generatedBatchSize
|
|
267
299
|
};
|
|
268
300
|
}
|
|
269
301
|
function hasLiveSupportPassportCard(memory) {
|
|
@@ -281,7 +313,9 @@ function projectSupportPassportCard(memory) {
|
|
|
281
313
|
...metadata.fields,
|
|
282
314
|
statement: stripAttributesSuffix(memory.content)
|
|
283
315
|
};
|
|
284
|
-
const normalized = SupportPassportCardSchema.omit({
|
|
316
|
+
const normalized = SupportPassportCardSchema.omit({
|
|
317
|
+
revision: true
|
|
318
|
+
}).safeParse(fields);
|
|
285
319
|
if (!normalized.success) return null;
|
|
286
320
|
const parsed = SupportPassportCardSchema.safeParse({
|
|
287
321
|
...normalized.data,
|
|
@@ -297,7 +331,9 @@ function projectSupportPassportCard(memory) {
|
|
|
297
331
|
owner: metadata.owner,
|
|
298
332
|
replacesDraftId: metadata.replacesDraftId,
|
|
299
333
|
replacedRevision: metadata.replacedRevision,
|
|
300
|
-
draftReplacementPrepared: metadata.draftReplacementPrepared
|
|
334
|
+
draftReplacementPrepared: metadata.draftReplacementPrepared,
|
|
335
|
+
generatedBatchId: metadata.generatedBatchId,
|
|
336
|
+
generatedBatchSize: metadata.generatedBatchSize
|
|
301
337
|
};
|
|
302
338
|
}
|
|
303
339
|
|
|
@@ -309,6 +345,8 @@ export {
|
|
|
309
345
|
SupportPassportCardTitleSchema,
|
|
310
346
|
SupportPassportNamespaceSchema,
|
|
311
347
|
SupportPassportMemoryIdSchema,
|
|
348
|
+
SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH,
|
|
349
|
+
SupportPassportSourceMemoryIdSchema,
|
|
312
350
|
SupportPassportCardSchema,
|
|
313
351
|
SupportPassportCardListSchema,
|
|
314
352
|
SupportPassportListCardsInputSchema,
|
|
@@ -325,7 +363,8 @@ export {
|
|
|
325
363
|
encodeSupportPassportNamespaceAttributes,
|
|
326
364
|
decodeSupportPassportNamespaceAttributes,
|
|
327
365
|
computeSupportPassportOwnerKey,
|
|
366
|
+
activeSupportPassportReplacementPredecessorIds,
|
|
328
367
|
hasLiveSupportPassportCard,
|
|
329
368
|
projectSupportPassportCard
|
|
330
369
|
};
|
|
331
|
-
//# sourceMappingURL=chunk-
|
|
370
|
+
//# sourceMappingURL=chunk-XX4HPFFM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/support-passport/contracts.ts","../src/support-passport/card-projection.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { z } from \"zod\";\n\nimport { normalizeNamespaceIdentity } from \"../namespaces/identity.js\";\nimport { parseIsoOffsetTimestamp } from \"../utils/iso-timestamp.js\";\n\nexport const SUPPORT_PASSPORT_CARD_CATEGORIES = [\n \"communication\",\n \"environment\",\n \"transitions\",\n \"sensory\",\n \"regulation\",\n \"interests\",\n \"other\",\n] as const;\n\nexport const SUPPORT_PASSPORT_CARD_STATUSES = [\n \"pending_review\",\n \"active\",\n \"rejected\",\n \"superseded\",\n \"archived\",\n] as const;\n\nexport const SupportPassportCardCategorySchema = z.enum(SUPPORT_PASSPORT_CARD_CATEGORIES);\nexport const SupportPassportCardStatusSchema = z.enum(SUPPORT_PASSPORT_CARD_STATUSES);\nexport const SupportPassportCardTitleSchema = z\n .string()\n .trim()\n .min(1)\n .max(80)\n .refine((title) => !title.includes(\"]\") && !title.includes(\"\\n\") && !title.includes(\"\\r\"), {\n message: \"card titles cannot contain closing brackets or line breaks\",\n });\n\nconst IsoTimestampSchema = z\n .string()\n .datetime({ offset: true })\n .refine((value) => parseIsoOffsetTimestamp(value) !== null, {\n message: \"timestamps must be valid ISO 8601 values\",\n });\nexport const SupportPassportNamespaceSchema = z\n .string()\n .min(1)\n .refine((namespace) => namespace === normalizeNamespaceIdentity(namespace), {\n message: \"namespaces must be canonical\",\n });\nexport const SupportPassportMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9._:-]+$/);\nexport const SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH = 512;\nexport const SupportPassportSourceMemoryIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH);\n\nexport const SupportPassportCardSchema = z\n .object({\n cardId: SupportPassportMemoryIdSchema,\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n status: SupportPassportCardStatusSchema,\n updatedAt: IsoTimestampSchema,\n reviewBy: IsoTimestampSchema,\n revision: z.string().regex(/^[a-f0-9]{64}$/),\n })\n .strict();\n\nexport const SupportPassportCardListSchema = z\n .array(SupportPassportCardSchema)\n .max(100)\n .superRefine((cards, ctx) => {\n const seen = new Set<string>();\n for (const [index, card] of cards.entries()) {\n if (seen.has(card.cardId)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"card IDs must be unique\",\n path: [index, \"cardId\"],\n });\n }\n seen.add(card.cardId);\n }\n });\n\nexport const SupportPassportListCardsInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n })\n .strict();\n\nexport const SupportPassportManualDraftInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n })\n .strict();\n\nexport const SupportPassportCardMutationInputSchema = z\n .object({\n principal: z.string().trim().min(1).max(512),\n cardId: SupportPassportMemoryIdSchema,\n expectedRevision: z.string().regex(/^[a-f0-9]{64}$/),\n reasonCode: z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9-]+$/)\n .optional(),\n })\n .strict();\n\nexport const SupportPassportReplaceCardInputSchema = SupportPassportCardMutationInputSchema.extend({\n title: SupportPassportCardTitleSchema,\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n}).strict();\n\nexport type SupportPassportCard = z.infer<typeof SupportPassportCardSchema>;\nexport type SupportPassportCardCategory = z.infer<typeof SupportPassportCardCategorySchema>;\nexport type SupportPassportCardStatus = z.infer<typeof SupportPassportCardStatusSchema>;\nexport type SupportPassportManualDraftInput = z.input<typeof SupportPassportManualDraftInputSchema>;\nexport type SupportPassportCardMutationInput = z.input<typeof SupportPassportCardMutationInputSchema>;\nexport type SupportPassportReplaceCardInput = z.input<typeof SupportPassportReplaceCardInputSchema>;\n\ntype RevisionFields = Omit<SupportPassportCard, \"revision\">;\n\nexport function computeSupportPassportCardRevision(fields: RevisionFields): string {\n const canonicalFields = {\n cardId: fields.cardId,\n category: fields.category,\n reviewBy: fields.reviewBy,\n statement: fields.statement,\n status: fields.status,\n title: fields.title,\n updatedAt: fields.updatedAt,\n };\n return createHash(\"sha256\").update(JSON.stringify(canonicalFields)).digest(\"hex\");\n}\n","import { createHash } from \"node:crypto\";\nimport { lstat } from \"node:fs/promises\";\n\nimport type { OfflineSyncExcludeFile } from \"../offline-sync-file-io.js\";\nimport { stripAttributesSuffix } from \"../structured-attributes.js\";\nimport type { MemoryFile } from \"../types.js\";\nimport {\n type SupportPassportCard,\n SupportPassportCardCategorySchema,\n SupportPassportCardSchema,\n SupportPassportCardStatusSchema,\n SupportPassportMemoryIdSchema,\n SupportPassportNamespaceSchema,\n SupportPassportSourceMemoryIdSchema,\n computeSupportPassportCardRevision,\n} from \"./contracts.js\";\n\nexport const SUPPORT_PASSPORT_CARD_TAG = \"support-passport-card\";\nexport const SUPPORT_PASSPORT_AUDIT_TAG = \"support-passport-audit\";\n\nexport function isSupportPassportPrivateMemory(memory: {\n frontmatter: {\n tags?: readonly string[];\n structuredAttributes?: Readonly<Record<string, string>>;\n };\n}): boolean {\n const tags = memory.frontmatter.tags;\n if (tags?.includes(SUPPORT_PASSPORT_CARD_TAG) === true || tags?.includes(SUPPORT_PASSPORT_AUDIT_TAG) === true) {\n return true;\n }\n return Object.keys(memory.frontmatter.structuredAttributes ?? {})\n .some((key) => key.startsWith(\"support-passport-\"));\n}\n\nexport function excludeSupportPassportPrivateMemories<T extends Pick<MemoryFile, \"frontmatter\">>(\n memories: readonly T[]\n): T[] {\n return memories.filter((memory) => !isSupportPassportPrivateMemory(memory));\n}\n\nexport function createSupportPassportPrivateFileExclusion(storage: {\n readMemoryByPath(filePath: string): Promise<MemoryFile | null>;\n}): OfflineSyncExcludeFile {\n const classifications = new Map<string, { identity: string; excluded: Promise<boolean> }>();\n return async ({ filePath }) => {\n let file: Awaited<ReturnType<typeof lstat>>;\n try {\n file = await lstat(filePath);\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n classifications.delete(filePath);\n return false;\n }\n throw error;\n }\n const identity = `${file.dev}:${file.ino}:${file.size}:${file.mtimeMs}:${file.ctimeMs}`;\n const cached = classifications.get(filePath);\n if (cached?.identity === identity) return await cached.excluded;\n const excluded = storage\n .readMemoryByPath(filePath)\n .then((memory) => (memory ? isSupportPassportPrivateMemory(memory) : false));\n classifications.set(filePath, { identity, excluded });\n try {\n return await excluded;\n } catch (error) {\n if (classifications.get(filePath)?.excluded === excluded) classifications.delete(filePath);\n throw error;\n }\n };\n}\n\nexport const SUPPORT_PASSPORT_ATTRIBUTE_KEYS = Object.freeze({\n namespace: \"support-passport-namespace\",\n namespaceEncoding: \"support-passport-namespace-encoding\",\n owner: \"support-passport-owner\",\n title: \"support-passport-title\",\n category: \"support-passport-category\",\n order: \"support-passport-order\",\n reviewBy: \"support-passport-review-by\",\n sourceMemoryIds: \"support-passport-source-ids\",\n replacesDraftId: \"support-passport-replaces-draft-id\",\n replacedRevision: \"support-passport-replaced-revision\",\n draftReplacementPrepared: \"support-passport-draft-replacement-prepared\",\n replacementComplete: \"support-passport-replacement-complete\",\n generatedBatchId: \"support-passport-generated-batch-id\",\n generatedBatchSize: \"support-passport-generated-batch-size\",\n});\n\nconst SUPPORT_PASSPORT_NAMESPACE_ENCODING = \"base64url-v1\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX = \"support-passport-namespace-\";\nconst SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE = 1_024;\nconst LegacySupportPassportNamespaceSchema = SupportPassportNamespaceSchema.refine(\n (namespace) =>\n !namespace.includes(\"/\") &&\n !namespace.includes(\"\\\\\") &&\n !namespace.includes(\"..\") &&\n !namespace.includes(\"]\") &&\n !namespace.includes(\"\\0\") &&\n !namespace.includes(\"\\n\") &&\n !namespace.includes(\"\\r\")\n);\n\nexport function encodeSupportPassportNamespaceAttributes(namespace: string): Record<string, string> {\n const canonical = SupportPassportNamespaceSchema.parse(namespace);\n const encoded = Buffer.from(canonical, \"utf8\").toString(\"base64url\");\n const chunks = encoded.match(new RegExp(`.{1,${SUPPORT_PASSPORT_NAMESPACE_CHUNK_SIZE}}`, \"g\")) ?? [];\n const digest = createHash(\"sha256\").update(encoded).digest(\"hex\");\n return Object.fromEntries([\n [SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace, chunks[0] ?? \"\"],\n [\n SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding,\n `${SUPPORT_PASSPORT_NAMESPACE_ENCODING}:${chunks.length}:${digest}`,\n ],\n ...chunks.slice(1).map((chunk, index) => [`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index + 1}`, chunk]),\n ]);\n}\n\nexport function decodeSupportPassportNamespaceAttributes(attributes: Readonly<Record<string, string>>): string | null {\n const firstChunk = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespace];\n const encoding = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.namespaceEncoding];\n if (encoding === undefined) {\n const legacy = LegacySupportPassportNamespaceSchema.safeParse(firstChunk);\n return legacy.success ? legacy.data : null;\n }\n const match = /^base64url-v1:([1-9]\\d*):([a-f0-9]{64})$/.exec(encoding);\n if (!match || typeof firstChunk !== \"string\") return null;\n const chunkCount = Number(match[1]);\n if (!Number.isSafeInteger(chunkCount)) return null;\n const chunkIndexes = Object.keys(attributes).flatMap((key) => {\n const chunkMatch = /^support-passport-namespace-(\\d+)$/.exec(key);\n return chunkMatch ? [Number(chunkMatch[1])] : [];\n });\n if (\n chunkIndexes.length !== chunkCount - 1 ||\n chunkIndexes.some((index) => !Number.isSafeInteger(index) || index < 1 || index >= chunkCount)\n )\n return null;\n const chunks = [firstChunk];\n for (let index = 1; index < chunkCount; index += 1) {\n const chunk = attributes[`${SUPPORT_PASSPORT_NAMESPACE_CHUNK_PREFIX}${index}`];\n if (typeof chunk !== \"string\" || chunk.length === 0) return null;\n chunks.push(chunk);\n }\n const encoded = chunks.join(\"\");\n if (createHash(\"sha256\").update(encoded).digest(\"hex\") !== match[2]) return null;\n const decoded = Buffer.from(encoded, \"base64url\").toString(\"utf8\");\n if (Buffer.from(decoded, \"utf8\").toString(\"base64url\") !== encoded) return null;\n const namespace = SupportPassportNamespaceSchema.safeParse(decoded);\n return namespace.success ? namespace.data : null;\n}\n\nexport interface StoredSupportPassportCard {\n card: SupportPassportCard;\n memory: MemoryFile;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nexport function computeSupportPassportOwnerKey(principal: string): string {\n return createHash(\"sha256\").update(principal).digest(\"hex\");\n}\n\nexport function activeSupportPassportReplacementPredecessorIds(\n cards: readonly StoredSupportPassportCard[],\n): Set<string> {\n return new Set(\n cards\n .filter((item) => item.card.status === \"active\")\n .map((item) => item.memory.frontmatter.supersedes)\n .filter((cardId): cardId is string => typeof cardId === \"string\"),\n );\n}\n\nfunction parseSourceMemoryIds(frontmatter: MemoryFile[\"frontmatter\"]): string[] | null {\n const lineage = frontmatter.lineage;\n const legacyValue = frontmatter.structuredAttributes?.[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.sourceMemoryIds];\n const rawIds = lineage ?? (legacyValue === undefined || legacyValue === \"\" ? [] : legacyValue.split(\",\"));\n if (rawIds.length > 5) return null;\n const normalized: string[] = [];\n for (const rawId of rawIds) {\n const parsed = SupportPassportSourceMemoryIdSchema.safeParse(rawId);\n if (!parsed.success) return null;\n normalized.push(parsed.data);\n }\n if (new Set(normalized).size !== normalized.length) return null;\n return normalized;\n}\n\ninterface SupportPassportCardMetadata {\n fields: Omit<SupportPassportCard, \"revision\" | \"statement\">;\n order: number;\n sourceMemoryIds: string[];\n namespace: string;\n owner: string;\n replacesDraftId?: string;\n replacedRevision?: string;\n draftReplacementPrepared: boolean;\n generatedBatchId?: string;\n generatedBatchSize?: number;\n}\n\nfunction parseSupportPassportCardMetadata(\n memory: Pick<MemoryFile, \"frontmatter\">,\n): SupportPassportCardMetadata | null {\n const frontmatter = memory.frontmatter;\n const attributes = frontmatter.structuredAttributes;\n if (frontmatter.category !== \"preference\") return null;\n if (!frontmatter.tags?.includes(SUPPORT_PASSPORT_CARD_TAG)) return null;\n if (\n !attributes ||\n frontmatter.blockedBy ||\n frontmatter.archivedAt ||\n frontmatter.supersededBy\n )\n return null;\n\n const category = SupportPassportCardCategorySchema.safeParse(\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.category],\n );\n const status = SupportPassportCardStatusSchema.safeParse(frontmatter.status);\n const rawOrder = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.order];\n const order = Number(rawOrder);\n const sourceMemoryIds = parseSourceMemoryIds(frontmatter);\n const namespace = decodeSupportPassportNamespaceAttributes(attributes);\n const owner = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.owner];\n let replacesDraftId: string | undefined;\n const rawReplacesDraftId =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacesDraftId];\n if (rawReplacesDraftId !== undefined) {\n const parsedReplacesDraftId =\n SupportPassportMemoryIdSchema.safeParse(rawReplacesDraftId);\n if (!parsedReplacesDraftId.success) return null;\n replacesDraftId = parsedReplacesDraftId.data;\n }\n let replacedRevision: string | undefined;\n const rawReplacedRevision =\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.replacedRevision];\n if (rawReplacedRevision !== undefined) {\n if (!/^[a-f0-9]{64}$/.test(rawReplacedRevision)) return null;\n replacedRevision = rawReplacedRevision;\n }\n const generatedBatchId = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchId];\n const rawGeneratedBatchSize = attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.generatedBatchSize];\n let generatedBatchSize: number | undefined;\n if (generatedBatchId !== undefined) {\n if (!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(generatedBatchId)) {\n return null;\n }\n if (\n typeof rawGeneratedBatchSize !== \"string\" ||\n !/^[1-8]$/.test(rawGeneratedBatchSize)\n ) {\n return null;\n }\n generatedBatchSize = Number(rawGeneratedBatchSize);\n } else if (rawGeneratedBatchSize !== undefined) {\n return null;\n }\n if (\n !category.success ||\n !status.success ||\n status.data === \"superseded\" ||\n typeof rawOrder !== \"string\" ||\n !/^(?:0|[1-9]\\d*)$/.test(rawOrder) ||\n !Number.isSafeInteger(order) ||\n namespace === null ||\n typeof owner !== \"string\" ||\n !/^[a-f0-9]{64}$/.test(owner) ||\n !sourceMemoryIds\n )\n return null;\n const fields = SupportPassportCardSchema.omit({\n revision: true,\n statement: true,\n }).safeParse({\n cardId: frontmatter.id,\n title: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.title],\n category: category.data,\n status: status.data,\n updatedAt: frontmatter.updated,\n reviewBy: attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.reviewBy],\n });\n if (!fields.success) return null;\n return {\n fields: fields.data,\n order,\n sourceMemoryIds,\n namespace,\n owner,\n replacesDraftId,\n replacedRevision,\n draftReplacementPrepared:\n attributes[SUPPORT_PASSPORT_ATTRIBUTE_KEYS.draftReplacementPrepared] ===\n \"true\",\n generatedBatchId,\n generatedBatchSize,\n };\n}\n\nexport function hasLiveSupportPassportCard(memory: Pick<MemoryFile, \"frontmatter\" | \"content\">): boolean {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (metadata?.fields.status !== \"active\" && metadata?.fields.status !== \"pending_review\") return false;\n return SupportPassportCardSchema.omit({ revision: true }).safeParse({\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n }).success;\n}\n\nexport function projectSupportPassportCard(\n memory: MemoryFile,\n): StoredSupportPassportCard | null {\n const metadata = parseSupportPassportCardMetadata(memory);\n if (!metadata) return null;\n\n const fields = {\n ...metadata.fields,\n statement: stripAttributesSuffix(memory.content),\n };\n const normalized = SupportPassportCardSchema.omit({\n revision: true,\n }).safeParse(fields);\n if (!normalized.success) return null;\n const parsed = SupportPassportCardSchema.safeParse({\n ...normalized.data,\n revision: computeSupportPassportCardRevision(normalized.data),\n });\n if (!parsed.success) return null;\n return {\n card: parsed.data,\n memory,\n order: metadata.order,\n sourceMemoryIds: metadata.sourceMemoryIds,\n namespace: metadata.namespace,\n owner: metadata.owner,\n replacesDraftId: metadata.replacesDraftId,\n replacedRevision: metadata.replacedRevision,\n draftReplacementPrepared: metadata.draftReplacementPrepared,\n generatedBatchId: metadata.generatedBatchId,\n generatedBatchSize: metadata.generatedBatchSize,\n };\n}\n"],"mappings":"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","names":["createHash","createHash"]}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SupportPassportCreateGrantRequestSchema,
|
|
3
|
+
defineOperation
|
|
4
|
+
} from "./chunk-D3LBIUWV.js";
|
|
5
|
+
import {
|
|
6
|
+
SupportPassportCardCategorySchema,
|
|
7
|
+
SupportPassportMemoryIdSchema,
|
|
8
|
+
SupportPassportSourceMemoryIdSchema
|
|
9
|
+
} from "./chunk-XX4HPFFM.js";
|
|
10
|
+
|
|
11
|
+
// src/support-passport/access-operations.ts
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
var IsoTimestampSchema = z.string().datetime({ offset: true });
|
|
14
|
+
var RevisionSchema = z.string().regex(/^[a-f0-9]{64}$/);
|
|
15
|
+
var ReasonCodeSchema = z.string().trim().min(1).max(64).regex(/^[a-z0-9-]+$/);
|
|
16
|
+
var GrantIdSchema = z.string().trim().min(1).max(128).regex(/^[A-Za-z0-9_-]+$/);
|
|
17
|
+
var EmptySchema = z.object({}).strict();
|
|
18
|
+
var ManualDraftSchema = z.object({
|
|
19
|
+
title: z.string().trim().min(1).max(80),
|
|
20
|
+
statement: z.string().trim().min(1).max(500),
|
|
21
|
+
category: SupportPassportCardCategorySchema,
|
|
22
|
+
reviewBy: IsoTimestampSchema
|
|
23
|
+
}).strict();
|
|
24
|
+
var GenerateDraftsSchema = z.object({
|
|
25
|
+
sourceMemoryIds: z.array(SupportPassportSourceMemoryIdSchema).min(1).max(20),
|
|
26
|
+
sourceMemoryRevisions: z.array(z.object({ memoryId: SupportPassportSourceMemoryIdSchema, revision: RevisionSchema }).strict()).min(1).max(20),
|
|
27
|
+
consent: z.literal(true)
|
|
28
|
+
}).strict().superRefine((input, ctx) => {
|
|
29
|
+
if (new Set(input.sourceMemoryIds).size !== input.sourceMemoryIds.length) {
|
|
30
|
+
ctx.addIssue({
|
|
31
|
+
code: z.ZodIssueCode.custom,
|
|
32
|
+
message: "source memory IDs must be unique",
|
|
33
|
+
path: ["sourceMemoryIds"]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const revisionIds = input.sourceMemoryRevisions.map((source) => source.memoryId);
|
|
37
|
+
if (new Set(revisionIds).size !== revisionIds.length || revisionIds.length !== input.sourceMemoryIds.length || input.sourceMemoryIds.some((memoryId) => !revisionIds.includes(memoryId))) {
|
|
38
|
+
ctx.addIssue({
|
|
39
|
+
code: z.ZodIssueCode.custom,
|
|
40
|
+
message: "source memory revisions must match the selected memory IDs",
|
|
41
|
+
path: ["sourceMemoryRevisions"]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
var ReplaceCardSchema = ManualDraftSchema.extend({
|
|
46
|
+
cardId: SupportPassportMemoryIdSchema,
|
|
47
|
+
expectedRevision: RevisionSchema
|
|
48
|
+
}).strict();
|
|
49
|
+
var CardMutationSchema = z.object({
|
|
50
|
+
cardId: SupportPassportMemoryIdSchema,
|
|
51
|
+
expectedRevision: RevisionSchema,
|
|
52
|
+
reasonCode: ReasonCodeSchema
|
|
53
|
+
}).strict();
|
|
54
|
+
var RevokeGrantSchema = z.object({
|
|
55
|
+
grantId: GrantIdSchema,
|
|
56
|
+
expectedVersion: z.number().int().positive()
|
|
57
|
+
}).strict();
|
|
58
|
+
var PublicGrantSchema = z.object({
|
|
59
|
+
grantId: GrantIdSchema,
|
|
60
|
+
secret: z.string().regex(/^[A-Za-z0-9_-]{32,256}$/)
|
|
61
|
+
}).strict();
|
|
62
|
+
var AskGrantSchema = PublicGrantSchema.extend({
|
|
63
|
+
question: z.string().trim().min(1).max(500)
|
|
64
|
+
}).strict();
|
|
65
|
+
function principal(value) {
|
|
66
|
+
return value ?? "";
|
|
67
|
+
}
|
|
68
|
+
var supportPassportMemoryPreviewOperation = defineOperation({
|
|
69
|
+
name: "support_passport_memory_preview",
|
|
70
|
+
description: "Preview one owner memory and bind it to a support-card consent revision.",
|
|
71
|
+
schema: z.object({ memoryId: SupportPassportSourceMemoryIdSchema }).strict(),
|
|
72
|
+
handler: async (input, ctx) => ({
|
|
73
|
+
result: await ctx.service.supportPassportPreviewMemory(principal(ctx.authenticatedPrincipal), input.memoryId)
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
var supportPassportCardsListOperation = defineOperation({
|
|
77
|
+
name: "support_passport_cards_list",
|
|
78
|
+
description: "List the authenticated owner's support cards.",
|
|
79
|
+
schema: EmptySchema,
|
|
80
|
+
handler: async (_input, ctx) => ({
|
|
81
|
+
result: { cards: await ctx.service.supportPassportListCards(principal(ctx.authenticatedPrincipal)) }
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
var supportPassportDraftCreateOperation = defineOperation({
|
|
85
|
+
name: "support_passport_draft_create",
|
|
86
|
+
description: "Create one support card draft for the authenticated owner.",
|
|
87
|
+
schema: ManualDraftSchema,
|
|
88
|
+
handler: async (input, ctx) => ({
|
|
89
|
+
result: {
|
|
90
|
+
card: await ctx.service.supportPassportCreateManualDraft(
|
|
91
|
+
principal(ctx.authenticatedPrincipal),
|
|
92
|
+
input,
|
|
93
|
+
{
|
|
94
|
+
...ctx.abortSignal ? { signal: ctx.abortSignal } : {},
|
|
95
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
var supportPassportDraftsGenerateOperation = defineOperation({
|
|
102
|
+
name: "support_passport_drafts_generate",
|
|
103
|
+
description: "Draft support cards from selected owner memories after explicit consent.",
|
|
104
|
+
schema: GenerateDraftsSchema,
|
|
105
|
+
handler: async (input, ctx) => ({
|
|
106
|
+
result: {
|
|
107
|
+
cards: await ctx.service.supportPassportGenerateDrafts(principal(ctx.authenticatedPrincipal), {
|
|
108
|
+
...input,
|
|
109
|
+
signal: ctx.abortSignal,
|
|
110
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
var supportPassportCardReplaceOperation = defineOperation({
|
|
116
|
+
name: "support_passport_card_replace",
|
|
117
|
+
description: "Replace one support card with a new owner-reviewed draft.",
|
|
118
|
+
schema: ReplaceCardSchema,
|
|
119
|
+
handler: async ({ cardId, ...input }, ctx) => ({
|
|
120
|
+
result: {
|
|
121
|
+
card: await ctx.service.supportPassportReplaceCard(
|
|
122
|
+
principal(ctx.authenticatedPrincipal),
|
|
123
|
+
cardId,
|
|
124
|
+
input,
|
|
125
|
+
{
|
|
126
|
+
...ctx.abortSignal ? { signal: ctx.abortSignal } : {},
|
|
127
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
function defineCardMutation(name, description, run) {
|
|
134
|
+
return defineOperation({
|
|
135
|
+
name,
|
|
136
|
+
description,
|
|
137
|
+
schema: CardMutationSchema,
|
|
138
|
+
handler: async ({ cardId, ...input }, ctx) => ({
|
|
139
|
+
result: {
|
|
140
|
+
card: await ctx.service[run](
|
|
141
|
+
principal(ctx.authenticatedPrincipal),
|
|
142
|
+
cardId,
|
|
143
|
+
input,
|
|
144
|
+
{
|
|
145
|
+
...ctx.abortSignal ? { signal: ctx.abortSignal } : {},
|
|
146
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
}
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
var supportPassportCardApproveOperation = defineCardMutation(
|
|
154
|
+
"support_passport_card_approve",
|
|
155
|
+
"Approve one pending support card as its authenticated owner.",
|
|
156
|
+
"supportPassportApproveCard"
|
|
157
|
+
);
|
|
158
|
+
var supportPassportCardRejectOperation = defineCardMutation(
|
|
159
|
+
"support_passport_card_reject",
|
|
160
|
+
"Reject one pending support card as its authenticated owner.",
|
|
161
|
+
"supportPassportRejectCard"
|
|
162
|
+
);
|
|
163
|
+
var supportPassportCardWithdrawOperation = defineCardMutation(
|
|
164
|
+
"support_passport_card_withdraw",
|
|
165
|
+
"Withdraw one approved support card as its authenticated owner.",
|
|
166
|
+
"supportPassportWithdrawCard"
|
|
167
|
+
);
|
|
168
|
+
var supportPassportGrantCreateOperation = defineOperation({
|
|
169
|
+
name: "support_passport_grant_create",
|
|
170
|
+
description: "Create one timed share link for exact approved support card versions.",
|
|
171
|
+
schema: SupportPassportCreateGrantRequestSchema,
|
|
172
|
+
handler: async (input, ctx) => ({
|
|
173
|
+
result: await ctx.service.supportPassportCreateGrant(
|
|
174
|
+
principal(ctx.authenticatedPrincipal),
|
|
175
|
+
input,
|
|
176
|
+
{
|
|
177
|
+
...ctx.abortSignal ? { signal: ctx.abortSignal } : {},
|
|
178
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
179
|
+
}
|
|
180
|
+
)
|
|
181
|
+
})
|
|
182
|
+
});
|
|
183
|
+
var supportPassportGrantsListOperation = defineOperation({
|
|
184
|
+
name: "support_passport_grants_list",
|
|
185
|
+
description: "List the authenticated owner's support passport share links without secrets.",
|
|
186
|
+
schema: EmptySchema,
|
|
187
|
+
handler: async (_input, ctx) => ({
|
|
188
|
+
result: { grants: await ctx.service.supportPassportListGrants(principal(ctx.authenticatedPrincipal)) }
|
|
189
|
+
})
|
|
190
|
+
});
|
|
191
|
+
var supportPassportGrantRevokeOperation = defineOperation({
|
|
192
|
+
name: "support_passport_grant_revoke",
|
|
193
|
+
description: "Stop one support passport share link as its authenticated owner.",
|
|
194
|
+
schema: RevokeGrantSchema,
|
|
195
|
+
handler: async ({ grantId, ...input }, ctx) => ({
|
|
196
|
+
result: await ctx.service.supportPassportRevokeGrant(
|
|
197
|
+
principal(ctx.authenticatedPrincipal),
|
|
198
|
+
grantId,
|
|
199
|
+
input,
|
|
200
|
+
{
|
|
201
|
+
...ctx.abortSignal ? { signal: ctx.abortSignal } : {},
|
|
202
|
+
...ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
})
|
|
206
|
+
});
|
|
207
|
+
var supportPassportGrantReadOperation = defineOperation({
|
|
208
|
+
name: "support_passport_grant_read",
|
|
209
|
+
description: "Read one active support passport share link.",
|
|
210
|
+
schema: PublicGrantSchema,
|
|
211
|
+
handler: async ({ grantId, secret }, ctx) => ({
|
|
212
|
+
result: await ctx.service.supportPassportReadGrant(grantId, secret)
|
|
213
|
+
})
|
|
214
|
+
});
|
|
215
|
+
var supportPassportGrantAskOperation = defineOperation({
|
|
216
|
+
name: "support_passport_grant_ask",
|
|
217
|
+
description: "Answer one helper question from an active support passport share link.",
|
|
218
|
+
schema: AskGrantSchema,
|
|
219
|
+
handler: async ({ grantId, secret, question }, ctx) => ({
|
|
220
|
+
result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
|
|
221
|
+
})
|
|
222
|
+
});
|
|
223
|
+
//# sourceMappingURL=chunk-YXQEKCZM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/support-passport/access-operations.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { defineOperation } from \"../access-boundary.js\";\nimport {\n SupportPassportCardCategorySchema,\n SupportPassportMemoryIdSchema,\n SupportPassportSourceMemoryIdSchema,\n} from \"./contracts.js\";\nimport { SupportPassportCreateGrantRequestSchema } from \"./grant-contracts.js\";\n\nconst IsoTimestampSchema = z.string().datetime({ offset: true });\nconst RevisionSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst ReasonCodeSchema = z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9-]+$/);\nconst GrantIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9_-]+$/);\nconst EmptySchema = z.object({}).strict();\n\nconst ManualDraftSchema = z\n .object({\n title: z.string().trim().min(1).max(80),\n statement: z.string().trim().min(1).max(500),\n category: SupportPassportCardCategorySchema,\n reviewBy: IsoTimestampSchema,\n })\n .strict();\n\nconst GenerateDraftsSchema = z\n .object({\n sourceMemoryIds: z.array(SupportPassportSourceMemoryIdSchema).min(1).max(20),\n sourceMemoryRevisions: z\n .array(z.object({ memoryId: SupportPassportSourceMemoryIdSchema, revision: RevisionSchema }).strict())\n .min(1)\n .max(20),\n consent: z.literal(true),\n })\n .strict()\n .superRefine((input, ctx) => {\n if (new Set(input.sourceMemoryIds).size !== input.sourceMemoryIds.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"source memory IDs must be unique\",\n path: [\"sourceMemoryIds\"],\n });\n }\n const revisionIds = input.sourceMemoryRevisions.map((source) => source.memoryId);\n if (\n new Set(revisionIds).size !== revisionIds.length ||\n revisionIds.length !== input.sourceMemoryIds.length ||\n input.sourceMemoryIds.some((memoryId) => !revisionIds.includes(memoryId))\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"source memory revisions must match the selected memory IDs\",\n path: [\"sourceMemoryRevisions\"],\n });\n }\n });\n\nconst ReplaceCardSchema = ManualDraftSchema.extend({\n cardId: SupportPassportMemoryIdSchema,\n expectedRevision: RevisionSchema,\n}).strict();\n\nconst CardMutationSchema = z\n .object({\n cardId: SupportPassportMemoryIdSchema,\n expectedRevision: RevisionSchema,\n reasonCode: ReasonCodeSchema,\n })\n .strict();\n\nconst RevokeGrantSchema = z\n .object({\n grantId: GrantIdSchema,\n expectedVersion: z.number().int().positive(),\n })\n .strict();\n\nconst PublicGrantSchema = z\n .object({\n grantId: GrantIdSchema,\n secret: z.string().regex(/^[A-Za-z0-9_-]{32,256}$/),\n })\n .strict();\n\nconst AskGrantSchema = PublicGrantSchema.extend({\n question: z.string().trim().min(1).max(500),\n}).strict();\n\nfunction principal(value: string | undefined): string {\n return value ?? \"\";\n}\n\nexport const supportPassportMemoryPreviewOperation = defineOperation({\n name: \"support_passport_memory_preview\",\n description: \"Preview one owner memory and bind it to a support-card consent revision.\",\n schema: z.object({ memoryId: SupportPassportSourceMemoryIdSchema }).strict(),\n handler: async (input, ctx) => ({\n result: await ctx.service.supportPassportPreviewMemory(principal(ctx.authenticatedPrincipal), input.memoryId),\n }),\n});\n\nexport const supportPassportCardsListOperation = defineOperation({\n name: \"support_passport_cards_list\",\n description: \"List the authenticated owner's support cards.\",\n schema: EmptySchema,\n handler: async (_input, ctx) => ({\n result: { cards: await ctx.service.supportPassportListCards(principal(ctx.authenticatedPrincipal)) },\n }),\n});\n\nexport const supportPassportDraftCreateOperation = defineOperation({\n name: \"support_passport_draft_create\",\n description: \"Create one support card draft for the authenticated owner.\",\n schema: ManualDraftSchema,\n handler: async (input, ctx) => ({\n result: {\n card: await ctx.service.supportPassportCreateManualDraft(\n principal(ctx.authenticatedPrincipal),\n input,\n {\n ...(ctx.abortSignal ? { signal: ctx.abortSignal } : {}),\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }\n ),\n },\n }),\n});\n\nexport const supportPassportDraftsGenerateOperation = defineOperation({\n name: \"support_passport_drafts_generate\",\n description: \"Draft support cards from selected owner memories after explicit consent.\",\n schema: GenerateDraftsSchema,\n handler: async (input, ctx) => ({\n result: {\n cards: await ctx.service.supportPassportGenerateDrafts(principal(ctx.authenticatedPrincipal), {\n ...input,\n signal: ctx.abortSignal,\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }),\n },\n }),\n});\n\nexport const supportPassportCardReplaceOperation = defineOperation({\n name: \"support_passport_card_replace\",\n description: \"Replace one support card with a new owner-reviewed draft.\",\n schema: ReplaceCardSchema,\n handler: async ({ cardId, ...input }, ctx) => ({\n result: {\n card: await ctx.service.supportPassportReplaceCard(\n principal(ctx.authenticatedPrincipal),\n cardId,\n input,\n {\n ...(ctx.abortSignal ? { signal: ctx.abortSignal } : {}),\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }\n ),\n },\n }),\n});\n\nfunction defineCardMutation(\n name: \"support_passport_card_approve\" | \"support_passport_card_reject\" | \"support_passport_card_withdraw\",\n description: string,\n run: \"supportPassportApproveCard\" | \"supportPassportRejectCard\" | \"supportPassportWithdrawCard\"\n) {\n return defineOperation({\n name,\n description,\n schema: CardMutationSchema,\n handler: async ({ cardId, ...input }, ctx) => ({\n result: {\n card: await ctx.service[run](\n principal(ctx.authenticatedPrincipal),\n cardId,\n input,\n {\n ...(ctx.abortSignal ? { signal: ctx.abortSignal } : {}),\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }\n ),\n },\n }),\n });\n}\n\nexport const supportPassportCardApproveOperation = defineCardMutation(\n \"support_passport_card_approve\",\n \"Approve one pending support card as its authenticated owner.\",\n \"supportPassportApproveCard\"\n);\nexport const supportPassportCardRejectOperation = defineCardMutation(\n \"support_passport_card_reject\",\n \"Reject one pending support card as its authenticated owner.\",\n \"supportPassportRejectCard\"\n);\nexport const supportPassportCardWithdrawOperation = defineCardMutation(\n \"support_passport_card_withdraw\",\n \"Withdraw one approved support card as its authenticated owner.\",\n \"supportPassportWithdrawCard\"\n);\n\nexport const supportPassportGrantCreateOperation = defineOperation({\n name: \"support_passport_grant_create\",\n description: \"Create one timed share link for exact approved support card versions.\",\n schema: SupportPassportCreateGrantRequestSchema,\n handler: async (input, ctx) => ({\n result: await ctx.service.supportPassportCreateGrant(\n principal(ctx.authenticatedPrincipal),\n input,\n {\n ...(ctx.abortSignal ? { signal: ctx.abortSignal } : {}),\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }\n ),\n }),\n});\n\nexport const supportPassportGrantsListOperation = defineOperation({\n name: \"support_passport_grants_list\",\n description: \"List the authenticated owner's support passport share links without secrets.\",\n schema: EmptySchema,\n handler: async (_input, ctx) => ({\n result: { grants: await ctx.service.supportPassportListGrants(principal(ctx.authenticatedPrincipal)) },\n }),\n});\n\nexport const supportPassportGrantRevokeOperation = defineOperation({\n name: \"support_passport_grant_revoke\",\n description: \"Stop one support passport share link as its authenticated owner.\",\n schema: RevokeGrantSchema,\n handler: async ({ grantId, ...input }, ctx) => ({\n result: await ctx.service.supportPassportRevokeGrant(\n principal(ctx.authenticatedPrincipal),\n grantId,\n input,\n {\n ...(ctx.abortSignal ? { signal: ctx.abortSignal } : {}),\n ...(ctx.hooks?.recordWriteCommit ? { onCommitted: ctx.hooks.recordWriteCommit } : {}),\n }\n ),\n }),\n});\n\nexport const supportPassportGrantReadOperation = defineOperation({\n name: \"support_passport_grant_read\",\n description: \"Read one active support passport share link.\",\n schema: PublicGrantSchema,\n handler: async ({ grantId, secret }, ctx) => ({\n result: await ctx.service.supportPassportReadGrant(grantId, secret),\n }),\n});\n\nexport const supportPassportGrantAskOperation = defineOperation({\n name: \"support_passport_grant_ask\",\n description: \"Answer one helper question from an active support passport share link.\",\n schema: AskGrantSchema,\n handler: async ({ grantId, secret, question }, ctx) => ({\n result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal),\n }),\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
LcmWorkQueue
|
|
3
|
+
} from "./chunk-TPDBFYEG.js";
|
|
1
4
|
import {
|
|
2
5
|
assembleCompressedHistoryWithTrace
|
|
3
6
|
} from "./chunk-UXPUUL3G.js";
|
|
@@ -14,9 +17,6 @@ import {
|
|
|
14
17
|
import {
|
|
15
18
|
LcmDag
|
|
16
19
|
} from "./chunk-7N4KAIGN.js";
|
|
17
|
-
import {
|
|
18
|
-
LcmWorkQueue
|
|
19
|
-
} from "./chunk-TPDBFYEG.js";
|
|
20
20
|
import {
|
|
21
21
|
log
|
|
22
22
|
} from "./chunk-3WCASNQZ.js";
|
|
@@ -526,4 +526,4 @@ export {
|
|
|
526
526
|
extractLcmConfig,
|
|
527
527
|
LcmEngine
|
|
528
528
|
};
|
|
529
|
-
//# sourceMappingURL=chunk-
|
|
529
|
+
//# sourceMappingURL=chunk-Z54EM5YZ.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-SUPEYLH2.js";
|
|
8
8
|
import {
|
|
9
9
|
StorageManager
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-M4YHAODQ.js";
|
|
11
11
|
import {
|
|
12
12
|
parseContinuityImprovementLoops
|
|
13
13
|
} from "./chunk-LDXUBPMO.js";
|
|
@@ -1283,4 +1283,4 @@ export {
|
|
|
1283
1283
|
defaultTierMigrationCycleBudget,
|
|
1284
1284
|
CompoundingEngine
|
|
1285
1285
|
};
|
|
1286
|
-
//# sourceMappingURL=chunk-
|
|
1286
|
+
//# sourceMappingURL=chunk-ZRZVLB7O.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
readNamespaceMaintenanceLastRanStatuses,
|
|
4
4
|
readNamespaceMaintenanceStatuses,
|
|
5
5
|
runNamespaceMaintenancePlan
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FFRTNF3L.js";
|
|
7
7
|
import {
|
|
8
8
|
analyzeSessionIntegrity,
|
|
9
9
|
applySessionRepair,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-CMTINOFS.js";
|
|
15
15
|
import {
|
|
16
16
|
summarizeCorpusAndReplica
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-V6ERBR7U.js";
|
|
18
18
|
import {
|
|
19
19
|
readJudgeVerdictStats
|
|
20
20
|
} from "./chunk-OZKOPQCM.js";
|
|
@@ -38,23 +38,23 @@ import {
|
|
|
38
38
|
} from "./chunk-YBPYIAA5.js";
|
|
39
39
|
import {
|
|
40
40
|
parseConfig
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-PG4QBPVG.js";
|
|
42
42
|
import {
|
|
43
43
|
readAggregateExtractionWatermark
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-JYG4OLWH.js";
|
|
45
45
|
import {
|
|
46
46
|
listMemoryGovernanceRuns,
|
|
47
47
|
readMemoryGovernanceRunArtifact
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GJ776BC2.js";
|
|
49
49
|
import {
|
|
50
50
|
listNamespaces
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-MIH3CJPN.js";
|
|
52
52
|
import {
|
|
53
53
|
analyzeGraphHealth
|
|
54
54
|
} from "./chunk-BIJAWZYW.js";
|
|
55
55
|
import {
|
|
56
56
|
StorageManager
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-M4YHAODQ.js";
|
|
58
58
|
import {
|
|
59
59
|
lintWorkspaceFiles
|
|
60
60
|
} from "./chunk-DM2T26WE.js";
|
|
@@ -1109,7 +1109,7 @@ async function summarizeGraphEdgeDecayStatus(config) {
|
|
|
1109
1109
|
}
|
|
1110
1110
|
async function summarizeTierDistribution(storage) {
|
|
1111
1111
|
try {
|
|
1112
|
-
const { summarizeTiers } = await import("./tier-stats-
|
|
1112
|
+
const { summarizeTiers } = await import("./tier-stats-EXYSKSVN.js");
|
|
1113
1113
|
const summary = await summarizeTiers(storage);
|
|
1114
1114
|
const storageDir = storage.dir ?? "";
|
|
1115
1115
|
const journalPath = storageDir.length > 0 ? path.join(storageDir, "state", "tier-migration-journal.jsonl") : null;
|
|
@@ -1683,4 +1683,4 @@ export {
|
|
|
1683
1683
|
runBenchmarkRecall,
|
|
1684
1684
|
runOperatorRepair
|
|
1685
1685
|
};
|
|
1686
|
-
//# sourceMappingURL=chunk-
|
|
1686
|
+
//# sourceMappingURL=chunk-ZUKIUXHQ.js.map
|
|
@@ -2,22 +2,22 @@ import { CompoundingPromotionReport } from './compounding/engine.js';
|
|
|
2
2
|
import { ConversationIndexBackendInspection } from './conversation-index/backend.js';
|
|
3
3
|
import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
|
|
4
4
|
import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
|
|
5
|
-
import { y as MemoryStatus, M as MemoryFile, a6 as BehaviorSignalEvent, Q as QmdSearchResult, ab as BulkImportResult, ag as MemoryActionEvent, J as MemoryLifecycleEvent } from './types-
|
|
5
|
+
import { y as MemoryStatus, M as MemoryFile, a6 as BehaviorSignalEvent, Q as QmdSearchResult, ab as BulkImportResult, ag as MemoryActionEvent, J as MemoryLifecycleEvent } from './types-ed-SvS2t.js';
|
|
6
6
|
import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
|
|
7
7
|
import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
|
|
8
8
|
import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
|
|
9
9
|
import { Writable, Readable } from 'node:stream';
|
|
10
|
-
import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-
|
|
10
|
+
import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-D85CzDDY.js';
|
|
11
11
|
import { ReplayRunSummary } from './replay/runner.js';
|
|
12
12
|
import { ReplaySource, ReplayTurn } from './replay/types.js';
|
|
13
|
-
import { P as ProcessBatchFn } from './pipeline-
|
|
14
|
-
import { S as StorageManager } from './storage-
|
|
13
|
+
import { P as ProcessBatchFn } from './pipeline-DPcUifCO.js';
|
|
14
|
+
import { S as StorageManager } from './storage-qOnaJ1Lw.js';
|
|
15
15
|
import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
|
|
16
16
|
import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/types.js';
|
|
17
17
|
import { RoutePatternType } from './routing/engine.js';
|
|
18
18
|
import { TailscaleSyncOptions } from './network/tailscale.js';
|
|
19
19
|
import { DashboardStatus } from './dashboard-runtime.js';
|
|
20
|
-
import { f as EngramAccessService } from './access-service-
|
|
20
|
+
import { f as EngramAccessService } from './access-service-DkSdXK4S.js';
|
|
21
21
|
import { ResolveSecretRefFn } from './resolve-auth-token.js';
|
|
22
22
|
import { CompatRunner, CompatReport } from './compat/types.js';
|
|
23
23
|
import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';
|