@elizaos/shared 2.0.0-beta.1 → 2.0.3-beta.2
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 +350 -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 +74 -0
- package/config/boot-config-store.d.ts.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 +1152 -0
- package/contracts/apps.d.ts.map +1 -0
- package/contracts/apps.js +457 -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 +195 -0
- package/contracts/conversation-routes.d.ts.map +1 -0
- package/contracts/conversation-routes.js +107 -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/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/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 +103 -0
- package/index.d.ts.map +1 -0
- package/index.js +136 -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 +97 -0
- package/local-inference/catalog.d.ts.map +1 -0
- package/local-inference/catalog.js +510 -0
- package/local-inference/catalog.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/index.d.ts +21 -0
- package/local-inference/index.d.ts.map +1 -0
- package/local-inference/index.js +18 -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 +38 -0
- package/local-inference/routing-preferences.d.ts.map +1 -0
- package/local-inference/routing-preferences.js +90 -0
- package/local-inference/routing-preferences.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 +510 -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 +746 -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/package.json +127 -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/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 +172 -0
- package/steward-session-client/index.d.ts.map +1 -0
- package/steward-session-client/index.js +248 -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-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 +139 -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.map +1 -0
- package/utils/env.js +142 -0
- package/utils/env.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/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 +360 -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/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-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/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/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/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/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.map +0 -1
- package/dist/utils/env.js +0 -131
- package/dist/utils/env.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-store.js +0 -0
- /package/{dist/config → config}/boot-config-store.js.map +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/env-utils.d.ts → env-utils.d.ts} +0 -0
- /package/{dist/env-utils.d.ts.map → env-utils.d.ts.map} +0 -0
- /package/{dist/env-utils.js → env-utils.js} +0 -0
- /package/{dist/env-utils.js.map → env-utils.js.map} +0 -0
- /package/{dist/format-error.d.ts → format-error.d.ts} +0 -0
- /package/{dist/format-error.d.ts.map → format-error.d.ts.map} +0 -0
- /package/{dist/format-error.js → format-error.js} +0 -0
- /package/{dist/format-error.js.map → format-error.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/settings-debug.d.ts → settings-debug.d.ts} +0 -0
- /package/{dist/settings-debug.d.ts.map → settings-debug.d.ts.map} +0 -0
- /package/{dist/settings-debug.js → settings-debug.js} +0 -0
- /package/{dist/settings-debug.js.map → settings-debug.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}/env.d.ts +0 -0
- /package/{dist/utils → utils}/errors.d.ts +0 -0
- /package/{dist/utils → utils}/errors.d.ts.map +0 -0
- /package/{dist/utils → utils}/errors.js +0 -0
- /package/{dist/utils → utils}/errors.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,73 @@
|
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
/**
|
|
3
|
+
* TTS pipeline tracing (opt-in). Prefix: `[eliza][tts]`.
|
|
4
|
+
* Never pass secrets in `detail`. With debug on, `preview` fields may contain
|
|
5
|
+
* user-visible spoken text — disable in shared logs / production.
|
|
6
|
+
*
|
|
7
|
+
* Playback phases (browser console): `play:web-audio:start|end` (ElevenLabs /
|
|
8
|
+
* cloud MP3), `speakBrowser:enter`, `play:browser:web-speech:enqueued`,
|
|
9
|
+
* `play:browser:speechSynthesis:start|end|error`, `play:talkmode:dispatch|speak-failed`,
|
|
10
|
+
* `play:browser:no-synth`. Server logs: `server:cloud-tts:*` (includes optional
|
|
11
|
+
* `messageId`, `clipSegment`, `hearingFull` when the client sends
|
|
12
|
+
* `x-elizaos-tts-*` headers on `/api/tts/cloud`), ChatView: `chat:*`.
|
|
13
|
+
*
|
|
14
|
+
* Enable with:
|
|
15
|
+
* - **Node / API:** `ELIZA_TTS_DEBUG=1` (or `true`, `yes`, `on`) — logs appear in the API
|
|
16
|
+
* terminal / `[api]` aggregator only for **server** routes (e.g. `server:cloud-tts:*`).
|
|
17
|
+
* - **Renderer (WebView / browser):** same env is mirrored via Vite `define` in
|
|
18
|
+
* `apps/app/vite.config.ts` when you start dev with `ELIZA_TTS_DEBUG=1`. Those lines
|
|
19
|
+
* go to the **renderer** JavaScript console (Electrobun: Web Inspector on the window),
|
|
20
|
+
* not `LOG_LEVEL` on the API process alone.
|
|
21
|
+
*/
|
|
22
|
+
function ttsDebugEnabled() {
|
|
23
|
+
const truthy = (raw) => {
|
|
24
|
+
if (raw == null)
|
|
25
|
+
return false;
|
|
26
|
+
const v = String(raw).trim().toLowerCase();
|
|
27
|
+
return v === "1" || v === "true" || v === "yes" || v === "on";
|
|
28
|
+
};
|
|
29
|
+
if (typeof process !== "undefined" && process.env) {
|
|
30
|
+
if (truthy(process.env.ELIZA_TTS_DEBUG))
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
// Use static `import.meta.env.*` so Vite `define` can replace ELIZA_TTS_DEBUG at build time.
|
|
35
|
+
if (truthy(String(import.meta.env.ELIZA_TTS_DEBUG ?? "")))
|
|
36
|
+
return true;
|
|
37
|
+
if (truthy(String(import.meta.env.VITE_ELIZA_TTS_DEBUG ?? "")))
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
/* no import.meta */
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
/** Same predicate as `ttsDebug` — use to attach optional debug headers / task metadata. */
|
|
46
|
+
export function isTtsDebugEnabled() {
|
|
47
|
+
return ttsDebugEnabled();
|
|
48
|
+
}
|
|
49
|
+
const DEFAULT_PREVIEW_MAX = 160;
|
|
50
|
+
/**
|
|
51
|
+
* Single-line preview of text for TTS debug logs (avoids huge console lines).
|
|
52
|
+
* Enable `ELIZA_TTS_DEBUG` only when you accept that spoken lines may appear in logs.
|
|
53
|
+
*/
|
|
54
|
+
export function ttsDebugTextPreview(text, maxChars = DEFAULT_PREVIEW_MAX) {
|
|
55
|
+
const singleLine = text.replace(/\r?\n/g, "↵ ").replace(/\s+/g, " ").trim();
|
|
56
|
+
if (singleLine.length <= maxChars)
|
|
57
|
+
return singleLine;
|
|
58
|
+
return `${singleLine.slice(0, maxChars)}…`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Sink for TTS debug output. Set by the host app (e.g. pino on the server,
|
|
62
|
+
* Web Inspector in the renderer). Null disables debug output.
|
|
63
|
+
*/
|
|
64
|
+
let _ttsSink = null;
|
|
65
|
+
export function setTtsDebugSink(sink) {
|
|
66
|
+
_ttsSink = sink;
|
|
67
|
+
}
|
|
68
|
+
export function ttsDebug(phase, detail) {
|
|
69
|
+
if (!ttsDebugEnabled() || !_ttsSink)
|
|
70
|
+
return;
|
|
71
|
+
_ttsSink(phase, detail);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=tts-debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tts-debug.js","sourceRoot":"","sources":["../../src/utils/tts-debug.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,eAAe;IACtB,MAAM,MAAM,GAAG,CAAC,GAA8B,EAAW,EAAE;QACzD,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;IAChE,CAAC,CAAC;IAEF,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,CAAC;QACH,6FAA6F;QAC7F,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACvE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,WAAmB,mBAAmB;IAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,IAAI,QAAQ,GAED,IAAI,CAAC;AAEhB,MAAM,UAAU,eAAe,CAC7B,IAAwE;IAExE,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAAa,EACb,MAAgC;IAEhC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ;QAAE,OAAO;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branded hero-image generator for plugin **views**.
|
|
3
|
+
*
|
|
4
|
+
* A view is a mini-app contributed by a plugin (`Plugin.views`). Each one is
|
|
5
|
+
* served a square hero image at `/api/views/<id>/hero`. Real heroes live in the
|
|
6
|
+
* plugin at `assets/hero.<ext>`; when a plugin ships none, the agent serves a
|
|
7
|
+
* generated SVG produced here so the catalog never shows a broken or ugly tile.
|
|
8
|
+
*
|
|
9
|
+
* The composition is intentionally **no-blue-dominant** (the app surface forbids
|
|
10
|
+
* blue accents — orange/jewel tones only) and **deterministic**: the same input
|
|
11
|
+
* always yields byte-identical output, so `scripts/generate-view-heroes.mjs`
|
|
12
|
+
* (which commits real heroes into plugins) and the runtime fallback render the
|
|
13
|
+
* exact same art. This is the single source of truth for that art — the script
|
|
14
|
+
* and the agent both import `renderViewHeroSvg` from here.
|
|
15
|
+
*
|
|
16
|
+
* Pure string generation only: no Node APIs, so this module stays importable
|
|
17
|
+
* from the runtime-agnostic `@elizaos/shared` barrel (browser + server).
|
|
18
|
+
*/
|
|
19
|
+
export interface ViewHeroFrameInput {
|
|
20
|
+
/** Stable slug used to namespace SVG gradient/filter ids. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** Accent hue (0–359). Keep out of the pure-blue band for the app surface. */
|
|
23
|
+
hue: number;
|
|
24
|
+
/** Inline SVG markup for the centered line-icon glyph. */
|
|
25
|
+
iconSvg: string;
|
|
26
|
+
/** Display label rendered along the bottom. */
|
|
27
|
+
label: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Render the full branded hero SVG. Shared chrome (defs, background, depth
|
|
31
|
+
* blobs, faint grid, accent arc, bottom label + vignette) with the icon glyph
|
|
32
|
+
* slotted in. Output is deterministic and byte-identical for identical input.
|
|
33
|
+
*/
|
|
34
|
+
export declare function renderViewHeroSvg({ id, hue, iconSvg, label, }: ViewHeroFrameInput): string;
|
|
35
|
+
/**
|
|
36
|
+
* Hand-drawn vector line-icons, centered at (0,0) spanning roughly -150..150.
|
|
37
|
+
* Each inherits stroke styling from the parent <g>; fills are set explicitly
|
|
38
|
+
* where a filled glyph reads better. Keyed names map to the catalog below.
|
|
39
|
+
*/
|
|
40
|
+
export declare const VIEW_HERO_ICONS: {
|
|
41
|
+
readonly modelTester: " <rect x=\"-110\" y=\"-110\" width=\"220\" height=\"220\" rx=\"28\"/>\n <rect x=\"-58\" y=\"-58\" width=\"116\" height=\"116\" rx=\"14\"/>\n <line x1=\"-110\" y1=\"-66\" x2=\"-150\" y2=\"-66\"/>\n <line x1=\"-110\" y1=\"0\" x2=\"-150\" y2=\"0\"/>\n <line x1=\"-110\" y1=\"66\" x2=\"-150\" y2=\"66\"/>\n <line x1=\"110\" y1=\"-66\" x2=\"150\" y2=\"-66\"/>\n <line x1=\"110\" y1=\"0\" x2=\"150\" y2=\"0\"/>\n <line x1=\"110\" y1=\"66\" x2=\"150\" y2=\"66\"/>\n <line x1=\"-66\" y1=\"-110\" x2=\"-66\" y2=\"-150\"/>\n <line x1=\"0\" y1=\"-110\" x2=\"0\" y2=\"-150\"/>\n <line x1=\"66\" y1=\"-110\" x2=\"66\" y2=\"-150\"/>\n <line x1=\"-66\" y1=\"110\" x2=\"-66\" y2=\"150\"/>\n <line x1=\"0\" y1=\"110\" x2=\"0\" y2=\"150\"/>\n <line x1=\"66\" y1=\"110\" x2=\"66\" y2=\"150\"/>\n <circle cx=\"0\" cy=\"0\" r=\"14\" stroke-width=\"0\" fill=\"currentColor\"/>";
|
|
42
|
+
readonly views: " <rect x=\"-150\" y=\"-150\" width=\"130\" height=\"130\" rx=\"18\"/>\n <rect x=\"20\" y=\"-150\" width=\"130\" height=\"130\" rx=\"18\"/>\n <rect x=\"-150\" y=\"20\" width=\"130\" height=\"130\" rx=\"18\"/>\n <rect x=\"20\" y=\"20\" width=\"130\" height=\"130\" rx=\"18\"/>";
|
|
43
|
+
readonly focus: " <path d=\"M0 -150 L130 -100 L130 24 C130 110 70 152 0 175 C-70 152 -130 110 -130 24 L-130 -100 Z\"/>\n <circle cx=\"0\" cy=\"-2\" r=\"34\"/>\n <line x1=\"-92\" y1=\"-96\" x2=\"96\" y2=\"120\"/>";
|
|
44
|
+
readonly calendar: " <rect x=\"-140\" y=\"-118\" width=\"280\" height=\"248\" rx=\"24\"/>\n <line x1=\"-140\" y1=\"-52\" x2=\"140\" y2=\"-52\"/>\n <line x1=\"-78\" y1=\"-150\" x2=\"-78\" y2=\"-92\"/>\n <line x1=\"78\" y1=\"-150\" x2=\"78\" y2=\"-92\"/>\n <circle cx=\"-66\" cy=\"6\" r=\"11\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"0\" cy=\"6\" r=\"11\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"66\" cy=\"6\" r=\"11\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"-66\" cy=\"72\" r=\"11\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"0\" cy=\"72\" r=\"11\" stroke-width=\"0\" fill=\"currentColor\"/>";
|
|
45
|
+
readonly headphones: " <path d=\"M-140 30 V-10 A140 140 0 0 1 140 -10 V30\"/>\n <rect x=\"-160\" y=\"26\" width=\"58\" height=\"110\" rx=\"26\" fill=\"currentColor\" stroke-width=\"0\"/>\n <rect x=\"102\" y=\"26\" width=\"58\" height=\"110\" rx=\"26\" fill=\"currentColor\" stroke-width=\"0\"/>\n <rect x=\"-160\" y=\"26\" width=\"58\" height=\"110\" rx=\"26\"/>\n <rect x=\"102\" y=\"26\" width=\"58\" height=\"110\" rx=\"26\"/>";
|
|
46
|
+
readonly glasses: " <circle cx=\"-86\" cy=\"20\" r=\"68\"/>\n <circle cx=\"86\" cy=\"20\" r=\"68\"/>\n <path d=\"M-18 20 Q0 -2 18 20\"/>\n <line x1=\"-154\" y1=\"-12\" x2=\"-180\" y2=\"-44\"/>\n <line x1=\"154\" y1=\"-12\" x2=\"180\" y2=\"-44\"/>";
|
|
47
|
+
readonly finances: " <polyline points=\"-150,-150 -150,150 150,150\"/>\n <polyline points=\"-118,86 -50,-2 6,52 76,-62 132,-104\" fill=\"none\"/>\n <circle cx=\"-50\" cy=\"-2\" r=\"13\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"76\" cy=\"-62\" r=\"13\" stroke-width=\"0\" fill=\"currentColor\"/>\n <circle cx=\"132\" cy=\"-104\" r=\"13\" stroke-width=\"0\" fill=\"currentColor\"/>";
|
|
48
|
+
readonly goals: " <circle cx=\"0\" cy=\"0\" r=\"150\"/>\n <circle cx=\"0\" cy=\"0\" r=\"92\"/>\n <circle cx=\"0\" cy=\"0\" r=\"34\"/>\n <circle cx=\"0\" cy=\"0\" r=\"9\" stroke-width=\"0\" fill=\"currentColor\"/>";
|
|
49
|
+
readonly health: " <path d=\"M0 150 C-180 18 -120 -120 0 -52 C120 -120 180 18 0 150 Z\"/>\n <polyline points=\"-150,-10 -64,-10 -28,-58 14,52 48,-10 150,-10\" fill=\"none\"/>";
|
|
50
|
+
readonly inbox: " <path d=\"M-150 -40 L-110 -130 H110 L150 -40 V120 A20 20 0 0 1 130 140 H-130 A20 20 0 0 1 -150 120 Z\"/>\n <path d=\"M-150 -40 H-44 L-10 24 H10 L44 -40 H150\"/>";
|
|
51
|
+
readonly messages: " <path d=\"M-150 -120 H150 A24 24 0 0 1 174 -96 V60 A24 24 0 0 1 150 84 H-30 L-100 150 V84 H-150 A24 24 0 0 1 -174 60 V-96 A24 24 0 0 1 -150 -120 Z\"/>\n <line x1=\"-100\" y1=\"-44\" x2=\"100\" y2=\"-44\"/>\n <line x1=\"-100\" y1=\"16\" x2=\"40\" y2=\"16\"/>";
|
|
52
|
+
readonly socialAlpha: " <polyline points=\"-150,80 -54,-22 6,38 150,-110\" fill=\"none\"/>\n <polyline points=\"92,-110 150,-110 150,-52\" fill=\"none\"/>\n <circle cx=\"-110\" cy=\"128\" r=\"26\"/>\n <circle cx=\"0\" cy=\"128\" r=\"26\"/>\n <circle cx=\"110\" cy=\"128\" r=\"26\"/>";
|
|
53
|
+
readonly todos: " <rect x=\"-150\" y=\"-150\" width=\"300\" height=\"300\" rx=\"36\"/>\n <polyline points=\"-92,-6 -36,52 92,-78\" fill=\"none\"/>";
|
|
54
|
+
readonly vectorBrowser: " <line x1=\"-110\" y1=\"-96\" x2=\"0\" y2=\"0\"/>\n <line x1=\"120\" y1=\"-110\" x2=\"0\" y2=\"0\"/>\n <line x1=\"-130\" y1=\"86\" x2=\"0\" y2=\"0\"/>\n <line x1=\"110\" y1=\"104\" x2=\"0\" y2=\"0\"/>\n <circle cx=\"0\" cy=\"0\" r=\"30\" fill=\"currentColor\" stroke-width=\"0\"/>\n <circle cx=\"0\" cy=\"0\" r=\"30\"/>\n <circle cx=\"-110\" cy=\"-96\" r=\"22\"/>\n <circle cx=\"120\" cy=\"-110\" r=\"22\"/>\n <circle cx=\"-130\" cy=\"86\" r=\"22\"/>\n <circle cx=\"110\" cy=\"104\" r=\"22\"/>";
|
|
55
|
+
};
|
|
56
|
+
export type ViewHeroIconKind = keyof typeof VIEW_HERO_ICONS;
|
|
57
|
+
/** Deterministically pick a non-blue accent hue for an arbitrary view key. */
|
|
58
|
+
export declare function hueForViewKey(key: string): number;
|
|
59
|
+
export interface ViewHeroSource {
|
|
60
|
+
id?: string;
|
|
61
|
+
label: string;
|
|
62
|
+
/** Lucide icon name declared by the view, used as a keyword hint. */
|
|
63
|
+
icon?: string;
|
|
64
|
+
tags?: readonly string[];
|
|
65
|
+
}
|
|
66
|
+
/** Pick the best-matching icon glyph for a view, defaulting to the grid. */
|
|
67
|
+
export declare function pickViewHeroIcon(source: ViewHeroSource): ViewHeroIconKind;
|
|
68
|
+
/**
|
|
69
|
+
* High-level entry point: render a branded hero SVG for a view, choosing the
|
|
70
|
+
* accent hue and icon glyph automatically from the view's metadata. Used by the
|
|
71
|
+
* agent's hero fallback and by view scaffolding/icon-regeneration so a generated
|
|
72
|
+
* hero looks the same everywhere.
|
|
73
|
+
*/
|
|
74
|
+
export declare function generateViewHeroSvgFor(source: ViewHeroSource): string;
|
|
75
|
+
//# sourceMappingURL=view-hero-art.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-hero-art.d.ts","sourceRoot":"","sources":["../src/view-hero-art.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA0DH,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,GAAG,EACH,OAAO,EACP,KAAK,GACN,EAAE,kBAAkB,GAAG,MAAM,CAuE7B;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;CAsGlB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,eAAe,CAAC;AAmB5D,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjD;AAyDD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAazE;AAWD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAQrE"}
|
package/view-hero-art.js
ADDED
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branded hero-image generator for plugin **views**.
|
|
3
|
+
*
|
|
4
|
+
* A view is a mini-app contributed by a plugin (`Plugin.views`). Each one is
|
|
5
|
+
* served a square hero image at `/api/views/<id>/hero`. Real heroes live in the
|
|
6
|
+
* plugin at `assets/hero.<ext>`; when a plugin ships none, the agent serves a
|
|
7
|
+
* generated SVG produced here so the catalog never shows a broken or ugly tile.
|
|
8
|
+
*
|
|
9
|
+
* The composition is intentionally **no-blue-dominant** (the app surface forbids
|
|
10
|
+
* blue accents — orange/jewel tones only) and **deterministic**: the same input
|
|
11
|
+
* always yields byte-identical output, so `scripts/generate-view-heroes.mjs`
|
|
12
|
+
* (which commits real heroes into plugins) and the runtime fallback render the
|
|
13
|
+
* exact same art. This is the single source of truth for that art — the script
|
|
14
|
+
* and the agent both import `renderViewHeroSvg` from here.
|
|
15
|
+
*
|
|
16
|
+
* Pure string generation only: no Node APIs, so this module stays importable
|
|
17
|
+
* from the runtime-agnostic `@elizaos/shared` barrel (browser + server).
|
|
18
|
+
*/
|
|
19
|
+
const W = 1024;
|
|
20
|
+
const CX = W / 2;
|
|
21
|
+
/**
|
|
22
|
+
* Convert an HSL triple to a hex color string. Deterministic, no rounding
|
|
23
|
+
* surprises across runs.
|
|
24
|
+
*/
|
|
25
|
+
function hsl(h, s, l) {
|
|
26
|
+
const sN = s / 100;
|
|
27
|
+
const lN = l / 100;
|
|
28
|
+
const c = (1 - Math.abs(2 * lN - 1)) * sN;
|
|
29
|
+
const hp = (((h % 360) + 360) % 360) / 60;
|
|
30
|
+
const x = c * (1 - Math.abs((hp % 2) - 1));
|
|
31
|
+
let r = 0;
|
|
32
|
+
let g = 0;
|
|
33
|
+
let b = 0;
|
|
34
|
+
if (hp >= 0 && hp < 1)
|
|
35
|
+
[r, g, b] = [c, x, 0];
|
|
36
|
+
else if (hp < 2)
|
|
37
|
+
[r, g, b] = [x, c, 0];
|
|
38
|
+
else if (hp < 3)
|
|
39
|
+
[r, g, b] = [0, c, x];
|
|
40
|
+
else if (hp < 4)
|
|
41
|
+
[r, g, b] = [0, x, c];
|
|
42
|
+
else if (hp < 5)
|
|
43
|
+
[r, g, b] = [x, 0, c];
|
|
44
|
+
else
|
|
45
|
+
[r, g, b] = [c, 0, x];
|
|
46
|
+
const m = lN - c / 2;
|
|
47
|
+
const toHex = (v) => Math.round((v + m) * 255)
|
|
48
|
+
.toString(16)
|
|
49
|
+
.padStart(2, "0");
|
|
50
|
+
return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
|
|
51
|
+
}
|
|
52
|
+
function escapeXml(value) {
|
|
53
|
+
return value
|
|
54
|
+
.replaceAll("&", "&")
|
|
55
|
+
.replaceAll("<", "<")
|
|
56
|
+
.replaceAll(">", ">")
|
|
57
|
+
.replaceAll('"', """)
|
|
58
|
+
.replaceAll("'", "'");
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A palette derived from a single accent hue, kept in a dark, modern register.
|
|
62
|
+
* Background tones are deep neutrals shifted slightly toward the accent so each
|
|
63
|
+
* card reads distinct without ever looking like a flat blue panel.
|
|
64
|
+
*/
|
|
65
|
+
function palette(hue) {
|
|
66
|
+
return {
|
|
67
|
+
bgTop: hsl(hue, 32, 12),
|
|
68
|
+
bgBottom: hsl(hue + 14, 40, 7),
|
|
69
|
+
blobA: hsl(hue, 70, 52),
|
|
70
|
+
blobB: hsl(hue + 28, 66, 46),
|
|
71
|
+
accent: hsl(hue, 82, 60),
|
|
72
|
+
accentSoft: hsl(hue, 70, 70),
|
|
73
|
+
line: hsl(hue, 30, 88),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Render the full branded hero SVG. Shared chrome (defs, background, depth
|
|
78
|
+
* blobs, faint grid, accent arc, bottom label + vignette) with the icon glyph
|
|
79
|
+
* slotted in. Output is deterministic and byte-identical for identical input.
|
|
80
|
+
*/
|
|
81
|
+
export function renderViewHeroSvg({ id, hue, iconSvg, label, }) {
|
|
82
|
+
const p = palette(hue);
|
|
83
|
+
const safeLabel = escapeXml(label);
|
|
84
|
+
// Two large blurred blobs placed off-center for asymmetric depth, plus a thin
|
|
85
|
+
// accent arc sweeping behind the icon.
|
|
86
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${W} ${W}" width="${W}" height="${W}" role="img" aria-label="${safeLabel}">
|
|
87
|
+
<defs>
|
|
88
|
+
<linearGradient id="bg-${id}" x1="0" y1="0" x2="1" y2="1">
|
|
89
|
+
<stop offset="0" stop-color="${p.bgTop}"/>
|
|
90
|
+
<stop offset="1" stop-color="${p.bgBottom}"/>
|
|
91
|
+
</linearGradient>
|
|
92
|
+
<radialGradient id="blobA-${id}" cx="0.5" cy="0.5" r="0.5">
|
|
93
|
+
<stop offset="0" stop-color="${p.blobA}" stop-opacity="0.55"/>
|
|
94
|
+
<stop offset="1" stop-color="${p.blobA}" stop-opacity="0"/>
|
|
95
|
+
</radialGradient>
|
|
96
|
+
<radialGradient id="blobB-${id}" cx="0.5" cy="0.5" r="0.5">
|
|
97
|
+
<stop offset="0" stop-color="${p.blobB}" stop-opacity="0.5"/>
|
|
98
|
+
<stop offset="1" stop-color="${p.blobB}" stop-opacity="0"/>
|
|
99
|
+
</radialGradient>
|
|
100
|
+
<radialGradient id="vig-${id}" cx="0.5" cy="0.42" r="0.75">
|
|
101
|
+
<stop offset="0" stop-color="#000000" stop-opacity="0"/>
|
|
102
|
+
<stop offset="0.72" stop-color="#000000" stop-opacity="0"/>
|
|
103
|
+
<stop offset="1" stop-color="#000000" stop-opacity="0.5"/>
|
|
104
|
+
</radialGradient>
|
|
105
|
+
<linearGradient id="label-${id}" x1="0" y1="0" x2="0" y2="1">
|
|
106
|
+
<stop offset="0" stop-color="#000000" stop-opacity="0"/>
|
|
107
|
+
<stop offset="1" stop-color="#000000" stop-opacity="0.55"/>
|
|
108
|
+
</linearGradient>
|
|
109
|
+
<filter id="soft-${id}" x="-30%" y="-30%" width="160%" height="160%">
|
|
110
|
+
<feGaussianBlur stdDeviation="46"/>
|
|
111
|
+
</filter>
|
|
112
|
+
<filter id="iglow-${id}" x="-40%" y="-40%" width="180%" height="180%">
|
|
113
|
+
<feDropShadow dx="0" dy="0" stdDeviation="14" flood-color="${p.accent}" flood-opacity="0.45"/>
|
|
114
|
+
</filter>
|
|
115
|
+
</defs>
|
|
116
|
+
|
|
117
|
+
<rect width="${W}" height="${W}" fill="url(#bg-${id})"/>
|
|
118
|
+
|
|
119
|
+
<g opacity="0.9">
|
|
120
|
+
<circle cx="232" cy="220" r="300" fill="url(#blobA-${id})" filter="url(#soft-${id})"/>
|
|
121
|
+
<circle cx="840" cy="800" r="340" fill="url(#blobB-${id})" filter="url(#soft-${id})"/>
|
|
122
|
+
</g>
|
|
123
|
+
|
|
124
|
+
<g stroke="${p.line}" stroke-width="1.4" opacity="0.06">
|
|
125
|
+
<line x1="0" y1="256" x2="${W}" y2="256"/>
|
|
126
|
+
<line x1="0" y1="512" x2="${W}" y2="512"/>
|
|
127
|
+
<line x1="0" y1="768" x2="${W}" y2="768"/>
|
|
128
|
+
<line x1="256" y1="0" x2="256" y2="${W}"/>
|
|
129
|
+
<line x1="512" y1="0" x2="512" y2="${W}"/>
|
|
130
|
+
<line x1="768" y1="0" x2="768" y2="${W}"/>
|
|
131
|
+
</g>
|
|
132
|
+
|
|
133
|
+
<g opacity="0.5">
|
|
134
|
+
<path d="M120 470 A 400 400 0 0 1 904 470" fill="none" stroke="${p.accent}" stroke-width="3" opacity="0.35"/>
|
|
135
|
+
</g>
|
|
136
|
+
|
|
137
|
+
<g transform="translate(${CX} 432)" filter="url(#iglow-${id})"
|
|
138
|
+
color="${p.line}" stroke="${p.line}" stroke-width="20"
|
|
139
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none">
|
|
140
|
+
${iconSvg}
|
|
141
|
+
</g>
|
|
142
|
+
|
|
143
|
+
<rect x="0" y="784" width="${W}" height="240" fill="url(#label-${id})"/>
|
|
144
|
+
<text x="${CX}" y="892" text-anchor="middle"
|
|
145
|
+
font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
|
|
146
|
+
font-size="76" font-weight="600" letter-spacing="0.5"
|
|
147
|
+
fill="${p.line}">${safeLabel}</text>
|
|
148
|
+
<rect x="${CX - 52}" y="924" width="104" height="6" rx="3" fill="${p.accent}"/>
|
|
149
|
+
|
|
150
|
+
<rect width="${W}" height="${W}" fill="url(#vig-${id})"/>
|
|
151
|
+
</svg>`;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Hand-drawn vector line-icons, centered at (0,0) spanning roughly -150..150.
|
|
155
|
+
* Each inherits stroke styling from the parent <g>; fills are set explicitly
|
|
156
|
+
* where a filled glyph reads better. Keyed names map to the catalog below.
|
|
157
|
+
*/
|
|
158
|
+
export const VIEW_HERO_ICONS = {
|
|
159
|
+
// cpu / chip with a beaker spark — Model Tester
|
|
160
|
+
modelTester: ` <rect x="-110" y="-110" width="220" height="220" rx="28"/>
|
|
161
|
+
<rect x="-58" y="-58" width="116" height="116" rx="14"/>
|
|
162
|
+
<line x1="-110" y1="-66" x2="-150" y2="-66"/>
|
|
163
|
+
<line x1="-110" y1="0" x2="-150" y2="0"/>
|
|
164
|
+
<line x1="-110" y1="66" x2="-150" y2="66"/>
|
|
165
|
+
<line x1="110" y1="-66" x2="150" y2="-66"/>
|
|
166
|
+
<line x1="110" y1="0" x2="150" y2="0"/>
|
|
167
|
+
<line x1="110" y1="66" x2="150" y2="66"/>
|
|
168
|
+
<line x1="-66" y1="-110" x2="-66" y2="-150"/>
|
|
169
|
+
<line x1="0" y1="-110" x2="0" y2="-150"/>
|
|
170
|
+
<line x1="66" y1="-110" x2="66" y2="-150"/>
|
|
171
|
+
<line x1="-66" y1="110" x2="-66" y2="150"/>
|
|
172
|
+
<line x1="0" y1="110" x2="0" y2="150"/>
|
|
173
|
+
<line x1="66" y1="110" x2="66" y2="150"/>
|
|
174
|
+
<circle cx="0" cy="0" r="14" stroke-width="0" fill="currentColor"/>`,
|
|
175
|
+
// overlapping panels — Views (layout grid)
|
|
176
|
+
views: ` <rect x="-150" y="-150" width="130" height="130" rx="18"/>
|
|
177
|
+
<rect x="20" y="-150" width="130" height="130" rx="18"/>
|
|
178
|
+
<rect x="-150" y="20" width="130" height="130" rx="18"/>
|
|
179
|
+
<rect x="20" y="20" width="130" height="130" rx="18"/>`,
|
|
180
|
+
// shield with an eye-off slash — Focus / blocker
|
|
181
|
+
focus: ` <path d="M0 -150 L130 -100 L130 24 C130 110 70 152 0 175 C-70 152 -130 110 -130 24 L-130 -100 Z"/>
|
|
182
|
+
<circle cx="0" cy="-2" r="34"/>
|
|
183
|
+
<line x1="-92" y1="-96" x2="96" y2="120"/>`,
|
|
184
|
+
// calendar grid — Calendar
|
|
185
|
+
calendar: ` <rect x="-140" y="-118" width="280" height="248" rx="24"/>
|
|
186
|
+
<line x1="-140" y1="-52" x2="140" y2="-52"/>
|
|
187
|
+
<line x1="-78" y1="-150" x2="-78" y2="-92"/>
|
|
188
|
+
<line x1="78" y1="-150" x2="78" y2="-92"/>
|
|
189
|
+
<circle cx="-66" cy="6" r="11" stroke-width="0" fill="currentColor"/>
|
|
190
|
+
<circle cx="0" cy="6" r="11" stroke-width="0" fill="currentColor"/>
|
|
191
|
+
<circle cx="66" cy="6" r="11" stroke-width="0" fill="currentColor"/>
|
|
192
|
+
<circle cx="-66" cy="72" r="11" stroke-width="0" fill="currentColor"/>
|
|
193
|
+
<circle cx="0" cy="72" r="11" stroke-width="0" fill="currentColor"/>`,
|
|
194
|
+
// headphones — Facewear
|
|
195
|
+
headphones: ` <path d="M-140 30 V-10 A140 140 0 0 1 140 -10 V30"/>
|
|
196
|
+
<rect x="-160" y="26" width="58" height="110" rx="26" fill="currentColor" stroke-width="0"/>
|
|
197
|
+
<rect x="102" y="26" width="58" height="110" rx="26" fill="currentColor" stroke-width="0"/>
|
|
198
|
+
<rect x="-160" y="26" width="58" height="110" rx="26"/>
|
|
199
|
+
<rect x="102" y="26" width="58" height="110" rx="26"/>`,
|
|
200
|
+
// glasses — Smartglasses
|
|
201
|
+
glasses: ` <circle cx="-86" cy="20" r="68"/>
|
|
202
|
+
<circle cx="86" cy="20" r="68"/>
|
|
203
|
+
<path d="M-18 20 Q0 -2 18 20"/>
|
|
204
|
+
<line x1="-154" y1="-12" x2="-180" y2="-44"/>
|
|
205
|
+
<line x1="154" y1="-12" x2="180" y2="-44"/>`,
|
|
206
|
+
// line chart rising with axis — Finances
|
|
207
|
+
finances: ` <polyline points="-150,-150 -150,150 150,150"/>
|
|
208
|
+
<polyline points="-118,86 -50,-2 6,52 76,-62 132,-104" fill="none"/>
|
|
209
|
+
<circle cx="-50" cy="-2" r="13" stroke-width="0" fill="currentColor"/>
|
|
210
|
+
<circle cx="76" cy="-62" r="13" stroke-width="0" fill="currentColor"/>
|
|
211
|
+
<circle cx="132" cy="-104" r="13" stroke-width="0" fill="currentColor"/>`,
|
|
212
|
+
// target with center dot and a flag — Goals
|
|
213
|
+
goals: ` <circle cx="0" cy="0" r="150"/>
|
|
214
|
+
<circle cx="0" cy="0" r="92"/>
|
|
215
|
+
<circle cx="0" cy="0" r="34"/>
|
|
216
|
+
<circle cx="0" cy="0" r="9" stroke-width="0" fill="currentColor"/>`,
|
|
217
|
+
// heart with a pulse line through it — Health
|
|
218
|
+
health: ` <path d="M0 150 C-180 18 -120 -120 0 -52 C120 -120 180 18 0 150 Z"/>
|
|
219
|
+
<polyline points="-150,-10 -64,-10 -28,-58 14,52 48,-10 150,-10" fill="none"/>`,
|
|
220
|
+
// inbox tray — Inbox
|
|
221
|
+
inbox: ` <path d="M-150 -40 L-110 -130 H110 L150 -40 V120 A20 20 0 0 1 130 140 H-130 A20 20 0 0 1 -150 120 Z"/>
|
|
222
|
+
<path d="M-150 -40 H-44 L-10 24 H10 L44 -40 H150"/>`,
|
|
223
|
+
// chat bubble with lines — Messages
|
|
224
|
+
messages: ` <path d="M-150 -120 H150 A24 24 0 0 1 174 -96 V60 A24 24 0 0 1 150 84 H-30 L-100 150 V84 H-150 A24 24 0 0 1 -174 60 V-96 A24 24 0 0 1 -150 -120 Z"/>
|
|
225
|
+
<line x1="-100" y1="-44" x2="100" y2="-44"/>
|
|
226
|
+
<line x1="-100" y1="16" x2="40" y2="16"/>`,
|
|
227
|
+
// trending up arrow over people dots — Social Alpha
|
|
228
|
+
socialAlpha: ` <polyline points="-150,80 -54,-22 6,38 150,-110" fill="none"/>
|
|
229
|
+
<polyline points="92,-110 150,-110 150,-52" fill="none"/>
|
|
230
|
+
<circle cx="-110" cy="128" r="26"/>
|
|
231
|
+
<circle cx="0" cy="128" r="26"/>
|
|
232
|
+
<circle cx="110" cy="128" r="26"/>`,
|
|
233
|
+
// checklist square — Todos
|
|
234
|
+
todos: ` <rect x="-150" y="-150" width="300" height="300" rx="36"/>
|
|
235
|
+
<polyline points="-92,-6 -36,52 92,-78" fill="none"/>`,
|
|
236
|
+
// network graph nodes — Vector Browser / Relationships
|
|
237
|
+
vectorBrowser: ` <line x1="-110" y1="-96" x2="0" y2="0"/>
|
|
238
|
+
<line x1="120" y1="-110" x2="0" y2="0"/>
|
|
239
|
+
<line x1="-130" y1="86" x2="0" y2="0"/>
|
|
240
|
+
<line x1="110" y1="104" x2="0" y2="0"/>
|
|
241
|
+
<circle cx="0" cy="0" r="30" fill="currentColor" stroke-width="0"/>
|
|
242
|
+
<circle cx="0" cy="0" r="30"/>
|
|
243
|
+
<circle cx="-110" cy="-96" r="22"/>
|
|
244
|
+
<circle cx="120" cy="-110" r="22"/>
|
|
245
|
+
<circle cx="-130" cy="86" r="22"/>
|
|
246
|
+
<circle cx="110" cy="104" r="22"/>`,
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Curated, non-blue accent hues spread across warm/jewel tones. Deliberately
|
|
250
|
+
* excludes the pure-blue band (~200–250) so a generated hero never reads as a
|
|
251
|
+
* flat blue panel on the app surface.
|
|
252
|
+
*/
|
|
253
|
+
const VIEW_HERO_HUES = [
|
|
254
|
+
12, 25, 38, 52, 96, 130, 150, 168, 190, 270, 286, 300, 332, 348,
|
|
255
|
+
];
|
|
256
|
+
function hashString(value) {
|
|
257
|
+
let hash = 0;
|
|
258
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
259
|
+
hash = (hash * 31 + value.charCodeAt(index)) | 0;
|
|
260
|
+
}
|
|
261
|
+
return Math.abs(hash);
|
|
262
|
+
}
|
|
263
|
+
/** Deterministically pick a non-blue accent hue for an arbitrary view key. */
|
|
264
|
+
export function hueForViewKey(key) {
|
|
265
|
+
const trimmed = key.trim() || "view";
|
|
266
|
+
return VIEW_HERO_HUES[hashString(trimmed) % VIEW_HERO_HUES.length];
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Keyword → icon-glyph rules, checked in order. The first rule whose keyword is
|
|
270
|
+
* present in the view's id/label/tags/Lucide-icon name wins; otherwise the
|
|
271
|
+
* generic overlapping-panels glyph is used.
|
|
272
|
+
*/
|
|
273
|
+
const ICON_KEYWORD_RULES = [
|
|
274
|
+
["calendar", ["calendar", "schedule", "event", "agenda"]],
|
|
275
|
+
["health", ["health", "fitness", "heart", "wellness", "medical"]],
|
|
276
|
+
[
|
|
277
|
+
"finances",
|
|
278
|
+
[
|
|
279
|
+
"finance",
|
|
280
|
+
"wallet",
|
|
281
|
+
"money",
|
|
282
|
+
"payment",
|
|
283
|
+
"budget",
|
|
284
|
+
"bank",
|
|
285
|
+
"trade",
|
|
286
|
+
"invest",
|
|
287
|
+
],
|
|
288
|
+
],
|
|
289
|
+
["goals", ["goal", "target", "objective", "habit", "routine"]],
|
|
290
|
+
["inbox", ["inbox", "mail", "email"]],
|
|
291
|
+
["messages", ["message", "chat", "dm", "conversation", "sms"]],
|
|
292
|
+
[
|
|
293
|
+
"socialAlpha",
|
|
294
|
+
["social", "leaderboard", "trust", "alpha", "feed", "follow"],
|
|
295
|
+
],
|
|
296
|
+
["todos", ["todo", "task", "checklist", "todos"]],
|
|
297
|
+
[
|
|
298
|
+
"vectorBrowser",
|
|
299
|
+
[
|
|
300
|
+
"vector",
|
|
301
|
+
"graph",
|
|
302
|
+
"relationship",
|
|
303
|
+
"network",
|
|
304
|
+
"entity",
|
|
305
|
+
"embedding",
|
|
306
|
+
"people",
|
|
307
|
+
"contact",
|
|
308
|
+
],
|
|
309
|
+
],
|
|
310
|
+
[
|
|
311
|
+
"focus",
|
|
312
|
+
["focus", "block", "shield", "guard", "screen-time", "screentime"],
|
|
313
|
+
],
|
|
314
|
+
[
|
|
315
|
+
"headphones",
|
|
316
|
+
["headphone", "audio", "facewear", "wear", "sound", "voice"],
|
|
317
|
+
],
|
|
318
|
+
["glasses", ["glass", "smartglass", "xr", "spatial", "vision"]],
|
|
319
|
+
["modelTester", ["model", "test", "chip", "cpu", "bench", "eval", "train"]],
|
|
320
|
+
];
|
|
321
|
+
/** Pick the best-matching icon glyph for a view, defaulting to the grid. */
|
|
322
|
+
export function pickViewHeroIcon(source) {
|
|
323
|
+
const haystack = [
|
|
324
|
+
source.id ?? "",
|
|
325
|
+
source.label,
|
|
326
|
+
source.icon ?? "",
|
|
327
|
+
...(source.tags ?? []),
|
|
328
|
+
]
|
|
329
|
+
.join(" ")
|
|
330
|
+
.toLowerCase();
|
|
331
|
+
for (const [icon, keywords] of ICON_KEYWORD_RULES) {
|
|
332
|
+
if (keywords.some((keyword) => haystack.includes(keyword)))
|
|
333
|
+
return icon;
|
|
334
|
+
}
|
|
335
|
+
return "views";
|
|
336
|
+
}
|
|
337
|
+
/** Lowercase slug safe to embed in SVG element ids. */
|
|
338
|
+
function slugifyViewId(value) {
|
|
339
|
+
const slug = value
|
|
340
|
+
.toLowerCase()
|
|
341
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
342
|
+
.replace(/^-+|-+$/g, "");
|
|
343
|
+
return slug || "view";
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* High-level entry point: render a branded hero SVG for a view, choosing the
|
|
347
|
+
* accent hue and icon glyph automatically from the view's metadata. Used by the
|
|
348
|
+
* agent's hero fallback and by view scaffolding/icon-regeneration so a generated
|
|
349
|
+
* hero looks the same everywhere.
|
|
350
|
+
*/
|
|
351
|
+
export function generateViewHeroSvgFor(source) {
|
|
352
|
+
const slug = slugifyViewId(source.id ?? source.label);
|
|
353
|
+
return renderViewHeroSvg({
|
|
354
|
+
id: slug,
|
|
355
|
+
hue: hueForViewKey(source.id ?? source.label),
|
|
356
|
+
iconSvg: VIEW_HERO_ICONS[pickViewHeroIcon(source)],
|
|
357
|
+
label: source.label,
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=view-hero-art.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-hero-art.js","sourceRoot":"","sources":["../src/view-hero-art.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* First-sentence snip helper for the TTS first-line cache.
|
|
3
|
+
*
|
|
4
|
+
* Pure, deterministic, no I/O. Both the local runtime and the Eliza Cloud
|
|
5
|
+
* `/api/v1/voice/tts` route call into this module so that byte-equal sentence
|
|
6
|
+
* text on either side maps to byte-equal cache keys.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm summary (see R4 §2 in `.swarm/research/R4-tts-cache.md`):
|
|
9
|
+
* 1. Trim leading whitespace.
|
|
10
|
+
* 2. Walk char-by-char, tracking quote depth (skip terminators inside
|
|
11
|
+
* `"..."`/`'...'`/`“...”`), decimal context (digit-`.`-digit isn't a
|
|
12
|
+
* boundary), and abbreviation context (e.g. `Mr.`, `e.g.`, `U.S.`).
|
|
13
|
+
* 3. First surviving terminator (`.`/`!`/`?`/`…`/`。`/`!`/`?`) or `\n`
|
|
14
|
+
* ends the sentence. Consume any contiguous run of terminators that
|
|
15
|
+
* follow (so `"Wait..."` stays intact).
|
|
16
|
+
* 4. If no terminator and no newline → null (don't cache unterminated text).
|
|
17
|
+
* 5. Apply ≤10-word filter on the normalised form. If wordCount > 10,
|
|
18
|
+
* return null (don't cache).
|
|
19
|
+
*
|
|
20
|
+
* `FIRST_SENTENCE_SNIP_VERSION` is part of the cache key — bumping it
|
|
21
|
+
* invalidates every existing cached entry.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Cache-key algorithm version. Bump when the snip/normalise logic changes
|
|
25
|
+
* in a way that would produce different keys for the same input. Local and
|
|
26
|
+
* cloud caches re-key off this constant, so a bump rolls the entire cache.
|
|
27
|
+
*/
|
|
28
|
+
export declare const FIRST_SENTENCE_SNIP_VERSION: "1";
|
|
29
|
+
export type FirstSentenceSnipVersion = typeof FIRST_SENTENCE_SNIP_VERSION;
|
|
30
|
+
/**
|
|
31
|
+
* Maximum word count (Unicode-aware) for a cacheable first-sentence snip.
|
|
32
|
+
* Beyond this the bytes won't repeat often enough to amortise the cache.
|
|
33
|
+
*/
|
|
34
|
+
export declare const FIRST_SENTENCE_MAX_WORDS: 10;
|
|
35
|
+
/**
|
|
36
|
+
* Unicode-aware word count. Hyphenated words and apostrophe-internal words
|
|
37
|
+
* count as one (e.g. "twenty-three" → 1, "it's" → 1). Dotted acronyms with
|
|
38
|
+
* single-letter segments (e.g. "U.S.", "U.S.A.") count as one word. Decimal
|
|
39
|
+
* numbers like "3.14" count as one word.
|
|
40
|
+
*/
|
|
41
|
+
export declare function wordCount(s: string): number;
|
|
42
|
+
/**
|
|
43
|
+
* Normalise a snip for cache-key purposes. NFC + lower-case + collapse
|
|
44
|
+
* whitespace + strip trailing terminators/whitespace. Apostrophes preserved.
|
|
45
|
+
*/
|
|
46
|
+
export declare function normalizeForKey(snip: string): string;
|
|
47
|
+
export interface FirstSentenceSnipResult {
|
|
48
|
+
/** Raw snip including the terminator run, exactly as it appeared. */
|
|
49
|
+
raw: string;
|
|
50
|
+
/** Normalised form for cache-key hashing (`normalizeForKey(raw)`). */
|
|
51
|
+
normalized: string;
|
|
52
|
+
/** Unicode-aware word count over `normalized`. Always ≤ 10. */
|
|
53
|
+
wordCount: number;
|
|
54
|
+
/** End-exclusive offset into the original input where the snip ends. */
|
|
55
|
+
endOffset: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Attempt to snip the first sentence from `text`. Returns `null` if:
|
|
59
|
+
* - input is empty / whitespace only
|
|
60
|
+
* - no sentence-terminator found
|
|
61
|
+
* - normalised snip has > 10 words
|
|
62
|
+
* - normalised snip is empty after stripping terminators
|
|
63
|
+
*
|
|
64
|
+
* Otherwise returns a `FirstSentenceSnipResult` carrying the raw and
|
|
65
|
+
* normalised forms plus the word count.
|
|
66
|
+
*/
|
|
67
|
+
export declare function firstSentenceSnip(text: string): FirstSentenceSnipResult | null;
|
|
68
|
+
//# sourceMappingURL=first-sentence-snip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-sentence-snip.d.ts","sourceRoot":"","sources":["../../src/voice/first-sentence-snip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAG,GAAY,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,OAAO,2BAA2B,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAG,EAAW,CAAC;AAuMpD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU3C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,uBAAuB,GAAG,IAAI,CAyBhC"}
|