@elizaos/ui 2.0.0-alpha.192 → 2.0.0-alpha.196
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/apps/app-companion/src/components/companion/companion-app.js +2 -2
- package/apps/app-lifeops/src/action.d.ts.map +1 -1
- package/apps/app-lifeops/src/action.js +21 -2
- package/apps/app-lifeops/src/actions/app-blocker.d.ts +3 -1
- package/apps/app-lifeops/src/actions/app-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/app-blocker.js +2 -0
- package/apps/app-lifeops/src/actions/calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/calendar.js +140 -7
- package/apps/app-lifeops/src/actions/computer-use.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/computer-use.js +248 -17
- package/apps/app-lifeops/src/actions/cross-channel-send.d.ts +3 -1
- package/apps/app-lifeops/src/actions/cross-channel-send.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/cross-channel-send.js +1 -0
- package/apps/app-lifeops/src/actions/dossier.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/dossier.js +51 -34
- package/apps/app-lifeops/src/actions/gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/gmail.js +5 -0
- package/apps/app-lifeops/src/actions/inbox.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/inbox.js +8 -1
- package/apps/app-lifeops/src/actions/life.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life.extractor.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/life.extractor.js +103 -4
- package/apps/app-lifeops/src/actions/life.js +8 -0
- package/apps/app-lifeops/src/actions/non-actionable-request.d.ts +6 -0
- package/apps/app-lifeops/src/actions/non-actionable-request.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/non-actionable-request.js +33 -0
- package/apps/app-lifeops/src/actions/password-manager.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/password-manager.js +11 -2
- package/apps/app-lifeops/src/actions/relationships.d.ts +3 -1
- package/apps/app-lifeops/src/actions/relationships.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/relationships.js +167 -11
- package/apps/app-lifeops/src/actions/remote-desktop.js +1 -1
- package/apps/app-lifeops/src/actions/screen-time.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/screen-time.js +8 -2
- package/apps/app-lifeops/src/actions/start-remote-session.js +1 -1
- package/apps/app-lifeops/src/actions/subscriptions.d.ts +5 -0
- package/apps/app-lifeops/src/actions/subscriptions.d.ts.map +1 -0
- package/apps/app-lifeops/src/actions/subscriptions.js +251 -0
- package/apps/app-lifeops/src/actions/twilio-call.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/twilio-call.js +48 -3
- package/apps/app-lifeops/src/actions/update-owner-profile.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/update-owner-profile.js +2 -1
- package/apps/app-lifeops/src/actions/website-blocker.d.ts +6 -2
- package/apps/app-lifeops/src/actions/website-blocker.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/website-blocker.js +38 -0
- package/apps/app-lifeops/src/actions/x-read.d.ts.map +1 -1
- package/apps/app-lifeops/src/actions/x-read.js +27 -3
- package/apps/app-lifeops/src/dossier/action.d.ts.map +1 -1
- package/apps/app-lifeops/src/dossier/action.js +8 -7
- package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.d.ts.map +1 -1
- package/apps/app-lifeops/src/followup/actions/listOverdueFollowups.js +1 -0
- package/apps/app-lifeops/src/followup/actions/markFollowupDone.d.ts.map +1 -1
- package/apps/app-lifeops/src/followup/actions/markFollowupDone.js +2 -1
- package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.d.ts.map +1 -1
- package/apps/app-lifeops/src/followup/actions/setFollowupThreshold.js +2 -1
- package/apps/app-lifeops/src/lifeops/calendly-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/calendly-client.js +4 -2
- package/apps/app-lifeops/src/lifeops/discord-browser-scraper.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +6 -5
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/password-manager-bridge.js +84 -6
- package/apps/app-lifeops/src/lifeops/remote-desktop.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/remote-desktop.js +30 -0
- package/apps/app-lifeops/src/lifeops/repository.d.ts +15 -0
- package/apps/app-lifeops/src/lifeops/repository.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/repository.js +330 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-discord.js +222 -42
- package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.d.ts +2 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.js +763 -0
- package/apps/app-lifeops/src/lifeops/service.d.ts +64 -1
- package/apps/app-lifeops/src/lifeops/service.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service.js +2 -1
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts +54 -0
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.js +213 -0
- package/apps/app-lifeops/src/lifeops/subscriptions-types.d.ts +80 -0
- package/apps/app-lifeops/src/lifeops/subscriptions-types.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops/twilio.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/twilio.js +4 -2
- package/apps/app-lifeops/src/lifeops/whatsapp-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/whatsapp-client.js +4 -2
- package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.js +12 -6
- package/apps/app-lifeops/src/lifeops/x-reader.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-reader.js +7 -5
- package/apps/app-lifeops/src/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/plugin.js +31 -24
- package/apps/app-lifeops/src/provider.d.ts.map +1 -1
- package/apps/app-lifeops/src/provider.js +4 -4
- package/apps/app-lifeops/src/providers/inbox-triage.js +2 -2
- package/apps/app-lifeops/src/providers/lifeops.d.ts.map +1 -1
- package/apps/app-lifeops/src/providers/lifeops.js +19 -10
- package/apps/app-lifeops/src/providers/website-blocker.js +1 -1
- package/apps/app-lifeops/src/public.d.ts +4 -0
- package/apps/app-lifeops/src/public.d.ts.map +1 -0
- package/apps/app-lifeops/src/public.js +3 -0
- package/apps/app-lifeops/src/routes/plugin.d.ts +18 -0
- package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -0
- package/apps/app-lifeops/src/routes/plugin.js +270 -0
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/chat-integration/actions/blockUntilTaskComplete.js +18 -2
- package/package.json +1 -1
- package/packages/agent/src/actions/browser-session.d.ts +3 -0
- package/packages/agent/src/actions/browser-session.d.ts.map +1 -0
- package/packages/agent/src/actions/browser-session.js +207 -0
- package/packages/agent/src/actions/context-signal.d.ts +1 -1
- package/packages/agent/src/actions/context-signal.d.ts.map +1 -1
- package/packages/agent/src/actions/context-signal.js +1 -1
- package/packages/agent/src/actions/extract-page.d.ts +3 -0
- package/packages/agent/src/actions/extract-page.d.ts.map +1 -0
- package/packages/agent/src/actions/extract-page.js +124 -0
- package/packages/agent/src/actions/grounded-action-reply.js +1 -1
- package/packages/agent/src/actions/recent-conversation-texts.d.ts +9 -0
- package/packages/agent/src/actions/recent-conversation-texts.d.ts.map +1 -0
- package/packages/agent/src/actions/recent-conversation-texts.js +81 -0
- package/packages/agent/src/actions/set-user-name.js +1 -1
- package/packages/agent/src/actions/web-search.d.ts +4 -10
- package/packages/agent/src/actions/web-search.d.ts.map +1 -1
- package/packages/agent/src/actions/web-search.js +89 -19
- package/packages/agent/src/api/binance-skill-helpers.d.ts.map +1 -1
- package/packages/agent/src/api/binance-skill-helpers.js +1 -1
- package/packages/agent/src/api/chat-augmentation.d.ts +1 -20
- package/packages/agent/src/api/chat-augmentation.d.ts.map +1 -1
- package/packages/agent/src/api/chat-augmentation.js +2 -110
- package/packages/agent/src/api/conversation-metadata.d.ts +9 -0
- package/packages/agent/src/api/conversation-metadata.d.ts.map +1 -0
- package/packages/agent/src/api/conversation-metadata.js +98 -0
- package/packages/agent/src/api/conversation-routes.d.ts.map +1 -1
- package/packages/agent/src/api/conversation-routes.js +40 -9
- package/packages/agent/src/api/permissions-routes.js +1 -1
- package/packages/agent/src/api/server-helpers-auth.js +1 -1
- package/packages/agent/src/api/server-helpers.d.ts +2 -1
- package/packages/agent/src/api/server-helpers.d.ts.map +1 -1
- package/packages/agent/src/api/server-helpers.js +2 -110
- package/packages/agent/src/api/server-types.d.ts +14 -0
- package/packages/agent/src/api/server-types.d.ts.map +1 -1
- package/packages/agent/src/api/server.d.ts.map +1 -1
- package/packages/agent/src/api/server.js +3 -13
- package/packages/agent/src/api/workbench-routes.d.ts.map +1 -1
- package/packages/agent/src/api/workbench-routes.js +0 -14
- package/packages/agent/src/auth/credentials.d.ts.map +1 -1
- package/packages/agent/src/auth/credentials.js +8 -0
- package/packages/agent/src/providers/automation-terminal-bridge.d.ts +3 -0
- package/packages/agent/src/providers/automation-terminal-bridge.d.ts.map +1 -0
- package/packages/agent/src/providers/automation-terminal-bridge.js +71 -0
- package/packages/agent/src/providers/recent-conversations.d.ts.map +1 -1
- package/packages/agent/src/providers/recent-conversations.js +5 -0
- package/packages/agent/src/providers/relevant-conversations.d.ts.map +1 -1
- package/packages/agent/src/providers/relevant-conversations.js +5 -0
- package/packages/agent/src/providers/user-name.d.ts.map +1 -1
- package/packages/agent/src/providers/user-name.js +1 -1
- package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
- package/packages/agent/src/runtime/eliza-plugin.js +6 -0
- package/packages/agent/src/runtime/plugin-resolver.d.ts.map +1 -1
- package/packages/agent/src/runtime/plugin-resolver.js +115 -0
- package/packages/agent/src/services/browser-workspace-types.d.ts +5 -1
- package/packages/agent/src/services/browser-workspace-types.d.ts.map +1 -1
- package/packages/agent/src/services/browser-workspace.d.ts.map +1 -1
- package/packages/agent/src/services/browser-workspace.js +178 -7
- package/packages/agent/src/services/escalation.d.ts +0 -11
- package/packages/agent/src/services/escalation.d.ts.map +1 -1
- package/packages/agent/src/services/escalation.js +19 -58
- package/packages/agent/src/services/hosted-tools.d.ts +70 -0
- package/packages/agent/src/services/hosted-tools.d.ts.map +1 -0
- package/packages/agent/src/services/hosted-tools.js +87 -0
- package/packages/agent/src/services/owner-name.d.ts +4 -0
- package/packages/agent/src/services/owner-name.d.ts.map +1 -0
- package/packages/agent/src/services/owner-name.js +46 -0
- package/packages/agent/src/services/registry-client-queries.d.ts +1 -1
- package/packages/agent/src/services/registry-client-queries.js +1 -1
- package/packages/agent/src/services/registry-client-types.d.ts +1 -1
- package/packages/app-core/src/api/client-automations.d.ts +8 -0
- package/packages/app-core/src/api/client-automations.d.ts.map +1 -0
- package/packages/app-core/src/api/client-automations.js +7 -0
- package/packages/app-core/src/api/client-browser-workspace.d.ts +3 -0
- package/packages/app-core/src/api/client-browser-workspace.d.ts.map +1 -1
- package/packages/app-core/src/api/client-browser-workspace.js +3 -0
- package/packages/app-core/src/api/client-chat.d.ts +8 -2
- package/packages/app-core/src/api/client-chat.d.ts.map +1 -1
- package/packages/app-core/src/api/client-chat.js +14 -1
- package/packages/app-core/src/api/client-types-chat.d.ts +4 -0
- package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -1
- package/packages/app-core/src/api/client-types-config.d.ts +67 -2
- package/packages/app-core/src/api/client-types-config.d.ts.map +1 -1
- package/packages/app-core/src/api/client.d.ts +1 -0
- package/packages/app-core/src/api/client.d.ts.map +1 -1
- package/packages/app-core/src/api/client.js +1 -0
- package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
- package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.js +5 -9
- package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/internal-tool-apps.js +10 -1
- package/packages/app-core/src/components/conversations/conversation-sidebar-model.d.ts.map +1 -1
- package/packages/app-core/src/components/conversations/conversation-sidebar-model.js +6 -0
- package/packages/app-core/src/components/pages/AutomationRoomChatPane.d.ts +16 -0
- package/packages/app-core/src/components/pages/AutomationRoomChatPane.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/AutomationRoomChatPane.js +202 -0
- package/packages/app-core/src/components/pages/AutomationsView.d.ts +1 -4
- package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AutomationsView.js +565 -265
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +118 -24
- package/packages/app-core/src/components/pages/automation-conversations.d.ts +15 -0
- package/packages/app-core/src/components/pages/automation-conversations.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/automation-conversations.js +190 -0
- package/packages/app-core/src/components/pages/plugin-list-utils.js +4 -4
- package/packages/app-core/src/config/boot-config-store.d.ts +1 -1
- package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
- package/packages/app-core/src/state/useOnboardingCallbacks.d.ts +14 -0
- package/packages/app-core/src/state/useOnboardingCallbacks.d.ts.map +1 -1
- package/packages/app-core/src/state/useOnboardingCallbacks.js +1 -1
- package/packages/app-core/src/state/usePluginsSkillsState.d.ts +2 -2
- package/packages/app-core/src/utils/desktop-workspace.d.ts +2 -2
- package/packages/app-core/src/utils/desktop-workspace.d.ts.map +1 -1
- package/packages/app-core/src/utils/desktop-workspace.js +7 -2
- package/packages/shared/src/contracts/lifeops.d.ts +26 -0
- package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.js +28 -0
- package/packages/typescript/src/actions.d.ts.map +1 -1
- package/packages/typescript/src/actions.js +12 -0
- package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.js +8 -2
- package/packages/typescript/src/features/advanced-capabilities/providers/settings.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/providers/settings.js +11 -3
- package/packages/typescript/src/features/basic-capabilities/providers/actions.d.ts.map +1 -1
- package/packages/typescript/src/features/basic-capabilities/providers/actions.js +23 -1
- package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.d.ts +5 -0
- package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.d.ts.map +1 -0
- package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.js +22 -0
- package/packages/typescript/src/features/basic-capabilities/providers/providers.d.ts.map +1 -1
- package/packages/typescript/src/features/basic-capabilities/providers/providers.js +10 -5
- package/packages/typescript/src/features/knowledge/documents-provider.d.ts.map +1 -1
- package/packages/typescript/src/features/knowledge/documents-provider.js +1 -0
- package/packages/typescript/src/features/shared/schedule-follow-up-response.d.ts +10 -0
- package/packages/typescript/src/features/shared/schedule-follow-up-response.d.ts.map +1 -0
- package/packages/typescript/src/features/shared/schedule-follow-up-response.js +49 -0
- package/packages/typescript/src/features/trajectories/TrajectoriesService.d.ts +1 -0
- package/packages/typescript/src/features/trajectories/TrajectoriesService.d.ts.map +1 -1
- package/packages/typescript/src/features/trajectories/TrajectoriesService.js +21 -2
- package/packages/typescript/src/features/trust/providers/settings.d.ts.map +1 -1
- package/packages/typescript/src/features/trust/providers/settings.js +11 -1
- package/packages/typescript/src/prompts.d.ts +4 -4
- package/packages/typescript/src/prompts.d.ts.map +1 -1
- package/packages/typescript/src/prompts.js +10 -2
- package/packages/typescript/src/services/message.d.ts +1 -0
- package/packages/typescript/src/services/message.d.ts.map +1 -1
- package/packages/typescript/src/services/message.js +483 -18
- package/packages/typescript/src/types/components.d.ts +6 -0
- package/packages/typescript/src/types/components.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-routing.d.ts.map +1 -1
- package/packages/typescript/src/utils/context-routing.js +5 -1
- package/packages/typescript/src/utils/toon.d.ts.map +1 -1
- package/packages/typescript/src/utils/toon.js +23 -2
- package/packages/typescript/src/utils.d.ts +1 -0
- package/packages/typescript/src/utils.d.ts.map +1 -1
- package/packages/typescript/src/utils.js +1 -0
- package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts +0 -2
- package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/index.d.ts +0 -3
- package/apps/app-lifeops/src/types/index.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/index.js +0 -1
- package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts +0 -2
- package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts.map +0 -1
- package/apps/app-lifeops/src/types/website-blocker-settings-card.js +0 -1
- package/packages/agent/src/contracts/lifeops.d.ts +0 -2
- package/packages/agent/src/contracts/lifeops.d.ts.map +0 -1
- package/packages/agent/src/contracts/lifeops.js +0 -1
- package/packages/app-core/src/components/pages/N8nWorkflowsPanel.d.ts +0 -18
- package/packages/app-core/src/components/pages/N8nWorkflowsPanel.d.ts.map +0 -1
- package/packages/app-core/src/components/pages/N8nWorkflowsPanel.js +0 -542
- /package/apps/app-lifeops/src/{types/app-blocker-settings-card.js → lifeops/subscriptions-types.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserWorkspaceView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/pages/BrowserWorkspaceView.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserWorkspaceView.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/pages/BrowserWorkspaceView.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAkFf,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,OAAO,CA2wBlD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { buildBrowserWorkspaceWalletState, } from "@elizaos/app-steward/browser-workspace-wallet";
|
|
3
3
|
import { Button, Input } from "@elizaos/ui";
|
|
4
4
|
import { ChevronLeft, ChevronRight, ExternalLink, MessageSquare, Plus, RefreshCw, X, } from "lucide-react";
|
|
@@ -9,6 +9,9 @@ import { openExternalUrl } from "../../utils";
|
|
|
9
9
|
import { ChatView } from "./ChatView.js";
|
|
10
10
|
import { useBrowserWorkspaceWalletBridge } from "./useBrowserWorkspaceWalletBridge";
|
|
11
11
|
const POLL_INTERVAL_MS = 2_500;
|
|
12
|
+
function isBrowserWorkspaceSessionMode(mode) {
|
|
13
|
+
return mode === "cloud" || mode === "desktop";
|
|
14
|
+
}
|
|
12
15
|
function normalizeBrowserWorkspaceInputUrl(rawUrl) {
|
|
13
16
|
const trimmed = rawUrl.trim();
|
|
14
17
|
if (!trimmed)
|
|
@@ -26,7 +29,7 @@ function normalizeBrowserWorkspaceInputUrl(rawUrl) {
|
|
|
26
29
|
throw new Error("Enter a valid http or https URL.");
|
|
27
30
|
}
|
|
28
31
|
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
29
|
-
throw new Error("Only http and https
|
|
32
|
+
throw new Error("Only http and https URLs are supported.");
|
|
30
33
|
}
|
|
31
34
|
return parsed.toString();
|
|
32
35
|
}
|
|
@@ -82,6 +85,8 @@ export function BrowserWorkspaceView() {
|
|
|
82
85
|
const [locationDirty, setLocationDirty] = useState(false);
|
|
83
86
|
const [loading, setLoading] = useState(true);
|
|
84
87
|
const [loadError, setLoadError] = useState(null);
|
|
88
|
+
const [snapshotError, setSnapshotError] = useState(null);
|
|
89
|
+
const [tabSnapshots, setTabSnapshots] = useState({});
|
|
85
90
|
const [busyAction, setBusyAction] = useState(null);
|
|
86
91
|
const [chatSidebarCollapsed, setChatSidebarCollapsed] = useState(false);
|
|
87
92
|
const initialBrowseUrlRef = useRef(undefined);
|
|
@@ -106,6 +111,8 @@ export function BrowserWorkspaceView() {
|
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
113
|
const selectedTab = useMemo(() => workspace.tabs.find((tab) => tab.id === selectedTabId) ?? null, [selectedTabId, workspace.tabs]);
|
|
114
|
+
const selectedTabSnapshot = selectedTabId ? tabSnapshots[selectedTabId] ?? null : null;
|
|
115
|
+
const selectedTabLiveViewUrl = selectedTab?.interactiveLiveViewUrl ?? selectedTab?.liveViewUrl ?? null;
|
|
109
116
|
useEffect(() => {
|
|
110
117
|
getStewardPendingRef.current = getStewardPending;
|
|
111
118
|
getStewardStatusRef.current = getStewardStatus;
|
|
@@ -199,6 +206,30 @@ export function BrowserWorkspaceView() {
|
|
|
199
206
|
setBusyAction(null);
|
|
200
207
|
}
|
|
201
208
|
}, []);
|
|
209
|
+
const loadSelectedBrowserWorkspaceSnapshot = useCallback(async (tabId, mode) => {
|
|
210
|
+
if (!isBrowserWorkspaceSessionMode(mode)) {
|
|
211
|
+
setSnapshotError(null);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
const snapshot = await client.snapshotBrowserWorkspaceTab(tabId);
|
|
216
|
+
setTabSnapshots((current) => {
|
|
217
|
+
if (current[tabId] === snapshot.data) {
|
|
218
|
+
return current;
|
|
219
|
+
}
|
|
220
|
+
return { ...current, [tabId]: snapshot.data };
|
|
221
|
+
});
|
|
222
|
+
setSnapshotError(null);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
const message = error instanceof Error
|
|
226
|
+
? error.message
|
|
227
|
+
: tRef.current("browserworkspace.SnapshotFailed", {
|
|
228
|
+
defaultValue: "Failed to load browser session preview.",
|
|
229
|
+
});
|
|
230
|
+
setSnapshotError(message);
|
|
231
|
+
}
|
|
232
|
+
}, []);
|
|
202
233
|
const openNewBrowserWorkspaceTab = useCallback(async (rawUrl) => {
|
|
203
234
|
const url = normalizeBrowserWorkspaceInputUrl(rawUrl);
|
|
204
235
|
if (!url) {
|
|
@@ -230,16 +261,19 @@ export function BrowserWorkspaceView() {
|
|
|
230
261
|
return;
|
|
231
262
|
}
|
|
232
263
|
const { tab } = await client.navigateBrowserWorkspaceTab(selectedTabId, url);
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
iframe
|
|
264
|
+
if (workspace.mode === "web") {
|
|
265
|
+
// React won't re-navigate an existing iframe when only the src
|
|
266
|
+
// attribute changes (same key = same DOM element). Set the src
|
|
267
|
+
// directly via the ref in embedded web mode only.
|
|
268
|
+
const iframe = iframeRefs.current.get(selectedTabId);
|
|
269
|
+
if (iframe && iframe.src !== tab.url) {
|
|
270
|
+
iframe.src = tab.url;
|
|
271
|
+
}
|
|
238
272
|
}
|
|
239
273
|
await loadWorkspace({ preferTabId: tab.id, silent: true });
|
|
240
274
|
setLocationInput(tab.url);
|
|
241
275
|
setLocationDirty(false);
|
|
242
|
-
}, [loadWorkspace, openNewBrowserWorkspaceTab, selectedTabId]);
|
|
276
|
+
}, [loadWorkspace, openNewBrowserWorkspaceTab, selectedTabId, workspace.mode]);
|
|
243
277
|
const registerBrowserWorkspaceIframe = useCallback((tabId, iframe) => {
|
|
244
278
|
if (!iframe) {
|
|
245
279
|
iframeRefs.current.delete(tabId);
|
|
@@ -249,7 +283,7 @@ export function BrowserWorkspaceView() {
|
|
|
249
283
|
}, []);
|
|
250
284
|
const { postBrowserWalletReady } = useBrowserWorkspaceWalletBridge({
|
|
251
285
|
iframeRefs,
|
|
252
|
-
workspaceTabs: workspace.tabs,
|
|
286
|
+
workspaceTabs: workspace.mode === "web" ? workspace.tabs : [],
|
|
253
287
|
walletState: browserWalletState,
|
|
254
288
|
loadWalletState: loadBrowserWalletState,
|
|
255
289
|
});
|
|
@@ -265,6 +299,26 @@ export function BrowserWorkspaceView() {
|
|
|
265
299
|
}, POLL_INTERVAL_MS);
|
|
266
300
|
return () => window.clearInterval(timer);
|
|
267
301
|
}, [loadWorkspace, selectedTabId]);
|
|
302
|
+
useEffect(() => {
|
|
303
|
+
if (!selectedTabId || !isBrowserWorkspaceSessionMode(workspace.mode)) {
|
|
304
|
+
setSnapshotError(null);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
void loadSelectedBrowserWorkspaceSnapshot(selectedTabId, workspace.mode);
|
|
308
|
+
}, [loadSelectedBrowserWorkspaceSnapshot, selectedTabId, workspace.mode]);
|
|
309
|
+
useEffect(() => {
|
|
310
|
+
if (!selectedTabId || !isBrowserWorkspaceSessionMode(workspace.mode)) {
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
const timer = window.setInterval(() => {
|
|
314
|
+
void loadSelectedBrowserWorkspaceSnapshot(selectedTabId, workspace.mode);
|
|
315
|
+
}, POLL_INTERVAL_MS);
|
|
316
|
+
return () => window.clearInterval(timer);
|
|
317
|
+
}, [
|
|
318
|
+
loadSelectedBrowserWorkspaceSnapshot,
|
|
319
|
+
selectedTabId,
|
|
320
|
+
workspace.mode,
|
|
321
|
+
]);
|
|
268
322
|
useEffect(() => {
|
|
269
323
|
const timer = window.setInterval(() => {
|
|
270
324
|
void loadBrowserWalletState();
|
|
@@ -312,16 +366,21 @@ export function BrowserWorkspaceView() {
|
|
|
312
366
|
t,
|
|
313
367
|
workspace.tabs,
|
|
314
368
|
]);
|
|
315
|
-
const reloadSelectedBrowserWorkspaceTab = useCallback(() => {
|
|
369
|
+
const reloadSelectedBrowserWorkspaceTab = useCallback(async () => {
|
|
316
370
|
if (!selectedTab)
|
|
317
371
|
return;
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
iframe
|
|
372
|
+
if (workspace.mode === "web") {
|
|
373
|
+
const iframe = iframeRefs.current.get(selectedTab.id);
|
|
374
|
+
if (iframe) {
|
|
375
|
+
iframe.src = selectedTab.url;
|
|
376
|
+
}
|
|
377
|
+
return;
|
|
321
378
|
}
|
|
322
|
-
|
|
379
|
+
await client.navigateBrowserWorkspaceTab(selectedTab.id, selectedTab.url);
|
|
380
|
+
}, [selectedTab, workspace.mode]);
|
|
323
381
|
return (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col bg-bg", "data-testid": "browser-workspace-view", children: [_jsxs("div", { className: "flex items-center gap-1 overflow-x-auto border-b border-border/30 bg-card/30 px-2 pt-2", children: [workspace.tabs.map((tab) => {
|
|
324
382
|
const active = tab.id === selectedTabId;
|
|
383
|
+
const tabHasSessionFocus = workspace.mode === "web" ? tab.visible : active;
|
|
325
384
|
const label = getBrowserWorkspaceTabLabel(tab);
|
|
326
385
|
const activate = () => void runBrowserWorkspaceAction(`show:${tab.id}`, async () => {
|
|
327
386
|
await activateBrowserWorkspaceTab(tab.id);
|
|
@@ -336,9 +395,9 @@ export function BrowserWorkspaceView() {
|
|
|
336
395
|
}
|
|
337
396
|
}, className: `flex h-9 min-w-[8rem] max-w-[14rem] shrink-0 cursor-pointer items-center gap-2 rounded-t-lg border border-b-0 px-3 text-xs transition-colors ${active
|
|
338
397
|
? "border-border/40 bg-bg text-txt"
|
|
339
|
-
: "border-transparent bg-card/30 text-muted hover:bg-card/60 hover:text-txt"}`, children: [
|
|
340
|
-
|
|
341
|
-
|
|
398
|
+
: "border-transparent bg-card/30 text-muted hover:bg-card/60 hover:text-txt"}`, children: [tabHasSessionFocus ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": true, className: "h-2 w-2 shrink-0 rounded-full bg-accent shadow-[0_0_6px_var(--accent)]" }), _jsx("span", { className: "sr-only", children: t("browserworkspace.AgentActive", {
|
|
399
|
+
defaultValue: "Agent is on this tab",
|
|
400
|
+
}) })] })) : (_jsx("span", { "aria-hidden": true, className: "flex h-4 w-4 shrink-0 items-center justify-center rounded-sm bg-muted/15 text-[10px] font-semibold text-muted", children: getBrowserWorkspaceTabMonogram(label) })), _jsx("span", { className: "flex-1 truncate text-left", children: label }), _jsx("button", { type: "button", "aria-label": t("browserworkspace.CloseTab", {
|
|
342
401
|
defaultValue: "Close tab",
|
|
343
402
|
}), className: "flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted hover:bg-muted/20 hover:text-txt", onClick: (event) => {
|
|
344
403
|
event.stopPropagation();
|
|
@@ -361,7 +420,9 @@ export function BrowserWorkspaceView() {
|
|
|
361
420
|
defaultValue: "New tab",
|
|
362
421
|
}), disabled: busyAction !== null, onClick: () => void runBrowserWorkspaceAction("open:new", async () => {
|
|
363
422
|
await openNewBrowserWorkspaceTab(locationInput || "about:blank");
|
|
364
|
-
}), children: _jsx(Plus, { className: "h-4 w-4" }) })] }), _jsxs("div", { className: "flex items-center gap-2 border-b border-border/30 bg-card/20 px-3 py-2", children: [_jsx(Button, { variant: "ghost", size: "icon", className: "h-8 w-8", "aria-label": t("common.refresh", { defaultValue: "Refresh" }), disabled: !selectedTab || busyAction !== null, onClick:
|
|
423
|
+
}), children: _jsx(Plus, { className: "h-4 w-4" }) })] }), _jsxs("div", { className: "flex items-center gap-2 border-b border-border/30 bg-card/20 px-3 py-2", children: [_jsx(Button, { variant: "ghost", size: "icon", className: "h-8 w-8", "aria-label": t("common.refresh", { defaultValue: "Refresh" }), disabled: !selectedTab || busyAction !== null, onClick: () => void runBrowserWorkspaceAction("reload:selected", async () => {
|
|
424
|
+
await reloadSelectedBrowserWorkspaceTab();
|
|
425
|
+
}), children: _jsx(RefreshCw, { className: "h-4 w-4" }) }), _jsx(Input, { value: locationInput, onChange: (event) => {
|
|
365
426
|
setLocationInput(event.target.value);
|
|
366
427
|
setLocationDirty(true);
|
|
367
428
|
}, onKeyDown: (event) => {
|
|
@@ -379,20 +440,53 @@ export function BrowserWorkspaceView() {
|
|
|
379
440
|
if (!selectedTab)
|
|
380
441
|
return;
|
|
381
442
|
await openExternalUrl(selectedTab.url);
|
|
382
|
-
}), children: _jsx(ExternalLink, { className: "h-4 w-4" }) })] }),
|
|
443
|
+
}), children: _jsx(ExternalLink, { className: "h-4 w-4" }) })] }), workspace.mode === "web" ? (_jsx("div", { className: "border-b border-border/30 bg-warning/10 px-3 py-2 text-xs text-warning", children: t("browserworkspace.WebFallbackNotice", {
|
|
444
|
+
defaultValue: "Embedded fallback only. This mode uses iframe/JSDOM browsing and is not equivalent to a real browser session. Sites like Google and Discord may refuse to load here. Use desktop or cloud browser sessions for full browsing.",
|
|
445
|
+
}) })) : null, _jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [_jsxs("div", { className: "relative flex-1 min-h-0 overflow-hidden bg-bg", children: [loadError ? (_jsx("div", { className: "absolute left-1/2 top-6 z-20 -translate-x-1/2 rounded-md border border-danger/50 bg-danger/15 px-3 py-1.5 text-xs text-danger", role: "alert", children: loadError })) : null, workspace.tabs.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "flex max-w-sm flex-col items-center gap-2 text-center", children: [_jsx("div", { className: "text-sm font-semibold text-txt", children: loading
|
|
383
446
|
? t("browserworkspace.Loading", {
|
|
384
447
|
defaultValue: "Loading browser workspace",
|
|
385
448
|
})
|
|
386
449
|
: t("browserworkspace.EmptyTitle", {
|
|
387
450
|
defaultValue: "No browser tabs yet",
|
|
388
|
-
}) }), _jsx("div", { className: "text-xs text-muted", children:
|
|
389
|
-
|
|
390
|
-
|
|
451
|
+
}) }), _jsx("div", { className: "text-xs text-muted", children: isBrowserWorkspaceSessionMode(workspace.mode)
|
|
452
|
+
? t("browserworkspace.EmptySessionDescription", {
|
|
453
|
+
defaultValue: "Open a page to start a real browser session. The preview here follows the session instead of embedding the target site directly.",
|
|
454
|
+
})
|
|
455
|
+
: t("browserworkspace.EmptyDescription", {
|
|
456
|
+
defaultValue: "Open a page here, or jump straight to a site like Discord from LifeOps.",
|
|
457
|
+
}) })] }) })) : workspace.mode === "web" ? (workspace.tabs.map((tab) => {
|
|
391
458
|
const active = tab.id === selectedTabId;
|
|
459
|
+
const highlighted = tab.visible;
|
|
392
460
|
return (_jsx("iframe", { ref: (iframe) => registerBrowserWorkspaceIframe(tab.id, iframe), title: getBrowserWorkspaceTabLabel(tab), src: tab.url, loading: "eager", sandbox: "allow-downloads allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts", allow: "clipboard-read; clipboard-write", referrerPolicy: "strict-origin-when-cross-origin", className: `absolute inset-0 h-full w-full border-0 bg-white transition-opacity ${active
|
|
393
461
|
? "pointer-events-auto opacity-100"
|
|
394
|
-
: "pointer-events-none opacity-0"}`, onLoad: () =>
|
|
395
|
-
|
|
462
|
+
: "pointer-events-none opacity-0"}`, onLoad: () => highlighted
|
|
463
|
+
? postBrowserWalletReady(tab, browserWalletState)
|
|
464
|
+
: undefined }, tab.id));
|
|
465
|
+
})) : (_jsxs("div", { className: "flex h-full flex-1 flex-col bg-bg", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2 border-b border-border/30 bg-card/20 px-3 py-2 text-xs text-muted", children: [_jsx("span", { className: "rounded-full border border-border/40 bg-card/60 px-2 py-1 font-medium text-txt", children: workspace.mode === "cloud"
|
|
466
|
+
? t("browserworkspace.CloudSession", {
|
|
467
|
+
defaultValue: "Cloud browser session",
|
|
468
|
+
})
|
|
469
|
+
: t("browserworkspace.DesktopSession", {
|
|
470
|
+
defaultValue: "Desktop browser session",
|
|
471
|
+
}) }), selectedTab?.provider ? (_jsxs("span", { children: [t("browserworkspace.Provider", {
|
|
472
|
+
defaultValue: "Provider",
|
|
473
|
+
}), `: ${selectedTab.provider}`] })) : null, selectedTab?.status ? (_jsxs("span", { children: [t("browserworkspace.Status", {
|
|
474
|
+
defaultValue: "Status",
|
|
475
|
+
}), `: ${selectedTab.status}`] })) : null, selectedTabLiveViewUrl ? (_jsx("button", { type: "button", className: "rounded-md border border-border/40 px-2 py-1 text-txt hover:bg-card/60", onClick: () => void runBrowserWorkspaceAction("open:live-session", async () => {
|
|
476
|
+
await openExternalUrl(selectedTabLiveViewUrl);
|
|
477
|
+
}), children: t("browserworkspace.OpenLiveSession", {
|
|
478
|
+
defaultValue: "Open live session",
|
|
479
|
+
}) })) : null] }), _jsxs("div", { className: "relative flex min-h-0 flex-1 items-center justify-center overflow-hidden bg-card/15", children: [snapshotError ? (_jsx("div", { className: "absolute left-1/2 top-6 z-20 -translate-x-1/2 rounded-md border border-danger/50 bg-danger/15 px-3 py-1.5 text-xs text-danger", role: "alert", children: snapshotError })) : null, selectedTabSnapshot ? (_jsx("img", { alt: selectedTab
|
|
480
|
+
? getBrowserWorkspaceTabLabel(selectedTab)
|
|
481
|
+
: t("browserworkspace.SessionPreview", {
|
|
482
|
+
defaultValue: "Browser session preview",
|
|
483
|
+
}), src: `data:image/png;base64,${selectedTabSnapshot}`, className: "h-full w-full object-contain" })) : (_jsxs("div", { className: "flex max-w-sm flex-col items-center gap-2 px-6 text-center", children: [_jsx("div", { className: "text-sm font-semibold text-txt", children: t("browserworkspace.SessionPreviewPending", {
|
|
484
|
+
defaultValue: "Waiting for browser session preview",
|
|
485
|
+
}) }), _jsx("div", { className: "text-xs text-muted", children: t("browserworkspace.SessionPreviewPendingDescription", {
|
|
486
|
+
defaultValue: "The page is running in a real browser session. A fresh preview will appear here as the session updates.",
|
|
487
|
+
}) })] }))] }), selectedTab ? (_jsxs("div", { className: "border-t border-border/30 bg-card/20 px-3 py-2 text-xs text-muted", children: [_jsx("div", { className: "truncate font-medium text-txt", children: getBrowserWorkspaceTabLabel(selectedTab) }), _jsx("div", { className: "truncate", children: selectedTab.url }), _jsx("div", { className: "mt-1", children: t("browserworkspace.RealSessionDescription", {
|
|
488
|
+
defaultValue: "This is a real browser session, not a raw iframe embed. Use chat or browser actions to navigate and interact with sites like Google and Discord.",
|
|
489
|
+
}) })] })) : null] }))] }), _jsxs("aside", { className: `flex shrink-0 flex-col border-l border-border/30 bg-bg transition-[width] duration-200 ${chatSidebarCollapsed ? "w-10" : "w-[24rem]"}`, "data-testid": "browser-workspace-chat-sidebar", children: [_jsx("div", { className: "flex h-10 items-center justify-between border-b border-border/30 px-2", children: chatSidebarCollapsed ? (_jsx("button", { type: "button", className: "mx-auto flex h-7 w-7 items-center justify-center rounded-md text-muted hover:bg-card/60 hover:text-txt", "aria-label": t("browserworkspace.ExpandChat", {
|
|
396
490
|
defaultValue: "Expand chat",
|
|
397
491
|
}), onClick: () => setChatSidebarCollapsed(false), children: _jsx(ChevronLeft, { className: "h-4 w-4" }) })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center gap-1.5 px-1 text-xs font-semibold uppercase tracking-wider text-muted", children: [_jsx(MessageSquare, { className: "h-3.5 w-3.5" }), t("browserworkspace.ChatSidebar", { defaultValue: "Chat" })] }), _jsx("button", { type: "button", className: "flex h-7 w-7 items-center justify-center rounded-md text-muted hover:bg-card/60 hover:text-txt", "aria-label": t("browserworkspace.CollapseChat", {
|
|
398
492
|
defaultValue: "Collapse chat",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Conversation, ConversationMetadata } from "../../api/client-types-chat";
|
|
2
|
+
export declare function isAutomationConversationMetadata(metadata: ConversationMetadata | null | undefined): boolean;
|
|
3
|
+
export declare function isAutomationConversation(conversation: Pick<Conversation, "metadata"> | null | undefined): boolean;
|
|
4
|
+
export declare function getAutomationBridgeConversationId(activeConversationId: string | null | undefined, conversations: Conversation[]): string | undefined;
|
|
5
|
+
export declare function buildCoordinatorConversationMetadata(taskId: string, bridgeConversationId?: string): ConversationMetadata;
|
|
6
|
+
export declare function buildCoordinatorTriggerConversationMetadata(triggerId: string, bridgeConversationId?: string): ConversationMetadata;
|
|
7
|
+
export declare function buildWorkflowConversationMetadata(workflowId: string, workflowName: string, bridgeConversationId?: string): ConversationMetadata;
|
|
8
|
+
export declare function buildWorkflowDraftConversationMetadata(draftId: string, bridgeConversationId?: string): ConversationMetadata;
|
|
9
|
+
export declare function buildAutomationResponseRoutingMetadata(metadata: ConversationMetadata): Record<string, unknown> | undefined;
|
|
10
|
+
export declare function findAutomationConversation(conversations: Conversation[], metadata: ConversationMetadata): Conversation | null;
|
|
11
|
+
export declare function resolveAutomationConversation(params: {
|
|
12
|
+
title: string;
|
|
13
|
+
metadata: ConversationMetadata;
|
|
14
|
+
}): Promise<Conversation>;
|
|
15
|
+
//# sourceMappingURL=automation-conversations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automation-conversations.d.ts","sourceRoot":"","sources":["../../../../../../../app-core/src/components/pages/automation-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAuBrC,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,OAAO,CAET;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,IAAI,GAAG,SAAS,GAC9D,OAAO,CAET;AAED,wBAAgB,iCAAiC,CAC/C,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/C,aAAa,EAAE,YAAY,EAAE,GAC5B,MAAM,GAAG,SAAS,CAcpB;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,MAAM,GAC5B,oBAAoB,CAYtB;AAED,wBAAgB,2CAA2C,CACzD,SAAS,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,oBAAoB,CAYtB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,oBAAoB,CAatB;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,MAAM,EACf,oBAAoB,CAAC,EAAE,MAAM,GAC5B,oBAAoB,CAYtB;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAcrC;AA0FD,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,YAAY,EAAE,EAC7B,QAAQ,EAAE,oBAAoB,GAC7B,YAAY,GAAG,IAAI,CAUrB;AAED,wBAAsB,6BAA6B,CAAC,MAAM,EAAE;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC,YAAY,CAAC,CAwBxB"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { client } from "../../api";
|
|
2
|
+
const AUTOMATION_SCOPES = new Set([
|
|
3
|
+
"automation-coordinator",
|
|
4
|
+
"automation-workflow",
|
|
5
|
+
"automation-workflow-draft",
|
|
6
|
+
]);
|
|
7
|
+
function sortByUpdatedAtDesc(left, right) {
|
|
8
|
+
return (new Date(right.updatedAt).getTime() - new Date(left.updatedAt).getTime());
|
|
9
|
+
}
|
|
10
|
+
function trimOptionalString(value) {
|
|
11
|
+
if (typeof value !== "string") {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const trimmed = value.trim();
|
|
15
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
16
|
+
}
|
|
17
|
+
export function isAutomationConversationMetadata(metadata) {
|
|
18
|
+
return metadata?.scope ? AUTOMATION_SCOPES.has(metadata.scope) : false;
|
|
19
|
+
}
|
|
20
|
+
export function isAutomationConversation(conversation) {
|
|
21
|
+
return isAutomationConversationMetadata(conversation?.metadata);
|
|
22
|
+
}
|
|
23
|
+
export function getAutomationBridgeConversationId(activeConversationId, conversations) {
|
|
24
|
+
const normalizedActiveId = trimOptionalString(activeConversationId);
|
|
25
|
+
if (!normalizedActiveId) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const activeConversation = conversations.find((conversation) => conversation.id === normalizedActiveId);
|
|
29
|
+
if (isAutomationConversation(activeConversation)) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
return normalizedActiveId;
|
|
33
|
+
}
|
|
34
|
+
export function buildCoordinatorConversationMetadata(taskId, bridgeConversationId) {
|
|
35
|
+
return {
|
|
36
|
+
scope: "automation-coordinator",
|
|
37
|
+
automationType: "coordinator_text",
|
|
38
|
+
taskId,
|
|
39
|
+
...(bridgeConversationId
|
|
40
|
+
? {
|
|
41
|
+
sourceConversationId: bridgeConversationId,
|
|
42
|
+
terminalBridgeConversationId: bridgeConversationId,
|
|
43
|
+
}
|
|
44
|
+
: {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function buildCoordinatorTriggerConversationMetadata(triggerId, bridgeConversationId) {
|
|
48
|
+
return {
|
|
49
|
+
scope: "automation-coordinator",
|
|
50
|
+
automationType: "coordinator_text",
|
|
51
|
+
triggerId,
|
|
52
|
+
...(bridgeConversationId
|
|
53
|
+
? {
|
|
54
|
+
sourceConversationId: bridgeConversationId,
|
|
55
|
+
terminalBridgeConversationId: bridgeConversationId,
|
|
56
|
+
}
|
|
57
|
+
: {}),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function buildWorkflowConversationMetadata(workflowId, workflowName, bridgeConversationId) {
|
|
61
|
+
return {
|
|
62
|
+
scope: "automation-workflow",
|
|
63
|
+
automationType: "n8n_workflow",
|
|
64
|
+
workflowId,
|
|
65
|
+
workflowName,
|
|
66
|
+
...(bridgeConversationId
|
|
67
|
+
? {
|
|
68
|
+
sourceConversationId: bridgeConversationId,
|
|
69
|
+
terminalBridgeConversationId: bridgeConversationId,
|
|
70
|
+
}
|
|
71
|
+
: {}),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function buildWorkflowDraftConversationMetadata(draftId, bridgeConversationId) {
|
|
75
|
+
return {
|
|
76
|
+
scope: "automation-workflow-draft",
|
|
77
|
+
automationType: "n8n_workflow",
|
|
78
|
+
draftId,
|
|
79
|
+
...(bridgeConversationId
|
|
80
|
+
? {
|
|
81
|
+
sourceConversationId: bridgeConversationId,
|
|
82
|
+
terminalBridgeConversationId: bridgeConversationId,
|
|
83
|
+
}
|
|
84
|
+
: {}),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export function buildAutomationResponseRoutingMetadata(metadata) {
|
|
88
|
+
if (metadata.scope === "automation-coordinator" ||
|
|
89
|
+
metadata.scope === "automation-workflow" ||
|
|
90
|
+
metadata.scope === "automation-workflow-draft") {
|
|
91
|
+
return {
|
|
92
|
+
__responseContext: {
|
|
93
|
+
primaryContext: "automation",
|
|
94
|
+
secondaryContexts: ["automation", "code", "system"],
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
function normalizedMetadata(metadata) {
|
|
101
|
+
const next = {};
|
|
102
|
+
const scope = trimOptionalString(metadata?.scope);
|
|
103
|
+
if (scope)
|
|
104
|
+
next.scope = scope;
|
|
105
|
+
const automationType = trimOptionalString(metadata?.automationType);
|
|
106
|
+
if (automationType)
|
|
107
|
+
next.automationType = automationType;
|
|
108
|
+
const taskId = trimOptionalString(metadata?.taskId);
|
|
109
|
+
if (taskId)
|
|
110
|
+
next.taskId = taskId;
|
|
111
|
+
const triggerId = trimOptionalString(metadata?.triggerId);
|
|
112
|
+
if (triggerId)
|
|
113
|
+
next.triggerId = triggerId;
|
|
114
|
+
const workflowId = trimOptionalString(metadata?.workflowId);
|
|
115
|
+
if (workflowId)
|
|
116
|
+
next.workflowId = workflowId;
|
|
117
|
+
const workflowName = trimOptionalString(metadata?.workflowName);
|
|
118
|
+
if (workflowName)
|
|
119
|
+
next.workflowName = workflowName;
|
|
120
|
+
const draftId = trimOptionalString(metadata?.draftId);
|
|
121
|
+
if (draftId)
|
|
122
|
+
next.draftId = draftId;
|
|
123
|
+
const sourceConversationId = trimOptionalString(metadata?.sourceConversationId);
|
|
124
|
+
if (sourceConversationId)
|
|
125
|
+
next.sourceConversationId = sourceConversationId;
|
|
126
|
+
const terminalBridgeConversationId = trimOptionalString(metadata?.terminalBridgeConversationId);
|
|
127
|
+
if (terminalBridgeConversationId) {
|
|
128
|
+
next.terminalBridgeConversationId = terminalBridgeConversationId;
|
|
129
|
+
}
|
|
130
|
+
return next;
|
|
131
|
+
}
|
|
132
|
+
function automationIdentityForMetadata(metadata) {
|
|
133
|
+
if (metadata?.taskId) {
|
|
134
|
+
return `task:${metadata.taskId}`;
|
|
135
|
+
}
|
|
136
|
+
if (metadata?.triggerId) {
|
|
137
|
+
return `trigger:${metadata.triggerId}`;
|
|
138
|
+
}
|
|
139
|
+
if (metadata?.workflowId) {
|
|
140
|
+
return `workflow:${metadata.workflowId}`;
|
|
141
|
+
}
|
|
142
|
+
if (metadata?.draftId) {
|
|
143
|
+
return `workflow-draft:${metadata.draftId}`;
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
function metadataMatchesIdentity(left, right) {
|
|
148
|
+
const leftIdentity = automationIdentityForMetadata(left);
|
|
149
|
+
const rightIdentity = automationIdentityForMetadata(right);
|
|
150
|
+
if (!leftIdentity || !rightIdentity) {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
return leftIdentity === rightIdentity;
|
|
154
|
+
}
|
|
155
|
+
function metadataEquals(left, right) {
|
|
156
|
+
const normalizedLeft = normalizedMetadata(left);
|
|
157
|
+
const normalizedRight = normalizedMetadata(right);
|
|
158
|
+
const leftKeys = Object.keys(normalizedLeft).sort();
|
|
159
|
+
const rightKeys = Object.keys(normalizedRight).sort();
|
|
160
|
+
if (leftKeys.length !== rightKeys.length) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
return leftKeys.every((key, index) => key === rightKeys[index] && normalizedLeft[key] === normalizedRight[key]);
|
|
164
|
+
}
|
|
165
|
+
export function findAutomationConversation(conversations, metadata) {
|
|
166
|
+
return (conversations
|
|
167
|
+
.filter((conversation) => isAutomationConversation(conversation) &&
|
|
168
|
+
metadataMatchesIdentity(conversation.metadata, metadata))
|
|
169
|
+
.sort(sortByUpdatedAtDesc)[0] ?? null);
|
|
170
|
+
}
|
|
171
|
+
export async function resolveAutomationConversation(params) {
|
|
172
|
+
const { conversations } = await client.listConversations();
|
|
173
|
+
const existing = findAutomationConversation(conversations, params.metadata);
|
|
174
|
+
const normalizedTitle = params.title.trim() || "Automation";
|
|
175
|
+
if (existing) {
|
|
176
|
+
if (existing.title === normalizedTitle &&
|
|
177
|
+
metadataEquals(existing.metadata, params.metadata)) {
|
|
178
|
+
return existing;
|
|
179
|
+
}
|
|
180
|
+
const { conversation } = await client.updateConversation(existing.id, {
|
|
181
|
+
title: normalizedTitle,
|
|
182
|
+
metadata: params.metadata,
|
|
183
|
+
});
|
|
184
|
+
return conversation;
|
|
185
|
+
}
|
|
186
|
+
const { conversation } = await client.createConversation(normalizedTitle, {
|
|
187
|
+
metadata: params.metadata,
|
|
188
|
+
});
|
|
189
|
+
return conversation;
|
|
190
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Plugin list utilities — pure functions, constants, and type aliases
|
|
3
3
|
* shared across the plugin management UI.
|
|
4
4
|
*/
|
|
5
|
-
import { Binary, BookOpen, Bot, Brain, BrickWall, Briefcase, Calendar,
|
|
5
|
+
import { Binary, BookOpen, Bot, Brain, BrickWall, Briefcase, Calendar, Circle, CircleDashed, CircleDot, ClipboardList, Clock, Cloud, Command, Construction, CreditCard, Diamond, Dna, Eye, Feather, FileKey, FileText, Fingerprint, Gamepad, Gamepad2, GitBranch, Globe, Handshake, Hash, Layers, Leaf, Link, Lock, LockKeyhole, Mail, MessageCircle, MessageSquare, MessagesSquare, Mic, Monitor, MousePointer2, Package, PenTool, Phone, Pickaxe, Puzzle, RefreshCw, Rss, ScrollText, Send, Server, Settings, Shell, Shuffle, Smartphone, Sparkle, Sparkles, Square, Star, StickyNote, Target, Tornado, TrendingDown, Triangle, Bird, Video, Volume2, Wallet, Webhook, Wrench, Zap, } from "lucide-react";
|
|
6
6
|
import { resolveAppAssetUrl } from "../../utils";
|
|
7
7
|
import { autoLabel } from "../../utils/labels";
|
|
8
8
|
import { SHOWCASE_PLUGIN } from "../plugins/showcase-data";
|
|
@@ -395,7 +395,7 @@ export const DEFAULT_ICONS = {
|
|
|
395
395
|
discord: MessageCircle,
|
|
396
396
|
telegram: Send,
|
|
397
397
|
slack: Briefcase,
|
|
398
|
-
twitter:
|
|
398
|
+
twitter: Bird,
|
|
399
399
|
whatsapp: Smartphone,
|
|
400
400
|
signal: Lock,
|
|
401
401
|
imessage: MessageSquare,
|
|
@@ -435,10 +435,10 @@ export const DEFAULT_ICONS = {
|
|
|
435
435
|
cli: Hash,
|
|
436
436
|
code: Puzzle,
|
|
437
437
|
shell: Shell,
|
|
438
|
-
github:
|
|
438
|
+
github: GitBranch,
|
|
439
439
|
linear: Square,
|
|
440
440
|
mcp: Puzzle,
|
|
441
|
-
browser:
|
|
441
|
+
browser: Globe,
|
|
442
442
|
computeruse: MousePointer2,
|
|
443
443
|
n8n: Settings,
|
|
444
444
|
webhooks: Webhook,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* React context lives in `boot-config-react.tsx` so Bun/Node can import this
|
|
9
9
|
* module without loading `react` runtime (avoids Bun parsing @types/react).
|
|
10
10
|
*/
|
|
11
|
-
import type { AppBlockerSettingsCardProps, WebsiteBlockerSettingsCardProps } from "@elizaos/
|
|
11
|
+
import type { AppBlockerSettingsCardProps, WebsiteBlockerSettingsCardProps } from "@elizaos/shared/contracts/lifeops";
|
|
12
12
|
import type { StewardApprovalActionResponse, StewardPendingApproval, StewardTxRecord } from "@elizaos/app-steward/types/steward";
|
|
13
13
|
import type { ComponentType, ReactNode } from "react";
|
|
14
14
|
import type { CodingAgentSession } from "../api/client-types-cloud";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-config-store.d.ts","sourceRoot":"","sources":["../../../../../../app-core/src/config/boot-config-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,
|
|
1
|
+
{"version":3,"file":"boot-config-store.d.ts","sourceRoot":"","sources":["../../../../../../app-core/src/config/boot-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,20 @@ export declare function buildOnboardingStyleVoiceConfig(args: {
|
|
|
24
24
|
voiceApiKey: string;
|
|
25
25
|
cloudTtsSelected: boolean;
|
|
26
26
|
}): VoiceConfig | null;
|
|
27
|
+
export declare function buildOnboardingFeatureSubmitPayload(args: {
|
|
28
|
+
onboardingFeatureTelegram: boolean;
|
|
29
|
+
onboardingFeatureDiscord: boolean;
|
|
30
|
+
onboardingFeatureBrowser: boolean;
|
|
31
|
+
onboardingFeatureComputerUse: boolean;
|
|
32
|
+
}): {
|
|
33
|
+
connectors?: Record<string, {
|
|
34
|
+
enabled: true;
|
|
35
|
+
managed: true;
|
|
36
|
+
}>;
|
|
37
|
+
features?: Record<string, {
|
|
38
|
+
enabled: true;
|
|
39
|
+
}>;
|
|
40
|
+
};
|
|
27
41
|
export interface OnboardingCallbacksDeps {
|
|
28
42
|
/** Full result of useOnboardingState — state + all dispatch helpers. */
|
|
29
43
|
onboarding: OnboardingStateHook;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnboardingCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../app-core/src/state/useOnboardingCallbacks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAezC,OAAO,EAIL,KAAK,qBAAqB,EAE3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAmEhE,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAAG,WAAW,GAAG,IAAI,CA6BrB;
|
|
1
|
+
{"version":3,"file":"useOnboardingCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../app-core/src/state/useOnboardingCallbacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ async function persistOnboardingStyleVoice(args) {
|
|
|
117
117
|
},
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
-
function buildOnboardingFeatureSubmitPayload(args) {
|
|
120
|
+
export function buildOnboardingFeatureSubmitPayload(args) {
|
|
121
121
|
const connectors = args.onboardingFeatureTelegram || args.onboardingFeatureDiscord
|
|
122
122
|
? {
|
|
123
123
|
...(args.onboardingFeatureTelegram
|
|
@@ -41,8 +41,8 @@ export declare function usePluginsSkillsState({ setActionNotice, setPendingResta
|
|
|
41
41
|
handlePluginConfigSave: (pluginId: string, config: Record<string, string>) => Promise<void>;
|
|
42
42
|
skills: SkillInfo[];
|
|
43
43
|
setSkills: import("react").Dispatch<import("react").SetStateAction<SkillInfo[]>>;
|
|
44
|
-
skillsSubTab: "
|
|
45
|
-
setSkillsSubTab: import("react").Dispatch<import("react").SetStateAction<"
|
|
44
|
+
skillsSubTab: "browse" | "my";
|
|
45
|
+
setSkillsSubTab: import("react").Dispatch<import("react").SetStateAction<"browse" | "my">>;
|
|
46
46
|
skillCreateFormOpen: boolean;
|
|
47
47
|
setSkillCreateFormOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
48
48
|
skillCreateName: string;
|