@elizaos/ui 2.0.0-alpha.85 → 2.0.0-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/App.d.ts +6 -0
- package/App.d.ts.map +1 -0
- package/App.js +593 -0
- package/api/agent-client-type-shim.d.ts +106 -0
- package/api/agent-client-type-shim.d.ts.map +1 -0
- package/api/agent-client-type-shim.js +1 -0
- package/api/android-native-agent-transport.d.ts +21 -0
- package/api/android-native-agent-transport.d.ts.map +1 -0
- package/api/android-native-agent-transport.js +113 -0
- package/api/auth/sessions.d.ts +4 -0
- package/api/auth/sessions.d.ts.map +1 -0
- package/api/auth/sessions.js +5 -0
- package/api/auth-client.d.ts +130 -0
- package/api/auth-client.d.ts.map +1 -0
- package/api/auth-client.js +286 -0
- package/api/client-agent.d.ts +730 -0
- package/api/client-agent.d.ts.map +1 -0
- package/api/client-agent.js +1669 -0
- package/api/client-automations.d.ts +8 -0
- package/api/client-automations.d.ts.map +1 -0
- package/api/client-automations.js +7 -0
- package/api/client-base.d.ts +89 -0
- package/api/client-base.d.ts.map +1 -0
- package/api/client-base.js +827 -0
- package/api/client-browser-workspace.d.ts +25 -0
- package/api/client-browser-workspace.d.ts.map +1 -0
- package/api/client-browser-workspace.js +98 -0
- package/api/client-chat.d.ts +389 -0
- package/api/client-chat.d.ts.map +1 -0
- package/api/client-chat.js +601 -0
- package/api/client-cloud.d.ts +292 -0
- package/api/client-cloud.d.ts.map +1 -0
- package/api/client-cloud.js +1395 -0
- package/api/client-computeruse.d.ts +32 -0
- package/api/client-computeruse.d.ts.map +1 -0
- package/api/client-computeruse.js +16 -0
- package/api/client-imessage.d.ts +68 -0
- package/api/client-imessage.d.ts.map +1 -0
- package/api/client-imessage.js +74 -0
- package/api/client-local-inference.d.ts +62 -0
- package/api/client-local-inference.d.ts.map +1 -0
- package/api/client-local-inference.js +87 -0
- package/api/client-skills.d.ts +475 -0
- package/api/client-skills.d.ts.map +1 -0
- package/api/client-skills.js +608 -0
- package/api/client-types-babylon.d.ts +254 -0
- package/api/client-types-babylon.d.ts.map +1 -0
- package/api/client-types-babylon.js +2 -0
- package/api/client-types-character.d.ts +39 -0
- package/api/client-types-character.d.ts.map +1 -0
- package/api/client-types-character.js +1 -0
- package/api/client-types-chat.d.ts +562 -0
- package/api/client-types-chat.d.ts.map +1 -0
- package/api/client-types-chat.js +17 -0
- package/api/client-types-cloud.d.ts +941 -0
- package/api/client-types-cloud.d.ts.map +1 -0
- package/api/client-types-cloud.js +57 -0
- package/api/client-types-config.d.ts +613 -0
- package/api/client-types-config.d.ts.map +1 -0
- package/api/client-types-config.js +5 -0
- package/api/client-types-core.d.ts +438 -0
- package/api/client-types-core.d.ts.map +1 -0
- package/api/client-types-core.js +31 -0
- package/api/client-types-experience.d.ts +97 -0
- package/api/client-types-experience.d.ts.map +1 -0
- package/api/client-types-experience.js +1 -0
- package/api/client-types-relationships.d.ts +181 -0
- package/api/client-types-relationships.d.ts.map +1 -0
- package/api/client-types-relationships.js +1 -0
- package/api/client-types-steward.d.ts +85 -0
- package/api/client-types-steward.d.ts.map +1 -0
- package/api/client-types-steward.js +9 -0
- package/api/client-types.d.ts +9 -0
- package/api/client-types.d.ts.map +1 -0
- package/api/client-types.js +12 -0
- package/api/client-vault.d.ts +53 -0
- package/api/client-vault.d.ts.map +1 -0
- package/api/client-vault.js +48 -0
- package/api/client-wallet.d.ts +130 -0
- package/api/client-wallet.d.ts.map +1 -0
- package/api/client-wallet.js +228 -0
- package/api/client-workflow.d.ts +26 -0
- package/api/client-workflow.d.ts.map +1 -0
- package/api/client-workflow.js +70 -0
- package/api/client.d.ts +39 -0
- package/api/client.d.ts.map +1 -0
- package/api/client.js +37 -0
- package/api/csrf-client.d.ts +21 -0
- package/api/csrf-client.d.ts.map +1 -0
- package/api/csrf-client.js +70 -0
- package/api/desktop-http-transport.d.ts +3 -0
- package/api/desktop-http-transport.d.ts.map +1 -0
- package/api/desktop-http-transport.js +72 -0
- package/api/index.d.ts +2 -0
- package/api/index.d.ts.map +1 -0
- package/api/index.js +1 -0
- package/api/ios-local-agent-kernel.d.ts +4 -0
- package/api/ios-local-agent-kernel.d.ts.map +1 -0
- package/api/ios-local-agent-kernel.js +2108 -0
- package/api/ios-local-agent-transport.d.ts +5 -0
- package/api/ios-local-agent-transport.d.ts.map +1 -0
- package/api/ios-local-agent-transport.js +28 -0
- package/api/ittp-agent-transport.d.ts +14 -0
- package/api/ittp-agent-transport.d.ts.map +1 -0
- package/api/ittp-agent-transport.js +15 -0
- package/api/native-cloud-http-transport.d.ts +3 -0
- package/api/native-cloud-http-transport.d.ts.map +1 -0
- package/api/native-cloud-http-transport.js +75 -0
- package/api/request-timeout.d.ts +2 -0
- package/api/request-timeout.d.ts.map +1 -0
- package/api/request-timeout.js +22 -0
- package/api/response.d.ts +12 -0
- package/api/response.d.ts.map +1 -0
- package/api/response.js +36 -0
- package/api/runtime-mode-client.d.ts +23 -0
- package/api/runtime-mode-client.d.ts.map +1 -0
- package/api/runtime-mode-client.js +54 -0
- package/api/transport.d.ts +7 -0
- package/api/transport.d.ts.map +1 -0
- package/api/transport.js +5 -0
- package/app-shell-components.d.ts +50 -0
- package/app-shell-components.d.ts.map +1 -0
- package/app-shell-components.js +48 -0
- package/app-shell-registry.d.ts +29 -0
- package/app-shell-registry.d.ts.map +1 -0
- package/app-shell-registry.js +21 -0
- package/bridge/capacitor-bridge.d.ts +153 -0
- package/bridge/capacitor-bridge.d.ts.map +1 -0
- package/bridge/capacitor-bridge.js +195 -0
- package/bridge/electrobun-rpc.d.ts +85 -0
- package/bridge/electrobun-rpc.d.ts.map +1 -0
- package/bridge/electrobun-rpc.js +114 -0
- package/bridge/electrobun-runtime.d.ts +3 -0
- package/bridge/electrobun-runtime.d.ts.map +1 -0
- package/bridge/electrobun-runtime.js +45 -0
- package/bridge/gateway-discovery.d.ts +17 -0
- package/bridge/gateway-discovery.d.ts.map +1 -0
- package/bridge/gateway-discovery.js +49 -0
- package/bridge/index.d.ts +7 -0
- package/bridge/index.d.ts.map +1 -0
- package/bridge/index.js +6 -0
- package/bridge/native-plugins.d.ts +504 -0
- package/bridge/native-plugins.d.ts.map +1 -0
- package/bridge/native-plugins.js +67 -0
- package/bridge/plugin-bridge.d.ts +133 -0
- package/bridge/plugin-bridge.d.ts.map +1 -0
- package/bridge/plugin-bridge.js +241 -0
- package/bridge/storage-bridge.d.ts +39 -0
- package/bridge/storage-bridge.d.ts.map +1 -0
- package/bridge/storage-bridge.js +142 -0
- package/browser.d.ts +72 -0
- package/browser.d.ts.map +1 -0
- package/browser.js +68 -0
- package/build-variant.d.ts +16 -0
- package/build-variant.d.ts.map +1 -0
- package/build-variant.js +31 -0
- package/character/character-draft-helpers.d.ts +35 -0
- package/character/character-draft-helpers.d.ts.map +1 -0
- package/character/character-draft-helpers.js +270 -0
- package/character-catalog.d.ts +7 -0
- package/character-catalog.d.ts.map +1 -0
- package/character-catalog.js +29 -0
- package/chat/coding-agent-session-state.d.ts +16 -0
- package/chat/coding-agent-session-state.d.ts.map +1 -0
- package/chat/coding-agent-session-state.js +27 -0
- package/chat/index.d.ts +65 -0
- package/chat/index.d.ts.map +1 -0
- package/chat/index.js +225 -0
- package/components/accounts/AccountCard.d.ts +30 -0
- package/components/accounts/AccountCard.d.ts.map +1 -0
- package/components/accounts/AccountCard.js +159 -0
- package/components/accounts/AccountList.d.ts +15 -0
- package/components/accounts/AccountList.d.ts.map +1 -0
- package/components/accounts/AccountList.js +75 -0
- package/components/accounts/AddAccountDialog.d.ts +33 -0
- package/components/accounts/AddAccountDialog.d.ts.map +1 -0
- package/components/accounts/AddAccountDialog.js +396 -0
- package/components/accounts/EditableAccountLabel.d.ts +11 -0
- package/components/accounts/EditableAccountLabel.d.ts.map +1 -0
- package/components/accounts/EditableAccountLabel.js +45 -0
- package/components/accounts/RotationStrategyPicker.d.ts +16 -0
- package/components/accounts/RotationStrategyPicker.d.ts.map +1 -0
- package/components/accounts/RotationStrategyPicker.js +45 -0
- package/components/apps/AppsCatalogGrid.d.ts +14 -0
- package/components/apps/AppsCatalogGrid.d.ts.map +1 -0
- package/components/apps/AppsCatalogGrid.js +208 -0
- package/components/apps/AppsSidebar.d.ts +22 -0
- package/components/apps/AppsSidebar.d.ts.map +1 -0
- package/components/apps/AppsSidebar.js +98 -0
- package/components/apps/GameView.d.ts +18 -0
- package/components/apps/GameView.d.ts.map +1 -0
- package/components/apps/GameView.js +1133 -0
- package/components/apps/GameViewOverlay.d.ts +2 -0
- package/components/apps/GameViewOverlay.d.ts.map +1 -0
- package/components/apps/GameViewOverlay.js +120 -0
- package/components/apps/RunningAppsRow.d.ts +12 -0
- package/components/apps/RunningAppsRow.d.ts.map +1 -0
- package/components/apps/RunningAppsRow.js +35 -0
- package/components/apps/app-identity.d.ts +32 -0
- package/components/apps/app-identity.d.ts.map +1 -0
- package/components/apps/app-identity.js +182 -0
- package/components/apps/apps-cache.d.ts +5 -0
- package/components/apps/apps-cache.d.ts.map +1 -0
- package/components/apps/apps-cache.js +47 -0
- package/components/apps/catalog-loader.d.ts +7 -0
- package/components/apps/catalog-loader.d.ts.map +1 -0
- package/components/apps/catalog-loader.js +47 -0
- package/components/apps/extensions/registry.d.ts +12 -0
- package/components/apps/extensions/registry.d.ts.map +1 -0
- package/components/apps/extensions/registry.js +23 -0
- package/components/apps/extensions/surface.d.ts +34 -0
- package/components/apps/extensions/surface.d.ts.map +1 -0
- package/components/apps/extensions/surface.js +96 -0
- package/components/apps/extensions/types.d.ts +7 -0
- package/components/apps/extensions/types.d.ts.map +1 -0
- package/components/apps/extensions/types.js +1 -0
- package/components/apps/helpers.d.ts +58 -0
- package/components/apps/helpers.d.ts.map +1 -0
- package/components/apps/helpers.js +379 -0
- package/components/apps/internal-tool-apps.d.ts +18 -0
- package/components/apps/internal-tool-apps.d.ts.map +1 -0
- package/components/apps/internal-tool-apps.js +173 -0
- package/components/apps/launch-history.d.ts +16 -0
- package/components/apps/launch-history.d.ts.map +1 -0
- package/components/apps/launch-history.js +77 -0
- package/components/apps/load-apps-catalog.d.ts +13 -0
- package/components/apps/load-apps-catalog.d.ts.map +1 -0
- package/components/apps/load-apps-catalog.js +67 -0
- package/components/apps/overlay-app-api.d.ts +67 -0
- package/components/apps/overlay-app-api.d.ts.map +1 -0
- package/components/apps/overlay-app-api.js +8 -0
- package/components/apps/overlay-app-registry.d.ts +55 -0
- package/components/apps/overlay-app-registry.d.ts.map +1 -0
- package/components/apps/overlay-app-registry.js +108 -0
- package/components/apps/per-app-config.d.ts +19 -0
- package/components/apps/per-app-config.d.ts.map +1 -0
- package/components/apps/per-app-config.js +99 -0
- package/components/apps/run-attention.d.ts +3 -0
- package/components/apps/run-attention.d.ts.map +1 -0
- package/components/apps/run-attention.js +77 -0
- package/components/apps/surfaces/GameOperatorShell.d.ts +47 -0
- package/components/apps/surfaces/GameOperatorShell.d.ts.map +1 -0
- package/components/apps/surfaces/GameOperatorShell.js +42 -0
- package/components/apps/surfaces/registry.d.ts +11 -0
- package/components/apps/surfaces/registry.d.ts.map +1 -0
- package/components/apps/surfaces/registry.js +23 -0
- package/components/apps/surfaces/types.d.ts +10 -0
- package/components/apps/surfaces/types.d.ts.map +1 -0
- package/components/apps/surfaces/types.js +1 -0
- package/components/apps/useRegistryCatalog.d.ts +14 -0
- package/components/apps/useRegistryCatalog.d.ts.map +1 -0
- package/components/apps/useRegistryCatalog.js +52 -0
- package/components/apps/viewer-auth.d.ts +7 -0
- package/components/apps/viewer-auth.d.ts.map +1 -0
- package/components/apps/viewer-auth.js +55 -0
- package/components/auth/LoginView.d.ts +17 -0
- package/components/auth/LoginView.d.ts.map +1 -0
- package/components/auth/LoginView.js +62 -0
- package/components/character/CharacterEditor.d.ts +12 -0
- package/components/character/CharacterEditor.d.ts.map +1 -0
- package/components/character/CharacterEditor.js +885 -0
- package/components/character/CharacterEditorPanels.d.ts +35 -0
- package/components/character/CharacterEditorPanels.d.ts.map +1 -0
- package/components/character/CharacterEditorPanels.js +250 -0
- package/components/character/CharacterExperienceWorkspace.d.ts +11 -0
- package/components/character/CharacterExperienceWorkspace.d.ts.map +1 -0
- package/components/character/CharacterExperienceWorkspace.js +453 -0
- package/components/character/CharacterHubView.d.ts +22 -0
- package/components/character/CharacterHubView.d.ts.map +1 -0
- package/components/character/CharacterHubView.js +695 -0
- package/components/character/CharacterLearnedSkillsSection.d.ts +2 -0
- package/components/character/CharacterLearnedSkillsSection.d.ts.map +1 -0
- package/components/character/CharacterLearnedSkillsSection.js +76 -0
- package/components/character/CharacterOverviewSection.d.ts +27 -0
- package/components/character/CharacterOverviewSection.d.ts.map +1 -0
- package/components/character/CharacterOverviewSection.js +36 -0
- package/components/character/CharacterPersonalityTimeline.d.ts +5 -0
- package/components/character/CharacterPersonalityTimeline.d.ts.map +1 -0
- package/components/character/CharacterPersonalityTimeline.js +33 -0
- package/components/character/CharacterRelationshipsSection.d.ts +7 -0
- package/components/character/CharacterRelationshipsSection.d.ts.map +1 -0
- package/components/character/CharacterRelationshipsSection.js +4 -0
- package/components/character/CharacterRoster.d.ts +32 -0
- package/components/character/CharacterRoster.d.ts.map +1 -0
- package/components/character/CharacterRoster.js +111 -0
- package/components/character/MusicLibraryCharacterWidget.d.ts +3 -0
- package/components/character/MusicLibraryCharacterWidget.d.ts.map +1 -0
- package/components/character/MusicLibraryCharacterWidget.js +27 -0
- package/components/character/character-editor-helpers.d.ts +42 -0
- package/components/character/character-editor-helpers.d.ts.map +1 -0
- package/components/character/character-editor-helpers.js +58 -0
- package/components/character/character-greeting.d.ts +5 -0
- package/components/character/character-greeting.d.ts.map +1 -0
- package/components/character/character-greeting.js +22 -0
- package/components/character/character-hub-helpers.d.ts +14 -0
- package/components/character/character-hub-helpers.d.ts.map +1 -0
- package/components/character/character-hub-helpers.js +140 -0
- package/components/character/character-hub-types.d.ts +60 -0
- package/components/character/character-hub-types.d.ts.map +1 -0
- package/components/character/character-hub-types.js +1 -0
- package/components/character/character-voice-config.d.ts +33 -0
- package/components/character/character-voice-config.d.ts.map +1 -0
- package/components/character/character-voice-config.js +95 -0
- package/components/chat/AccountRequiredCard.d.ts +19 -0
- package/components/chat/AccountRequiredCard.d.ts.map +1 -0
- package/components/chat/AccountRequiredCard.js +35 -0
- package/components/chat/AgentActivityBox.d.ts +8 -0
- package/components/chat/AgentActivityBox.d.ts.map +1 -0
- package/components/chat/AgentActivityBox.js +33 -0
- package/components/chat/AppsSection.d.ts +13 -0
- package/components/chat/AppsSection.d.ts.map +1 -0
- package/components/chat/AppsSection.js +198 -0
- package/components/chat/ConnectorAccountPicker.d.ts +16 -0
- package/components/chat/ConnectorAccountPicker.d.ts.map +1 -0
- package/components/chat/ConnectorAccountPicker.js +65 -0
- package/components/chat/MessageContent.d.ts +42 -0
- package/components/chat/MessageContent.d.ts.map +1 -0
- package/components/chat/MessageContent.js +831 -0
- package/components/chat/SaveCommandModal.d.ts +9 -0
- package/components/chat/SaveCommandModal.d.ts.map +1 -0
- package/components/chat/SaveCommandModal.js +59 -0
- package/components/chat/TasksEventsPanel.d.ts +30 -0
- package/components/chat/TasksEventsPanel.d.ts.map +1 -0
- package/components/chat/TasksEventsPanel.js +139 -0
- package/components/chat/WidgetVisibilityPanel.d.ts +25 -0
- package/components/chat/WidgetVisibilityPanel.d.ts.map +1 -0
- package/components/chat/WidgetVisibilityPanel.js +30 -0
- package/components/chat/chat-source-registration.d.ts +1 -0
- package/components/chat/chat-source-registration.d.ts.map +1 -0
- package/components/chat/chat-source-registration.js +1 -0
- package/components/chat/connector-send-as.d.ts +40 -0
- package/components/chat/connector-send-as.d.ts.map +1 -0
- package/components/chat/connector-send-as.js +95 -0
- package/components/chat/message-choice-parser.d.ts +20 -0
- package/components/chat/message-choice-parser.d.ts.map +1 -0
- package/components/chat/message-choice-parser.js +53 -0
- package/components/chat/widgets/ChoiceWidget.d.ts +24 -0
- package/components/chat/widgets/ChoiceWidget.d.ts.map +1 -0
- package/components/chat/widgets/ChoiceWidget.js +38 -0
- package/components/chat/widgets/agent-orchestrator.d.ts +20 -0
- package/components/chat/widgets/agent-orchestrator.d.ts.map +1 -0
- package/components/chat/widgets/agent-orchestrator.js +273 -0
- package/components/chat/widgets/browser-status.d.ts +14 -0
- package/components/chat/widgets/browser-status.d.ts.map +1 -0
- package/components/chat/widgets/browser-status.js +109 -0
- package/components/chat/widgets/music-player.d.ts +4 -0
- package/components/chat/widgets/music-player.d.ts.map +1 -0
- package/components/chat/widgets/music-player.js +133 -0
- package/components/chat/widgets/registry.d.ts +8 -0
- package/components/chat/widgets/registry.d.ts.map +1 -0
- package/components/chat/widgets/registry.js +7 -0
- package/components/chat/widgets/shared.d.ts +17 -0
- package/components/chat/widgets/shared.d.ts.map +1 -0
- package/components/chat/widgets/shared.js +8 -0
- package/components/chat/widgets/todo.d.ts +3 -0
- package/components/chat/widgets/todo.d.ts.map +1 -0
- package/components/chat/widgets/todo.js +109 -0
- package/components/chat/widgets/types.d.ts +16 -0
- package/components/chat/widgets/types.d.ts.map +1 -0
- package/components/chat/widgets/types.js +1 -0
- package/components/cloud/CloudSourceControls.d.ts +13 -0
- package/components/cloud/CloudSourceControls.d.ts.map +1 -0
- package/components/cloud/CloudSourceControls.js +19 -0
- package/components/cloud/CloudStatusBadge.d.ts +33 -0
- package/components/cloud/CloudStatusBadge.d.ts.map +1 -0
- package/components/cloud/CloudStatusBadge.js +98 -0
- package/components/cloud/FlaminaGuide.d.ts +10 -0
- package/components/cloud/FlaminaGuide.d.ts.map +1 -0
- package/components/cloud/FlaminaGuide.js +86 -0
- package/components/cloud/StripeEmbeddedCheckout.d.ts +24 -0
- package/components/cloud/StripeEmbeddedCheckout.d.ts.map +1 -0
- package/components/cloud/StripeEmbeddedCheckout.js +101 -0
- package/components/companion/injected.d.ts +9 -0
- package/components/companion/injected.d.ts.map +1 -0
- package/components/companion/injected.js +22 -0
- package/components/composites/chat/chat-attachment-strip.d.ts +9 -0
- package/components/composites/chat/chat-attachment-strip.d.ts.map +1 -0
- package/components/composites/chat/chat-attachment-strip.js +8 -0
- package/components/composites/chat/chat-bubble.d.ts +14 -0
- package/components/composites/chat/chat-bubble.d.ts.map +1 -0
- package/components/composites/chat/chat-bubble.js +7 -0
- package/components/composites/chat/chat-composer-shell.d.ts +14 -0
- package/components/composites/chat/chat-composer-shell.d.ts.map +1 -0
- package/components/composites/chat/chat-composer-shell.js +25 -0
- package/components/composites/chat/chat-composer.d.ts +45 -0
- package/components/composites/chat/chat-composer.d.ts.map +1 -0
- package/components/composites/chat/chat-composer.js +297 -0
- package/components/composites/chat/chat-conversation-item.d.ts +21 -0
- package/components/composites/chat/chat-conversation-item.d.ts.map +1 -0
- package/components/composites/chat/chat-conversation-item.js +118 -0
- package/components/composites/chat/chat-conversation-rename-dialog.d.ts +22 -0
- package/components/composites/chat/chat-conversation-rename-dialog.d.ts.map +1 -0
- package/components/composites/chat/chat-conversation-rename-dialog.js +14 -0
- package/components/composites/chat/chat-empty-state.d.ts +19 -0
- package/components/composites/chat/chat-empty-state.d.ts.map +1 -0
- package/components/composites/chat/chat-empty-state.js +8 -0
- package/components/composites/chat/chat-message-actions.d.ts +14 -0
- package/components/composites/chat/chat-message-actions.d.ts.map +1 -0
- package/components/composites/chat/chat-message-actions.js +10 -0
- package/components/composites/chat/chat-message.d.ts +18 -0
- package/components/composites/chat/chat-message.d.ts.map +1 -0
- package/components/composites/chat/chat-message.js +267 -0
- package/components/composites/chat/chat-sidebar.d.ts +54 -0
- package/components/composites/chat/chat-sidebar.d.ts.map +1 -0
- package/components/composites/chat/chat-sidebar.js +64 -0
- package/components/composites/chat/chat-source.d.ts +23 -0
- package/components/composites/chat/chat-source.d.ts.map +1 -0
- package/components/composites/chat/chat-source.js +60 -0
- package/components/composites/chat/chat-thread-layout.d.ts +22 -0
- package/components/composites/chat/chat-thread-layout.d.ts.map +1 -0
- package/components/composites/chat/chat-thread-layout.js +37 -0
- package/components/composites/chat/chat-transcript.d.ts +19 -0
- package/components/composites/chat/chat-transcript.d.ts.map +1 -0
- package/components/composites/chat/chat-transcript.js +88 -0
- package/components/composites/chat/chat-types.d.ts +91 -0
- package/components/composites/chat/chat-types.d.ts.map +1 -0
- package/components/composites/chat/chat-types.js +1 -0
- package/components/composites/chat/chat-typing-indicator.d.ts +10 -0
- package/components/composites/chat/chat-typing-indicator.d.ts.map +1 -0
- package/components/composites/chat/chat-typing-indicator.js +10 -0
- package/components/composites/chat/create-task-popover.d.ts +13 -0
- package/components/composites/chat/create-task-popover.d.ts.map +1 -0
- package/components/composites/chat/create-task-popover.js +44 -0
- package/components/composites/chat/index.d.ts +18 -0
- package/components/composites/chat/index.d.ts.map +1 -0
- package/components/composites/chat/index.js +17 -0
- package/components/composites/chat/permission-card.d.ts +92 -0
- package/components/composites/chat/permission-card.d.ts.map +1 -0
- package/components/composites/chat/permission-card.js +254 -0
- package/components/composites/form-field/form-field.d.ts +14 -0
- package/components/composites/form-field/form-field.d.ts.map +1 -0
- package/components/composites/form-field/form-field.js +8 -0
- package/components/composites/form-field/index.d.ts +2 -0
- package/components/composites/form-field/index.d.ts.map +1 -0
- package/components/composites/form-field/index.js +1 -0
- package/components/composites/index.d.ts +26 -0
- package/components/composites/index.d.ts.map +1 -0
- package/components/composites/index.js +25 -0
- package/components/composites/page-panel/index.d.ts +29 -0
- package/components/composites/page-panel/index.d.ts.map +1 -0
- package/components/composites/page-panel/index.js +28 -0
- package/components/composites/page-panel/page-panel-collapsible-section.d.ts +4 -0
- package/components/composites/page-panel/page-panel-collapsible-section.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-collapsible-section.js +60 -0
- package/components/composites/page-panel/page-panel-empty.d.ts +3 -0
- package/components/composites/page-panel/page-panel-empty.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-empty.js +15 -0
- package/components/composites/page-panel/page-panel-frame.d.ts +5 -0
- package/components/composites/page-panel/page-panel-frame.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-frame.js +9 -0
- package/components/composites/page-panel/page-panel-header.d.ts +7 -0
- package/components/composites/page-panel/page-panel-header.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-header.js +30 -0
- package/components/composites/page-panel/page-panel-loading.d.ts +3 -0
- package/components/composites/page-panel/page-panel-loading.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-loading.js +13 -0
- package/components/composites/page-panel/page-panel-root.d.ts +7 -0
- package/components/composites/page-panel/page-panel-root.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-root.js +17 -0
- package/components/composites/page-panel/page-panel-toolbar.d.ts +4 -0
- package/components/composites/page-panel/page-panel-toolbar.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-toolbar.js +6 -0
- package/components/composites/page-panel/page-panel-types.d.ts +66 -0
- package/components/composites/page-panel/page-panel-types.d.ts.map +1 -0
- package/components/composites/page-panel/page-panel-types.js +1 -0
- package/components/composites/search/index.d.ts +3 -0
- package/components/composites/search/index.d.ts.map +1 -0
- package/components/composites/search/index.js +2 -0
- package/components/composites/search/search-input.d.ts.map +1 -0
- package/components/{ui → composites/search}/search-input.js +3 -2
- package/components/{ui/search-bar.d.ts → composites/search/searchbar.d.ts} +8 -7
- package/components/composites/search/searchbar.d.ts.map +1 -0
- package/components/composites/search/searchbar.js +25 -0
- package/components/composites/sidebar/index.d.ts +11 -0
- package/components/composites/sidebar/index.d.ts.map +1 -0
- package/components/composites/sidebar/index.js +10 -0
- package/components/composites/sidebar/sidebar-auto-rail.d.ts +15 -0
- package/components/composites/sidebar/sidebar-auto-rail.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-auto-rail.js +292 -0
- package/components/composites/sidebar/sidebar-body.d.ts +4 -0
- package/components/composites/sidebar/sidebar-body.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-body.js +7 -0
- package/components/composites/sidebar/sidebar-collapsed-rail.d.ts +11 -0
- package/components/composites/sidebar/sidebar-collapsed-rail.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-collapsed-rail.js +13 -0
- package/components/composites/sidebar/sidebar-content.d.ts +78 -0
- package/components/composites/sidebar/sidebar-content.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-content.js +94 -0
- package/components/composites/sidebar/sidebar-filter-bar.d.ts +3 -0
- package/components/composites/sidebar/sidebar-filter-bar.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-filter-bar.js +14 -0
- package/components/composites/sidebar/sidebar-header-stack.d.ts +3 -0
- package/components/composites/sidebar/sidebar-header-stack.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-header-stack.js +6 -0
- package/components/composites/sidebar/sidebar-header.d.ts +9 -0
- package/components/composites/sidebar/sidebar-header.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-header.js +6 -0
- package/components/composites/sidebar/sidebar-panel.d.ts +3 -0
- package/components/composites/sidebar/sidebar-panel.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-panel.js +18 -0
- package/components/composites/sidebar/sidebar-root.d.ts +4 -0
- package/components/composites/sidebar/sidebar-root.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-root.js +491 -0
- package/components/composites/sidebar/sidebar-scroll-region.d.ts +3 -0
- package/components/composites/sidebar/sidebar-scroll-region.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-scroll-region.js +18 -0
- package/components/composites/sidebar/sidebar-types.d.ts +77 -0
- package/components/composites/sidebar/sidebar-types.d.ts.map +1 -0
- package/components/composites/sidebar/sidebar-types.js +1 -0
- package/components/composites/skills/index.d.ts +2 -0
- package/components/composites/skills/index.d.ts.map +1 -0
- package/components/composites/skills/index.js +1 -0
- package/components/composites/skills/skill-sidebar-item.d.ts +16 -0
- package/components/composites/skills/skill-sidebar-item.d.ts.map +1 -0
- package/components/composites/skills/skill-sidebar-item.js +7 -0
- package/components/composites/trajectories/index.d.ts +8 -0
- package/components/composites/trajectories/index.d.ts.map +1 -0
- package/components/composites/trajectories/index.js +7 -0
- package/components/composites/trajectories/trajectory-cache-stats.d.ts +14 -0
- package/components/composites/trajectories/trajectory-cache-stats.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-cache-stats.js +5 -0
- package/components/composites/trajectories/trajectory-code-block.d.ts +13 -0
- package/components/composites/trajectories/trajectory-code-block.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-code-block.js +13 -0
- package/components/composites/trajectories/trajectory-context-diff-list.d.ts +18 -0
- package/components/composites/trajectories/trajectory-context-diff-list.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-context-diff-list.js +9 -0
- package/components/composites/trajectories/trajectory-event-timeline.d.ts +19 -0
- package/components/composites/trajectories/trajectory-event-timeline.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-event-timeline.js +21 -0
- package/components/composites/trajectories/trajectory-llm-call-card.d.ts +34 -0
- package/components/composites/trajectories/trajectory-llm-call-card.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-llm-call-card.js +14 -0
- package/components/composites/trajectories/trajectory-pipeline-graph.d.ts +26 -0
- package/components/composites/trajectories/trajectory-pipeline-graph.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-pipeline-graph.js +46 -0
- package/components/composites/trajectories/trajectory-sidebar-item.d.ts +15 -0
- package/components/composites/trajectories/trajectory-sidebar-item.d.ts.map +1 -0
- package/components/composites/trajectories/trajectory-sidebar-item.js +8 -0
- package/components/config-ui/config-control-primitives.d.ts +14 -0
- package/components/config-ui/config-control-primitives.d.ts.map +1 -0
- package/components/config-ui/config-control-primitives.js +22 -0
- package/components/config-ui/config-field.d.ts +58 -0
- package/components/config-ui/config-field.d.ts.map +1 -0
- package/components/config-ui/config-field.js +874 -0
- package/components/config-ui/config-renderer.d.ts +164 -0
- package/components/config-ui/config-renderer.d.ts.map +1 -0
- package/components/config-ui/config-renderer.js +396 -0
- package/components/config-ui/index.d.ts +5 -0
- package/components/config-ui/index.d.ts.map +1 -0
- package/components/config-ui/index.js +4 -0
- package/components/config-ui/ui-renderer.d.ts +15 -0
- package/components/config-ui/ui-renderer.d.ts.map +1 -0
- package/components/config-ui/ui-renderer.js +826 -0
- package/components/connectors/BlueBubblesStatusPanel.d.ts +2 -0
- package/components/connectors/BlueBubblesStatusPanel.d.ts.map +1 -0
- package/components/connectors/BlueBubblesStatusPanel.js +61 -0
- package/components/connectors/ConnectorAccountAuditList.d.ts +8 -0
- package/components/connectors/ConnectorAccountAuditList.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountAuditList.js +58 -0
- package/components/connectors/ConnectorAccountCard.d.ts +17 -0
- package/components/connectors/ConnectorAccountCard.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountCard.js +80 -0
- package/components/connectors/ConnectorAccountList.d.ts +13 -0
- package/components/connectors/ConnectorAccountList.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountList.js +82 -0
- package/components/connectors/ConnectorAccountPrivacySelector.d.ts +13 -0
- package/components/connectors/ConnectorAccountPrivacySelector.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountPrivacySelector.js +66 -0
- package/components/connectors/ConnectorAccountPurposeSelector.d.ts +12 -0
- package/components/connectors/ConnectorAccountPurposeSelector.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountPurposeSelector.js +51 -0
- package/components/connectors/ConnectorAccountSetupScope.d.ts +8 -0
- package/components/connectors/ConnectorAccountSetupScope.d.ts.map +1 -0
- package/components/connectors/ConnectorAccountSetupScope.js +25 -0
- package/components/connectors/ConnectorModeSelector.d.ts +37 -0
- package/components/connectors/ConnectorModeSelector.d.ts.map +1 -0
- package/components/connectors/ConnectorModeSelector.js +257 -0
- package/components/connectors/ConnectorSetupPanel.d.ts +12 -0
- package/components/connectors/ConnectorSetupPanel.d.ts.map +1 -0
- package/components/connectors/ConnectorSetupPanel.js +110 -0
- package/components/connectors/DiscordLocalConnectorPanel.d.ts +2 -0
- package/components/connectors/DiscordLocalConnectorPanel.d.ts.map +1 -0
- package/components/connectors/DiscordLocalConnectorPanel.js +249 -0
- package/components/connectors/IMessageStatusPanel.d.ts +2 -0
- package/components/connectors/IMessageStatusPanel.d.ts.map +1 -0
- package/components/connectors/IMessageStatusPanel.js +63 -0
- package/components/connectors/SignalQrOverlay.d.ts +7 -0
- package/components/connectors/SignalQrOverlay.d.ts.map +1 -0
- package/components/connectors/SignalQrOverlay.js +64 -0
- package/components/connectors/TelegramAccountConnectorPanel.d.ts +2 -0
- package/components/connectors/TelegramAccountConnectorPanel.d.ts.map +1 -0
- package/components/connectors/TelegramAccountConnectorPanel.js +202 -0
- package/components/connectors/TelegramBotSetupPanel.d.ts +2 -0
- package/components/connectors/TelegramBotSetupPanel.d.ts.map +1 -0
- package/components/connectors/TelegramBotSetupPanel.js +81 -0
- package/components/connectors/WhatsAppQrOverlay.d.ts +9 -0
- package/components/connectors/WhatsAppQrOverlay.d.ts.map +1 -0
- package/components/connectors/WhatsAppQrOverlay.js +54 -0
- package/components/connectors/connector-account-options.d.ts +42 -0
- package/components/connectors/connector-account-options.d.ts.map +1 -0
- package/components/connectors/connector-account-options.js +209 -0
- package/components/conversations/ConversationRenameDialog.d.ts +9 -0
- package/components/conversations/ConversationRenameDialog.d.ts.map +1 -0
- package/components/conversations/ConversationRenameDialog.js +46 -0
- package/components/conversations/ConversationsSidebar.d.ts +9 -0
- package/components/conversations/ConversationsSidebar.d.ts.map +1 -0
- package/components/conversations/ConversationsSidebar.js +557 -0
- package/components/conversations/brand-icons.d.ts +12 -0
- package/components/conversations/brand-icons.d.ts.map +1 -0
- package/components/conversations/brand-icons.js +52 -0
- package/components/conversations/conversation-sidebar-model.d.ts +66 -0
- package/components/conversations/conversation-sidebar-model.d.ts.map +1 -0
- package/components/conversations/conversation-sidebar-model.js +343 -0
- package/components/conversations/conversation-utils.d.ts +9 -0
- package/components/conversations/conversation-utils.d.ts.map +1 -0
- package/components/conversations/conversation-utils.js +144 -0
- package/components/custom-actions/CustomActionEditor.d.ts +10 -0
- package/components/custom-actions/CustomActionEditor.d.ts.map +1 -0
- package/components/custom-actions/CustomActionEditor.js +385 -0
- package/components/custom-actions/CustomActionsPanel.d.ts +9 -0
- package/components/custom-actions/CustomActionsPanel.d.ts.map +1 -0
- package/components/custom-actions/CustomActionsPanel.js +158 -0
- package/components/custom-actions/CustomActionsView.d.ts +2 -0
- package/components/custom-actions/CustomActionsView.d.ts.map +1 -0
- package/components/custom-actions/CustomActionsView.js +144 -0
- package/components/custom-actions/custom-action-form.d.ts +44 -0
- package/components/custom-actions/custom-action-form.d.ts.map +1 -0
- package/components/custom-actions/custom-action-form.js +237 -0
- package/components/index.d.ts +109 -0
- package/components/index.d.ts.map +1 -0
- package/components/index.js +110 -0
- package/components/local-inference/ActiveModelBar.d.ts +10 -0
- package/components/local-inference/ActiveModelBar.d.ts.map +1 -0
- package/components/local-inference/ActiveModelBar.js +19 -0
- package/components/local-inference/DeviceBridgeStatus.d.ts +2 -0
- package/components/local-inference/DeviceBridgeStatus.d.ts.map +1 -0
- package/components/local-inference/DeviceBridgeStatus.js +39 -0
- package/components/local-inference/DevicesPanel.d.ts +8 -0
- package/components/local-inference/DevicesPanel.d.ts.map +1 -0
- package/components/local-inference/DevicesPanel.js +44 -0
- package/components/local-inference/DownloadProgress.d.ts +7 -0
- package/components/local-inference/DownloadProgress.d.ts.map +1 -0
- package/components/local-inference/DownloadProgress.js +8 -0
- package/components/local-inference/DownloadQueue.d.ts +15 -0
- package/components/local-inference/DownloadQueue.d.ts.map +1 -0
- package/components/local-inference/DownloadQueue.js +21 -0
- package/components/local-inference/FirstRunOffer.d.ts +11 -0
- package/components/local-inference/FirstRunOffer.d.ts.map +1 -0
- package/components/local-inference/FirstRunOffer.js +39 -0
- package/components/local-inference/HardwareBadge.d.ts +7 -0
- package/components/local-inference/HardwareBadge.d.ts.map +1 -0
- package/components/local-inference/HardwareBadge.js +10 -0
- package/components/local-inference/HuggingFaceSearch.d.ts +22 -0
- package/components/local-inference/HuggingFaceSearch.d.ts.map +1 -0
- package/components/local-inference/HuggingFaceSearch.js +68 -0
- package/components/local-inference/LocalInferencePanel.d.ts +5 -0
- package/components/local-inference/LocalInferencePanel.d.ts.map +1 -0
- package/components/local-inference/LocalInferencePanel.js +225 -0
- package/components/local-inference/ModelCard.d.ts +20 -0
- package/components/local-inference/ModelCard.d.ts.map +1 -0
- package/components/local-inference/ModelCard.js +21 -0
- package/components/local-inference/ModelHubView.d.ts +18 -0
- package/components/local-inference/ModelHubView.d.ts.map +1 -0
- package/components/local-inference/ModelHubView.js +40 -0
- package/components/local-inference/ProvidersList.d.ts +2 -0
- package/components/local-inference/ProvidersList.d.ts.map +1 -0
- package/components/local-inference/ProvidersList.js +51 -0
- package/components/local-inference/RoutingMatrix.d.ts +2 -0
- package/components/local-inference/RoutingMatrix.d.ts.map +1 -0
- package/components/local-inference/RoutingMatrix.js +98 -0
- package/components/local-inference/SlotAssignments.d.ts +15 -0
- package/components/local-inference/SlotAssignments.d.ts.map +1 -0
- package/components/local-inference/SlotAssignments.js +48 -0
- package/components/local-inference/hub-utils.d.ts +27 -0
- package/components/local-inference/hub-utils.d.ts.map +1 -0
- package/components/local-inference/hub-utils.js +87 -0
- package/components/onboarding/BootstrapStep.d.ts +35 -0
- package/components/onboarding/BootstrapStep.d.ts.map +1 -0
- package/components/onboarding/BootstrapStep.js +151 -0
- package/components/onboarding/PasswordSetupStep.d.ts +28 -0
- package/components/onboarding/PasswordSetupStep.d.ts.map +1 -0
- package/components/onboarding/PasswordSetupStep.js +82 -0
- package/components/onboarding/onboarding-form-primitives.d.ts +54 -0
- package/components/onboarding/onboarding-form-primitives.d.ts.map +1 -0
- package/components/onboarding/onboarding-form-primitives.js +55 -0
- package/components/onboarding/onboarding-step-chrome.d.ts +40 -0
- package/components/onboarding/onboarding-step-chrome.d.ts.map +1 -0
- package/components/onboarding/onboarding-step-chrome.js +74 -0
- package/components/pages/AppDetailsView.d.ts +34 -0
- package/components/pages/AppDetailsView.d.ts.map +1 -0
- package/components/pages/AppDetailsView.js +350 -0
- package/components/pages/AppsPageView.d.ts +12 -0
- package/components/pages/AppsPageView.d.ts.map +1 -0
- package/components/pages/AppsPageView.js +58 -0
- package/components/pages/AppsView.d.ts +3 -0
- package/components/pages/AppsView.d.ts.map +1 -0
- package/components/pages/AppsView.js +840 -0
- package/components/pages/AutomationsChatPane.d.ts +19 -0
- package/components/pages/AutomationsChatPane.d.ts.map +1 -0
- package/components/pages/AutomationsChatPane.js +15 -0
- package/components/pages/AutomationsFeed.d.ts +38 -0
- package/components/pages/AutomationsFeed.d.ts.map +1 -0
- package/components/pages/AutomationsFeed.js +278 -0
- package/components/pages/BrowserWorkspaceView.d.ts +17 -0
- package/components/pages/BrowserWorkspaceView.d.ts.map +1 -0
- package/components/pages/BrowserWorkspaceView.js +1586 -0
- package/components/pages/ChatModalView.d.ts +13 -0
- package/components/pages/ChatModalView.d.ts.map +1 -0
- package/components/pages/ChatModalView.js +17 -0
- package/components/pages/ChatPanelLayout.d.ts +11 -0
- package/components/pages/ChatPanelLayout.d.ts.map +1 -0
- package/components/pages/ChatPanelLayout.js +37 -0
- package/components/pages/ChatView.d.ts +24 -0
- package/components/pages/ChatView.d.ts.map +1 -0
- package/components/pages/ChatView.js +630 -0
- package/components/pages/ConfigPageView.d.ts +12 -0
- package/components/pages/ConfigPageView.d.ts.map +1 -0
- package/components/pages/ConfigPageView.js +297 -0
- package/components/pages/ConnectorsPageView.d.ts +8 -0
- package/components/pages/ConnectorsPageView.d.ts.map +1 -0
- package/components/pages/ConnectorsPageView.js +8 -0
- package/components/pages/DatabasePageView.d.ts +5 -0
- package/components/pages/DatabasePageView.d.ts.map +1 -0
- package/components/pages/DatabasePageView.js +33 -0
- package/components/pages/DatabaseView.d.ts +6 -0
- package/components/pages/DatabaseView.d.ts.map +1 -0
- package/components/pages/DatabaseView.js +247 -0
- package/components/pages/DocumentsView.d.ts +12 -0
- package/components/pages/DocumentsView.d.ts.map +1 -0
- package/components/pages/DocumentsView.js +660 -0
- package/components/pages/ElizaCloudDashboard.d.ts +2 -0
- package/components/pages/ElizaCloudDashboard.d.ts.map +1 -0
- package/components/pages/ElizaCloudDashboard.js +486 -0
- package/components/pages/ElizaOsAppsView.d.ts +4 -0
- package/components/pages/ElizaOsAppsView.d.ts.map +1 -0
- package/components/pages/ElizaOsAppsView.js +618 -0
- package/components/pages/HeartbeatForm.d.ts +56 -0
- package/components/pages/HeartbeatForm.d.ts.map +1 -0
- package/components/pages/HeartbeatForm.js +215 -0
- package/components/pages/HeartbeatsView.d.ts +3 -0
- package/components/pages/HeartbeatsView.d.ts.map +1 -0
- package/components/pages/HeartbeatsView.js +399 -0
- package/components/pages/HomePlaceholderView.d.ts +16 -0
- package/components/pages/HomePlaceholderView.d.ts.map +1 -0
- package/components/pages/HomePlaceholderView.js +17 -0
- package/components/pages/LogsView.d.ts +12 -0
- package/components/pages/LogsView.d.ts.map +1 -0
- package/components/pages/LogsView.js +90 -0
- package/components/pages/MediaGalleryView.d.ts +6 -0
- package/components/pages/MediaGalleryView.d.ts.map +1 -0
- package/components/pages/MediaGalleryView.js +273 -0
- package/components/pages/MemoryDetailPanel.d.ts +5 -0
- package/components/pages/MemoryDetailPanel.d.ts.map +1 -0
- package/components/pages/MemoryDetailPanel.js +17 -0
- package/components/pages/MemoryViewerView.d.ts +5 -0
- package/components/pages/MemoryViewerView.d.ts.map +1 -0
- package/components/pages/MemoryViewerView.js +234 -0
- package/components/pages/PageScopedChatPane.d.ts +51 -0
- package/components/pages/PageScopedChatPane.d.ts.map +1 -0
- package/components/pages/PageScopedChatPane.js +586 -0
- package/components/pages/PluginCard.d.ts +36 -0
- package/components/pages/PluginCard.d.ts.map +1 -0
- package/components/pages/PluginCard.js +128 -0
- package/components/pages/PluginConfigForm.d.ts +29 -0
- package/components/pages/PluginConfigForm.d.ts.map +1 -0
- package/components/pages/PluginConfigForm.js +133 -0
- package/components/pages/PluginsPageView.d.ts +9 -0
- package/components/pages/PluginsPageView.d.ts.map +1 -0
- package/components/pages/PluginsPageView.js +5 -0
- package/components/pages/PluginsView.d.ts +11 -0
- package/components/pages/PluginsView.d.ts.map +1 -0
- package/components/pages/PluginsView.js +813 -0
- package/components/pages/RelationshipsGraphPanel.d.ts +8 -0
- package/components/pages/RelationshipsGraphPanel.d.ts.map +1 -0
- package/components/pages/RelationshipsGraphPanel.js +696 -0
- package/components/pages/RelationshipsIdentityCluster.d.ts +5 -0
- package/components/pages/RelationshipsIdentityCluster.d.ts.map +1 -0
- package/components/pages/RelationshipsIdentityCluster.js +17 -0
- package/components/pages/RelationshipsView.d.ts +5 -0
- package/components/pages/RelationshipsView.d.ts.map +1 -0
- package/components/pages/RelationshipsView.js +5 -0
- package/components/pages/ReleaseCenterView.d.ts +2 -0
- package/components/pages/ReleaseCenterView.d.ts.map +1 -0
- package/components/pages/ReleaseCenterView.js +216 -0
- package/components/pages/RuntimeView.d.ts +5 -0
- package/components/pages/RuntimeView.d.ts.map +1 -0
- package/components/pages/RuntimeView.js +283 -0
- package/components/pages/SecretsView.d.ts +5 -0
- package/components/pages/SecretsView.d.ts.map +1 -0
- package/components/pages/SecretsView.js +245 -0
- package/components/pages/SettingsView.d.ts +6 -0
- package/components/pages/SettingsView.d.ts.map +1 -0
- package/components/pages/SettingsView.js +526 -0
- package/components/pages/SkillsView.d.ts +6 -0
- package/components/pages/SkillsView.d.ts.map +1 -0
- package/components/pages/SkillsView.js +205 -0
- package/components/pages/SqlEditorPanel.d.ts +13 -0
- package/components/pages/SqlEditorPanel.d.ts.map +1 -0
- package/components/pages/SqlEditorPanel.js +19 -0
- package/components/pages/StreamView.d.ts +4 -0
- package/components/pages/StreamView.d.ts.map +1 -0
- package/components/pages/StreamView.js +113 -0
- package/components/pages/TaskEditor.d.ts +39 -0
- package/components/pages/TaskEditor.d.ts.map +1 -0
- package/components/pages/TaskEditor.js +71 -0
- package/components/pages/TasksPageView.d.ts +2 -0
- package/components/pages/TasksPageView.d.ts.map +1 -0
- package/components/pages/TasksPageView.js +10 -0
- package/components/pages/TrajectoriesView.d.ts +9 -0
- package/components/pages/TrajectoriesView.d.ts.map +1 -0
- package/components/pages/TrajectoriesView.js +282 -0
- package/components/pages/TrajectoryDetailView.d.ts +7 -0
- package/components/pages/TrajectoryDetailView.d.ts.map +1 -0
- package/components/pages/TrajectoryDetailView.js +410 -0
- package/components/pages/VectorBrowserView.d.ts +13 -0
- package/components/pages/VectorBrowserView.d.ts.map +1 -0
- package/components/pages/VectorBrowserView.js +863 -0
- package/components/pages/WorkflowEditor.d.ts +26 -0
- package/components/pages/WorkflowEditor.d.ts.map +1 -0
- package/components/pages/WorkflowEditor.js +156 -0
- package/components/pages/WorkflowGraphViewer.d.ts +13 -0
- package/components/pages/WorkflowGraphViewer.d.ts.map +1 -0
- package/components/pages/WorkflowGraphViewer.js +378 -0
- package/components/pages/automation-conversations.d.ts +16 -0
- package/components/pages/automation-conversations.d.ts.map +1 -0
- package/components/pages/automation-conversations.js +204 -0
- package/components/pages/automations-missing-creds.d.ts +25 -0
- package/components/pages/automations-missing-creds.d.ts.map +1 -0
- package/components/pages/automations-missing-creds.js +39 -0
- package/components/pages/browser-wallet-consent-format.d.ts +20 -0
- package/components/pages/browser-wallet-consent-format.d.ts.map +1 -0
- package/components/pages/browser-wallet-consent-format.js +76 -0
- package/components/pages/browser-workspace-wallet.d.ts +80 -0
- package/components/pages/browser-workspace-wallet.d.ts.map +1 -0
- package/components/pages/browser-workspace-wallet.js +135 -0
- package/components/pages/chat-view-hooks.d.ts +65 -0
- package/components/pages/chat-view-hooks.d.ts.map +1 -0
- package/components/pages/chat-view-hooks.js +531 -0
- package/components/pages/cloud-dashboard-utils.d.ts +91 -0
- package/components/pages/cloud-dashboard-utils.d.ts.map +1 -0
- package/components/pages/cloud-dashboard-utils.js +284 -0
- package/components/pages/config-page-sections.d.ts +86 -0
- package/components/pages/config-page-sections.d.ts.map +1 -0
- package/components/pages/config-page-sections.js +205 -0
- package/components/pages/database-utils.d.ts +30 -0
- package/components/pages/database-utils.d.ts.map +1 -0
- package/components/pages/database-utils.js +133 -0
- package/components/pages/documents-detail.d.ts +9 -0
- package/components/pages/documents-detail.d.ts.map +1 -0
- package/components/pages/documents-detail.js +168 -0
- package/components/pages/documents-upload.d.ts +31 -0
- package/components/pages/documents-upload.d.ts.map +1 -0
- package/components/pages/documents-upload.js +178 -0
- package/components/pages/heartbeat-utils.d.ts +105 -0
- package/components/pages/heartbeat-utils.d.ts.map +1 -0
- package/components/pages/heartbeat-utils.js +368 -0
- package/components/pages/page-scoped-conversations.d.ts +62 -0
- package/components/pages/page-scoped-conversations.d.ts.map +1 -0
- package/components/pages/page-scoped-conversations.js +271 -0
- package/components/pages/plugin-list-utils.d.ts +67 -0
- package/components/pages/plugin-list-utils.d.ts.map +1 -0
- package/components/pages/plugin-list-utils.js +665 -0
- package/components/pages/plugin-view-connectors.d.ts +57 -0
- package/components/pages/plugin-view-connectors.d.ts.map +1 -0
- package/components/pages/plugin-view-connectors.js +371 -0
- package/components/pages/plugin-view-dialogs.d.ts +36 -0
- package/components/pages/plugin-view-dialogs.d.ts.map +1 -0
- package/components/pages/plugin-view-dialogs.js +63 -0
- package/components/pages/plugin-view-modal.d.ts +34 -0
- package/components/pages/plugin-view-modal.d.ts.map +1 -0
- package/components/pages/plugin-view-modal.js +29 -0
- package/components/pages/plugin-view-sidebar.d.ts +36 -0
- package/components/pages/plugin-view-sidebar.d.ts.map +1 -0
- package/components/pages/plugin-view-sidebar.js +42 -0
- package/components/pages/relationships/RelationshipsActivityFeed.d.ts +2 -0
- package/components/pages/relationships/RelationshipsActivityFeed.d.ts.map +1 -0
- package/components/pages/relationships/RelationshipsActivityFeed.js +85 -0
- package/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts +6 -0
- package/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts.map +1 -0
- package/components/pages/relationships/RelationshipsCandidateMergesPanel.js +73 -0
- package/components/pages/relationships/RelationshipsPersonPanels.d.ts +30 -0
- package/components/pages/relationships/RelationshipsPersonPanels.d.ts.map +1 -0
- package/components/pages/relationships/RelationshipsPersonPanels.js +319 -0
- package/components/pages/relationships/RelationshipsSidebar.d.ts +10 -0
- package/components/pages/relationships/RelationshipsSidebar.d.ts.map +1 -0
- package/components/pages/relationships/RelationshipsSidebar.js +16 -0
- package/components/pages/relationships/RelationshipsWorkspaceView.d.ts +7 -0
- package/components/pages/relationships/RelationshipsWorkspaceView.d.ts.map +1 -0
- package/components/pages/relationships/RelationshipsWorkspaceView.js +130 -0
- package/components/pages/relationships/relationships-utils.d.ts +16 -0
- package/components/pages/relationships/relationships-utils.d.ts.map +1 -0
- package/components/pages/relationships/relationships-utils.js +105 -0
- package/components/pages/skill-detail-panel.d.ts +13 -0
- package/components/pages/skill-detail-panel.d.ts.map +1 -0
- package/components/pages/skill-detail-panel.js +161 -0
- package/components/pages/skill-marketplace.d.ts +38 -0
- package/components/pages/skill-marketplace.d.ts.map +1 -0
- package/components/pages/skill-marketplace.js +114 -0
- package/components/pages/useBrowserWorkspaceWalletBridge.d.ts +43 -0
- package/components/pages/useBrowserWorkspaceWalletBridge.d.ts.map +1 -0
- package/components/pages/useBrowserWorkspaceWalletBridge.js +362 -0
- package/components/pages/vector-browser-utils.d.ts +50 -0
- package/components/pages/vector-browser-utils.d.ts.map +1 -0
- package/components/pages/vector-browser-utils.js +243 -0
- package/components/pages/workflow-graph-events.d.ts +15 -0
- package/components/pages/workflow-graph-events.d.ts.map +1 -0
- package/components/pages/workflow-graph-events.js +17 -0
- package/components/permissions/PermissionIcon.d.ts +4 -0
- package/components/permissions/PermissionIcon.d.ts.map +1 -0
- package/components/permissions/PermissionIcon.js +22 -0
- package/components/permissions/StreamingPermissions.d.ts +21 -0
- package/components/permissions/StreamingPermissions.d.ts.map +1 -0
- package/components/permissions/StreamingPermissions.js +255 -0
- package/components/plugins/showcase-data.d.ts +4 -0
- package/components/plugins/showcase-data.d.ts.map +1 -0
- package/components/plugins/showcase-data.js +461 -0
- package/components/policy-controls/ApprovedAddressesSection.d.ts +7 -0
- package/components/policy-controls/ApprovedAddressesSection.d.ts.map +1 -0
- package/components/policy-controls/ApprovedAddressesSection.js +74 -0
- package/components/policy-controls/AutoApproveSection.d.ts +7 -0
- package/components/policy-controls/AutoApproveSection.d.ts.map +1 -0
- package/components/policy-controls/AutoApproveSection.js +14 -0
- package/components/policy-controls/PolicyToggle.d.ts +15 -0
- package/components/policy-controls/PolicyToggle.d.ts.map +1 -0
- package/components/policy-controls/PolicyToggle.js +12 -0
- package/components/policy-controls/RateLimitSection.d.ts +7 -0
- package/components/policy-controls/RateLimitSection.d.ts.map +1 -0
- package/components/policy-controls/RateLimitSection.js +11 -0
- package/components/policy-controls/SpendingLimitSection.d.ts +7 -0
- package/components/policy-controls/SpendingLimitSection.d.ts.map +1 -0
- package/components/policy-controls/SpendingLimitSection.js +15 -0
- package/components/policy-controls/TimeWindowSection.d.ts +7 -0
- package/components/policy-controls/TimeWindowSection.d.ts.map +1 -0
- package/components/policy-controls/TimeWindowSection.js +40 -0
- package/components/policy-controls/constants.d.ts +11 -0
- package/components/policy-controls/constants.d.ts.map +1 -0
- package/components/policy-controls/constants.js +41 -0
- package/components/policy-controls/helpers.d.ts +13 -0
- package/components/policy-controls/helpers.d.ts.map +1 -0
- package/components/policy-controls/helpers.js +43 -0
- package/components/policy-controls/index.d.ts +10 -0
- package/components/policy-controls/index.d.ts.map +1 -0
- package/components/policy-controls/index.js +9 -0
- package/components/policy-controls/types.d.ts +58 -0
- package/components/policy-controls/types.d.ts.map +1 -0
- package/components/policy-controls/types.js +7 -0
- package/components/primitives/index.d.ts +24 -0
- package/components/primitives/index.d.ts.map +1 -0
- package/components/primitives/index.js +23 -0
- package/components/release-center/sections.d.ts +49 -0
- package/components/release-center/sections.d.ts.map +1 -0
- package/components/release-center/sections.js +79 -0
- package/components/release-center/shared.d.ts +13 -0
- package/components/release-center/shared.d.ts.map +1 -0
- package/components/release-center/shared.js +38 -0
- package/components/release-center/types.d.ts +79 -0
- package/components/release-center/types.d.ts.map +1 -0
- package/components/release-center/types.js +5 -0
- package/components/settings/ApiKeyConfig.d.ts +36 -0
- package/components/settings/ApiKeyConfig.d.ts.map +1 -0
- package/components/settings/ApiKeyConfig.js +148 -0
- package/components/settings/AppearanceSettingsSection.d.ts +2 -0
- package/components/settings/AppearanceSettingsSection.d.ts.map +1 -0
- package/components/settings/AppearanceSettingsSection.js +253 -0
- package/components/settings/AppsManagementSection.d.ts +12 -0
- package/components/settings/AppsManagementSection.d.ts.map +1 -0
- package/components/settings/AppsManagementSection.js +285 -0
- package/components/settings/CapabilitiesSection.d.ts +2 -0
- package/components/settings/CapabilitiesSection.d.ts.map +1 -0
- package/components/settings/CapabilitiesSection.js +97 -0
- package/components/settings/CloudInstancePanel.d.ts +2 -0
- package/components/settings/CloudInstancePanel.d.ts.map +1 -0
- package/components/settings/CloudInstancePanel.js +48 -0
- package/components/settings/DesktopWorkspaceSection.d.ts +7 -0
- package/components/settings/DesktopWorkspaceSection.d.ts.map +1 -0
- package/components/settings/DesktopWorkspaceSection.js +503 -0
- package/components/settings/IdentitySettingsSection.d.ts +2 -0
- package/components/settings/IdentitySettingsSection.d.ts.map +1 -0
- package/components/settings/IdentitySettingsSection.js +310 -0
- package/components/settings/PermissionsSection.d.ts +2 -0
- package/components/settings/PermissionsSection.d.ts.map +1 -0
- package/components/settings/PermissionsSection.js +156 -0
- package/components/settings/PolicyControlsView.d.ts +2 -0
- package/components/settings/PolicyControlsView.d.ts.map +1 -0
- package/components/settings/PolicyControlsView.js +232 -0
- package/components/settings/ProviderSwitcher.d.ts +22 -0
- package/components/settings/ProviderSwitcher.d.ts.map +1 -0
- package/components/settings/ProviderSwitcher.js +657 -0
- package/components/settings/RuntimeSettingsSection.d.ts +10 -0
- package/components/settings/RuntimeSettingsSection.d.ts.map +1 -0
- package/components/settings/RuntimeSettingsSection.js +173 -0
- package/components/settings/SecretsManagerSection.d.ts +21 -0
- package/components/settings/SecretsManagerSection.d.ts.map +1 -0
- package/components/settings/SecretsManagerSection.js +339 -0
- package/components/settings/SecuritySettingsSection.d.ts +2 -0
- package/components/settings/SecuritySettingsSection.d.ts.map +1 -0
- package/components/settings/SecuritySettingsSection.js +381 -0
- package/components/settings/SubscriptionStatus.d.ts +33 -0
- package/components/settings/SubscriptionStatus.d.ts.map +1 -0
- package/components/settings/SubscriptionStatus.js +291 -0
- package/components/settings/VaultInventoryPanel.d.ts +61 -0
- package/components/settings/VaultInventoryPanel.d.ts.map +1 -0
- package/components/settings/VaultInventoryPanel.js +283 -0
- package/components/settings/VoiceConfigView.d.ts +5 -0
- package/components/settings/VoiceConfigView.d.ts.map +1 -0
- package/components/settings/VoiceConfigView.js +505 -0
- package/components/settings/WalletKeysSection.d.ts +19 -0
- package/components/settings/WalletKeysSection.d.ts.map +1 -0
- package/components/settings/WalletKeysSection.js +167 -0
- package/components/settings/cloud-model-schema.d.ts +26 -0
- package/components/settings/cloud-model-schema.d.ts.map +1 -0
- package/components/settings/cloud-model-schema.js +108 -0
- package/components/settings/permission-controls.d.ts +37 -0
- package/components/settings/permission-controls.d.ts.map +1 -0
- package/components/settings/permission-controls.js +480 -0
- package/components/settings/permission-types.d.ts +44 -0
- package/components/settings/permission-types.d.ts.map +1 -0
- package/components/settings/permission-types.js +319 -0
- package/components/settings/settings-control-primitives.d.ts +11 -0
- package/components/settings/settings-control-primitives.d.ts.map +1 -0
- package/components/settings/settings-control-primitives.js +14 -0
- package/components/settings/vault-tabs/LoginsTab.d.ts +9 -0
- package/components/settings/vault-tabs/LoginsTab.d.ts.map +1 -0
- package/components/settings/vault-tabs/LoginsTab.js +189 -0
- package/components/settings/vault-tabs/OverviewTab.d.ts +60 -0
- package/components/settings/vault-tabs/OverviewTab.d.ts.map +1 -0
- package/components/settings/vault-tabs/OverviewTab.js +260 -0
- package/components/settings/vault-tabs/RoutingTab.d.ts +22 -0
- package/components/settings/vault-tabs/RoutingTab.d.ts.map +1 -0
- package/components/settings/vault-tabs/RoutingTab.js +175 -0
- package/components/settings/vault-tabs/SecretsTab.d.ts +17 -0
- package/components/settings/vault-tabs/SecretsTab.d.ts.map +1 -0
- package/components/settings/vault-tabs/SecretsTab.js +11 -0
- package/components/settings/vault-tabs/types.d.ts +105 -0
- package/components/settings/vault-tabs/types.d.ts.map +1 -0
- package/components/settings/vault-tabs/types.js +8 -0
- package/components/shared/AppPageSidebar.d.ts +12 -0
- package/components/shared/AppPageSidebar.d.ts.map +1 -0
- package/components/shared/AppPageSidebar.js +119 -0
- package/components/shared/CollapsibleSidebarSection.d.ts +19 -0
- package/components/shared/CollapsibleSidebarSection.d.ts.map +1 -0
- package/components/shared/CollapsibleSidebarSection.js +12 -0
- package/components/shared/LanguageDropdown.d.ts +24 -0
- package/components/shared/LanguageDropdown.d.ts.map +1 -0
- package/components/shared/LanguageDropdown.js +37 -0
- package/components/shared/ThemeToggle.d.ts +14 -0
- package/components/shared/ThemeToggle.d.ts.map +1 -0
- package/components/shared/ThemeToggle.js +14 -0
- package/components/shared/confirm-delete-control.d.ts +19 -0
- package/components/shared/confirm-delete-control.d.ts.map +1 -0
- package/components/shared/confirm-delete-control.js +19 -0
- package/components/shell/BugReportModal.d.ts +2 -0
- package/components/shell/BugReportModal.d.ts.map +1 -0
- package/components/shell/BugReportModal.js +366 -0
- package/components/shell/CommandPalette.d.ts +2 -0
- package/components/shell/CommandPalette.d.ts.map +1 -0
- package/components/shell/CommandPalette.js +185 -0
- package/components/shell/ComputerUseApprovalOverlay.d.ts +2 -0
- package/components/shell/ComputerUseApprovalOverlay.d.ts.map +1 -0
- package/components/shell/ComputerUseApprovalOverlay.js +171 -0
- package/components/shell/ConnectionFailedBanner.d.ts +6 -0
- package/components/shell/ConnectionFailedBanner.d.ts.map +1 -0
- package/components/shell/ConnectionFailedBanner.js +23 -0
- package/components/shell/ConnectionLostOverlay.d.ts +2 -0
- package/components/shell/ConnectionLostOverlay.d.ts.map +1 -0
- package/components/shell/ConnectionLostOverlay.js +49 -0
- package/components/shell/DnaLoader.d.ts +8 -0
- package/components/shell/DnaLoader.d.ts.map +1 -0
- package/components/shell/DnaLoader.js +50 -0
- package/components/shell/Header.d.ts +12 -0
- package/components/shell/Header.d.ts.map +1 -0
- package/components/shell/Header.js +316 -0
- package/components/shell/LoadingScreen.d.ts +13 -0
- package/components/shell/LoadingScreen.d.ts.map +1 -0
- package/components/shell/LoadingScreen.js +86 -0
- package/components/shell/PairingCommandHint.d.ts +4 -0
- package/components/shell/PairingCommandHint.d.ts.map +1 -0
- package/components/shell/PairingCommandHint.js +68 -0
- package/components/shell/PairingView.d.ts +2 -0
- package/components/shell/PairingView.d.ts.map +1 -0
- package/components/shell/PairingView.js +43 -0
- package/components/shell/RestartBanner.d.ts +2 -0
- package/components/shell/RestartBanner.d.ts.map +1 -0
- package/components/shell/RestartBanner.js +39 -0
- package/components/shell/RuntimeGate.d.ts +51 -0
- package/components/shell/RuntimeGate.d.ts.map +1 -0
- package/components/shell/RuntimeGate.js +1293 -0
- package/components/shell/ShellHeaderControls.d.ts +44 -0
- package/components/shell/ShellHeaderControls.d.ts.map +1 -0
- package/components/shell/ShellHeaderControls.js +80 -0
- package/components/shell/ShellOverlays.d.ts +5 -0
- package/components/shell/ShellOverlays.d.ts.map +1 -0
- package/components/shell/ShellOverlays.js +15 -0
- package/components/shell/ShortcutsOverlay.d.ts +2 -0
- package/components/shell/ShortcutsOverlay.d.ts.map +1 -0
- package/components/shell/ShortcutsOverlay.js +58 -0
- package/components/shell/SplashServerChooser.d.ts +14 -0
- package/components/shell/SplashServerChooser.d.ts.map +1 -0
- package/components/shell/SplashServerChooser.js +23 -0
- package/components/shell/StartupFailureView.d.ts +8 -0
- package/components/shell/StartupFailureView.d.ts.map +1 -0
- package/components/shell/StartupFailureView.js +148 -0
- package/components/shell/StartupShell.d.ts +12 -0
- package/components/shell/StartupShell.d.ts.map +1 -0
- package/components/shell/StartupShell.js +234 -0
- package/components/shell/SystemWarningBanner.d.ts +6 -0
- package/components/shell/SystemWarningBanner.d.ts.map +1 -0
- package/components/shell/SystemWarningBanner.js +44 -0
- package/components/shell/onboarding-theme.d.ts +6 -0
- package/components/shell/onboarding-theme.d.ts.map +1 -0
- package/components/shell/onboarding-theme.js +29 -0
- package/components/shell/pairing-command.d.ts +9 -0
- package/components/shell/pairing-command.d.ts.map +1 -0
- package/components/shell/pairing-command.js +48 -0
- package/components/steward/injected.d.ts +5 -0
- package/components/steward/injected.d.ts.map +1 -0
- package/components/steward/injected.js +14 -0
- package/components/stream/StatusBar.d.ts +10 -0
- package/components/stream/StatusBar.d.ts.map +1 -0
- package/components/stream/StatusBar.js +65 -0
- package/components/stream/helpers.d.ts +15 -0
- package/components/stream/helpers.d.ts.map +1 -0
- package/components/stream/helpers.js +16 -0
- package/components/tool-events/ToolCallEventLog.d.ts +10 -0
- package/components/tool-events/ToolCallEventLog.d.ts.map +1 -0
- package/components/tool-events/ToolCallEventLog.js +81 -0
- package/components/training/InferenceEndpointPanel.d.ts +2 -0
- package/components/training/InferenceEndpointPanel.d.ts.map +1 -0
- package/components/training/InferenceEndpointPanel.js +63 -0
- package/components/training/JobDetailPanel.d.ts +7 -0
- package/components/training/JobDetailPanel.d.ts.map +1 -0
- package/components/training/JobDetailPanel.js +74 -0
- package/components/training/TrainingDashboard.d.ts +2 -0
- package/components/training/TrainingDashboard.d.ts.map +1 -0
- package/components/training/TrainingDashboard.js +86 -0
- package/components/training/hooks/useTrainingApi.d.ts +59 -0
- package/components/training/hooks/useTrainingApi.d.ts.map +1 -0
- package/components/training/hooks/useTrainingApi.js +343 -0
- package/components/training/injected.d.ts +3 -0
- package/components/training/injected.d.ts.map +1 -0
- package/components/training/injected.js +8 -0
- package/components/training/types.d.ts +56 -0
- package/components/training/types.d.ts.map +1 -0
- package/components/training/types.js +1 -0
- package/components/ui/admin-dialog.d.ts +50 -0
- package/components/ui/admin-dialog.d.ts.map +1 -0
- package/components/ui/admin-dialog.js +48 -0
- package/components/ui/badge.d.ts +1 -1
- package/components/ui/badge.d.ts.map +1 -1
- package/components/ui/badge.js +1 -1
- package/components/ui/banner.d.ts +1 -1
- package/components/ui/banner.d.ts.map +1 -1
- package/components/ui/banner.js +3 -2
- package/components/ui/button.d.ts +1 -1
- package/components/ui/button.d.ts.map +1 -1
- package/components/ui/button.js +13 -11
- package/components/ui/card.d.ts +8 -2
- package/components/ui/card.d.ts.map +1 -1
- package/components/ui/card.js +18 -3
- package/components/ui/checkbox.d.ts.map +1 -1
- package/components/ui/checkbox.js +1 -1
- package/components/ui/confirm-delete.d.ts +9 -1
- package/components/ui/confirm-delete.d.ts.map +1 -1
- package/components/ui/confirm-delete.js +8 -5
- package/components/ui/confirm-dialog.d.ts +28 -4
- package/components/ui/confirm-dialog.d.ts.map +1 -1
- package/components/ui/confirm-dialog.js +59 -24
- package/components/ui/connection-status.d.ts +6 -0
- package/components/ui/connection-status.d.ts.map +1 -1
- package/components/ui/connection-status.js +21 -21
- package/components/ui/copy-button.d.ts.map +1 -1
- package/components/ui/copy-button.js +1 -1
- package/components/ui/dialog.d.ts +6 -1
- package/components/ui/dialog.d.ts.map +1 -1
- package/components/ui/dialog.js +5 -4
- package/components/ui/drawer-sheet.d.ts +19 -0
- package/components/ui/drawer-sheet.d.ts.map +1 -0
- package/components/ui/drawer-sheet.js +21 -0
- package/components/ui/dropdown-menu.d.ts.map +1 -1
- package/components/ui/dropdown-menu.js +1 -1
- package/components/ui/empty-state.d.ts.map +1 -1
- package/components/ui/empty-state.js +1 -1
- package/components/ui/error-boundary.d.ts +4 -0
- package/components/ui/error-boundary.d.ts.map +1 -1
- package/components/ui/error-boundary.js +2 -2
- package/components/ui/field-switch.d.ts +8 -0
- package/components/ui/field-switch.d.ts.map +1 -0
- package/components/ui/field-switch.js +10 -0
- package/components/ui/field.d.ts +12 -0
- package/components/ui/field.d.ts.map +1 -0
- package/components/ui/field.js +21 -0
- package/components/ui/form-select.d.ts +14 -0
- package/components/ui/form-select.d.ts.map +1 -0
- package/components/ui/form-select.js +9 -0
- package/components/ui/grid.d.ts +1 -1
- package/components/ui/grid.d.ts.map +1 -1
- package/components/ui/grid.js +1 -1
- package/components/ui/input.d.ts +8 -2
- package/components/ui/input.d.ts.map +1 -1
- package/components/ui/input.js +24 -4
- package/components/ui/label.d.ts +1 -2
- package/components/ui/label.d.ts.map +1 -1
- package/components/ui/label.js +3 -4
- package/components/ui/new-action-button.d.ts +7 -0
- package/components/ui/new-action-button.d.ts.map +1 -0
- package/components/ui/new-action-button.js +13 -0
- package/components/ui/popover.d.ts.map +1 -1
- package/components/ui/popover.js +1 -1
- package/components/ui/save-footer.d.ts.map +1 -1
- package/components/ui/save-footer.js +3 -2
- package/components/ui/section-card.d.ts.map +1 -1
- package/components/ui/section-card.js +4 -3
- package/components/ui/segmented-control.d.ts +18 -0
- package/components/ui/segmented-control.d.ts.map +1 -0
- package/components/ui/segmented-control.js +10 -0
- package/components/ui/select.d.ts.map +1 -1
- package/components/ui/select.js +8 -7
- package/components/ui/separator.d.ts.map +1 -1
- package/components/ui/separator.js +1 -1
- package/components/ui/settings-controls.d.ts +41 -0
- package/components/ui/settings-controls.d.ts.map +1 -0
- package/components/ui/settings-controls.js +60 -0
- package/components/ui/skeleton.d.ts +7 -14
- package/components/ui/skeleton.d.ts.map +1 -1
- package/components/ui/skeleton.js +9 -22
- package/components/ui/slider.d.ts.map +1 -1
- package/components/ui/slider.js +1 -1
- package/components/ui/spinner.d.ts.map +1 -1
- package/components/ui/spinner.js +1 -1
- package/components/ui/stack.d.ts +3 -3
- package/components/ui/stack.d.ts.map +1 -1
- package/components/ui/stack.js +1 -1
- package/components/ui/status-badge.d.ts +11 -10
- package/components/ui/status-badge.d.ts.map +1 -1
- package/components/ui/status-badge.js +59 -32
- package/components/ui/switch.d.ts.map +1 -1
- package/components/ui/switch.js +3 -3
- package/components/ui/tabs.d.ts.map +1 -1
- package/components/ui/tabs.js +1 -1
- package/components/ui/tag-editor.d.ts +4 -16
- package/components/ui/tag-editor.d.ts.map +1 -1
- package/components/ui/tag-editor.js +31 -29
- package/components/ui/textarea.d.ts +8 -2
- package/components/ui/textarea.d.ts.map +1 -1
- package/components/ui/textarea.js +24 -4
- package/components/ui/tooltip-extended.d.ts +8 -68
- package/components/ui/tooltip-extended.d.ts.map +1 -1
- package/components/ui/tooltip-extended.js +15 -124
- package/components/ui/tooltip.d.ts +10 -0
- package/components/ui/tooltip.d.ts.map +1 -1
- package/components/ui/tooltip.js +6 -3
- package/components/ui/typography.d.ts +1 -1
- package/components/ui/typography.d.ts.map +1 -1
- package/components/ui/typography.js +2 -2
- package/components/workspace/AppWorkspaceChrome.d.ts +62 -0
- package/components/workspace/AppWorkspaceChrome.d.ts.map +1 -0
- package/components/workspace/AppWorkspaceChrome.js +227 -0
- package/config/allowed-hosts.d.ts +8 -0
- package/config/allowed-hosts.d.ts.map +1 -0
- package/config/allowed-hosts.js +43 -0
- package/config/api-key-prefix-hints.d.ts +25 -0
- package/config/api-key-prefix-hints.d.ts.map +1 -0
- package/config/api-key-prefix-hints.js +26 -0
- package/config/app-config.d.ts +273 -0
- package/config/app-config.d.ts.map +1 -0
- package/config/app-config.js +31 -0
- package/config/boot-config-react.d.ts +5 -0
- package/config/boot-config-react.d.ts.map +1 -0
- package/config/boot-config-react.js +7 -0
- package/config/boot-config-store.d.ts +265 -0
- package/config/boot-config-store.d.ts.map +1 -0
- package/config/boot-config-store.js +143 -0
- package/config/boot-config.d.ts +6 -0
- package/config/boot-config.d.ts.map +1 -0
- package/config/boot-config.js +5 -0
- package/config/branding-react.d.ts +4 -0
- package/config/branding-react.d.ts.map +1 -0
- package/config/branding-react.js +11 -0
- package/config/branding.d.ts +69 -0
- package/config/branding.d.ts.map +1 -0
- package/config/branding.js +23 -0
- package/config/cloud-only.d.ts +6 -0
- package/config/cloud-only.d.ts.map +1 -0
- package/config/cloud-only.js +15 -0
- package/config/config-catalog.d.ts +371 -0
- package/config/config-catalog.d.ts.map +1 -0
- package/config/config-catalog.js +709 -0
- package/config/index.d.ts +9 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +11 -0
- package/config/plugin-ui-spec.d.ts +42 -0
- package/config/plugin-ui-spec.d.ts.map +1 -0
- package/config/plugin-ui-spec.js +256 -0
- package/config/ui-spec.d.ts +164 -0
- package/config/ui-spec.d.ts.map +1 -0
- package/config/ui-spec.js +13 -0
- package/content-packs/apply-pack.d.ts +33 -0
- package/content-packs/apply-pack.d.ts.map +1 -0
- package/content-packs/apply-pack.js +96 -0
- package/content-packs/bundled-packs.d.ts +14 -0
- package/content-packs/bundled-packs.d.ts.map +1 -0
- package/content-packs/bundled-packs.js +106 -0
- package/content-packs/index.d.ts +4 -0
- package/content-packs/index.d.ts.map +1 -0
- package/content-packs/index.js +3 -0
- package/content-packs/load-pack.d.ts +34 -0
- package/content-packs/load-pack.d.ts.map +1 -0
- package/content-packs/load-pack.js +151 -0
- package/desktop-runtime/AppWindowRenderer.d.ts +17 -0
- package/desktop-runtime/AppWindowRenderer.d.ts.map +1 -0
- package/desktop-runtime/AppWindowRenderer.js +327 -0
- package/desktop-runtime/DesktopOnboardingRuntime.d.ts +9 -0
- package/desktop-runtime/DesktopOnboardingRuntime.d.ts.map +1 -0
- package/desktop-runtime/DesktopOnboardingRuntime.js +10 -0
- package/desktop-runtime/DesktopSurfaceNavigationRuntime.d.ts +2 -0
- package/desktop-runtime/DesktopSurfaceNavigationRuntime.d.ts.map +1 -0
- package/desktop-runtime/DesktopSurfaceNavigationRuntime.js +48 -0
- package/desktop-runtime/DesktopTrayRuntime.d.ts +11 -0
- package/desktop-runtime/DesktopTrayRuntime.d.ts.map +1 -0
- package/desktop-runtime/DesktopTrayRuntime.js +265 -0
- package/desktop-runtime/DetachedShellRoot.d.ts +10 -0
- package/desktop-runtime/DetachedShellRoot.d.ts.map +1 -0
- package/desktop-runtime/DetachedShellRoot.js +114 -0
- package/desktop-runtime/index.d.ts +6 -0
- package/desktop-runtime/index.d.ts.map +1 -0
- package/desktop-runtime/index.js +5 -0
- package/events/index.d.ts +62 -0
- package/events/index.d.ts.map +1 -0
- package/events/index.js +51 -0
- package/hooks/index.d.ts +20 -0
- package/hooks/index.d.ts.map +1 -0
- package/hooks/index.js +19 -0
- package/hooks/useAccounts.d.ts +41 -0
- package/hooks/useAccounts.d.ts.map +1 -0
- package/hooks/useAccounts.js +250 -0
- package/hooks/useActivityEvents.d.ts +20 -0
- package/hooks/useActivityEvents.d.ts.map +1 -0
- package/hooks/useActivityEvents.js +145 -0
- package/hooks/useAuthStatus.d.ts +49 -0
- package/hooks/useAuthStatus.d.ts.map +1 -0
- package/hooks/useAuthStatus.js +90 -0
- package/hooks/useAutomationDeepLink.d.ts +29 -0
- package/hooks/useAutomationDeepLink.d.ts.map +1 -0
- package/hooks/useAutomationDeepLink.js +63 -0
- package/hooks/useBugReport.d.ts +26 -0
- package/hooks/useBugReport.d.ts.map +1 -0
- package/hooks/useBugReport.js +28 -0
- package/hooks/useChatAvatarVoiceBridge.d.ts +12 -0
- package/hooks/useChatAvatarVoiceBridge.d.ts.map +1 -0
- package/hooks/useChatAvatarVoiceBridge.js +21 -0
- package/hooks/useConnectorAccounts.d.ts +39 -0
- package/hooks/useConnectorAccounts.d.ts.map +1 -0
- package/hooks/useConnectorAccounts.js +268 -0
- package/hooks/useConnectorSendAsAccount.d.ts +28 -0
- package/hooks/useConnectorSendAsAccount.d.ts.map +1 -0
- package/hooks/useConnectorSendAsAccount.js +61 -0
- package/hooks/useContextMenu.d.ts +17 -0
- package/hooks/useContextMenu.d.ts.map +1 -0
- package/hooks/useContextMenu.js +142 -0
- package/hooks/useDebouncedValue.d.ts +7 -0
- package/hooks/useDebouncedValue.d.ts.map +1 -0
- package/hooks/useDebouncedValue.js +14 -0
- package/hooks/useDocumentVisibility.d.ts +3 -0
- package/hooks/useDocumentVisibility.d.ts.map +1 -0
- package/hooks/useDocumentVisibility.js +28 -0
- package/hooks/useKeyboardShortcuts.d.ts +22 -0
- package/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/hooks/useKeyboardShortcuts.js +64 -0
- package/hooks/useLinkedSidebarSelection.d.ts +16 -0
- package/hooks/useLinkedSidebarSelection.d.ts.map +1 -0
- package/hooks/useLinkedSidebarSelection.js +117 -0
- package/hooks/useMediaQuery.d.ts +4 -0
- package/hooks/useMediaQuery.d.ts.map +1 -0
- package/hooks/useMediaQuery.js +30 -0
- package/hooks/useRenderGuard.d.ts +17 -0
- package/hooks/useRenderGuard.d.ts.map +1 -0
- package/hooks/useRenderGuard.js +36 -0
- package/hooks/useRuntimeMode.d.ts +46 -0
- package/hooks/useRuntimeMode.d.ts.map +1 -0
- package/hooks/useRuntimeMode.js +81 -0
- package/hooks/useSecretsManagerModal.d.ts +49 -0
- package/hooks/useSecretsManagerModal.d.ts.map +1 -0
- package/hooks/useSecretsManagerModal.js +101 -0
- package/hooks/useSecretsManagerShortcut.d.ts +36 -0
- package/hooks/useSecretsManagerShortcut.d.ts.map +1 -0
- package/hooks/useSecretsManagerShortcut.js +80 -0
- package/hooks/useSignalPairing.d.ts +12 -0
- package/hooks/useSignalPairing.d.ts.map +1 -0
- package/hooks/useSignalPairing.js +130 -0
- package/hooks/useStreamPopoutNavigation.d.ts +3 -0
- package/hooks/useStreamPopoutNavigation.d.ts.map +1 -0
- package/hooks/useStreamPopoutNavigation.js +4 -0
- package/hooks/useTimeout.d.ts +5 -0
- package/hooks/useTimeout.d.ts.map +1 -0
- package/hooks/useTimeout.js +26 -0
- package/hooks/useVoiceChat.d.ts +37 -0
- package/hooks/useVoiceChat.d.ts.map +1 -0
- package/hooks/useVoiceChat.js +1311 -0
- package/hooks/useWhatsAppPairing.d.ts +12 -0
- package/hooks/useWhatsAppPairing.d.ts.map +1 -0
- package/hooks/useWhatsAppPairing.js +96 -0
- package/hooks/useWorkflowGenerationState.d.ts +20 -0
- package/hooks/useWorkflowGenerationState.d.ts.map +1 -0
- package/hooks/useWorkflowGenerationState.js +43 -0
- package/i18n/index.d.ts +7 -0
- package/i18n/index.d.ts.map +1 -0
- package/i18n/index.js +60 -0
- package/i18n/locales/en.json +3293 -0
- package/i18n/locales/es.json +3293 -0
- package/i18n/locales/ko.json +3293 -0
- package/i18n/locales/pt.json +3293 -0
- package/i18n/locales/tl.json +3293 -0
- package/i18n/locales/vi.json +3293 -0
- package/i18n/locales/zh-CN.json +3293 -0
- package/i18n/messages.d.ts +6 -0
- package/i18n/messages.d.ts.map +1 -0
- package/i18n/messages.js +26 -0
- package/index.d.ts +39 -40
- package/index.d.ts.map +1 -1
- package/index.js +40 -43
- package/layouts/chat-panel-layout/chat-panel-layout.d.ts +11 -0
- package/layouts/chat-panel-layout/chat-panel-layout.d.ts.map +1 -0
- package/layouts/chat-panel-layout/chat-panel-layout.js +37 -0
- package/layouts/chat-panel-layout/index.d.ts +2 -0
- package/layouts/chat-panel-layout/index.d.ts.map +1 -0
- package/layouts/chat-panel-layout/index.js +1 -0
- package/layouts/content-layout/content-layout.d.ts +21 -0
- package/layouts/content-layout/content-layout.d.ts.map +1 -0
- package/layouts/content-layout/content-layout.js +5 -0
- package/layouts/content-layout/index.d.ts +2 -0
- package/layouts/content-layout/index.d.ts.map +1 -0
- package/layouts/content-layout/index.js +1 -0
- package/layouts/index.d.ts +5 -0
- package/layouts/index.d.ts.map +1 -0
- package/layouts/index.js +4 -0
- package/layouts/page-layout/index.d.ts +5 -0
- package/layouts/page-layout/index.d.ts.map +1 -0
- package/layouts/page-layout/index.js +4 -0
- package/layouts/page-layout/page-layout-header.d.ts +287 -0
- package/layouts/page-layout/page-layout-header.d.ts.map +1 -0
- package/layouts/page-layout/page-layout-header.js +8 -0
- package/layouts/page-layout/page-layout-mobile-drawer.d.ts +3 -0
- package/layouts/page-layout/page-layout-mobile-drawer.d.ts.map +1 -0
- package/layouts/page-layout/page-layout-mobile-drawer.js +37 -0
- package/layouts/page-layout/page-layout-types.d.ts +15 -0
- package/layouts/page-layout/page-layout-types.d.ts.map +1 -0
- package/layouts/page-layout/page-layout-types.js +1 -0
- package/layouts/page-layout/page-layout.d.ts +3 -0
- package/layouts/page-layout/page-layout.d.ts.map +1 -0
- package/layouts/page-layout/page-layout.js +5 -0
- package/layouts/workspace-layout/index.d.ts +4 -0
- package/layouts/workspace-layout/index.d.ts.map +1 -0
- package/layouts/workspace-layout/index.js +3 -0
- package/layouts/workspace-layout/workspace-layout-types.d.ts +19 -0
- package/layouts/workspace-layout/workspace-layout-types.d.ts.map +1 -0
- package/layouts/workspace-layout/workspace-layout-types.js +1 -0
- package/layouts/workspace-layout/workspace-layout.d.ts +3 -0
- package/layouts/workspace-layout/workspace-layout.d.ts.map +1 -0
- package/layouts/workspace-layout/workspace-layout.js +65 -0
- package/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts +13 -0
- package/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts.map +1 -0
- package/layouts/workspace-layout/workspace-mobile-sidebar-controls.js +5 -0
- package/lib/floating-layers.d.ts +17 -0
- package/lib/floating-layers.d.ts.map +1 -0
- package/lib/floating-layers.js +19 -0
- package/lib/utils.d.ts +0 -3
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +0 -3
- package/navigation/index.d.ts +70 -0
- package/navigation/index.d.ts.map +1 -0
- package/navigation/index.js +409 -0
- package/navigation/main-tab.d.ts +58 -0
- package/navigation/main-tab.d.ts.map +1 -0
- package/navigation/main-tab.js +76 -0
- package/onboarding/auto-download-recommended.d.ts +30 -0
- package/onboarding/auto-download-recommended.d.ts.map +1 -0
- package/onboarding/auto-download-recommended.js +105 -0
- package/onboarding/flow.d.ts +66 -0
- package/onboarding/flow.d.ts.map +1 -0
- package/onboarding/flow.js +100 -0
- package/onboarding/local-agent-token.d.ts +6 -0
- package/onboarding/local-agent-token.d.ts.map +1 -0
- package/onboarding/local-agent-token.js +79 -0
- package/onboarding/mobile-runtime-mode.d.ts +19 -0
- package/onboarding/mobile-runtime-mode.d.ts.map +1 -0
- package/onboarding/mobile-runtime-mode.js +91 -0
- package/onboarding/pre-seed-local-runtime.d.ts +53 -0
- package/onboarding/pre-seed-local-runtime.d.ts.map +1 -0
- package/onboarding/pre-seed-local-runtime.js +111 -0
- package/onboarding/probe-local-agent.d.ts +51 -0
- package/onboarding/probe-local-agent.d.ts.map +1 -0
- package/onboarding/probe-local-agent.js +235 -0
- package/onboarding/reload-into-runtime-picker.d.ts +25 -0
- package/onboarding/reload-into-runtime-picker.d.ts.map +1 -0
- package/onboarding/reload-into-runtime-picker.js +45 -0
- package/onboarding/server-target.d.ts +4 -0
- package/onboarding/server-target.d.ts.map +1 -0
- package/onboarding/server-target.js +13 -0
- package/onboarding-config.d.ts +61 -0
- package/onboarding-config.d.ts.map +1 -0
- package/onboarding-config.js +172 -0
- package/package.json +33 -15
- package/platform/android-runtime.d.ts +33 -0
- package/platform/android-runtime.d.ts.map +1 -0
- package/platform/android-runtime.js +61 -0
- package/platform/browser-launch.d.ts +10 -0
- package/platform/browser-launch.d.ts.map +1 -0
- package/platform/browser-launch.js +147 -0
- package/platform/cloud-preference-patch.d.ts +11 -0
- package/platform/cloud-preference-patch.d.ts.map +1 -0
- package/platform/cloud-preference-patch.js +85 -0
- package/platform/desktop-permissions-client.d.ts +3 -0
- package/platform/desktop-permissions-client.d.ts.map +1 -0
- package/platform/desktop-permissions-client.js +246 -0
- package/platform/empty-node-module.d.ts +58 -0
- package/platform/empty-node-module.d.ts.map +1 -0
- package/platform/empty-node-module.js +46 -0
- package/platform/index.d.ts +12 -0
- package/platform/index.d.ts.map +1 -0
- package/platform/index.js +16 -0
- package/platform/init.d.ts +73 -0
- package/platform/init.d.ts.map +1 -0
- package/platform/init.js +204 -0
- package/platform/ios-runtime.d.ts +16 -0
- package/platform/ios-runtime.d.ts.map +1 -0
- package/platform/ios-runtime.js +81 -0
- package/platform/is-native-server.d.ts +14 -0
- package/platform/is-native-server.d.ts.map +1 -0
- package/platform/is-native-server.js +16 -0
- package/platform/onboarding-reset.d.ts +11 -0
- package/platform/onboarding-reset.d.ts.map +1 -0
- package/platform/onboarding-reset.js +127 -0
- package/platform/types.d.ts +28 -0
- package/platform/types.d.ts.map +1 -0
- package/platform/types.js +1 -0
- package/platform/window-shell.d.ts +28 -0
- package/platform/window-shell.d.ts.map +1 -0
- package/platform/window-shell.js +73 -0
- package/providers/index.d.ts +26 -0
- package/providers/index.d.ts.map +1 -0
- package/providers/index.js +115 -0
- package/services/local-inference/active-model.d.ts +180 -0
- package/services/local-inference/active-model.d.ts.map +1 -0
- package/services/local-inference/active-model.js +362 -0
- package/services/local-inference/assignments.d.ts +58 -0
- package/services/local-inference/assignments.d.ts.map +1 -0
- package/services/local-inference/assignments.js +179 -0
- package/services/local-inference/bundled-models.d.ts +34 -0
- package/services/local-inference/bundled-models.d.ts.map +1 -0
- package/services/local-inference/bundled-models.js +104 -0
- package/services/local-inference/catalog.d.ts +55 -0
- package/services/local-inference/catalog.d.ts.map +1 -0
- package/services/local-inference/catalog.js +271 -0
- package/services/local-inference/device-bridge.d.ts +138 -0
- package/services/local-inference/device-bridge.d.ts.map +1 -0
- package/services/local-inference/device-bridge.js +773 -0
- package/services/local-inference/dflash-doctor.d.ts +22 -0
- package/services/local-inference/dflash-doctor.d.ts.map +1 -0
- package/services/local-inference/dflash-doctor.js +139 -0
- package/services/local-inference/dflash-server.d.ts +76 -0
- package/services/local-inference/dflash-server.d.ts.map +1 -0
- package/services/local-inference/dflash-server.js +451 -0
- package/services/local-inference/downloader.d.ts +48 -0
- package/services/local-inference/downloader.d.ts.map +1 -0
- package/services/local-inference/downloader.js +688 -0
- package/services/local-inference/engine.d.ts +54 -0
- package/services/local-inference/engine.d.ts.map +1 -0
- package/services/local-inference/engine.js +223 -0
- package/services/local-inference/external-scanner.d.ts +17 -0
- package/services/local-inference/external-scanner.d.ts.map +1 -0
- package/services/local-inference/external-scanner.js +261 -0
- package/services/local-inference/handler-registry.d.ts +72 -0
- package/services/local-inference/handler-registry.d.ts.map +1 -0
- package/services/local-inference/handler-registry.js +163 -0
- package/services/local-inference/hardware.d.ts +26 -0
- package/services/local-inference/hardware.d.ts.map +1 -0
- package/services/local-inference/hardware.js +149 -0
- package/services/local-inference/hf-search.d.ts +19 -0
- package/services/local-inference/hf-search.d.ts.map +1 -0
- package/services/local-inference/hf-search.js +169 -0
- package/services/local-inference/index.d.ts +9 -0
- package/services/local-inference/index.d.ts.map +1 -0
- package/services/local-inference/index.js +6 -0
- package/services/local-inference/paths.d.ts +8 -0
- package/services/local-inference/paths.d.ts.map +1 -0
- package/services/local-inference/paths.js +7 -0
- package/services/local-inference/providers.d.ts +61 -0
- package/services/local-inference/providers.d.ts.map +1 -0
- package/services/local-inference/providers.js +306 -0
- package/services/local-inference/readiness.d.ts +9 -0
- package/services/local-inference/readiness.d.ts.map +1 -0
- package/services/local-inference/readiness.js +153 -0
- package/services/local-inference/recommendation.d.ts +46 -0
- package/services/local-inference/recommendation.d.ts.map +1 -0
- package/services/local-inference/recommendation.js +260 -0
- package/services/local-inference/registry.d.ts +35 -0
- package/services/local-inference/registry.d.ts.map +1 -0
- package/services/local-inference/registry.js +117 -0
- package/services/local-inference/routing-policy.d.ts +55 -0
- package/services/local-inference/routing-policy.d.ts.map +1 -0
- package/services/local-inference/routing-policy.js +195 -0
- package/services/local-inference/routing-preferences.d.ts +8 -0
- package/services/local-inference/routing-preferences.d.ts.map +1 -0
- package/services/local-inference/routing-preferences.js +7 -0
- package/services/local-inference/service.d.ts +59 -0
- package/services/local-inference/service.d.ts.map +1 -0
- package/services/local-inference/service.js +185 -0
- package/services/local-inference/types.d.ts +239 -0
- package/services/local-inference/types.d.ts.map +1 -0
- package/services/local-inference/types.js +21 -0
- package/services/local-inference/verify.d.ts +8 -0
- package/services/local-inference/verify.d.ts.map +1 -0
- package/services/local-inference/verify.js +7 -0
- package/shell-params.d.ts +12 -0
- package/shell-params.d.ts.map +1 -0
- package/shell-params.js +21 -0
- package/slots/task-coordinator-slots.d.ts +39 -0
- package/slots/task-coordinator-slots.d.ts.map +1 -0
- package/slots/task-coordinator-slots.js +21 -0
- package/state/AppContext.d.ts +13 -0
- package/state/AppContext.d.ts.map +1 -0
- package/state/AppContext.js +1750 -0
- package/state/ChatComposerContext.d.ts +28 -0
- package/state/ChatComposerContext.d.ts.map +1 -0
- package/state/ChatComposerContext.js +30 -0
- package/state/CompanionSceneConfigContext.d.ts +27 -0
- package/state/CompanionSceneConfigContext.d.ts.map +1 -0
- package/state/CompanionSceneConfigContext.js +32 -0
- package/state/PtySessionsContext.d.ts +15 -0
- package/state/PtySessionsContext.d.ts.map +1 -0
- package/state/PtySessionsContext.js +15 -0
- package/state/TranslationContext.d.ts +37 -0
- package/state/TranslationContext.d.ts.map +1 -0
- package/state/TranslationContext.js +63 -0
- package/state/action-notice.d.ts +7 -0
- package/state/action-notice.d.ts.map +1 -0
- package/state/action-notice.js +1 -0
- package/state/agent-profile-types.d.ts +29 -0
- package/state/agent-profile-types.d.ts.map +1 -0
- package/state/agent-profile-types.js +1 -0
- package/state/agent-profiles.d.ts +16 -0
- package/state/agent-profiles.d.ts.map +1 -0
- package/state/agent-profiles.js +119 -0
- package/state/agent-runtime-target.d.ts +14 -0
- package/state/agent-runtime-target.d.ts.map +1 -0
- package/state/agent-runtime-target.js +50 -0
- package/state/agent-startup-timing.d.ts +15 -0
- package/state/agent-startup-timing.d.ts.map +1 -0
- package/state/agent-startup-timing.js +28 -0
- package/state/autonomy.d.ts +48 -0
- package/state/autonomy.d.ts.map +1 -0
- package/state/autonomy.js +336 -0
- package/state/chat-conversation-guards.d.ts +6 -0
- package/state/chat-conversation-guards.d.ts.map +1 -0
- package/state/chat-conversation-guards.js +47 -0
- package/state/complete-reset-local-state-after-wipe.d.ts +52 -0
- package/state/complete-reset-local-state-after-wipe.d.ts.map +1 -0
- package/state/complete-reset-local-state-after-wipe.js +24 -0
- package/state/config-readers.d.ts +7 -0
- package/state/config-readers.d.ts.map +1 -0
- package/state/config-readers.js +8 -0
- package/state/connector-deeplink.d.ts +30 -0
- package/state/connector-deeplink.d.ts.map +1 -0
- package/state/connector-deeplink.js +46 -0
- package/state/handle-reset-applied-from-main.d.ts +31 -0
- package/state/handle-reset-applied-from-main.d.ts.map +1 -0
- package/state/handle-reset-applied-from-main.js +38 -0
- package/state/index.d.ts +16 -0
- package/state/index.d.ts.map +1 -0
- package/state/index.js +15 -0
- package/state/internal.d.ts +9 -0
- package/state/internal.d.ts.map +1 -0
- package/state/internal.js +9 -0
- package/state/navigation-events.d.ts +12 -0
- package/state/navigation-events.d.ts.map +1 -0
- package/state/navigation-events.js +25 -0
- package/state/onboarding-bootstrap.d.ts +28 -0
- package/state/onboarding-bootstrap.d.ts.map +1 -0
- package/state/onboarding-bootstrap.js +76 -0
- package/state/onboarding-restart.d.ts +8 -0
- package/state/onboarding-restart.d.ts.map +1 -0
- package/state/onboarding-restart.js +8 -0
- package/state/onboarding-resume.d.ts +9 -0
- package/state/onboarding-resume.d.ts.map +1 -0
- package/state/onboarding-resume.js +93 -0
- package/state/parsers.d.ts +33 -0
- package/state/parsers.d.ts.map +1 -0
- package/state/parsers.js +354 -0
- package/state/persistence.d.ts +111 -0
- package/state/persistence.d.ts.map +1 -0
- package/state/persistence.js +794 -0
- package/state/shell-routing.d.ts +12 -0
- package/state/shell-routing.d.ts.map +1 -0
- package/state/shell-routing.js +21 -0
- package/state/startup-coordinator.d.ts +158 -0
- package/state/startup-coordinator.d.ts.map +1 -0
- package/state/startup-coordinator.js +284 -0
- package/state/startup-phase-hydrate.d.ts +74 -0
- package/state/startup-phase-hydrate.d.ts.map +1 -0
- package/state/startup-phase-hydrate.js +482 -0
- package/state/startup-phase-poll.d.ts +61 -0
- package/state/startup-phase-poll.d.ts.map +1 -0
- package/state/startup-phase-poll.js +303 -0
- package/state/startup-phase-restore.d.ts +55 -0
- package/state/startup-phase-restore.d.ts.map +1 -0
- package/state/startup-phase-restore.js +344 -0
- package/state/startup-phase-runtime.d.ts +36 -0
- package/state/startup-phase-runtime.d.ts.map +1 -0
- package/state/startup-phase-runtime.js +152 -0
- package/state/types.d.ts +652 -0
- package/state/types.d.ts.map +1 -0
- package/state/types.js +63 -0
- package/state/ui-preferences.d.ts +3 -0
- package/state/ui-preferences.d.ts.map +1 -0
- package/state/ui-preferences.js +1 -0
- package/state/useApp.d.ts +4 -0
- package/state/useApp.d.ts.map +1 -0
- package/state/useApp.js +32 -0
- package/state/useAppProviderEffects.d.ts +24 -0
- package/state/useAppProviderEffects.d.ts.map +1 -0
- package/state/useAppProviderEffects.js +122 -0
- package/state/useAppShellState.d.ts +34 -0
- package/state/useAppShellState.d.ts.map +1 -0
- package/state/useAppShellState.js +81 -0
- package/state/useCharacterState.d.ts +52 -0
- package/state/useCharacterState.d.ts.map +1 -0
- package/state/useCharacterState.js +208 -0
- package/state/useChatCallbacks.d.ts +170 -0
- package/state/useChatCallbacks.d.ts.map +1 -0
- package/state/useChatCallbacks.js +790 -0
- package/state/useChatLifecycle.d.ts +104 -0
- package/state/useChatLifecycle.d.ts.map +1 -0
- package/state/useChatLifecycle.js +751 -0
- package/state/useChatSend.d.ts +83 -0
- package/state/useChatSend.d.ts.map +1 -0
- package/state/useChatSend.js +951 -0
- package/state/useChatState.d.ts +144 -0
- package/state/useChatState.d.ts.map +1 -0
- package/state/useChatState.js +251 -0
- package/state/useCloudState.d.ts +73 -0
- package/state/useCloudState.d.ts.map +1 -0
- package/state/useCloudState.js +668 -0
- package/state/useDataLoaders.d.ts +88 -0
- package/state/useDataLoaders.d.ts.map +1 -0
- package/state/useDataLoaders.js +394 -0
- package/state/useDeveloperMode.d.ts +4 -0
- package/state/useDeveloperMode.d.ts.map +1 -0
- package/state/useDeveloperMode.js +54 -0
- package/state/useDisplayPreferences.d.ts +23 -0
- package/state/useDisplayPreferences.d.ts.map +1 -0
- package/state/useDisplayPreferences.js +64 -0
- package/state/useExportImportState.d.ts +32 -0
- package/state/useExportImportState.d.ts.map +1 -0
- package/state/useExportImportState.js +140 -0
- package/state/useLifecycleState.d.ts +123 -0
- package/state/useLifecycleState.d.ts.map +1 -0
- package/state/useLifecycleState.js +258 -0
- package/state/useLogsState.d.ts +24 -0
- package/state/useLogsState.d.ts.map +1 -0
- package/state/useLogsState.js +87 -0
- package/state/useMiscUiState.d.ts +89 -0
- package/state/useMiscUiState.d.ts.map +1 -0
- package/state/useMiscUiState.js +154 -0
- package/state/useNavigationState.d.ts +29 -0
- package/state/useNavigationState.d.ts.map +1 -0
- package/state/useNavigationState.js +122 -0
- package/state/useOnboardingCallbacks.d.ts +100 -0
- package/state/useOnboardingCallbacks.d.ts.map +1 -0
- package/state/useOnboardingCallbacks.js +804 -0
- package/state/useOnboardingCompat.d.ts +61 -0
- package/state/useOnboardingCompat.d.ts.map +1 -0
- package/state/useOnboardingCompat.js +110 -0
- package/state/useOnboardingState.d.ts +126 -0
- package/state/useOnboardingState.d.ts.map +1 -0
- package/state/useOnboardingState.js +263 -0
- package/state/usePairingState.d.ts +22 -0
- package/state/usePairingState.d.ts.map +1 -0
- package/state/usePairingState.js +73 -0
- package/state/usePluginsSkillsState.d.ts +142 -0
- package/state/usePluginsSkillsState.d.ts.map +1 -0
- package/state/usePluginsSkillsState.js +630 -0
- package/state/useStartupCoordinator.d.ts +40 -0
- package/state/useStartupCoordinator.d.ts.map +1 -0
- package/state/useStartupCoordinator.js +194 -0
- package/state/useTriggersState.d.ts +29 -0
- package/state/useTriggersState.d.ts.map +1 -0
- package/state/useTriggersState.js +198 -0
- package/state/useVincentState.d.ts +3 -0
- package/state/useVincentState.d.ts.map +1 -0
- package/state/useVincentState.js +13 -0
- package/state/useWalletState.d.ts +97 -0
- package/state/useWalletState.d.ts.map +1 -0
- package/state/useWalletState.js +533 -0
- package/state/vrm.d.ts +10 -0
- package/state/vrm.d.ts.map +1 -0
- package/state/vrm.js +70 -0
- package/stories/layout-story-fixtures.d.ts +14 -0
- package/stories/layout-story-fixtures.d.ts.map +1 -0
- package/stories/layout-story-fixtures.js +33 -0
- package/styles/base.css +330 -0
- package/styles/brand-gold.css +471 -0
- package/styles/electrobun-mac-window-drag.css +106 -0
- package/styles/onboarding-game.css +568 -0
- package/styles/styles.css +420 -0
- package/styles/theme.css +70 -194
- package/styles/xterm.css +241 -0
- package/terminal/links.d.ts +9 -0
- package/terminal/links.d.ts.map +1 -0
- package/terminal/links.js +20 -0
- package/terminal/palette.d.ts +11 -0
- package/terminal/palette.d.ts.map +1 -0
- package/terminal/palette.js +12 -0
- package/terminal/theme.d.ts +17 -0
- package/terminal/theme.d.ts.map +1 -0
- package/terminal/theme.js +24 -0
- package/themes/apply-theme.d.ts +24 -0
- package/themes/apply-theme.d.ts.map +1 -0
- package/themes/apply-theme.js +130 -0
- package/types/index.d.ts +655 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.js +4 -0
- package/utils/asset-url.d.ts +24 -0
- package/utils/asset-url.d.ts.map +1 -0
- package/utils/asset-url.js +150 -0
- package/utils/assistant-text.d.ts +2 -0
- package/utils/assistant-text.d.ts.map +1 -0
- package/utils/assistant-text.js +167 -0
- package/utils/automation-feed-filter.d.ts +12 -0
- package/utils/automation-feed-filter.d.ts.map +1 -0
- package/utils/automation-feed-filter.js +21 -0
- package/utils/browser-tab-kit-types.d.ts +81 -0
- package/utils/browser-tab-kit-types.d.ts.map +1 -0
- package/utils/browser-tab-kit-types.js +22 -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 +1223 -0
- package/utils/character-message-examples.d.ts +7 -0
- package/utils/character-message-examples.d.ts.map +1 -0
- package/utils/character-message-examples.js +122 -0
- package/utils/clipboard.d.ts +2 -0
- package/utils/clipboard.d.ts.map +1 -0
- package/utils/clipboard.js +38 -0
- package/utils/cloud-status.d.ts +3 -0
- package/utils/cloud-status.d.ts.map +1 -0
- package/utils/cloud-status.js +10 -0
- package/utils/cron-format.d.ts +32 -0
- package/utils/cron-format.d.ts.map +1 -0
- package/utils/cron-format.js +96 -0
- package/utils/desktop-bug-report.d.ts +35 -0
- package/utils/desktop-bug-report.d.ts.map +1 -0
- package/utils/desktop-bug-report.js +47 -0
- package/utils/desktop-dialogs.d.ts +24 -0
- package/utils/desktop-dialogs.d.ts.map +1 -0
- package/utils/desktop-dialogs.js +165 -0
- package/utils/desktop-workspace.d.ts +86 -0
- package/utils/desktop-workspace.d.ts.map +1 -0
- package/utils/desktop-workspace.js +162 -0
- package/utils/documents-upload-image.d.ts +27 -0
- package/utils/documents-upload-image.d.ts.map +1 -0
- package/utils/documents-upload-image.js +146 -0
- package/utils/eliza-cloud-model-route.d.ts +3 -0
- package/utils/eliza-cloud-model-route.d.ts.map +1 -0
- package/utils/eliza-cloud-model-route.js +9 -0
- package/utils/eliza-globals.d.ts +13 -0
- package/utils/eliza-globals.d.ts.map +1 -0
- package/utils/eliza-globals.js +48 -0
- package/utils/eliza-root.d.ts +9 -0
- package/utils/eliza-root.d.ts.map +1 -0
- package/utils/eliza-root.js +101 -0
- package/utils/env.d.ts +29 -0
- package/utils/env.d.ts.map +1 -0
- package/utils/env.js +49 -0
- package/utils/errors.d.ts +13 -0
- package/utils/errors.d.ts.map +1 -0
- package/utils/errors.js +25 -0
- package/utils/exec-safety.d.ts +2 -0
- package/utils/exec-safety.d.ts.map +1 -0
- package/utils/exec-safety.js +21 -0
- package/utils/format.d.ts +66 -0
- package/utils/format.d.ts.map +1 -0
- package/utils/format.js +121 -0
- package/utils/globals.d.ts +7 -0
- package/utils/globals.d.ts.map +1 -0
- package/utils/globals.js +47 -0
- package/utils/index.d.ts +34 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +33 -0
- package/utils/labels.d.ts +6 -0
- package/utils/labels.d.ts.map +1 -0
- package/utils/labels.js +41 -0
- package/utils/log-prefix.d.ts +2 -0
- package/utils/log-prefix.d.ts.map +1 -0
- package/utils/log-prefix.js +53 -0
- package/utils/name-tokens.d.ts +24 -0
- package/utils/name-tokens.d.ts.map +1 -0
- package/utils/name-tokens.js +36 -0
- package/utils/namespace-defaults.d.ts +6 -0
- package/utils/namespace-defaults.d.ts.map +1 -0
- package/utils/namespace-defaults.js +15 -0
- package/utils/number-parsing.d.ts +26 -0
- package/utils/number-parsing.d.ts.map +1 -0
- package/utils/number-parsing.js +51 -0
- package/utils/openExternalUrl.d.ts +22 -0
- package/utils/openExternalUrl.d.ts.map +1 -0
- package/utils/openExternalUrl.js +108 -0
- package/utils/owner-name.d.ts +3 -0
- package/utils/owner-name.d.ts.map +1 -0
- package/utils/owner-name.js +7 -0
- package/utils/rate-limiter.d.ts +32 -0
- package/utils/rate-limiter.d.ts.map +1 -0
- package/utils/rate-limiter.js +52 -0
- package/utils/serialise.d.ts +12 -0
- package/utils/serialise.d.ts.map +1 -0
- package/utils/serialise.js +21 -0
- package/utils/sql-compat.d.ts +10 -0
- package/utils/sql-compat.d.ts.map +1 -0
- package/utils/sql-compat.js +111 -0
- package/utils/streaming-text.d.ts +9 -0
- package/utils/streaming-text.d.ts.map +1 -0
- package/utils/streaming-text.js +112 -0
- package/utils/subscription-auth.d.ts +9 -0
- package/utils/subscription-auth.d.ts.map +1 -0
- package/utils/subscription-auth.js +48 -0
- package/utils/task-schedule.d.ts +14 -0
- package/utils/task-schedule.d.ts.map +1 -0
- package/utils/task-schedule.js +36 -0
- package/utils/trajectory-format.d.ts +6 -0
- package/utils/trajectory-format.d.ts.map +1 -0
- package/utils/trajectory-format.js +43 -0
- package/utils/tts-debug.d.ts +9 -0
- package/utils/tts-debug.d.ts.map +1 -0
- package/utils/tts-debug.js +69 -0
- package/utils/workflow-json.d.ts +44 -0
- package/utils/workflow-json.d.ts.map +1 -0
- package/utils/workflow-json.js +127 -0
- package/voice/character-voice-config.d.ts +9 -0
- package/voice/character-voice-config.d.ts.map +1 -0
- package/voice/character-voice-config.js +83 -0
- package/voice/index.d.ts +3 -0
- package/voice/index.d.ts.map +1 -0
- package/voice/index.js +2 -0
- package/voice/types.d.ts +3 -0
- package/voice/types.d.ts.map +1 -0
- package/voice/types.js +1 -0
- package/voice/voice-chat-playback.d.ts +32 -0
- package/voice/voice-chat-playback.d.ts.map +1 -0
- package/voice/voice-chat-playback.js +209 -0
- package/voice/voice-chat-recording.d.ts +6 -0
- package/voice/voice-chat-recording.d.ts.map +1 -0
- package/voice/voice-chat-recording.js +46 -0
- package/voice/voice-chat-types.d.ts +193 -0
- package/voice/voice-chat-types.d.ts.map +1 -0
- package/voice/voice-chat-types.js +194 -0
- package/widgets/WidgetHost.d.ts +32 -0
- package/widgets/WidgetHost.d.ts.map +1 -0
- package/widgets/WidgetHost.js +62 -0
- package/widgets/index.d.ts +7 -0
- package/widgets/index.d.ts.map +1 -0
- package/widgets/index.js +3 -0
- package/widgets/registry-store.d.ts +23 -0
- package/widgets/registry-store.d.ts.map +1 -0
- package/widgets/registry-store.js +34 -0
- package/widgets/registry.d.ts +44 -0
- package/widgets/registry.d.ts.map +1 -0
- package/widgets/registry.js +177 -0
- package/widgets/types.d.ts +39 -0
- package/widgets/types.d.ts.map +1 -0
- package/widgets/types.js +1 -0
- package/widgets/useChatSidebarVisibility.d.ts +16 -0
- package/widgets/useChatSidebarVisibility.d.ts.map +1 -0
- package/widgets/useChatSidebarVisibility.js +54 -0
- package/widgets/visibility.d.ts +55 -0
- package/widgets/visibility.d.ts.map +1 -0
- package/widgets/visibility.js +90 -0
- package/LICENSE +0 -21
- package/components/ui/chat-atoms.d.ts +0 -26
- package/components/ui/chat-atoms.d.ts.map +0 -1
- package/components/ui/chat-atoms.js +0 -17
- package/components/ui/search-bar.d.ts.map +0 -1
- package/components/ui/search-bar.js +0 -19
- package/components/ui/search-input.d.ts.map +0 -1
- package/components/ui/sonner.d.ts +0 -5
- package/components/ui/sonner.d.ts.map +0 -1
- package/components/ui/sonner.js +0 -15
- package/components/ui/tag-input.d.ts +0 -19
- package/components/ui/tag-input.d.ts.map +0 -1
- package/components/ui/tag-input.js +0 -28
- package/components/ui/themed-select.d.ts +0 -27
- package/components/ui/themed-select.d.ts.map +0 -1
- package/components/ui/themed-select.js +0 -57
- package/lib/button-styles.d.ts +0 -12
- package/lib/button-styles.d.ts.map +0 -1
- package/lib/button-styles.js +0 -11
- /package/components/{ui → composites/search}/search-input.d.ts +0 -0
|
@@ -0,0 +1,1293 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* RuntimeGate — the single pre-chat setup screen.
|
|
4
|
+
*
|
|
5
|
+
* The only decision a user must make before they reach chat is:
|
|
6
|
+
* where does the agent run?
|
|
7
|
+
*
|
|
8
|
+
* - Cloud: log into Eliza Cloud and pick (or auto-create) an agent
|
|
9
|
+
* - Local: start the bundled local agent runtime
|
|
10
|
+
* - Remote: point at an existing agent URL
|
|
11
|
+
*
|
|
12
|
+
* Everything else (LLM provider, subscriptions, connectors, capabilities)
|
|
13
|
+
* happens inside the chat or from Settings. This replaces the old 3-step
|
|
14
|
+
* wizard (deployment → providers → features) which layered a step nav,
|
|
15
|
+
* language dropdown, and provider grid on top of what is really a single
|
|
16
|
+
* binary-ish decision.
|
|
17
|
+
*
|
|
18
|
+
* On success this calls `completeOnboarding()` from `useApp`, which
|
|
19
|
+
* dispatches `ONBOARDING_COMPLETE` to the startup coordinator and hands
|
|
20
|
+
* control to the main app shell.
|
|
21
|
+
*/
|
|
22
|
+
import { Capacitor } from "@capacitor/core";
|
|
23
|
+
import * as React from "react";
|
|
24
|
+
import { client } from "../../api/index.js";
|
|
25
|
+
import { discoverGatewayEndpoints, gatewayEndpointToApiBase, } from "../../bridge/gateway-discovery.js";
|
|
26
|
+
import { normalizeLanguage } from "../../i18n/index.js";
|
|
27
|
+
import { autoDownloadRecommendedLocalModelInBackground } from "../../onboarding/auto-download-recommended.js";
|
|
28
|
+
import { ANDROID_LOCAL_AGENT_LABEL, ANDROID_LOCAL_AGENT_SERVER_ID, MOBILE_LOCAL_AGENT_API_BASE, MOBILE_LOCAL_AGENT_LABEL, MOBILE_LOCAL_AGENT_SERVER_ID, persistMobileRuntimeModeForServerTarget, } from "../../onboarding/mobile-runtime-mode.js";
|
|
29
|
+
import { shouldShowLocalOption } from "../../onboarding/probe-local-agent.js";
|
|
30
|
+
import { RUNTIME_PICKER_TARGET_QUERY_NAME, } from "../../onboarding/reload-into-runtime-picker.js";
|
|
31
|
+
import { isAndroid, isDesktopPlatform, isElizaOS, isIOS, } from "../../platform/init.js";
|
|
32
|
+
import { ONBOARDING_PROVIDER_CATALOG, } from "../../providers/index.js";
|
|
33
|
+
import { addAgentProfile, savePersistedActiveServer, useApp, } from "../../state/index.js";
|
|
34
|
+
import { getElizaApiBase, preOpenWindow, resolveAppAssetUrl, } from "../../utils/index.js";
|
|
35
|
+
import { LanguageDropdown } from "../shared/LanguageDropdown.js";
|
|
36
|
+
import { ThemeToggle } from "../shared/ThemeToggle.js";
|
|
37
|
+
import { Button } from "../ui/button.js";
|
|
38
|
+
import { Card, CardContent } from "../ui/card.js";
|
|
39
|
+
import { Checkbox } from "../ui/checkbox.js";
|
|
40
|
+
import { Input } from "../ui/input.js";
|
|
41
|
+
import { Spinner } from "../ui/spinner.js";
|
|
42
|
+
import { TooltipHint } from "../ui/tooltip.js";
|
|
43
|
+
const MONO_FONT = "'Courier New', 'Courier', 'Monaco', monospace";
|
|
44
|
+
const DEFAULT_AUTO_AGENT_NAME = "My Agent";
|
|
45
|
+
const CLOUD_AGENT_PROBE_TIMEOUT_MS = 4_000;
|
|
46
|
+
const PROVISION_START_STILL_WAITING_MS = 5_000;
|
|
47
|
+
const PROVISION_START_TIMEOUT_MS = 20_000;
|
|
48
|
+
const PROVISION_JOB_WAIT_DEADLINE_MS = 600_000;
|
|
49
|
+
const AGENT_URL_WAIT_DEADLINE_MS = 300_000;
|
|
50
|
+
async function startMobileLocalAgent() {
|
|
51
|
+
if (!isAndroid && !isIOS)
|
|
52
|
+
return;
|
|
53
|
+
try {
|
|
54
|
+
const capacitorWithPlugins = Capacitor;
|
|
55
|
+
const registeredAgent = capacitorWithPlugins.Plugins?.Agent ??
|
|
56
|
+
Capacitor.registerPlugin("Agent");
|
|
57
|
+
await registeredAgent.start?.();
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.warn("[RuntimeGate] Failed to start mobile local agent", err instanceof Error ? err.message : err);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const DEFAULT_LOCAL_AGENT_API_BASE = "http://127.0.0.1:31337";
|
|
64
|
+
// Resolve the local-agent base at call time. The dev orchestrator may
|
|
65
|
+
// port-shift the API away from 31337 when that port is taken; Electrobun
|
|
66
|
+
// pushes the resolved base into `window.__ELIZA_API_BASE__` either via
|
|
67
|
+
// HTML injection (production static-server) or via the `apiBaseUpdate`
|
|
68
|
+
// RPC (Vite dev). A frozen constant misses both, leaving the renderer
|
|
69
|
+
// stuck on the wrong port.
|
|
70
|
+
function resolveLocalAgentApiBase() {
|
|
71
|
+
return getElizaApiBase() ?? DEFAULT_LOCAL_AGENT_API_BASE;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Branded native shells (AOSP/MiladyOS, where the device IS the on-device
|
|
75
|
+
* agent) expose the agent's per-boot bearer through a synchronous
|
|
76
|
+
* `window.ElizaNative.getLocalAgentToken()` JavascriptInterface. Reading
|
|
77
|
+
* it during the local-mode wire-up means `/api/auth/status` can
|
|
78
|
+
* authenticate on the very first poll, skipping the legacy "type the
|
|
79
|
+
* pair code from the agent log" prompt on devices that own the bearer
|
|
80
|
+
* locally.
|
|
81
|
+
*
|
|
82
|
+
* Stock Capacitor builds never register the bridge (the global is
|
|
83
|
+
* undefined), so this returns null and the existing pair-code path
|
|
84
|
+
* continues to run unchanged.
|
|
85
|
+
*/
|
|
86
|
+
function readSyncOnDeviceAgentBearer() {
|
|
87
|
+
try {
|
|
88
|
+
const bridge = globalThis.ElizaNative;
|
|
89
|
+
const token = bridge?.getLocalAgentToken?.();
|
|
90
|
+
if (typeof token !== "string")
|
|
91
|
+
return null;
|
|
92
|
+
const trimmed = token.trim();
|
|
93
|
+
return trimmed === "" ? null : trimmed;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* URL query flag that deliberately re-opens the RuntimeGate picker on
|
|
101
|
+
* ElizaOS, which is otherwise bypassed in favour of the pre-seeded
|
|
102
|
+
* on-device agent.
|
|
103
|
+
*
|
|
104
|
+
* Settings ▸ Runtime navigates to a URL with `?runtime=picker` after clearing
|
|
105
|
+
* the persisted mode + active server when the user wants to switch runtimes.
|
|
106
|
+
* Without this exact query value the ElizaOS branch falls through to the
|
|
107
|
+
* "Starting your local agent…" splash and auto-completes as local.
|
|
108
|
+
*
|
|
109
|
+
* Has no effect on the vanilla Android APK (installed on a stock phone) —
|
|
110
|
+
* that build always renders the picker tiles, since the user actively
|
|
111
|
+
* chooses Cloud / Remote / Local.
|
|
112
|
+
*/
|
|
113
|
+
export const RUNTIME_GATE_PICKER_OVERRIDE_PARAM = "runtime";
|
|
114
|
+
export const RUNTIME_GATE_PICKER_OVERRIDE_VALUE = "picker";
|
|
115
|
+
export function hasPickerOverride() {
|
|
116
|
+
if (typeof window === "undefined")
|
|
117
|
+
return false;
|
|
118
|
+
try {
|
|
119
|
+
const search = window.location?.search ?? "";
|
|
120
|
+
const hashSearch = window.location?.hash?.split("?")[1] ?? "";
|
|
121
|
+
const params = new URLSearchParams(search || hashSearch);
|
|
122
|
+
return (params.get(RUNTIME_GATE_PICKER_OVERRIDE_PARAM) ===
|
|
123
|
+
RUNTIME_GATE_PICKER_OVERRIDE_VALUE);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export function readPickerTargetOverride() {
|
|
130
|
+
if (typeof window === "undefined")
|
|
131
|
+
return null;
|
|
132
|
+
try {
|
|
133
|
+
const search = window.location?.search ?? "";
|
|
134
|
+
const hashSearch = window.location?.hash?.split("?")[1] ?? "";
|
|
135
|
+
const params = new URLSearchParams(search || hashSearch);
|
|
136
|
+
const target = params.get(RUNTIME_PICKER_TARGET_QUERY_NAME);
|
|
137
|
+
return target === "cloud" || target === "local" || target === "remote"
|
|
138
|
+
? target
|
|
139
|
+
: null;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function normalizeRemoteTarget(value) {
|
|
146
|
+
const trimmed = value.trim();
|
|
147
|
+
if (!trimmed)
|
|
148
|
+
return null;
|
|
149
|
+
try {
|
|
150
|
+
const parsed = new URL(trimmed);
|
|
151
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
if (!parsed.hostname)
|
|
155
|
+
return null;
|
|
156
|
+
return trimmed;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function normalizeRuntimeUrl(value) {
|
|
163
|
+
if (typeof value !== "string")
|
|
164
|
+
return undefined;
|
|
165
|
+
const trimmed = value.trim();
|
|
166
|
+
if (!trimmed)
|
|
167
|
+
return undefined;
|
|
168
|
+
let end = trimmed.length;
|
|
169
|
+
while (end > 0 && trimmed.charCodeAt(end - 1) === 47)
|
|
170
|
+
end--;
|
|
171
|
+
return trimmed.slice(0, end);
|
|
172
|
+
}
|
|
173
|
+
function isCloudControlPlaneUrl(value) {
|
|
174
|
+
if (!value)
|
|
175
|
+
return false;
|
|
176
|
+
try {
|
|
177
|
+
const host = new URL(value).hostname.toLowerCase();
|
|
178
|
+
return (host === "api.elizacloud.ai" ||
|
|
179
|
+
host === "api-staging.elizacloud.ai" ||
|
|
180
|
+
host === "elizacloud.ai" ||
|
|
181
|
+
host === "www.elizacloud.ai" ||
|
|
182
|
+
host === "dev.elizacloud.ai" ||
|
|
183
|
+
host === "staging.elizacloud.ai");
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function resolveCloudAgentApiBase(agent) {
|
|
190
|
+
const directAgent = agent;
|
|
191
|
+
const candidates = [
|
|
192
|
+
directAgent.apiBase,
|
|
193
|
+
directAgent.api_base,
|
|
194
|
+
agent.bridge_url,
|
|
195
|
+
directAgent.bridgeUrl,
|
|
196
|
+
agent.containerUrl,
|
|
197
|
+
directAgent.container_url,
|
|
198
|
+
directAgent.runtimeUrl,
|
|
199
|
+
directAgent.runtime_url,
|
|
200
|
+
agent.web_ui_url,
|
|
201
|
+
agent.webUiUrl,
|
|
202
|
+
]
|
|
203
|
+
.map(normalizeRuntimeUrl)
|
|
204
|
+
.filter((value) => Boolean(value));
|
|
205
|
+
return candidates.find((value) => !isCloudControlPlaneUrl(value));
|
|
206
|
+
}
|
|
207
|
+
function resolveCloudJobRuntimeUrl(job) {
|
|
208
|
+
const payloads = [job.result, job.data].filter((value) => Boolean(value) && typeof value === "object");
|
|
209
|
+
const keys = [
|
|
210
|
+
"apiBase",
|
|
211
|
+
"api_base",
|
|
212
|
+
"bridgeUrl",
|
|
213
|
+
"bridge_url",
|
|
214
|
+
"runtimeUrl",
|
|
215
|
+
"runtime_url",
|
|
216
|
+
"containerUrl",
|
|
217
|
+
"container_url",
|
|
218
|
+
"webUiUrl",
|
|
219
|
+
"web_ui_url",
|
|
220
|
+
];
|
|
221
|
+
for (const payload of payloads) {
|
|
222
|
+
for (const key of keys) {
|
|
223
|
+
const url = normalizeRuntimeUrl(payload[key]);
|
|
224
|
+
if (url && !isCloudControlPlaneUrl(url))
|
|
225
|
+
return url;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function mergeCloudRuntimeUrl(agent, runtimeUrl) {
|
|
230
|
+
if (!runtimeUrl || resolveCloudAgentApiBase(agent))
|
|
231
|
+
return agent;
|
|
232
|
+
return {
|
|
233
|
+
...agent,
|
|
234
|
+
bridge_url: runtimeUrl,
|
|
235
|
+
containerUrl: runtimeUrl,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
async function withProvisionStartTimeout(request, message) {
|
|
239
|
+
let timeoutId;
|
|
240
|
+
const timeout = new Promise((_, reject) => {
|
|
241
|
+
timeoutId = setTimeout(() => {
|
|
242
|
+
reject(new Error(message));
|
|
243
|
+
}, PROVISION_START_TIMEOUT_MS);
|
|
244
|
+
});
|
|
245
|
+
try {
|
|
246
|
+
return await Promise.race([request, timeout]);
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
if (timeoutId)
|
|
250
|
+
clearTimeout(timeoutId);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function displayErrorMessage(error, fallback) {
|
|
254
|
+
return error instanceof Error && error.message ? error.message : fallback;
|
|
255
|
+
}
|
|
256
|
+
async function probeCloudAgentReachable(apiBase, timeoutMs) {
|
|
257
|
+
const controller = new AbortController();
|
|
258
|
+
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
259
|
+
try {
|
|
260
|
+
const res = await fetch(`${apiBase.replace(/\/$/, "")}/api/health`, {
|
|
261
|
+
method: "GET",
|
|
262
|
+
signal: controller.signal,
|
|
263
|
+
});
|
|
264
|
+
return res.ok;
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
finally {
|
|
270
|
+
clearTimeout(timeoutId);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// TODO: replace with real onboarding artwork per runtime choice
|
|
274
|
+
// const CHOICE_IMAGE_PATH: Record<RuntimeChoice, string> = {
|
|
275
|
+
// cloud: "app-heroes/agentDOD.png",
|
|
276
|
+
// local: "app-heroes/runtime-debugger.png",
|
|
277
|
+
// remote: "app-heroes/log-viewer.png",
|
|
278
|
+
// };
|
|
279
|
+
export function resolveRuntimeChoices(args) {
|
|
280
|
+
if (args.isAndroid) {
|
|
281
|
+
return ["cloud", "local", "remote"];
|
|
282
|
+
}
|
|
283
|
+
if (args.isIOS)
|
|
284
|
+
return ["cloud", "local", "remote"];
|
|
285
|
+
if (args.isDesktop || args.isDev)
|
|
286
|
+
return ["cloud", "local", "remote"];
|
|
287
|
+
if (args.showLocalOption || args.localProbePending) {
|
|
288
|
+
return ["cloud", "local", "remote"];
|
|
289
|
+
}
|
|
290
|
+
return ["cloud", "remote"];
|
|
291
|
+
}
|
|
292
|
+
export function RuntimeGate() {
|
|
293
|
+
const { setState, completeOnboarding, elizaCloudConnected, elizaCloudLoginBusy, elizaCloudLoginError, handleCloudLogin, startupCoordinator, uiLanguage, uiTheme, setUiTheme, t, } = useApp();
|
|
294
|
+
const setUiLanguage = React.useCallback((lang) => setState("uiLanguage", normalizeLanguage(lang)), [setState]);
|
|
295
|
+
const [subView, setSubView] = React.useState("chooser");
|
|
296
|
+
const [discoveredGateways, setDiscoveredGateways] = React.useState([]);
|
|
297
|
+
// Cloud sub-view
|
|
298
|
+
const [cloudStage, setCloudStage] = React.useState(elizaCloudConnected ? "loading" : "login");
|
|
299
|
+
const [error, setError] = React.useState(null);
|
|
300
|
+
const [provisionStatus, setProvisionStatus] = React.useState("");
|
|
301
|
+
const pollTimerRef = React.useRef(null);
|
|
302
|
+
// Remote sub-view
|
|
303
|
+
const [remoteUrl, setRemoteUrl] = React.useState("");
|
|
304
|
+
const [remoteToken, setRemoteToken] = React.useState("");
|
|
305
|
+
// Local embeddings toggle (elizacloud only, default unchecked)
|
|
306
|
+
const [useLocalEmbeddings, setUseLocalEmbeddings] = React.useState(false);
|
|
307
|
+
// Local-runtime setup wizard. When the user picks "Local" in the
|
|
308
|
+
// chooser we render an in-place wizard (provider list → API key entry)
|
|
309
|
+
// before completing onboarding. Without this, finishAsLocal() drops
|
|
310
|
+
// the user straight into chat with no model provider configured —
|
|
311
|
+
// their first send hits the no_provider gate (commit 28e19c8023) and
|
|
312
|
+
// they have to backtrack to Settings. The wizard saves the round-trip.
|
|
313
|
+
const [localStage, setLocalStage] = React.useState("provider");
|
|
314
|
+
const [localProviderId, setLocalProviderId] = React.useState(null);
|
|
315
|
+
const [localApiKey, setLocalApiKey] = React.useState("");
|
|
316
|
+
const [localSaving, setLocalSaving] = React.useState(false);
|
|
317
|
+
const [localError, setLocalError] = React.useState(null);
|
|
318
|
+
// Filter catalog to direct API-key providers (group:"local" excludes
|
|
319
|
+
// managed cloud + subscription paths — those have their own flows).
|
|
320
|
+
const localProviderCatalog = React.useMemo(() => ONBOARDING_PROVIDER_CATALOG.filter((provider) => provider.group === "local" && provider.authMode === "api-key"), []);
|
|
321
|
+
// Local-tile readiness. Desktop/dev are local-capable synchronously.
|
|
322
|
+
// Android probes the on-device agent's `/api/health` so ElizaOS can
|
|
323
|
+
// auto-complete once the bundled runtime is ready. iOS uses the in-process
|
|
324
|
+
// ITTP route kernel, so native iOS can expose Local without a TCP probe.
|
|
325
|
+
// Plain web can include it when a caller reports local availability or an
|
|
326
|
+
// in-progress probe through `resolveRuntimeChoices`.
|
|
327
|
+
const isDesktop = isDesktopPlatform();
|
|
328
|
+
const isDev = Boolean(import.meta.env.DEV);
|
|
329
|
+
const synchronousLocal = isDesktop || isDev;
|
|
330
|
+
const [localProbeResult, setLocalProbeResult] = React.useState(synchronousLocal ? true : isAndroid || isIOS ? null : false);
|
|
331
|
+
// ElizaOS: the picker is bypassed entirely unless the user explicitly asks
|
|
332
|
+
// for it via `?runtime=picker` (Settings ▸ Runtime is the only legitimate
|
|
333
|
+
// caller). Without the override the gate renders an "INITIALIZING AGENT…"
|
|
334
|
+
// splash with the same probe-poll loop as the chooser tile, then calls
|
|
335
|
+
// `finishAsLocal()` the moment the probe succeeds.
|
|
336
|
+
//
|
|
337
|
+
// The same APK installed on a stock Android phone (no `ElizaOS/<tag>`
|
|
338
|
+
// user-agent suffix) falls through to the regular picker — those users
|
|
339
|
+
// pick Cloud / Remote / Local themselves.
|
|
340
|
+
const pickerOverride = hasPickerOverride();
|
|
341
|
+
const pickerTargetOverride = readPickerTargetOverride();
|
|
342
|
+
const elizaOSAutoLocal = isElizaOS() && !pickerOverride;
|
|
343
|
+
React.useEffect(() => {
|
|
344
|
+
if (synchronousLocal)
|
|
345
|
+
return;
|
|
346
|
+
if (!isAndroid && !isIOS)
|
|
347
|
+
return;
|
|
348
|
+
let cancelled = false;
|
|
349
|
+
let pollTimer = null;
|
|
350
|
+
// Re-poll every 4 s while the gate is mounted and the agent is not yet
|
|
351
|
+
// reachable. The on-device agent can take 30+ s to come up after a cold
|
|
352
|
+
// boot (PGlite migration + GGUF model warmup). A one-shot probe at
|
|
353
|
+
// mount time would otherwise leave the user stuck on Cloud/Remote even
|
|
354
|
+
// though the agent is racing toward live. Stops polling once a positive
|
|
355
|
+
// result is in — `probe-local-agent`'s positive cache then keeps it
|
|
356
|
+
// stable for the rest of the session.
|
|
357
|
+
const poll = () => {
|
|
358
|
+
shouldShowLocalOption({ isDesktop, isDev, isAndroid, isIOS })
|
|
359
|
+
.then((ok) => {
|
|
360
|
+
if (cancelled)
|
|
361
|
+
return;
|
|
362
|
+
setLocalProbeResult(ok);
|
|
363
|
+
if (!ok) {
|
|
364
|
+
pollTimer = setTimeout(poll, 4_000);
|
|
365
|
+
}
|
|
366
|
+
})
|
|
367
|
+
.catch(() => {
|
|
368
|
+
if (cancelled)
|
|
369
|
+
return;
|
|
370
|
+
setLocalProbeResult(false);
|
|
371
|
+
pollTimer = setTimeout(poll, 4_000);
|
|
372
|
+
});
|
|
373
|
+
};
|
|
374
|
+
poll();
|
|
375
|
+
return () => {
|
|
376
|
+
cancelled = true;
|
|
377
|
+
if (pollTimer)
|
|
378
|
+
clearTimeout(pollTimer);
|
|
379
|
+
};
|
|
380
|
+
}, [isDesktop, isDev, synchronousLocal]);
|
|
381
|
+
const showLocalOption = localProbeResult === true;
|
|
382
|
+
const localProbePending = localProbeResult === null;
|
|
383
|
+
const runtimeChoices = React.useMemo(() => resolveRuntimeChoices({
|
|
384
|
+
isAndroid,
|
|
385
|
+
isIOS,
|
|
386
|
+
isDesktop,
|
|
387
|
+
isDev,
|
|
388
|
+
showLocalOption,
|
|
389
|
+
localProbePending,
|
|
390
|
+
}), [isDesktop, isDev, showLocalOption, localProbePending]);
|
|
391
|
+
const runtimeChoiceKey = runtimeChoices.join("|");
|
|
392
|
+
React.useEffect(() => {
|
|
393
|
+
if (!pickerOverride || !pickerTargetOverride)
|
|
394
|
+
return;
|
|
395
|
+
if (!runtimeChoices.includes(pickerTargetOverride))
|
|
396
|
+
return;
|
|
397
|
+
setSubView((current) => current === "chooser" ? pickerTargetOverride : current);
|
|
398
|
+
}, [pickerOverride, pickerTargetOverride, runtimeChoices]);
|
|
399
|
+
// ── Gateway discovery (LAN autodetect) ────────────────────────────
|
|
400
|
+
React.useEffect(() => {
|
|
401
|
+
if (subView !== "chooser" && subView !== "remote")
|
|
402
|
+
return;
|
|
403
|
+
let cancelled = false;
|
|
404
|
+
discoverGatewayEndpoints()
|
|
405
|
+
.then((endpoints) => {
|
|
406
|
+
if (!cancelled)
|
|
407
|
+
setDiscoveredGateways(endpoints);
|
|
408
|
+
})
|
|
409
|
+
.catch(() => {
|
|
410
|
+
// Discovery is best-effort; absence of LAN agents is not an error.
|
|
411
|
+
});
|
|
412
|
+
return () => {
|
|
413
|
+
cancelled = true;
|
|
414
|
+
};
|
|
415
|
+
}, [subView]);
|
|
416
|
+
// ── Cleanup poll on unmount ───────────────────────────────────────
|
|
417
|
+
React.useEffect(() => {
|
|
418
|
+
return () => {
|
|
419
|
+
if (pollTimerRef.current) {
|
|
420
|
+
clearInterval(pollTimerRef.current);
|
|
421
|
+
pollTimerRef.current = null;
|
|
422
|
+
}
|
|
423
|
+
};
|
|
424
|
+
}, []);
|
|
425
|
+
// ── Cleanup poll when leaving cloud sub-view ──────────────────────
|
|
426
|
+
// The provision poll lives inside subView="cloud". Switching back to the
|
|
427
|
+
// chooser (or to "remote") used to leak the interval — it kept calling
|
|
428
|
+
// setProvisionStatus / setError / finishAsCloud against a screen the user
|
|
429
|
+
// had already left, racing with their next choice.
|
|
430
|
+
React.useEffect(() => {
|
|
431
|
+
if (subView !== "cloud" && pollTimerRef.current) {
|
|
432
|
+
clearInterval(pollTimerRef.current);
|
|
433
|
+
pollTimerRef.current = null;
|
|
434
|
+
}
|
|
435
|
+
}, [subView]);
|
|
436
|
+
// ── Cloud: auto-advance from login when connected ─────────────────
|
|
437
|
+
React.useEffect(() => {
|
|
438
|
+
if (elizaCloudConnected && cloudStage === "login") {
|
|
439
|
+
setCloudStage("loading");
|
|
440
|
+
}
|
|
441
|
+
}, [elizaCloudConnected, cloudStage]);
|
|
442
|
+
// ── Completion helpers ─────────────────────────────────────────────
|
|
443
|
+
const finishAsCloud = React.useCallback(async (agent) => {
|
|
444
|
+
// Refuse to complete cloud onboarding without a usable agent URL —
|
|
445
|
+
// persisting an active server with no apiBase puts the next boot
|
|
446
|
+
// into an infinite loopback poll (`https://localhost/api/auth/status`)
|
|
447
|
+
// because client.getBaseUrl() falls back to window.location.origin
|
|
448
|
+
// when nothing is set. Surface the failure so the user can retry
|
|
449
|
+
// instead of silently writing a broken active-server record.
|
|
450
|
+
let apiBase = resolveCloudAgentApiBase(agent);
|
|
451
|
+
if (!apiBase) {
|
|
452
|
+
setError(t("runtimegate.cloudAgentMissingUrl", {
|
|
453
|
+
defaultValue: "Cloud agent is not reachable yet. Retry after it finishes starting.",
|
|
454
|
+
}));
|
|
455
|
+
setCloudStage("retry");
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
setCloudStage("connecting");
|
|
459
|
+
let label = agent.agent_name;
|
|
460
|
+
let accessToken;
|
|
461
|
+
try {
|
|
462
|
+
const launchRes = await client.launchCloudCompatAgent(agent.agent_id);
|
|
463
|
+
const launchConnection = launchRes.data?.connection;
|
|
464
|
+
const launchApiBase = normalizeRuntimeUrl(launchConnection?.apiBase);
|
|
465
|
+
const launchToken = launchConnection?.token?.trim();
|
|
466
|
+
if (!launchRes.success || !launchApiBase || !launchToken) {
|
|
467
|
+
throw new Error(launchRes.error ||
|
|
468
|
+
t("runtimegate.cloudLaunchMissingConnection", {
|
|
469
|
+
defaultValue: "Cloud did not return a runtime connection for this agent.",
|
|
470
|
+
}));
|
|
471
|
+
}
|
|
472
|
+
apiBase = launchApiBase;
|
|
473
|
+
accessToken = launchToken;
|
|
474
|
+
if (launchRes.data?.agentName) {
|
|
475
|
+
label = launchRes.data.agentName;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
catch (err) {
|
|
479
|
+
setError(displayErrorMessage(err, t("runtimegate.cloudLaunchFailed", {
|
|
480
|
+
defaultValue: "Cloud agent launch failed. Please retry.",
|
|
481
|
+
})));
|
|
482
|
+
setCloudStage("retry");
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
savePersistedActiveServer({
|
|
486
|
+
id: `cloud:${agent.agent_id}`,
|
|
487
|
+
kind: "cloud",
|
|
488
|
+
label,
|
|
489
|
+
apiBase,
|
|
490
|
+
...(accessToken ? { accessToken } : {}),
|
|
491
|
+
});
|
|
492
|
+
addAgentProfile({
|
|
493
|
+
kind: "cloud",
|
|
494
|
+
label,
|
|
495
|
+
cloudAgentId: agent.agent_id,
|
|
496
|
+
apiBase,
|
|
497
|
+
...(accessToken ? { accessToken } : {}),
|
|
498
|
+
});
|
|
499
|
+
setError(null);
|
|
500
|
+
client.setBaseUrl(apiBase);
|
|
501
|
+
client.setToken(accessToken ?? null);
|
|
502
|
+
persistMobileRuntimeModeForServerTarget("elizacloud");
|
|
503
|
+
setState("onboardingServerTarget", "elizacloud");
|
|
504
|
+
// Apply embedding preference before handing off. Non-blocking: if this
|
|
505
|
+
// fails the user can adjust it from Settings → Provider.
|
|
506
|
+
if (useLocalEmbeddings) {
|
|
507
|
+
void client
|
|
508
|
+
.switchProvider("elizacloud", undefined, undefined, {
|
|
509
|
+
useLocalEmbeddings: true,
|
|
510
|
+
})
|
|
511
|
+
.catch((err) => {
|
|
512
|
+
console.warn("[RuntimeGate] Failed to apply local embeddings preference", err);
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
completeOnboarding();
|
|
516
|
+
}, [completeOnboarding, setState, t, useLocalEmbeddings]);
|
|
517
|
+
const finishAsLocal = React.useCallback(() => {
|
|
518
|
+
setError(null);
|
|
519
|
+
const localApiBase = isAndroid || isIOS
|
|
520
|
+
? MOBILE_LOCAL_AGENT_API_BASE
|
|
521
|
+
: resolveLocalAgentApiBase();
|
|
522
|
+
if (isAndroid || isIOS) {
|
|
523
|
+
// Mobile local mode always pins the loopback-shaped base URL. Android
|
|
524
|
+
// serves it from the foreground service; iOS intercepts the same URL
|
|
525
|
+
// through the in-process ITTP transport before any TCP request is made.
|
|
526
|
+
// Persisting it as a `remote` active server keeps the existing startup
|
|
527
|
+
// restore branch working while `local` mobile runtime mode records the
|
|
528
|
+
// user-visible distinction.
|
|
529
|
+
//
|
|
530
|
+
// AOSP / branded native shells expose the on-device agent's per-boot
|
|
531
|
+
// bearer through `window.ElizaNative.getLocalAgentToken()` so the
|
|
532
|
+
// first /api/auth/status fetch can authenticate without showing the
|
|
533
|
+
// pair-code prompt. Stock Capacitor builds don't register the bridge
|
|
534
|
+
// (the call returns null), preserving the legacy "user types the pair
|
|
535
|
+
// code from the agent log" flow on those targets.
|
|
536
|
+
client.setBaseUrl(localApiBase);
|
|
537
|
+
client.setToken(readSyncOnDeviceAgentBearer());
|
|
538
|
+
savePersistedActiveServer({
|
|
539
|
+
id: isAndroid
|
|
540
|
+
? ANDROID_LOCAL_AGENT_SERVER_ID
|
|
541
|
+
: MOBILE_LOCAL_AGENT_SERVER_ID,
|
|
542
|
+
kind: "remote",
|
|
543
|
+
label: isAndroid ? ANDROID_LOCAL_AGENT_LABEL : MOBILE_LOCAL_AGENT_LABEL,
|
|
544
|
+
apiBase: localApiBase,
|
|
545
|
+
});
|
|
546
|
+
addAgentProfile({
|
|
547
|
+
kind: "remote",
|
|
548
|
+
label: isAndroid ? ANDROID_LOCAL_AGENT_LABEL : MOBILE_LOCAL_AGENT_LABEL,
|
|
549
|
+
apiBase: localApiBase,
|
|
550
|
+
});
|
|
551
|
+
void startMobileLocalAgent();
|
|
552
|
+
// Fire-and-forget: don't gate the UI on the model download. The user
|
|
553
|
+
// lands in chat immediately; the recommended model is enqueued as
|
|
554
|
+
// soon as the runtime answers /api/health.
|
|
555
|
+
void autoDownloadRecommendedLocalModelInBackground(localApiBase);
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
// Desktop: the local agent IS the bundled API on loopback.
|
|
559
|
+
// The dev orchestrator may bind a port other than 31337 when that
|
|
560
|
+
// port is taken — `resolveLocalAgentApiBase()` reads the resolved
|
|
561
|
+
// base from `window.__ELIZA_API_BASE__` (set by Electrobun's
|
|
562
|
+
// HTML injection or `apiBaseUpdate` RPC). Setting `baseUrl(null)`
|
|
563
|
+
// would fall back to the page origin (Electrobun static server or
|
|
564
|
+
// Vite), which has no `/api` routes — every fetch 404s and the
|
|
565
|
+
// app gets stuck in a reconnect loop.
|
|
566
|
+
client.setBaseUrl(localApiBase);
|
|
567
|
+
client.setToken(null);
|
|
568
|
+
savePersistedActiveServer({
|
|
569
|
+
id: "local:desktop",
|
|
570
|
+
kind: "remote",
|
|
571
|
+
label: "On-device agent",
|
|
572
|
+
apiBase: localApiBase,
|
|
573
|
+
});
|
|
574
|
+
addAgentProfile({
|
|
575
|
+
kind: "remote",
|
|
576
|
+
label: "On-device agent",
|
|
577
|
+
apiBase: localApiBase,
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
persistMobileRuntimeModeForServerTarget("local");
|
|
581
|
+
setState("onboardingServerTarget", "local");
|
|
582
|
+
startupCoordinator.dispatch({ type: "SPLASH_CONTINUE" });
|
|
583
|
+
// Always land on chat. The composer lock + "Set up an LLM provider"
|
|
584
|
+
// placeholder handles the missing-provider case.
|
|
585
|
+
completeOnboarding();
|
|
586
|
+
}, [completeOnboarding, setState, startupCoordinator]);
|
|
587
|
+
// Auto-pick the on-device agent on ElizaOS. The picker is bypassed by
|
|
588
|
+
// default — the only legitimate way to see it is `?runtime=picker`, set
|
|
589
|
+
// by Settings ▸ Runtime when the user explicitly wants to switch
|
|
590
|
+
// runtimes. As soon as the on-device agent's `/api/health` responds we
|
|
591
|
+
// finish onboarding as local and the user lands in chat.
|
|
592
|
+
//
|
|
593
|
+
// Pre-seed (in `apps/app/src/main.tsx` via `preSeedAndroidLocalRuntimeIfFresh`)
|
|
594
|
+
// already ensures the persisted mode + active server look like "local" by
|
|
595
|
+
// first render, so `finishAsLocal()` here is mostly idempotent. The
|
|
596
|
+
// important effect of this call is the `completeOnboarding()` /
|
|
597
|
+
// `ONBOARDING_COMPLETE` dispatch that flips the startup coordinator out
|
|
598
|
+
// of `onboarding-required`.
|
|
599
|
+
//
|
|
600
|
+
// The vanilla Android APK (no ElizaOS user-agent suffix) does not enter
|
|
601
|
+
// this branch — it renders the chooser tiles like iOS / web and waits for
|
|
602
|
+
// a user choice.
|
|
603
|
+
React.useEffect(() => {
|
|
604
|
+
if (!elizaOSAutoLocal)
|
|
605
|
+
return;
|
|
606
|
+
if (!showLocalOption)
|
|
607
|
+
return;
|
|
608
|
+
finishAsLocal();
|
|
609
|
+
}, [elizaOSAutoLocal, finishAsLocal, showLocalOption]);
|
|
610
|
+
const finishAsRemoteGateway = React.useCallback((gateway) => {
|
|
611
|
+
const apiBase = gatewayEndpointToApiBase(gateway);
|
|
612
|
+
client.setBaseUrl(apiBase);
|
|
613
|
+
client.setToken(null);
|
|
614
|
+
savePersistedActiveServer({
|
|
615
|
+
id: `gateway:${gateway.stableId}`,
|
|
616
|
+
kind: "remote",
|
|
617
|
+
label: gateway.name,
|
|
618
|
+
apiBase,
|
|
619
|
+
});
|
|
620
|
+
addAgentProfile({ kind: "remote", label: gateway.name, apiBase });
|
|
621
|
+
persistMobileRuntimeModeForServerTarget("remote");
|
|
622
|
+
setState("onboardingServerTarget", "remote");
|
|
623
|
+
startupCoordinator.dispatch({ type: "SPLASH_CONTINUE" });
|
|
624
|
+
completeOnboarding();
|
|
625
|
+
}, [completeOnboarding, setState, startupCoordinator]);
|
|
626
|
+
const finishAsRemote = React.useCallback(() => {
|
|
627
|
+
const url = normalizeRemoteTarget(remoteUrl);
|
|
628
|
+
if (!url) {
|
|
629
|
+
setError(t("runtimegate.invalidRemoteUrl", {
|
|
630
|
+
defaultValue: "Enter a valid HTTP or HTTPS remote agent URL.",
|
|
631
|
+
}));
|
|
632
|
+
return;
|
|
633
|
+
}
|
|
634
|
+
setError(null);
|
|
635
|
+
client.setBaseUrl(url);
|
|
636
|
+
const token = remoteToken.trim() || undefined;
|
|
637
|
+
client.setToken(token ?? null);
|
|
638
|
+
savePersistedActiveServer({
|
|
639
|
+
id: `remote:${url}`,
|
|
640
|
+
kind: "remote",
|
|
641
|
+
label: url,
|
|
642
|
+
apiBase: url,
|
|
643
|
+
...(token ? { accessToken: token } : {}),
|
|
644
|
+
});
|
|
645
|
+
addAgentProfile({ kind: "remote", label: url, apiBase: url });
|
|
646
|
+
persistMobileRuntimeModeForServerTarget("remote");
|
|
647
|
+
setState("onboardingServerTarget", "remote");
|
|
648
|
+
startupCoordinator.dispatch({ type: "SPLASH_CONTINUE" });
|
|
649
|
+
completeOnboarding();
|
|
650
|
+
}, [
|
|
651
|
+
remoteToken,
|
|
652
|
+
remoteUrl,
|
|
653
|
+
completeOnboarding,
|
|
654
|
+
setState,
|
|
655
|
+
startupCoordinator,
|
|
656
|
+
t,
|
|
657
|
+
]);
|
|
658
|
+
const handleLocalSelectProvider = React.useCallback((providerId) => {
|
|
659
|
+
setLocalProviderId(providerId);
|
|
660
|
+
setLocalApiKey("");
|
|
661
|
+
setLocalError(null);
|
|
662
|
+
setLocalStage("config");
|
|
663
|
+
}, []);
|
|
664
|
+
const handleLocalConfigBack = React.useCallback(() => {
|
|
665
|
+
setLocalStage("provider");
|
|
666
|
+
setLocalError(null);
|
|
667
|
+
}, []);
|
|
668
|
+
const handleLocalSave = React.useCallback(async () => {
|
|
669
|
+
if (!localProviderId) {
|
|
670
|
+
setLocalError(t("runtimegate.localPickProvider", {
|
|
671
|
+
defaultValue: "Pick a provider first.",
|
|
672
|
+
}));
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
const trimmedKey = localApiKey.trim();
|
|
676
|
+
if (!trimmedKey) {
|
|
677
|
+
setLocalError(t("runtimegate.localApiKeyRequired", {
|
|
678
|
+
defaultValue: "Enter an API key for the selected provider.",
|
|
679
|
+
}));
|
|
680
|
+
return;
|
|
681
|
+
}
|
|
682
|
+
setLocalSaving(true);
|
|
683
|
+
setLocalError(null);
|
|
684
|
+
try {
|
|
685
|
+
// switchProvider writes the canonical config (cloud.* off,
|
|
686
|
+
// serviceRouting.llmText.{backend,transport:"direct"}, env key).
|
|
687
|
+
// Routing-mode "local-only" + the provider's API key = the runtime
|
|
688
|
+
// boots with a registered provider and chat works immediately.
|
|
689
|
+
await client.switchProvider(localProviderId, trimmedKey);
|
|
690
|
+
finishAsLocal();
|
|
691
|
+
}
|
|
692
|
+
catch (err) {
|
|
693
|
+
setLocalSaving(false);
|
|
694
|
+
setLocalError(err instanceof Error
|
|
695
|
+
? err.message
|
|
696
|
+
: t("runtimegate.localSaveFailed", {
|
|
697
|
+
defaultValue: "Failed to save provider — please try again.",
|
|
698
|
+
}));
|
|
699
|
+
}
|
|
700
|
+
}, [finishAsLocal, localApiKey, localProviderId, t]);
|
|
701
|
+
// ── Cloud: provision + connect ─────────────────────────────────────
|
|
702
|
+
const provisionAndConnect = React.useCallback(async (agentId, existingJobId) => {
|
|
703
|
+
if (pollTimerRef.current) {
|
|
704
|
+
clearInterval(pollTimerRef.current);
|
|
705
|
+
pollTimerRef.current = null;
|
|
706
|
+
}
|
|
707
|
+
setCloudStage("provisioning");
|
|
708
|
+
setProvisionStatus(t("runtimegate.startingProvisioning", {
|
|
709
|
+
defaultValue: "Starting provisioning...",
|
|
710
|
+
}));
|
|
711
|
+
// If create already queued a job (compat-namespace flow), use that
|
|
712
|
+
// jobId directly. Calling provisionCloudCompatAgent again on a
|
|
713
|
+
// compat-created agent returns 405 (the v1/app provision endpoint
|
|
714
|
+
// doesn't recognize compat-namespace agent IDs).
|
|
715
|
+
let jobId = existingJobId;
|
|
716
|
+
let provisionData;
|
|
717
|
+
let pollingIntervalMs;
|
|
718
|
+
let provisionExpectedDurationMs = 0;
|
|
719
|
+
if (!jobId) {
|
|
720
|
+
let provRes;
|
|
721
|
+
let startStatusTimer;
|
|
722
|
+
try {
|
|
723
|
+
startStatusTimer = setTimeout(() => {
|
|
724
|
+
setProvisionStatus(t("runtimegate.waitingForProvisioningJob", {
|
|
725
|
+
defaultValue: "Waiting for Cloud to accept provisioning...",
|
|
726
|
+
}));
|
|
727
|
+
}, PROVISION_START_STILL_WAITING_MS);
|
|
728
|
+
provRes = await withProvisionStartTimeout(client.provisionCloudCompatAgent(agentId), t("runtimegate.provisioningStartTimeout", {
|
|
729
|
+
defaultValue: "Cloud did not return a provisioning job. Please retry.",
|
|
730
|
+
}));
|
|
731
|
+
}
|
|
732
|
+
catch (err) {
|
|
733
|
+
setError(displayErrorMessage(err, t("runtimegate.provisioningFailed", {
|
|
734
|
+
defaultValue: "Provisioning failed",
|
|
735
|
+
})));
|
|
736
|
+
setCloudStage("retry");
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
finally {
|
|
740
|
+
if (startStatusTimer)
|
|
741
|
+
clearTimeout(startStatusTimer);
|
|
742
|
+
}
|
|
743
|
+
if (!provRes.success) {
|
|
744
|
+
setError(provRes.error ||
|
|
745
|
+
t("runtimegate.provisioningFailed", {
|
|
746
|
+
defaultValue: "Provisioning failed",
|
|
747
|
+
}));
|
|
748
|
+
setCloudStage("retry");
|
|
749
|
+
return;
|
|
750
|
+
}
|
|
751
|
+
provisionData = provRes.data;
|
|
752
|
+
jobId = provRes.data?.jobId;
|
|
753
|
+
pollingIntervalMs = provRes.polling?.intervalMs;
|
|
754
|
+
provisionExpectedDurationMs = provRes.polling?.expectedDurationMs ?? 0;
|
|
755
|
+
}
|
|
756
|
+
// Poll the agent until it has a connectable URL. The provision job
|
|
757
|
+
// can report "completed" before the cloud attaches a bridgeUrl —
|
|
758
|
+
// that URL only exists once the container reaches "running" and
|
|
759
|
+
// reports its bridge endpoint, which can take several minutes on
|
|
760
|
+
// cold-start. Calling finishAsCloud with no URL persists a broken
|
|
761
|
+
// active-server record and dead-ends the next boot in a
|
|
762
|
+
// https://localhost/api/auth/status loop, so wait long enough for
|
|
763
|
+
// a genuine cold-start and surface the live status to the user.
|
|
764
|
+
//
|
|
765
|
+
// We poll BOTH endpoints because they hydrate at different points:
|
|
766
|
+
// - getCloudCompatAgentStatus → exposes `bridgeUrl` directly off
|
|
767
|
+
// the agent's runtime status (typically the first to populate).
|
|
768
|
+
// - getCloudCompatAgent → returns a `DirectCloudAgent` whose
|
|
769
|
+
// `bridge_url` is filled from the same DB column. Eliza Cloud's
|
|
770
|
+
// non-admin route does NOT return webUiUrl, so we must accept
|
|
771
|
+
// bridgeUrl here.
|
|
772
|
+
const fetchAgentWithUrl = async (deadlineMs) => {
|
|
773
|
+
while (Date.now() < deadlineMs) {
|
|
774
|
+
const statusRes = await client
|
|
775
|
+
.getCloudCompatAgentStatus(agentId)
|
|
776
|
+
.catch(() => null);
|
|
777
|
+
if (statusRes?.success && statusRes.data) {
|
|
778
|
+
const s = statusRes.data;
|
|
779
|
+
if (s.status === "failed" || s.status === "suspended") {
|
|
780
|
+
setError(t("runtimegate.agentFailed", {
|
|
781
|
+
defaultValue: "Cloud agent failed to start ({status}).",
|
|
782
|
+
status: s.suspendedReason ?? s.status,
|
|
783
|
+
}));
|
|
784
|
+
return null;
|
|
785
|
+
}
|
|
786
|
+
if (s.status) {
|
|
787
|
+
setProvisionStatus(t("runtimegate.cloudAgentStatus", {
|
|
788
|
+
defaultValue: "Agent {status}…",
|
|
789
|
+
status: s.status,
|
|
790
|
+
}));
|
|
791
|
+
}
|
|
792
|
+
if (s.bridgeUrl || s.webUiUrl) {
|
|
793
|
+
const agentRes = await client
|
|
794
|
+
.getCloudCompatAgent(agentId)
|
|
795
|
+
.catch(() => null);
|
|
796
|
+
if (agentRes?.success) {
|
|
797
|
+
return {
|
|
798
|
+
...agentRes.data,
|
|
799
|
+
bridge_url: s.bridgeUrl ?? agentRes.data.bridge_url ?? null,
|
|
800
|
+
web_ui_url: s.webUiUrl ?? agentRes.data.web_ui_url ?? null,
|
|
801
|
+
webUiUrl: s.webUiUrl ?? agentRes.data.webUiUrl ?? null,
|
|
802
|
+
};
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
const agentRes = await client
|
|
807
|
+
.getCloudCompatAgent(agentId)
|
|
808
|
+
.catch(() => null);
|
|
809
|
+
if (agentRes?.success) {
|
|
810
|
+
const agent = agentRes.data;
|
|
811
|
+
if (agent.bridge_url || agent.webUiUrl || agent.web_ui_url) {
|
|
812
|
+
return agent;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
await new Promise((r) => setTimeout(r, 2500));
|
|
816
|
+
}
|
|
817
|
+
return null;
|
|
818
|
+
};
|
|
819
|
+
if (!jobId) {
|
|
820
|
+
setProvisionStatus(t("runtimegate.connecting", { defaultValue: "Connecting..." }));
|
|
821
|
+
const provisionRuntimeUrl = resolveCloudJobRuntimeUrl({
|
|
822
|
+
result: null,
|
|
823
|
+
data: provisionData ?? {},
|
|
824
|
+
});
|
|
825
|
+
if (provisionRuntimeUrl) {
|
|
826
|
+
const readyFromProvisionUrl = await client
|
|
827
|
+
.getCloudCompatAgent(agentId)
|
|
828
|
+
.then((agentRes) => agentRes.success
|
|
829
|
+
? mergeCloudRuntimeUrl(agentRes.data, provisionRuntimeUrl)
|
|
830
|
+
: null)
|
|
831
|
+
.catch(() => null);
|
|
832
|
+
if (readyFromProvisionUrl) {
|
|
833
|
+
await finishAsCloud(readyFromProvisionUrl);
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
const ready = await fetchAgentWithUrl(Date.now() + AGENT_URL_WAIT_DEADLINE_MS);
|
|
838
|
+
if (ready) {
|
|
839
|
+
await finishAsCloud(ready);
|
|
840
|
+
}
|
|
841
|
+
else {
|
|
842
|
+
setError(t("runtimegate.agentNotReady", {
|
|
843
|
+
defaultValue: "Agent created but isn't ready yet (no connectable URL). Try again in a moment.",
|
|
844
|
+
}));
|
|
845
|
+
setCloudStage("retry");
|
|
846
|
+
}
|
|
847
|
+
return;
|
|
848
|
+
}
|
|
849
|
+
let consecutivePollFailures = 0;
|
|
850
|
+
const stopPollingWithError = (message) => {
|
|
851
|
+
if (pollTimerRef.current)
|
|
852
|
+
clearInterval(pollTimerRef.current);
|
|
853
|
+
pollTimerRef.current = null;
|
|
854
|
+
setError(message);
|
|
855
|
+
setCloudStage("retry");
|
|
856
|
+
};
|
|
857
|
+
const provisionJobDeadlineMs = Date.now() +
|
|
858
|
+
Math.max(PROVISION_JOB_WAIT_DEADLINE_MS, provisionExpectedDurationMs);
|
|
859
|
+
const pollProvisionJob = async () => {
|
|
860
|
+
if (Date.now() >= provisionJobDeadlineMs) {
|
|
861
|
+
stopPollingWithError(t("runtimegate.provisioningStillRunning", {
|
|
862
|
+
defaultValue: "Cloud provisioning is still running after several minutes. Retry to resume status checks.",
|
|
863
|
+
}));
|
|
864
|
+
return;
|
|
865
|
+
}
|
|
866
|
+
let jobRes;
|
|
867
|
+
try {
|
|
868
|
+
jobRes = await client.getCloudCompatJobStatus(jobId);
|
|
869
|
+
}
|
|
870
|
+
catch (err) {
|
|
871
|
+
consecutivePollFailures += 1;
|
|
872
|
+
if (consecutivePollFailures >= 3) {
|
|
873
|
+
stopPollingWithError(err instanceof Error
|
|
874
|
+
? err.message
|
|
875
|
+
: t("runtimegate.provisioningStatusFailed", {
|
|
876
|
+
defaultValue: "Provisioning status check failed",
|
|
877
|
+
}));
|
|
878
|
+
}
|
|
879
|
+
return;
|
|
880
|
+
}
|
|
881
|
+
if (!jobRes.success) {
|
|
882
|
+
consecutivePollFailures += 1;
|
|
883
|
+
if (consecutivePollFailures >= 3) {
|
|
884
|
+
stopPollingWithError(t("runtimegate.provisioningStatusUnavailable", {
|
|
885
|
+
defaultValue: "Provisioning status unavailable",
|
|
886
|
+
}));
|
|
887
|
+
}
|
|
888
|
+
return;
|
|
889
|
+
}
|
|
890
|
+
consecutivePollFailures = 0;
|
|
891
|
+
const job = jobRes.data;
|
|
892
|
+
if (job.status === "completed") {
|
|
893
|
+
if (pollTimerRef.current)
|
|
894
|
+
clearInterval(pollTimerRef.current);
|
|
895
|
+
pollTimerRef.current = null;
|
|
896
|
+
setProvisionStatus(t("runtimegate.connecting", { defaultValue: "Connecting..." }));
|
|
897
|
+
const jobRuntimeUrl = resolveCloudJobRuntimeUrl(job);
|
|
898
|
+
const readyFromJob = jobRuntimeUrl && !isCloudControlPlaneUrl(jobRuntimeUrl)
|
|
899
|
+
? await client
|
|
900
|
+
.getCloudCompatAgent(agentId)
|
|
901
|
+
.then((agentRes) => agentRes.success
|
|
902
|
+
? mergeCloudRuntimeUrl(agentRes.data, jobRuntimeUrl)
|
|
903
|
+
: null)
|
|
904
|
+
.catch(() => null)
|
|
905
|
+
: null;
|
|
906
|
+
const ready = readyFromJob ??
|
|
907
|
+
(await fetchAgentWithUrl(Date.now() + AGENT_URL_WAIT_DEADLINE_MS));
|
|
908
|
+
if (ready) {
|
|
909
|
+
await finishAsCloud(ready);
|
|
910
|
+
}
|
|
911
|
+
else {
|
|
912
|
+
setError(t("runtimegate.agentNotReady", {
|
|
913
|
+
defaultValue: "Agent created but isn't ready yet (no connectable URL). Try again in a moment.",
|
|
914
|
+
}));
|
|
915
|
+
setCloudStage("retry");
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
else if (job.status === "failed") {
|
|
919
|
+
if (pollTimerRef.current)
|
|
920
|
+
clearInterval(pollTimerRef.current);
|
|
921
|
+
pollTimerRef.current = null;
|
|
922
|
+
setError(job.error ?? "Provisioning failed");
|
|
923
|
+
setCloudStage("retry");
|
|
924
|
+
}
|
|
925
|
+
else {
|
|
926
|
+
setProvisionStatus(`Provisioning (${job.status})...`);
|
|
927
|
+
}
|
|
928
|
+
};
|
|
929
|
+
void pollProvisionJob();
|
|
930
|
+
pollTimerRef.current = setInterval(() => {
|
|
931
|
+
void pollProvisionJob();
|
|
932
|
+
}, pollingIntervalMs ?? 2500);
|
|
933
|
+
}, [finishAsCloud, t]);
|
|
934
|
+
// ── Cloud: auto-pick an existing agent, or auto-create one ────────
|
|
935
|
+
// During onboarding the cloud path is intentionally automatic: pick a
|
|
936
|
+
// usable existing agent, start it if needed, or create "My Agent".
|
|
937
|
+
// The user should not have to select an agent or click a second Connect.
|
|
938
|
+
React.useEffect(() => {
|
|
939
|
+
if (subView !== "cloud" || cloudStage !== "loading")
|
|
940
|
+
return;
|
|
941
|
+
let cancelled = false;
|
|
942
|
+
(async () => {
|
|
943
|
+
const res = await client.getCloudCompatAgents();
|
|
944
|
+
if (cancelled)
|
|
945
|
+
return;
|
|
946
|
+
if (!res.success) {
|
|
947
|
+
setError(res.error ||
|
|
948
|
+
t("runtimegate.failedLoadAgents", {
|
|
949
|
+
defaultValue: "Failed to load agents",
|
|
950
|
+
}));
|
|
951
|
+
setCloudStage("retry");
|
|
952
|
+
return;
|
|
953
|
+
}
|
|
954
|
+
const agentList = res.data;
|
|
955
|
+
if (agentList.length > 0) {
|
|
956
|
+
const primary = agentList.find((agent) => agent.status === "running" && resolveCloudAgentApiBase(agent)) ??
|
|
957
|
+
agentList.find((agent) => agent.status !== "failed" && agent.status !== "suspended") ??
|
|
958
|
+
agentList[0];
|
|
959
|
+
if (primary) {
|
|
960
|
+
if (primary.status === "failed" || primary.status === "suspended") {
|
|
961
|
+
setError(primary.error_message ||
|
|
962
|
+
t("runtimegate.cloudAgentFailed", {
|
|
963
|
+
defaultValue: "Cloud agent is not available. Retry after checking Eliza Cloud.",
|
|
964
|
+
}));
|
|
965
|
+
setCloudStage("retry");
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
const primaryApiBase = resolveCloudAgentApiBase(primary);
|
|
969
|
+
if (primary.status !== "running" || !primaryApiBase) {
|
|
970
|
+
await provisionAndConnect(primary.agent_id);
|
|
971
|
+
return;
|
|
972
|
+
}
|
|
973
|
+
const reachable = await probeCloudAgentReachable(primaryApiBase, CLOUD_AGENT_PROBE_TIMEOUT_MS);
|
|
974
|
+
if (cancelled)
|
|
975
|
+
return;
|
|
976
|
+
if (!reachable) {
|
|
977
|
+
await provisionAndConnect(primary.agent_id);
|
|
978
|
+
return;
|
|
979
|
+
}
|
|
980
|
+
await finishAsCloud(primary);
|
|
981
|
+
return;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
// No agents yet — auto-create "My Agent" and provision.
|
|
985
|
+
setError(null);
|
|
986
|
+
const createRes = await client.createCloudCompatAgent({
|
|
987
|
+
agentName: DEFAULT_AUTO_AGENT_NAME,
|
|
988
|
+
});
|
|
989
|
+
if (cancelled)
|
|
990
|
+
return;
|
|
991
|
+
if (!createRes.success || !createRes.data?.agentId) {
|
|
992
|
+
setError(createRes.data?.message ||
|
|
993
|
+
t("runtimegate.failedCreate", {
|
|
994
|
+
defaultValue: "Failed to create agent. Try again.",
|
|
995
|
+
}));
|
|
996
|
+
setCloudStage("retry");
|
|
997
|
+
return;
|
|
998
|
+
}
|
|
999
|
+
// MUST stay below the createCloudCompatAgent await — setting cloudStage
|
|
1000
|
+
// earlier fires this effect's cleanup (cloudStage is in deps), flips
|
|
1001
|
+
// cancelled=true, and the post-await guard then bails before
|
|
1002
|
+
// provisionAndConnect runs.
|
|
1003
|
+
setCloudStage("auto-creating");
|
|
1004
|
+
// Compat create returns a jobId because the cloud queues provisioning
|
|
1005
|
+
// automatically. Pass it through so we skip the redundant provision call
|
|
1006
|
+
// (which would 405 on a compat-namespace agent) and poll the job directly.
|
|
1007
|
+
try {
|
|
1008
|
+
await provisionAndConnect(createRes.data.agentId, createRes.data.jobId ?? undefined);
|
|
1009
|
+
}
|
|
1010
|
+
catch (err) {
|
|
1011
|
+
setError(err instanceof Error
|
|
1012
|
+
? err.message
|
|
1013
|
+
: t("runtimegate.unknownError", { defaultValue: "Unknown error" }));
|
|
1014
|
+
setCloudStage("retry");
|
|
1015
|
+
}
|
|
1016
|
+
})().catch((err) => {
|
|
1017
|
+
if (cancelled)
|
|
1018
|
+
return;
|
|
1019
|
+
setError(err instanceof Error
|
|
1020
|
+
? err.message
|
|
1021
|
+
: t("runtimegate.unknownError", { defaultValue: "Unknown error" }));
|
|
1022
|
+
setCloudStage("retry");
|
|
1023
|
+
});
|
|
1024
|
+
return () => {
|
|
1025
|
+
cancelled = true;
|
|
1026
|
+
};
|
|
1027
|
+
}, [subView, cloudStage, finishAsCloud, provisionAndConnect, t]);
|
|
1028
|
+
const handleLogin = React.useCallback(async () => {
|
|
1029
|
+
const win = preOpenWindow();
|
|
1030
|
+
setError(null);
|
|
1031
|
+
await handleCloudLogin(win);
|
|
1032
|
+
}, [handleCloudLogin]);
|
|
1033
|
+
const handleRefreshAgents = React.useCallback(() => {
|
|
1034
|
+
setError(null);
|
|
1035
|
+
setCloudStage("loading");
|
|
1036
|
+
}, []);
|
|
1037
|
+
// ── Render: ElizaOS local-only splash ────────────────────────────
|
|
1038
|
+
// ElizaOS never shows the picker tiles — the device IS the agent. Render
|
|
1039
|
+
// the same yellow "INITIALIZING AGENT…" bar that surrounds the rest of the
|
|
1040
|
+
// startup flow and let the probe-poll + auto-pick effect upstream call
|
|
1041
|
+
// `finishAsLocal()` once the on-device agent answers `/api/health`.
|
|
1042
|
+
// Settings ▸ Runtime opens this component with `?runtime=picker` to
|
|
1043
|
+
// bypass this branch and render the chooser. The vanilla Android APK
|
|
1044
|
+
// never enters this branch and falls through to the chooser below.
|
|
1045
|
+
if (elizaOSAutoLocal) {
|
|
1046
|
+
return (_jsx(ElizaOSLocalSplash, { message: t("runtimegate.startingLocalAgent", {
|
|
1047
|
+
defaultValue: "INITIALIZING AGENT...",
|
|
1048
|
+
}) }));
|
|
1049
|
+
}
|
|
1050
|
+
// ── Render: chooser ────────────────────────────────────────────────
|
|
1051
|
+
if (subView === "chooser") {
|
|
1052
|
+
const localOnly = runtimeChoiceKey === "local";
|
|
1053
|
+
const cloudAvailable = runtimeChoices.includes("cloud");
|
|
1054
|
+
const localAvailable = runtimeChoices.includes("local");
|
|
1055
|
+
const remoteAvailable = runtimeChoices.includes("remote");
|
|
1056
|
+
// Default fast-track: cloud when available (90% case),
|
|
1057
|
+
// local when this is a local-only build, remote as last resort.
|
|
1058
|
+
const handleGetStarted = () => {
|
|
1059
|
+
if (cloudAvailable) {
|
|
1060
|
+
setSubView("cloud");
|
|
1061
|
+
return;
|
|
1062
|
+
}
|
|
1063
|
+
if (localAvailable) {
|
|
1064
|
+
finishAsLocal();
|
|
1065
|
+
return;
|
|
1066
|
+
}
|
|
1067
|
+
if (remoteAvailable)
|
|
1068
|
+
setSubView("remote");
|
|
1069
|
+
};
|
|
1070
|
+
const showAdvancedDisclosure = !localOnly && (localAvailable || remoteAvailable) && cloudAvailable;
|
|
1071
|
+
return (_jsx(GateShell, { uiLanguage: uiLanguage, setUiLanguage: setUiLanguage, uiTheme: uiTheme, setUiTheme: setUiTheme, t: t, children: runtimeChoices.length === 0 ? (_jsxs(_Fragment, { children: [_jsx(GateHeader, { t: t }), _jsxs("div", { className: "mt-8 flex w-full items-center justify-center gap-3 border-2 border-[#f0b90b]/45 bg-black/70 px-5 py-5 text-[#ffe88a]", children: [_jsx(Spinner, { className: "h-4 w-4" }), _jsx("span", { style: { fontFamily: MONO_FONT }, className: "text-3xs uppercase tracking-[0.16em]", children: t("runtimegate.localProbing", {
|
|
1072
|
+
defaultValue: "Checking for on-device agent...",
|
|
1073
|
+
}) })] }), error && (_jsx("p", { style: { fontFamily: MONO_FONT }, className: "mt-3 text-3xs text-red-400", children: error }))] })) : (_jsx(WelcomeChooser, { onGetStarted: handleGetStarted, getStartedLabel: cloudAvailable
|
|
1074
|
+
? t("runtimegate.welcomeGetStarted", {
|
|
1075
|
+
defaultValue: "Get started",
|
|
1076
|
+
})
|
|
1077
|
+
: localAvailable
|
|
1078
|
+
? t("runtimegate.welcomeStartLocal", {
|
|
1079
|
+
defaultValue: "Start your local agent",
|
|
1080
|
+
})
|
|
1081
|
+
: t("runtimegate.welcomeConnectRemote", {
|
|
1082
|
+
defaultValue: "Connect to your agent",
|
|
1083
|
+
}), showAdvanced: showAdvancedDisclosure, advancedShowsLocal: !localOnly && localAvailable && cloudAvailable, advancedShowsRemote: remoteAvailable && cloudAvailable, onUseLocal: finishAsLocal, onConnectRemote: () => setSubView("remote"), t: t })) }));
|
|
1084
|
+
}
|
|
1085
|
+
// ── Render: cloud ──────────────────────────────────────────────────
|
|
1086
|
+
if (subView === "cloud") {
|
|
1087
|
+
return (_jsxs(GateShell, { uiLanguage: uiLanguage, setUiLanguage: setUiLanguage, uiTheme: uiTheme, setUiTheme: setUiTheme, t: t, children: [_jsx(SubviewHeader, { title: cloudStage === "login"
|
|
1088
|
+
? t("runtimegate.cloudHeaderLogin", {
|
|
1089
|
+
defaultValue: "Sign in to Eliza Cloud",
|
|
1090
|
+
})
|
|
1091
|
+
: cloudStage === "auto-creating" || cloudStage === "loading"
|
|
1092
|
+
? t("runtimegate.cloudHeaderProvisioning", {
|
|
1093
|
+
defaultValue: "Setting up your agent",
|
|
1094
|
+
})
|
|
1095
|
+
: t("runtimegate.cloudHeaderConnect", {
|
|
1096
|
+
defaultValue: "Connect to your cloud agent",
|
|
1097
|
+
}), subtitle: cloudStage === "login"
|
|
1098
|
+
? t("runtimegate.cloudHeaderLoginSubtitle", {
|
|
1099
|
+
defaultValue: "We'll handle the heavy lifting for you.",
|
|
1100
|
+
})
|
|
1101
|
+
: undefined }), cloudStage !== "connecting" && (_jsx(LocalEmbeddingsCheckbox, { checked: useLocalEmbeddings, onCheckedChange: setUseLocalEmbeddings })), cloudStage === "login" && (_jsxs("div", { className: "mt-4 flex w-full max-w-[28rem] flex-col gap-4 text-left", children: [_jsx("p", { className: "text-3xs uppercase tracking-[0.22em] text-[#ffe600]/80", style: { fontFamily: MONO_FONT }, children: t("runtimegate.cloudLoginEyebrow", {
|
|
1102
|
+
defaultValue: "Sign in to Eliza Cloud",
|
|
1103
|
+
}) }), _jsx(Button, { type: "button", variant: "default", className: "min-h-12 justify-center border-2 border-black bg-[#ffe600] px-6 py-4 text-sm font-black uppercase tracking-[0.16em] text-black shadow-[5px_5px_0_rgba(0,0,0,0.72)] transition-transform duration-150 hover:-translate-y-0.5 hover:bg-white active:translate-y-0", style: {
|
|
1104
|
+
borderRadius: 0,
|
|
1105
|
+
clipPath: "polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)",
|
|
1106
|
+
fontFamily: MONO_FONT,
|
|
1107
|
+
}, onClick: handleLogin, disabled: elizaCloudLoginBusy, children: elizaCloudLoginBusy ? (_jsxs("span", { className: "flex items-center gap-2", children: [_jsx(Spinner, { className: "h-4 w-4" }), t("runtimegate.waitingForAuth", {
|
|
1108
|
+
defaultValue: "Waiting for auth...",
|
|
1109
|
+
})] })) : (t("runtimegate.signIn", {
|
|
1110
|
+
defaultValue: "Sign in with Eliza Cloud",
|
|
1111
|
+
})) }), (error || elizaCloudLoginError) && (_jsx("p", { className: "text-3xs uppercase tracking-wide text-red-400", style: { fontFamily: MONO_FONT }, children: error || elizaCloudLoginError })), _jsx(BackButton, { t: t, onClick: () => setSubView("chooser") })] })), (cloudStage === "loading" ||
|
|
1112
|
+
cloudStage === "auto-creating" ||
|
|
1113
|
+
cloudStage === "creating" ||
|
|
1114
|
+
cloudStage === "provisioning" ||
|
|
1115
|
+
cloudStage === "connecting") && (_jsxs("div", { className: "mt-6 flex w-full max-w-[28rem] flex-col items-center gap-3", children: [_jsx(Spinner, { className: "h-6 w-6 text-[#ffe600]/80" }), _jsxs("p", { className: "text-3xs uppercase tracking-[0.2em] text-white/75", style: { fontFamily: MONO_FONT }, children: [cloudStage === "loading" &&
|
|
1116
|
+
t("runtimegate.loadingAgents", {
|
|
1117
|
+
defaultValue: "Loading your agent...",
|
|
1118
|
+
}), cloudStage === "auto-creating" &&
|
|
1119
|
+
t("runtimegate.autoCreating", {
|
|
1120
|
+
defaultValue: "Setting up your first agent...",
|
|
1121
|
+
}), cloudStage === "creating" &&
|
|
1122
|
+
t("runtimegate.creating", {
|
|
1123
|
+
defaultValue: "Creating agent...",
|
|
1124
|
+
}), cloudStage === "provisioning" &&
|
|
1125
|
+
(provisionStatus ||
|
|
1126
|
+
t("runtimegate.provisioning", {
|
|
1127
|
+
defaultValue: "Provisioning...",
|
|
1128
|
+
})), cloudStage === "connecting" &&
|
|
1129
|
+
t("runtimegate.connecting", {
|
|
1130
|
+
defaultValue: "Connecting...",
|
|
1131
|
+
})] })] })), cloudStage === "retry" && (_jsxs("div", { className: "mt-4 flex w-full max-w-[34rem] flex-col gap-3 text-left", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("p", { className: "text-3xs uppercase tracking-[0.2em] text-[#ffe600]/80", style: { fontFamily: MONO_FONT }, children: t("runtimegate.cloudNeedsAttention", {
|
|
1132
|
+
defaultValue: "Cloud connection needs attention",
|
|
1133
|
+
}) }), _jsx("button", { type: "button", onClick: handleRefreshAgents, className: "text-3xs uppercase tracking-[0.2em] text-white/55 underline hover:text-white", style: { fontFamily: MONO_FONT }, children: t("runtimegate.retry", { defaultValue: "Retry" }) })] }), error && (_jsx("p", { className: "text-3xs uppercase tracking-wide text-red-400", style: { fontFamily: MONO_FONT }, children: error })), _jsx("p", { className: "text-3xs uppercase tracking-wide text-white/50", style: { fontFamily: MONO_FONT }, children: t("runtimegate.cloudAutoRetryHint", {
|
|
1134
|
+
defaultValue: "Retry will check your account, start an agent if needed, and connect automatically.",
|
|
1135
|
+
}) }), _jsx(BackButton, { t: t, onClick: () => setSubView("chooser") })] }))] }));
|
|
1136
|
+
}
|
|
1137
|
+
// ── Render: local setup wizard ─────────────────────────────────────
|
|
1138
|
+
if (subView === "local") {
|
|
1139
|
+
const selectedProvider = localProviderId
|
|
1140
|
+
? localProviderCatalog.find((p) => p.id === localProviderId)
|
|
1141
|
+
: null;
|
|
1142
|
+
return (_jsxs(GateShell, { uiLanguage: uiLanguage, setUiLanguage: setUiLanguage, uiTheme: uiTheme, setUiTheme: setUiTheme, t: t, children: [_jsx(GateHeader, { t: t }), _jsxs("div", { className: "mt-4 flex w-full max-w-[34rem] flex-col gap-3 text-left", children: [_jsx("p", { style: { fontFamily: MONO_FONT }, className: "text-3xs uppercase text-white/60", children: localStage === "provider"
|
|
1143
|
+
? t("runtimegate.localPickEyebrow", {
|
|
1144
|
+
defaultValue: "Pick a model provider",
|
|
1145
|
+
})
|
|
1146
|
+
: t("runtimegate.localConfigEyebrow", {
|
|
1147
|
+
defaultValue: "Add your API key",
|
|
1148
|
+
}) }), localStage === "provider" && (_jsxs("div", { className: "flex flex-col gap-2", children: [localProviderCatalog.length === 0 ? (_jsx(Card, { className: "border-2 border-[#f0b90b]/40 bg-black/58 text-white shadow-[4px_4px_0_rgba(0,0,0,0.52)]", style: { borderRadius: 0 }, children: _jsx(CardContent, { className: "px-3 py-3", children: _jsx("p", { className: "text-sm font-semibold text-white/90", children: t("runtimegate.localProviderCatalogEmpty", {
|
|
1149
|
+
defaultValue: "No local providers are available.",
|
|
1150
|
+
}) }) }) })) : (localProviderCatalog.map((provider) => (_jsx(Card, { className: "border-2 border-[#f0b90b]/40 bg-black/58 text-white shadow-[4px_4px_0_rgba(0,0,0,0.52)]", style: { borderRadius: 0 }, children: _jsxs(CardContent, { className: "flex items-center justify-between gap-3 px-3 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "truncate text-sm font-semibold text-white/95", children: provider.name }), _jsx("p", { className: "truncate text-xs-tight text-white/52", children: provider.description })] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", className: "shrink-0 rounded-none border-2 border-black bg-[#ffe600] text-xs font-black uppercase tracking-[0.12em] text-black hover:bg-white", onClick: () => handleLocalSelectProvider(provider.id), children: t("common.choose", { defaultValue: "Choose" }) })] }) }, provider.id)))), _jsx(BackButton, { t: t, onClick: () => setSubView("chooser") })] })), localStage === "config" && selectedProvider && (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(Card, { className: "border-2 border-[#f0b90b]/40 bg-black/58 text-white shadow-[4px_4px_0_rgba(0,0,0,0.52)]", style: { borderRadius: 0 }, children: _jsxs(CardContent, { className: "flex flex-col gap-1 px-3 py-3", children: [_jsx("p", { className: "text-sm font-semibold text-white/95", children: selectedProvider.name }), _jsx("p", { className: "text-xs-tight text-white/52", children: selectedProvider.description })] }) }), _jsx(Input, { type: "password", autoComplete: "off", placeholder: selectedProvider.keyPrefix
|
|
1151
|
+
? t("runtimegate.localApiKeyPlaceholderPrefixed", {
|
|
1152
|
+
defaultValue: "{{prefix}}…",
|
|
1153
|
+
prefix: selectedProvider.keyPrefix,
|
|
1154
|
+
})
|
|
1155
|
+
: t("runtimegate.localApiKeyPlaceholder", {
|
|
1156
|
+
defaultValue: "API key",
|
|
1157
|
+
}), value: localApiKey, onChange: (e) => setLocalApiKey(e.target.value), disabled: localSaving, className: "!h-11 !rounded-none !border-2 !border-black !bg-white !px-3 !text-sm !text-black" }), localError ? (_jsx("p", { className: "text-xs text-danger", children: localError })) : null, _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { type: "button", size: "sm", className: "rounded-none border-2 border-black bg-[#ffe600] text-xs font-black uppercase tracking-[0.12em] text-black hover:bg-white", onClick: () => void handleLocalSave(), disabled: localSaving || !localApiKey.trim(), children: localSaving ? (_jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(Spinner, { className: "h-3 w-3" }), t("common.saving", { defaultValue: "Saving…" })] })) : (t("runtimegate.localSaveContinue", {
|
|
1158
|
+
defaultValue: "Continue to chat",
|
|
1159
|
+
})) }), _jsx(BackButton, { t: t, onClick: handleLocalConfigBack, disabled: localSaving })] })] }))] })] }));
|
|
1160
|
+
}
|
|
1161
|
+
// ── Render: remote ─────────────────────────────────────────────────
|
|
1162
|
+
return (_jsxs(GateShell, { uiLanguage: uiLanguage, setUiLanguage: setUiLanguage, uiTheme: uiTheme, setUiTheme: setUiTheme, t: t, children: [_jsx(SubviewHeader, { title: t("runtimegate.remoteHeader", {
|
|
1163
|
+
defaultValue: "Connect to your agent",
|
|
1164
|
+
}), subtitle: t("runtimegate.remoteHeaderSubtitle", {
|
|
1165
|
+
defaultValue: "Point at an agent URL you already have running.",
|
|
1166
|
+
}) }), _jsxs("div", { className: "mt-4 flex w-full max-w-[28rem] flex-col gap-3 text-left", children: [_jsx("p", { className: "text-3xs uppercase tracking-[0.22em] text-[#ffe600]/80", style: { fontFamily: MONO_FONT }, children: t("runtimegate.remoteConnectEyebrow", {
|
|
1167
|
+
defaultValue: "Connect to a remote agent",
|
|
1168
|
+
}) }), discoveredGateways.length > 0 && (_jsx("div", { className: "flex flex-col gap-2", children: discoveredGateways.map((gateway) => (_jsx(Card, { className: "border-2 border-[#f0b90b]/45 bg-black/65 text-white shadow-[4px_4px_0_rgba(0,0,0,0.62)]", style: { borderRadius: 0 }, children: _jsxs(CardContent, { className: "flex items-center justify-between gap-3 px-3 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-3xs uppercase tracking-[0.2em] text-[#ffe600]/80", style: { fontFamily: MONO_FONT }, children: gateway.isLocal
|
|
1169
|
+
? t("startupshell.LocalNetworkAgent", {
|
|
1170
|
+
defaultValue: "LAN agent",
|
|
1171
|
+
})
|
|
1172
|
+
: t("startupshell.NetworkAgent", {
|
|
1173
|
+
defaultValue: "Network agent",
|
|
1174
|
+
}) }), _jsx("p", { className: "truncate text-sm font-bold uppercase text-white/95", style: { fontFamily: MONO_FONT }, children: gateway.name }), _jsx("p", { className: "truncate text-xs text-white/55", style: { fontFamily: MONO_FONT }, children: gateway.host })] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", className: "shrink-0 rounded-none border-2 border-black bg-[#ffe600] text-xs font-black uppercase tracking-[0.14em] text-black shadow-[3px_3px_0_rgba(0,0,0,0.65)] hover:bg-white", style: { fontFamily: MONO_FONT }, onClick: () => finishAsRemoteGateway(gateway), children: t("common.connect", { defaultValue: "Connect" }) })] }) }, gateway.stableId))) })), _jsx(Input, { placeholder: t("runtimegate.remoteUrlPlaceholder", {
|
|
1175
|
+
defaultValue: "https://your-agent.example.com",
|
|
1176
|
+
}), value: remoteUrl, onChange: (e) => setRemoteUrl(e.target.value), onInput: (e) => setRemoteUrl(e.target.value), onBlur: (e) => setRemoteUrl(e.target.value), className: "h-11 rounded-none border-2 border-[#f0b90b]/45 bg-black/55 text-sm text-white placeholder:text-white/40 focus:border-[#ffe600]", style: { fontFamily: MONO_FONT } }), _jsx(Input, { placeholder: t("runtimegate.remoteTokenPlaceholder", {
|
|
1177
|
+
defaultValue: "Access token (optional)",
|
|
1178
|
+
}), type: "password", value: remoteToken, onChange: (e) => setRemoteToken(e.target.value), onInput: (e) => setRemoteToken(e.target.value), onBlur: (e) => setRemoteToken(e.target.value), className: "h-11 rounded-none border-2 border-[#f0b90b]/45 bg-black/55 text-sm text-white placeholder:text-white/40 focus:border-[#ffe600]", style: { fontFamily: MONO_FONT } }), _jsx("p", { style: { fontFamily: MONO_FONT }, className: "text-3xs leading-relaxed text-white/52", children: t("runtimegate.remoteTokenHelp", {
|
|
1179
|
+
defaultValue: "Leave blank unless you already have a permanent access token. Without one, you'll pair with a one-time code on the next screen.",
|
|
1180
|
+
}) }), error && (_jsx("p", { className: "text-3xs uppercase tracking-wide text-red-400", style: { fontFamily: MONO_FONT }, children: error })), _jsx(Button, { type: "button", variant: "default", className: "min-h-12 justify-center border-2 border-black bg-[#ffe600] px-6 py-4 text-sm font-black uppercase tracking-[0.16em] text-black shadow-[5px_5px_0_rgba(0,0,0,0.72)] transition-transform duration-150 hover:-translate-y-0.5 hover:bg-white active:translate-y-0 disabled:opacity-50 disabled:cursor-not-allowed", style: {
|
|
1181
|
+
borderRadius: 0,
|
|
1182
|
+
clipPath: "polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)",
|
|
1183
|
+
fontFamily: MONO_FONT,
|
|
1184
|
+
}, onClick: finishAsRemote, disabled: !remoteUrl.trim(), children: t("common.connect", { defaultValue: "Connect" }) }), _jsx(BackButton, { t: t, onClick: () => setSubView("chooser") })] })] }));
|
|
1185
|
+
}
|
|
1186
|
+
function GateShell({ uiLanguage, setUiLanguage, uiTheme, setUiTheme, t, children, }) {
|
|
1187
|
+
const lightMode = uiTheme === "light";
|
|
1188
|
+
return (_jsxs("div", { "data-testid": "onboarding-ui-overlay", className: `relative h-full min-h-0 w-full overflow-hidden text-white overscroll-none ${lightMode ? "bg-[#1a1108]" : "bg-[#0a0805]"}`, children: [_jsxs("div", { "aria-hidden": "true", className: "pointer-events-none fixed inset-0 overflow-hidden", children: [_jsx("img", { src: resolveAppAssetUrl("splash-bg.png"), alt: "", className: "absolute inset-0 h-full w-full object-contain object-center" }), _jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_center,transparent_30%,rgba(0,0,0,0.55)_100%)]" })] }), _jsxs("div", { className: "flex items-center gap-2", style: {
|
|
1189
|
+
position: "absolute",
|
|
1190
|
+
top: "calc(var(--safe-area-top, 0px) + 0.75rem)",
|
|
1191
|
+
right: "calc(var(--safe-area-right, 0px) + 1rem)",
|
|
1192
|
+
zIndex: 50,
|
|
1193
|
+
}, children: [_jsx(LanguageDropdown, { uiLanguage: uiLanguage, setUiLanguage: setUiLanguage, t: t, variant: "companion", triggerClassName: "!h-9 !min-h-9 !min-w-0 !rounded-none !border-2 !border-black !bg-[#fff0a3] !px-2.5 !text-xs !text-black !shadow-[3px_3px_0_rgba(0,0,0,0.72)] leading-none" }), _jsx(ThemeToggle, { uiTheme: uiTheme, setUiTheme: setUiTheme, t: t, variant: "companion", className: "!h-9 !w-9 !min-h-9 !min-w-9 !rounded-none !border-2 !border-black !bg-[#fff0a3] !text-black !shadow-[3px_3px_0_rgba(0,0,0,0.72)]" })] }), _jsx("div", { className: "relative z-10 flex h-full min-h-0 items-center justify-center px-3 pb-[calc(max(0.75rem,var(--safe-area-bottom,0px))_+_var(--keyboard-height,0px))] pt-[calc(var(--safe-area-top,0px)_+_3.75rem)] sm:px-6 md:px-8", children: _jsx("div", { className: "flex max-h-full min-h-0 w-full max-w-[64rem] flex-col items-center gap-3 overflow-y-auto border-2 border-black px-3 py-4 shadow-[9px_9px_0_rgba(0,0,0,0.62)] backdrop-blur-md sm:gap-4 sm:px-6 sm:py-7 md:px-8 md:py-8", style: {
|
|
1194
|
+
borderRadius: 0,
|
|
1195
|
+
clipPath: "polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)",
|
|
1196
|
+
// Dark zine panel for both modes — white text reads consistently
|
|
1197
|
+
// against either the gold-on-black or gold-on-cream collage. The
|
|
1198
|
+
// dark theme image is busy (lots of gold accents) so the panel is
|
|
1199
|
+
// slightly more opaque to keep content focus.
|
|
1200
|
+
background: lightMode
|
|
1201
|
+
? "rgba(20,16,10,0.78)"
|
|
1202
|
+
: "rgba(9,10,14,0.84)",
|
|
1203
|
+
}, children: children }) })] }));
|
|
1204
|
+
}
|
|
1205
|
+
function GateHeader({ t, }) {
|
|
1206
|
+
return (_jsxs("div", { className: "text-center", children: [_jsx("h1", { style: { fontFamily: MONO_FONT }, className: "text-xl font-light text-white/95 sm:text-2xl", children: t("runtimegate.title", { defaultValue: "Choose your setup" }) }), _jsx("p", { style: { fontFamily: MONO_FONT }, className: "mt-2 text-3xs uppercase tracking-[0.16em] text-white/60 sm:tracking-[0.2em]", children: t("runtimegate.subtitle", {
|
|
1207
|
+
defaultValue: "Where should your agent run?",
|
|
1208
|
+
}) })] }));
|
|
1209
|
+
}
|
|
1210
|
+
/**
|
|
1211
|
+
* Cleaner header for the cloud + remote subviews. Replaces the legacy
|
|
1212
|
+
* `GateHeader` ("Choose your setup / Where should your agent run?") which
|
|
1213
|
+
* was misleading once the user was already past the chooser.
|
|
1214
|
+
*/
|
|
1215
|
+
function SubviewHeader({ title, subtitle }) {
|
|
1216
|
+
return (_jsxs("div", { className: "flex w-full max-w-xl flex-col items-center gap-2 text-center", children: [_jsx("h1", { style: {
|
|
1217
|
+
fontFamily: MONO_FONT,
|
|
1218
|
+
textShadow: "2px 2px 0 rgba(0,0,0,0.85)",
|
|
1219
|
+
}, className: "text-2xl font-light uppercase tracking-tight text-white sm:text-3xl", children: title }), subtitle && (_jsx("p", { className: "max-w-md text-sm leading-relaxed text-white/80", style: {
|
|
1220
|
+
fontFamily: MONO_FONT,
|
|
1221
|
+
textShadow: "1px 1px 0 rgba(0,0,0,0.7)",
|
|
1222
|
+
}, children: subtitle }))] }));
|
|
1223
|
+
}
|
|
1224
|
+
/**
|
|
1225
|
+
* One primary action ("Get started") for the 90% case, with power-user
|
|
1226
|
+
* options (local agent / connect remote) progressively disclosed under a
|
|
1227
|
+
* collapsed "I want to run it myself" link. Replaces the prior 3-equal-tiles
|
|
1228
|
+
* + select-then-confirm layout, which forced every fresh user to make a
|
|
1229
|
+
* mechanics-level choice before they knew what the product was.
|
|
1230
|
+
*/
|
|
1231
|
+
function WelcomeChooser({ onGetStarted, getStartedLabel, showAdvanced, advancedShowsLocal, advancedShowsRemote, onUseLocal, onConnectRemote, t, }) {
|
|
1232
|
+
const [advancedOpen, setAdvancedOpen] = React.useState(false);
|
|
1233
|
+
return (_jsxs("div", { className: "flex w-full flex-col items-center gap-6 text-center sm:gap-7", children: [_jsxs("div", { className: "flex w-full max-w-xl flex-col items-center gap-3", children: [_jsx("p", { style: { fontFamily: MONO_FONT }, className: "text-3xs uppercase tracking-[0.22em] text-[#ffe600]/80", children: t("runtimegate.welcomeEyebrow", {
|
|
1234
|
+
defaultValue: "elizaOS — immersion agent runtime",
|
|
1235
|
+
}) }), _jsx("h1", { style: {
|
|
1236
|
+
fontFamily: MONO_FONT,
|
|
1237
|
+
textShadow: "2px 2px 0 rgba(0,0,0,0.85)",
|
|
1238
|
+
}, className: "text-3xl font-light uppercase tracking-tight text-white sm:text-4xl md:text-5xl", children: t("runtimegate.welcomeTitle", { defaultValue: "Welcome to Milady" }) }), _jsx("p", { className: "max-w-md text-sm leading-relaxed text-white/85 sm:text-base", style: {
|
|
1239
|
+
fontFamily: MONO_FONT,
|
|
1240
|
+
textShadow: "1px 1px 0 rgba(0,0,0,0.75)",
|
|
1241
|
+
}, children: t("runtimegate.welcomeSubtitle", {
|
|
1242
|
+
defaultValue: "Your personal AI. Ready in seconds, hosted by us.",
|
|
1243
|
+
}) })] }), _jsx(Button, { type: "button", variant: "default", className: "min-h-14 w-full max-w-sm border-2 border-black bg-[#ffe600] px-10 py-4 text-base font-black uppercase tracking-[0.18em] text-black shadow-[6px_6px_0_rgba(0,0,0,0.72)] transition-transform duration-150 hover:-translate-y-0.5 hover:bg-white active:translate-y-0", style: {
|
|
1244
|
+
borderRadius: 0,
|
|
1245
|
+
clipPath: "polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)",
|
|
1246
|
+
fontFamily: MONO_FONT,
|
|
1247
|
+
}, onClick: onGetStarted, children: getStartedLabel }), showAdvanced && (_jsxs("div", { className: "flex w-full max-w-2xl flex-col items-center gap-3", children: [_jsxs("button", { type: "button", onClick: () => setAdvancedOpen((open) => !open), "aria-expanded": advancedOpen, className: "inline-flex items-center gap-1.5 text-3xs uppercase tracking-[0.2em] text-[#ffe600]/75 transition-colors hover:text-[#ffe600]", style: { fontFamily: MONO_FONT }, children: [t("runtimegate.welcomeAdvancedToggle", {
|
|
1248
|
+
defaultValue: "I want to run it myself",
|
|
1249
|
+
}), _jsx("span", { "aria-hidden": "true", children: advancedOpen ? "▴" : "▾" })] }), advancedOpen && (_jsxs("div", { className: `grid w-full gap-3 text-left ${advancedShowsLocal && advancedShowsRemote
|
|
1250
|
+
? "sm:grid-cols-2"
|
|
1251
|
+
: ""}`, children: [advancedShowsLocal && (_jsx(PowerUserCard, { eyebrow: t("runtimegate.welcomeLocalEyebrow", {
|
|
1252
|
+
defaultValue: "Power user",
|
|
1253
|
+
}), title: t("runtimegate.welcomeLocalTitle", {
|
|
1254
|
+
defaultValue: "Run on this machine",
|
|
1255
|
+
}), description: t("runtimegate.welcomeLocalDesc", {
|
|
1256
|
+
defaultValue: "Bring your own AI provider key. The agent runs on your hardware. Privacy-first.",
|
|
1257
|
+
}), ctaLabel: t("runtimegate.welcomeLocalCta", {
|
|
1258
|
+
defaultValue: "Use local",
|
|
1259
|
+
}), onClick: onUseLocal })), advancedShowsRemote && (_jsx(PowerUserCard, { eyebrow: t("runtimegate.welcomeRemoteEyebrow", {
|
|
1260
|
+
defaultValue: "Already running an agent?",
|
|
1261
|
+
}), title: t("runtimegate.welcomeRemoteTitle", {
|
|
1262
|
+
defaultValue: "Connect to your own server",
|
|
1263
|
+
}), description: t("runtimegate.welcomeRemoteDesc", {
|
|
1264
|
+
defaultValue: "Point at an agent URL you already have running.",
|
|
1265
|
+
}), ctaLabel: t("runtimegate.welcomeRemoteCta", {
|
|
1266
|
+
defaultValue: "Connect remote",
|
|
1267
|
+
}), onClick: onConnectRemote }))] }))] }))] }));
|
|
1268
|
+
}
|
|
1269
|
+
function PowerUserCard({ eyebrow, title, description, ctaLabel, onClick, }) {
|
|
1270
|
+
return (_jsxs("button", { type: "button", onClick: onClick, className: "group flex w-full flex-col items-start gap-2 border-2 border-[#f0b90b]/45 bg-black/65 p-4 text-left shadow-[5px_5px_0_rgba(0,0,0,0.72)] transition-[border-color,background-color,transform] duration-150 hover:-translate-y-0.5 hover:border-[#ffe600] hover:bg-black/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#ffe600] focus-visible:ring-offset-2 focus-visible:ring-offset-black", style: {
|
|
1271
|
+
borderRadius: 0,
|
|
1272
|
+
clipPath: "polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)",
|
|
1273
|
+
}, children: [_jsx("span", { className: "text-3xs uppercase tracking-[0.2em] text-[#ffe600]/85", style: { fontFamily: MONO_FONT }, children: eyebrow }), _jsx("span", { className: "text-base font-bold uppercase tracking-wide text-white/95", style: { fontFamily: MONO_FONT }, children: title }), _jsx("span", { className: "text-xs leading-relaxed text-white/70", style: { fontFamily: MONO_FONT }, children: description }), _jsxs("span", { className: "mt-2 inline-flex items-center gap-1 text-3xs uppercase tracking-[0.22em] text-[#ffe600] group-hover:text-white", style: { fontFamily: MONO_FONT }, children: [ctaLabel, " \u2192"] })] }));
|
|
1274
|
+
}
|
|
1275
|
+
/**
|
|
1276
|
+
* ElizaOS-only "starting your local agent" splash. Matches the yellow
|
|
1277
|
+
* segmented-bar style of `StartupShell`'s loading screens so the transition
|
|
1278
|
+
* from auth/agent handshake → onboarding → chat reads as one continuous
|
|
1279
|
+
* boot. The auto-pick effect in `RuntimeGate` calls `finishAsLocal()` as
|
|
1280
|
+
* soon as the probe succeeds, at which point this component unmounts.
|
|
1281
|
+
*/
|
|
1282
|
+
function ElizaOSLocalSplash({ message }) {
|
|
1283
|
+
return (_jsxs("div", { "data-testid": "runtime-gate-elizaos-local-splash", className: "relative flex h-full w-full items-center justify-center overflow-hidden bg-[#ffe600] text-black", children: [_jsx("img", { src: resolveAppAssetUrl("splash-bg.png"), alt: "", "aria-hidden": "true", className: "pointer-events-none absolute inset-0 h-full w-full object-cover" }), _jsx("div", { className: "relative z-10 flex w-full flex-col items-center gap-5 px-6 text-center", style: { maxWidth: 360 }, children: _jsxs("div", { className: "w-full mt-2", children: [_jsx("div", { className: "h-5 w-full overflow-hidden border-2 border-black/70 bg-black/5", children: _jsx("div", { className: "h-full w-full bg-black/70 transition-all duration-700 ease-out", style: {
|
|
1284
|
+
backgroundImage: "repeating-linear-gradient(90deg, transparent, transparent 6px, rgba(255,230,0,0.5) 6px, rgba(255,230,0,0.5) 8px)",
|
|
1285
|
+
} }) }), _jsx("p", { style: { fontFamily: MONO_FONT }, className: "mt-2 animate-pulse text-3xs uppercase text-black/70", children: message })] }) })] }));
|
|
1286
|
+
}
|
|
1287
|
+
function BackButton({ t, onClick, disabled = false, }) {
|
|
1288
|
+
return (_jsxs("button", { type: "button", onClick: onClick, disabled: disabled, style: { fontFamily: MONO_FONT }, className: "mt-2 self-center text-3xs uppercase tracking-[0.2em] text-white/60 underline hover:text-[#ffe600] disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:text-white/60", children: ["\u2190 ", t("common.back", { defaultValue: "Back" })] }));
|
|
1289
|
+
}
|
|
1290
|
+
const LOCAL_EMBEDDINGS_TOOLTIP = "Embeddings are vector representations of your messages, used for memory and search. Keeping them local means your message text isn't sent to the cloud just to compute vectors. Chat still goes through the cloud.";
|
|
1291
|
+
function LocalEmbeddingsCheckbox({ checked, onCheckedChange, }) {
|
|
1292
|
+
return (_jsxs("div", { className: "flex items-start gap-2.5 py-1", children: [_jsx(Checkbox, { id: "runtime-gate-local-embeddings", checked: checked, onCheckedChange: (value) => onCheckedChange(value === true), className: "mt-0.5 shrink-0 border-white/30 bg-white/10 data-[state=checked]:border-[#f0b90b]/60 data-[state=checked]:bg-[#f0b90b]/20", "aria-label": "Use local embeddings" }), _jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [_jsx("label", { htmlFor: "runtime-gate-local-embeddings", className: "cursor-pointer text-xs-tight text-white/80 select-none", children: "Use local embeddings" }), _jsx(TooltipHint, { content: LOCAL_EMBEDDINGS_TOOLTIP, side: "top", children: _jsx("span", { className: "inline-flex h-4 w-4 shrink-0 cursor-help items-center justify-center rounded-full border border-white/20 text-2xs text-white/50 hover:text-white/70", "aria-hidden": "true", children: "?" }) })] })] }));
|
|
1293
|
+
}
|