@remnic/core 9.63.9 → 9.63.11
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 -11
- package/dist/access-admin-ops-surface.js +23 -23
- package/dist/access-authorization-probe.d.ts +12 -11
- package/dist/access-authorization-probe.js +24 -24
- package/dist/access-boundary.d.ts +12 -11
- package/dist/access-boundary.js +23 -23
- package/dist/access-cli.js +84 -82
- 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 +12 -11
- package/dist/access-extraction-force-flush.js +23 -23
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +11 -11
- package/dist/access-http-lifecycle-flush.d.ts +11 -11
- package/dist/access-http-offline-stream.d.ts +12 -11
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +25 -25
- package/dist/access-http.d.ts +13 -12
- package/dist/access-http.js +36 -36
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +23 -23
- package/dist/access-lcm-surface.d.ts +12 -11
- package/dist/access-lcm-surface.js +23 -23
- package/dist/access-mcp.d.ts +12 -11
- package/dist/access-mcp.js +30 -30
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-DB0zXFek.d.ts → access-namespace-preflight-CrF0FKaz.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +23 -23
- package/dist/access-observe-write-surface.d.ts +12 -11
- package/dist/access-observe-write-surface.js +23 -23
- package/dist/access-offline-manifest.d.ts +9 -9
- package/dist/access-operations-batch.js +26 -25
- package/dist/access-operations.d.ts +14 -14
- package/dist/access-operations.js +29 -29
- package/dist/access-recall-concurrency.d.ts +12 -11
- package/dist/access-recall-concurrency.js +23 -23
- package/dist/access-recall-response.d.ts +12 -11
- package/dist/access-recall-response.js +23 -23
- package/dist/access-recall-surface.d.ts +12 -11
- package/dist/access-recall-surface.js +23 -23
- package/dist/access-schema.d.ts +92 -92
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-DwfdjqkZ.d.ts → access-service-U6jiERic.d.ts} +86 -161
- package/dist/access-service-helpers.d.ts +12 -11
- package/dist/access-service.d.ts +12 -11
- package/dist/access-service.js +23 -23
- package/dist/access-surface-catalog.d.ts +12 -11
- package/dist/access-surface-catalog.js +25 -25
- 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 +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-3SHMZVQS.js → auto-sync-5L7EUZ27.js} +4 -3
- package/dist/{auto-sync-3SHMZVQS.js.map → auto-sync-5L7EUZ27.js.map} +1 -1
- 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-window.d.ts +2 -2
- package/dist/briefing.d.ts +5 -3
- package/dist/briefing.js +11 -9
- 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/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-GWVG7LGC.js} +2 -2
- package/dist/{catalog-CCzmf8IH.d.ts → catalog-C0KIwZqR.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +10 -10
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-4POAMKV6.js → chunk-27IOSH2W.js} +5 -2
- package/dist/chunk-27IOSH2W.js.map +1 -0
- package/dist/{chunk-OQIRBGUU.js → chunk-2Q4UAPLD.js} +4 -4
- package/dist/{chunk-PHKU6BZ2.js → chunk-36XS2ASP.js} +2 -2
- package/dist/{chunk-BRHKW7GY.js → chunk-4IIDTPSK.js} +2 -2
- package/dist/{chunk-EDZNW3HE.js → chunk-57WMVU4D.js} +54 -45
- package/dist/chunk-57WMVU4D.js.map +1 -0
- package/dist/{chunk-Q5XKKDFQ.js → chunk-5SZ6CLGJ.js} +2 -2
- package/dist/{chunk-VDX2J7OX.js → chunk-5W7CTZ2E.js} +4 -4
- package/dist/{chunk-EUYWQ7TS.js → chunk-652S5A5D.js} +2 -2
- package/dist/{chunk-ULZFZL7K.js → chunk-6IKXAAJI.js} +17 -28
- package/dist/chunk-6IKXAAJI.js.map +1 -0
- package/dist/{chunk-3TDAA7VA.js → chunk-6NMZXEJ7.js} +2 -2
- package/dist/{chunk-ZOAAY2OE.js → chunk-77E7LLMV.js} +7 -7
- package/dist/{chunk-MIUL6AUZ.js → chunk-7ML7STOD.js} +3 -3
- package/dist/{chunk-5SCFDQEJ.js → chunk-BPLPGOUJ.js} +2 -2
- package/dist/{chunk-RWMSMTQP.js → chunk-BS75WJBH.js} +2 -2
- package/dist/{chunk-XE2QCCT2.js → chunk-BTBAHTQ5.js} +2 -2
- package/dist/{chunk-42TIIO2M.js → chunk-BTUIHRRR.js} +2 -2
- package/dist/{chunk-3IMYRX3W.js → chunk-BYFKJXIR.js} +2 -2
- package/dist/chunk-CIO7GCWE.js +29 -0
- package/dist/chunk-CIO7GCWE.js.map +1 -0
- package/dist/{chunk-SNEUAZ6B.js → chunk-CK3DZ6OE.js} +2 -2
- package/dist/{chunk-VYMICVRA.js → chunk-DIJCMHUE.js} +2 -2
- package/dist/{chunk-AJRJDXYR.js → chunk-E7MYSCSL.js} +2 -2
- package/dist/{chunk-3T6HIIKA.js → chunk-EHC3FIJ4.js} +2 -2
- package/dist/{chunk-YTXNDEUS.js → chunk-FEP45MYY.js} +4 -3
- package/dist/{chunk-YTXNDEUS.js.map → chunk-FEP45MYY.js.map} +1 -1
- package/dist/{chunk-KFB4YNXM.js → chunk-G5F4MXXC.js} +2 -2
- package/dist/{chunk-VANZKHTN.js → chunk-G5OB4XZX.js} +4 -4
- package/dist/{chunk-645WOU5I.js → chunk-H7BZBSP6.js} +4 -4
- package/dist/{chunk-SZ4HFZKB.js → chunk-HMKPFW7R.js} +2 -2
- package/dist/{chunk-WBPD6SBZ.js → chunk-HP6B732E.js} +54 -54
- package/dist/{chunk-VFZQXYN5.js → chunk-HZXO2CJ6.js} +2 -2
- package/dist/{chunk-DGUVXXAU.js → chunk-IRXMJLTW.js} +12 -3
- package/dist/{chunk-DGUVXXAU.js.map → chunk-IRXMJLTW.js.map} +1 -1
- package/dist/{chunk-O52TB5SL.js → chunk-IUSV4XJC.js} +2 -2
- package/dist/{chunk-5TF5STAV.js → chunk-JASFZQ76.js} +4 -4
- package/dist/{chunk-ML3U4KPR.js → chunk-K547KS3X.js} +4 -4
- package/dist/{chunk-UHGBNIOS.js → chunk-KVDUKH5E.js} +7 -2
- package/dist/chunk-KVDUKH5E.js.map +1 -0
- package/dist/{chunk-XTMYB2HY.js → chunk-LJQGQUNS.js} +2 -2
- package/dist/{chunk-WAS4HV46.js → chunk-LNH76ZJX.js} +87 -3
- package/dist/chunk-LNH76ZJX.js.map +1 -0
- package/dist/{chunk-J6QIAYNR.js → chunk-LVXBC6YB.js} +7 -2
- package/dist/{chunk-J6QIAYNR.js.map → chunk-LVXBC6YB.js.map} +1 -1
- package/dist/{chunk-IVKIODHO.js → chunk-MB6GLPRY.js} +4 -4
- package/dist/chunk-MKYRCCSN.js +145 -0
- package/dist/chunk-MKYRCCSN.js.map +1 -0
- package/dist/{chunk-6433HV72.js → chunk-MVIYRRVJ.js} +5 -5
- package/dist/{chunk-LTYH2L6E.js → chunk-NWHKHBL4.js} +44 -64
- package/dist/chunk-NWHKHBL4.js.map +1 -0
- package/dist/{chunk-BXLOS5AJ.js → chunk-OWHERGF2.js} +2 -2
- package/dist/{chunk-QQYHYW2N.js → chunk-PQODT53H.js} +3 -3
- package/dist/{chunk-PQHNZ63P.js → chunk-R5AWIILH.js} +37 -29
- package/dist/chunk-R5AWIILH.js.map +1 -0
- package/dist/{chunk-TOP3FSDW.js → chunk-RFFCBYBD.js} +11 -11
- package/dist/{chunk-MYI3RKI6.js → chunk-SYU5JOBQ.js} +2 -2
- package/dist/{chunk-JXS5PDQ7.js → chunk-UOBPK2OS.js} +25 -7
- package/dist/chunk-UOBPK2OS.js.map +1 -0
- package/dist/{chunk-BOSIHHOH.js → chunk-UUYQWKHO.js} +2 -2
- package/dist/{chunk-DQEMWVMT.js → chunk-UVYI6VIX.js} +1 -1
- package/dist/{chunk-KXWE62IH.js → chunk-V2YH7T6T.js} +2 -2
- package/dist/{chunk-M4AHBM72.js → chunk-VCBG52MM.js} +4 -4
- package/dist/{chunk-N7V3P4V5.js → chunk-VCEE4YNA.js} +2 -2
- package/dist/{chunk-62Y5AGCM.js → chunk-VENMDW4U.js} +10 -10
- package/dist/{chunk-6NAPOLRO.js → chunk-VY47VI2T.js} +6 -4
- package/dist/chunk-VY47VI2T.js.map +1 -0
- package/dist/{chunk-QTXNS3HB.js → chunk-WCWIV2JH.js} +2 -2
- package/dist/{chunk-6UKSOXAO.js → chunk-WQ6TRWAE.js} +3 -3
- package/dist/{chunk-CBY54QYW.js → chunk-X6HNXVXS.js} +4 -4
- package/dist/{chunk-SY5JUJ2X.js → chunk-XREXYQ5U.js} +39 -39
- package/dist/{chunk-JPWSYHLB.js → chunk-YGSDWO3U.js} +2 -2
- package/dist/{chunk-BPQ7L27U.js → chunk-YI25J2JD.js} +16 -16
- package/dist/chunk-YI25J2JD.js.map +1 -0
- package/dist/{chunk-GBVRVYF4.js → chunk-YINSSARY.js} +1 -1
- package/dist/{chunk-Q6OL23WM.js → chunk-Z4UPRZR6.js} +2 -2
- package/dist/{chunk-4F67JJPG.js → chunk-ZPN7W3OP.js} +2 -2
- package/dist/{cli-kcUqoV4E.d.ts → cli-BsaYHAH9.d.ts} +5 -5
- package/dist/cli.d.ts +14 -13
- package/dist/cli.js +55 -54
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +9 -9
- 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/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +9 -9
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +9 -9
- 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 +4 -4
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +11 -11
- package/dist/conversation-index/backend.d.ts +1 -1
- 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 +11 -11
- package/dist/day-summary.d.ts +1 -1
- package/dist/day-summary.js +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-DiY5T63p.d.ts → dependency-propagation-delivery-Cph4PnBe.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer-wiring.js +2 -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-origin-fields.d.ts +1 -1
- package/dist/entity-retrieval-i18n.d.ts +34 -0
- package/dist/entity-retrieval-i18n.js +13 -0
- package/dist/entity-retrieval-i18n.js.map +1 -0
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +10 -9
- package/dist/entity-schema.d.ts +1 -1
- package/dist/episodic-context.d.ts +1 -1
- package/dist/event-order-recall.js +2 -2
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/external-wiki-access.d.ts +12 -11
- package/dist/external-wiki-access.js +24 -24
- 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 +12 -11
- package/dist/extraction-error-classification.d.ts +1 -1
- package/dist/extraction-faithfulness.d.ts +1 -1
- 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-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-helpers.d.ts +10 -1
- package/dist/extraction-source-grounding-helpers.js +3 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding-rules.js +2 -2
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction-source-grounding.js +3 -3
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +18 -18
- package/dist/fallback-llm.d.ts +1 -1
- 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/importance.js +2 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/index.d.ts +697 -697
- package/dist/index.js +105 -103
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +4 -4
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +1 -1
- package/dist/local-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 +9 -9
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +9 -9
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +10 -10
- package/dist/{maintenance-CaqA4z7V.d.ts → maintenance-BNq31xpo.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +11 -11
- 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 +10 -10
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +7 -7
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +9 -9
- 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 +12 -12
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +17 -17
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +15 -15
- package/dist/{orchestrator-Bay_AofR.d.ts → orchestrator-CBuUOP2J.d.ts} +8 -8
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +84 -82
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-X606GdRJ.d.ts → pipeline-CW_Q4WvX.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-DscQtnCx.d.ts → public-http-jMlmLny4.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/{qmd-DCKeR-GX.d.ts → qmd-q-cAzYuC.d.ts} +1 -1
- 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-memory-map.d.ts +1 -1
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray.d.ts +1 -1
- 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/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 +108 -108
- package/dist/{scope-profiles-_Y_RHCeE.d.ts → scope-profiles-CIr4mXgp.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 +6 -6
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +11 -11
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-DT2VSrU0.d.ts → semantic-consolidation-BZ6J46j-.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +10 -10
- package/dist/semantic-rule-promotion.js +9 -9
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +9 -9
- package/dist/{service-BMo-gwDE.d.ts → service-CCl4iyyY.d.ts} +2 -2
- 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 +13 -13
- package/dist/{storage-CGzJGUUu.d.ts → storage-BPXmJKIt.d.ts} +1 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +8 -8
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +3 -3
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +15 -14
- package/dist/support-passport/index.js +26 -26
- 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/topics.d.ts +1 -1
- package/dist/topics.js +2 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/types.d.ts +66 -66
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-CBEAYU76.d.ts → types-CltSWcND.d.ts} +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +9 -9
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +2 -2
- package/src/access-http.ts +47 -60
- package/src/access-mcp.test.ts +6 -10
- package/src/access-mcp.ts +21 -22
- package/src/access-operations-batch.ts +66 -18
- package/src/access-schema.ts +12 -1
- package/src/access-service.ts +18 -91
- package/src/briefing.test.ts +50 -0
- package/src/briefing.ts +3 -2
- package/src/chat/chat-engine.test.ts +15 -0
- package/src/chat/chat-engine.ts +13 -2
- package/src/day-summary.test.ts +63 -0
- package/src/day-summary.ts +13 -1
- package/src/entity-retrieval-i18n.test.ts +115 -0
- package/src/entity-retrieval-i18n.ts +161 -0
- package/src/entity-retrieval.ts +34 -34
- package/src/extraction-source-grounding-helpers.ts +112 -2
- package/src/extraction-source-grounding-rules.ts +3 -1
- package/src/extraction-source-grounding.test.ts +52 -0
- package/src/importance.ts +32 -22
- package/src/recall-disclosure.test.ts +1 -1
- package/src/taxonomy/resolver.ts +7 -7
- package/src/topics.ts +5 -2
- package/src/utils/script-aware-text.ts +52 -0
- package/src/write-classifiers-cjk.test.ts +115 -0
- package/dist/chunk-4POAMKV6.js.map +0 -1
- package/dist/chunk-6NAPOLRO.js.map +0 -1
- package/dist/chunk-BPQ7L27U.js.map +0 -1
- package/dist/chunk-EDZNW3HE.js.map +0 -1
- package/dist/chunk-JXS5PDQ7.js.map +0 -1
- package/dist/chunk-LTYH2L6E.js.map +0 -1
- package/dist/chunk-PQHNZ63P.js.map +0 -1
- package/dist/chunk-UHGBNIOS.js.map +0 -1
- package/dist/chunk-ULZFZL7K.js.map +0 -1
- package/dist/chunk-WAS4HV46.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
- /package/dist/{chunk-OQIRBGUU.js.map → chunk-2Q4UAPLD.js.map} +0 -0
- /package/dist/{chunk-PHKU6BZ2.js.map → chunk-36XS2ASP.js.map} +0 -0
- /package/dist/{chunk-BRHKW7GY.js.map → chunk-4IIDTPSK.js.map} +0 -0
- /package/dist/{chunk-Q5XKKDFQ.js.map → chunk-5SZ6CLGJ.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-5W7CTZ2E.js.map} +0 -0
- /package/dist/{chunk-EUYWQ7TS.js.map → chunk-652S5A5D.js.map} +0 -0
- /package/dist/{chunk-3TDAA7VA.js.map → chunk-6NMZXEJ7.js.map} +0 -0
- /package/dist/{chunk-ZOAAY2OE.js.map → chunk-77E7LLMV.js.map} +0 -0
- /package/dist/{chunk-MIUL6AUZ.js.map → chunk-7ML7STOD.js.map} +0 -0
- /package/dist/{chunk-5SCFDQEJ.js.map → chunk-BPLPGOUJ.js.map} +0 -0
- /package/dist/{chunk-RWMSMTQP.js.map → chunk-BS75WJBH.js.map} +0 -0
- /package/dist/{chunk-XE2QCCT2.js.map → chunk-BTBAHTQ5.js.map} +0 -0
- /package/dist/{chunk-42TIIO2M.js.map → chunk-BTUIHRRR.js.map} +0 -0
- /package/dist/{chunk-3IMYRX3W.js.map → chunk-BYFKJXIR.js.map} +0 -0
- /package/dist/{chunk-SNEUAZ6B.js.map → chunk-CK3DZ6OE.js.map} +0 -0
- /package/dist/{chunk-VYMICVRA.js.map → chunk-DIJCMHUE.js.map} +0 -0
- /package/dist/{chunk-AJRJDXYR.js.map → chunk-E7MYSCSL.js.map} +0 -0
- /package/dist/{chunk-3T6HIIKA.js.map → chunk-EHC3FIJ4.js.map} +0 -0
- /package/dist/{chunk-KFB4YNXM.js.map → chunk-G5F4MXXC.js.map} +0 -0
- /package/dist/{chunk-VANZKHTN.js.map → chunk-G5OB4XZX.js.map} +0 -0
- /package/dist/{chunk-645WOU5I.js.map → chunk-H7BZBSP6.js.map} +0 -0
- /package/dist/{chunk-SZ4HFZKB.js.map → chunk-HMKPFW7R.js.map} +0 -0
- /package/dist/{chunk-WBPD6SBZ.js.map → chunk-HP6B732E.js.map} +0 -0
- /package/dist/{chunk-VFZQXYN5.js.map → chunk-HZXO2CJ6.js.map} +0 -0
- /package/dist/{chunk-O52TB5SL.js.map → chunk-IUSV4XJC.js.map} +0 -0
- /package/dist/{chunk-5TF5STAV.js.map → chunk-JASFZQ76.js.map} +0 -0
- /package/dist/{chunk-ML3U4KPR.js.map → chunk-K547KS3X.js.map} +0 -0
- /package/dist/{chunk-XTMYB2HY.js.map → chunk-LJQGQUNS.js.map} +0 -0
- /package/dist/{chunk-IVKIODHO.js.map → chunk-MB6GLPRY.js.map} +0 -0
- /package/dist/{chunk-6433HV72.js.map → chunk-MVIYRRVJ.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-OWHERGF2.js.map} +0 -0
- /package/dist/{chunk-QQYHYW2N.js.map → chunk-PQODT53H.js.map} +0 -0
- /package/dist/{chunk-TOP3FSDW.js.map → chunk-RFFCBYBD.js.map} +0 -0
- /package/dist/{chunk-MYI3RKI6.js.map → chunk-SYU5JOBQ.js.map} +0 -0
- /package/dist/{chunk-BOSIHHOH.js.map → chunk-UUYQWKHO.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-UVYI6VIX.js.map} +0 -0
- /package/dist/{chunk-KXWE62IH.js.map → chunk-V2YH7T6T.js.map} +0 -0
- /package/dist/{chunk-M4AHBM72.js.map → chunk-VCBG52MM.js.map} +0 -0
- /package/dist/{chunk-N7V3P4V5.js.map → chunk-VCEE4YNA.js.map} +0 -0
- /package/dist/{chunk-62Y5AGCM.js.map → chunk-VENMDW4U.js.map} +0 -0
- /package/dist/{chunk-QTXNS3HB.js.map → chunk-WCWIV2JH.js.map} +0 -0
- /package/dist/{chunk-6UKSOXAO.js.map → chunk-WQ6TRWAE.js.map} +0 -0
- /package/dist/{chunk-CBY54QYW.js.map → chunk-X6HNXVXS.js.map} +0 -0
- /package/dist/{chunk-SY5JUJ2X.js.map → chunk-XREXYQ5U.js.map} +0 -0
- /package/dist/{chunk-JPWSYHLB.js.map → chunk-YGSDWO3U.js.map} +0 -0
- /package/dist/{chunk-GBVRVYF4.js.map → chunk-YINSSARY.js.map} +0 -0
- /package/dist/{chunk-Q6OL23WM.js.map → chunk-Z4UPRZR6.js.map} +0 -0
- /package/dist/{chunk-4F67JJPG.js.map → chunk-ZPN7W3OP.js.map} +0 -0
package/dist/trust-score.d.ts
CHANGED
|
@@ -4739,4 +4739,4 @@ interface HourlySummary {
|
|
|
4739
4739
|
generatedAt: string;
|
|
4740
4740
|
}
|
|
4741
4741
|
|
|
4742
|
-
export { type
|
|
4742
|
+
export { type ImportanceLevel as $, type AgentPersonaModelConfig as A, type BriefingSections as B, type CodingContext as C, type DreamsPhase as D, type EntityFile as E, type FaithfulnessFrontmatter as F, type GatewayConfig as G, type HourlySummary as H, type IdentityInjectionMode as I, type MemoryProjectionCurrentState as J, type MemoryLifecycleEvent as K, type LiveConnectorsConfig as L, type MemoryFile as M, type ProvenanceSource as N, type TrustWeights as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallPlanMode as R, type SessionObserverBandConfig as S, type TranscriptEntry as T, type ConversationThread as U, type LifecycleState as V, type VerificationState as W, type PolicyClass as X, type ReplicaPeersConfig as Y, type ReplicaPeerConfig as Z, type ExtractionFailureClass as _, type DreamsRunResult as a, type WearableDayTranscript as a$, type ConvergeConflictPolicy as a0, type ActiveRecallChatType as a1, type ActiveRecallQueryMode as a2, type ActiveRecallPromptStyle as a3, type ActiveRecallThinking as a4, type ActiveRecallModelFallbackPolicy as a5, type ExtractionResult as a6, type BehaviorSignalEvent as a7, type BufferSurpriseEvent as a8, type ImportTurn as a9, type MetaState as aA, summarizeExtractionLiveness as aB, type RetrievalTier as aC, type SignalScanResult as aD, type TopicScore as aE, type ConsolidationResult as aF, type DaySummaryResult as aG, type QmdSearchExplain as aH, type ActivitySnapshot as aI, type ActivityConfig as aJ, type ActivitySourceConfig as aK, type ActivitySourceClient as aL, type MeetingBuildInput as aM, type MeetingsConfig as aN, type FusedMeeting as aO, type MeetingRecord as aP, type MeetingsDetectionInput as aQ, type FusionConversationInput as aR, type DetectedMeeting as aS, type WearableConversation as aT, type WearableSourceSettings as aU, type WearableNativeMemory as aV, type WearableMemoryMode as aW, type WearableSourceConnector as aX, type WearablesConfig as aY, type WearableSyncSummary as aZ, type WearableSourceStatus as a_, type BulkImportOptions as aa, type BulkImportSource as ab, type BulkImportResult as ac, type CompressionGuidelineOptimizerEventCounts as ad, type CompressionGuidelineOptimizerActionSummary as ae, type CompressionGuidelineOptimizerRuleUpdate as af, type MemoryActionType as ag, type MemoryActionEvent as ah, type CompressionGuidelineOptimizerState as ai, type ConvergeConfig as aj, type EntityMention as ak, type DependencyPropagationConfig as al, type EntityStructuredSection as am, type EntitySchemaDefinition as an, type EntitySchemaSectionDefinition as ao, type ExtractedFact as ap, type ProvenanceConfig as aq, type ImportanceScore as ar, type MemoryIntent as as, type MemoryActionEligibilityContext as at, type MemoryActionPolicyResult as au, type MemoryLifecycleEventType as av, type MemoryLifecycleStateSummary as aw, type ModelProviderConfig as ax, type NativeKnowledgeConfig as ay, type ExtractionBufferSource as az, type RecallTierExplain as b, isRecallDisclosure as b$, type FusedWearableConversation as b0, type WearableCorrectionRule as b1, type FusedDayMeta as b2, type FusedDayFile as b3, type MeetingDetectionSource as b4, type EntityTimelineEntry as b5, type MemoryLink as b6, type BufferState as b7, type FileHygieneConfig as b8, type EntityRelationship as b9, type ActivityExtractionMode as bA, type BriefingConfig as bB, type BriefingWindow as bC, type BulkImportError as bD, type BulkImportSourceAdapter as bE, type CodexCompatConfig as bF, DEFAULT_RECALL_DISCLOSURE as bG, type DisagreementKind as bH, type FusedContribution as bI, type FusedConversationProvenance as bJ, type FusedSegmentProvenance as bK, type FusionSegmentInput as bL, type ImportSourceRole as bM, type ImportTurnValidationIssue as bN, type MeetingScreenContextEvent as bO, type MeetingSummaryMode as bP, type MemoryActionEligibilitySource as bQ, type MemoryObservation as bR, type MemoryScope as bS, RECALL_DISCLOSURE_LEVELS as bT, type SegmentPickReason as bU, type WearableAuthCheck as bV, type WearableFetchOptions as bW, type WearableFetchPage as bX, type WearableNativeMemoryPage as bY, type WearableTranscriptSegment as bZ, isImportRole as b_, type EntityActivityEntry as ba, type AccessTrackingEntry as bb, type MemorySummary as bc, type DreamsStatusResult as bd, type RecallSectionConfig as be, type BootstrapOptions as bf, type BootstrapResult as bg, type ConsolidationObservation as bh, type CodingModeConfig as bi, type FusedSpeaker as bj, type FusedSegment as bk, type FusedDisagreement as bl, type FusionOptions as bm, type FusionDayResult as bn, type CodingKnowledgeConfig as bo, type WearableCleanupSettings as bp, type WearableFusionConfig as bq, type OffTheRecordMarkerSettings as br, type WearableDayTranscriptMeta as bs, type ActivityDayMeta as bt, type ActivityDayDigest as bu, type ActivitySourceCheck as bv, type ActivitySnapshotPage as bw, type MeetingsDetectionConfig as bx, type MeetingAudioWindow as by, type MeetingAppSpan as bz, type BriefingFollowup as c, type GitHubLiveConnectorConfig as c$, parseIsoTimestamp as c0, validateImportTurn as c1, type SupportPassportConfig as c2, type ExtractionLivenessConfig as c3, ExtractionLivenessWarnThrottle as c4, type ExtractionRootStats as c5, type ExtractionWatermarkOrStorage as c6, type ExtractionWatermarkRead as c7, coerceExtractionWatermark as c8, computeExtractionLivenessStatus as c9, type BufferEntryState as cA, type ChatConfig as cB, type CodexCliReasoningEffort as cC, type CodexCompactionFlushMode as cD, type CodexConnectorConfig as cE, type CodingGraphLspConfig as cF, type CompressionGuidelineActivationState as cG, type CompressionGuidelineOptimizerSourceWindow as cH, type ConfidenceTier as cI, type ConsolidationAction as cJ, type ConsolidationItem as cK, type CronConversationRecallMode as cL, type CronRecallMode as cM, type DreamingConfig as cN, type DreamingNarrativePromptStyle as cO, type DreamsDeepSleepConfig as cP, type DreamsLightSleepConfig as cQ, type DreamsPhaseStatus as cR, type DreamsPhasesConfig as cS, type DreamsRemConfig as cT, type EngramTraceEvent as cU, type ExtractedProcedureStep as cV, type ExtractedQuestion as cW, type ExtractedReasoningTrace as cX, type ExtractedReasoningTraceStep as cY, type ExtractedRelationship as cZ, type ExtractionPassSource as c_, evaluateExtractionLiveness as ca, formatAgeMs as cb, gatherExtractionLivenessStatus as cc, parseExtractionLivenessConfig as cd, renderExtractionLivenessStats as ce, resolveExtractionLivenessConfig as cf, parseReplicaPeersConfig as cg, resolveReplicaPeersConfig as ch, type AmbientCaptureProvenance as ci, type BufferTurnOwner as cj, ProbeTimeoutError as ck, bufferTurnArrayIsSuffixOfSnapshot as cl, bufferTurnArraysEqual as cm, bufferTurnsEqual as cn, copyBufferTurn as co, describeError as cp, liveTurnsFromExtractionSnapshot as cq, matchingQueuedExtractionPrefixLength as cr, probeWithTimeout as cs, type AgentAccessHttpConfig as ct, type AgentDefaultsConfig as cu, type AgentPersona as cv, type BehaviorLoopAdjustment as cw, type BehaviorSignalDirection as cx, type BehaviorSignalType as cy, type BriefingCalendarSourceError as cz, type BriefingFocus as d, type GmailLiveConnectorConfig as d0, type GoogleDriveLiveConnectorConfig as d1, type HeartbeatConfig as d2, type HeartbeatDetectionMode as d3, type LlmTraceCallback as d4, type LlmTraceEvent as d5, type MemoryActionOutcome as d6, type MemoryActionPolicyDecision as d7, type MemoryActionStatus as d8, type MemoryLinkType as d9, type SlotMismatchMode as dA, type TriggerMode as dB, confidenceTier as dC, type MemoryOsPresetName as da, type ModelApi as db, type ModelDefinitionConfig as dc, type ModelProviderAuthMode as dd, type NamespacePolicy as de, type NativeKnowledgeFolderRuleConfig as df, type NativeKnowledgeObsidianVaultConfig as dg, type NativeKnowledgeOpenClawWorkspaceConfig as dh, type NotionLiveConnectorConfig as di, type PrincipalFromSessionKeyMode as dj, type PrincipalRule as dk, type ProceduralConfig as dl, type QuestionEntry as dm, type ReasoningEffort as dn, type RecallPipelineConfig as dp, type RecallTraceEvent as dq, type RelevanceFeedback as dr, SPECULATIVE_TTL_DAYS as ds, type ScopeProfileAutoPromoteConfig as dt, type ScopeProfileTeamProjectConfig as du, type ScopeTeamConfig as dv, type ScoredEntity as dw, type SemanticChunkingConfigShape as dx, type SignalLevel as dy, type SlotBehaviorConfig as dz, type CalendarSource as e, type CalendarEvent as f, type BriefingActiveThread as g, type BriefingResult as h, type BriefingOpenCommitment as i, type BriefingRecentEntity as j, type BufferTurn as k, type ExtractionBufferSnapshot as l, type MemoryFrontmatter as m, type Checkpoint as n, type RecallDisclosure as o, type SourceConnectorProvenance as p, type ScopeProfileConfig as q, type ScopeProfileLayerId as r, type ScopeProfilePromotionTarget as s, type BehaviorLoopPolicyState as t, type ExtractionLivenessStatus as u, type SecretRef as v, type AgentAccessAuthToken as w, type MemoryCategory as x, type CaptureMode as y, type MemoryStatus as z };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { bb as AccessTrackingEntry, a1 as ActiveRecallChatType, a5 as ActiveRecallModelFallbackPolicy, a3 as ActiveRecallPromptStyle, a2 as ActiveRecallQueryMode, a4 as ActiveRecallThinking, w as AgentAccessAuthToken, ct as AgentAccessHttpConfig, cu as AgentDefaultsConfig, cv as AgentPersona, A as AgentPersonaModelConfig, cw as BehaviorLoopAdjustment, t as BehaviorLoopPolicyState, cx as BehaviorSignalDirection, a7 as BehaviorSignalEvent, cy as BehaviorSignalType, bf as BootstrapOptions, bg as BootstrapResult, g as BriefingActiveThread, cz as BriefingCalendarSourceError, bB as BriefingConfig, d as BriefingFocus, c as BriefingFollowup, i as BriefingOpenCommitment, j as BriefingRecentEntity, h as BriefingResult, B as BriefingSections, bC as BriefingWindow, cA as BufferEntryState, b7 as BufferState, a8 as BufferSurpriseEvent, k as BufferTurn, f as CalendarEvent, e as CalendarSource, y as CaptureMode, cB as ChatConfig, n as Checkpoint, cC as CodexCliReasoningEffort, cD as CodexCompactionFlushMode, bF as CodexCompatConfig, cE as CodexConnectorConfig, C as CodingContext, cF as CodingGraphLspConfig, bo as CodingKnowledgeConfig, bi as CodingModeConfig, cG as CompressionGuidelineActivationState, ae as CompressionGuidelineOptimizerActionSummary, ad as CompressionGuidelineOptimizerEventCounts, af as CompressionGuidelineOptimizerRuleUpdate, cH as CompressionGuidelineOptimizerSourceWindow, ai as CompressionGuidelineOptimizerState, cI as ConfidenceTier, cJ as ConsolidationAction, cK as ConsolidationItem, bh as ConsolidationObservation, aF as ConsolidationResult, aj as ConvergeConfig, a0 as ConvergeConflictPolicy, U as ConversationThread, cL as CronConversationRecallMode, cM as CronRecallMode, bG as DEFAULT_RECALL_DISCLOSURE, aG as DaySummaryResult, al as DependencyPropagationConfig, cN as DreamingConfig, cO as DreamingNarrativePromptStyle, cP as DreamsDeepSleepConfig, cQ as DreamsLightSleepConfig, D as DreamsPhase, cR as DreamsPhaseStatus, cS as DreamsPhasesConfig, cT as DreamsRemConfig, a as DreamsRunResult, bd as DreamsStatusResult, cU as EngramTraceEvent, ba as EntityActivityEntry, E as EntityFile, ak as EntityMention, b9 as EntityRelationship, an as EntitySchemaDefinition, ao as EntitySchemaSectionDefinition, am as EntityStructuredSection, b5 as EntityTimelineEntry, ap as ExtractedFact, cV as ExtractedProcedureStep, cW as ExtractedQuestion, cX as ExtractedReasoningTrace, cY as ExtractedReasoningTraceStep, cZ as ExtractedRelationship, _ as ExtractionFailureClass, c_ as ExtractionPassSource, a6 as ExtractionResult, F as FaithfulnessFrontmatter, b8 as FileHygieneConfig, G as GatewayConfig, c$ as GitHubLiveConnectorConfig, d0 as GmailLiveConnectorConfig, d1 as GoogleDriveLiveConnectorConfig, d2 as HeartbeatConfig, d3 as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, $ as ImportanceLevel, ar as ImportanceScore, V as LifecycleState, L as LiveConnectorsConfig, d4 as LlmTraceCallback, d5 as LlmTraceEvent, at as MemoryActionEligibilityContext, bQ as MemoryActionEligibilitySource, ah as MemoryActionEvent, d6 as MemoryActionOutcome, d7 as MemoryActionPolicyDecision, au as MemoryActionPolicyResult, d8 as MemoryActionStatus, ag as MemoryActionType, x as MemoryCategory, M as MemoryFile, m as MemoryFrontmatter, as as MemoryIntent, K as MemoryLifecycleEvent, av as MemoryLifecycleEventType, aw as MemoryLifecycleStateSummary, b6 as MemoryLink, d9 as MemoryLinkType, bR as MemoryObservation, da as MemoryOsPresetName, J as MemoryProjectionCurrentState, bS as MemoryScope, z as MemoryStatus, bc as MemorySummary, aA as MetaState, db as ModelApi, dc as ModelDefinitionConfig, dd as ModelProviderAuthMode, ax as ModelProviderConfig, de as NamespacePolicy, ay as NativeKnowledgeConfig, df as NativeKnowledgeFolderRuleConfig, dg as NativeKnowledgeObsidianVaultConfig, dh as NativeKnowledgeOpenClawWorkspaceConfig, di as NotionLiveConnectorConfig, P as PluginConfig, X as PolicyClass, dj as PrincipalFromSessionKeyMode, dk as PrincipalRule, dl as ProceduralConfig, aq as ProvenanceConfig, N as ProvenanceSource, aH as QmdSearchExplain, Q as QmdSearchResult, dm as QuestionEntry, bT as RECALL_DISCLOSURE_LEVELS, dn as ReasoningEffort, o as RecallDisclosure, dp as RecallPipelineConfig, R as RecallPlanMode, be as RecallSectionConfig, b as RecallTierExplain, dq as RecallTraceEvent, dr as RelevanceFeedback, aC as RetrievalTier, ds as SPECULATIVE_TTL_DAYS, dt as ScopeProfileAutoPromoteConfig, q as ScopeProfileConfig, r as ScopeProfileLayerId, s as ScopeProfilePromotionTarget, du as ScopeProfileTeamProjectConfig, dv as ScopeTeamConfig, dw as ScoredEntity, v as SecretRef, dx as SemanticChunkingConfigShape, S as SessionObserverBandConfig, dy as SignalLevel, aD as SignalScanResult, dz as SlotBehaviorConfig, dA as SlotMismatchMode, p as SourceConnectorProvenance, c2 as SupportPassportConfig, aE as TopicScore, T as TranscriptEntry, dB as TriggerMode, O as TrustWeights, W as VerificationState, dC as confidenceTier, b$ as isRecallDisclosure } from './types-CltSWcND.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './external-wiki-config.js';
|
package/dist/verified-recall.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BTBAHTQ5.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-5SZ6CLGJ.js";
|
|
7
7
|
import "./chunk-UHVXE24Y.js";
|
|
8
8
|
import "./chunk-46WM6JX2.js";
|
|
9
9
|
import "./chunk-SXIMQLGV.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-OQIRBGUU.js";
|
|
13
|
-
import "./chunk-VANZKHTN.js";
|
|
14
|
-
import "./chunk-CYEPCZN5.js";
|
|
15
|
-
import "./chunk-ML3U4KPR.js";
|
|
10
|
+
import "./chunk-E7MYSCSL.js";
|
|
11
|
+
import "./chunk-VENMDW4U.js";
|
|
16
12
|
import "./chunk-VYISFWVX.js";
|
|
17
|
-
import "./chunk-W7IGLX4G.js";
|
|
18
13
|
import "./chunk-6KTXE6A3.js";
|
|
14
|
+
import "./chunk-2Q4UAPLD.js";
|
|
15
|
+
import "./chunk-G5OB4XZX.js";
|
|
16
|
+
import "./chunk-CYEPCZN5.js";
|
|
17
|
+
import "./chunk-K547KS3X.js";
|
|
19
18
|
import "./chunk-GUMZC2BO.js";
|
|
19
|
+
import "./chunk-W7IGLX4G.js";
|
|
20
20
|
import "./chunk-227UFSEQ.js";
|
|
21
21
|
import "./chunk-ET356KSB.js";
|
|
22
22
|
import "./chunk-72A4L5JJ.js";
|
package/dist/write-envelope.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.63.
|
|
3
|
+
"version": "9.63.11",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3156,7 +3156,7 @@
|
|
|
3156
3156
|
"core"
|
|
3157
3157
|
],
|
|
3158
3158
|
"peerDependencies": {
|
|
3159
|
-
"@remnic/coding-graph": "^9.63.
|
|
3159
|
+
"@remnic/coding-graph": "^9.63.11"
|
|
3160
3160
|
},
|
|
3161
3161
|
"peerDependenciesMeta": {
|
|
3162
3162
|
"@remnic/coding-graph": {
|
package/src/access-http.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
type WearablesMeetingsScope,
|
|
17
17
|
type EngramAccessMemoryResponse,
|
|
18
18
|
type EngramAccessWriteResponse,
|
|
19
|
+
type EngramAccessRecallResponse,
|
|
19
20
|
} from "./access-service.js";
|
|
20
21
|
import { maybeHandleLifecycleFlush, type LifecycleFlushHttpDeps } from "./access-http-lifecycle-flush.js";
|
|
21
22
|
import {
|
|
@@ -32,7 +33,7 @@ import {
|
|
|
32
33
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
33
34
|
OFFLINE_SYNC_SNAPSHOT_BASE_MAX_BODY_BYTES,
|
|
34
35
|
} from "./offline-sync.js";
|
|
35
|
-
import type { RecallDisclosure
|
|
36
|
+
import type { RecallDisclosure } from "./types.js";
|
|
36
37
|
import { isRecallDisclosure } from "./types.js";
|
|
37
38
|
import { isTrustZoneName, type TrustZoneName, type TrustZoneRecordKind, type TrustZoneSourceClass } from "./trust-zones.js";
|
|
38
39
|
import { AdapterRegistry, type ResolvedIdentity } from "./adapters/index.js";
|
|
@@ -1020,13 +1021,8 @@ export class EngramAccessHttpServer extends SupportPassportAccessHttpBase {
|
|
|
1020
1021
|
if (req.method === "POST" && pathname === "/engram/v1/recall") {
|
|
1021
1022
|
this.enforceTokenOp("recall"); // boundary dispatch (issue #1525)
|
|
1022
1023
|
const body = await this.readValidatedBody(req, "recall");
|
|
1023
|
-
//
|
|
1024
|
-
//
|
|
1025
|
-
// (untouched). The previous `?? undefined` collapsed both into
|
|
1026
|
-
// undefined, so callers lost the ability to clear the session's
|
|
1027
|
-
// attached context through the recall endpoint.
|
|
1028
|
-
const codingContext =
|
|
1029
|
-
"codingContext" in body ? body.codingContext : undefined;
|
|
1024
|
+
// `codingContext` presence (null = explicit clear vs absent = untouched)
|
|
1025
|
+
// is preserved by spreading the parsed body into the boundary envelope.
|
|
1030
1026
|
// Disclosure resolution (issue #677 PR 2/4): accept the value from
|
|
1031
1027
|
// the validated body OR the `?disclosure=` query parameter, with
|
|
1032
1028
|
// the body taking precedence so an explicit JSON payload is never
|
|
@@ -1109,31 +1105,31 @@ export class EngramAccessHttpServer extends SupportPassportAccessHttpBase {
|
|
|
1109
1105
|
bodyIncludeLowConfidence === true ||
|
|
1110
1106
|
(bodyIncludeLowConfidence === undefined &&
|
|
1111
1107
|
queryIncludeLowConfidence === "true");
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
}
|
|
1136
|
-
this.respondJson(res, 200,
|
|
1108
|
+
// Boundary dispatch (issue #2482): same registry path as memory_store —
|
|
1109
|
+
// the canonical recallRequestSchema re-validates the envelope the
|
|
1110
|
+
// transport assembled (resolved namespace + query-param overlays).
|
|
1111
|
+
const op = getOperation("recall");
|
|
1112
|
+
if (!op) {
|
|
1113
|
+
throw new EngramAccessInputError("access-boundary: operation not registered: recall");
|
|
1114
|
+
}
|
|
1115
|
+
const output = (await op.run(
|
|
1116
|
+
{
|
|
1117
|
+
...body,
|
|
1118
|
+
namespace: this.resolveNamespace(req, body.namespace),
|
|
1119
|
+
...(disclosure !== undefined ? { disclosure } : {}),
|
|
1120
|
+
...(asOf !== undefined ? { asOf } : {}),
|
|
1121
|
+
...(tags !== undefined ? { tags } : {}),
|
|
1122
|
+
...(tagMatch !== undefined ? { tagMatch } : {}),
|
|
1123
|
+
...(includeLowConfidence ? { includeLowConfidence: true } : {}),
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
service: this.service,
|
|
1127
|
+
authenticatedPrincipal: this.resolveRequestPrincipal(req),
|
|
1128
|
+
sourceConnector: this.resolveConnector(req),
|
|
1129
|
+
...(abortSignal ? { abortSignal } : {}),
|
|
1130
|
+
},
|
|
1131
|
+
)) as { result: EngramAccessRecallResponse };
|
|
1132
|
+
this.respondJson(res, 200, output.result);
|
|
1137
1133
|
return;
|
|
1138
1134
|
}
|
|
1139
1135
|
|
|
@@ -1745,43 +1741,34 @@ export class EngramAccessHttpServer extends SupportPassportAccessHttpBase {
|
|
|
1745
1741
|
if (req.method === "POST" && pathname === "/engram/v1/observe") {
|
|
1746
1742
|
this.enforceTokenOp("observe"); // boundary dispatch (issue #1525)
|
|
1747
1743
|
const body = await this.readValidatedBody(req, "observe");
|
|
1748
|
-
|
|
1744
|
+
// Boundary dispatch (issue #2482): same registry path as memory_store.
|
|
1745
|
+
// The write-quota hook is forwarded via ctx.hooks so it fires INSIDE
|
|
1746
|
+
// the service's idempotency lock (beforeExecute, only on a real miss).
|
|
1747
|
+
// A retried observe that hits the replay path must NOT be rejected with
|
|
1748
|
+
// 429 — the original attempt may have consumed the last quota slot; the
|
|
1749
|
+
// retry returns the cached response without requiring another (#1434
|
|
1750
|
+
// invariant, preserved by the boundary migration).
|
|
1751
|
+
const op = getOperation("observe");
|
|
1752
|
+
if (!op) {
|
|
1753
|
+
throw new EngramAccessInputError("access-boundary: operation not registered: observe");
|
|
1754
|
+
}
|
|
1755
|
+
const output = (await op.run(
|
|
1756
|
+
{ ...body, namespace: this.resolveNamespace(req, body.namespace) },
|
|
1749
1757
|
{
|
|
1750
|
-
|
|
1751
|
-
messages: body.messages.map((message) => ({
|
|
1752
|
-
role: message.role,
|
|
1753
|
-
content: message.content,
|
|
1754
|
-
sourceFormat: message.sourceFormat ?? undefined,
|
|
1755
|
-
rawContent: message.rawContent ?? undefined,
|
|
1756
|
-
parts: message.parts ?? undefined,
|
|
1757
|
-
})),
|
|
1758
|
-
namespace: this.resolveNamespace(req, body.namespace),
|
|
1758
|
+
service: this.service,
|
|
1759
1759
|
authenticatedPrincipal: this.resolveRequestPrincipal(req),
|
|
1760
|
-
|
|
1761
|
-
// Issue #1649: optional server-side dedup key for retried POSTs.
|
|
1762
|
-
idempotencyKey: body.idempotencyKey,
|
|
1763
|
-
// Forward cwd/projectTag for auto git-context resolution (issue #569).
|
|
1764
|
-
cwd: body.cwd,
|
|
1765
|
-
projectTag: body.projectTag,
|
|
1760
|
+
hooks: { enforceWriteQuota: () => this.ensureWriteRateLimitAvailable(req) },
|
|
1766
1761
|
// Phase 1 provenance: server-resolved connector identity from the
|
|
1767
1762
|
// bearer token (REST path, mirroring the MCP tools/call dispatch).
|
|
1768
1763
|
sourceConnector: this.resolveConnector(req),
|
|
1769
1764
|
},
|
|
1770
|
-
|
|
1771
|
-
// (beforeExecute, only on a real miss). A retried observe that hits the
|
|
1772
|
-
// replay path must NOT be rejected with 429 — that is exactly the
|
|
1773
|
-
// response-lost-after-process case the dedup exists for. The original
|
|
1774
|
-
// attempt may have consumed the last quota slot; the retry returns the
|
|
1775
|
-
// cached response without requiring another. Matches memory_store's
|
|
1776
|
-
// hook-in-the-lock pattern (#1434 invariant).
|
|
1777
|
-
{ enforceWriteQuota: () => this.ensureWriteRateLimitAvailable(req) },
|
|
1778
|
-
);
|
|
1765
|
+
)) as { result: { dryRun?: boolean; idempotencyReplay?: boolean } };
|
|
1779
1766
|
// A replayed (deduplicated) observe must not consume a second write-quota
|
|
1780
1767
|
// slot — same invariant as memory_store/suggestion_submit (#1434).
|
|
1781
|
-
if (this.shouldCountWriteRateLimit(
|
|
1768
|
+
if (this.shouldCountWriteRateLimit(output.result)) {
|
|
1782
1769
|
this.recordWriteRateLimitHit(req);
|
|
1783
1770
|
}
|
|
1784
|
-
this.respondJson(res, 202,
|
|
1771
|
+
this.respondJson(res, 202, output.result);
|
|
1785
1772
|
return;
|
|
1786
1773
|
}
|
|
1787
1774
|
|
package/src/access-mcp.test.ts
CHANGED
|
@@ -472,16 +472,12 @@ test("MCP session override is injected only into tools that accept sessionKey",
|
|
|
472
472
|
namespace: undefined,
|
|
473
473
|
principal: "adapter-agent",
|
|
474
474
|
});
|
|
475
|
-
assert.
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
idempotencyKey: undefined,
|
|
482
|
-
cwd: undefined,
|
|
483
|
-
projectTag: undefined,
|
|
484
|
-
});
|
|
475
|
+
assert.equal(observeArgs?.sessionKey, "adapter-session");
|
|
476
|
+
assert.equal(observeArgs?.skipExtraction, false);
|
|
477
|
+
const observeMessages = observeArgs?.messages as Array<{ role: string; content: string }>;
|
|
478
|
+
assert.equal(observeMessages?.length, 1);
|
|
479
|
+
assert.equal(observeMessages?.[0]?.role, "user");
|
|
480
|
+
assert.equal(observeMessages?.[0]?.content, "hello");
|
|
485
481
|
assert.equal((capsuleResponse as Record<string, unknown> & { result?: { isError?: boolean } }).result?.isError, false);
|
|
486
482
|
assert.equal((observeResponse as Record<string, unknown> & { result?: { isError?: boolean } }).result?.isError, false);
|
|
487
483
|
});
|
package/src/access-mcp.ts
CHANGED
|
@@ -326,6 +326,24 @@ const STRICT_MCP_SCHEMA_KEYS: Partial<Record<SchemaName, readonly string[]>> = {
|
|
|
326
326
|
capsuleList: ["namespace", "sessionKey", "cwd", "projectTag"],
|
|
327
327
|
};
|
|
328
328
|
|
|
329
|
+
// Tools whose envelope parses through the canonical zod wire schema (issue
|
|
330
|
+
// #2482) — the SAME validation the HTTP transport runs. Every other migrated
|
|
331
|
+
// tool passes raw args; its boundary op schema validates them.
|
|
332
|
+
const MCP_WIRE_SCHEMAS: Partial<Record<string, SchemaName>> = {
|
|
333
|
+
memory_store: "memoryStore",
|
|
334
|
+
suggestion_submit: "suggestionSubmit",
|
|
335
|
+
action_confidence: "actionConfidence",
|
|
336
|
+
day_summary: "daySummary",
|
|
337
|
+
capsule_export: "capsuleExport",
|
|
338
|
+
capsule_import: "capsuleImport",
|
|
339
|
+
capsule_list: "capsuleList",
|
|
340
|
+
observe: "observe",
|
|
341
|
+
recall: "recall",
|
|
342
|
+
lcm_compaction_flush: "lcmCompactionFlush",
|
|
343
|
+
extraction_force_flush: "extractionForceFlush",
|
|
344
|
+
lcm_compaction_record: "lcmCompactionRecord",
|
|
345
|
+
};
|
|
346
|
+
|
|
329
347
|
// Shared JSON-schema fragments for the client-injected git/project context
|
|
330
348
|
// fields (#1434). Declared once to avoid drift across tool definitions.
|
|
331
349
|
// `_SCOPED` is for write tools that resolve a project namespace from these
|
|
@@ -2669,28 +2687,9 @@ export class EngramMcpServer {
|
|
|
2669
2687
|
throw new EngramAccessInputError(`access-boundary: operation not registered: ${migrated}`);
|
|
2670
2688
|
}
|
|
2671
2689
|
let envelope: Record<string, unknown>;
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
envelope = parseMcpRequest("suggestionSubmit", args);
|
|
2676
|
-
} else if (migrated === "action_confidence") {
|
|
2677
|
-
envelope = parseMcpRequest("actionConfidence", args);
|
|
2678
|
-
} else if (migrated === "day_summary") {
|
|
2679
|
-
envelope = parseMcpRequest("daySummary", args);
|
|
2680
|
-
} else if (migrated === "capsule_export") {
|
|
2681
|
-
envelope = parseMcpRequest("capsuleExport", args);
|
|
2682
|
-
} else if (migrated === "capsule_import") {
|
|
2683
|
-
envelope = parseMcpRequest("capsuleImport", args);
|
|
2684
|
-
} else if (migrated === "capsule_list") {
|
|
2685
|
-
envelope = parseMcpRequest("capsuleList", args);
|
|
2686
|
-
} else if (migrated === "observe") {
|
|
2687
|
-
envelope = parseMcpRequest("observe", args);
|
|
2688
|
-
} else if (migrated === "lcm_compaction_flush") {
|
|
2689
|
-
envelope = parseMcpRequest("lcmCompactionFlush", args);
|
|
2690
|
-
} else if (migrated === "extraction_force_flush") {
|
|
2691
|
-
envelope = parseMcpRequest("extractionForceFlush", args);
|
|
2692
|
-
} else if (migrated === "lcm_compaction_record") {
|
|
2693
|
-
envelope = parseMcpRequest("lcmCompactionRecord", args);
|
|
2690
|
+
const wireSchema = MCP_WIRE_SCHEMAS[migrated];
|
|
2691
|
+
if (wireSchema) {
|
|
2692
|
+
envelope = parseMcpRequest(wireSchema, args) as Record<string, unknown>;
|
|
2694
2693
|
} else if (migrated.startsWith("codegraph_")) {
|
|
2695
2694
|
envelope = { ...args, tool: migrated.slice("codegraph_".length) };
|
|
2696
2695
|
} else if (migrated === "chat_message") {
|
|
@@ -15,6 +15,7 @@ import type { DreamsPhase, RecallDisclosure, RecallPlanMode } from "./types.js";
|
|
|
15
15
|
import type { RemnicChatGptMemoryInspectorInput } from "./mcp-memory-inspector-app.js";
|
|
16
16
|
import { defineOperation } from "./access-boundary.js";
|
|
17
17
|
import { EngramAccessForbiddenError } from "./access-errors.js";
|
|
18
|
+
import { type ObserveRequest, observeRequestSchema, type RecallRequest, recallRequestSchema } from "./access-schema.js";
|
|
18
19
|
import { EngramAccessInputError, type EngramAccessService } from "./access-service.js";
|
|
19
20
|
import { enforceNamespaceAllowList, tokenCapabilityStore } from "./access-token-capabilities.js";
|
|
20
21
|
import { projectTagProjectId } from "./coding/coding-namespace.js";
|
|
@@ -57,6 +58,24 @@ function strictSchema<T extends z.ZodRawShape>(shape: T): z.ZodType<Record<strin
|
|
|
57
58
|
return z.preprocess(stripNulls, z.object(shape).passthrough()) as unknown as z.ZodType<Record<string, unknown>>;
|
|
58
59
|
}
|
|
59
60
|
|
|
61
|
+
/**
|
|
62
|
+
* stripNulls, but keys listed in `preserve` keep their null values. Used by
|
|
63
|
+
* boundary schemas whose wire contract treats an explicit `null` as a
|
|
64
|
+
* meaningful value (e.g. recall `codingContext: null` clears the session
|
|
65
|
+
* context — it must not be collapsed into "absent").
|
|
66
|
+
*/
|
|
67
|
+
function stripNullsExcept(data: unknown, preserve: readonly string[]): unknown {
|
|
68
|
+
if (data !== null && typeof data === "object" && !Array.isArray(data)) {
|
|
69
|
+
const cleaned: Record<string, unknown> = {};
|
|
70
|
+
for (const [key, value] of Object.entries(data as Record<string, unknown>)) {
|
|
71
|
+
if (value !== null || preserve.includes(key)) cleaned[key] = value;
|
|
72
|
+
}
|
|
73
|
+
return cleaned;
|
|
74
|
+
}
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
60
79
|
function optStr(v: unknown): string | undefined { return typeof v === "string" ? v : undefined; }
|
|
61
80
|
function reqStr(v: unknown, field: string): string {
|
|
62
81
|
if (typeof v !== "string" || v.length === 0) throw new EngramAccessInputError(field + " is required and must be a non-empty string");
|
|
@@ -77,24 +96,26 @@ const S = {
|
|
|
77
96
|
};
|
|
78
97
|
|
|
79
98
|
// === RECALL ===
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
99
|
+
// Issue #2482: the boundary validates against the SAME canonical zod schema
|
|
100
|
+
// the HTTP transport uses (recallRequestSchema). No parallel field list, no
|
|
101
|
+
// silent defaults — a missing `query` or a bad enum is a 400 at the boundary.
|
|
102
|
+
// `codingContext: null` survives the null-strip (explicit session-context
|
|
103
|
+
// clear); every other null is the MCP null-for-absent idiom.
|
|
104
|
+
defineOperation({
|
|
105
|
+
name: "recall",
|
|
106
|
+
description: "Semantic recall.",
|
|
107
|
+
schema: z.preprocess((data) => stripNullsExcept(data, ["codingContext"]), recallRequestSchema) as unknown as z.ZodType<RecallRequest>,
|
|
108
|
+
handler: async (input, ctx) => ({
|
|
109
|
+
result: await ctx.service.recall({
|
|
110
|
+
...input,
|
|
111
|
+
authenticatedPrincipal: ctx.authenticatedPrincipal,
|
|
112
|
+
...(ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {}),
|
|
113
|
+
...(ctx.abortSignal ? { abortSignal: ctx.abortSignal } : {}),
|
|
114
|
+
}),
|
|
115
|
+
}),
|
|
94
116
|
});
|
|
95
117
|
defineOperation({ name: "recall_explain", description: "Explain recall plan.", schema: strictSchema({ sessionKey: S.str, namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.recallExplain({ sessionKey: optStr(input.sessionKey), namespace: optStr(input.namespace), authenticatedPrincipal: ctx.authenticatedPrincipal }) }) });
|
|
96
|
-
defineOperation({ name: "set_coding_context", description: "Set coding context.", schema: z.preprocess((data) => {
|
|
97
|
-
if (data !== null && typeof data === "object" && !Array.isArray(data)) { const o = data as Record<string, unknown>; const c: Record<string, unknown> = {}; for (const [k, v] of Object.entries(o)) { if (v !== null || k === "codingContext") c[k] = v; } return c; } return data; }, z.object({ sessionKey: S.str, codingContext: z.union([z.null(), z.object({ projectId: S.str, branch: z.union([z.string(), z.null()]).optional(), rootPath: S.str, defaultBranch: z.union([z.string(), z.null()]).optional() }).passthrough()]).optional(), projectTag: S.str }).passthrough()) as unknown as z.ZodType<Record<string, unknown>>,
|
|
118
|
+
defineOperation({ name: "set_coding_context", description: "Set coding context.", schema: z.preprocess((data) => stripNullsExcept(data, ["codingContext"]), z.object({ sessionKey: S.str, codingContext: z.union([z.null(), z.object({ projectId: S.str, branch: z.union([z.string(), z.null()]).optional(), rootPath: S.str, defaultBranch: z.union([z.string(), z.null()]).optional() }).passthrough()]).optional(), projectTag: S.str }).passthrough()) as unknown as z.ZodType<Record<string, unknown>>, // codingContext: null = clear context (preserved).
|
|
98
119
|
handler: async (input, ctx) => {
|
|
99
120
|
const sessionKey = defStr(input.sessionKey, "");
|
|
100
121
|
const projectTag = optStr(input.projectTag);
|
|
@@ -190,8 +211,35 @@ defineOperation({ name: "memory_timeline", description: "Memory timeline.", sche
|
|
|
190
211
|
defineOperation({ name: "suggestion_submit", description: "Submit suggestion.", schema: strictSchema({ schemaVersion: S.num, idempotencyKey: S.str, dryRun: S.bool, sessionKey: S.str, content: S.str, category: S.str, confidence: S.num, namespace: S.str, tags: S.strArr, entityRef: S.str, ttl: S.str, sourceReason: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.suggestionSubmit({ schemaVersion: optNum(input.schemaVersion), idempotencyKey: optStr(input.idempotencyKey), dryRun: input.dryRun === true, sessionKey: optStr(input.sessionKey), authenticatedPrincipal: ctx.authenticatedPrincipal, ...(ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {}), content: optStr(input.content) ?? "", category: optStr(input.category), confidence: optNum(input.confidence), namespace: optStr(input.namespace), tags: optStrArr(input.tags), entityRef: optStr(input.entityRef), ttl: optStr(input.ttl), sourceReason: optStr(input.sourceReason), cwd: optStr(input.cwd), projectTag: optStr(input.projectTag) }) }) });
|
|
191
212
|
defineOperation({ name: "entity_get", description: "Get entity.", schema: strictSchema({ name: S.str, namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.entityGet(optStr(input.name) ?? "", optStr(input.namespace)) }) });
|
|
192
213
|
defineOperation({ name: "review_queue_list", description: "List review queue.", schema: strictSchema({ runId: S.str, namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.reviewQueue(optStr(input.runId) ?? "", optStr(input.namespace), ctx.authenticatedPrincipal) }) });
|
|
193
|
-
|
|
194
|
-
|
|
214
|
+
// Issue #2482: observe validates through the canonical observeRequestSchema
|
|
215
|
+
// (same as HTTP/MCP wire validation). Nullable wire fields (parts /
|
|
216
|
+
// sourceFormat) map to undefined for the service's cleaned message form.
|
|
217
|
+
defineOperation({
|
|
218
|
+
name: "observe",
|
|
219
|
+
description: "Observe messages.",
|
|
220
|
+
schema: z.preprocess(stripNulls, observeRequestSchema) as unknown as z.ZodType<ObserveRequest>,
|
|
221
|
+
handler: async (input, ctx) => ({
|
|
222
|
+
result: await ctx.service.observe(
|
|
223
|
+
{
|
|
224
|
+
sessionKey: input.sessionKey,
|
|
225
|
+
messages: input.messages.map((message) => ({
|
|
226
|
+
role: message.role,
|
|
227
|
+
content: message.content,
|
|
228
|
+
...(message.parts ? { parts: message.parts } : {}),
|
|
229
|
+
...(message.rawContent !== undefined ? { rawContent: message.rawContent } : {}),
|
|
230
|
+
...(message.sourceFormat ? { sourceFormat: message.sourceFormat } : {}),
|
|
231
|
+
})),
|
|
232
|
+
skipExtraction: input.skipExtraction === true,
|
|
233
|
+
idempotencyKey: input.idempotencyKey,
|
|
234
|
+
namespace: input.namespace,
|
|
235
|
+
authenticatedPrincipal: ctx.authenticatedPrincipal,
|
|
236
|
+
cwd: input.cwd,
|
|
237
|
+
projectTag: input.projectTag,
|
|
238
|
+
...(ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {}),
|
|
239
|
+
},
|
|
240
|
+
ctx.hooks?.enforceWriteQuota ? { enforceWriteQuota: ctx.hooks.enforceWriteQuota } : undefined,
|
|
241
|
+
),
|
|
242
|
+
}),
|
|
195
243
|
});
|
|
196
244
|
defineOperation({ name: "lcm_search", description: "Search LCM.", schema: strictSchema({ query: S.str, sessionKey: S.str, sessionPrefix: S.str, namespace: S.str, limit: S.num }), handler: async (input, ctx) => ({ result: await ctx.service.lcmSearch({ query: defStr(input.query, ""), sessionKey: optStr(input.sessionKey), sessionPrefix: optStr(input.sessionPrefix), namespace: optStr(input.namespace), limit: optNum(input.limit), authenticatedPrincipal: ctx.authenticatedPrincipal }) }) });
|
|
197
245
|
defineOperation({ name: "lcm_compaction_flush", description: "Flush LCM compaction.", schema: strictSchema({ sessionKey: S.str, namespace: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.lcmCompactionFlush({ sessionKey: optStr(input.sessionKey) ?? "", namespace: optStr(input.namespace), cwd: optStr(input.cwd), projectTag: optStr(input.projectTag), authenticatedPrincipal: ctx.authenticatedPrincipal }) }) });
|
package/src/access-schema.ts
CHANGED
|
@@ -706,9 +706,20 @@ export function validateRequest<T = unknown>(
|
|
|
706
706
|
},
|
|
707
707
|
};
|
|
708
708
|
}
|
|
709
|
-
const result = schema.safeParse(body);
|
|
709
|
+
const result = schema.safeParse(stripNullsExceptCodingContext(body));
|
|
710
710
|
if (result.success) {
|
|
711
711
|
return { success: true, data: result.data as T };
|
|
712
712
|
}
|
|
713
713
|
return { success: false, error: formatZodError(result.error) };
|
|
714
714
|
}
|
|
715
|
+
|
|
716
|
+
function stripNullsExceptCodingContext(data: unknown): unknown {
|
|
717
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) return data;
|
|
718
|
+
const cleaned: Record<string, unknown> = {};
|
|
719
|
+
for (const [key, value] of Object.entries(data as Record<string, unknown>)) {
|
|
720
|
+
if (value === null && key !== "codingContext") continue;
|
|
721
|
+
cleaned[key] = value;
|
|
722
|
+
}
|
|
723
|
+
return cleaned;
|
|
724
|
+
}
|
|
725
|
+
|