@elizaos/shared 2.0.0-beta.1 → 2.0.3-beta.3
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/api/agent-api-types.d.ts +210 -0
- package/api/agent-api-types.d.ts.map +1 -0
- package/api/agent-api-types.js +11 -0
- package/api/agent-api-types.js.map +1 -0
- package/api/http-helpers.d.ts +3 -0
- package/api/http-helpers.d.ts.map +1 -0
- package/api/http-helpers.js +2 -0
- package/api/http-helpers.js.map +1 -0
- package/api/route-helpers.d.ts +2 -0
- package/api/route-helpers.d.ts.map +1 -0
- package/app-hero-art.d.ts.map +1 -0
- package/app-hero-art.js +344 -0
- package/app-hero-art.js.map +1 -0
- package/brand/index.d.ts +130 -0
- package/brand/index.d.ts.map +1 -0
- package/brand/index.js +126 -0
- package/brand/index.js.map +1 -0
- package/brand-classic/index.d.ts +158 -0
- package/brand-classic/index.d.ts.map +1 -0
- package/brand-classic/index.js +91 -0
- package/brand-classic/index.js.map +1 -0
- package/character-language.d.ts +16 -0
- package/character-language.d.ts.map +1 -0
- package/character-language.js +58 -0
- package/character-language.js.map +1 -0
- package/character-presets.characters.d.ts +22 -0
- package/character-presets.characters.d.ts.map +1 -0
- package/character-presets.characters.js +2617 -0
- package/character-presets.characters.js.map +1 -0
- package/character-presets.d.ts +42 -0
- package/character-presets.d.ts.map +1 -0
- package/character-presets.js +176 -0
- package/character-presets.js.map +1 -0
- package/character-presets.shared.d.ts +2 -0
- package/character-presets.shared.d.ts.map +1 -0
- package/character-presets.shared.js +8 -0
- package/character-presets.shared.js.map +1 -0
- package/checkout/index.d.ts +48 -0
- package/checkout/index.d.ts.map +1 -0
- package/checkout/index.js +59 -0
- package/checkout/index.js.map +1 -0
- package/cli/parse-duration.d.ts.map +1 -0
- package/cli/parse-duration.js +26 -0
- package/cli/parse-duration.js.map +1 -0
- package/config/allowed-hosts.js +44 -0
- package/config/allowed-hosts.js.map +1 -0
- package/config/api-key-prefix-hints.d.ts +24 -0
- package/config/api-key-prefix-hints.d.ts.map +1 -0
- package/config/api-key-prefix-hints.js +26 -0
- package/config/api-key-prefix-hints.js.map +1 -0
- package/config/app-config.d.ts +274 -0
- package/config/app-config.d.ts.map +1 -0
- package/config/app-config.js +64 -0
- package/config/app-config.js.map +1 -0
- package/config/app-manifest.d.ts.map +1 -0
- package/config/app-manifest.js +115 -0
- package/config/app-manifest.js.map +1 -0
- package/config/boot-config-store.d.ts +71 -0
- package/config/boot-config-store.d.ts.map +1 -0
- package/config/boot-config-store.js +77 -0
- package/config/boot-config-store.js.map +1 -0
- package/config/branding.d.ts +53 -0
- package/config/branding.d.ts.map +1 -0
- package/config/branding.js +23 -0
- package/config/branding.js.map +1 -0
- package/config/cloud-only.d.ts +8 -0
- package/config/cloud-only.d.ts.map +1 -0
- package/config/cloud-only.js +26 -0
- package/config/cloud-only.js.map +1 -0
- package/config/config-catalog.d.ts.map +1 -0
- package/config/config-catalog.js +719 -0
- package/config/config-catalog.js.map +1 -0
- package/config/config.js +23 -0
- package/config/config.js.map +1 -0
- package/config/distribution-profile.js +29 -0
- package/config/distribution-profile.js.map +1 -0
- package/config/env-vars.d.ts.map +1 -0
- package/config/index.d.ts +12 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +15 -0
- package/config/index.js.map +1 -0
- package/config/plugin-auto-enable-engine.js +45 -0
- package/config/plugin-auto-enable-engine.js.map +1 -0
- package/config/plugin-manifest.d.ts.map +1 -0
- package/config/plugin-manifest.js +281 -0
- package/config/plugin-manifest.js.map +1 -0
- package/config/runtime-mode.d.ts.map +1 -0
- package/config/runtime-mode.js +107 -0
- package/config/runtime-mode.js.map +1 -0
- package/config/types.agent-defaults.d.ts +388 -0
- package/config/types.agent-defaults.d.ts.map +1 -0
- package/config/types.agents.d.ts +119 -0
- package/config/types.agents.d.ts.map +1 -0
- package/config/types.eliza.d.ts +689 -0
- package/config/types.eliza.d.ts.map +1 -0
- package/config/types.messages.d.ts +176 -0
- package/config/types.messages.d.ts.map +1 -0
- package/config/types.tools.d.ts +400 -0
- package/config/types.tools.d.ts.map +1 -0
- package/config/ui-spec.d.ts +164 -0
- package/config/ui-spec.d.ts.map +1 -0
- package/config/zod-schema.agent-runtime.d.ts +1087 -0
- package/config/zod-schema.core.d.ts +1048 -0
- package/connectors.d.ts +5 -0
- package/connectors.d.ts.map +1 -0
- package/connectors.js +73 -0
- package/connectors.js.map +1 -0
- package/contracts/agent-routes.d.ts +63 -0
- package/contracts/agent-routes.d.ts.map +1 -0
- package/contracts/agent-routes.js +55 -0
- package/contracts/agent-routes.js.map +1 -0
- package/contracts/app-permissions-routes.d.ts +148 -0
- package/contracts/app-permissions-routes.d.ts.map +1 -0
- package/contracts/app-permissions-routes.js +96 -0
- package/contracts/app-permissions-routes.js.map +1 -0
- package/contracts/app-permissions.d.ts +122 -0
- package/contracts/app-permissions.d.ts.map +1 -0
- package/contracts/app-permissions.js +163 -0
- package/contracts/app-permissions.js.map +1 -0
- package/contracts/apps-favorites-routes.d.ts +44 -0
- package/contracts/apps-favorites-routes.d.ts.map +1 -0
- package/contracts/apps-favorites-routes.js +48 -0
- package/contracts/apps-favorites-routes.js.map +1 -0
- package/contracts/apps-lifecycle-routes.d.ts +185 -0
- package/contracts/apps-lifecycle-routes.d.ts.map +1 -0
- package/contracts/apps-lifecycle-routes.js +204 -0
- package/contracts/apps-lifecycle-routes.js.map +1 -0
- package/contracts/apps-loading-routes.d.ts +64 -0
- package/contracts/apps-loading-routes.d.ts.map +1 -0
- package/contracts/apps-loading-routes.js +65 -0
- package/contracts/apps-loading-routes.js.map +1 -0
- package/contracts/apps-runs-routes.d.ts +33 -0
- package/contracts/apps-runs-routes.d.ts.map +1 -0
- package/contracts/apps-runs-routes.js +38 -0
- package/contracts/apps-runs-routes.js.map +1 -0
- package/contracts/apps.d.ts +1159 -0
- package/contracts/apps.d.ts.map +1 -0
- package/contracts/apps.js +400 -0
- package/contracts/apps.js.map +1 -0
- package/contracts/auth-routes.d.ts +23 -0
- package/contracts/auth-routes.d.ts.map +1 -0
- package/contracts/auth-routes.js +25 -0
- package/contracts/auth-routes.js.map +1 -0
- package/contracts/calendar.d.ts +181 -0
- package/contracts/calendar.d.ts.map +1 -0
- package/contracts/calendar.js +19 -0
- package/contracts/calendar.js.map +1 -0
- package/contracts/character-routes.d.ts +70 -0
- package/contracts/character-routes.d.ts.map +1 -0
- package/contracts/character-routes.js +49 -0
- package/contracts/character-routes.js.map +1 -0
- package/contracts/cloud-coding-containers.d.ts +432 -0
- package/contracts/cloud-coding-containers.d.ts.map +1 -0
- package/contracts/cloud-coding-containers.js +135 -0
- package/contracts/cloud-coding-containers.js.map +1 -0
- package/contracts/cloud-topology.js +72 -0
- package/contracts/cloud-topology.js.map +1 -0
- package/contracts/connector-routes.d.ts +39 -0
- package/contracts/connector-routes.d.ts.map +1 -0
- package/contracts/connector-routes.js +50 -0
- package/contracts/connector-routes.js.map +1 -0
- package/contracts/content-pack.d.ts +131 -0
- package/contracts/content-pack.d.ts.map +1 -0
- package/contracts/content-pack.js +103 -0
- package/contracts/conversation-routes.d.ts +191 -0
- package/contracts/conversation-routes.d.ts.map +1 -0
- package/contracts/conversation-routes.js +106 -0
- package/contracts/conversation-routes.js.map +1 -0
- package/contracts/diagnostics-routes.d.ts +33 -0
- package/contracts/diagnostics-routes.d.ts.map +1 -0
- package/contracts/diagnostics-routes.js +26 -0
- package/contracts/diagnostics-routes.js.map +1 -0
- package/contracts/first-run-options.d.ts +531 -0
- package/contracts/first-run-options.d.ts.map +1 -0
- package/contracts/first-run-options.js +1186 -0
- package/contracts/first-run-options.js.map +1 -0
- package/contracts/first-run-routes.d.ts +167 -0
- package/contracts/first-run-routes.d.ts.map +1 -0
- package/contracts/first-run-routes.js +115 -0
- package/contracts/first-run-routes.js.map +1 -0
- package/contracts/health.d.ts +30 -0
- package/contracts/health.d.ts.map +1 -0
- package/contracts/health.js +29 -0
- package/contracts/health.js.map +1 -0
- package/contracts/inbox-routes.d.ts +37 -0
- package/contracts/inbox-routes.d.ts.map +1 -0
- package/contracts/inbox-routes.js +44 -0
- package/contracts/inbox-routes.js.map +1 -0
- package/contracts/index.d.ts +42 -0
- package/contracts/index.d.ts.map +1 -0
- package/contracts/index.js +42 -0
- package/contracts/index.js.map +1 -0
- package/contracts/memory-routes.d.ts +27 -0
- package/contracts/memory-routes.d.ts.map +1 -0
- package/contracts/memory-routes.js +23 -0
- package/contracts/memory-routes.js.map +1 -0
- package/contracts/misc-routes.d.ts +192 -0
- package/contracts/misc-routes.d.ts.map +1 -0
- package/contracts/misc-routes.js +155 -0
- package/contracts/misc-routes.js.map +1 -0
- package/contracts/permissions-routes.d.ts +31 -0
- package/contracts/permissions-routes.d.ts.map +1 -0
- package/contracts/permissions-routes.js +34 -0
- package/contracts/permissions-routes.js.map +1 -0
- package/contracts/permissions.d.ts +109 -0
- package/contracts/permissions.d.ts.map +1 -0
- package/contracts/permissions.js +41 -0
- package/contracts/permissions.js.map +1 -0
- package/contracts/personal-assistant.d.ts +2931 -0
- package/contracts/personal-assistant.d.ts.map +1 -0
- package/contracts/personal-assistant.js +583 -0
- package/contracts/personal-assistant.js.map +1 -0
- package/contracts/plugin-routes.d.ts +105 -0
- package/contracts/plugin-routes.d.ts.map +1 -0
- package/contracts/plugin-routes.js +81 -0
- package/contracts/plugin-routes.js.map +1 -0
- package/contracts/relationships-routes.d.ts +23 -0
- package/contracts/relationships-routes.d.ts.map +1 -0
- package/contracts/relationships-routes.js +22 -0
- package/contracts/relationships-routes.js.map +1 -0
- package/contracts/service-routing.d.ts +49 -0
- package/contracts/service-routing.d.ts.map +1 -0
- package/contracts/service-routing.js +403 -0
- package/contracts/service-routing.js.map +1 -0
- package/contracts/skills-routes.d.ts +116 -0
- package/contracts/skills-routes.d.ts.map +1 -0
- package/contracts/skills-routes.js +115 -0
- package/contracts/skills-routes.js.map +1 -0
- package/contracts/subscription-routes.d.ts +47 -0
- package/contracts/subscription-routes.d.ts.map +1 -0
- package/contracts/subscription-routes.js +50 -0
- package/contracts/subscription-routes.js.map +1 -0
- package/contracts/tail-routes.d.ts +78 -0
- package/contracts/tail-routes.d.ts.map +1 -0
- package/contracts/tail-routes.js +63 -0
- package/contracts/tail-routes.js.map +1 -0
- package/contracts/theme.d.ts +134 -0
- package/contracts/theme.d.ts.map +1 -0
- package/contracts/theme.js +132 -0
- package/contracts/theme.js.map +1 -0
- package/contracts/update-status.d.ts +100 -0
- package/contracts/update-status.d.ts.map +1 -0
- package/contracts/update-status.js +45 -0
- package/contracts/update-status.js.map +1 -0
- package/contracts/wallet-routes.d.ts +82 -0
- package/contracts/wallet-routes.d.ts.map +1 -0
- package/contracts/wallet-routes.js +49 -0
- package/contracts/wallet-routes.js.map +1 -0
- package/contracts/wallet.d.ts +57 -0
- package/contracts/wallet.d.ts.map +1 -0
- package/contracts/wallet.js +200 -0
- package/contracts/wallet.js.map +1 -0
- package/contracts/workbench-routes.d.ts +231 -0
- package/contracts/workbench-routes.d.ts.map +1 -0
- package/contracts/workbench-routes.js +183 -0
- package/contracts/workbench-routes.js.map +1 -0
- package/db/drizzle-database.d.ts +13 -0
- package/db/drizzle-database.d.ts.map +1 -0
- package/db/drizzle-database.js +2 -0
- package/db/drizzle-database.js.map +1 -0
- package/dev-settings-banner-style.d.ts +14 -0
- package/dev-settings-banner-style.js +58 -0
- package/dev-settings-banner-style.js.map +1 -0
- package/dev-settings-figlet-heading.d.ts.map +1 -0
- package/dev-settings-figlet-heading.js +49 -0
- package/dev-settings-figlet-heading.js.map +1 -0
- package/elizacloud/base-url.d.ts +6 -0
- package/elizacloud/base-url.d.ts.map +1 -0
- package/elizacloud/base-url.js +65 -0
- package/elizacloud/base-url.js.map +1 -0
- package/elizacloud/cloud-provisioning.d.ts +9 -0
- package/elizacloud/cloud-provisioning.d.ts.map +1 -0
- package/elizacloud/cloud-provisioning.js +25 -0
- package/elizacloud/cloud-provisioning.js.map +1 -0
- package/elizacloud/cloud-secrets.d.ts +23 -0
- package/elizacloud/cloud-secrets.d.ts.map +1 -0
- package/elizacloud/cloud-secrets.js +51 -0
- package/elizacloud/cloud-secrets.js.map +1 -0
- package/elizacloud/index.d.ts +6 -0
- package/elizacloud/index.d.ts.map +1 -0
- package/elizacloud/index.js +6 -0
- package/elizacloud/index.js.map +1 -0
- package/elizacloud/is-cloud-reachable.d.ts +19 -0
- package/elizacloud/is-cloud-reachable.d.ts.map +1 -0
- package/elizacloud/is-cloud-reachable.js +44 -0
- package/elizacloud/is-cloud-reachable.js.map +1 -0
- package/elizacloud/server-cloud-tts.d.ts +21 -0
- package/elizacloud/server-cloud-tts.d.ts.map +1 -0
- package/elizacloud/server-cloud-tts.js +293 -0
- package/elizacloud/server-cloud-tts.js.map +1 -0
- package/email-classification/email-classifier.d.ts +57 -0
- package/email-classification/email-classifier.d.ts.map +1 -0
- package/email-classification/email-classifier.js +348 -0
- package/email-classification/email-classifier.js.map +1 -0
- package/email-classification/index.d.ts +12 -0
- package/email-classification/index.d.ts.map +1 -0
- package/email-classification/index.js +12 -0
- package/email-classification/index.js.map +1 -0
- package/email-classification/wrap-untrusted-email-content.d.ts +15 -0
- package/email-classification/wrap-untrusted-email-content.d.ts.map +1 -0
- package/email-classification/wrap-untrusted-email-content.js +24 -0
- package/email-classification/wrap-untrusted-email-content.js.map +1 -0
- package/env-utils.d.ts +11 -0
- package/env-utils.d.ts.map +1 -0
- package/env-utils.js +11 -0
- package/env-utils.js.map +1 -0
- package/events/index.d.ts +68 -0
- package/events/index.d.ts.map +1 -0
- package/events/index.js +53 -0
- package/events/index.js.map +1 -0
- package/events.d.ts +2 -0
- package/events.d.ts.map +1 -0
- package/events.js +2 -0
- package/events.js.map +1 -0
- package/format-error.d.ts +15 -0
- package/format-error.d.ts.map +1 -0
- package/format-error.js +17 -0
- package/format-error.js.map +1 -0
- package/hardware-catalog/index.d.ts +204 -0
- package/hardware-catalog/index.d.ts.map +1 -0
- package/hardware-catalog/index.js +174 -0
- package/hardware-catalog/index.js.map +1 -0
- package/i18n/generated/validation-keyword-data.d.ts +3054 -0
- package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
- package/i18n/generated/validation-keyword-data.js +3058 -0
- package/i18n/generated/validation-keyword-data.js.map +1 -0
- package/i18n/keyword-matching.d.ts.map +1 -0
- package/i18n/keyword-matching.js +116 -0
- package/i18n/keyword-matching.js.map +1 -0
- package/index.d.ts +106 -0
- package/index.d.ts.map +1 -0
- package/index.js +139 -0
- package/index.js.map +1 -0
- package/knowledge-graph/entity-types.d.ts +135 -0
- package/knowledge-graph/entity-types.d.ts.map +1 -0
- package/knowledge-graph/entity-types.js +75 -0
- package/knowledge-graph/entity-types.js.map +1 -0
- package/knowledge-graph/index.d.ts +13 -0
- package/knowledge-graph/index.d.ts.map +1 -0
- package/knowledge-graph/index.js +13 -0
- package/knowledge-graph/index.js.map +1 -0
- package/knowledge-graph/merge.d.ts +76 -0
- package/knowledge-graph/merge.d.ts.map +1 -0
- package/knowledge-graph/merge.js +175 -0
- package/knowledge-graph/merge.js.map +1 -0
- package/knowledge-graph/relationship-types.d.ts +105 -0
- package/knowledge-graph/relationship-types.d.ts.map +1 -0
- package/knowledge-graph/relationship-types.js +114 -0
- package/knowledge-graph/relationship-types.js.map +1 -0
- package/lifeops-constants/index.d.ts +9 -0
- package/lifeops-constants/index.d.ts.map +1 -0
- package/lifeops-constants/index.js +9 -0
- package/lifeops-constants/index.js.map +1 -0
- package/lifeops-constants/service-constants.d.ts +79 -0
- package/lifeops-constants/service-constants.d.ts.map +1 -0
- package/lifeops-constants/service-constants.js +123 -0
- package/lifeops-constants/service-constants.js.map +1 -0
- package/lifeops-normalize/index.d.ts +12 -0
- package/lifeops-normalize/index.d.ts.map +1 -0
- package/lifeops-normalize/index.js +12 -0
- package/lifeops-normalize/index.js.map +1 -0
- package/lifeops-normalize/service-error.d.ts +14 -0
- package/lifeops-normalize/service-error.d.ts.map +1 -0
- package/lifeops-normalize/service-error.js +19 -0
- package/lifeops-normalize/service-error.js.map +1 -0
- package/lifeops-normalize/service-normalize.d.ts +38 -0
- package/lifeops-normalize/service-normalize.d.ts.map +1 -0
- package/lifeops-normalize/service-normalize.js +205 -0
- package/lifeops-normalize/service-normalize.js.map +1 -0
- package/lifeops-normalize/time-zone.d.ts +12 -0
- package/lifeops-normalize/time-zone.d.ts.map +1 -0
- package/lifeops-normalize/time-zone.js +29 -0
- package/lifeops-normalize/time-zone.js.map +1 -0
- package/local-inference/catalog.d.ts +122 -0
- package/local-inference/catalog.d.ts.map +1 -0
- package/local-inference/catalog.js +534 -0
- package/local-inference/catalog.js.map +1 -0
- package/local-inference/device-fit.d.ts +73 -0
- package/local-inference/device-fit.d.ts.map +1 -0
- package/local-inference/device-fit.js +155 -0
- package/local-inference/device-fit.js.map +1 -0
- package/local-inference/gpu-profiles.d.ts +110 -0
- package/local-inference/gpu-profiles.d.ts.map +1 -0
- package/local-inference/gpu-profiles.js +191 -0
- package/local-inference/gpu-profiles.js.map +1 -0
- package/local-inference/hf-proxy.d.ts +43 -0
- package/local-inference/hf-proxy.d.ts.map +1 -0
- package/local-inference/hf-proxy.js +50 -0
- package/local-inference/hf-proxy.js.map +1 -0
- package/local-inference/hub-auth.d.ts +26 -0
- package/local-inference/hub-auth.d.ts.map +1 -0
- package/local-inference/hub-auth.js +48 -0
- package/local-inference/hub-auth.js.map +1 -0
- package/local-inference/index.d.ts +26 -0
- package/local-inference/index.d.ts.map +1 -0
- package/local-inference/index.js +23 -0
- package/local-inference/index.js.map +1 -0
- package/local-inference/manifest-signature.d.ts +61 -0
- package/local-inference/manifest-signature.d.ts.map +1 -0
- package/local-inference/manifest-signature.js +129 -0
- package/local-inference/manifest-signature.js.map +1 -0
- package/local-inference/network-policy.d.ts +115 -0
- package/local-inference/network-policy.d.ts.map +1 -0
- package/local-inference/network-policy.js +154 -0
- package/local-inference/network-policy.js.map +1 -0
- package/local-inference/paths.d.ts +24 -0
- package/local-inference/paths.js +40 -0
- package/local-inference/providers-types.d.ts +56 -0
- package/local-inference/providers-types.d.ts.map +1 -0
- package/local-inference/providers-types.js +19 -0
- package/local-inference/providers-types.js.map +1 -0
- package/local-inference/routing-preferences.d.ts +42 -0
- package/local-inference/routing-preferences.d.ts.map +1 -0
- package/local-inference/routing-preferences.js +96 -0
- package/local-inference/routing-preferences.js.map +1 -0
- package/local-inference/runtime-class.d.ts +29 -0
- package/local-inference/runtime-class.d.ts.map +1 -0
- package/local-inference/runtime-class.js +30 -0
- package/local-inference/runtime-class.js.map +1 -0
- package/local-inference/throughput.d.ts +74 -0
- package/local-inference/throughput.d.ts.map +1 -0
- package/local-inference/throughput.js +84 -0
- package/local-inference/throughput.js.map +1 -0
- package/local-inference/types.d.ts +548 -0
- package/local-inference/types.d.ts.map +1 -0
- package/local-inference/types.js +22 -0
- package/local-inference/types.js.map +1 -0
- package/local-inference/voice-models.d.ts +156 -0
- package/local-inference/voice-models.d.ts.map +1 -0
- package/local-inference/voice-models.js +769 -0
- package/local-inference/voice-models.js.map +1 -0
- package/local-inference-gpu/gpu-overrides.d.ts +97 -0
- package/local-inference-gpu/gpu-overrides.d.ts.map +1 -0
- package/local-inference-gpu/gpu-overrides.js +76 -0
- package/local-inference-gpu/gpu-overrides.js.map +1 -0
- package/local-inference-gpu/gpu-profile-loader.d.ts +83 -0
- package/local-inference-gpu/gpu-profile-loader.d.ts.map +1 -0
- package/local-inference-gpu/gpu-profile-loader.js +196 -0
- package/local-inference-gpu/gpu-profile-loader.js.map +1 -0
- package/local-inference-gpu/gpu-profile-schema.d.ts +208 -0
- package/local-inference-gpu/gpu-profile-schema.d.ts.map +1 -0
- package/local-inference-gpu/gpu-profile-schema.js +123 -0
- package/local-inference-gpu/gpu-profile-schema.js.map +1 -0
- package/local-inference-gpu/gpu-tier-detect.d.ts +61 -0
- package/local-inference-gpu/gpu-tier-detect.d.ts.map +1 -0
- package/local-inference-gpu/gpu-tier-detect.js +93 -0
- package/local-inference-gpu/gpu-tier-detect.js.map +1 -0
- package/local-inference-gpu/gpu-tier-profiles.d.ts +110 -0
- package/local-inference-gpu/gpu-tier-profiles.d.ts.map +1 -0
- package/local-inference-gpu/gpu-tier-profiles.js +235 -0
- package/local-inference-gpu/gpu-tier-profiles.js.map +1 -0
- package/loopback-trust.d.ts +73 -0
- package/loopback-trust.d.ts.map +1 -0
- package/loopback-trust.js +241 -0
- package/loopback-trust.js.map +1 -0
- package/package.json +208 -30
- package/restart.d.ts +28 -0
- package/restart.d.ts.map +1 -0
- package/restart.js +30 -0
- package/restart.js.map +1 -0
- package/runtime-env.d.ts +84 -0
- package/runtime-env.d.ts.map +1 -0
- package/runtime-env.js +270 -0
- package/runtime-env.js.map +1 -0
- package/self-edit.d.ts +64 -0
- package/self-edit.d.ts.map +1 -0
- package/self-edit.js +133 -0
- package/self-edit.js.map +1 -0
- package/settings-debug.d.ts +9 -0
- package/settings-debug.d.ts.map +1 -0
- package/settings-debug.js +9 -0
- package/settings-debug.js.map +1 -0
- package/spoken-text.d.ts.map +1 -0
- package/spoken-text.js +58 -0
- package/spoken-text.js.map +1 -0
- package/steward-session-client/index.d.ts +150 -0
- package/steward-session-client/index.d.ts.map +1 -0
- package/steward-session-client/index.js +192 -0
- package/steward-session-client/index.js.map +1 -0
- package/steward-session-client/steward-oauth-pkce.d.ts +24 -0
- package/steward-session-client/steward-oauth-pkce.d.ts.map +1 -0
- package/steward-session-client/steward-oauth-pkce.js +105 -0
- package/steward-session-client/steward-oauth-pkce.js.map +1 -0
- package/test-env-config.d.ts +81 -0
- package/test-env-config.d.ts.map +1 -0
- package/test-env-config.js +125 -0
- package/test-env-config.js.map +1 -0
- package/test-support/test-helpers.d.ts +79 -0
- package/test-support/test-helpers.d.ts.map +1 -0
- package/test-support/test-helpers.js +341 -0
- package/test-support/test-helpers.js.map +1 -0
- package/transcripts.d.ts +141 -0
- package/transcripts.d.ts.map +1 -0
- package/transcripts.js +162 -0
- package/transcripts.js.map +1 -0
- package/type-guards.d.ts +7 -0
- package/type-guards.d.ts.map +1 -0
- package/type-guards.js +27 -0
- package/type-guards.js.map +1 -0
- package/types/index.d.ts +654 -0
- package/types/index.d.ts.map +1 -0
- package/utils/assistant-text.d.ts +13 -0
- package/utils/assistant-text.d.ts.map +1 -0
- package/utils/assistant-text.js +292 -0
- package/utils/assistant-text.js.map +1 -0
- package/utils/browser-tab-kit-types.d.ts +81 -0
- package/utils/browser-tab-kit-types.js +23 -0
- package/utils/browser-tabs-renderer-registry.d.ts +56 -0
- package/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
- package/utils/browser-tabs-renderer-registry.js +1282 -0
- package/utils/browser-tabs-renderer-registry.js.map +1 -0
- package/utils/documents-upload-image.js +147 -0
- package/utils/documents-upload-image.js.map +1 -0
- package/utils/env.d.ts +35 -0
- package/utils/env.d.ts.map +1 -0
- package/utils/env.js +133 -0
- package/utils/env.js.map +1 -0
- package/utils/errors.d.ts +14 -0
- package/utils/errors.d.ts.map +1 -0
- package/utils/errors.js +23 -0
- package/utils/errors.js.map +1 -0
- package/utils/exec-safety.d.ts.map +1 -0
- package/utils/exec-safety.js +25 -0
- package/utils/exec-safety.js.map +1 -0
- package/utils/format.d.ts +85 -0
- package/utils/format.d.ts.map +1 -0
- package/utils/format.js +140 -0
- package/utils/format.js.map +1 -0
- package/utils/log-prefix.d.ts.map +1 -0
- package/utils/log-prefix.js +44 -0
- package/utils/log-prefix.js.map +1 -0
- package/utils/name-tokens.d.ts +24 -0
- package/utils/name-tokens.js +37 -0
- package/utils/namespace-defaults.d.ts +10 -0
- package/utils/namespace-defaults.d.ts.map +1 -0
- package/utils/namespace-defaults.js +17 -0
- package/utils/namespace-defaults.js.map +1 -0
- package/utils/number-parsing.d.ts.map +1 -0
- package/utils/number-parsing.js +57 -0
- package/utils/number-parsing.js.map +1 -0
- package/utils/permission-deep-links.d.ts +35 -0
- package/utils/permission-deep-links.d.ts.map +1 -0
- package/utils/permission-deep-links.js +95 -0
- package/utils/permission-deep-links.js.map +1 -0
- package/utils/serialise.js +22 -0
- package/utils/serialise.js.map +1 -0
- package/utils/sql-compat.js +112 -0
- package/utils/sql-compat.js.map +1 -0
- package/utils/streaming-text.d.ts +9 -0
- package/utils/streaming-text.d.ts.map +1 -0
- package/utils/streaming-text.js +116 -0
- package/utils/streaming-text.js.map +1 -0
- package/utils/string-hash.d.ts +11 -0
- package/utils/string-hash.d.ts.map +1 -0
- package/utils/string-hash.js +17 -0
- package/utils/string-hash.js.map +1 -0
- package/utils/tts-debug.d.ts +10 -0
- package/utils/tts-debug.d.ts.map +1 -0
- package/utils/tts-debug.js +73 -0
- package/utils/tts-debug.js.map +1 -0
- package/view-hero-art.d.ts +75 -0
- package/view-hero-art.d.ts.map +1 -0
- package/view-hero-art.js +354 -0
- package/view-hero-art.js.map +1 -0
- package/voice/first-sentence-snip.d.ts +68 -0
- package/voice/first-sentence-snip.d.ts.map +1 -0
- package/voice/first-sentence-snip.js +284 -0
- package/voice/first-sentence-snip.js.map +1 -0
- package/voice/owner-inference.d.ts +57 -0
- package/voice/owner-inference.d.ts.map +1 -0
- package/voice/owner-inference.js +73 -0
- package/voice/owner-inference.js.map +1 -0
- package/voice/respond-gate.d.ts +88 -0
- package/voice/respond-gate.d.ts.map +1 -0
- package/voice/respond-gate.js +139 -0
- package/voice/respond-gate.js.map +1 -0
- package/voice/voice-cancellation-token.d.ts +127 -0
- package/voice/voice-cancellation-token.d.ts.map +1 -0
- package/voice/voice-cancellation-token.js +186 -0
- package/voice/voice-cancellation-token.js.map +1 -0
- package/voice-eot.d.ts +42 -0
- package/voice-eot.d.ts.map +1 -0
- package/voice-eot.js +158 -0
- package/voice-eot.js.map +1 -0
- package/voice-wer.d.ts +19 -0
- package/voice-wer.d.ts.map +1 -0
- package/voice-wer.js +42 -0
- package/voice-wer.js.map +1 -0
- package/voice.d.ts +55 -0
- package/voice.d.ts.map +1 -0
- package/voice.js +337 -0
- package/voice.js.map +1 -0
- package/dist/api/chat-contracts.d.ts +0 -2
- package/dist/api/chat-contracts.d.ts.map +0 -1
- package/dist/api/chat-contracts.js +0 -2
- package/dist/api/chat-contracts.js.map +0 -1
- package/dist/api/http-helpers.d.ts +0 -50
- package/dist/api/http-helpers.d.ts.map +0 -1
- package/dist/api/http-helpers.js +0 -168
- package/dist/api/http-helpers.js.map +0 -1
- package/dist/api/route-helpers.d.ts +0 -16
- package/dist/api/route-helpers.d.ts.map +0 -1
- package/dist/app-hero-art.d.ts.map +0 -1
- package/dist/app-hero-art.js +0 -358
- package/dist/app-hero-art.js.map +0 -1
- package/dist/cli/parse-duration.d.ts.map +0 -1
- package/dist/cli/parse-duration.js +0 -28
- package/dist/cli/parse-duration.js.map +0 -1
- package/dist/config/allowed-hosts.js +0 -44
- package/dist/config/allowed-hosts.js.map +0 -1
- package/dist/config/api-key-prefix-hints.d.ts +0 -25
- package/dist/config/api-key-prefix-hints.d.ts.map +0 -1
- package/dist/config/api-key-prefix-hints.js +0 -27
- package/dist/config/api-key-prefix-hints.js.map +0 -1
- package/dist/config/app-config.d.ts +0 -273
- package/dist/config/app-config.d.ts.map +0 -1
- package/dist/config/app-config.js +0 -32
- package/dist/config/app-config.js.map +0 -1
- package/dist/config/app-manifest.d.ts.map +0 -1
- package/dist/config/app-manifest.js +0 -109
- package/dist/config/app-manifest.js.map +0 -1
- package/dist/config/boot-config-react.d.ts +0 -5
- package/dist/config/boot-config-react.d.ts.map +0 -1
- package/dist/config/boot-config-react.js +0 -8
- package/dist/config/boot-config-react.js.map +0 -1
- package/dist/config/boot-config-store.d.ts +0 -74
- package/dist/config/boot-config-store.d.ts.map +0 -1
- package/dist/config/boot-config-store.js +0 -121
- package/dist/config/boot-config-store.js.map +0 -1
- package/dist/config/branding-react.d.ts +0 -4
- package/dist/config/branding-react.d.ts.map +0 -1
- package/dist/config/branding-react.js +0 -12
- package/dist/config/branding-react.js.map +0 -1
- package/dist/config/branding.d.ts +0 -53
- package/dist/config/branding.d.ts.map +0 -1
- package/dist/config/branding.js +0 -23
- package/dist/config/branding.js.map +0 -1
- package/dist/config/cloud-only.d.ts +0 -6
- package/dist/config/cloud-only.d.ts.map +0 -1
- package/dist/config/cloud-only.js +0 -16
- package/dist/config/cloud-only.js.map +0 -1
- package/dist/config/config-catalog.d.ts.map +0 -1
- package/dist/config/config-catalog.js +0 -710
- package/dist/config/config-catalog.js.map +0 -1
- package/dist/config/config.js +0 -23
- package/dist/config/config.js.map +0 -1
- package/dist/config/distribution-profile.js +0 -29
- package/dist/config/distribution-profile.js.map +0 -1
- package/dist/config/env-vars.d.ts.map +0 -1
- package/dist/config/index.d.ts +0 -14
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -17
- package/dist/config/index.js.map +0 -1
- package/dist/config/plugin-auto-enable-engine.js +0 -45
- package/dist/config/plugin-auto-enable-engine.js.map +0 -1
- package/dist/config/plugin-manifest.d.ts.map +0 -1
- package/dist/config/plugin-manifest.js +0 -272
- package/dist/config/plugin-manifest.js.map +0 -1
- package/dist/config/runtime-mode.d.ts.map +0 -1
- package/dist/config/runtime-mode.js +0 -103
- package/dist/config/runtime-mode.js.map +0 -1
- package/dist/config/types.agent-defaults.d.ts +0 -383
- package/dist/config/types.agent-defaults.d.ts.map +0 -1
- package/dist/config/types.agents.d.ts +0 -114
- package/dist/config/types.agents.d.ts.map +0 -1
- package/dist/config/types.eliza.d.ts +0 -689
- package/dist/config/types.eliza.d.ts.map +0 -1
- package/dist/config/types.messages.d.ts +0 -176
- package/dist/config/types.messages.d.ts.map +0 -1
- package/dist/config/types.tools.d.ts +0 -400
- package/dist/config/types.tools.d.ts.map +0 -1
- package/dist/config/ui-spec.d.ts +0 -164
- package/dist/config/ui-spec.d.ts.map +0 -1
- package/dist/config/zod-schema.agent-runtime.d.ts +0 -1087
- package/dist/config/zod-schema.core.d.ts +0 -1048
- package/dist/connectors.d.ts +0 -2
- package/dist/connectors.d.ts.map +0 -1
- package/dist/connectors.js +0 -2
- package/dist/connectors.js.map +0 -1
- package/dist/contracts/apps.d.ts +0 -279
- package/dist/contracts/apps.d.ts.map +0 -1
- package/dist/contracts/apps.js +0 -218
- package/dist/contracts/apps.js.map +0 -1
- package/dist/contracts/cloud-topology.js +0 -72
- package/dist/contracts/cloud-topology.js.map +0 -1
- package/dist/contracts/content-pack.d.ts +0 -131
- package/dist/contracts/content-pack.d.ts.map +0 -1
- package/dist/contracts/content-pack.js +0 -103
- package/dist/contracts/health.d.ts +0 -30
- package/dist/contracts/health.d.ts.map +0 -1
- package/dist/contracts/health.js +0 -29
- package/dist/contracts/health.js.map +0 -1
- package/dist/contracts/index.d.ts +0 -16
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/index.js +0 -16
- package/dist/contracts/index.js.map +0 -1
- package/dist/contracts/lifeops.d.ts +0 -3140
- package/dist/contracts/lifeops.d.ts.map +0 -1
- package/dist/contracts/lifeops.js +0 -587
- package/dist/contracts/lifeops.js.map +0 -1
- package/dist/contracts/onboarding.d.ts +0 -507
- package/dist/contracts/onboarding.d.ts.map +0 -1
- package/dist/contracts/onboarding.js +0 -1141
- package/dist/contracts/onboarding.js.map +0 -1
- package/dist/contracts/permissions.d.ts +0 -121
- package/dist/contracts/permissions.d.ts.map +0 -1
- package/dist/contracts/permissions.js +0 -31
- package/dist/contracts/permissions.js.map +0 -1
- package/dist/contracts/service-routing.d.ts +0 -155
- package/dist/contracts/service-routing.d.ts.map +0 -1
- package/dist/contracts/service-routing.js +0 -395
- package/dist/contracts/service-routing.js.map +0 -1
- package/dist/contracts/theme.d.ts +0 -136
- package/dist/contracts/theme.d.ts.map +0 -1
- package/dist/contracts/theme.js +0 -134
- package/dist/contracts/theme.js.map +0 -1
- package/dist/contracts/wallet.d.ts +0 -622
- package/dist/contracts/wallet.d.ts.map +0 -1
- package/dist/contracts/wallet.js +0 -194
- package/dist/contracts/wallet.js.map +0 -1
- package/dist/dev-settings-banner-style.d.ts +0 -14
- package/dist/dev-settings-banner-style.js +0 -58
- package/dist/dev-settings-banner-style.js.map +0 -1
- package/dist/dev-settings-figlet-heading.d.ts.map +0 -1
- package/dist/dev-settings-figlet-heading.js +0 -56
- package/dist/dev-settings-figlet-heading.js.map +0 -1
- package/dist/env-utils.d.ts +0 -2
- package/dist/env-utils.d.ts.map +0 -1
- package/dist/env-utils.js +0 -13
- package/dist/env-utils.js.map +0 -1
- package/dist/events/index.d.ts +0 -62
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -52
- package/dist/events/index.js.map +0 -1
- package/dist/format-error.d.ts +0 -14
- package/dist/format-error.d.ts.map +0 -1
- package/dist/format-error.js +0 -18
- package/dist/format-error.js.map +0 -1
- package/dist/i18n/generated/validation-keyword-data.d.ts +0 -3080
- package/dist/i18n/generated/validation-keyword-data.d.ts.map +0 -1
- package/dist/i18n/generated/validation-keyword-data.js +0 -3084
- package/dist/i18n/generated/validation-keyword-data.js.map +0 -1
- package/dist/i18n/keyword-matching.d.ts.map +0 -1
- package/dist/i18n/keyword-matching.js +0 -113
- package/dist/i18n/keyword-matching.js.map +0 -1
- package/dist/index.d.ts +0 -93
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -105
- package/dist/index.js.map +0 -1
- package/dist/local-inference/index.d.ts +0 -16
- package/dist/local-inference/index.d.ts.map +0 -1
- package/dist/local-inference/index.js +0 -16
- package/dist/local-inference/index.js.map +0 -1
- package/dist/local-inference/paths.d.ts +0 -24
- package/dist/local-inference/paths.js +0 -40
- package/dist/local-inference/routing-preferences.d.ts +0 -31
- package/dist/local-inference/routing-preferences.d.ts.map +0 -1
- package/dist/local-inference/routing-preferences.js +0 -73
- package/dist/local-inference/routing-preferences.js.map +0 -1
- package/dist/local-inference/types.d.ts +0 -62
- package/dist/local-inference/types.d.ts.map +0 -1
- package/dist/local-inference/types.js +0 -25
- package/dist/local-inference/types.js.map +0 -1
- package/dist/onboarding-presets.characters.d.ts +0 -22
- package/dist/onboarding-presets.characters.d.ts.map +0 -1
- package/dist/onboarding-presets.characters.js +0 -2617
- package/dist/onboarding-presets.characters.js.map +0 -1
- package/dist/onboarding-presets.d.ts +0 -40
- package/dist/onboarding-presets.d.ts.map +0 -1
- package/dist/onboarding-presets.js +0 -181
- package/dist/onboarding-presets.js.map +0 -1
- package/dist/onboarding-presets.shared.d.ts +0 -2
- package/dist/onboarding-presets.shared.d.ts.map +0 -1
- package/dist/onboarding-presets.shared.js +0 -8
- package/dist/onboarding-presets.shared.js.map +0 -1
- package/dist/package.json +0 -50
- package/dist/restart.d.ts +0 -27
- package/dist/restart.d.ts.map +0 -1
- package/dist/restart.js +0 -29
- package/dist/restart.js.map +0 -1
- package/dist/runtime-env.d.ts +0 -84
- package/dist/runtime-env.d.ts.map +0 -1
- package/dist/runtime-env.js +0 -262
- package/dist/runtime-env.js.map +0 -1
- package/dist/self-edit.d.ts +0 -64
- package/dist/self-edit.d.ts.map +0 -1
- package/dist/self-edit.js +0 -133
- package/dist/self-edit.js.map +0 -1
- package/dist/settings-debug.d.ts +0 -20
- package/dist/settings-debug.d.ts.map +0 -1
- package/dist/settings-debug.js +0 -122
- package/dist/settings-debug.js.map +0 -1
- package/dist/spoken-text.d.ts.map +0 -1
- package/dist/spoken-text.js +0 -57
- package/dist/spoken-text.js.map +0 -1
- package/dist/test-support/test-helpers.d.ts +0 -112
- package/dist/test-support/test-helpers.d.ts.map +0 -1
- package/dist/test-support/test-helpers.js +0 -416
- package/dist/test-support/test-helpers.js.map +0 -1
- package/dist/themes/index.d.ts +0 -7
- package/dist/themes/index.d.ts.map +0 -1
- package/dist/themes/index.js +0 -6
- package/dist/themes/index.js.map +0 -1
- package/dist/themes/presets.d.ts +0 -15
- package/dist/themes/presets.d.ts.map +0 -1
- package/dist/themes/presets.js +0 -789
- package/dist/themes/presets.js.map +0 -1
- package/dist/type-guards.d.ts +0 -30
- package/dist/type-guards.d.ts.map +0 -1
- package/dist/type-guards.js +0 -50
- package/dist/type-guards.js.map +0 -1
- package/dist/types/index.d.ts +0 -655
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/assistant-text.d.ts +0 -2
- package/dist/utils/assistant-text.d.ts.map +0 -1
- package/dist/utils/assistant-text.js +0 -168
- package/dist/utils/assistant-text.js.map +0 -1
- package/dist/utils/browser-tab-kit-types.d.ts +0 -81
- package/dist/utils/browser-tab-kit-types.js +0 -23
- package/dist/utils/browser-tabs-renderer-registry.d.ts +0 -56
- package/dist/utils/browser-tabs-renderer-registry.d.ts.map +0 -1
- package/dist/utils/browser-tabs-renderer-registry.js +0 -962
- package/dist/utils/browser-tabs-renderer-registry.js.map +0 -1
- package/dist/utils/documents-upload-image.js +0 -147
- package/dist/utils/documents-upload-image.js.map +0 -1
- package/dist/utils/env.d.ts +0 -34
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -131
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -13
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -26
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/exec-safety.d.ts.map +0 -1
- package/dist/utils/exec-safety.js +0 -22
- package/dist/utils/exec-safety.js.map +0 -1
- package/dist/utils/format.d.ts +0 -66
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js +0 -122
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/index.d.ts +0 -12
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -12
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/log-prefix.d.ts.map +0 -1
- package/dist/utils/log-prefix.js +0 -54
- package/dist/utils/log-prefix.js.map +0 -1
- package/dist/utils/name-tokens.d.ts +0 -24
- package/dist/utils/name-tokens.js +0 -37
- package/dist/utils/namespace-defaults.d.ts +0 -6
- package/dist/utils/namespace-defaults.d.ts.map +0 -1
- package/dist/utils/namespace-defaults.js +0 -16
- package/dist/utils/namespace-defaults.js.map +0 -1
- package/dist/utils/number-parsing.d.ts.map +0 -1
- package/dist/utils/number-parsing.js +0 -52
- package/dist/utils/number-parsing.js.map +0 -1
- package/dist/utils/permission-deep-links.d.ts +0 -34
- package/dist/utils/permission-deep-links.d.ts.map +0 -1
- package/dist/utils/permission-deep-links.js +0 -84
- package/dist/utils/permission-deep-links.js.map +0 -1
- package/dist/utils/serialise.js +0 -22
- package/dist/utils/serialise.js.map +0 -1
- package/dist/utils/sql-compat.js +0 -112
- package/dist/utils/sql-compat.js.map +0 -1
- package/dist/utils/streaming-text.d.ts +0 -9
- package/dist/utils/streaming-text.d.ts.map +0 -1
- package/dist/utils/streaming-text.js +0 -113
- package/dist/utils/streaming-text.js.map +0 -1
- package/dist/utils/tts-debug.d.ts +0 -9
- package/dist/utils/tts-debug.d.ts.map +0 -1
- package/dist/utils/tts-debug.js +0 -70
- package/dist/utils/tts-debug.js.map +0 -1
- package/dist/voice.d.ts +0 -40
- package/dist/voice.d.ts.map +0 -1
- package/dist/voice.js +0 -296
- package/dist/voice.js.map +0 -1
- /package/{dist/api → api}/route-helpers.js +0 -0
- /package/{dist/api → api}/route-helpers.js.map +0 -0
- /package/{dist/app-hero-art.d.ts → app-hero-art.d.ts} +0 -0
- /package/{dist/awareness → awareness}/index.d.ts +0 -0
- /package/{dist/awareness → awareness}/index.d.ts.map +0 -0
- /package/{dist/awareness → awareness}/index.js +0 -0
- /package/{dist/awareness → awareness}/index.js.map +0 -0
- /package/{dist/awareness → awareness}/registry.d.ts +0 -0
- /package/{dist/awareness → awareness}/registry.d.ts.map +0 -0
- /package/{dist/awareness → awareness}/registry.js +0 -0
- /package/{dist/awareness → awareness}/registry.js.map +0 -0
- /package/{dist/cli → cli}/parse-duration.d.ts +0 -0
- /package/{dist/config → config}/allowed-hosts.d.ts +0 -0
- /package/{dist/config → config}/allowed-hosts.d.ts.map +0 -0
- /package/{dist/config → config}/app-manifest.d.ts +0 -0
- /package/{dist/config → config}/boot-config.d.ts +0 -0
- /package/{dist/config → config}/boot-config.d.ts.map +0 -0
- /package/{dist/config → config}/boot-config.js +0 -0
- /package/{dist/config → config}/boot-config.js.map +0 -0
- /package/{dist/config → config}/config-catalog.d.ts +0 -0
- /package/{dist/config → config}/config-paths.d.ts +0 -0
- /package/{dist/config → config}/config-paths.d.ts.map +0 -0
- /package/{dist/config → config}/config-paths.js +0 -0
- /package/{dist/config → config}/config-paths.js.map +0 -0
- /package/{dist/config → config}/config.d.ts +0 -0
- /package/{dist/config → config}/config.d.ts.map +0 -0
- /package/{dist/config → config}/distribution-profile.d.ts +0 -0
- /package/{dist/config → config}/distribution-profile.d.ts.map +0 -0
- /package/{dist/config → config}/env-vars.d.ts +0 -0
- /package/{dist/config → config}/env-vars.js +0 -0
- /package/{dist/config → config}/env-vars.js.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable-engine.d.ts +0 -0
- /package/{dist/config → config}/plugin-auto-enable-engine.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable.d.ts +0 -0
- /package/{dist/config → config}/plugin-auto-enable.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-auto-enable.js +0 -0
- /package/{dist/config → config}/plugin-auto-enable.js.map +0 -0
- /package/{dist/config → config}/plugin-manifest.d.ts +0 -0
- /package/{dist/config → config}/plugin-ui-spec.d.ts +0 -0
- /package/{dist/config → config}/plugin-ui-spec.d.ts.map +0 -0
- /package/{dist/config → config}/plugin-ui-spec.js +0 -0
- /package/{dist/config → config}/plugin-ui-spec.js.map +0 -0
- /package/{dist/config → config}/runtime-mode.d.ts +0 -0
- /package/{dist/config → config}/runtime-overrides.d.ts +0 -0
- /package/{dist/config → config}/runtime-overrides.d.ts.map +0 -0
- /package/{dist/config → config}/runtime-overrides.js +0 -0
- /package/{dist/config → config}/runtime-overrides.js.map +0 -0
- /package/{dist/config → config}/schema.d.ts +0 -0
- /package/{dist/config → config}/schema.d.ts.map +0 -0
- /package/{dist/config → config}/schema.js +0 -0
- /package/{dist/config → config}/schema.js.map +0 -0
- /package/{dist/config → config}/types.agent-defaults.js +0 -0
- /package/{dist/config → config}/types.agent-defaults.js.map +0 -0
- /package/{dist/config → config}/types.agents.js +0 -0
- /package/{dist/config → config}/types.agents.js.map +0 -0
- /package/{dist/config → config}/types.d.ts +0 -0
- /package/{dist/config → config}/types.d.ts.map +0 -0
- /package/{dist/config → config}/types.eliza.js +0 -0
- /package/{dist/config → config}/types.eliza.js.map +0 -0
- /package/{dist/config → config}/types.gateway.d.ts +0 -0
- /package/{dist/config → config}/types.gateway.d.ts.map +0 -0
- /package/{dist/config → config}/types.gateway.js +0 -0
- /package/{dist/config → config}/types.gateway.js.map +0 -0
- /package/{dist/config → config}/types.hooks.d.ts +0 -0
- /package/{dist/config → config}/types.hooks.d.ts.map +0 -0
- /package/{dist/config → config}/types.hooks.js +0 -0
- /package/{dist/config → config}/types.hooks.js.map +0 -0
- /package/{dist/config → config}/types.js +0 -0
- /package/{dist/config → config}/types.js.map +0 -0
- /package/{dist/config → config}/types.messages.js +0 -0
- /package/{dist/config → config}/types.messages.js.map +0 -0
- /package/{dist/config → config}/types.tools.js +0 -0
- /package/{dist/config → config}/types.tools.js.map +0 -0
- /package/{dist/config → config}/ui-spec.js +0 -0
- /package/{dist/config → config}/ui-spec.js.map +0 -0
- /package/{dist/config → config}/wechat-config.d.ts +0 -0
- /package/{dist/config → config}/wechat-config.d.ts.map +0 -0
- /package/{dist/config → config}/wechat-config.js +0 -0
- /package/{dist/config → config}/wechat-config.js.map +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.d.ts.map +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.js +0 -0
- /package/{dist/config → config}/zod-schema.agent-runtime.js.map +0 -0
- /package/{dist/config → config}/zod-schema.core.d.ts.map +0 -0
- /package/{dist/config → config}/zod-schema.core.js +0 -0
- /package/{dist/config → config}/zod-schema.core.js.map +0 -0
- /package/{dist/connector-cred-types.d.ts → connector-cred-types.d.ts} +0 -0
- /package/{dist/connector-cred-types.d.ts.map → connector-cred-types.d.ts.map} +0 -0
- /package/{dist/connector-cred-types.js → connector-cred-types.js} +0 -0
- /package/{dist/connector-cred-types.js.map → connector-cred-types.js.map} +0 -0
- /package/{dist/contracts → contracts}/awareness.d.ts +0 -0
- /package/{dist/contracts → contracts}/awareness.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/awareness.js +0 -0
- /package/{dist/contracts → contracts}/awareness.js.map +0 -0
- /package/{dist/contracts → contracts}/cloud-topology.d.ts +0 -0
- /package/{dist/contracts → contracts}/cloud-topology.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/config.d.ts +0 -0
- /package/{dist/contracts → contracts}/config.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/config.js +0 -0
- /package/{dist/contracts → contracts}/config.js.map +0 -0
- /package/{dist/contracts → contracts}/content-pack.js.map +0 -0
- /package/{dist/contracts → contracts}/drop.d.ts +0 -0
- /package/{dist/contracts → contracts}/drop.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/drop.js +0 -0
- /package/{dist/contracts → contracts}/drop.js.map +0 -0
- /package/{dist/contracts → contracts}/feature-result.d.ts +0 -0
- /package/{dist/contracts → contracts}/feature-result.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/feature-result.js +0 -0
- /package/{dist/contracts → contracts}/feature-result.js.map +0 -0
- /package/{dist/contracts → contracts}/inbox.d.ts +0 -0
- /package/{dist/contracts → contracts}/inbox.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/inbox.js +0 -0
- /package/{dist/contracts → contracts}/inbox.js.map +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.js +0 -0
- /package/{dist/contracts → contracts}/lifeops-connector-degradation.js.map +0 -0
- /package/{dist/contracts → contracts}/verification.d.ts +0 -0
- /package/{dist/contracts → contracts}/verification.d.ts.map +0 -0
- /package/{dist/contracts → contracts}/verification.js +0 -0
- /package/{dist/contracts → contracts}/verification.js.map +0 -0
- /package/{dist/dev-settings-banner-style.d.ts.map → dev-settings-banner-style.d.ts.map} +0 -0
- /package/{dist/dev-settings-figlet-heading.d.ts → dev-settings-figlet-heading.d.ts} +0 -0
- /package/{dist/dev-settings-table.d.ts → dev-settings-table.d.ts} +0 -0
- /package/{dist/dev-settings-table.d.ts.map → dev-settings-table.d.ts.map} +0 -0
- /package/{dist/dev-settings-table.js → dev-settings-table.js} +0 -0
- /package/{dist/dev-settings-table.js.map → dev-settings-table.js.map} +0 -0
- /package/{dist/i18n → i18n}/keyword-matching.d.ts +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.d.ts +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.d.ts.map +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.js +0 -0
- /package/{dist/i18n → i18n}/validation-keywords.js.map +0 -0
- /package/{dist/local-inference → local-inference}/paths.d.ts.map +0 -0
- /package/{dist/local-inference → local-inference}/paths.js.map +0 -0
- /package/{dist/local-inference → local-inference}/verify.d.ts +0 -0
- /package/{dist/local-inference → local-inference}/verify.d.ts.map +0 -0
- /package/{dist/local-inference → local-inference}/verify.js +0 -0
- /package/{dist/local-inference → local-inference}/verify.js.map +0 -0
- /package/{dist/platform → platform}/is-native-server.d.ts +0 -0
- /package/{dist/platform → platform}/is-native-server.d.ts.map +0 -0
- /package/{dist/platform → platform}/is-native-server.js +0 -0
- /package/{dist/platform → platform}/is-native-server.js.map +0 -0
- /package/{dist/recent-messages-state.d.ts → recent-messages-state.d.ts} +0 -0
- /package/{dist/recent-messages-state.d.ts.map → recent-messages-state.d.ts.map} +0 -0
- /package/{dist/recent-messages-state.js → recent-messages-state.js} +0 -0
- /package/{dist/recent-messages-state.js.map → recent-messages-state.js.map} +0 -0
- /package/{dist/spoken-text.d.ts → spoken-text.d.ts} +0 -0
- /package/{dist/terminal → terminal}/links.d.ts +0 -0
- /package/{dist/terminal → terminal}/links.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/links.js +0 -0
- /package/{dist/terminal → terminal}/links.js.map +0 -0
- /package/{dist/terminal → terminal}/palette.d.ts +0 -0
- /package/{dist/terminal → terminal}/palette.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/palette.js +0 -0
- /package/{dist/terminal → terminal}/palette.js.map +0 -0
- /package/{dist/terminal → terminal}/theme.d.ts +0 -0
- /package/{dist/terminal → terminal}/theme.d.ts.map +0 -0
- /package/{dist/terminal → terminal}/theme.js +0 -0
- /package/{dist/terminal → terminal}/theme.js.map +0 -0
- /package/{dist/test-support → test-support}/process-helpers.d.ts +0 -0
- /package/{dist/test-support → test-support}/process-helpers.d.ts.map +0 -0
- /package/{dist/test-support → test-support}/process-helpers.js +0 -0
- /package/{dist/test-support → test-support}/process-helpers.js.map +0 -0
- /package/{dist/types → types}/index.js +0 -0
- /package/{dist/types → types}/index.js.map +0 -0
- /package/{dist/utils → utils}/asset-url.d.ts +0 -0
- /package/{dist/utils → utils}/asset-url.d.ts.map +0 -0
- /package/{dist/utils → utils}/asset-url.js +0 -0
- /package/{dist/utils → utils}/asset-url.js.map +0 -0
- /package/{dist/utils → utils}/browser-tab-kit-types.d.ts.map +0 -0
- /package/{dist/utils → utils}/browser-tab-kit-types.js.map +0 -0
- /package/{dist/utils → utils}/character-message-examples.d.ts +0 -0
- /package/{dist/utils → utils}/character-message-examples.d.ts.map +0 -0
- /package/{dist/utils → utils}/character-message-examples.js +0 -0
- /package/{dist/utils → utils}/character-message-examples.js.map +0 -0
- /package/{dist/utils → utils}/cloud-status.d.ts +0 -0
- /package/{dist/utils → utils}/cloud-status.d.ts.map +0 -0
- /package/{dist/utils → utils}/cloud-status.js +0 -0
- /package/{dist/utils → utils}/cloud-status.js.map +0 -0
- /package/{dist/utils → utils}/documents-upload-image.d.ts +0 -0
- /package/{dist/utils → utils}/documents-upload-image.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.js +0 -0
- /package/{dist/utils → utils}/eliza-cloud-model-route.js.map +0 -0
- /package/{dist/utils → utils}/eliza-globals.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-globals.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-globals.js +0 -0
- /package/{dist/utils → utils}/eliza-globals.js.map +0 -0
- /package/{dist/utils → utils}/eliza-root.d.ts +0 -0
- /package/{dist/utils → utils}/eliza-root.d.ts.map +0 -0
- /package/{dist/utils → utils}/eliza-root.js +0 -0
- /package/{dist/utils → utils}/eliza-root.js.map +0 -0
- /package/{dist/utils → utils}/exec-safety.d.ts +0 -0
- /package/{dist/utils → utils}/labels.d.ts +0 -0
- /package/{dist/utils → utils}/labels.d.ts.map +0 -0
- /package/{dist/utils → utils}/labels.js +0 -0
- /package/{dist/utils → utils}/labels.js.map +0 -0
- /package/{dist/utils → utils}/log-prefix.d.ts +0 -0
- /package/{dist/utils → utils}/name-tokens.d.ts.map +0 -0
- /package/{dist/utils → utils}/name-tokens.js.map +0 -0
- /package/{dist/utils → utils}/number-parsing.d.ts +0 -0
- /package/{dist/utils → utils}/owner-name.d.ts +0 -0
- /package/{dist/utils → utils}/owner-name.d.ts.map +0 -0
- /package/{dist/utils → utils}/owner-name.js +0 -0
- /package/{dist/utils → utils}/owner-name.js.map +0 -0
- /package/{dist/utils → utils}/rate-limiter.d.ts +0 -0
- /package/{dist/utils → utils}/rate-limiter.d.ts.map +0 -0
- /package/{dist/utils → utils}/rate-limiter.js +0 -0
- /package/{dist/utils → utils}/rate-limiter.js.map +0 -0
- /package/{dist/utils → utils}/serialise.d.ts +0 -0
- /package/{dist/utils → utils}/serialise.d.ts.map +0 -0
- /package/{dist/utils → utils}/sql-compat.d.ts +0 -0
- /package/{dist/utils → utils}/sql-compat.d.ts.map +0 -0
- /package/{dist/utils → utils}/subscription-auth.d.ts +0 -0
- /package/{dist/utils → utils}/subscription-auth.d.ts.map +0 -0
- /package/{dist/utils → utils}/subscription-auth.js +0 -0
- /package/{dist/utils → utils}/subscription-auth.js.map +0 -0
- /package/{dist/utils → utils}/trajectory-format.d.ts +0 -0
- /package/{dist/utils → utils}/trajectory-format.d.ts.map +0 -0
- /package/{dist/utils → utils}/trajectory-format.js +0 -0
- /package/{dist/utils → utils}/trajectory-format.js.map +0 -0
- /package/{dist/validation-keywords.d.ts → validation-keywords.d.ts} +0 -0
- /package/{dist/validation-keywords.d.ts.map → validation-keywords.d.ts.map} +0 -0
- /package/{dist/validation-keywords.js → validation-keywords.js} +0 -0
- /package/{dist/validation-keywords.js.map → validation-keywords.js.map} +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device-fit selector for the one forced local model (eliza-1).
|
|
3
|
+
*
|
|
4
|
+
* The product rule (see `packages/ui/docs/local-model-simplification/README.md`):
|
|
5
|
+
* **always run the biggest eliza-1 tier we can, balanced against a 128k context
|
|
6
|
+
* target, with every memory optimization applied** so the floors are as low as
|
|
7
|
+
* physics allows:
|
|
8
|
+
*
|
|
9
|
+
* - **TurboQuant weights** — the catalog `sizeGb` per tier already reflects the
|
|
10
|
+
* TurboQuant-compressed GGUF (e.g. a 2B model is 1.4 GB, not ~4 GB bf16).
|
|
11
|
+
* - **Stock q8_0 KV-cache** — Gemma 4's KV is already minimal by construction
|
|
12
|
+
* (MQA = 1 KV head, windowed sliding-window attention on most layers, and
|
|
13
|
+
* shared-KV layers reusing earlier KV), so a 128k window fits in a fraction
|
|
14
|
+
* of a GB at stock q8_0 without the legacy QJL/Polar kernels. The head_dim=128
|
|
15
|
+
* QJL kernel does not apply to Gemma's dual head dims (512 global / 256 swa)
|
|
16
|
+
* and is not used. KV quant is forced, never a user option.
|
|
17
|
+
*
|
|
18
|
+
* `minRamGb` per tier is therefore "TurboQuant weights + a 128k q8_0 KV cache +
|
|
19
|
+
* runtime/OS overhead". Picking the largest tier whose `minRamGb` fits free RAM
|
|
20
|
+
* is exactly "biggest model that still gets a 128k window".
|
|
21
|
+
*
|
|
22
|
+
* **Dynamic fit-to-RAM context (#8809 M10b).** Picking the largest tier whose
|
|
23
|
+
* static `minRamGb` floor fits is the coarse gate. On top of that we compute the
|
|
24
|
+
* *largest context window that actually fits the device's free RAM* for the
|
|
25
|
+
* chosen tier, from the per-token q8_0 KV rate (`kvBytesPerTokenForTier`) rather
|
|
26
|
+
* than only honouring the catalog ceiling. On a roomy host that is the tier's
|
|
27
|
+
* native window; on a host that clears the weights+overhead floor but not a full
|
|
28
|
+
* 128k cache, the window shrinks to the largest 4k-stepped size that fits. The
|
|
29
|
+
* tier choice never drops below 2B (0.8B is gone); when even a minimum window
|
|
30
|
+
* (`ELIZA_1_MIN_LOCAL_CONTEXT`) cannot fit any tier, we return `null`, which the
|
|
31
|
+
* caller reads as "this modality should route to Cloud" (the AUTO policy).
|
|
32
|
+
*/
|
|
33
|
+
import { MODEL_CATALOG } from "./catalog.js";
|
|
34
|
+
/** The KV-cache quantization eliza-1 always uses on-device. Gemma 4's KV is
|
|
35
|
+
* already minimal (MQA + windowed-SWA + shared-KV), so stock q8_0 is sufficient;
|
|
36
|
+
* the legacy head_dim=128 QJL kernel is incompatible with Gemma's dual head dims
|
|
37
|
+
* (512 global / 256 swa) and is not used. */
|
|
38
|
+
export const ELIZA_1_KV_QUANT = "q8_0";
|
|
39
|
+
/** The consumer context target. We never advertise less than this if it fits. */
|
|
40
|
+
export const ELIZA_1_CONTEXT_TARGET = 131072; // 128k
|
|
41
|
+
/** Floor below which a cramped local window is worse than routing to Cloud. */
|
|
42
|
+
export const ELIZA_1_MIN_LOCAL_CONTEXT = 8192; // 8k
|
|
43
|
+
/** Round a token count down to a 4k step so we advertise clean window sizes. */
|
|
44
|
+
const CONTEXT_STEP = 4096;
|
|
45
|
+
/**
|
|
46
|
+
* Fixed non-KV cost on top of the TurboQuant weights: the inference runtime,
|
|
47
|
+
* activation scratch, and OS headroom. Used by the context-fit math to reserve
|
|
48
|
+
* room before the KV cache claims the rest of free RAM.
|
|
49
|
+
*/
|
|
50
|
+
const RUNTIME_OVERHEAD_GB = 1.0;
|
|
51
|
+
const BYTES_PER_GB = 1024 * 1024 * 1024;
|
|
52
|
+
/**
|
|
53
|
+
* Per-token q8_0 KV footprint for a tier, derived from the catalog's own
|
|
54
|
+
* sizing: the tier's `minRamGb` floor is "TurboQuant weights + a native-window
|
|
55
|
+
* q8_0 KV cache + runtime/OS overhead", so the RAM the catalog reserves for the
|
|
56
|
+
* KV cache at the native window is `minRamGb − sizeGb − RUNTIME_OVERHEAD_GB`,
|
|
57
|
+
* and dividing by the native context gives the per-token rate. Deriving it from
|
|
58
|
+
* the catalog (rather than a second hardcoded table) keeps the full-fit floor
|
|
59
|
+
* and the dynamic context-downscale math provably consistent: just below a
|
|
60
|
+
* tier's floor, exactly less-than-native fits.
|
|
61
|
+
*
|
|
62
|
+
* Returns `null` when the tier's floor doesn't actually reserve any KV room
|
|
63
|
+
* (mis-sized catalog row) — the caller then cannot compute a window for it.
|
|
64
|
+
*/
|
|
65
|
+
function kvBytesPerTokenForTier(tier) {
|
|
66
|
+
const { minRamGb, sizeGb, contextLength } = tier;
|
|
67
|
+
if (minRamGb == null || sizeGb == null || contextLength == null)
|
|
68
|
+
return null;
|
|
69
|
+
const kvReserveGb = minRamGb - sizeGb - RUNTIME_OVERHEAD_GB;
|
|
70
|
+
if (kvReserveGb <= 0 || contextLength <= 0)
|
|
71
|
+
return null;
|
|
72
|
+
return (kvReserveGb * BYTES_PER_GB) / contextLength;
|
|
73
|
+
}
|
|
74
|
+
function roundDownToStep(tokens, step = CONTEXT_STEP) {
|
|
75
|
+
return Math.max(0, Math.floor(tokens / step) * step);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Largest 4k-stepped window that fits `freeRamGb` for `tier` at the q8_0 KV
|
|
79
|
+
* rate. Returns `context: 0` when the weights+overhead alone do not fit, or
|
|
80
|
+
* when the tier's KV rate cannot be derived (caller treats either as "this
|
|
81
|
+
* tier cannot hold any window").
|
|
82
|
+
*/
|
|
83
|
+
function maxFittingContextForTier(tier, freeRamGb) {
|
|
84
|
+
const kvBytesPerToken = kvBytesPerTokenForTier(tier);
|
|
85
|
+
if (kvBytesPerToken == null)
|
|
86
|
+
return null;
|
|
87
|
+
const sizeGb = tier.sizeGb ?? 0;
|
|
88
|
+
const kvAvailableGb = freeRamGb - sizeGb - RUNTIME_OVERHEAD_GB;
|
|
89
|
+
if (kvAvailableGb <= 0)
|
|
90
|
+
return { context: 0, kvBytesPerToken };
|
|
91
|
+
const tokensThatFit = (kvAvailableGb * BYTES_PER_GB) / kvBytesPerToken;
|
|
92
|
+
return { context: roundDownToStep(tokensThatFit), kvBytesPerToken };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Pick the best on-device eliza-1 configuration for a device with `freeRamGb` of
|
|
96
|
+
* usable RAM (Apple-silicon unified RAM, discrete-GPU VRAM, or CPU RAM — the
|
|
97
|
+
* caller normalizes this, e.g. via the device-tier classifier).
|
|
98
|
+
*
|
|
99
|
+
* Returns `null` when nothing acceptable fits locally → the caller routes this
|
|
100
|
+
* modality to Cloud (AUTO). Never returns a tier smaller than 2B (0.8B is gone).
|
|
101
|
+
*/
|
|
102
|
+
export function selectBestEliza1Fit(freeRamGb) {
|
|
103
|
+
if (!Number.isFinite(freeRamGb) || freeRamGb <= 0)
|
|
104
|
+
return null;
|
|
105
|
+
// Release tiers, largest RAM-floor first. The floor already bakes in a native
|
|
106
|
+
// (128k) q8_0 window, so the first one whose floor fits is the biggest model
|
|
107
|
+
// that still gets its full window.
|
|
108
|
+
const tiers = [...MODEL_CATALOG]
|
|
109
|
+
.filter((m) => typeof m.minRamGb === "number" && typeof m.sizeGb === "number")
|
|
110
|
+
.sort((a, b) => b.minRamGb - a.minRamGb);
|
|
111
|
+
for (const tier of tiers) {
|
|
112
|
+
if (tier.minRamGb == null || freeRamGb < tier.minRamGb)
|
|
113
|
+
continue;
|
|
114
|
+
const nativeCtx = tier.contextLength ?? ELIZA_1_CONTEXT_TARGET;
|
|
115
|
+
const fit = maxFittingContextForTier(tier, freeRamGb);
|
|
116
|
+
if (!fit)
|
|
117
|
+
continue;
|
|
118
|
+
const { context: maxFittingContext, kvBytesPerToken } = fit;
|
|
119
|
+
// Floor fits → at least the native window fits; clamp the dynamic window to
|
|
120
|
+
// the tier ceiling so we never advertise more than the bundle ships.
|
|
121
|
+
const contextLength = Math.min(Math.max(maxFittingContext, nativeCtx), nativeCtx);
|
|
122
|
+
return {
|
|
123
|
+
tierId: tier.id,
|
|
124
|
+
contextLength,
|
|
125
|
+
kvQuant: ELIZA_1_KV_QUANT,
|
|
126
|
+
contextDownscaled: false,
|
|
127
|
+
kvBytesPerToken,
|
|
128
|
+
maxFittingContext,
|
|
129
|
+
reason: "native-fit",
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// No tier clears its native floor. Keep the smallest tier (2B) and shrink the
|
|
133
|
+
// q8_0 KV window to the largest 4k step that fits. Never drop below 2B.
|
|
134
|
+
const smallest = tiers[tiers.length - 1];
|
|
135
|
+
if (!smallest || smallest.contextLength == null)
|
|
136
|
+
return null;
|
|
137
|
+
const nativeCtx = smallest.contextLength;
|
|
138
|
+
const fit = maxFittingContextForTier(smallest, freeRamGb);
|
|
139
|
+
if (!fit)
|
|
140
|
+
return null;
|
|
141
|
+
const { context: fittedContext, kvBytesPerToken } = fit;
|
|
142
|
+
if (fittedContext < ELIZA_1_MIN_LOCAL_CONTEXT)
|
|
143
|
+
return null; // too cramped → Cloud
|
|
144
|
+
const contextLength = Math.min(fittedContext, nativeCtx);
|
|
145
|
+
return {
|
|
146
|
+
tierId: smallest.id,
|
|
147
|
+
contextLength,
|
|
148
|
+
kvQuant: ELIZA_1_KV_QUANT,
|
|
149
|
+
contextDownscaled: contextLength < nativeCtx,
|
|
150
|
+
kvBytesPerToken,
|
|
151
|
+
maxFittingContext: fittedContext,
|
|
152
|
+
reason: contextLength < nativeCtx ? "context-downscaled" : "native-fit",
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=device-fit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-fit.js","sourceRoot":"","sources":["../../src/local-inference/device-fit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C;;;6CAG6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAe,CAAC;AAEhD,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,OAAO;AAErD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,KAAK;AAEpD,gFAAgF;AAChF,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,SAAS,sBAAsB,CAAC,IAAkB;IAChD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAC5D,IAAI,WAAW,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,aAAa,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,IAAI,GAAG,YAAY;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC;AAwBD;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,IAAkB,EAClB,SAAiB;IAEjB,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,eAAe,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAC/D,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;IACvE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/D,8EAA8E;IAC9E,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC;SAC7B,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CACtE;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ;YAAE,SAAS;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,sBAAsB,CAAC;QAC/D,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;QAC5D,4EAA4E;QAC5E,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACtC,SAAS,CACV,CAAC;QACF,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAkB;YAC/B,aAAa;YACb,OAAO,EAAE,gBAAgB;YACzB,iBAAiB,EAAE,KAAK;YACxB,eAAe;YACf,iBAAiB;YACjB,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;IACzC,MAAM,GAAG,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACxD,IAAI,aAAa,GAAG,yBAAyB;QAAE,OAAO,IAAI,CAAC,CAAC,sBAAsB;IAElF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAkB;QACnC,aAAa;QACb,OAAO,EAAE,gBAAgB;QACzB,iBAAiB,EAAE,aAAa,GAAG,SAAS;QAC5C,eAAe;QACf,iBAAiB,EAAE,aAAa;QAChC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-GPU deployment profiles for single-GPU Eliza-1 servers.
|
|
3
|
+
*
|
|
4
|
+
* Scope: ONE GPU per host. We do not target NVLink, tensor-parallel splits,
|
|
5
|
+
* or multi-tenant datacenter workloads. The product target is "one
|
|
6
|
+
* conversation at a time on a single GPU box" — `--parallel N` can still go
|
|
7
|
+
* higher than on a phone, but the model is not split across cards.
|
|
8
|
+
*
|
|
9
|
+
* These profiles are *recommendations* — the runtime selects a bundle by id
|
|
10
|
+
* and then maps the host's GPU to a `GpuProfile` to fill in llama-server
|
|
11
|
+
* flags (KV cache types, n-gpu-layers, batch sizing, MTP draft range,
|
|
12
|
+
* mlock). A non-NVIDIA host returns `null` and the runtime falls back to
|
|
13
|
+
* the catalog defaults.
|
|
14
|
+
*
|
|
15
|
+
* The KV cache type names match `LocalRuntimeKernel` / the llama.cpp fork
|
|
16
|
+
* kernel handles (`qjl1_256`, `q4_polar`, `turbo3_0`, `turbo4_0`, `q8_0`,
|
|
17
|
+
* `f16`) so that `appendOptimizationFlags` + `applyGpuProfile` can pass
|
|
18
|
+
* them straight through to `--cache-type-k` / `--cache-type-v`.
|
|
19
|
+
*
|
|
20
|
+
* The active mobile/local release exposes Eliza-1 2b, 4b, 9b, and 27b
|
|
21
|
+
* tiers, with larger cards recommended toward the biggest installed bundle
|
|
22
|
+
* that leaves memory headroom.
|
|
23
|
+
*/
|
|
24
|
+
import type { Eliza1TierId } from "./catalog.js";
|
|
25
|
+
export type GpuProfileId = "rtx-3090" | "rtx-4090" | "rtx-5090" | "h200";
|
|
26
|
+
/**
|
|
27
|
+
* KV cache type names accepted by `llama-server --cache-type-k/-v`. Mirrors
|
|
28
|
+
* the strings the buun-llama-cpp fork advertises in `CAPABILITIES.json`.
|
|
29
|
+
* Kept as a string literal union so a profile's choice is checked at
|
|
30
|
+
* compile time and propagates into the bundle manifest's `requiresKernel`
|
|
31
|
+
* set.
|
|
32
|
+
*/
|
|
33
|
+
export type KvCacheType = "f16" | "q8_0" | "q4_0" | "qjl1_256" | "q4_polar" | "turbo3_0" | "turbo4_0";
|
|
34
|
+
export interface GpuProfile {
|
|
35
|
+
id: GpuProfileId;
|
|
36
|
+
/** Human-readable vendor card name shown to the operator. */
|
|
37
|
+
displayName: string;
|
|
38
|
+
/** Total VRAM in GiB. Used for headroom math + recommendations. */
|
|
39
|
+
vramGb: number;
|
|
40
|
+
/** CUDA compute capability, e.g. `"sm_86"`. */
|
|
41
|
+
computeCapability: string;
|
|
42
|
+
/** Peak HBM/GDDR bandwidth in GB/s — feeds the perf estimator. */
|
|
43
|
+
memoryBandwidthGBs: number;
|
|
44
|
+
/** Whether the GPU has hardware FP8 (Ada/Hopper/Blackwell). */
|
|
45
|
+
fp8: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Recommended catalog bundle ids for single-GPU deployment on this card.
|
|
48
|
+
* Ordered by quality: first entry is the "best fit" for the card; later
|
|
49
|
+
* entries are smaller fallbacks that still leave headroom. The recommender
|
|
50
|
+
* picks the first id that the user has installed.
|
|
51
|
+
*/
|
|
52
|
+
recommendedBundles: ReadonlyArray<Eliza1TierId>;
|
|
53
|
+
/** Inference flags. */
|
|
54
|
+
flashAttn: boolean;
|
|
55
|
+
/** `--cache-type-k` value. */
|
|
56
|
+
kvCacheTypeK: KvCacheType;
|
|
57
|
+
/** `--cache-type-v` value. */
|
|
58
|
+
kvCacheTypeV: KvCacheType;
|
|
59
|
+
/**
|
|
60
|
+
* `--n-gpu-layers` — `-1` for "all layers on GPU". Single-GPU only; we
|
|
61
|
+
* never split layers across two cards.
|
|
62
|
+
*/
|
|
63
|
+
nGpuLayers: number;
|
|
64
|
+
/**
|
|
65
|
+
* `--ctx-size`. Always sized to the bundle's `contextLength`, but the
|
|
66
|
+
* profile records the *recommended* max for the card.
|
|
67
|
+
*/
|
|
68
|
+
contextSize: number;
|
|
69
|
+
/** `--parallel N` continuous-batching slots. */
|
|
70
|
+
parallel: number;
|
|
71
|
+
/** `--batch-size N` logical batch. */
|
|
72
|
+
batchSize: number;
|
|
73
|
+
/** `--ubatch-size N` physical micro-batch. */
|
|
74
|
+
ubatchSize: number;
|
|
75
|
+
/** MTP speculative-decoding draft range. */
|
|
76
|
+
mtpDraftMin: number;
|
|
77
|
+
mtpDraftMax: number;
|
|
78
|
+
/** `--mlock` — pin model pages in RAM. */
|
|
79
|
+
mlock: boolean;
|
|
80
|
+
/** `--no-mmap` — disable mmap loading. */
|
|
81
|
+
noMmap: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Force KV spill to CPU (`--no-kv-offload`). Only useful on cards that
|
|
84
|
+
* cannot hold the full KV cache. The 141 GiB H200 sets this to `false`;
|
|
85
|
+
* the 24 GiB cards can opt in for very long contexts.
|
|
86
|
+
*/
|
|
87
|
+
kvSpillToCpu: boolean;
|
|
88
|
+
}
|
|
89
|
+
export declare const GPU_PROFILES: Readonly<Record<GpuProfileId, GpuProfile>>;
|
|
90
|
+
export declare const GPU_PROFILE_IDS: ReadonlyArray<GpuProfileId>;
|
|
91
|
+
/**
|
|
92
|
+
* Match an `nvidia-smi --query-gpu=name` output line to a profile. Returns
|
|
93
|
+
* `null` when the card is not in the supported set; callers should fall
|
|
94
|
+
* back to the catalog defaults in that case rather than guess.
|
|
95
|
+
*
|
|
96
|
+
* The patterns are intentionally strict to avoid mis-classifying a 3080
|
|
97
|
+
* as a 3090, or an A100 as a 4090.
|
|
98
|
+
*/
|
|
99
|
+
export declare function matchGpuProfile(gpuName: string): GpuProfileId | null;
|
|
100
|
+
/**
|
|
101
|
+
* Returns the headroom (in GiB) a profile reserves for the OS / driver /
|
|
102
|
+
* activations / drafter / N parallel-slot KV. Used for sizing checks
|
|
103
|
+
* before promoting a bundle to "fits" on a card.
|
|
104
|
+
*
|
|
105
|
+
* The figures are deliberate per-tier reserves, not a formula — different
|
|
106
|
+
* cards have different driver overheads (Windows display drivers steal
|
|
107
|
+
* ~1 GiB before workloads even start; H200 SXM has none).
|
|
108
|
+
*/
|
|
109
|
+
export declare function reservedHeadroomGb(profile: GpuProfile): number;
|
|
110
|
+
//# sourceMappingURL=gpu-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-profiles.d.ts","sourceRoot":"","sources":["../../src/local-inference/gpu-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,MAAM,GACN,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+DAA+D;IAC/D,GAAG,EAAE,OAAO,CAAC;IAEb;;;;;OAKG;IACH,kBAAkB,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAEhD,uBAAuB;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,YAAY,EAAE,WAAW,CAAC;IAC1B,8BAA8B;IAC9B,YAAY,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAwHD,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAKnE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,YAAY,CAKvD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAOpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAW9D"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-GPU deployment profiles for single-GPU Eliza-1 servers.
|
|
3
|
+
*
|
|
4
|
+
* Scope: ONE GPU per host. We do not target NVLink, tensor-parallel splits,
|
|
5
|
+
* or multi-tenant datacenter workloads. The product target is "one
|
|
6
|
+
* conversation at a time on a single GPU box" — `--parallel N` can still go
|
|
7
|
+
* higher than on a phone, but the model is not split across cards.
|
|
8
|
+
*
|
|
9
|
+
* These profiles are *recommendations* — the runtime selects a bundle by id
|
|
10
|
+
* and then maps the host's GPU to a `GpuProfile` to fill in llama-server
|
|
11
|
+
* flags (KV cache types, n-gpu-layers, batch sizing, MTP draft range,
|
|
12
|
+
* mlock). A non-NVIDIA host returns `null` and the runtime falls back to
|
|
13
|
+
* the catalog defaults.
|
|
14
|
+
*
|
|
15
|
+
* The KV cache type names match `LocalRuntimeKernel` / the llama.cpp fork
|
|
16
|
+
* kernel handles (`qjl1_256`, `q4_polar`, `turbo3_0`, `turbo4_0`, `q8_0`,
|
|
17
|
+
* `f16`) so that `appendOptimizationFlags` + `applyGpuProfile` can pass
|
|
18
|
+
* them straight through to `--cache-type-k` / `--cache-type-v`.
|
|
19
|
+
*
|
|
20
|
+
* The active mobile/local release exposes Eliza-1 2b, 4b, 9b, and 27b
|
|
21
|
+
* tiers, with larger cards recommended toward the biggest installed bundle
|
|
22
|
+
* that leaves memory headroom.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* RTX 3090 — Ampere, 24 GiB, no FP8.
|
|
26
|
+
*
|
|
27
|
+
* Best current release fit: Eliza-1 9B with 4B/2B fallbacks.
|
|
28
|
+
* Flash-attn helps Ampere meaningfully.
|
|
29
|
+
*/
|
|
30
|
+
const RTX_3090 = {
|
|
31
|
+
id: "rtx-3090",
|
|
32
|
+
displayName: "NVIDIA GeForce RTX 3090",
|
|
33
|
+
vramGb: 24,
|
|
34
|
+
computeCapability: "sm_86",
|
|
35
|
+
memoryBandwidthGBs: 936,
|
|
36
|
+
fp8: false,
|
|
37
|
+
recommendedBundles: ["eliza-1-9b", "eliza-1-4b", "eliza-1-2b"],
|
|
38
|
+
flashAttn: true,
|
|
39
|
+
// Ampere doesn't have the q4_polar kernel on the Polar fork; fall back to
|
|
40
|
+
// the Q8/Q4 KV quants which work on every sm_70+ GPU.
|
|
41
|
+
kvCacheTypeK: "q8_0",
|
|
42
|
+
kvCacheTypeV: "q4_polar",
|
|
43
|
+
nGpuLayers: -1,
|
|
44
|
+
contextSize: 65536,
|
|
45
|
+
parallel: 4,
|
|
46
|
+
batchSize: 2048,
|
|
47
|
+
ubatchSize: 512,
|
|
48
|
+
mtpDraftMin: 4,
|
|
49
|
+
mtpDraftMax: 16,
|
|
50
|
+
mlock: true,
|
|
51
|
+
noMmap: false,
|
|
52
|
+
kvSpillToCpu: false,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* RTX 4090 — Ada Lovelace, 24 GiB, FP8 (no flash-attn-FP8 yet).
|
|
56
|
+
*
|
|
57
|
+
* Best current release fit: Eliza-1 27B with 9B/4B/2B fallbacks.
|
|
58
|
+
*/
|
|
59
|
+
const RTX_4090 = {
|
|
60
|
+
id: "rtx-4090",
|
|
61
|
+
displayName: "NVIDIA GeForce RTX 4090",
|
|
62
|
+
vramGb: 24,
|
|
63
|
+
computeCapability: "sm_89",
|
|
64
|
+
memoryBandwidthGBs: 1008,
|
|
65
|
+
fp8: true,
|
|
66
|
+
recommendedBundles: ["eliza-1-27b", "eliza-1-9b", "eliza-1-4b", "eliza-1-2b"],
|
|
67
|
+
flashAttn: true,
|
|
68
|
+
kvCacheTypeK: "qjl1_256",
|
|
69
|
+
kvCacheTypeV: "q4_polar",
|
|
70
|
+
nGpuLayers: -1,
|
|
71
|
+
contextSize: 131072,
|
|
72
|
+
parallel: 4,
|
|
73
|
+
batchSize: 2048,
|
|
74
|
+
ubatchSize: 512,
|
|
75
|
+
mtpDraftMin: 4,
|
|
76
|
+
mtpDraftMax: 24,
|
|
77
|
+
mlock: true,
|
|
78
|
+
noMmap: false,
|
|
79
|
+
kvSpillToCpu: false,
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* RTX 5090 — Blackwell, 32 GiB, FP8/FP4 first-class.
|
|
83
|
+
*
|
|
84
|
+
* Best current release fit: Eliza-1 27B. Blackwell sm_120 is new enough that
|
|
85
|
+
* the Polar/QJL kernels may not be pre-built — the runtime should probe
|
|
86
|
+
* `CAPABILITIES.json` and surface a structured error rather than silently
|
|
87
|
+
* falling back.
|
|
88
|
+
*/
|
|
89
|
+
const RTX_5090 = {
|
|
90
|
+
id: "rtx-5090",
|
|
91
|
+
displayName: "NVIDIA GeForce RTX 5090",
|
|
92
|
+
vramGb: 32,
|
|
93
|
+
computeCapability: "sm_120",
|
|
94
|
+
memoryBandwidthGBs: 1792,
|
|
95
|
+
fp8: true,
|
|
96
|
+
recommendedBundles: ["eliza-1-27b", "eliza-1-9b", "eliza-1-4b", "eliza-1-2b"],
|
|
97
|
+
flashAttn: true,
|
|
98
|
+
kvCacheTypeK: "qjl1_256",
|
|
99
|
+
kvCacheTypeV: "q4_polar",
|
|
100
|
+
nGpuLayers: -1,
|
|
101
|
+
contextSize: 131072,
|
|
102
|
+
parallel: 8,
|
|
103
|
+
batchSize: 4096,
|
|
104
|
+
ubatchSize: 1024,
|
|
105
|
+
mtpDraftMin: 4,
|
|
106
|
+
mtpDraftMax: 24,
|
|
107
|
+
mlock: true,
|
|
108
|
+
noMmap: false,
|
|
109
|
+
kvSpillToCpu: false,
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* H200 — Hopper, 141 GiB HBM3e, 4.8 TB/s.
|
|
113
|
+
*
|
|
114
|
+
* Best current release fit: Eliza-1 27B.
|
|
115
|
+
*/
|
|
116
|
+
const H200 = {
|
|
117
|
+
id: "h200",
|
|
118
|
+
displayName: "NVIDIA H200 (SXM 141 GiB)",
|
|
119
|
+
vramGb: 141,
|
|
120
|
+
computeCapability: "sm_90",
|
|
121
|
+
memoryBandwidthGBs: 4800,
|
|
122
|
+
fp8: true,
|
|
123
|
+
recommendedBundles: ["eliza-1-27b", "eliza-1-9b", "eliza-1-4b", "eliza-1-2b"],
|
|
124
|
+
flashAttn: true,
|
|
125
|
+
kvCacheTypeK: "qjl1_256",
|
|
126
|
+
kvCacheTypeV: "q4_polar",
|
|
127
|
+
nGpuLayers: -1,
|
|
128
|
+
contextSize: 131072,
|
|
129
|
+
parallel: 16,
|
|
130
|
+
batchSize: 4096,
|
|
131
|
+
ubatchSize: 2048,
|
|
132
|
+
mtpDraftMin: 8,
|
|
133
|
+
mtpDraftMax: 32,
|
|
134
|
+
mlock: true,
|
|
135
|
+
noMmap: false,
|
|
136
|
+
kvSpillToCpu: false,
|
|
137
|
+
};
|
|
138
|
+
export const GPU_PROFILES = {
|
|
139
|
+
"rtx-3090": RTX_3090,
|
|
140
|
+
"rtx-4090": RTX_4090,
|
|
141
|
+
"rtx-5090": RTX_5090,
|
|
142
|
+
h200: H200,
|
|
143
|
+
};
|
|
144
|
+
export const GPU_PROFILE_IDS = [
|
|
145
|
+
"rtx-3090",
|
|
146
|
+
"rtx-4090",
|
|
147
|
+
"rtx-5090",
|
|
148
|
+
"h200",
|
|
149
|
+
];
|
|
150
|
+
/**
|
|
151
|
+
* Match an `nvidia-smi --query-gpu=name` output line to a profile. Returns
|
|
152
|
+
* `null` when the card is not in the supported set; callers should fall
|
|
153
|
+
* back to the catalog defaults in that case rather than guess.
|
|
154
|
+
*
|
|
155
|
+
* The patterns are intentionally strict to avoid mis-classifying a 3080
|
|
156
|
+
* as a 3090, or an A100 as a 4090.
|
|
157
|
+
*/
|
|
158
|
+
export function matchGpuProfile(gpuName) {
|
|
159
|
+
const n = gpuName.toLowerCase();
|
|
160
|
+
if (n.includes("h200"))
|
|
161
|
+
return "h200";
|
|
162
|
+
if (n.includes("rtx 5090") || n.includes("rtx5090"))
|
|
163
|
+
return "rtx-5090";
|
|
164
|
+
if (n.includes("rtx 4090") || n.includes("rtx4090"))
|
|
165
|
+
return "rtx-4090";
|
|
166
|
+
if (n.includes("rtx 3090") || n.includes("rtx3090"))
|
|
167
|
+
return "rtx-3090";
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Returns the headroom (in GiB) a profile reserves for the OS / driver /
|
|
172
|
+
* activations / drafter / N parallel-slot KV. Used for sizing checks
|
|
173
|
+
* before promoting a bundle to "fits" on a card.
|
|
174
|
+
*
|
|
175
|
+
* The figures are deliberate per-tier reserves, not a formula — different
|
|
176
|
+
* cards have different driver overheads (Windows display drivers steal
|
|
177
|
+
* ~1 GiB before workloads even start; H200 SXM has none).
|
|
178
|
+
*/
|
|
179
|
+
export function reservedHeadroomGb(profile) {
|
|
180
|
+
switch (profile.id) {
|
|
181
|
+
case "rtx-3090":
|
|
182
|
+
return 3;
|
|
183
|
+
case "rtx-4090":
|
|
184
|
+
return 3;
|
|
185
|
+
case "rtx-5090":
|
|
186
|
+
return 4;
|
|
187
|
+
case "h200":
|
|
188
|
+
return 6;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=gpu-profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-profiles.js","sourceRoot":"","sources":["../../src/local-inference/gpu-profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace download routing for local-inference bundle fetches.
|
|
3
|
+
*
|
|
4
|
+
* The product never holds a local HuggingFace token. When the device is linked
|
|
5
|
+
* to Eliza Cloud, ALL HuggingFace `resolve` traffic is routed through the cloud
|
|
6
|
+
* HF proxy (`/api/v1/hf-proxy/<repo>/resolve/<rev>/<path>`), which attaches the
|
|
7
|
+
* cloud-side `HF_TOKEN` so gated repos resolve without exposing a token to the
|
|
8
|
+
* client. When the device is not cloud-linked, downloads go directly to the
|
|
9
|
+
* public (ungated) HuggingFace host — the shipping eliza-1 bundles are public.
|
|
10
|
+
*
|
|
11
|
+
* Precedence:
|
|
12
|
+
* 1. `ELIZA_HF_BASE_URL` override (explicit mirror/base) — always wins.
|
|
13
|
+
* 2. Cloud proxy base + bearer — when an Eliza Cloud API key is present.
|
|
14
|
+
* 3. Direct public HuggingFace host — no auth header.
|
|
15
|
+
*
|
|
16
|
+
* The returned `base` is the host (+ optional path prefix) that a
|
|
17
|
+
* `<repo>/resolve/<rev>/<path>` suffix is appended to by the catalog URL
|
|
18
|
+
* builder, so cloud and direct paths share one URL-construction shape.
|
|
19
|
+
*/
|
|
20
|
+
export interface HfDownloadBase {
|
|
21
|
+
/**
|
|
22
|
+
* Base URL the catalog builder appends `<repo>/resolve/<rev>/<path>` to.
|
|
23
|
+
* For the cloud proxy this is `<cloudApi>/hf-proxy`; for direct HF it is the
|
|
24
|
+
* HuggingFace host. Never has a trailing slash.
|
|
25
|
+
*/
|
|
26
|
+
base: string;
|
|
27
|
+
/**
|
|
28
|
+
* Bearer header to send with the request, or `undefined` for the
|
|
29
|
+
* unauthenticated public path. Only the cloud proxy carries auth — the
|
|
30
|
+
* cloud-side `HF_TOKEN` is attached by the Worker, never by the client.
|
|
31
|
+
*/
|
|
32
|
+
authHeader?: {
|
|
33
|
+
authorization: string;
|
|
34
|
+
};
|
|
35
|
+
/** True when traffic is routed through the Eliza Cloud HF proxy. */
|
|
36
|
+
viaCloud: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolve where HuggingFace `resolve` traffic should go and how it should
|
|
40
|
+
* authenticate. See the module doc for precedence.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveHfDownloadBase(): HfDownloadBase;
|
|
43
|
+
//# sourceMappingURL=hf-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hf-proxy.d.ts","sourceRoot":"","sources":["../../src/local-inference/hf-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAWD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAiBtD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HuggingFace download routing for local-inference bundle fetches.
|
|
3
|
+
*
|
|
4
|
+
* The product never holds a local HuggingFace token. When the device is linked
|
|
5
|
+
* to Eliza Cloud, ALL HuggingFace `resolve` traffic is routed through the cloud
|
|
6
|
+
* HF proxy (`/api/v1/hf-proxy/<repo>/resolve/<rev>/<path>`), which attaches the
|
|
7
|
+
* cloud-side `HF_TOKEN` so gated repos resolve without exposing a token to the
|
|
8
|
+
* client. When the device is not cloud-linked, downloads go directly to the
|
|
9
|
+
* public (ungated) HuggingFace host — the shipping eliza-1 bundles are public.
|
|
10
|
+
*
|
|
11
|
+
* Precedence:
|
|
12
|
+
* 1. `ELIZA_HF_BASE_URL` override (explicit mirror/base) — always wins.
|
|
13
|
+
* 2. Cloud proxy base + bearer — when an Eliza Cloud API key is present.
|
|
14
|
+
* 3. Direct public HuggingFace host — no auth header.
|
|
15
|
+
*
|
|
16
|
+
* The returned `base` is the host (+ optional path prefix) that a
|
|
17
|
+
* `<repo>/resolve/<rev>/<path>` suffix is appended to by the catalog URL
|
|
18
|
+
* builder, so cloud and direct paths share one URL-construction shape.
|
|
19
|
+
*/
|
|
20
|
+
import { resolveCloudApiBaseUrl } from "../elizacloud/base-url.js";
|
|
21
|
+
import { getCloudSecret } from "../elizacloud/cloud-secrets.js";
|
|
22
|
+
const DEFAULT_HF_HOST = "https://huggingface.co";
|
|
23
|
+
function trimTrailingSlash(value) {
|
|
24
|
+
return value.replace(/\/+$/, "");
|
|
25
|
+
}
|
|
26
|
+
/** Read the Eliza Cloud API key from the sealed store (falls back to env). */
|
|
27
|
+
function cloudApiKey() {
|
|
28
|
+
return getCloudSecret("ELIZAOS_CLOUD_API_KEY")?.trim() ?? "";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve where HuggingFace `resolve` traffic should go and how it should
|
|
32
|
+
* authenticate. See the module doc for precedence.
|
|
33
|
+
*/
|
|
34
|
+
export function resolveHfDownloadBase() {
|
|
35
|
+
const override = process.env.ELIZA_HF_BASE_URL?.trim();
|
|
36
|
+
if (override) {
|
|
37
|
+
return { base: trimTrailingSlash(override), viaCloud: false };
|
|
38
|
+
}
|
|
39
|
+
const apiKey = cloudApiKey();
|
|
40
|
+
if (apiKey) {
|
|
41
|
+
const cloudApi = resolveCloudApiBaseUrl(process.env.ELIZAOS_CLOUD_BASE_URL);
|
|
42
|
+
return {
|
|
43
|
+
base: `${trimTrailingSlash(cloudApi)}/hf-proxy`,
|
|
44
|
+
authHeader: { authorization: `Bearer ${apiKey}` },
|
|
45
|
+
viaCloud: true,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return { base: DEFAULT_HF_HOST, viaCloud: false };
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=hf-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hf-proxy.js","sourceRoot":"","sources":["../../src/local-inference/hf-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAmBjD,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW;IAClB,OAAO,cAAc,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC5E,OAAO;YACL,IAAI,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,WAAW;YAC/C,UAAU,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;YACjD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-hub authentication helpers.
|
|
3
|
+
*
|
|
4
|
+
* Gated/metered HuggingFace repos require an `Authorization: Bearer <token>`
|
|
5
|
+
* header or they answer `HTTP 401`/`403` (and gated repos are invisible to
|
|
6
|
+
* unauthenticated search, reporting wrong/zero sizes). The token is read from
|
|
7
|
+
* the same env aliases the embedding manager uses
|
|
8
|
+
* (`HF_TOKEN` / `HUGGINGFACE_TOKEN` / `HF_HUB_TOKEN`).
|
|
9
|
+
*
|
|
10
|
+
* The token is **host-gated**: it is only attached to `huggingface.co`
|
|
11
|
+
* requests, never leaked to ModelScope or arbitrary mirrors. Every model
|
|
12
|
+
* download and search path forwards it through {@link resolveHubAuthHeaders}.
|
|
13
|
+
*/
|
|
14
|
+
/** Read the HuggingFace token from the documented env aliases. `""` when unset. */
|
|
15
|
+
export declare function resolveHuggingFaceToken(): string;
|
|
16
|
+
/** True when a configured HuggingFace token is present in the environment. */
|
|
17
|
+
export declare function hasHuggingFaceToken(): boolean;
|
|
18
|
+
/** True when `url` points at huggingface.co (or a subdomain of it). */
|
|
19
|
+
export declare function isHuggingFaceHost(url: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Auth headers for a model-hub request. Returns the bearer header only for
|
|
22
|
+
* huggingface.co URLs when a token is configured; `{}` otherwise (public repos
|
|
23
|
+
* and non-HF hosts are unaffected, and tokens never leak to other hosts).
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveHubAuthHeaders(url: string): Record<string, string>;
|
|
26
|
+
//# sourceMappingURL=hub-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub-auth.d.ts","sourceRoot":"","sources":["../../src/local-inference/hub-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mFAAmF;AACnF,wBAAgB,uBAAuB,IAAI,MAAM,CAQhD;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOtD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIzE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-hub authentication helpers.
|
|
3
|
+
*
|
|
4
|
+
* Gated/metered HuggingFace repos require an `Authorization: Bearer <token>`
|
|
5
|
+
* header or they answer `HTTP 401`/`403` (and gated repos are invisible to
|
|
6
|
+
* unauthenticated search, reporting wrong/zero sizes). The token is read from
|
|
7
|
+
* the same env aliases the embedding manager uses
|
|
8
|
+
* (`HF_TOKEN` / `HUGGINGFACE_TOKEN` / `HF_HUB_TOKEN`).
|
|
9
|
+
*
|
|
10
|
+
* The token is **host-gated**: it is only attached to `huggingface.co`
|
|
11
|
+
* requests, never leaked to ModelScope or arbitrary mirrors. Every model
|
|
12
|
+
* download and search path forwards it through {@link resolveHubAuthHeaders}.
|
|
13
|
+
*/
|
|
14
|
+
/** Read the HuggingFace token from the documented env aliases. `""` when unset. */
|
|
15
|
+
export function resolveHuggingFaceToken() {
|
|
16
|
+
if (typeof process === "undefined" || !process.env)
|
|
17
|
+
return "";
|
|
18
|
+
return (process.env.HF_TOKEN?.trim() ||
|
|
19
|
+
process.env.HUGGINGFACE_TOKEN?.trim() ||
|
|
20
|
+
process.env.HF_HUB_TOKEN?.trim() ||
|
|
21
|
+
"");
|
|
22
|
+
}
|
|
23
|
+
/** True when a configured HuggingFace token is present in the environment. */
|
|
24
|
+
export function hasHuggingFaceToken() {
|
|
25
|
+
return resolveHuggingFaceToken().length > 0;
|
|
26
|
+
}
|
|
27
|
+
/** True when `url` points at huggingface.co (or a subdomain of it). */
|
|
28
|
+
export function isHuggingFaceHost(url) {
|
|
29
|
+
try {
|
|
30
|
+
const host = new URL(url).hostname.toLowerCase();
|
|
31
|
+
return host === "huggingface.co" || host.endsWith(".huggingface.co");
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Auth headers for a model-hub request. Returns the bearer header only for
|
|
39
|
+
* huggingface.co URLs when a token is configured; `{}` otherwise (public repos
|
|
40
|
+
* and non-HF hosts are unaffected, and tokens never leak to other hosts).
|
|
41
|
+
*/
|
|
42
|
+
export function resolveHubAuthHeaders(url) {
|
|
43
|
+
if (!isHuggingFaceHost(url))
|
|
44
|
+
return {};
|
|
45
|
+
const token = resolveHuggingFaceToken();
|
|
46
|
+
return token ? { authorization: `Bearer ${token}` } : {};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=hub-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hub-auth.js","sourceRoot":"","sources":["../../src/local-inference/hub-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,mFAAmF;AACnF,MAAM,UAAU,uBAAuB;IACrC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAC9D,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE;QAChC,EAAE,CACH,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB;IACjC,OAAO,uBAAuB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC"}
|