@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,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simplified per-GPU configuration profiles for the Eliza-1 model family.
|
|
3
|
+
*
|
|
4
|
+
* These profiles describe hardware capabilities and llama-server flag
|
|
5
|
+
* recommendations for four supported NVIDIA cards. They are intentionally
|
|
6
|
+
* separate from the richer YAML-backed `GpuYamlProfile` system in
|
|
7
|
+
* `gpu-profile-loader.ts` — the JSON-style data here is bundled inline
|
|
8
|
+
* (no fs reads, no YAML parser) so it is safe in every environment:
|
|
9
|
+
* mobile runtimes, edge bundles, and server contexts.
|
|
10
|
+
*
|
|
11
|
+
* Selection: use `selectBestProfile(vramGb, cudaCompute)` to pick the
|
|
12
|
+
* most capable profile the detected GPU qualifies for. The result feeds
|
|
13
|
+
* `buildLlamaCppArgs()` to produce a ready-to-use argv array for
|
|
14
|
+
* llama-server. Caller must fill in `--model <path>` separately — this
|
|
15
|
+
* module never references model files.
|
|
16
|
+
*
|
|
17
|
+
* Override: set `ELIZA_GPU_PROFILE=<id>` (e.g. `rtx-4090`) to bypass
|
|
18
|
+
* auto-detection and force a specific profile. `autoSelectProfile()` in
|
|
19
|
+
* `detect.ts` respects this variable.
|
|
20
|
+
*
|
|
21
|
+
* Supported ids: `rtx-3090`, `rtx-4090`, `rtx-5090`, `h200`.
|
|
22
|
+
*/
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Inline profile data — no fs reads at runtime
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
const RTX_3090 = {
|
|
27
|
+
id: "rtx-3090",
|
|
28
|
+
display_name: "NVIDIA RTX 3090",
|
|
29
|
+
vram_gb: 24,
|
|
30
|
+
cuda_compute: "8.6",
|
|
31
|
+
features: ["fp16", "bf16", "int8", "int4"],
|
|
32
|
+
recommended_tiers: {
|
|
33
|
+
primary: "eliza-1-9b",
|
|
34
|
+
secondary: "eliza-1-4b",
|
|
35
|
+
heavy: null,
|
|
36
|
+
},
|
|
37
|
+
llama_cpp_flags: {
|
|
38
|
+
n_gpu_layers: 99,
|
|
39
|
+
tensor_split: null,
|
|
40
|
+
flash_attn: true,
|
|
41
|
+
use_mmap: true,
|
|
42
|
+
numa: false,
|
|
43
|
+
},
|
|
44
|
+
mtp: {
|
|
45
|
+
enabled: true,
|
|
46
|
+
drafter_tier: "eliza-1-2b",
|
|
47
|
+
speculative_window: 5,
|
|
48
|
+
},
|
|
49
|
+
ctx_size_tokens: 32768,
|
|
50
|
+
notes: "24 GB GDDR6X. Best fit is Eliza-1 9B with 4B/2B fallbacks. MTP enabled with the 2B drafter.",
|
|
51
|
+
};
|
|
52
|
+
const RTX_4090 = {
|
|
53
|
+
id: "rtx-4090",
|
|
54
|
+
display_name: "NVIDIA RTX 4090",
|
|
55
|
+
vram_gb: 24,
|
|
56
|
+
cuda_compute: "8.9",
|
|
57
|
+
features: ["fp16", "bf16", "int8", "int4", "fp8"],
|
|
58
|
+
recommended_tiers: {
|
|
59
|
+
primary: "eliza-1-27b",
|
|
60
|
+
secondary: "eliza-1-9b",
|
|
61
|
+
heavy: null,
|
|
62
|
+
},
|
|
63
|
+
llama_cpp_flags: {
|
|
64
|
+
n_gpu_layers: 99,
|
|
65
|
+
tensor_split: null,
|
|
66
|
+
flash_attn: true,
|
|
67
|
+
use_mmap: true,
|
|
68
|
+
numa: false,
|
|
69
|
+
},
|
|
70
|
+
mtp: {
|
|
71
|
+
enabled: true,
|
|
72
|
+
drafter_tier: "eliza-1-2b",
|
|
73
|
+
speculative_window: 6,
|
|
74
|
+
},
|
|
75
|
+
ctx_size_tokens: 65536,
|
|
76
|
+
notes: "24 GB GDDR6X, Ada Lovelace. FP8 available. Runs Eliza-1 27B with compressed KV and keeps 9B/4B as fast fallbacks.",
|
|
77
|
+
};
|
|
78
|
+
const RTX_5090 = {
|
|
79
|
+
id: "rtx-5090",
|
|
80
|
+
display_name: "NVIDIA RTX 5090",
|
|
81
|
+
vram_gb: 32,
|
|
82
|
+
cuda_compute: "12.0",
|
|
83
|
+
features: ["fp16", "bf16", "int8", "int4", "fp8", "fp4"],
|
|
84
|
+
recommended_tiers: {
|
|
85
|
+
primary: "eliza-1-27b-256k",
|
|
86
|
+
secondary: "eliza-1-27b",
|
|
87
|
+
heavy: "eliza-1-9b",
|
|
88
|
+
},
|
|
89
|
+
llama_cpp_flags: {
|
|
90
|
+
n_gpu_layers: 99,
|
|
91
|
+
tensor_split: null,
|
|
92
|
+
flash_attn: true,
|
|
93
|
+
use_mmap: true,
|
|
94
|
+
numa: false,
|
|
95
|
+
},
|
|
96
|
+
mtp: {
|
|
97
|
+
enabled: true,
|
|
98
|
+
drafter_tier: "eliza-1-2b",
|
|
99
|
+
speculative_window: 8,
|
|
100
|
+
},
|
|
101
|
+
ctx_size_tokens: 131072,
|
|
102
|
+
notes: "32 GB GDDR7, Blackwell. FP4 available. Best fit is the 27B 256k bundle with 27B and 9B fallbacks.",
|
|
103
|
+
};
|
|
104
|
+
const H200 = {
|
|
105
|
+
id: "h200",
|
|
106
|
+
display_name: "NVIDIA H200",
|
|
107
|
+
vram_gb: 141,
|
|
108
|
+
cuda_compute: "9.0",
|
|
109
|
+
features: ["fp16", "bf16", "int8", "int4", "fp8"],
|
|
110
|
+
recommended_tiers: {
|
|
111
|
+
primary: "eliza-1-27b-256k",
|
|
112
|
+
secondary: "eliza-1-27b",
|
|
113
|
+
heavy: "eliza-1-9b",
|
|
114
|
+
},
|
|
115
|
+
llama_cpp_flags: {
|
|
116
|
+
n_gpu_layers: 99,
|
|
117
|
+
tensor_split: null,
|
|
118
|
+
flash_attn: true,
|
|
119
|
+
use_mmap: false,
|
|
120
|
+
numa: true,
|
|
121
|
+
},
|
|
122
|
+
mtp: {
|
|
123
|
+
enabled: true,
|
|
124
|
+
drafter_tier: "eliza-1-4b",
|
|
125
|
+
speculative_window: 10,
|
|
126
|
+
},
|
|
127
|
+
ctx_size_tokens: 262144,
|
|
128
|
+
notes: "141 GB HBM3e. SXM5 form factor. Best fit is the 27B 256k bundle (262k natural context). MTP uses the 4B drafter for high throughput.",
|
|
129
|
+
};
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
131
|
+
// Public registry
|
|
132
|
+
// ---------------------------------------------------------------------------
|
|
133
|
+
/**
|
|
134
|
+
* All built-in profiles keyed by id.
|
|
135
|
+
*
|
|
136
|
+
* Data is inlined — no fs reads at runtime — so the map is available in
|
|
137
|
+
* every environment (mobile, edge, server) without extra IO.
|
|
138
|
+
*/
|
|
139
|
+
export const GPU_PROFILES = {
|
|
140
|
+
"rtx-3090": RTX_3090,
|
|
141
|
+
"rtx-4090": RTX_4090,
|
|
142
|
+
"rtx-5090": RTX_5090,
|
|
143
|
+
h200: H200,
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Look up a profile by its canonical id. Returns `null` when the id is
|
|
147
|
+
* not in the built-in registry (including when the caller passes an
|
|
148
|
+
* unrecognised override id from `ELIZA_GPU_PROFILE`).
|
|
149
|
+
*/
|
|
150
|
+
export function getGpuProfile(id) {
|
|
151
|
+
return GPU_PROFILES[id] ?? null;
|
|
152
|
+
}
|
|
153
|
+
// ---------------------------------------------------------------------------
|
|
154
|
+
// Compute-capability comparison helpers
|
|
155
|
+
// ---------------------------------------------------------------------------
|
|
156
|
+
/**
|
|
157
|
+
* Parse a dotted compute-capability string (`"8.9"`) to a single
|
|
158
|
+
* comparable float. Handles both `"8.9"` and `"sm_89"` spellings.
|
|
159
|
+
*/
|
|
160
|
+
function parseCudaCompute(cc) {
|
|
161
|
+
// Strip optional "sm_" prefix used by some tools.
|
|
162
|
+
const cleaned = cc.replace(/^sm_/i, "").replace("_", ".");
|
|
163
|
+
const val = parseFloat(cleaned);
|
|
164
|
+
return Number.isNaN(val) ? -1 : val;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Return the best-fit profile for a detected GPU.
|
|
168
|
+
*
|
|
169
|
+
* "Best fit" = the profile with the highest `vram_gb` that still
|
|
170
|
+
* satisfies both of:
|
|
171
|
+
* 1. `profile.vram_gb <= vramGb` (card has at least as much VRAM)
|
|
172
|
+
* 2. `profile.cuda_compute <= cudaCompute` (card meets compute level)
|
|
173
|
+
*
|
|
174
|
+
* Returns `null` when no profile fits (e.g. only 8 GB VRAM — below all
|
|
175
|
+
* supported cards).
|
|
176
|
+
*/
|
|
177
|
+
export function selectBestProfile(vramGb, cudaCompute) {
|
|
178
|
+
const hostCc = parseCudaCompute(cudaCompute);
|
|
179
|
+
let best = null;
|
|
180
|
+
let bestCc = -1;
|
|
181
|
+
for (const profile of Object.values(GPU_PROFILES)) {
|
|
182
|
+
const profileCc = parseCudaCompute(profile.cuda_compute);
|
|
183
|
+
if (profile.vram_gb > vramGb)
|
|
184
|
+
continue;
|
|
185
|
+
if (profileCc > hostCc)
|
|
186
|
+
continue;
|
|
187
|
+
if (best === null ||
|
|
188
|
+
profile.vram_gb > best.vram_gb ||
|
|
189
|
+
(profile.vram_gb === best.vram_gb && profileCc > bestCc)) {
|
|
190
|
+
best = profile;
|
|
191
|
+
bestCc = profileCc;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return best;
|
|
195
|
+
}
|
|
196
|
+
// ---------------------------------------------------------------------------
|
|
197
|
+
// CLI-flag builder
|
|
198
|
+
// ---------------------------------------------------------------------------
|
|
199
|
+
/**
|
|
200
|
+
* Produce a `llama-server` argv array from a profile.
|
|
201
|
+
*
|
|
202
|
+
* Flags produced (in order):
|
|
203
|
+
* --n-gpu-layers <N>
|
|
204
|
+
* --flash-attn (when flash_attn is true)
|
|
205
|
+
* --no-mmap (when use_mmap is false)
|
|
206
|
+
* --numa (when numa is true)
|
|
207
|
+
* --ctx-size <N>
|
|
208
|
+
*
|
|
209
|
+
* Any value in `overrides` replaces the corresponding profile field
|
|
210
|
+
* before the flags are built — useful for per-call adjustments without
|
|
211
|
+
* modifying the shared profile object.
|
|
212
|
+
*
|
|
213
|
+
* Note: `--model <path>` is intentionally omitted. Callers must append
|
|
214
|
+
* it themselves so this function never needs to touch model files.
|
|
215
|
+
*/
|
|
216
|
+
export function buildLlamaCppArgs(profile, overrides) {
|
|
217
|
+
const flags = overrides
|
|
218
|
+
? { ...profile.llama_cpp_flags, ...overrides }
|
|
219
|
+
: profile.llama_cpp_flags;
|
|
220
|
+
const ctxSize = overrides?.ctx_size_tokens ?? profile.ctx_size_tokens;
|
|
221
|
+
const argv = [];
|
|
222
|
+
argv.push("--n-gpu-layers", String(flags.n_gpu_layers));
|
|
223
|
+
if (flags.flash_attn) {
|
|
224
|
+
argv.push("--flash-attn");
|
|
225
|
+
}
|
|
226
|
+
if (!flags.use_mmap) {
|
|
227
|
+
argv.push("--no-mmap");
|
|
228
|
+
}
|
|
229
|
+
if (flags.numa) {
|
|
230
|
+
argv.push("--numa");
|
|
231
|
+
}
|
|
232
|
+
argv.push("--ctx-size", String(ctxSize));
|
|
233
|
+
return argv;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=gpu-tier-profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-tier-profiles.js","sourceRoot":"","sources":["../../src/local-inference-gpu/gpu-tier-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA8CH,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,MAAM,QAAQ,GAAe;IAC3B,EAAE,EAAE,UAAU;IACd,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1C,iBAAiB,EAAE;QACjB,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,IAAI;KACZ;IACD,eAAe,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,KAAK;KACZ;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,YAAY;QAC1B,kBAAkB,EAAE,CAAC;KACtB;IACD,eAAe,EAAE,KAAK;IACtB,KAAK,EACH,6FAA6F;CAChG,CAAC;AAEF,MAAM,QAAQ,GAAe;IAC3B,EAAE,EAAE,UAAU;IACd,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACjD,iBAAiB,EAAE;QACjB,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,YAAY;QACvB,KAAK,EAAE,IAAI;KACZ;IACD,eAAe,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,KAAK;KACZ;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,YAAY;QAC1B,kBAAkB,EAAE,CAAC;KACtB;IACD,eAAe,EAAE,KAAK;IACtB,KAAK,EACH,mHAAmH;CACtH,CAAC;AAEF,MAAM,QAAQ,GAAe;IAC3B,EAAE,EAAE,UAAU;IACd,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IACxD,iBAAiB,EAAE;QACjB,OAAO,EAAE,kBAAkB;QAC3B,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,YAAY;KACpB;IACD,eAAe,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,KAAK;KACZ;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,YAAY;QAC1B,kBAAkB,EAAE,CAAC;KACtB;IACD,eAAe,EAAE,MAAM;IACvB,KAAK,EACH,mGAAmG;CACtG,CAAC;AAEF,MAAM,IAAI,GAAe;IACvB,EAAE,EAAE,MAAM;IACV,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACjD,iBAAiB,EAAE;QACjB,OAAO,EAAE,kBAAkB;QAC3B,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,YAAY;KACpB;IACD,eAAe,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI;KACX;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,YAAY;QAC1B,kBAAkB,EAAE,EAAE;KACvB;IACD,eAAe,EAAE,MAAM;IACvB,KAAK,EACH,sIAAsI;CACzI,CAAC;AAEF,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,gBAAgB,CAAC,EAAU;IAClC,kDAAkD;IAClD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,WAAmB;IAEnB,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,IAAI,GAAsB,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,OAAO,GAAG,MAAM;YAAE,SAAS;QACvC,IAAI,SAAS,GAAG,MAAM;YAAE,SAAS;QACjC,IACE,IAAI,KAAK,IAAI;YACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YAC9B,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,MAAM,CAAC,EACxD,CAAC;YACD,IAAI,GAAG,OAAO,CAAC;YACf,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAmB,EACnB,SAEC;IAED,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,SAAS,EAAE;QAC9C,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC5B,MAAM,OAAO,GAAG,SAAS,EAAE,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAEtE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAExD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEzC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Same-machine ("loopback") request trust evaluation.
|
|
3
|
+
*
|
|
4
|
+
* This is a SECURITY BOUNDARY: it decides whether an unauthenticated HTTP
|
|
5
|
+
* request is allowed to act as the local dashboard owner. Previously the exact
|
|
6
|
+
* same logic was triplicated across `@elizaos/app-core` (`compat-route-shared`)
|
|
7
|
+
* and `@elizaos/agent` (`server-helpers-auth`), with subtly divergent env-policy
|
|
8
|
+
* gates and a non-equivalent `isLoopbackBindHost`. The divergence was a parity
|
|
9
|
+
* hazard, so the logic is unified here and parameterised so each consumer keeps
|
|
10
|
+
* its EXACT prior trust decisions.
|
|
11
|
+
*
|
|
12
|
+
* The two consumers differ ONLY in their policy gates, expressed via
|
|
13
|
+
* {@link LoopbackTrustOptions}:
|
|
14
|
+
* - app-core: requireLocalAuthEnv + devAuthBypassEnv, cloudCheck "env"
|
|
15
|
+
* (`ELIZA_CLOUD_PROVISIONED === "1"`).
|
|
16
|
+
* - agent: requireLocalAuthEnv (no dev bypass), cloudCheck "container"
|
|
17
|
+
* (`isCloudProvisionedContainer()` — flag AND a provisioning token).
|
|
18
|
+
*
|
|
19
|
+
* The host/origin classification (`isLoopbackBindHost`) is the canonical strict
|
|
20
|
+
* implementation from `runtime-env.ts` for BOTH consumers. For app-core this is
|
|
21
|
+
* byte-identical (it already imported the shared helper). For the agent this is
|
|
22
|
+
* a strict tightening in the safe direction: the agent's hand-rolled copy
|
|
23
|
+
* accepted any `127.*`-prefixed host string (e.g. the DNS-rebinding host
|
|
24
|
+
* `127.0.0.1.evil.com`), which the strict parser correctly rejects. The change
|
|
25
|
+
* can only ever turn a previously-trusted request into an untrusted one, never
|
|
26
|
+
* the reverse.
|
|
27
|
+
*/
|
|
28
|
+
import type http from "node:http";
|
|
29
|
+
export interface LoopbackTrustOptions {
|
|
30
|
+
/**
|
|
31
|
+
* When true, deny local trust if `ELIZA_REQUIRE_LOCAL_AUTH === "1"`. On-device
|
|
32
|
+
* local agents (Android) set this flag alongside a per-boot API token because
|
|
33
|
+
* the loopback interface is shared with every other app on the device, so
|
|
34
|
+
* loopback alone is NOT a trust signal there.
|
|
35
|
+
*/
|
|
36
|
+
requireLocalAuthEnv: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* When true, `ELIZA_DEV_AUTH_BYPASS === "1"` in a development `NODE_ENV`
|
|
39
|
+
* overrides {@link requireLocalAuthEnv}, restoring local trust for the dev
|
|
40
|
+
* dashboard. Only app-core honours this; the agent never does.
|
|
41
|
+
*/
|
|
42
|
+
devAuthBypassEnv: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Cloud-container detection strategy. `"env"` trusts the raw
|
|
45
|
+
* `ELIZA_CLOUD_PROVISIONED` flag; `"container"` requires the flag AND a
|
|
46
|
+
* provisioning token (see {@link isCloudProvisionedContainer}). These are
|
|
47
|
+
* DIFFERENT semantics — do not swap them between consumers.
|
|
48
|
+
*/
|
|
49
|
+
cloudCheck: "env" | "container";
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* True when any proxy-style client-IP header carries a non-loopback (or
|
|
53
|
+
* unparseable) address. A request that reaches a same-machine listener but
|
|
54
|
+
* advertises a remote client behind a proxy must NOT be granted local trust.
|
|
55
|
+
*/
|
|
56
|
+
export declare function proxyClientHeaderBlocksLocalTrust(headers: http.IncomingHttpHeaders): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* True when the TCP peer address is a loopback address. Note this is stricter
|
|
59
|
+
* than {@link isLoopbackBindHost}: it matches only fully-normalised loopback
|
|
60
|
+
* addresses (no host:port or URL forms), since `socket.remoteAddress` is always
|
|
61
|
+
* a bare IP.
|
|
62
|
+
*/
|
|
63
|
+
export declare function isLoopbackRemoteAddress(remoteAddress: string | null | undefined): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Same-machine dashboard access. Intentionally stricter than a bare
|
|
66
|
+
* `remoteAddress` check: the browser must also target a loopback Host and must
|
|
67
|
+
* not present cross-site browser metadata or proxy client-IP headers.
|
|
68
|
+
*
|
|
69
|
+
* Each consumer supplies {@link LoopbackTrustOptions} matching its historical
|
|
70
|
+
* policy gates; the host/origin/proxy classification is identical for all.
|
|
71
|
+
*/
|
|
72
|
+
export declare function isTrustedLocalRequest(req: Pick<http.IncomingMessage, "headers" | "socket">, options: LoopbackTrustOptions): boolean;
|
|
73
|
+
//# sourceMappingURL=loopback-trust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopback-trust.d.ts","sourceRoot":"","sources":["../src/loopback-trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,EAAE,KAAK,GAAG,WAAW,CAAC;CACjC;AA6HD;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAChC,OAAO,CAkBT;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAUT;AA0CD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,EACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAqBT"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Same-machine ("loopback") request trust evaluation.
|
|
3
|
+
*
|
|
4
|
+
* This is a SECURITY BOUNDARY: it decides whether an unauthenticated HTTP
|
|
5
|
+
* request is allowed to act as the local dashboard owner. Previously the exact
|
|
6
|
+
* same logic was triplicated across `@elizaos/app-core` (`compat-route-shared`)
|
|
7
|
+
* and `@elizaos/agent` (`server-helpers-auth`), with subtly divergent env-policy
|
|
8
|
+
* gates and a non-equivalent `isLoopbackBindHost`. The divergence was a parity
|
|
9
|
+
* hazard, so the logic is unified here and parameterised so each consumer keeps
|
|
10
|
+
* its EXACT prior trust decisions.
|
|
11
|
+
*
|
|
12
|
+
* The two consumers differ ONLY in their policy gates, expressed via
|
|
13
|
+
* {@link LoopbackTrustOptions}:
|
|
14
|
+
* - app-core: requireLocalAuthEnv + devAuthBypassEnv, cloudCheck "env"
|
|
15
|
+
* (`ELIZA_CLOUD_PROVISIONED === "1"`).
|
|
16
|
+
* - agent: requireLocalAuthEnv (no dev bypass), cloudCheck "container"
|
|
17
|
+
* (`isCloudProvisionedContainer()` — flag AND a provisioning token).
|
|
18
|
+
*
|
|
19
|
+
* The host/origin classification (`isLoopbackBindHost`) is the canonical strict
|
|
20
|
+
* implementation from `runtime-env.ts` for BOTH consumers. For app-core this is
|
|
21
|
+
* byte-identical (it already imported the shared helper). For the agent this is
|
|
22
|
+
* a strict tightening in the safe direction: the agent's hand-rolled copy
|
|
23
|
+
* accepted any `127.*`-prefixed host string (e.g. the DNS-rebinding host
|
|
24
|
+
* `127.0.0.1.evil.com`), which the strict parser correctly rejects. The change
|
|
25
|
+
* can only ever turn a previously-trusted request into an untrusted one, never
|
|
26
|
+
* the reverse.
|
|
27
|
+
*/
|
|
28
|
+
import { isIP } from "node:net";
|
|
29
|
+
import { isCloudProvisionedContainer } from "./elizacloud/cloud-provisioning.js";
|
|
30
|
+
import { isLoopbackBindHost } from "./runtime-env.js";
|
|
31
|
+
function firstHeaderValue(value) {
|
|
32
|
+
if (typeof value === "string")
|
|
33
|
+
return value;
|
|
34
|
+
if (Array.isArray(value) && typeof value[0] === "string")
|
|
35
|
+
return value[0];
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const CLIENT_IP_PROXY_HEADERS = new Set([
|
|
39
|
+
"forwarded",
|
|
40
|
+
"forwarded-for",
|
|
41
|
+
"x-forwarded",
|
|
42
|
+
"x-forwarded-for",
|
|
43
|
+
"x-original-forwarded-for",
|
|
44
|
+
"x-real-ip",
|
|
45
|
+
"x-client-ip",
|
|
46
|
+
"x-forwarded-client-ip",
|
|
47
|
+
"x-cluster-client-ip",
|
|
48
|
+
"cf-connecting-ip",
|
|
49
|
+
"true-client-ip",
|
|
50
|
+
"fastly-client-ip",
|
|
51
|
+
"x-appengine-user-ip",
|
|
52
|
+
"x-azure-clientip",
|
|
53
|
+
]);
|
|
54
|
+
function headerValues(value) {
|
|
55
|
+
if (typeof value === "string")
|
|
56
|
+
return [value];
|
|
57
|
+
if (Array.isArray(value)) {
|
|
58
|
+
return value.filter((item) => typeof item === "string");
|
|
59
|
+
}
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
function isClientIpProxyHeaderName(name) {
|
|
63
|
+
const normalized = name.toLowerCase();
|
|
64
|
+
return (CLIENT_IP_PROXY_HEADERS.has(normalized) ||
|
|
65
|
+
normalized.endsWith("-client-ip") ||
|
|
66
|
+
normalized.endsWith("-connecting-ip") ||
|
|
67
|
+
normalized.endsWith("-real-ip"));
|
|
68
|
+
}
|
|
69
|
+
function extractForwardedForCandidates(raw) {
|
|
70
|
+
const candidates = [];
|
|
71
|
+
const pattern = /(?:^|[;,])\s*for=(?:"([^"]*)"|([^;,]*))/gi;
|
|
72
|
+
for (const match of raw.matchAll(pattern)) {
|
|
73
|
+
candidates.push(match[1] ?? match[2] ?? "");
|
|
74
|
+
}
|
|
75
|
+
return candidates;
|
|
76
|
+
}
|
|
77
|
+
function extractProxyClientAddressCandidates(headerName, raw) {
|
|
78
|
+
if (headerName === "forwarded") {
|
|
79
|
+
return extractForwardedForCandidates(raw);
|
|
80
|
+
}
|
|
81
|
+
const forwardedCandidates = raw.toLowerCase().includes("for=")
|
|
82
|
+
? extractForwardedForCandidates(raw)
|
|
83
|
+
: [];
|
|
84
|
+
if (forwardedCandidates.length > 0)
|
|
85
|
+
return forwardedCandidates;
|
|
86
|
+
return raw.split(",");
|
|
87
|
+
}
|
|
88
|
+
function stripMatchingQuotes(value) {
|
|
89
|
+
const trimmed = value.trim();
|
|
90
|
+
if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
|
|
91
|
+
(trimmed.startsWith("'") && trimmed.endsWith("'"))) {
|
|
92
|
+
return trimmed.slice(1, -1);
|
|
93
|
+
}
|
|
94
|
+
return trimmed;
|
|
95
|
+
}
|
|
96
|
+
function isNeutralProxyClientAddress(raw) {
|
|
97
|
+
const normalized = stripMatchingQuotes(raw).trim().toLowerCase();
|
|
98
|
+
return (!normalized ||
|
|
99
|
+
normalized === "unknown" ||
|
|
100
|
+
normalized === "null" ||
|
|
101
|
+
normalized.startsWith("_"));
|
|
102
|
+
}
|
|
103
|
+
function normalizeProxyClientIp(raw) {
|
|
104
|
+
let normalized = stripMatchingQuotes(raw).trim();
|
|
105
|
+
if (!normalized)
|
|
106
|
+
return null;
|
|
107
|
+
if (normalized.startsWith("[")) {
|
|
108
|
+
const close = normalized.indexOf("]");
|
|
109
|
+
if (close > 0) {
|
|
110
|
+
normalized = normalized.slice(1, close);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
const ipv4HostPort = /^(\d{1,3}(?:\.\d{1,3}){3})(?::\d+)$/.exec(normalized);
|
|
115
|
+
if (ipv4HostPort?.[1]) {
|
|
116
|
+
normalized = ipv4HostPort[1];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const zoneIndex = normalized.indexOf("%");
|
|
120
|
+
if (zoneIndex >= 0) {
|
|
121
|
+
normalized = normalized.slice(0, zoneIndex);
|
|
122
|
+
}
|
|
123
|
+
normalized = normalized.trim().toLowerCase();
|
|
124
|
+
return isIP(normalized) ? normalized : null;
|
|
125
|
+
}
|
|
126
|
+
function isLoopbackProxyClientIp(ip) {
|
|
127
|
+
const normalized = ip.trim().toLowerCase();
|
|
128
|
+
return (normalized === "::1" ||
|
|
129
|
+
normalized === "0:0:0:0:0:0:0:1" ||
|
|
130
|
+
normalized.startsWith("127.") ||
|
|
131
|
+
normalized.startsWith("::ffff:127.") ||
|
|
132
|
+
normalized.startsWith("::ffff:0:127."));
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* True when any proxy-style client-IP header carries a non-loopback (or
|
|
136
|
+
* unparseable) address. A request that reaches a same-machine listener but
|
|
137
|
+
* advertises a remote client behind a proxy must NOT be granted local trust.
|
|
138
|
+
*/
|
|
139
|
+
export function proxyClientHeaderBlocksLocalTrust(headers) {
|
|
140
|
+
for (const [rawName, rawValue] of Object.entries(headers)) {
|
|
141
|
+
const headerName = rawName.toLowerCase();
|
|
142
|
+
if (!isClientIpProxyHeaderName(headerName))
|
|
143
|
+
continue;
|
|
144
|
+
for (const value of headerValues(rawValue)) {
|
|
145
|
+
for (const candidate of extractProxyClientAddressCandidates(headerName, value)) {
|
|
146
|
+
if (isNeutralProxyClientAddress(candidate))
|
|
147
|
+
continue;
|
|
148
|
+
const ip = normalizeProxyClientIp(candidate);
|
|
149
|
+
if (!ip || !isLoopbackProxyClientIp(ip))
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* True when the TCP peer address is a loopback address. Note this is stricter
|
|
158
|
+
* than {@link isLoopbackBindHost}: it matches only fully-normalised loopback
|
|
159
|
+
* addresses (no host:port or URL forms), since `socket.remoteAddress` is always
|
|
160
|
+
* a bare IP.
|
|
161
|
+
*/
|
|
162
|
+
export function isLoopbackRemoteAddress(remoteAddress) {
|
|
163
|
+
if (!remoteAddress)
|
|
164
|
+
return false;
|
|
165
|
+
const normalized = remoteAddress.trim().toLowerCase();
|
|
166
|
+
return (normalized === "127.0.0.1" ||
|
|
167
|
+
normalized === "::1" ||
|
|
168
|
+
normalized === "0:0:0:0:0:0:0:1" ||
|
|
169
|
+
normalized === "::ffff:127.0.0.1" ||
|
|
170
|
+
normalized === "::ffff:0:127.0.0.1");
|
|
171
|
+
}
|
|
172
|
+
const LOCAL_APP_PROTOCOLS = new Set([
|
|
173
|
+
"file:",
|
|
174
|
+
"app:",
|
|
175
|
+
"tauri:",
|
|
176
|
+
"capacitor:",
|
|
177
|
+
"capacitor-electron:",
|
|
178
|
+
"electrobun:",
|
|
179
|
+
]);
|
|
180
|
+
function isTrustedLocalOrigin(raw) {
|
|
181
|
+
const trimmed = raw.trim();
|
|
182
|
+
if (!trimmed || trimmed === "null")
|
|
183
|
+
return true;
|
|
184
|
+
try {
|
|
185
|
+
const parsed = new URL(trimmed);
|
|
186
|
+
if (LOCAL_APP_PROTOCOLS.has(parsed.protocol)) {
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
return isLoopbackBindHost(parsed.hostname);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function cloudBlocksLocalTrust(cloudCheck) {
|
|
196
|
+
if (cloudCheck === "container")
|
|
197
|
+
return isCloudProvisionedContainer();
|
|
198
|
+
return process.env.ELIZA_CLOUD_PROVISIONED === "1";
|
|
199
|
+
}
|
|
200
|
+
function localAuthRequired(options) {
|
|
201
|
+
if (!options.requireLocalAuthEnv)
|
|
202
|
+
return false;
|
|
203
|
+
if (options.devAuthBypassEnv &&
|
|
204
|
+
process.env.ELIZA_DEV_AUTH_BYPASS === "1" &&
|
|
205
|
+
(process.env.NODE_ENV === "development" || process.env.NODE_ENV === "dev")) {
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
return process.env.ELIZA_REQUIRE_LOCAL_AUTH === "1";
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Same-machine dashboard access. Intentionally stricter than a bare
|
|
212
|
+
* `remoteAddress` check: the browser must also target a loopback Host and must
|
|
213
|
+
* not present cross-site browser metadata or proxy client-IP headers.
|
|
214
|
+
*
|
|
215
|
+
* Each consumer supplies {@link LoopbackTrustOptions} matching its historical
|
|
216
|
+
* policy gates; the host/origin/proxy classification is identical for all.
|
|
217
|
+
*/
|
|
218
|
+
export function isTrustedLocalRequest(req, options) {
|
|
219
|
+
if (localAuthRequired(options))
|
|
220
|
+
return false;
|
|
221
|
+
if (cloudBlocksLocalTrust(options.cloudCheck))
|
|
222
|
+
return false;
|
|
223
|
+
if (!isLoopbackRemoteAddress(req.socket.remoteAddress))
|
|
224
|
+
return false;
|
|
225
|
+
if (proxyClientHeaderBlocksLocalTrust(req.headers))
|
|
226
|
+
return false;
|
|
227
|
+
const host = firstHeaderValue(req.headers.host);
|
|
228
|
+
if (host && !isLoopbackBindHost(host))
|
|
229
|
+
return false;
|
|
230
|
+
const secFetchSite = firstHeaderValue(req.headers["sec-fetch-site"])?.toLowerCase();
|
|
231
|
+
if (secFetchSite === "cross-site")
|
|
232
|
+
return false;
|
|
233
|
+
const origin = firstHeaderValue(req.headers.origin);
|
|
234
|
+
if (origin && !isTrustedLocalOrigin(origin))
|
|
235
|
+
return false;
|
|
236
|
+
const referer = firstHeaderValue(req.headers.referer);
|
|
237
|
+
if (!origin && referer && !isTrustedLocalOrigin(referer))
|
|
238
|
+
return false;
|
|
239
|
+
return true;
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=loopback-trust.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loopback-trust.js","sourceRoot":"","sources":["../src/loopback-trust.ts"],"names":[],"mappings":"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"}
|