@elizaos/plugin-discord 2.0.0-beta.1 → 2.0.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +28 -68
  2. package/package.json +28 -10
  3. package/dist/account-client-pool.d.ts +0 -35
  4. package/dist/account-client-pool.d.ts.map +0 -1
  5. package/dist/accounts.d.ts +0 -164
  6. package/dist/accounts.d.ts.map +0 -1
  7. package/dist/actions/actionResultSemantics.d.ts +0 -9
  8. package/dist/actions/actionResultSemantics.d.ts.map +0 -1
  9. package/dist/actions/setup-credentials.d.ts +0 -25
  10. package/dist/actions/setup-credentials.d.ts.map +0 -1
  11. package/dist/addressing.d.ts +0 -15
  12. package/dist/addressing.d.ts.map +0 -1
  13. package/dist/allowlist.d.ts +0 -198
  14. package/dist/allowlist.d.ts.map +0 -1
  15. package/dist/attachments.d.ts +0 -93
  16. package/dist/attachments.d.ts.map +0 -1
  17. package/dist/auto-enable.d.ts +0 -4
  18. package/dist/auto-enable.d.ts.map +0 -1
  19. package/dist/banner.d.ts +0 -39
  20. package/dist/banner.d.ts.map +0 -1
  21. package/dist/compat.d.ts +0 -57
  22. package/dist/compat.d.ts.map +0 -1
  23. package/dist/config.d.ts +0 -156
  24. package/dist/config.d.ts.map +0 -1
  25. package/dist/connector-account-provider.d.ts +0 -26
  26. package/dist/connector-account-provider.d.ts.map +0 -1
  27. package/dist/constants.d.ts +0 -2
  28. package/dist/constants.d.ts.map +0 -1
  29. package/dist/debouncer.d.ts +0 -28
  30. package/dist/debouncer.d.ts.map +0 -1
  31. package/dist/discord-avatar-cache.d.ts +0 -10
  32. package/dist/discord-avatar-cache.d.ts.map +0 -1
  33. package/dist/discord-commands.d.ts +0 -16
  34. package/dist/discord-commands.d.ts.map +0 -1
  35. package/dist/discord-events.d.ts +0 -56
  36. package/dist/discord-events.d.ts.map +0 -1
  37. package/dist/discord-history.d.ts +0 -56
  38. package/dist/discord-history.d.ts.map +0 -1
  39. package/dist/discord-interactions.d.ts +0 -47
  40. package/dist/discord-interactions.d.ts.map +0 -1
  41. package/dist/discord-local-service.d.ts +0 -94
  42. package/dist/discord-local-service.d.ts.map +0 -1
  43. package/dist/discord-profiles.d.ts +0 -26
  44. package/dist/discord-profiles.d.ts.map +0 -1
  45. package/dist/discord-reactions.d.ts +0 -30
  46. package/dist/discord-reactions.d.ts.map +0 -1
  47. package/dist/draft-chunking.d.ts +0 -9
  48. package/dist/draft-chunking.d.ts.map +0 -1
  49. package/dist/draft-stream.d.ts +0 -23
  50. package/dist/draft-stream.d.ts.map +0 -1
  51. package/dist/environment.d.ts +0 -23
  52. package/dist/environment.d.ts.map +0 -1
  53. package/dist/generated/specs/spec-helpers.d.ts +0 -36
  54. package/dist/generated/specs/spec-helpers.d.ts.map +0 -1
  55. package/dist/generated/specs/specs.d.ts +0 -52
  56. package/dist/generated/specs/specs.d.ts.map +0 -1
  57. package/dist/identity.d.ts +0 -8
  58. package/dist/identity.d.ts.map +0 -1
  59. package/dist/inbound-envelope.d.ts +0 -8
  60. package/dist/inbound-envelope.d.ts.map +0 -1
  61. package/dist/index.browser.d.ts +0 -34
  62. package/dist/index.browser.d.ts.map +0 -1
  63. package/dist/index.d.ts +0 -22
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/index.js +0 -13784
  66. package/dist/index.js.map +0 -56
  67. package/dist/message-coalesce.d.ts +0 -31
  68. package/dist/message-coalesce.d.ts.map +0 -1
  69. package/dist/messages.d.ts +0 -66
  70. package/dist/messages.d.ts.map +0 -1
  71. package/dist/messaging.d.ts +0 -129
  72. package/dist/messaging.d.ts.map +0 -1
  73. package/dist/native-commands.d.ts +0 -142
  74. package/dist/native-commands.d.ts.map +0 -1
  75. package/dist/owner-pairing-service.d.ts +0 -73
  76. package/dist/owner-pairing-service.d.ts.map +0 -1
  77. package/dist/permissionEvents.d.ts +0 -42
  78. package/dist/permissionEvents.d.ts.map +0 -1
  79. package/dist/permissions.d.ts +0 -36
  80. package/dist/permissions.d.ts.map +0 -1
  81. package/dist/profileSync.d.ts +0 -8
  82. package/dist/profileSync.d.ts.map +0 -1
  83. package/dist/reasoning-tags.d.ts +0 -2
  84. package/dist/reasoning-tags.d.ts.map +0 -1
  85. package/dist/service.d.ts +0 -298
  86. package/dist/service.d.ts.map +0 -1
  87. package/dist/setup-routes.d.ts +0 -23
  88. package/dist/setup-routes.d.ts.map +0 -1
  89. package/dist/slash-commands.d.ts +0 -39
  90. package/dist/slash-commands.d.ts.map +0 -1
  91. package/dist/staleness.d.ts +0 -25
  92. package/dist/staleness.d.ts.map +0 -1
  93. package/dist/status-reactions.d.ts +0 -11
  94. package/dist/status-reactions.d.ts.map +0 -1
  95. package/dist/test-setup.d.ts +0 -1
  96. package/dist/test-setup.d.ts.map +0 -1
  97. package/dist/tests.d.ts +0 -123
  98. package/dist/tests.d.ts.map +0 -1
  99. package/dist/types.d.ts +0 -339
  100. package/dist/types.d.ts.map +0 -1
  101. package/dist/typing.d.ts +0 -7
  102. package/dist/typing.d.ts.map +0 -1
  103. package/dist/user-account-scraper/discord-browser-scraper.d.ts +0 -118
  104. package/dist/user-account-scraper/discord-browser-scraper.d.ts.map +0 -1
  105. package/dist/user-account-scraper/discord-desktop-cdp.d.ts +0 -33
  106. package/dist/user-account-scraper/discord-desktop-cdp.d.ts.map +0 -1
  107. package/dist/user-account-scraper/index.d.ts +0 -15
  108. package/dist/user-account-scraper/index.d.ts.map +0 -1
  109. package/dist/user-account-scraper/service.d.ts +0 -92
  110. package/dist/user-account-scraper/service.d.ts.map +0 -1
  111. package/dist/utils.d.ts +0 -51
  112. package/dist/utils.d.ts.map +0 -1
  113. package/dist/vitest.config.d.ts +0 -3
  114. package/dist/vitest.config.d.ts.map +0 -1
  115. package/dist/voice.d.ts +0 -235
  116. package/dist/voice.d.ts.map +0 -1
