@elizaos/agent 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-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 +63 -0
- 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/apps/app-training/src/core/training-orchestrator.d.ts.map +1 -1
- package/apps/app-training/src/core/training-orchestrator.js +4 -0
- package/apps/app-training/src/services/training-trigger.d.ts +32 -18
- package/apps/app-training/src/services/training-trigger.d.ts.map +1 -1
- package/apps/app-training/src/services/training-trigger.js +10 -1
- package/package.json +4 -4
- 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/lifeops-browser-packaging.d.ts +1 -1
- package/packages/agent/src/api/lifeops-browser-packaging.d.ts.map +1 -1
- package/packages/agent/src/api/lifeops-browser-packaging.js +1 -1
- 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/config/zod-schema.d.ts +2 -2
- package/packages/agent/src/config/zod-schema.providers-core.d.ts +3 -3
- 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/index.d.ts +1 -0
- package/packages/agent/src/providers/index.d.ts.map +1 -1
- package/packages/agent/src/providers/index.js +1 -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/coding-agent-context.d.ts +4 -4
- 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/agent/src/services/stream-manager.d.ts +1 -1
- 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/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/schemas/character.d.ts +3 -3
- 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/apps/app-lifeops/src/{types/app-blocker-settings-card.js → lifeops/subscriptions-types.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recent-conversations.d.ts","sourceRoot":"","sources":["../../../../../src/providers/recent-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,EAKT,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"recent-conversations.d.ts","sourceRoot":"","sources":["../../../../../src/providers/recent-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,EAKT,MAAM,eAAe,CAAC;AAiBvB,eAAO,MAAM,2BAA2B,EAAE,QA6GzC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { logger } from "@elizaos/core";
|
|
2
2
|
import { getValidationKeywordTerms } from "@elizaos/shared/validation-keywords";
|
|
3
|
+
import { extractConversationMetadataFromRoom, isAutomationConversationMetadata, } from "../api/conversation-metadata.js";
|
|
3
4
|
import { hasAdminAccess } from "../security/access.js";
|
|
4
5
|
import { formatRelativeTimestamp, formatSpeakerLabel, roomSourceTag, } from "./conversation-utils.js";
|
|
5
6
|
const MAX_RECENT_MESSAGES = 10;
|
|
@@ -21,6 +22,10 @@ export const recentConversationsProvider = {
|
|
|
21
22
|
return { text: "", values: {}, data: {} };
|
|
22
23
|
}
|
|
23
24
|
try {
|
|
25
|
+
const currentRoom = await runtime.getRoom(message.roomId);
|
|
26
|
+
if (isAutomationConversationMetadata(extractConversationMetadataFromRoom(currentRoom))) {
|
|
27
|
+
return { text: "", values: {}, data: {} };
|
|
28
|
+
}
|
|
24
29
|
const roomIds = await runtime.getRoomsForParticipant(entityId);
|
|
25
30
|
if (!roomIds || roomIds.length === 0) {
|
|
26
31
|
return { text: "", values: {}, data: {} };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relevant-conversations.d.ts","sourceRoot":"","sources":["../../../../../src/providers/relevant-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,EAKT,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"relevant-conversations.d.ts","sourceRoot":"","sources":["../../../../../src/providers/relevant-conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,EAKT,MAAM,eAAe,CAAC;AAgBvB,eAAO,MAAM,6BAA6B,EAAE,QA+G3C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { logger, ModelType } from "@elizaos/core";
|
|
2
2
|
import { getValidationKeywordTerms } from "@elizaos/shared/validation-keywords";
|
|
3
|
+
import { extractConversationMetadataFromRoom, isAutomationConversationMetadata, } from "../api/conversation-metadata.js";
|
|
3
4
|
import { formatRelativeTimestamp, formatSpeakerLabel, roomSourceTag, } from "./conversation-utils.js";
|
|
4
5
|
const MAX_RELEVANT_RESULTS = 10;
|
|
5
6
|
const MATCH_THRESHOLD = 0.7;
|
|
@@ -17,6 +18,10 @@ export const relevantConversationsProvider = {
|
|
|
17
18
|
return { text: "", values: {}, data: {} };
|
|
18
19
|
}
|
|
19
20
|
try {
|
|
21
|
+
const currentRoom = await runtime.getRoom(message.roomId);
|
|
22
|
+
if (isAutomationConversationMetadata(extractConversationMetadataFromRoom(currentRoom))) {
|
|
23
|
+
return { text: "", values: {}, data: {} };
|
|
24
|
+
}
|
|
20
25
|
// Embed the current message for semantic search
|
|
21
26
|
const embeddingResult = await runtime.useModel(ModelType.TEXT_EMBEDDING, {
|
|
22
27
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-name.d.ts","sourceRoot":"","sources":["../../../../../src/providers/user-name.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"user-name.d.ts","sourceRoot":"","sources":["../../../../../src/providers/user-name.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAGV,QAAQ,EAGT,MAAM,eAAe,CAAC;AAIvB,wBAAgB,sBAAsB,IAAI,QAAQ,CAwCjD"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* Only active for `source === "client_chat"` so it never leaks into Telegram,
|
|
7
7
|
* Discord, or other connectors.
|
|
8
8
|
*/
|
|
9
|
-
import { fetchConfiguredOwnerName } from "@elizaos/app-lifeops/lifeops/owner-profile";
|
|
10
9
|
import { hasOwnerAccess } from "../security/access.js";
|
|
10
|
+
import { fetchConfiguredOwnerName } from "../services/owner-name.js";
|
|
11
11
|
export function createUserNameProvider() {
|
|
12
12
|
return {
|
|
13
13
|
name: "userName",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eliza-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/eliza-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAiB,MAAM,EAAgB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"eliza-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/eliza-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAiB,MAAM,EAAgB,MAAM,eAAe,CAAC;AAgDzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CA4JpE"}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { AgentEventService } from "@elizaos/core";
|
|
9
9
|
import { launchAppAction, stopAppAction } from "../actions/app-control.js";
|
|
10
|
+
import { browserSessionAction } from "../actions/browser-session.js";
|
|
10
11
|
import { readEntityAction, searchEntityAction, } from "../actions/entity-actions.js";
|
|
12
|
+
import { extractPageAction } from "../actions/extract-page.js";
|
|
11
13
|
import { manageTasksAction } from "../actions/manage-tasks.js";
|
|
12
14
|
import { readChannelAction } from "../actions/read-channel.js";
|
|
13
15
|
import { restartAction } from "../actions/restart.js";
|
|
@@ -20,6 +22,7 @@ import { webSearchAction } from "../actions/web-search.js";
|
|
|
20
22
|
import { lateJoinWhitelistEvaluator } from "../evaluators/late-join-whitelist.js";
|
|
21
23
|
import { adminPanelProvider } from "../providers/admin-panel.js";
|
|
22
24
|
import { adminTrustProvider } from "../providers/admin-trust.js";
|
|
25
|
+
import { automationTerminalBridgeProvider } from "../providers/automation-terminal-bridge.js";
|
|
23
26
|
import { escalationTriggerProvider } from "../providers/escalation-trigger.js";
|
|
24
27
|
import { recentConversationsProvider } from "../providers/recent-conversations.js";
|
|
25
28
|
import { relevantConversationsProvider } from "../providers/relevant-conversations.js";
|
|
@@ -137,6 +140,7 @@ export function createElizaPlugin(config) {
|
|
|
137
140
|
},
|
|
138
141
|
providers: [
|
|
139
142
|
...baseProviders,
|
|
143
|
+
automationTerminalBridgeProvider,
|
|
140
144
|
recentConversationsProvider,
|
|
141
145
|
relevantConversationsProvider,
|
|
142
146
|
rolodexProvider,
|
|
@@ -156,6 +160,8 @@ export function createElizaPlugin(config) {
|
|
|
156
160
|
setUserNameAction,
|
|
157
161
|
skillCommandAction,
|
|
158
162
|
webSearchAction,
|
|
163
|
+
extractPageAction,
|
|
164
|
+
browserSessionAction,
|
|
159
165
|
readChannelAction,
|
|
160
166
|
searchConversationsAction,
|
|
161
167
|
searchEntityAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/plugin-resolver.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AAgBxE,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAOpB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/plugin-resolver.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AAgBxE,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAOpB,MAAM,mBAAmB,CAAC;AAmW3B;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAkC5B;AAgCD,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAMnD;AAwVD;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,cAAc,EAAE,CAAC,CAqZ3B"}
|
|
@@ -52,6 +52,115 @@ function redactUserSegments(filepath) {
|
|
|
52
52
|
function sanitizePluginCacheSegment(value) {
|
|
53
53
|
return value.replace(/[^a-zA-Z0-9._-]+/g, "_");
|
|
54
54
|
}
|
|
55
|
+
function packageNodeModulesEntryPath(nodeModulesDir, packageName) {
|
|
56
|
+
return path.join(nodeModulesDir, ...packageName.split("/"));
|
|
57
|
+
}
|
|
58
|
+
async function pathEntryExists(targetPath) {
|
|
59
|
+
try {
|
|
60
|
+
await fs.lstat(targetPath);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error.code === "ENOENT") {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function readPluginPackageManifest(packageRoot) {
|
|
71
|
+
try {
|
|
72
|
+
return JSON.parse(await fs.readFile(path.join(packageRoot, "package.json"), "utf8"));
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (error.code === "ENOENT") {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function collectDeclaredPluginDependencies(manifest) {
|
|
82
|
+
const collected = new Map();
|
|
83
|
+
for (const name of Object.keys(manifest.dependencies ?? {})) {
|
|
84
|
+
collected.set(name, { name, optional: false });
|
|
85
|
+
}
|
|
86
|
+
for (const name of Object.keys(manifest.optionalDependencies ?? {})) {
|
|
87
|
+
if (!collected.has(name)) {
|
|
88
|
+
collected.set(name, { name, optional: true });
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
for (const name of Object.keys(manifest.peerDependencies ?? {})) {
|
|
92
|
+
if (collected.has(name)) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const optional = manifest.peerDependenciesMeta?.[name]?.optional === true;
|
|
96
|
+
collected.set(name, { name, optional });
|
|
97
|
+
}
|
|
98
|
+
return [...collected.values()].sort((left, right) => left.name.localeCompare(right.name));
|
|
99
|
+
}
|
|
100
|
+
async function stageDependencyIntoNodeModules(params) {
|
|
101
|
+
const sourcePath = packageNodeModulesEntryPath(params.sourceNodeModulesDir, params.dependencyName);
|
|
102
|
+
if (!(await pathEntryExists(sourcePath))) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
const targetPath = packageNodeModulesEntryPath(params.targetNodeModulesDir, params.dependencyName);
|
|
106
|
+
if (await pathEntryExists(targetPath)) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
await fs.mkdir(path.dirname(targetPath), { recursive: true });
|
|
110
|
+
const stat = await fs.lstat(sourcePath);
|
|
111
|
+
if (stat.isSymbolicLink()) {
|
|
112
|
+
await fs.symlink(await fs.realpath(sourcePath), targetPath);
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
if (!stat.isDirectory()) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
await fs.cp(sourcePath, targetPath, {
|
|
119
|
+
recursive: true,
|
|
120
|
+
force: true,
|
|
121
|
+
dereference: true,
|
|
122
|
+
});
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
async function ensureStagedPackageDependencies(params) {
|
|
126
|
+
const stagedNodeModulesPath = path.join(params.stagedPackageRoot, "node_modules");
|
|
127
|
+
if (!(await pathEntryExists(stagedNodeModulesPath))) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const manifest = await readPluginPackageManifest(params.packageRoot);
|
|
131
|
+
if (!manifest) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const dependencies = collectDeclaredPluginDependencies(manifest);
|
|
135
|
+
if (dependencies.length === 0) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const sourceNodeModulesDirs = uniquePaths([
|
|
139
|
+
path.join(params.packageRoot, "node_modules"),
|
|
140
|
+
path.join(params.installRoot, "node_modules"),
|
|
141
|
+
...(await findAncestorNodeModulesDirs(params.packageRoot)),
|
|
142
|
+
]);
|
|
143
|
+
for (const dependency of dependencies) {
|
|
144
|
+
const stagedDependencyPath = packageNodeModulesEntryPath(stagedNodeModulesPath, dependency.name);
|
|
145
|
+
if (await pathEntryExists(stagedDependencyPath)) {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
let staged = false;
|
|
149
|
+
for (const sourceNodeModulesDir of sourceNodeModulesDirs) {
|
|
150
|
+
staged = await stageDependencyIntoNodeModules({
|
|
151
|
+
dependencyName: dependency.name,
|
|
152
|
+
sourceNodeModulesDir,
|
|
153
|
+
targetNodeModulesDir: stagedNodeModulesPath,
|
|
154
|
+
});
|
|
155
|
+
if (staged) {
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (!staged && !dependency.optional) {
|
|
160
|
+
logger.warn(`[eliza] Staged plugin ${params.packageName} is missing declared dependency ${dependency.name}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
55
164
|
// ---------------------------------------------------------------------------
|
|
56
165
|
// Workspace plugin overrides
|
|
57
166
|
// ---------------------------------------------------------------------------
|
|
@@ -478,6 +587,12 @@ async function stagePluginImportRoot(params) {
|
|
|
478
587
|
packageRoot: params.packageRoot,
|
|
479
588
|
stagedPackageRoot,
|
|
480
589
|
});
|
|
590
|
+
await ensureStagedPackageDependencies({
|
|
591
|
+
installRoot: params.installRoot,
|
|
592
|
+
packageName: params.packageName,
|
|
593
|
+
packageRoot: params.packageRoot,
|
|
594
|
+
stagedPackageRoot,
|
|
595
|
+
});
|
|
481
596
|
return stagedPackageRoot;
|
|
482
597
|
}
|
|
483
598
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JSDOM } from "jsdom";
|
|
2
|
-
export type BrowserWorkspaceMode = "desktop" | "web";
|
|
2
|
+
export type BrowserWorkspaceMode = "cloud" | "desktop" | "web";
|
|
3
3
|
export type BrowserWorkspaceOperation = "list" | "open" | "navigate" | "show" | "hide" | "close" | "eval" | "screenshot";
|
|
4
4
|
export type BrowserWorkspaceSubaction = BrowserWorkspaceOperation | "back" | "batch" | "check" | "clipboard" | "click" | "fill" | "find" | "focus" | "forward" | "frame" | "get" | "hover" | "inspect" | "keydown" | "keyup" | "keyboardinserttext" | "keyboardtype" | "console" | "cookies" | "diff" | "dialog" | "press" | "drag" | "errors" | "highlight" | "mouse" | "network" | "pdf" | "profiler" | "reload" | "scroll" | "scrollinto" | "select" | "set" | "snapshot" | "state" | "storage" | "tab" | "trace" | "type" | "dblclick" | "upload" | "uncheck" | "wait" | "window";
|
|
5
5
|
export type BrowserWorkspaceGetMode = "attr" | "box" | "checked" | "count" | "enabled" | "html" | "styles" | "text" | "title" | "url" | "value" | "visible";
|
|
@@ -33,6 +33,10 @@ export interface BrowserWorkspaceTab {
|
|
|
33
33
|
createdAt: string;
|
|
34
34
|
updatedAt: string;
|
|
35
35
|
lastFocusedAt: string | null;
|
|
36
|
+
liveViewUrl?: string | null;
|
|
37
|
+
interactiveLiveViewUrl?: string | null;
|
|
38
|
+
status?: string | null;
|
|
39
|
+
provider?: string | null;
|
|
36
40
|
}
|
|
37
41
|
export interface BrowserWorkspaceSnapshot {
|
|
38
42
|
mode: BrowserWorkspaceMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-workspace-types.d.ts","sourceRoot":"","sources":["../../../../../src/services/browser-workspace-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-workspace-types.d.ts","sourceRoot":"","sources":["../../../../../src/services/browser-workspace-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-workspace.d.ts","sourceRoot":"","sources":["../../../../../src/services/browser-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAE/B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAGpF,OAAO,EAML,qCAAqC,EAGrC,kCAAkC,EAGlC,mCAAmC,EAIpC,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EACL,qCAAqC,EACrC,kCAAkC,EAClC,mCAAmC,GACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-workspace.d.ts","sourceRoot":"","sources":["../../../../../src/services/browser-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAE/B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAGpF,OAAO,EAML,qCAAqC,EAGrC,kCAAkC,EAGlC,mCAAmC,EAIpC,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EACL,qCAAqC,EACrC,kCAAkC,EAClC,mCAAmC,GACpC,CAAC;AA0DF,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,oBAAoB,CAQtB;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAKnC;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwBhC;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,EACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,EAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAsD9B;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,EACV,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,MAAM,EACV,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAmC9B;AAED,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,MAAM,EACV,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,EAC3C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,MAAM,EACV,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAK3B;AAoKD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,uBAAuB,EAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,6BAA6B,CAAC,CA6gBxC"}
|
|
@@ -36,11 +36,18 @@ import { createBrowserWorkspacePdfBuffer, createBrowserWorkspaceSnapshotRecord,
|
|
|
36
36
|
import { clearBrowserWorkspaceElementRefs, clearBrowserWorkspaceRuntimeState, getBrowserWorkspaceRuntimeState, getBrowserWorkspaceTimestamp, resetBrowserWorkspaceRuntimeNavigationState, webWorkspaceState, withWebStateLock, } from "./browser-workspace-state.js";
|
|
37
37
|
// ── Re-export web ────────────────────────────────────────────────────
|
|
38
38
|
import { executeWebBrowserWorkspaceDomCommand, executeWebBrowserWorkspaceUtilityCommand, findWebBrowserWorkspaceTargetTabId, getWebBrowserWorkspaceTabIndex, getWebBrowserWorkspaceTabState, } from "./browser-workspace-web.js";
|
|
39
|
+
import { createHostedCloudBrowserSession, deleteHostedCloudBrowserSession, executeHostedCloudBrowserCommand, getHostedCloudBrowserSession, isHostedCloudToolingConfigured, listHostedCloudBrowserSessions, navigateHostedCloudBrowserSession, snapshotHostedCloudBrowserSession, } from "./hosted-tools.js";
|
|
39
40
|
// ────────────────────────────────────────────────────────────────────
|
|
40
41
|
// Public API functions
|
|
41
42
|
// ────────────────────────────────────────────────────────────────────
|
|
42
43
|
export function getBrowserWorkspaceMode(env = process.env) {
|
|
43
|
-
|
|
44
|
+
if (isBrowserWorkspaceBridgeConfigured(env)) {
|
|
45
|
+
return "desktop";
|
|
46
|
+
}
|
|
47
|
+
if (isHostedCloudToolingConfigured(env)) {
|
|
48
|
+
return "cloud";
|
|
49
|
+
}
|
|
50
|
+
return "web";
|
|
44
51
|
}
|
|
45
52
|
export async function getBrowserWorkspaceSnapshot(env = process.env) {
|
|
46
53
|
return {
|
|
@@ -49,7 +56,11 @@ export async function getBrowserWorkspaceSnapshot(env = process.env) {
|
|
|
49
56
|
};
|
|
50
57
|
}
|
|
51
58
|
export async function listBrowserWorkspaceTabs(env = process.env) {
|
|
52
|
-
|
|
59
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
60
|
+
if (mode === "cloud") {
|
|
61
|
+
return listHostedCloudBrowserSessions(env);
|
|
62
|
+
}
|
|
63
|
+
if (mode === "web") {
|
|
53
64
|
return webWorkspaceState.tabs.map((tab) => ({
|
|
54
65
|
id: tab.id,
|
|
55
66
|
title: tab.title,
|
|
@@ -65,7 +76,15 @@ export async function listBrowserWorkspaceTabs(env = process.env) {
|
|
|
65
76
|
return Array.isArray(payload.tabs) ? payload.tabs : [];
|
|
66
77
|
}
|
|
67
78
|
export async function openBrowserWorkspaceTab(request, env = process.env) {
|
|
68
|
-
|
|
79
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
80
|
+
if (mode === "cloud") {
|
|
81
|
+
return createHostedCloudBrowserSession({
|
|
82
|
+
show: request.show,
|
|
83
|
+
title: request.title,
|
|
84
|
+
url: request.url,
|
|
85
|
+
}, env);
|
|
86
|
+
}
|
|
87
|
+
if (mode === "web") {
|
|
69
88
|
return withWebStateLock(() => {
|
|
70
89
|
const now = getBrowserWorkspaceTimestamp();
|
|
71
90
|
const url = assertBrowserWorkspaceUrl(request.url?.trim() || "about:blank");
|
|
@@ -109,7 +128,11 @@ export async function openBrowserWorkspaceTab(request, env = process.env) {
|
|
|
109
128
|
}
|
|
110
129
|
export async function navigateBrowserWorkspaceTab(request, env = process.env) {
|
|
111
130
|
const nextUrl = assertBrowserWorkspaceUrl(request.url);
|
|
112
|
-
|
|
131
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
132
|
+
if (mode === "cloud") {
|
|
133
|
+
return navigateHostedCloudBrowserSession(request.id, nextUrl, env);
|
|
134
|
+
}
|
|
135
|
+
if (mode === "web") {
|
|
113
136
|
return withWebStateLock(() => {
|
|
114
137
|
const index = getWebBrowserWorkspaceTabIndex(request.id);
|
|
115
138
|
if (index < 0) {
|
|
@@ -149,7 +172,11 @@ export async function navigateBrowserWorkspaceTab(request, env = process.env) {
|
|
|
149
172
|
return payload.tab;
|
|
150
173
|
}
|
|
151
174
|
export async function showBrowserWorkspaceTab(id, env = process.env) {
|
|
152
|
-
|
|
175
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
176
|
+
if (mode === "cloud") {
|
|
177
|
+
return getHostedCloudBrowserSession(id, env);
|
|
178
|
+
}
|
|
179
|
+
if (mode === "web") {
|
|
153
180
|
return withWebStateLock(() => {
|
|
154
181
|
getWebBrowserWorkspaceTabState(id);
|
|
155
182
|
const lastFocusedAt = getBrowserWorkspaceTimestamp();
|
|
@@ -166,7 +193,11 @@ export async function showBrowserWorkspaceTab(id, env = process.env) {
|
|
|
166
193
|
return payload.tab;
|
|
167
194
|
}
|
|
168
195
|
export async function hideBrowserWorkspaceTab(id, env = process.env) {
|
|
169
|
-
|
|
196
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
197
|
+
if (mode === "cloud") {
|
|
198
|
+
return getHostedCloudBrowserSession(id, env);
|
|
199
|
+
}
|
|
200
|
+
if (mode === "web") {
|
|
170
201
|
return withWebStateLock(() => {
|
|
171
202
|
const index = getWebBrowserWorkspaceTabIndex(id);
|
|
172
203
|
if (index < 0) {
|
|
@@ -190,7 +221,11 @@ export async function hideBrowserWorkspaceTab(id, env = process.env) {
|
|
|
190
221
|
return payload.tab;
|
|
191
222
|
}
|
|
192
223
|
export async function closeBrowserWorkspaceTab(id, env = process.env) {
|
|
193
|
-
|
|
224
|
+
const mode = getBrowserWorkspaceMode(env);
|
|
225
|
+
if (mode === "cloud") {
|
|
226
|
+
return deleteHostedCloudBrowserSession(id, env);
|
|
227
|
+
}
|
|
228
|
+
if (mode === "web") {
|
|
194
229
|
return withWebStateLock(() => {
|
|
195
230
|
const initialLength = webWorkspaceState.tabs.length;
|
|
196
231
|
clearWebBrowserWorkspaceTabElementRefs(id);
|
|
@@ -203,16 +238,152 @@ export async function closeBrowserWorkspaceTab(id, env = process.env) {
|
|
|
203
238
|
return payload.closed === true;
|
|
204
239
|
}
|
|
205
240
|
export async function evaluateBrowserWorkspaceTab(request, env = process.env) {
|
|
241
|
+
if (getBrowserWorkspaceMode(env) === "cloud") {
|
|
242
|
+
const result = await executeHostedCloudBrowserCommand(request.id, {
|
|
243
|
+
id: request.id,
|
|
244
|
+
script: request.script,
|
|
245
|
+
subaction: "eval",
|
|
246
|
+
}, env);
|
|
247
|
+
return result.output;
|
|
248
|
+
}
|
|
206
249
|
return evaluateBrowserWorkspaceTabDesktop(request, env);
|
|
207
250
|
}
|
|
208
251
|
export async function snapshotBrowserWorkspaceTab(id, env = process.env) {
|
|
252
|
+
if (getBrowserWorkspaceMode(env) === "cloud") {
|
|
253
|
+
return snapshotHostedCloudBrowserSession(id, env);
|
|
254
|
+
}
|
|
209
255
|
return snapshotBrowserWorkspaceTabDesktop(id, env);
|
|
210
256
|
}
|
|
257
|
+
async function resolveHostedCloudBrowserTargetTabId(command, env) {
|
|
258
|
+
const explicitId = command.id?.trim();
|
|
259
|
+
if (explicitId) {
|
|
260
|
+
return explicitId;
|
|
261
|
+
}
|
|
262
|
+
const tabs = await listHostedCloudBrowserSessions(env);
|
|
263
|
+
const fallbackId = tabs.find((tab) => tab.visible)?.id ?? tabs[0]?.id;
|
|
264
|
+
if (!fallbackId) {
|
|
265
|
+
throw new Error("Eliza browser workspace command requires an active cloud browser session.");
|
|
266
|
+
}
|
|
267
|
+
return fallbackId;
|
|
268
|
+
}
|
|
269
|
+
async function executeHostedCloudBrowserWorkspaceCommand(command, env) {
|
|
270
|
+
if (command.subaction === "list") {
|
|
271
|
+
return {
|
|
272
|
+
mode: "cloud",
|
|
273
|
+
subaction: command.subaction,
|
|
274
|
+
tabs: await listHostedCloudBrowserSessions(env),
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
if (command.subaction === "open" || command.subaction === "window") {
|
|
278
|
+
return {
|
|
279
|
+
mode: "cloud",
|
|
280
|
+
subaction: command.subaction,
|
|
281
|
+
tab: await createHostedCloudBrowserSession({
|
|
282
|
+
show: command.show ?? true,
|
|
283
|
+
title: command.title,
|
|
284
|
+
url: command.url,
|
|
285
|
+
}, env),
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
if (command.subaction === "tab") {
|
|
289
|
+
const action = command.tabAction ?? "list";
|
|
290
|
+
if (action === "list") {
|
|
291
|
+
return {
|
|
292
|
+
mode: "cloud",
|
|
293
|
+
subaction: command.subaction,
|
|
294
|
+
tabs: await listHostedCloudBrowserSessions(env),
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
if (action === "new") {
|
|
298
|
+
return {
|
|
299
|
+
mode: "cloud",
|
|
300
|
+
subaction: command.subaction,
|
|
301
|
+
tab: await createHostedCloudBrowserSession({
|
|
302
|
+
show: command.show ?? true,
|
|
303
|
+
title: command.title,
|
|
304
|
+
url: command.url,
|
|
305
|
+
}, env),
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
if (action === "switch") {
|
|
309
|
+
const targetId = await resolveHostedCloudBrowserTargetTabId(command, env);
|
|
310
|
+
return {
|
|
311
|
+
mode: "cloud",
|
|
312
|
+
subaction: command.subaction,
|
|
313
|
+
tab: await getHostedCloudBrowserSession(targetId, env),
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
const targetId = await resolveHostedCloudBrowserTargetTabId(command, env);
|
|
317
|
+
return {
|
|
318
|
+
mode: "cloud",
|
|
319
|
+
subaction: command.subaction,
|
|
320
|
+
closed: await deleteHostedCloudBrowserSession(targetId, env),
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
if (command.subaction === "show" || command.subaction === "hide") {
|
|
324
|
+
const targetId = await resolveHostedCloudBrowserTargetTabId(command, env);
|
|
325
|
+
return {
|
|
326
|
+
mode: "cloud",
|
|
327
|
+
subaction: command.subaction,
|
|
328
|
+
tab: await getHostedCloudBrowserSession(targetId, env),
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
if (command.subaction === "close") {
|
|
332
|
+
const targetId = await resolveHostedCloudBrowserTargetTabId(command, env);
|
|
333
|
+
return {
|
|
334
|
+
mode: "cloud",
|
|
335
|
+
subaction: command.subaction,
|
|
336
|
+
closed: await deleteHostedCloudBrowserSession(targetId, env),
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
if (command.subaction === "navigate" && !command.id?.trim()) {
|
|
340
|
+
return {
|
|
341
|
+
mode: "cloud",
|
|
342
|
+
subaction: command.subaction,
|
|
343
|
+
tab: await createHostedCloudBrowserSession({
|
|
344
|
+
show: command.show ?? true,
|
|
345
|
+
title: command.title,
|
|
346
|
+
url: command.url,
|
|
347
|
+
}, env),
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
const targetId = await resolveHostedCloudBrowserTargetTabId(command, env);
|
|
351
|
+
if (command.subaction === "navigate") {
|
|
352
|
+
return {
|
|
353
|
+
mode: "cloud",
|
|
354
|
+
subaction: command.subaction,
|
|
355
|
+
tab: await navigateHostedCloudBrowserSession(targetId, command.url ?? "", env),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
if (command.subaction === "screenshot" || command.subaction === "snapshot") {
|
|
359
|
+
return {
|
|
360
|
+
mode: "cloud",
|
|
361
|
+
subaction: command.subaction,
|
|
362
|
+
snapshot: await snapshotHostedCloudBrowserSession(targetId, env),
|
|
363
|
+
tab: await getHostedCloudBrowserSession(targetId, env),
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
const result = await executeHostedCloudBrowserCommand(targetId, {
|
|
367
|
+
...command,
|
|
368
|
+
id: targetId,
|
|
369
|
+
}, env);
|
|
370
|
+
return {
|
|
371
|
+
mode: "cloud",
|
|
372
|
+
subaction: command.subaction,
|
|
373
|
+
snapshot: result.snapshot,
|
|
374
|
+
tab: result.session,
|
|
375
|
+
value: result.output,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
211
378
|
// ────────────────────────────────────────────────────────────────────
|
|
212
379
|
// Main command router
|
|
213
380
|
// ────────────────────────────────────────────────────────────────────
|
|
214
381
|
export async function executeBrowserWorkspaceCommand(command, env = process.env) {
|
|
215
382
|
command = normalizeBrowserWorkspaceCommand(command);
|
|
383
|
+
if (getBrowserWorkspaceMode(env) === "cloud" &&
|
|
384
|
+
command.subaction !== "batch") {
|
|
385
|
+
return executeHostedCloudBrowserWorkspaceCommand(command, env);
|
|
386
|
+
}
|
|
216
387
|
switch (command.subaction) {
|
|
217
388
|
case "batch": {
|
|
218
389
|
const steps = Array.isArray(command.steps) ? command.steps : [];
|
|
@@ -54,8 +54,8 @@ export declare const HumanFeedbackSchema: z.ZodObject<{
|
|
|
54
54
|
type: z.ZodEnum<{
|
|
55
55
|
approval: "approval";
|
|
56
56
|
correction: "correction";
|
|
57
|
-
guidance: "guidance";
|
|
58
57
|
rejection: "rejection";
|
|
58
|
+
guidance: "guidance";
|
|
59
59
|
}>;
|
|
60
60
|
}, z.core.$strip>;
|
|
61
61
|
/** Schema for a single iteration of the coding agent loop. */
|
|
@@ -105,8 +105,8 @@ export declare const CodingIterationSchema: z.ZodObject<{
|
|
|
105
105
|
type: z.ZodEnum<{
|
|
106
106
|
approval: "approval";
|
|
107
107
|
correction: "correction";
|
|
108
|
-
guidance: "guidance";
|
|
109
108
|
rejection: "rejection";
|
|
109
|
+
guidance: "guidance";
|
|
110
110
|
}>;
|
|
111
111
|
}, z.core.$strip>>>;
|
|
112
112
|
selfCorrected: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -209,8 +209,8 @@ export declare const CodingAgentContextSchema: z.ZodObject<{
|
|
|
209
209
|
type: z.ZodEnum<{
|
|
210
210
|
approval: "approval";
|
|
211
211
|
correction: "correction";
|
|
212
|
-
guidance: "guidance";
|
|
213
212
|
rejection: "rejection";
|
|
213
|
+
guidance: "guidance";
|
|
214
214
|
}>;
|
|
215
215
|
}, z.core.$strip>>>;
|
|
216
216
|
selfCorrected: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -224,8 +224,8 @@ export declare const CodingAgentContextSchema: z.ZodObject<{
|
|
|
224
224
|
type: z.ZodEnum<{
|
|
225
225
|
approval: "approval";
|
|
226
226
|
correction: "correction";
|
|
227
|
-
guidance: "guidance";
|
|
228
227
|
rejection: "rejection";
|
|
228
|
+
guidance: "guidance";
|
|
229
229
|
}>;
|
|
230
230
|
}, z.core.$strip>>>;
|
|
231
231
|
createdAt: z.ZodNumber;
|