@snoai/memory 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +176 -0
- package/README.md +7 -2
- package/config/b-profile-section-registry.json +118 -0
- package/config/llm/compiled/2026-05-19T230932Z/manifest.json +25 -0
- package/config/llm/compiled/2026-05-19T230932Z/registry-root.json +67 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/manifest.json +43 -0
- package/config/llm/compiled/2026-07-21T001311Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/manifest.json +43 -0
- package/config/llm/compiled/2026-08-29T060335Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/manifest.json +43 -0
- package/config/llm/compiled/2026-09-04T004828Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/current.json +4 -0
- package/config/llm/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm.trust.json +37 -0
- package/dist/_types-CUKHSRkS.d.ts +103 -0
- package/dist/access-tracker-CSc21GtV.d.ts +110 -0
- package/dist/adapter-DMEmCTKo.d.ts +69 -0
- package/dist/adapter-XaRHZWZ2.js +333 -0
- package/dist/agent-llm-port-5oXgBpzJ.d.ts +53 -0
- package/dist/all-resources-BQK2ugjB.js +6379 -0
- package/dist/all-resources-Dij6l5h0.d.ts +18 -0
- package/dist/ambient-learning-text-normalizer-CxjATmMp.js +170 -0
- package/dist/ambient-learning-text-normalizer-_fH3LeuK.d.ts +10 -0
- package/dist/atomic-extraction-reply-BJ9XV_9s.js +863 -0
- package/dist/atomic-extraction-skill-CcXmuCqL.js +56 -0
- package/dist/atomic-memory-extraction-BpOUWPJM.d.ts +327 -0
- package/dist/atomic-memory-extraction-sdNf1-B1.js +3605 -0
- package/dist/b-profile-section-dictionary-provider-BHkoNqgk.js +1812 -0
- package/dist/b-profile-section-dictionary-provider-BxbksLj3.d.ts +62 -0
- package/dist/best-effort-BPZSzKk0.d.ts +9 -0
- package/dist/calendar-instruction-CzqZbAPG.js +194 -0
- package/dist/capture-policy-detector-CHz5GOPA.d.ts +53 -0
- package/dist/capture-policy-detector-DaMfy9CZ.js +357 -0
- package/dist/classifier-C96uH9OF.d.ts +272 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.js +305 -0
- package/dist/coding-skin.d.ts +51 -0
- package/dist/coding-skin.js +55 -0
- package/dist/config-tSrvLXgV.js +2577 -0
- package/dist/connection-DAbzki8K.d.ts +391 -0
- package/dist/connection-DliCOBB2.js +297 -0
- package/dist/daily-log-generator-CH_KuWHs.js +469 -0
- package/dist/daily-log-generator-CsQPHl4A.d.ts +73 -0
- package/dist/daily-spend-estimator-DiwzBlo1.d.ts +8 -0
- package/dist/data-bootstrap-CYniFp8b.js +172 -0
- package/dist/data-bootstrap-CcJUwkqf.d.ts +30 -0
- package/dist/data-paths-C7sNdqvP.d.ts +22 -0
- package/dist/derived-suppression-cache-C7bGARc0.d.ts +36 -0
- package/dist/diagnostic-encoder.d.ts +6 -0
- package/dist/diagnostic-encoder.js +29 -0
- package/dist/embedding-provider-client-Q_hJonK9.js +294 -0
- package/dist/embedding-provider-client-vynZMuit.d.ts +94 -0
- package/dist/entry-metadata-parser-BIVSMCIk.js +20 -0
- package/dist/error-D-wb-rZw.js +23 -0
- package/dist/error-signals-D8_3vYu4.d.ts +28 -0
- package/dist/error-signals-lMH2uAdV.js +134 -0
- package/dist/errors-CeVRxf9V.d.ts +49 -0
- package/dist/extraction-text-sanitizer-B_AhIecT.d.ts +32 -0
- package/dist/i18n-text-DbD6Qify.d.ts +13 -0
- package/dist/index-BsMap4It.d.ts +650 -0
- package/dist/index-DL8AVj0Z.d.ts +571 -0
- package/dist/index-DQ7VL6d3.d.ts +350 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.js +1201 -0
- package/dist/intent-analyzer-B5XVrWwe.d.ts +28 -0
- package/dist/internal/config/index.d.ts +2 -0
- package/dist/internal/config/index.js +581 -0
- package/dist/internal/config/plugin-config-schema.d.ts +2 -0
- package/dist/internal/config/plugin-config-schema.js +2 -0
- package/dist/internal/config/product-mode.d.ts +2 -0
- package/dist/internal/config/product-mode.js +36 -0
- package/dist/internal/config/settings.d.ts +2 -0
- package/dist/internal/config/settings.js +265 -0
- package/dist/internal/config/skill-categories.d.ts +4 -0
- package/dist/internal/config/skill-categories.js +68 -0
- package/dist/internal/config/skin-defaults.d.ts +6 -0
- package/dist/internal/config/skin-defaults.js +6 -0
- package/dist/internal/contract/discovery.d.ts +10 -0
- package/dist/internal/contract/discovery.js +53 -0
- package/dist/internal/contract/profile.d.ts +2 -0
- package/dist/internal/contract/profile.js +44 -0
- package/dist/internal/contract/routes.d.ts +2 -0
- package/dist/internal/contract/routes.js +61 -0
- package/dist/internal/engine/bindings/memory-cli-shared.d.ts +47 -0
- package/dist/internal/engine/bindings/memory-cli-shared.js +84 -0
- package/dist/internal/engine/bindings/memory-forget-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-forget-tool.js +66 -0
- package/dist/internal/engine/bindings/memory-list-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-list-tool.js +57 -0
- package/dist/internal/engine/bindings/memory-recall-tool.d.ts +10 -0
- package/dist/internal/engine/bindings/memory-recall-tool.js +283 -0
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +150 -0
- package/dist/internal/engine/bindings/memory-stats-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-stats-tool.js +43 -0
- package/dist/internal/engine/bindings/memory-store-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-store-tool.js +165 -0
- package/dist/internal/engine/bindings/memory-tool-access.d.ts +16 -0
- package/dist/internal/engine/bindings/memory-tool-access.js +46 -0
- package/dist/internal/engine/bindings/memory-tool-formatting.d.ts +62 -0
- package/dist/internal/engine/bindings/memory-tool-formatting.js +106 -0
- package/dist/internal/engine/bindings/memory-tool-results.d.ts +8 -0
- package/dist/internal/engine/bindings/memory-tool-results.js +41 -0
- package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +109 -0
- package/dist/internal/engine/bindings/memory-tool-schemas.js +75 -0
- package/dist/internal/engine/bindings/memory-update-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-update-tool.js +127 -0
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +14 -0
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +248 -0
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +12 -0
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +324 -0
- package/dist/internal/engine/bindings/sno-station-mem-hook-types.d.ts +56 -0
- package/dist/internal/engine/bindings/sno-station-mem-hook-types.js +1 -0
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +14 -0
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +119 -0
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.d.ts +52 -0
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +145 -0
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +10 -0
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.js +9 -0
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +37 -0
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +105 -0
- package/dist/internal/engine/bindings/sno-station-mem-session-state.d.ts +10 -0
- package/dist/internal/engine/bindings/sno-station-mem-session-state.js +27 -0
- package/dist/internal/engine/eval/trace.d.ts +2 -0
- package/dist/internal/engine/eval/trace.js +151 -0
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.d.ts +2 -0
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.js +2 -0
- package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +2 -0
- package/dist/internal/engine/extraction/atomic-memory-extraction.js +2 -0
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +2 -0
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.js +2 -0
- package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +49 -0
- package/dist/internal/engine/extraction/b-profile-section-rekey.js +730 -0
- package/dist/internal/engine/extraction/capture-policy-detector.d.ts +2 -0
- package/dist/internal/engine/extraction/capture-policy-detector.js +2 -0
- package/dist/internal/engine/extraction/embedding-provider-client.d.ts +2 -0
- package/dist/internal/engine/extraction/embedding-provider-client.js +2 -0
- package/dist/internal/engine/extraction/extraction-text-sanitizer.d.ts +2 -0
- package/dist/internal/engine/extraction/extraction-text-sanitizer.js +114 -0
- package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +3 -0
- package/dist/internal/engine/extraction/memory-metadata-codec.js +2 -0
- package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +2 -0
- package/dist/internal/engine/extraction/memory-temporality-classifier.js +2 -0
- package/dist/internal/engine/i18n/all-resources.d.ts +2 -0
- package/dist/internal/engine/i18n/all-resources.js +2 -0
- package/dist/internal/engine/i18n/locales.d.ts +2 -0
- package/dist/internal/engine/i18n/locales.js +19 -0
- package/dist/internal/engine/i18n/res/_types.d.ts +2 -0
- package/dist/internal/engine/i18n/res/_types.js +11 -0
- package/dist/internal/engine/observability/adapter.d.ts +2 -0
- package/dist/internal/engine/observability/adapter.js +2 -0
- package/dist/internal/engine/observability/best-effort.d.ts +2 -0
- package/dist/internal/engine/observability/best-effort.js +41 -0
- package/dist/internal/engine/observability/early-diagnostics.js +2 -0
- package/dist/internal/engine/observability/memory-snapshot.d.ts +2 -0
- package/dist/internal/engine/observability/memory-snapshot.js +44 -0
- package/dist/internal/engine/observability/observable-embedder.d.ts +2 -0
- package/dist/internal/engine/observability/observable-embedder.js +43 -0
- package/dist/internal/engine/observability/observable-llm-client.d.ts +2 -0
- package/dist/internal/engine/observability/observable-llm-client.js +98 -0
- package/dist/internal/engine/observability/observable-memory-store.d.ts +2 -0
- package/dist/internal/engine/observability/observable-memory-store.js +701 -0
- package/dist/internal/engine/observability/observable-retriever.d.ts +2 -0
- package/dist/internal/engine/observability/observable-retriever.js +95 -0
- package/dist/internal/engine/observability/runtime-diagnostics.d.ts +13 -0
- package/dist/internal/engine/observability/runtime-diagnostics.js +96 -0
- package/dist/internal/engine/observability/session-registry.d.ts +2 -0
- package/dist/internal/engine/observability/session-registry.js +58 -0
- package/dist/internal/engine/observability/version-metadata.d.ts +7 -0
- package/dist/internal/engine/observability/version-metadata.js +59 -0
- package/dist/internal/engine/operations/daily-spend-estimator.d.ts +2 -0
- package/dist/internal/engine/operations/daily-spend-estimator.js +97 -0
- package/dist/internal/engine/operations/learning-file-maintenance.d.ts +2 -0
- package/dist/internal/engine/operations/learning-file-maintenance.js +255 -0
- package/dist/internal/engine/operations/memory-tier-promoter.d.ts +2 -0
- package/dist/internal/engine/operations/memory-tier-promoter.js +95 -0
- package/dist/internal/engine/operations/runtime-audit-log.d.ts +3 -0
- package/dist/internal/engine/operations/runtime-audit-log.js +3 -0
- package/dist/internal/engine/provider/canonical-memory-corpus.d.ts +38 -0
- package/dist/internal/engine/provider/canonical-memory-corpus.js +253 -0
- package/dist/internal/engine/provider/provider-registration.d.ts +39 -0
- package/dist/internal/engine/provider/provider-registration.js +2 -0
- package/dist/internal/engine/provider/provider-row-renderer.d.ts +7 -0
- package/dist/internal/engine/provider/provider-row-renderer.js +53 -0
- package/dist/internal/engine/provider/provider-types.d.ts +2 -0
- package/dist/internal/engine/provider/provider-types.js +1 -0
- package/dist/internal/engine/reflection/daily-log-generator.d.ts +2 -0
- package/dist/internal/engine/reflection/daily-log-generator.js +2 -0
- package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-command-hooks.js +2 -0
- package/dist/internal/engine/reflection/reflection-deps.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-deps.js +1 -0
- package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-embedded-generator.js +2 -0
- package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-injection-hooks.js +219 -0
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +63 -0
- package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +4 -0
- package/dist/internal/engine/reflection/strategy-hook-runner.js +3 -0
- package/dist/internal/engine/rem/classifier.d.ts +2 -0
- package/dist/internal/engine/rem/classifier.js +180 -0
- package/dist/internal/engine/rem/index.d.ts +4 -0
- package/dist/internal/engine/rem/index.js +2551 -0
- package/dist/internal/engine/rem/types.d.ts +2 -0
- package/dist/internal/engine/rem/types.js +40 -0
- package/dist/internal/engine/retrieval/access-tracker.d.ts +2 -0
- package/dist/internal/engine/retrieval/access-tracker.js +314 -0
- package/dist/internal/engine/retrieval/intent-analyzer.d.ts +2 -0
- package/dist/internal/engine/retrieval/intent-analyzer.js +27 -0
- package/dist/internal/engine/retrieval/retrieval-gate.d.ts +2 -0
- package/dist/internal/engine/retrieval/retrieval-gate.js +47 -0
- package/dist/internal/engine/retrieval/retriever.d.ts +2 -0
- package/dist/internal/engine/retrieval/retriever.js +2 -0
- package/dist/internal/engine/security/memory-scope-policy.d.ts +2 -0
- package/dist/internal/engine/security/memory-scope-policy.js +2 -0
- package/dist/internal/engine/security/redact.d.ts +2 -0
- package/dist/internal/engine/security/redact.js +34 -0
- package/dist/internal/engine/security/scopes.d.ts +3 -0
- package/dist/internal/engine/security/scopes.js +3 -0
- package/dist/internal/engine/shared/errors.d.ts +2 -0
- package/dist/internal/engine/shared/errors.js +66 -0
- package/dist/internal/engine/shared/i18n-text.d.ts +2 -0
- package/dist/internal/engine/shared/i18n-text.js +58 -0
- package/dist/internal/engine/shared/iso-date-time.d.ts +16 -0
- package/dist/internal/engine/shared/iso-date-time.js +40 -0
- package/dist/internal/engine/shared/lru.d.ts +2 -0
- package/dist/internal/engine/shared/lru.js +30 -0
- package/dist/internal/engine/shared/memory-kind-policy.d.ts +2 -0
- package/dist/internal/engine/shared/memory-kind-policy.js +64 -0
- package/dist/internal/engine/shared/paths.d.ts +3 -0
- package/dist/internal/engine/shared/paths.js +2 -0
- package/dist/internal/engine/shared/types.d.ts +3 -0
- package/dist/internal/engine/shared/types.js +25 -0
- package/dist/internal/engine/shared/utils.d.ts +2 -0
- package/dist/internal/engine/shared/utils.js +175 -0
- package/dist/internal/engine/telemetry/memory-telemetry-api.d.ts +134 -0
- package/dist/internal/engine/telemetry/memory-telemetry-api.js +730 -0
- package/dist/internal/engine/telemetry/memory-telemetry-observability.d.ts +24 -0
- package/dist/internal/engine/telemetry/memory-telemetry-observability.js +133 -0
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.d.ts +2 -0
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.js +443 -0
- package/dist/internal/engine/telemetry/memory-telemetry-types.d.ts +2 -0
- package/dist/internal/engine/telemetry/memory-telemetry-types.js +21 -0
- package/dist/internal/engine/telemetry/observe-ledger.d.ts +30 -0
- package/dist/internal/engine/telemetry/observe-ledger.js +111 -0
- package/dist/internal/model/agent-llm-port.d.ts +2 -0
- package/dist/internal/model/agent-llm-port.js +1 -0
- package/dist/internal/model/llm-client.d.ts +3 -0
- package/dist/internal/model/llm-client.js +3 -0
- package/dist/internal/model/llm-failure.d.ts +26 -0
- package/dist/internal/model/llm-failure.js +63 -0
- package/dist/internal/model/llm-mode-routing.d.ts +22 -0
- package/dist/internal/model/llm-mode-routing.js +37 -0
- package/dist/internal/store/atomic-memory-cutover-sql.d.ts +13 -0
- package/dist/internal/store/atomic-memory-cutover-sql.js +237 -0
- package/dist/internal/store/connection.d.ts +2 -0
- package/dist/internal/store/connection.js +2 -0
- package/dist/internal/store/data-bootstrap.d.ts +2 -0
- package/dist/internal/store/data-bootstrap.js +2 -0
- package/dist/internal/store/data-paths.d.ts +2 -0
- package/dist/internal/store/data-paths.js +65 -0
- package/dist/internal/store/maintenance.d.ts +75 -0
- package/dist/internal/store/maintenance.js +1401 -0
- package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +28 -0
- package/dist/internal/store/memory-kinds-cutover-migrator.js +415 -0
- package/dist/internal/store/migrations.d.ts +27 -0
- package/dist/internal/store/migrations.js +201 -0
- package/dist/internal/store/sqlite-runtime.d.ts +2 -0
- package/dist/internal/store/sqlite-runtime.js +109 -0
- package/dist/internal/store/store.d.ts +3 -0
- package/dist/internal/store/store.js +2 -0
- package/dist/learning-file-maintenance-9b-Ut6Kv.d.ts +30 -0
- package/dist/llm-client-B7Xoxqou.js +1378 -0
- package/dist/llm-client-DOTSGzhe.d.ts +51 -0
- package/dist/locales-JxGmkG6t.d.ts +7 -0
- package/dist/log-site-catalog.generated-B9WYdnAM.js +2321 -0
- package/dist/log-site-catalog.json +1 -0
- package/dist/lru-DyoaTyIs.d.ts +14 -0
- package/dist/memdump.d.ts +52 -0
- package/dist/memdump.js +163 -0
- package/dist/memory-entry-projector-DHo8jH10.js +1015 -0
- package/dist/memory-kind-policy-LKt0u3gy.d.ts +23 -0
- package/dist/memory-metadata-codec-C3oQd47V.d.ts +68 -0
- package/dist/memory-metadata-codec-DL1sbJiN.js +577 -0
- package/dist/memory-runtime-BZtREuwW.js +19459 -0
- package/dist/memory-scope-policy-1gg5QlWZ.d.ts +67 -0
- package/dist/memory-scope-policy-DICSCURA.js +283 -0
- package/dist/memory-snapshot-3e44ND2i.d.ts +16 -0
- package/dist/memory-source-order-BtrIxaIt.js +134 -0
- package/dist/memory-store-base-XRA4S9Xl.d.ts +1095 -0
- package/dist/memory-store-shared-DeIDkhLj.js +158 -0
- package/dist/memory-store-write-validation-B_hDG2zf.js +243 -0
- package/dist/memory-telemetry-incidents-BWA9kcZx.js +8 -0
- package/dist/memory-telemetry-metadata-CA7W8tK6.js +77 -0
- package/dist/memory-telemetry-outbox-ddTdImt7.d.ts +74 -0
- package/dist/memory-telemetry-receipts-MAJecvXQ.d.ts +34 -0
- package/dist/memory-telemetry-receipts-YsxbwOAf.js +91 -0
- package/dist/memory-telemetry-types-CufVmrCs.d.ts +14 -0
- package/dist/memory-temporality-classifier-CEdRTN5J.d.ts +43 -0
- package/dist/memory-temporality-classifier-CKiTAHXe.js +184 -0
- package/dist/memory-tier-promoter-DbTpahkP.d.ts +43 -0
- package/dist/memory-tool-dependencies-CLODycUw.js +19 -0
- package/dist/memory-tool-dependencies-N69chrQc.d.ts +14 -0
- package/dist/model-call-table-CspopkBg.js +563 -0
- package/dist/model-reply-text-CKopStP2.js +334 -0
- package/dist/observable-embedder-DQnNgf9O.d.ts +17 -0
- package/dist/observable-llm-client-uwqPADpN.d.ts +21 -0
- package/dist/observable-memory-store-BaZKbhgq.d.ts +73 -0
- package/dist/observable-retriever-Dt_NUxAA.d.ts +23 -0
- package/dist/operation-cancellation-CTKWwNHk.js +81 -0
- package/dist/paths-qVF-5uBq.d.ts +1 -0
- package/dist/plugin-config-schema-C0UUbOmG.d.ts +413 -0
- package/dist/plugin-config-schema-YJLyIIcJ.js +361 -0
- package/dist/profile-TWPJ_myr.d.ts +13 -0
- package/dist/profile-section-writer-hIphqpUY.js +2149 -0
- package/dist/provider-registration-CF1tg8Xy.js +721 -0
- package/dist/provider-runtime-types-DFhtdA6d.d.ts +134 -0
- package/dist/provider-types-CZGm6v88.d.ts +23 -0
- package/dist/redact-BTIZcHQL.d.ts +5 -0
- package/dist/reflection-command-hooks-BeQiJI9-.js +644 -0
- package/dist/reflection-command-hooks-C1Vxgb-O.d.ts +32 -0
- package/dist/reflection-deps-RpLPFrSc.d.ts +19 -0
- package/dist/reflection-embedded-generator-CDUhgV96.js +130 -0
- package/dist/reflection-embedded-generator-CxOex5xK.d.ts +14 -0
- package/dist/reflection-injection-hooks-DfUgqu8f.d.ts +43 -0
- package/dist/reflection-lifecycle-hooks-Ct5HBdSG.d.ts +27 -0
- package/dist/relation-dictionary-Cev1kyLe.js +4248 -0
- package/dist/release-download.d.ts +8 -0
- package/dist/release-download.js +32 -0
- package/dist/relevant-memories-context-m8nuFZcM.js +23 -0
- package/dist/rem-batch-executor-Cbm5gfSe.js +31644 -0
- package/dist/rem-batch-executor-bc0IFlp2.js +2 -0
- package/dist/rem-consumer-retrieval-CRpvG8KS.js +246 -0
- package/dist/rem-trigger-BTxkcjgT.js +729 -0
- package/dist/resolver-Dy-hnjCR.js +103 -0
- package/dist/results-C3ZLroMb.js +140 -0
- package/dist/retrieval-gate-Bx2Zg7jD.d.ts +31 -0
- package/dist/retriever-CygHBazG.js +1757 -0
- package/dist/retriever-Ruk3zp7_.d.ts +469 -0
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/routes-Ce7SQKec.js +59 -0
- package/dist/runtime-audit-log-BCeujlEp.js +430 -0
- package/dist/runtime-audit-log-zpQiR9HT.d.ts +149 -0
- package/dist/scopes-CSOn6zdd.js +71 -0
- package/dist/scopes-CtrY-YQ3.d.ts +23 -0
- package/dist/server-BPAY4NTG.js +1410 -0
- package/dist/session-registry-DBoE7AvZ.d.ts +14 -0
- package/dist/sidecar/main.d.ts +1 -0
- package/dist/sidecar/main.js +56 -0
- package/dist/signed-registry-constants-Bv0fgZ8Q.d.ts +12 -0
- package/dist/signed-registry-constants-yq3DlG3B.js +82 -0
- package/dist/sno-station-mem-runtime-dependencies-Bu-MiqPX.d.ts +31 -0
- package/dist/sno-station-mem-runtime-dependencies-DjLOhB45.js +30 -0
- package/dist/sqlite-runtime-L_ywirTm.d.ts +58 -0
- package/dist/store-2pM0-dZg.d.ts +27 -0
- package/dist/store-DzpZBMEm.js +5830 -0
- package/dist/strategy-hook-runner-gBtU47tX.d.ts +16 -0
- package/dist/strategy-hook-runner-zmdIYOmQ.js +110 -0
- package/dist/token-counter-BD1f48Km.js +73 -0
- package/dist/trace-1t1n_wUm.d.ts +86 -0
- package/dist/types-DxKqU60b.d.ts +477 -0
- package/dist/types-pVomjzqR.d.ts +132 -0
- package/dist/unplaced-candidate-migration-CbQHzcEM.js +940 -0
- package/dist/utils-Ctb9aevJ.d.ts +34 -0
- package/drizzle/0000_initial.sql +10 -0
- package/drizzle/0001_virtual_tables.sql +34 -0
- package/drizzle/0002_add_indexes.sql +11 -0
- package/drizzle/0003_content_hash_lookup_index.sql +2 -0
- package/drizzle/0004_chunk_swap.sql +60 -0
- package/drizzle/0005_drop_legacy_vec_fts.sql +10 -0
- package/drizzle/0006_fts_simple.sql +45 -0
- package/drizzle/0007_restore_simple_fts.sql +40 -0
- package/drizzle/0008_widen_memory_hash_unique_index.sql +4 -0
- package/drizzle/0009_memory_telemetry.sql +109 -0
- package/drizzle/0010_provider_mappings.sql +27 -0
- package/drizzle/0011_db_optimization.sql +82 -0
- package/drizzle/0012_b_profile_lanes.sql +9 -0
- package/drizzle/0013_extraction_timestamps.sql +6 -0
- package/drizzle/0014_extraction_timestamp_source.sql +3 -0
- package/drizzle/0015_task_lifecycle_state.sql +101 -0
- package/drizzle/0016_task_lifecycle_legacy_migration.sql +144 -0
- package/drizzle/0017_unplaced_candidates.sql +15 -0
- package/drizzle/0018_rem_batch_chassis.sql +71 -0
- package/drizzle/0019_profile_recovery_entries.sql +17 -0
- package/drizzle/0020_rem_scan_retry_progress.down.sql +14 -0
- package/drizzle/0020_rem_scan_retry_progress.sql +24 -0
- package/drizzle/0021_rem_two_facet_storage.down.sql +14 -0
- package/drizzle/0021_rem_two_facet_storage.sql +42 -0
- package/drizzle/0022_rem_facet_chunk_versions.down.sql +4 -0
- package/drizzle/0022_rem_facet_chunk_versions.sql +4 -0
- package/drizzle/0023_rem_defect_ledger.sql +40 -0
- package/drizzle/0024_rem_unbuilt_foundations.down.sql +13 -0
- package/drizzle/0024_rem_unbuilt_foundations.sql +65 -0
- package/drizzle/0025_rem_journal_operation_constraint.sql +28 -0
- package/drizzle/0026_rem_journal_detail.sql +1 -0
- package/drizzle/0027_legacy_nodix_namespace.sql +3 -0
- package/drizzle/0028_memory_timezone.sql +23 -0
- package/drizzle/0029_rem_write_hash_symmetry.sql +17 -0
- package/drizzle/0030_atomic_memory_additive.sql +105 -0
- package/drizzle/0031_atomic_extraction_ledger.sql +23 -0
- package/drizzle/0032_atomic_memory_entities.sql +12 -0
- package/drizzle/0033_todo_own_store.sql +99 -0
- package/drizzle/meta/0000_snapshot.json +87 -0
- package/drizzle/meta/_journal.json +244 -0
- package/generated/rem-operations.json +1 -0
- package/package.json +126 -4
- package/scripts/download-simple-tokenizer.mjs +254 -0
- package/settings.default.json +243 -0
- package/skills/extract-atomic-memory/SKILL.md +298 -0
- package/skills/extract-atomic-memory/references/account-for-turns.md +9 -0
- package/skills/extract-atomic-memory/references/calendar-meaning.md +64 -0
- package/skills/extract-atomic-memory/references/capture.md +120 -0
- package/skills/extract-atomic-memory/references/enrichment.md +92 -0
- package/skills/extract-atomic-memory/references/missing-durable-half.md +6 -0
- package/skills/extract-atomic-memory/references/progress-classification.md +21 -0
- package/skills/extract-atomic-memory/references/resolve-subject.md +19 -0
- package/skills/extract-atomic-memory/references/surrounding-context.md +10 -0
- package/skills/extract-atomic-memory/references/user-subject-guard.md +29 -0
- package/skills/judge-group-closure/SKILL.md +25 -0
- package/skills/judge-rem-memory-updates/SKILL.md +56 -0
- package/skills/judge-rem-memory-updates/agents/openai.yaml +4 -0
- package/skills/judge-retired-position/SKILL.md +25 -0
- package/skills/judge-task-lifecycle/SKILL.md +45 -0
- package/skills/key-state-attribute/SKILL.md +16 -0
- package/skills/resolve-entity-identity/SKILL.md +24 -0
- package/skills/resolve-relative-time/SKILL.md +22 -0
- package/sqlite-extensions/LICENSE-simple-tokenizer +28 -0
- package/sqlite-extensions/LICENSE-sqlite-vec +21 -0
- package/sqlite-extensions/linux-arm64/vec0.so +0 -0
- package/sqlite-extensions/linux-x64/vec0.so +0 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { C as RemVerdictCheckpoint, _ as RemOwner, g as RemOperationType, u as RemDatabaseLike, y as RemRowState } from "./types-pVomjzqR.js";
|
|
2
|
+
//#region src/engine/rem/repository.d.ts
|
|
3
|
+
type BudgetReservation = {
|
|
4
|
+
status: "reserved";
|
|
5
|
+
tokens: number;
|
|
6
|
+
idempotencyKey: string;
|
|
7
|
+
} | {
|
|
8
|
+
status: "pending";
|
|
9
|
+
reason: "invocation_row_missing" | "tokenizer_unavailable";
|
|
10
|
+
};
|
|
11
|
+
type RowClaimRefusalReason = "claim_changed" | "content_changed" | "content_changed_released" | "holder_alive" | "inconsistent_state" | "missing";
|
|
12
|
+
interface CreateVerdictGenerationInput {
|
|
13
|
+
generationId: string;
|
|
14
|
+
corpusSnapshotHash: string;
|
|
15
|
+
pairingConfigHash: string;
|
|
16
|
+
maxLlmCalls: number;
|
|
17
|
+
maxTokens: number;
|
|
18
|
+
pairs: ReadonlyArray<{
|
|
19
|
+
pairId: string;
|
|
20
|
+
leftRowId: string;
|
|
21
|
+
rightRowId: string;
|
|
22
|
+
sortKey: string;
|
|
23
|
+
}>;
|
|
24
|
+
inheritedRefusalsFromGenerationId?: string;
|
|
25
|
+
}
|
|
26
|
+
interface VerdictGenerationRef {
|
|
27
|
+
generationId: string;
|
|
28
|
+
corpusSnapshotHash: string;
|
|
29
|
+
}
|
|
30
|
+
interface VerdictPairQueueItem {
|
|
31
|
+
pairId: string;
|
|
32
|
+
leftRowId: string;
|
|
33
|
+
rightRowId: string;
|
|
34
|
+
sortKey: string;
|
|
35
|
+
claimState: "unvisited" | "claimed" | "done";
|
|
36
|
+
invocationId: string | null;
|
|
37
|
+
}
|
|
38
|
+
interface JournalEntry {
|
|
39
|
+
stage: string;
|
|
40
|
+
outcome: "done" | "failed" | "disabled" | "pending" | "refused" | "no-action";
|
|
41
|
+
pairsScanned: number;
|
|
42
|
+
verdicts: number;
|
|
43
|
+
actionsApplied: number;
|
|
44
|
+
reason?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Which condition produced this row, as its own value rather than folded into `reason`. PRD 50
|
|
47
|
+
* ACC-27 requires the persisted refusal to carry the failing condition as a FIELD: a reader
|
|
48
|
+
* asking "which condition" must not have to parse a string, and `reason` must stay groupable —
|
|
49
|
+
* `topRefusalReasons` counts distinct `reason` values, so a detail concatenated into it would
|
|
50
|
+
* give every refusal its own bucket and destroy the statistic.
|
|
51
|
+
*/
|
|
52
|
+
detail?: string;
|
|
53
|
+
rowId?: string;
|
|
54
|
+
pairId?: string;
|
|
55
|
+
}
|
|
56
|
+
interface RemRepository {
|
|
57
|
+
recordClassification(input: {
|
|
58
|
+
rowId: string;
|
|
59
|
+
contentHash: string;
|
|
60
|
+
state: RemRowState;
|
|
61
|
+
classifiedAt: string;
|
|
62
|
+
}): void;
|
|
63
|
+
claimRow(input: {
|
|
64
|
+
rowId: string;
|
|
65
|
+
contentHash: string;
|
|
66
|
+
owner: Exclude<RemOwner, "none">;
|
|
67
|
+
claimToken: string;
|
|
68
|
+
claimTs: string;
|
|
69
|
+
holderPid: number;
|
|
70
|
+
}): {
|
|
71
|
+
claimed: true;
|
|
72
|
+
} | {
|
|
73
|
+
claimed: false;
|
|
74
|
+
reason: "content_changed" | "missing";
|
|
75
|
+
} | {
|
|
76
|
+
claimed: false;
|
|
77
|
+
reason: "already_claimed";
|
|
78
|
+
claimToken: string;
|
|
79
|
+
};
|
|
80
|
+
recoverRowClaim(input: {
|
|
81
|
+
rowId: string;
|
|
82
|
+
contentHash: string;
|
|
83
|
+
owner: Exclude<RemOwner, "none">;
|
|
84
|
+
expectedClaimToken: string;
|
|
85
|
+
claimToken: string;
|
|
86
|
+
claimTs: string;
|
|
87
|
+
holderPid: number;
|
|
88
|
+
}): {
|
|
89
|
+
recovered: true;
|
|
90
|
+
} | {
|
|
91
|
+
recovered: false;
|
|
92
|
+
reason: RowClaimRefusalReason;
|
|
93
|
+
};
|
|
94
|
+
completeRowClaim(input: {
|
|
95
|
+
rowId: string;
|
|
96
|
+
contentHash: string;
|
|
97
|
+
currentContentHash: string;
|
|
98
|
+
owner: Exclude<RemOwner, "none">;
|
|
99
|
+
claimToken: string;
|
|
100
|
+
completedAt: string;
|
|
101
|
+
jobId: string;
|
|
102
|
+
jobType: RemOperationType;
|
|
103
|
+
}): {
|
|
104
|
+
completed: true;
|
|
105
|
+
} | {
|
|
106
|
+
completed: false;
|
|
107
|
+
reason: Exclude<RowClaimRefusalReason, "holder_alive">;
|
|
108
|
+
};
|
|
109
|
+
releaseRowClaim(input: {
|
|
110
|
+
rowId: string;
|
|
111
|
+
contentHash: string;
|
|
112
|
+
owner: Exclude<RemOwner, "none">;
|
|
113
|
+
claimToken: string;
|
|
114
|
+
}): {
|
|
115
|
+
released: true;
|
|
116
|
+
} | {
|
|
117
|
+
released: false;
|
|
118
|
+
reason: Exclude<RowClaimRefusalReason, "holder_alive">;
|
|
119
|
+
};
|
|
120
|
+
createVerdictGeneration(input: CreateVerdictGenerationInput): void;
|
|
121
|
+
findOpenVerdictGeneration(input: {
|
|
122
|
+
corpusSnapshotHash: string;
|
|
123
|
+
pairingConfigHash: string;
|
|
124
|
+
}): VerdictGenerationRef | undefined;
|
|
125
|
+
listVerdictPairs(generationId: string): VerdictPairQueueItem[];
|
|
126
|
+
/** The given pairs already closed with a recorded verdict in any generation (PRD 140 REQ-9). */
|
|
127
|
+
readClosedVerdictPairIds(pairIds: readonly string[]): Set<string>;
|
|
128
|
+
claimNextPair(input: {
|
|
129
|
+
generationId: string;
|
|
130
|
+
invocationId: string;
|
|
131
|
+
claimedAt: string;
|
|
132
|
+
holderPid: number;
|
|
133
|
+
}): {
|
|
134
|
+
pairId: string;
|
|
135
|
+
leftRowId: string;
|
|
136
|
+
rightRowId: string;
|
|
137
|
+
} | undefined;
|
|
138
|
+
releasePairClaim(input: {
|
|
139
|
+
generationId: string;
|
|
140
|
+
pairId: string;
|
|
141
|
+
invocationId: string;
|
|
142
|
+
}): void;
|
|
143
|
+
completePair(input: {
|
|
144
|
+
generationId: string;
|
|
145
|
+
pairId: string;
|
|
146
|
+
invocationId: string;
|
|
147
|
+
}): void;
|
|
148
|
+
refusePair(input: {
|
|
149
|
+
generationId: string;
|
|
150
|
+
pairId: string;
|
|
151
|
+
invocationId: string;
|
|
152
|
+
reason: string;
|
|
153
|
+
jobId: string;
|
|
154
|
+
jobType: RemOperationType;
|
|
155
|
+
}): {
|
|
156
|
+
state: "refused" | "exhausted";
|
|
157
|
+
attemptCount: number;
|
|
158
|
+
};
|
|
159
|
+
reserveLlmBudget(input: {
|
|
160
|
+
generationId: string;
|
|
161
|
+
pairId: string;
|
|
162
|
+
invocationId: string;
|
|
163
|
+
stage: string;
|
|
164
|
+
prompt: string;
|
|
165
|
+
outputTokenCap: number;
|
|
166
|
+
providerUsage?: {
|
|
167
|
+
inputTokens: number;
|
|
168
|
+
outputTokens: number;
|
|
169
|
+
};
|
|
170
|
+
countTokens?: (text: string) => number;
|
|
171
|
+
}): BudgetReservation;
|
|
172
|
+
readGeneration(generationId: string): {
|
|
173
|
+
generationId: string;
|
|
174
|
+
pendingStages: string[];
|
|
175
|
+
llmCallsUsed: number;
|
|
176
|
+
tokensUsed: number;
|
|
177
|
+
};
|
|
178
|
+
readInvocation(input: {
|
|
179
|
+
generationId: string;
|
|
180
|
+
invocationId: string;
|
|
181
|
+
}): {
|
|
182
|
+
llmCallsUsed: number;
|
|
183
|
+
tokensUsed: number;
|
|
184
|
+
};
|
|
185
|
+
appendJournal(jobId: string, jobType: RemOperationType, entry: JournalEntry): void;
|
|
186
|
+
listJournal(jobId: string, jobType?: RemOperationType): JournalEntry[];
|
|
187
|
+
recordVerdictCheckpoint(input: {
|
|
188
|
+
generationId: string;
|
|
189
|
+
pairId: string;
|
|
190
|
+
invocationId: string;
|
|
191
|
+
checkpoint: RemVerdictCheckpoint;
|
|
192
|
+
recordedAt: string;
|
|
193
|
+
verdict?: string;
|
|
194
|
+
}): void;
|
|
195
|
+
resumeVerdictPair(input: {
|
|
196
|
+
generationId: string;
|
|
197
|
+
pairId: string;
|
|
198
|
+
expectedInvocationId: string;
|
|
199
|
+
invocationId: string;
|
|
200
|
+
resumedAt: string;
|
|
201
|
+
holderPid: number;
|
|
202
|
+
}): {
|
|
203
|
+
next: "call_llm";
|
|
204
|
+
claimToken: string;
|
|
205
|
+
} | {
|
|
206
|
+
next: "apply_action";
|
|
207
|
+
verdict: string;
|
|
208
|
+
claimToken: string;
|
|
209
|
+
} | {
|
|
210
|
+
next: "complete";
|
|
211
|
+
claimToken: string;
|
|
212
|
+
} | {
|
|
213
|
+
next: "refused";
|
|
214
|
+
reason: "holder_alive";
|
|
215
|
+
};
|
|
216
|
+
readVerdictPair(generationId: string, pairId: string): {
|
|
217
|
+
checkpoint: RemVerdictCheckpoint | null;
|
|
218
|
+
actionsApplied: number;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
declare function createRemRepository(database: RemDatabaseLike): RemRepository;
|
|
222
|
+
//#endregion
|
|
223
|
+
//#region src/engine/rem/classifier.d.ts
|
|
224
|
+
declare const REM_TRANSITION_GRAMMAR_SHA256 = "8fd5439ec2b85ca27bfa462600869973f991a6f44f956c734596ee9c9d44153d";
|
|
225
|
+
declare const REM_ADDITIONAL_TRANSITION_PATTERN_SHA256 = "cb42c6a25ccd51b16da6a3de7d931f1165af284a89cdc365860bd359ae84bd9f";
|
|
226
|
+
declare const REM_CURRENT_PROGRESSIVE_PATTERN_SHA256 = "ddc1c0119c1f9c4e5178dc0e6eec9ca8a7594ed10e2dd8305646f5363e9d24ad";
|
|
227
|
+
declare const REM_HISTORICAL_FACT_PATTERN_SHA256 = "c5a9cdc0bc2936e6c0252e7c785accf1e3cef646921b92e736d01811c92838ff";
|
|
228
|
+
declare const REM_PURE_NEGATION_PATTERN_SHA256 = "610118ddf1ba956d7082b7f0b7e265f1fcbf81655a9f0e3f6ce753c0df2cbc1d";
|
|
229
|
+
declare const REM_AMBIGUOUS_PATTERN_SHA256 = "ba3ac7245cd7c6d9178989b4d8f95b000467244b028308916354a0fa653f954a";
|
|
230
|
+
interface RemClassifiedRow {
|
|
231
|
+
rowId: string;
|
|
232
|
+
text: string;
|
|
233
|
+
contentHash: string;
|
|
234
|
+
state: RemRowState;
|
|
235
|
+
owner: RemOwner;
|
|
236
|
+
ambiguous: boolean;
|
|
237
|
+
}
|
|
238
|
+
/** Classifies one live database row with the same pinned router used by the conformance entry. */
|
|
239
|
+
declare function classifyRemRow(row: {
|
|
240
|
+
rowId: string;
|
|
241
|
+
text: string;
|
|
242
|
+
contentHash: string;
|
|
243
|
+
}): RemClassifiedRow;
|
|
244
|
+
interface RemClassifierCounts {
|
|
245
|
+
total: number;
|
|
246
|
+
transition: number;
|
|
247
|
+
staleCurrent: number;
|
|
248
|
+
pureNegation: number;
|
|
249
|
+
ambiguous: number;
|
|
250
|
+
}
|
|
251
|
+
interface RemClassifierClaims {
|
|
252
|
+
claimed: string[];
|
|
253
|
+
skipped: string[];
|
|
254
|
+
refused: Array<{
|
|
255
|
+
rowId: string;
|
|
256
|
+
reason: "content_changed" | "already_claimed" | "missing";
|
|
257
|
+
}>;
|
|
258
|
+
}
|
|
259
|
+
interface RemClassifierReport {
|
|
260
|
+
counts: RemClassifierCounts;
|
|
261
|
+
rows: RemClassifiedRow[];
|
|
262
|
+
claims?: RemClassifierClaims;
|
|
263
|
+
}
|
|
264
|
+
interface RemClassifierPersistence {
|
|
265
|
+
repository: Pick<RemRepository, "recordClassification" | "claimRow">;
|
|
266
|
+
classifiedAt: string;
|
|
267
|
+
claimTs: string;
|
|
268
|
+
}
|
|
269
|
+
declare function runVerdictClassifierEntry(populationValue: unknown, persistence?: RemClassifierPersistence): RemClassifierReport;
|
|
270
|
+
declare function runRestateClassifierEntry(populationValue: unknown, persistence?: RemClassifierPersistence): RemClassifierReport;
|
|
271
|
+
//#endregion
|
|
272
|
+
export { RemRepository as _, REM_PURE_NEGATION_PATTERN_SHA256 as a, createRemRepository as b, RemClassifierClaims as c, RemClassifierReport as d, classifyRemRow as f, JournalEntry as g, CreateVerdictGenerationInput as h, REM_HISTORICAL_FACT_PATTERN_SHA256 as i, RemClassifierCounts as l, runVerdictClassifierEntry as m, REM_AMBIGUOUS_PATTERN_SHA256 as n, REM_TRANSITION_GRAMMAR_SHA256 as o, runRestateClassifierEntry as p, REM_CURRENT_PROGRESSIVE_PATTERN_SHA256 as r, RemClassifiedRow as s, REM_ADDITIONAL_TRANSITION_PATTERN_SHA256 as t, RemClassifierPersistence as u, VerdictGenerationRef as v, VerdictPairQueueItem as y };
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Discovery } from "./internal/contract/discovery.js";
|
|
2
|
+
import { A as HostEvent, B as UsageSignal, F as Mutation, I as RecallOptions, L as Registration, M as Inspection, N as JsonValue, P as Message, Q as ContractError, R as ScopeCtx, _ as ContractOutputs, et as DegradedReason, j as InitRegistration, n as MemoryContract, z as Turn } from "./index-DQ7VL6d3.js";
|
|
3
|
+
//#region src/contract/client.d.ts
|
|
4
|
+
export interface ConnectOptions {
|
|
5
|
+
skinId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DegradedConnection {
|
|
8
|
+
degraded: true;
|
|
9
|
+
reason: DegradedReason;
|
|
10
|
+
error?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function connect(options: ConnectOptions): Promise<MemoryClient | DegradedConnection>;
|
|
13
|
+
export declare class MemoryClient implements MemoryContract {
|
|
14
|
+
#private;
|
|
15
|
+
readonly skinId: string;
|
|
16
|
+
readonly storePath: string;
|
|
17
|
+
readonly degraded = false;
|
|
18
|
+
readonly principal: string;
|
|
19
|
+
readonly pid: number;
|
|
20
|
+
readonly port: number;
|
|
21
|
+
constructor(skinId: string, storePath: string, discovery: Discovery);
|
|
22
|
+
private request;
|
|
23
|
+
init(scope: ScopeCtx, registration: InitRegistration): Promise<ContractOutputs["init"]>;
|
|
24
|
+
hostEvent(event: HostEvent, scope: ScopeCtx): Promise<ContractOutputs["hostEvent"]>;
|
|
25
|
+
getRecall(query: string, scope: ScopeCtx, options: RecallOptions, signal?: AbortSignal): Promise<ContractOutputs["getRecall"]>;
|
|
26
|
+
capture(turn: Turn, scope: ScopeCtx): Promise<ContractOutputs["capture"]>;
|
|
27
|
+
mutate(op: Mutation, scope: ScopeCtx): Promise<ContractOutputs["mutate"]>;
|
|
28
|
+
inspect(op: Inspection, scope: ScopeCtx): Promise<ContractOutputs["inspect"]>;
|
|
29
|
+
recordUsage(recallId: string, signal: UsageSignal, scope: ScopeCtx): Promise<ContractOutputs["recordUsage"]>;
|
|
30
|
+
onSessionEnd(messages: Message[], scope: ScopeCtx): Promise<ContractOutputs["onSessionEnd"]>;
|
|
31
|
+
staticBlock(scope: ScopeCtx): Promise<ContractOutputs["staticBlock"]>;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { ContractError, type ContractOutputs, type HostEvent, type InitRegistration, type Inspection, type JsonValue, type MemoryContract, type Message, type Mutation, type RecallOptions, type Registration, type ScopeCtx, type Turn, type UsageSignal };
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { n as DEGRADED_REASONS, t as ContractError } from "./error-D-wb-rZw.js";
|
|
2
|
+
import { r as outputSchemas } from "./results-C3ZLroMb.js";
|
|
3
|
+
import { MEMORY_ROUTES, MEMORY_SKIN_HEADER, MEMORY_START_TIMEOUT_MS } from "./internal/contract/routes.js";
|
|
4
|
+
import { getPrincipal, getSettingsPath, getSnoStationMemStateDir, getStartupLogPath } from "./internal/contract/profile.js";
|
|
5
|
+
import { checkDiscovery, processAlive, readDiscovery } from "./internal/contract/discovery.js";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { mkdir, open } from "node:fs/promises";
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { request } from "node:http";
|
|
10
|
+
import { spawn } from "node:child_process";
|
|
11
|
+
import { setTimeout } from "node:timers/promises";
|
|
12
|
+
//#region src/contract/start.ts
|
|
13
|
+
async function startSidecar(memoryPackage) {
|
|
14
|
+
const current = await readDiscovery();
|
|
15
|
+
if (current && processAlive(current.pid)) {
|
|
16
|
+
const deadline = Date.now() + MEMORY_START_TIMEOUT_MS;
|
|
17
|
+
while (Date.now() < deadline) {
|
|
18
|
+
if (await checkDiscovery(current).then(() => true, () => false)) return current;
|
|
19
|
+
await setTimeout(Math.min(250, Math.max(0, deadline - Date.now())));
|
|
20
|
+
}
|
|
21
|
+
throw new ContractError("sidecar-unresponsive");
|
|
22
|
+
}
|
|
23
|
+
await mkdir(getSnoStationMemStateDir(), {
|
|
24
|
+
recursive: true,
|
|
25
|
+
mode: 448
|
|
26
|
+
});
|
|
27
|
+
const log = await open(getStartupLogPath(), "a", 384);
|
|
28
|
+
let failed = false;
|
|
29
|
+
try {
|
|
30
|
+
const entry = join(memoryPackage.path, "dist", "sidecar", "main.js");
|
|
31
|
+
const child = spawn(memoryPackage.node, [entry], {
|
|
32
|
+
detached: true,
|
|
33
|
+
stdio: [
|
|
34
|
+
"ignore",
|
|
35
|
+
log.fd,
|
|
36
|
+
log.fd
|
|
37
|
+
],
|
|
38
|
+
env: process.env
|
|
39
|
+
});
|
|
40
|
+
child.once("error", () => {
|
|
41
|
+
failed = true;
|
|
42
|
+
});
|
|
43
|
+
child.once("exit", (code) => {
|
|
44
|
+
if (code !== 0) failed = true;
|
|
45
|
+
});
|
|
46
|
+
child.unref();
|
|
47
|
+
} finally {
|
|
48
|
+
await log.close();
|
|
49
|
+
}
|
|
50
|
+
const deadline = Date.now() + MEMORY_START_TIMEOUT_MS;
|
|
51
|
+
while (Date.now() < deadline) {
|
|
52
|
+
const discovery = await readDiscovery();
|
|
53
|
+
if (discovery && processAlive(discovery.pid)) {
|
|
54
|
+
await checkDiscovery(discovery);
|
|
55
|
+
return discovery;
|
|
56
|
+
}
|
|
57
|
+
if (failed) throw new ContractError("storage-unavailable");
|
|
58
|
+
await setTimeout(50);
|
|
59
|
+
}
|
|
60
|
+
throw new ContractError("sidecar-unreachable");
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/contract/client.ts
|
|
64
|
+
function clientSettings() {
|
|
65
|
+
const path = getSettingsPath();
|
|
66
|
+
let value;
|
|
67
|
+
try {
|
|
68
|
+
value = JSON.parse(readFileSync(path, "utf8"));
|
|
69
|
+
} catch {
|
|
70
|
+
throw new ContractError("storage-unavailable", `settings unavailable: ${path}: file; see https://github.com/sno-ai/sno-station/blob/main/docs/memory-setup.md`);
|
|
71
|
+
}
|
|
72
|
+
const record = value && typeof value === "object" ? value : {};
|
|
73
|
+
const memoryPackage = record.memoryPackage && typeof record.memoryPackage === "object" ? record.memoryPackage : {};
|
|
74
|
+
for (const field of ["path", "node"]) if (typeof memoryPackage[field] !== "string" || !memoryPackage[field]) throw new ContractError("storage-unavailable", `settings unavailable: ${path}: memoryPackage.${field}; see https://github.com/sno-ai/sno-station/blob/main/docs/memory-setup.md`);
|
|
75
|
+
const store = record.store && typeof record.store === "object" ? record.store : {};
|
|
76
|
+
return {
|
|
77
|
+
storePath: typeof store.path === "string" ? store.path : "",
|
|
78
|
+
memoryPackage
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function failureReason(error) {
|
|
82
|
+
if (error instanceof ContractError) return error.reason;
|
|
83
|
+
if (error instanceof Error && (error.name === "TimeoutError" || error.name === "AbortError")) return "timeout";
|
|
84
|
+
return "sidecar-unreachable";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Plain node:http instead of fetch: undici's default dispatcher cuts headers and body at
|
|
88
|
+
* 300 s, silently under the 900 s route budgets; here the route deadline is the only clock.
|
|
89
|
+
*/
|
|
90
|
+
function postJson(port, path, headers, body, signal) {
|
|
91
|
+
return new Promise((resolve, reject) => {
|
|
92
|
+
const request$1 = request({
|
|
93
|
+
host: "127.0.0.1",
|
|
94
|
+
port,
|
|
95
|
+
path,
|
|
96
|
+
method: "POST",
|
|
97
|
+
signal,
|
|
98
|
+
headers: {
|
|
99
|
+
...headers,
|
|
100
|
+
"Content-Length": Buffer.byteLength(body)
|
|
101
|
+
}
|
|
102
|
+
}, (response) => {
|
|
103
|
+
const chunks = [];
|
|
104
|
+
response.on("data", (chunk) => chunks.push(chunk));
|
|
105
|
+
response.on("error", reject);
|
|
106
|
+
response.on("end", () => {
|
|
107
|
+
const status = response.statusCode ?? 0;
|
|
108
|
+
try {
|
|
109
|
+
resolve({
|
|
110
|
+
ok: status >= 200 && status < 300,
|
|
111
|
+
body: JSON.parse(Buffer.concat(chunks).toString("utf8"))
|
|
112
|
+
});
|
|
113
|
+
} catch (error) {
|
|
114
|
+
reject(error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
request$1.on("error", reject);
|
|
119
|
+
request$1.end(body);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function responseError(body) {
|
|
123
|
+
if (body && typeof body === "object" && "reason" in body) {
|
|
124
|
+
const reason = DEGRADED_REASONS.find((value) => value === body.reason);
|
|
125
|
+
if (reason) return new ContractError(reason, "error" in body && typeof body.error === "string" ? body.error : reason);
|
|
126
|
+
if (typeof body.reason === "string") return new ContractError("engine-failed", body.reason);
|
|
127
|
+
}
|
|
128
|
+
return new ContractError("engine-failed");
|
|
129
|
+
}
|
|
130
|
+
async function connect(options) {
|
|
131
|
+
try {
|
|
132
|
+
const { storePath, memoryPackage } = clientSettings();
|
|
133
|
+
let discovery = await readDiscovery();
|
|
134
|
+
if (discovery) try {
|
|
135
|
+
await checkDiscovery(discovery);
|
|
136
|
+
} catch (error) {
|
|
137
|
+
if (error instanceof ContractError && error.message.startsWith("settings unavailable:")) throw error;
|
|
138
|
+
discovery = void 0;
|
|
139
|
+
}
|
|
140
|
+
if (!discovery) discovery = await startSidecar(memoryPackage);
|
|
141
|
+
if (!discovery) throw new ContractError("sidecar-unreachable");
|
|
142
|
+
await checkDiscovery(discovery);
|
|
143
|
+
return new MemoryClient(options.skinId, storePath, discovery);
|
|
144
|
+
} catch (error) {
|
|
145
|
+
return {
|
|
146
|
+
degraded: true,
|
|
147
|
+
reason: failureReason(error),
|
|
148
|
+
...error instanceof Error && { error: error.message }
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
var MemoryClient = class {
|
|
153
|
+
skinId;
|
|
154
|
+
storePath;
|
|
155
|
+
degraded = false;
|
|
156
|
+
principal = getPrincipal();
|
|
157
|
+
pid;
|
|
158
|
+
port;
|
|
159
|
+
#registration;
|
|
160
|
+
#registeredPid;
|
|
161
|
+
constructor(skinId, storePath, discovery) {
|
|
162
|
+
this.skinId = skinId;
|
|
163
|
+
this.storePath = storePath;
|
|
164
|
+
this.pid = discovery.pid;
|
|
165
|
+
this.port = discovery.port;
|
|
166
|
+
}
|
|
167
|
+
async request(method, input, signal) {
|
|
168
|
+
const route = MEMORY_ROUTES[method];
|
|
169
|
+
try {
|
|
170
|
+
signal?.throwIfAborted();
|
|
171
|
+
let discovery = await readDiscovery();
|
|
172
|
+
if (!discovery || !processAlive(discovery.pid)) {
|
|
173
|
+
const { memoryPackage } = clientSettings();
|
|
174
|
+
discovery = await startSidecar(memoryPackage);
|
|
175
|
+
}
|
|
176
|
+
if (method !== "init" && this.#registration && this.#registeredPid !== discovery.pid) await this.request("init", this.#registration, signal);
|
|
177
|
+
const response = await postJson(discovery.port, route.path, {
|
|
178
|
+
"Content-Type": "application/json",
|
|
179
|
+
[MEMORY_SKIN_HEADER]: this.skinId
|
|
180
|
+
}, JSON.stringify({
|
|
181
|
+
...input,
|
|
182
|
+
scope: {
|
|
183
|
+
...input.scope,
|
|
184
|
+
principal: this.principal
|
|
185
|
+
}
|
|
186
|
+
}), signal ? AbortSignal.any([signal, AbortSignal.timeout(route.timeoutMs)]) : AbortSignal.timeout(route.timeoutMs));
|
|
187
|
+
const body = response.body;
|
|
188
|
+
if (!response.ok) throw responseError(body);
|
|
189
|
+
const parsed = outputSchemas[method].safeParse(body);
|
|
190
|
+
if (!parsed.success) throw new ContractError("engine-failed");
|
|
191
|
+
if (parsed.data.degraded) throw new ContractError(parsed.data.reason, parsed.data.error ?? parsed.data.reason);
|
|
192
|
+
if (method === "init") this.#registeredPid = discovery.pid;
|
|
193
|
+
return parsed.data;
|
|
194
|
+
} catch (error) {
|
|
195
|
+
throw error instanceof ContractError ? error : new ContractError(failureReason(error));
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
init(scope, registration) {
|
|
199
|
+
this.#registration = {
|
|
200
|
+
scope,
|
|
201
|
+
registration
|
|
202
|
+
};
|
|
203
|
+
return this.request("init", {
|
|
204
|
+
scope,
|
|
205
|
+
registration
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
hostEvent(event, scope) {
|
|
209
|
+
return this.request("hostEvent", {
|
|
210
|
+
scope,
|
|
211
|
+
event
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
async getRecall(query, scope, options, signal) {
|
|
215
|
+
try {
|
|
216
|
+
return await this.request("getRecall", {
|
|
217
|
+
query,
|
|
218
|
+
scope,
|
|
219
|
+
options
|
|
220
|
+
}, signal);
|
|
221
|
+
} catch (error) {
|
|
222
|
+
return {
|
|
223
|
+
degraded: true,
|
|
224
|
+
reason: failureReason(error),
|
|
225
|
+
error: error instanceof Error ? error.message : String(error),
|
|
226
|
+
recallId: "",
|
|
227
|
+
contextText: ""
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
capture(turn, scope) {
|
|
232
|
+
return this.request("capture", {
|
|
233
|
+
turn,
|
|
234
|
+
scope
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
mutate(op, scope) {
|
|
238
|
+
return this.request("mutate", {
|
|
239
|
+
op,
|
|
240
|
+
scope
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
async inspect(op, scope) {
|
|
244
|
+
try {
|
|
245
|
+
return await this.request("inspect", {
|
|
246
|
+
op,
|
|
247
|
+
scope
|
|
248
|
+
});
|
|
249
|
+
} catch (error) {
|
|
250
|
+
let result;
|
|
251
|
+
if (op.op === "storage") result = {
|
|
252
|
+
op: "storage",
|
|
253
|
+
dimension: null,
|
|
254
|
+
failed: true
|
|
255
|
+
};
|
|
256
|
+
else if (op.op === "stats") result = {
|
|
257
|
+
op: "stats",
|
|
258
|
+
total: 0,
|
|
259
|
+
projectBreakdown: {},
|
|
260
|
+
categoryBreakdown: {}
|
|
261
|
+
};
|
|
262
|
+
else if (op.op === "get") result = {
|
|
263
|
+
op: "get",
|
|
264
|
+
entry: null
|
|
265
|
+
};
|
|
266
|
+
else result = {
|
|
267
|
+
op: op.op,
|
|
268
|
+
project: scope.project,
|
|
269
|
+
entries: []
|
|
270
|
+
};
|
|
271
|
+
return {
|
|
272
|
+
degraded: true,
|
|
273
|
+
reason: failureReason(error),
|
|
274
|
+
error: error instanceof Error ? error.message : String(error),
|
|
275
|
+
result
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
recordUsage(recallId, signal, scope) {
|
|
280
|
+
return this.request("recordUsage", {
|
|
281
|
+
recallId,
|
|
282
|
+
signal,
|
|
283
|
+
scope
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
onSessionEnd(messages, scope) {
|
|
287
|
+
return this.request("onSessionEnd", {
|
|
288
|
+
messages,
|
|
289
|
+
scope
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
async staticBlock(scope) {
|
|
293
|
+
try {
|
|
294
|
+
return await this.request("staticBlock", { scope });
|
|
295
|
+
} catch (error) {
|
|
296
|
+
return {
|
|
297
|
+
degraded: true,
|
|
298
|
+
reason: failureReason(error),
|
|
299
|
+
contextText: ""
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
//#endregion
|
|
305
|
+
export { ContractError, MemoryClient, connect };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ObserveLedgerRow, appendObserveLedgerRows } from "./internal/engine/telemetry/observe-ledger.js";
|
|
2
|
+
import { SKILL_CATEGORIES, skillVersionFor } from "./internal/config/skill-categories.js";
|
|
3
|
+
import { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH } from "./internal/config/skin-defaults.js";
|
|
4
|
+
//#region config/coding-skin.d.ts
|
|
5
|
+
export declare const CODING_SKIN_CHILD_DEADLINE_MS = 11e4;
|
|
6
|
+
export declare const CODING_SKIN_WORKER_LIFETIME_MS: number;
|
|
7
|
+
export declare const CODING_SKIN_RETRY_DELAYS_MS: readonly [2_000, 10_000];
|
|
8
|
+
export declare const CODING_SKIN_MAX_ATTEMPTS = 3;
|
|
9
|
+
export declare const CODING_SKIN_IMPORT_INTERVAL_MS = 2010;
|
|
10
|
+
export declare const CODING_SKIN_CHILD_MAX_BUFFER_BYTES: number;
|
|
11
|
+
export declare const CODING_SKIN_MANUAL_SESSION_ID = "manual";
|
|
12
|
+
export declare const CODING_SKIN_SESSION_QUERY = "standing decisions, open tasks, conventions and known pitfalls for this repository";
|
|
13
|
+
export declare const CODING_SKIN_LEDGER_MAX_CHARS = 12e3;
|
|
14
|
+
export declare const CODING_SKIN_RECALL_SENTENCE_MAX_CHARS = 200;
|
|
15
|
+
export declare const CODING_SKIN_RECALL_ITEM_MAX_CHARS = 240;
|
|
16
|
+
export declare const CODING_SKIN_HOOKS: {
|
|
17
|
+
readonly SessionStart: {
|
|
18
|
+
readonly eventName: "session_start";
|
|
19
|
+
readonly subcommand: "session-start";
|
|
20
|
+
readonly timeout: 15;
|
|
21
|
+
};
|
|
22
|
+
readonly UserPromptSubmit: {
|
|
23
|
+
readonly eventName: "user_prompt_submit";
|
|
24
|
+
readonly subcommand: "user-prompt-submit";
|
|
25
|
+
readonly timeout: 8;
|
|
26
|
+
};
|
|
27
|
+
readonly Stop: {
|
|
28
|
+
readonly eventName: "stop";
|
|
29
|
+
readonly subcommand: "stop";
|
|
30
|
+
readonly timeout: 5;
|
|
31
|
+
};
|
|
32
|
+
readonly SessionEnd: {
|
|
33
|
+
readonly eventName: "session_end";
|
|
34
|
+
readonly subcommand: "session-end";
|
|
35
|
+
readonly timeout: 8;
|
|
36
|
+
};
|
|
37
|
+
readonly PreToolUse: {
|
|
38
|
+
readonly eventName: "pre_tool_use";
|
|
39
|
+
readonly subcommand: "pre-tool-use";
|
|
40
|
+
readonly timeout: 5;
|
|
41
|
+
};
|
|
42
|
+
readonly PostToolUse: {
|
|
43
|
+
readonly eventName: "post_tool_use";
|
|
44
|
+
readonly subcommand: "post-tool-use";
|
|
45
|
+
readonly timeout: 8;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export type CodingSkinHookName = keyof typeof CODING_SKIN_HOOKS;
|
|
49
|
+
export declare const CODING_SKIN_MODEL_COMMANDS: readonly ["recall", "get", "remember", "correct"];
|
|
50
|
+
//#endregion
|
|
51
|
+
export { HOST_MODEL_CALLBACK_HOST, HOST_MODEL_CALLBACK_PATH, type ObserveLedgerRow, SKILL_CATEGORIES, appendObserveLedgerRows, skillVersionFor };
|