package/dist/types.d.ts DELETED
@@ -1,339 +0,0 @@
1
- import type { ChannelType, Character, EntityPayload, EventPayload, IAgentRuntime, Media, Memory, MessagePayload, ReplyToMode, WorldPayload } from "@elizaos/core";
2
- import type { Channel, Client as DiscordJsClient, Guild, GuildMember, Interaction, Message, MessageReaction, User, VoiceState } from "discord.js";
3
- /**
4
- * Discord-specific event types
5
- */
6
- export declare enum DiscordEventTypes {
7
- MESSAGE_RECEIVED = "DISCORD_MESSAGE_RECEIVED",
8
- MESSAGE_SENT = "DISCORD_MESSAGE_SENT",
9
- SLASH_COMMAND = "DISCORD_SLASH_COMMAND",
10
- MODAL_SUBMIT = "DISCORD_MODAL_SUBMIT",
11
- REACTION_RECEIVED = "DISCORD_REACTION_RECEIVED",
12
- REACTION_REMOVED = "DISCORD_REACTION_REMOVED",
13
- WORLD_JOINED = "DISCORD_WORLD_JOINED",
14
- WORLD_CONNECTED = "DISCORD_SERVER_CONNECTED",
15
- ENTITY_JOINED = "DISCORD_USER_JOINED",
16
- ENTITY_LEFT = "DISCORD_USER_LEFT",
17
- VOICE_STATE_CHANGED = "DISCORD_VOICE_STATE_CHANGED",
18
- CHANNEL_PERMISSIONS_CHANGED = "DISCORD_CHANNEL_PERMISSIONS_CHANGED",
19
- ROLE_PERMISSIONS_CHANGED = "DISCORD_ROLE_PERMISSIONS_CHANGED",
20
- MEMBER_ROLES_CHANGED = "DISCORD_MEMBER_ROLES_CHANGED",
21
- ROLE_CREATED = "DISCORD_ROLE_CREATED",
22
- ROLE_DELETED = "DISCORD_ROLE_DELETED",
23
- LISTEN_CHANNEL_MESSAGE = "DISCORD_LISTEN_CHANNEL_MESSAGE",
24
- NOT_IN_CHANNELS_MESSAGE = "DISCORD_NOT_IN_CHANNELS_MESSAGE"
25
- }
26
- export interface DiscordMessageReceivedPayload extends MessagePayload {
27
- originalMessage: Message;
28
- accountId?: string;
29
- }
30
- export interface DiscordMessageSentPayload extends MessagePayload {
31
- originalMessages: Message[];
32
- accountId?: string;
33
- }
34
- export interface DiscordReactionPayload extends MessagePayload {
35
- originalReaction: MessageReaction;
36
- user: User;
37
- accountId?: string;
38
- }
39
- export interface DiscordServerPayload extends WorldPayload {
40
- server: Guild;
41
- }
42
- export interface DiscordUserJoinedPayload extends EntityPayload {
43
- member: GuildMember;
44
- }
45
- export interface DiscordUserLeftPayload extends EntityPayload {
46
- member: GuildMember;
47
- }
48
- export interface DiscordVoiceStateChangedPayload {
49
- voiceState: VoiceState;
50
- }
51
- export interface DiscordListenChannelPayload {
52
- runtime: IAgentRuntime;
53
- message: Memory;
54
- source: string;
55
- accountId?: string;
56
- }
57
- export interface DiscordNotInChannelsPayload {
58
- runtime: IAgentRuntime;
59
- message: Message;
60
- source: string;
61
- accountId?: string;
62
- }
63
- export type PermissionState = "ALLOW" | "DENY" | "NEUTRAL";
64
- export interface PermissionDiff {
65
- permission: string;
66
- oldState: PermissionState;
67
- newState: PermissionState;
68
- }
69
- export interface AuditInfo {
70
- executorId: string;
71
- executorTag: string;
72
- reason: string | null;
73
- }
74
- export interface ChannelPermissionsChangedPayload extends EventPayload {
75
- guild: {
76
- id: string;
77
- name: string;
78
- };
79
- channel: {
80
- id: string;
81
- name: string;
82
- };
83
- target: {
84
- type: "role" | "user";
85
- id: string;
86
- name: string;
87
- };
88
- action: "CREATE" | "UPDATE" | "DELETE";
89
- changes: PermissionDiff[];
90
- audit: AuditInfo | null;
91
- }
92
- export interface RolePermissionsChangedPayload extends EventPayload {
93
- guild: {
94
- id: string;
95
- name: string;
96
- };
97
- role: {
98
- id: string;
99
- name: string;
100
- };
101
- changes: PermissionDiff[];
102
- audit: AuditInfo | null;
103
- }
104
- export interface MemberRolesChangedPayload extends EventPayload {
105
- guild: {
106
- id: string;
107
- name: string;
108
- };
109
- member: {
110
- id: string;
111
- tag: string;
112
- };
113
- added: Array<{
114
- id: string;
115
- name: string;
116
- permissions: string[];
117
- }>;
118
- removed: Array<{
119
- id: string;
120
- name: string;
121
- permissions: string[];
122
- }>;
123
- audit: AuditInfo | null;
124
- }
125
- export interface RoleLifecyclePayload extends EventPayload {
126
- guild: {
127
- id: string;
128
- name: string;
129
- };
130
- role: {
131
- id: string;
132
- name: string;
133
- permissions: string[];
134
- };
135
- audit: AuditInfo | null;
136
- }
137
- export interface DiscordSlashCommand {
138
- name: string;
139
- description: string;
140
- options?: Array<{
141
- name: string;
142
- type: number;
143
- description: string;
144
- required?: boolean;
145
- channel_types?: number[];
146
- }>;
147
- guildOnly?: boolean;
148
- bypassChannelWhitelist?: boolean;
149
- requiredPermissions?: bigint | string | null;
150
- contexts?: number[];
151
- guildIds?: string[];
152
- validator?: (interaction: Interaction, runtime: IAgentRuntime) => Promise<boolean>;
153
- }
154
- export interface DiscordRegisterCommandsPayload extends EventPayload {
155
- commands: DiscordSlashCommand[];
156
- }
157
- export interface DiscordSlashCommandPayload extends EventPayload {
158
- interaction: Interaction;
159
- client: DiscordJsClient;
160
- commands: DiscordSlashCommand[];
161
- accountId?: string;
162
- }
163
- export interface DiscordEventPayloadMap {
164
- [DiscordEventTypes.MESSAGE_RECEIVED]: DiscordMessageReceivedPayload;
165
- [DiscordEventTypes.MESSAGE_SENT]: DiscordMessageSentPayload;
166
- [DiscordEventTypes.REACTION_RECEIVED]: DiscordReactionPayload;
167
- [DiscordEventTypes.REACTION_REMOVED]: DiscordReactionPayload;
168
- [DiscordEventTypes.WORLD_JOINED]: DiscordServerPayload;
169
- [DiscordEventTypes.WORLD_CONNECTED]: DiscordServerPayload;
170
- [DiscordEventTypes.ENTITY_JOINED]: DiscordUserJoinedPayload;
171
- [DiscordEventTypes.ENTITY_LEFT]: DiscordUserLeftPayload;
172
- [DiscordEventTypes.SLASH_COMMAND]: DiscordSlashCommandPayload;
173
- [DiscordEventTypes.MODAL_SUBMIT]: DiscordSlashCommandPayload;
174
- [DiscordEventTypes.VOICE_STATE_CHANGED]: DiscordVoiceStateChangedPayload;
175
- [DiscordEventTypes.CHANNEL_PERMISSIONS_CHANGED]: ChannelPermissionsChangedPayload;
176
- [DiscordEventTypes.ROLE_PERMISSIONS_CHANGED]: RolePermissionsChangedPayload;
177
- [DiscordEventTypes.MEMBER_ROLES_CHANGED]: MemberRolesChangedPayload;
178
- [DiscordEventTypes.ROLE_CREATED]: RoleLifecyclePayload;
179
- [DiscordEventTypes.ROLE_DELETED]: RoleLifecyclePayload;
180
- [DiscordEventTypes.LISTEN_CHANNEL_MESSAGE]: DiscordListenChannelPayload;
181
- [DiscordEventTypes.NOT_IN_CHANNELS_MESSAGE]: DiscordNotInChannelsPayload;
182
- }
183
- export type JsonValue = string | number | boolean | null | JsonValue[] | {
184
- [key: string]: JsonValue;
185
- };
186
- export type JsonObject = {
187
- [key: string]: JsonValue;
188
- };
189
- export interface BuildMemoryFromMessageOptions {
190
- processedContent?: string;
191
- processedAttachments?: Media[];
192
- extraContent?: JsonObject;
193
- extraMetadata?: Record<string, unknown>;
194
- accountId?: string;
195
- }
196
- export interface IDiscordService {
197
- accountId?: string;
198
- client: DiscordJsClient | null;
199
- character: Character;
200
- discordSettings?: DiscordSettings;
201
- getChannelType: (channel: Channel) => Promise<ChannelType>;
202
- buildMemoryFromMessage: (message: Message, options?: BuildMemoryFromMessageOptions) => Promise<Memory | null>;
203
- }
204
- export declare const DISCORD_SERVICE_NAME = "discord";
205
- export declare const ServiceType: {
206
- readonly DISCORD: "discord";
207
- };
208
- export interface DiscordComponentOptions {
209
- type: number;
210
- custom_id: string;
211
- label?: string;
212
- style?: number;
213
- placeholder?: string;
214
- min_values?: number;
215
- max_values?: number;
216
- options?: Array<{
217
- label: string;
218
- value: string;
219
- description?: string;
220
- }>;
221
- }
222
- export interface DiscordActionRow {
223
- type: 1;
224
- components: DiscordComponentOptions[];
225
- }
226
- /**
227
- * DM access policy for Discord messages.
228
- * - "open": Allow all DMs
229
- * - "allowlist": Only allow DMs from users in allowFrom list
230
- * - "pairing": Require pairing code approval for new DM senders
231
- * - "disabled": Ignore all DMs
232
- */
233
- export type DiscordDmPolicy = "open" | "allowlist" | "pairing" | "disabled";
234
- export interface DiscordSettings {
235
- allowedChannelIds?: string[];
236
- shouldIgnoreBotMessages?: boolean;
237
- shouldIgnoreDirectMessages?: boolean;
238
- shouldRespondOnlyToMentions?: boolean;
239
- replyToMode?: ReplyToMode;
240
- /** DM access policy (default: "pairing") */
241
- dmPolicy?: DiscordDmPolicy;
242
- /** List of allowed Discord user IDs for allowlist policy */
243
- allowFrom?: string[];
244
- /** Whether the connector should synchronize the bot profile on startup. */
245
- syncProfile?: boolean;
246
- /** Optional explicit bot username override; falls back to character.name. */
247
- profileName?: string;
248
- /** Optional avatar source (https URL, data URI, or local file path). */
249
- profileAvatar?: string;
250
- /**
251
- * When false (default), inbound messages are ingested into memory but the
252
- * agent does NOT auto-generate a reply. Sends only happen when the user
253
- * explicitly dispatches via LifeOps or chat command. Opt in by setting
254
- * DISCORD_AUTO_REPLY=true.
255
- */
256
- autoReply?: boolean;
257
- }
258
- export interface ChannelSpiderState {
259
- channelId: string;
260
- oldestMessageId?: string;
261
- newestMessageId?: string;
262
- oldestMessageTimestamp?: number;
263
- newestMessageTimestamp?: number;
264
- lastSpideredAt: number;
265
- fullyBackfilled: boolean;
266
- }
267
- export type BatchHandler = (batch: Memory[], stats: {
268
- page: number;
269
- totalFetched: number;
270
- totalStored: number;
271
- }) => Promise<boolean | undefined> | boolean | undefined;
272
- export interface ChannelHistoryOptions {
273
- accountId?: string;
274
- limit?: number;
275
- force?: boolean;
276
- onBatch?: BatchHandler;
277
- before?: string;
278
- after?: string;
279
- }
280
- export interface ChannelHistoryResult {
281
- messages: Memory[];
282
- stats: {
283
- fetched: number;
284
- stored: number;
285
- pages: number;
286
- fullyBackfilled: boolean;
287
- };
288
- }
289
- export interface DiscordApiCommand {
290
- name: string;
291
- description: string;
292
- options?: DiscordCommandOption[];
293
- default_member_permissions?: string | null;
294
- contexts?: number[];
295
- }
296
- export interface DiscordCommandOption {
297
- name: string;
298
- type: number;
299
- description: string;
300
- required?: boolean;
301
- channel_types?: number[];
302
- }
303
- export interface UserSelectionState {
304
- [key: string]: string | number | boolean | string[];
305
- }
306
- export interface DiscordMessageSendOptions {
307
- content: string;
308
- reply?: {
309
- messageReference: string;
310
- };
311
- files?: Array<{
312
- attachment: Buffer | string;
313
- name: string;
314
- }>;
315
- components?: DiscordActionRow[];
316
- }
317
- export declare class DiscordPluginError extends Error {
318
- readonly code: string;
319
- constructor(message: string, code: string);
320
- }
321
- export declare class DiscordServiceNotInitializedError extends DiscordPluginError {
322
- constructor();
323
- }
324
- export declare class DiscordClientNotAvailableError extends DiscordPluginError {
325
- constructor();
326
- }
327
- export declare class DiscordConfigurationError extends DiscordPluginError {
328
- constructor(missingConfig: string);
329
- }
330
- export declare class DiscordApiError extends DiscordPluginError {
331
- readonly apiErrorCode?: number;
332
- constructor(message: string, apiErrorCode?: number);
333
- }
334
- export type DiscordSnowflake = string & {
335
- readonly __brand: "DiscordSnowflake";
336
- };
337
- export declare function validateSnowflake(id: string): DiscordSnowflake;
338
- export declare function isValidSnowflake(id: string): id is DiscordSnowflake;
339
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
package/dist/typing.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { TextChannel } from "discord.js";
2
- export interface TypingController {
3
- start: () => void;
4
- stop: () => void;
5
- }
6
- export declare function createTypingController(channel: TextChannel, maxDurationMs?: number): TypingController;
7
- //# sourceMappingURL=typing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typing.d.ts","sourceRoot":"","sources":["../typing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CACjB;AAKD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,WAAW,EACpB,aAAa,GAAE,MAAgC,GAC7C,gBAAgB,CAgDlB"}
@@ -1,118 +0,0 @@
1
- import type { BrowserBridgePageContext } from "@elizaos/plugin-browser";
2
- export declare const DISCORD_PROVIDER_ID = "discord";
3
- export declare const DISCORD_APP_URL = "https://discord.com/channels/@me";
4
- export interface DiscordTabIdentity {
5
- id: string | null;
6
- username: string | null;
7
- discriminator: string | null;
8
- }
9
- export interface DiscordVisibleDmPreview {
10
- channelId: string | null;
11
- href: string | null;
12
- label: string;
13
- selected: boolean;
14
- unread: boolean;
15
- snippet: string | null;
16
- }
17
- export interface DiscordDmInboxProbe {
18
- visible: boolean;
19
- count: number;
20
- selectedChannelId: string | null;
21
- previews: DiscordVisibleDmPreview[];
22
- }
23
- export interface DiscordTabProbe {
24
- loggedIn: boolean;
25
- url: string | null;
26
- identity: DiscordTabIdentity;
27
- rawSnippet: string | null;
28
- dmInbox: DiscordDmInboxProbe;
29
- }
30
- export declare function emptyDiscordDmInboxProbe(): DiscordDmInboxProbe;
31
- export declare function probeDiscordCapturedPage(page: Pick<BrowserBridgePageContext, "url" | "title" | "mainText" | "links" | "forms"> | {
32
- url: string | null;
33
- title?: string | null;
34
- mainText?: string | null;
35
- links?: Array<{
36
- text: string;
37
- href: string;
38
- }>;
39
- forms?: Array<{
40
- action: string | null;
41
- fields: string[];
42
- }>;
43
- }): DiscordTabProbe;
44
- export declare function probeDiscordDocumentState(document: Document, url: string | null): DiscordTabProbe;
45
- export declare function buildDiscordProbeScript(): string;
46
- export declare function discordBrowserWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
47
- /**
48
- * Resolve the browser-workspace partition for a Discord user-account scrape
49
- * session. Each user account gets its own partition so cookies are not shared
50
- * across accounts. Single-account env-only deployments use DEFAULT_ACCOUNT_ID.
51
- */
52
- export declare function discordUserAccountPartitionFor(accountId?: string): string;
53
- export declare function ensureDiscordTab(args: {
54
- /**
55
- * Connector account ID. The browser partition is keyed off this so cookies
56
- * stay isolated across multiple Discord user accounts. Defaults to
57
- * DEFAULT_ACCOUNT_ID when omitted.
58
- */
59
- accountId?: string;
60
- existingTabId?: string | null;
61
- show?: boolean;
62
- env?: NodeJS.ProcessEnv;
63
- }): Promise<{
64
- tabId: string;
65
- url: string;
66
- }>;
67
- export declare function navigateDiscordTabToHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
68
- export declare function closeDiscordTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
69
- /**
70
- * Evaluate a probe inside the Discord tab to determine login state and
71
- * extract the current user. Returns `loggedIn: false` when the tab is on
72
- * the login screen, when the tab has not finished loading the app shell,
73
- * or when the selectors fail — never throws.
74
- */
75
- export declare function probeDiscordTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
76
- export interface DiscordMessageSearchResult {
77
- id: string | null;
78
- content: string;
79
- authorName: string | null;
80
- guildId: string | null;
81
- channelId: string | null;
82
- timestamp: string | null;
83
- /** Delivery status indicator derived from DOM state (partial). */
84
- deliveryStatus: "sent" | "sending" | "failed" | "unknown";
85
- }
86
- /**
87
- * Trigger Discord's native in-app search using the keyboard shortcut, wait
88
- * for results to render, then scrape them via DOM eval.
89
- *
90
- * The search uses Discord's own full-text index — no client-side filtering.
91
- * Results are scoped to the currently open DM or channel when a `channelId`
92
- * scope is provided (by navigating to that channel first), or global when
93
- * no scope is given.
94
- *
95
- * Because this relies on the browser workspace eval bridge, it requires a
96
- * live Discord tab (`tabId`).
97
- */
98
- export declare function searchDiscordMessages(args: {
99
- tabId: string;
100
- query: string;
101
- channelId?: string;
102
- env?: NodeJS.ProcessEnv;
103
- }): Promise<DiscordMessageSearchResult[]>;
104
- /**
105
- * Read the delivery status of recently sent messages visible in the currently
106
- * open Discord channel. Discord renders delivery indicators in the DOM:
107
- * - No indicator: delivered (server acknowledged).
108
- * - `[class*="sending"]`: sending in progress.
109
- * - `[class*="failed"]` / `[aria-label*="failed" i]`: send failed.
110
- *
111
- * This is inherently partial — only messages currently rendered in the
112
- * viewport can be inspected.
113
- */
114
- export declare function captureDiscordDeliveryStatus(args: {
115
- tabId: string;
116
- env?: NodeJS.ProcessEnv;
117
- }): Promise<DiscordMessageSearchResult[]>;
118
- //# sourceMappingURL=discord-browser-scraper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord-browser-scraper.d.ts","sourceRoot":"","sources":["../../user-account-scraper/discord-browser-scraper.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { type DiscordTabProbe } from "./discord-browser-scraper";
2
- export interface DiscordDesktopCdpStatus {
3
- supported: boolean;
4
- platform: NodeJS.Platform;
5
- port: number;
6
- appRunning: boolean;
7
- cdpAvailable: boolean;
8
- browserVersion: string | null;
9
- targetUrl: string | null;
10
- targetTitle: string | null;
11
- webSocketDebuggerUrl: string | null;
12
- probe: DiscordTabProbe | null;
13
- lastError: string | null;
14
- }
15
- export declare function getDiscordDesktopCdpStatus(env?: NodeJS.ProcessEnv): Promise<DiscordDesktopCdpStatus>;
16
- /**
17
- * Send a message to a Discord channel by driving the user's Discord Desktop
18
- * app through CDP. The local-execution path uses the user's own Discord
19
- * client, so the send appears as if the user typed it. This avoids the bot
20
- * REST path returning "Missing Access" on channels the bot is not a member
21
- * of (which is most DMs), and matches the same trust model as reads.
22
- */
23
- export declare function sendDiscordViaDesktopCdp(args: {
24
- channelId: string;
25
- text: string;
26
- env?: NodeJS.ProcessEnv;
27
- }): Promise<{
28
- ok: boolean;
29
- navigatedTo: string | null;
30
- error: string | null;
31
- }>;
32
- export declare function relaunchDiscordDesktopForCdp(env?: NodeJS.ProcessEnv): Promise<DiscordDesktopCdpStatus>;
33
- //# sourceMappingURL=discord-desktop-cdp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"discord-desktop-cdp.d.ts","sourceRoot":"","sources":["../../user-account-scraper/discord-desktop-cdp.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAyCnC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAiPD,wBAAsB,0BAA0B,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CA0FlC;AA8BD;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC;IACV,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC,CA2BD;AA8LD,wBAAsB,4BAA4B,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,CAAC,CAmClC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Discord user-account scraper — moved out of `app-lifeops` so it lives next
3
- * to the rest of the Discord connector code. The scraper drives a real Discord
4
- * web app inside a per-account browser-workspace partition (one set of cookies
5
- * per ConnectorAccount.id) and reads delivery state, DM previews, and search
6
- * results back through DOM eval.
7
- *
8
- * The desktop CDP path (`discord-desktop-cdp.ts`) is the fallback when the
9
- * Eliza Desktop Browser workspace is unavailable but a Discord desktop client
10
- * with the CDP debugger is running locally.
11
- */
12
- export { buildDiscordProbeScript, captureDiscordDeliveryStatus, closeDiscordTab, DISCORD_APP_URL, DISCORD_PROVIDER_ID, type DiscordDmInboxProbe, type DiscordMessageSearchResult, type DiscordTabIdentity, type DiscordTabProbe, type DiscordVisibleDmPreview, discordBrowserWorkspaceAvailable, discordUserAccountPartitionFor, emptyDiscordDmInboxProbe, ensureDiscordTab, navigateDiscordTabToHome, probeDiscordCapturedPage, probeDiscordDocumentState, probeDiscordTab, searchDiscordMessages, } from "./discord-browser-scraper";
13
- export { type DiscordDesktopCdpStatus, getDiscordDesktopCdpStatus, relaunchDiscordDesktopForCdp, sendDiscordViaDesktopCdp, } from "./discord-desktop-cdp";
14
- export { DISCORD_USER_ACCOUNT_SCRAPER_SERVICE_TYPE, type DiscordUserAccountScraper, DiscordUserAccountScraperImpl, } from "./service";
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../user-account-scraper/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yCAAyC,EACzC,KAAK,yBAAyB,EAC9B,6BAA6B,GAC9B,MAAM,WAAW,CAAC"}
@@ -1,92 +0,0 @@
1
- /**
2
- * DiscordUserAccountScraperService
3
- *
4
- * Wraps the per-account Discord browser scraper as an Eliza Service so
5
- * downstream plugins (e.g. app-lifeops) can resolve it via
6
- * `runtime.getService('discord_user_account_scraper')` instead of importing
7
- * the raw module.
8
- */
9
- import { type IAgentRuntime, Service } from "@elizaos/core";
10
- import { type DiscordMessageSearchResult, type DiscordTabProbe } from "./discord-browser-scraper";
11
- import { type DiscordDesktopCdpStatus } from "./discord-desktop-cdp";
12
- export declare const DISCORD_USER_ACCOUNT_SCRAPER_SERVICE_TYPE = "discord_user_account_scraper";
13
- /**
14
- * Public surface of the scraper. Each call carries a `accountId` so the
15
- * underlying browser partition is correctly scoped.
16
- */
17
- export interface DiscordUserAccountScraper {
18
- isWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
19
- partitionFor(accountId?: string): string;
20
- ensureTab(args: {
21
- accountId?: string;
22
- existingTabId?: string | null;
23
- show?: boolean;
24
- env?: NodeJS.ProcessEnv;
25
- }): Promise<{
26
- tabId: string;
27
- url: string;
28
- }>;
29
- navigateTabHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
30
- closeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
31
- probeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
32
- searchMessages(args: {
33
- tabId: string;
34
- query: string;
35
- channelId?: string;
36
- env?: NodeJS.ProcessEnv;
37
- }): Promise<DiscordMessageSearchResult[]>;
38
- captureDelivery(args: {
39
- tabId: string;
40
- env?: NodeJS.ProcessEnv;
41
- }): Promise<DiscordMessageSearchResult[]>;
42
- desktopCdpStatus(): Promise<DiscordDesktopCdpStatus>;
43
- relaunchDesktopForCdp(): Promise<DiscordDesktopCdpStatus>;
44
- sendViaDesktopCdp(args: {
45
- channelId: string;
46
- text: string;
47
- }): Promise<{
48
- ok: boolean;
49
- error?: string;
50
- }>;
51
- }
52
- declare class DiscordUserAccountScraperImpl extends Service implements DiscordUserAccountScraper {
53
- static serviceType: string;
54
- capabilityDescription: string;
55
- static start(runtime: IAgentRuntime): Promise<Service>;
56
- stop(): Promise<void>;
57
- isWorkspaceAvailable(env?: NodeJS.ProcessEnv): boolean;
58
- partitionFor(accountId?: string): string;
59
- ensureTab(args: {
60
- accountId?: string;
61
- existingTabId?: string | null;
62
- show?: boolean;
63
- env?: NodeJS.ProcessEnv;
64
- }): Promise<{
65
- tabId: string;
66
- url: string;
67
- }>;
68
- navigateTabHome(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
69
- closeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<void>;
70
- probeTab(tabId: string, env?: NodeJS.ProcessEnv): Promise<DiscordTabProbe>;
71
- searchMessages(args: {
72
- tabId: string;
73
- query: string;
74
- channelId?: string;
75
- env?: NodeJS.ProcessEnv;
76
- }): Promise<DiscordMessageSearchResult[]>;
77
- captureDelivery(args: {
78
- tabId: string;
79
- env?: NodeJS.ProcessEnv;
80
- }): Promise<DiscordMessageSearchResult[]>;
81
- desktopCdpStatus(): Promise<DiscordDesktopCdpStatus>;
82
- relaunchDesktopForCdp(): Promise<DiscordDesktopCdpStatus>;
83
- sendViaDesktopCdp(args: {
84
- channelId: string;
85
- text: string;
86
- }): Promise<{
87
- ok: boolean;
88
- error?: string;
89
- }>;
90
- }
91
- export { DiscordUserAccountScraperImpl };
92
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../user-account-scraper/service.ts"],"names":[],"mappings":"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"}