@bubblelab/bubble-core 0.1.254 → 0.1.261

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 (54) hide show
  1. package/dist/bubble-bundle.d.ts +148 -31
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +9 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  6. package/dist/bubbles/service-bubble/ai-agent.js +9 -2
  7. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  8. package/dist/bubbles/service-bubble/asana/asana.d.ts +1232 -0
  9. package/dist/bubbles/service-bubble/asana/asana.d.ts.map +1 -0
  10. package/dist/bubbles/service-bubble/asana/asana.js +809 -0
  11. package/dist/bubbles/service-bubble/asana/asana.js.map +1 -0
  12. package/dist/bubbles/service-bubble/asana/asana.schema.d.ts +1169 -0
  13. package/dist/bubbles/service-bubble/asana/asana.schema.d.ts.map +1 -0
  14. package/dist/bubbles/service-bubble/asana/asana.schema.js +740 -0
  15. package/dist/bubbles/service-bubble/asana/asana.schema.js.map +1 -0
  16. package/dist/bubbles/service-bubble/asana/index.d.ts +3 -0
  17. package/dist/bubbles/service-bubble/asana/index.d.ts.map +1 -0
  18. package/dist/bubbles/service-bubble/asana/index.js +3 -0
  19. package/dist/bubbles/service-bubble/asana/index.js.map +1 -0
  20. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +2 -2
  21. package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts +2 -2
  22. package/dist/bubbles/service-bubble/discord/discord.d.ts +778 -0
  23. package/dist/bubbles/service-bubble/discord/discord.d.ts.map +1 -0
  24. package/dist/bubbles/service-bubble/discord/discord.js +370 -0
  25. package/dist/bubbles/service-bubble/discord/discord.js.map +1 -0
  26. package/dist/bubbles/service-bubble/discord/discord.schema.d.ts +739 -0
  27. package/dist/bubbles/service-bubble/discord/discord.schema.d.ts.map +1 -0
  28. package/dist/bubbles/service-bubble/discord/discord.schema.js +352 -0
  29. package/dist/bubbles/service-bubble/discord/discord.schema.js.map +1 -0
  30. package/dist/bubbles/service-bubble/discord/index.d.ts +3 -0
  31. package/dist/bubbles/service-bubble/discord/index.d.ts.map +1 -0
  32. package/dist/bubbles/service-bubble/discord/index.js +3 -0
  33. package/dist/bubbles/service-bubble/discord/index.js.map +1 -0
  34. package/dist/bubbles/service-bubble/salesforce/index.d.ts +3 -0
  35. package/dist/bubbles/service-bubble/salesforce/index.d.ts.map +1 -0
  36. package/dist/bubbles/service-bubble/salesforce/index.js +3 -0
  37. package/dist/bubbles/service-bubble/salesforce/index.js.map +1 -0
  38. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts +209 -0
  39. package/dist/bubbles/service-bubble/salesforce/salesforce.d.ts.map +1 -0
  40. package/dist/bubbles/service-bubble/salesforce/salesforce.js +221 -0
  41. package/dist/bubbles/service-bubble/salesforce/salesforce.js.map +1 -0
  42. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts +179 -0
  43. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.d.ts.map +1 -0
  44. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js +127 -0
  45. package/dist/bubbles/service-bubble/salesforce/salesforce.schema.js.map +1 -0
  46. package/dist/bubbles/service-bubble/snowflake/snowflake.d.ts.map +1 -1
  47. package/dist/bubbles/service-bubble/snowflake/snowflake.js +1 -1
  48. package/dist/bubbles/service-bubble/snowflake/snowflake.js.map +1 -1
  49. package/dist/bubbles.json +3945 -4
  50. package/dist/index.d.ts +6 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +3 -0
  53. package/dist/index.js.map +1 -1
  54. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/discord/discord.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA6E3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiP9B,CAAC;AAUH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiF9B,CAAC;AAIH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,352 @@
1
+ import { z } from 'zod';
2
+ import { CredentialType } from '@bubblelab/shared-schemas';
3
+ // ─── Shared Fields ────────────────────────────────────────────────────
4
+ const credentialsField = z
5
+ .record(z.nativeEnum(CredentialType), z.string())
6
+ .optional()
7
+ .describe('Object mapping credential types to values (injected at runtime)');
8
+ const channelIdField = z
9
+ .string()
10
+ .min(1, 'Channel ID is required')
11
+ .describe('Discord channel ID (snowflake)');
12
+ const guildIdField = z
13
+ .string()
14
+ .optional()
15
+ .describe('Discord guild/server ID (snowflake). Auto-filled from credential if not provided.');
16
+ const limitField = z
17
+ .number()
18
+ .min(1)
19
+ .max(100)
20
+ .optional()
21
+ .default(25)
22
+ .describe('Maximum number of results to return (1-100, default 25)');
23
+ // ─── Embed Schema ─────────────────────────────────────────────────────
24
+ const EmbedFieldSchema = z.object({
25
+ name: z.string().describe('Field name'),
26
+ value: z.string().describe('Field value'),
27
+ inline: z.boolean().optional().describe('Whether to display inline'),
28
+ });
29
+ const EmbedSchema = z.object({
30
+ title: z.string().optional().describe('Embed title'),
31
+ description: z.string().optional().describe('Embed description text'),
32
+ url: z.string().url().optional().describe('Embed title URL'),
33
+ color: z
34
+ .number()
35
+ .optional()
36
+ .describe('Embed color as decimal integer (e.g. 0x5865F2 = 5793266)'),
37
+ fields: z
38
+ .array(EmbedFieldSchema)
39
+ .optional()
40
+ .describe('Array of embed fields'),
41
+ footer: z
42
+ .object({
43
+ text: z.string().describe('Footer text'),
44
+ icon_url: z.string().url().optional().describe('Footer icon URL'),
45
+ })
46
+ .optional()
47
+ .describe('Embed footer'),
48
+ thumbnail: z
49
+ .object({ url: z.string().url().describe('Thumbnail image URL') })
50
+ .optional()
51
+ .describe('Embed thumbnail'),
52
+ image: z
53
+ .object({ url: z.string().url().describe('Image URL') })
54
+ .optional()
55
+ .describe('Embed image'),
56
+ author: z
57
+ .object({
58
+ name: z.string().describe('Author name'),
59
+ url: z.string().url().optional().describe('Author URL'),
60
+ icon_url: z.string().url().optional().describe('Author icon URL'),
61
+ })
62
+ .optional()
63
+ .describe('Embed author'),
64
+ timestamp: z.string().optional().describe('ISO 8601 timestamp for the embed'),
65
+ });
66
+ // ─── Parameter Schema ─────────────────────────────────────────────────
67
+ export const DiscordParamsSchema = z.discriminatedUnion('operation', [
68
+ // ── Messages ───────────────────────────────────────────────────────
69
+ z.object({
70
+ operation: z
71
+ .literal('send_message')
72
+ .describe('Send a message to a Discord channel. Requires Send Messages permission.'),
73
+ channel_id: channelIdField,
74
+ content: z
75
+ .string()
76
+ .max(2000)
77
+ .optional()
78
+ .describe('[ONEOF:body] Message text content (max 2000 chars)'),
79
+ embeds: z
80
+ .array(EmbedSchema)
81
+ .max(10)
82
+ .optional()
83
+ .describe('[ONEOF:body] Rich embed objects (max 10)'),
84
+ tts: z
85
+ .boolean()
86
+ .optional()
87
+ .default(false)
88
+ .describe('Whether this is a text-to-speech message'),
89
+ reply_to: z
90
+ .string()
91
+ .optional()
92
+ .describe('Message ID to reply to (creates a threaded reply)'),
93
+ credentials: credentialsField,
94
+ }),
95
+ z.object({
96
+ operation: z
97
+ .literal('list_messages')
98
+ .describe('Read messages from a Discord channel. Requires Read Message History permission.'),
99
+ channel_id: channelIdField,
100
+ limit: limitField,
101
+ before: z
102
+ .string()
103
+ .optional()
104
+ .describe('Get messages before this message ID (for pagination)'),
105
+ after: z
106
+ .string()
107
+ .optional()
108
+ .describe('Get messages after this message ID (for pagination)'),
109
+ credentials: credentialsField,
110
+ }),
111
+ z.object({
112
+ operation: z
113
+ .literal('edit_message')
114
+ .describe('Edit a message sent by the bot'),
115
+ channel_id: channelIdField,
116
+ message_id: z
117
+ .string()
118
+ .min(1, 'Message ID is required')
119
+ .describe('ID of the message to edit'),
120
+ content: z
121
+ .string()
122
+ .max(2000)
123
+ .optional()
124
+ .describe('New message text content'),
125
+ embeds: z
126
+ .array(EmbedSchema)
127
+ .max(10)
128
+ .optional()
129
+ .describe('New embed objects'),
130
+ credentials: credentialsField,
131
+ }),
132
+ z.object({
133
+ operation: z
134
+ .literal('delete_message')
135
+ .describe('Delete a message. Bot can delete own messages or others with Manage Messages permission.'),
136
+ channel_id: channelIdField,
137
+ message_id: z
138
+ .string()
139
+ .min(1, 'Message ID is required')
140
+ .describe('ID of the message to delete'),
141
+ credentials: credentialsField,
142
+ }),
143
+ z.object({
144
+ operation: z
145
+ .literal('pin_message')
146
+ .describe('Pin a message in a channel. Requires Manage Messages permission.'),
147
+ channel_id: channelIdField,
148
+ message_id: z
149
+ .string()
150
+ .min(1, 'Message ID is required')
151
+ .describe('ID of the message to pin'),
152
+ credentials: credentialsField,
153
+ }),
154
+ // ── Reactions ──────────────────────────────────────────────────────
155
+ z.object({
156
+ operation: z
157
+ .literal('add_reaction')
158
+ .describe('Add a reaction emoji to a message. Requires Add Reactions permission.'),
159
+ channel_id: channelIdField,
160
+ message_id: z
161
+ .string()
162
+ .min(1, 'Message ID is required')
163
+ .describe('ID of the message to react to'),
164
+ emoji: z
165
+ .string()
166
+ .min(1, 'Emoji is required')
167
+ .describe('Unicode emoji (e.g. "👍") or custom emoji in name:id format (e.g. "my_emoji:123456")'),
168
+ credentials: credentialsField,
169
+ }),
170
+ // ── Channels ───────────────────────────────────────────────────────
171
+ z.object({
172
+ operation: z
173
+ .literal('list_channels')
174
+ .describe('List all channels in a guild/server. Requires View Channels permission.'),
175
+ guild_id: guildIdField,
176
+ credentials: credentialsField,
177
+ }),
178
+ z.object({
179
+ operation: z
180
+ .literal('create_channel')
181
+ .describe('Create a new channel in a guild. Requires Manage Channels permission.'),
182
+ guild_id: guildIdField,
183
+ name: z
184
+ .string()
185
+ .min(1)
186
+ .max(100)
187
+ .describe('Channel name (will be lowercased and hyphenated by Discord)'),
188
+ type: z
189
+ .enum(['text', 'voice', 'category', 'announcement', 'forum'])
190
+ .optional()
191
+ .default('text')
192
+ .describe('Channel type (default: text)'),
193
+ topic: z
194
+ .string()
195
+ .max(1024)
196
+ .optional()
197
+ .describe('Channel topic/description'),
198
+ parent_id: z
199
+ .string()
200
+ .optional()
201
+ .describe('Parent category channel ID to nest this channel under'),
202
+ nsfw: z.boolean().optional().describe('Whether channel is NSFW'),
203
+ credentials: credentialsField,
204
+ }),
205
+ z.object({
206
+ operation: z
207
+ .literal('delete_channel')
208
+ .describe('Delete a channel. Requires Manage Channels permission. This cannot be undone.'),
209
+ channel_id: channelIdField,
210
+ credentials: credentialsField,
211
+ }),
212
+ // ── Threads ────────────────────────────────────────────────────────
213
+ z.object({
214
+ operation: z
215
+ .literal('create_thread')
216
+ .describe('Create a new thread in a channel. Requires Send Messages permission.'),
217
+ channel_id: channelIdField,
218
+ name: z.string().min(1).max(100).describe('Thread name'),
219
+ message_id: z
220
+ .string()
221
+ .optional()
222
+ .describe('Message ID to start thread from (omit to create a thread without a starter message)'),
223
+ auto_archive_duration: z
224
+ .enum(['60', '1440', '4320', '10080'])
225
+ .optional()
226
+ .default('1440')
227
+ .describe('Minutes of inactivity before auto-archive: 60 (1hr), 1440 (24hr), 4320 (3d), 10080 (7d)'),
228
+ credentials: credentialsField,
229
+ }),
230
+ z.object({
231
+ operation: z
232
+ .literal('list_threads')
233
+ .describe('List active threads in a guild'),
234
+ guild_id: guildIdField,
235
+ credentials: credentialsField,
236
+ }),
237
+ // ── Members ────────────────────────────────────────────────────────
238
+ z.object({
239
+ operation: z
240
+ .literal('list_members')
241
+ .describe('List members of a guild/server. Requires Server Members Intent.'),
242
+ guild_id: guildIdField,
243
+ limit: z
244
+ .number()
245
+ .min(1)
246
+ .max(1000)
247
+ .optional()
248
+ .default(100)
249
+ .describe('Maximum number of members to return (1-1000, default 100)'),
250
+ after: z
251
+ .string()
252
+ .optional()
253
+ .describe('Get members after this user ID (for pagination)'),
254
+ credentials: credentialsField,
255
+ }),
256
+ // ── Guild Info ─────────────────────────────────────────────────────
257
+ z.object({
258
+ operation: z
259
+ .literal('get_guild')
260
+ .describe('Get information about the guild/server'),
261
+ guild_id: guildIdField,
262
+ credentials: credentialsField,
263
+ }),
264
+ ]);
265
+ // ─── Discord Resource Schema ──────────────────────────────────────────
266
+ const DiscordResourceSchema = z
267
+ .record(z.string(), z.unknown())
268
+ .describe('A Discord resource object with its fields');
269
+ // ─── Result Schema ────────────────────────────────────────────────────
270
+ export const DiscordResultSchema = z.discriminatedUnion('operation', [
271
+ // Messages
272
+ z.object({
273
+ operation: z.literal('send_message'),
274
+ success: z.boolean(),
275
+ message: DiscordResourceSchema.optional(),
276
+ error: z.string(),
277
+ }),
278
+ z.object({
279
+ operation: z.literal('list_messages'),
280
+ success: z.boolean(),
281
+ messages: z.array(DiscordResourceSchema).optional(),
282
+ error: z.string(),
283
+ }),
284
+ z.object({
285
+ operation: z.literal('edit_message'),
286
+ success: z.boolean(),
287
+ message: DiscordResourceSchema.optional(),
288
+ error: z.string(),
289
+ }),
290
+ z.object({
291
+ operation: z.literal('delete_message'),
292
+ success: z.boolean(),
293
+ error: z.string(),
294
+ }),
295
+ z.object({
296
+ operation: z.literal('pin_message'),
297
+ success: z.boolean(),
298
+ error: z.string(),
299
+ }),
300
+ // Reactions
301
+ z.object({
302
+ operation: z.literal('add_reaction'),
303
+ success: z.boolean(),
304
+ error: z.string(),
305
+ }),
306
+ // Channels
307
+ z.object({
308
+ operation: z.literal('list_channels'),
309
+ success: z.boolean(),
310
+ channels: z.array(DiscordResourceSchema).optional(),
311
+ error: z.string(),
312
+ }),
313
+ z.object({
314
+ operation: z.literal('create_channel'),
315
+ success: z.boolean(),
316
+ channel: DiscordResourceSchema.optional(),
317
+ error: z.string(),
318
+ }),
319
+ z.object({
320
+ operation: z.literal('delete_channel'),
321
+ success: z.boolean(),
322
+ error: z.string(),
323
+ }),
324
+ // Threads
325
+ z.object({
326
+ operation: z.literal('create_thread'),
327
+ success: z.boolean(),
328
+ thread: DiscordResourceSchema.optional(),
329
+ error: z.string(),
330
+ }),
331
+ z.object({
332
+ operation: z.literal('list_threads'),
333
+ success: z.boolean(),
334
+ threads: z.array(DiscordResourceSchema).optional(),
335
+ error: z.string(),
336
+ }),
337
+ // Members
338
+ z.object({
339
+ operation: z.literal('list_members'),
340
+ success: z.boolean(),
341
+ members: z.array(DiscordResourceSchema).optional(),
342
+ error: z.string(),
343
+ }),
344
+ // Guild
345
+ z.object({
346
+ operation: z.literal('get_guild'),
347
+ success: z.boolean(),
348
+ guild: DiscordResourceSchema.optional(),
349
+ error: z.string(),
350
+ }),
351
+ ]);
352
+ //# sourceMappingURL=discord.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/discord/discord.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { DiscordBubble } from './discord.js';
2
+ export { DiscordParamsSchema, DiscordResultSchema, type DiscordParams, type DiscordResult, type DiscordParamsInput, } from './discord.schema.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { DiscordBubble } from './discord.js';
2
+ export { DiscordParamsSchema, DiscordResultSchema, } from './discord.schema.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAIpB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SalesforceBubble } from './salesforce.js';
2
+ export { SalesforceParamsSchema, SalesforceResultSchema, type SalesforceParams, type SalesforceResult, type SalesforceParamsInput, } from './salesforce.schema.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/salesforce/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SalesforceBubble } from './salesforce.js';
2
+ export { SalesforceParamsSchema, SalesforceResultSchema, } from './salesforce.schema.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/salesforce/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAIvB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,209 @@
1
+ import { ServiceBubble } from '../../../types/service-bubble-class.js';
2
+ import type { BubbleContext } from '../../../types/bubble.js';
3
+ import { CredentialType } from '@bubblelab/shared-schemas';
4
+ import { type SalesforceParamsInput, type SalesforceResult } from './salesforce.schema.js';
5
+ /**
6
+ * Salesforce CRM Service Bubble
7
+ *
8
+ * Salesforce integration for querying accounts, contacts,
9
+ * and running arbitrary SOQL queries via the Salesforce REST API.
10
+ * Primary use case: account-level field lookup by business ID or Salesforce ID.
11
+ */
12
+ export declare class SalesforceBubble<T extends SalesforceParamsInput = SalesforceParamsInput> extends ServiceBubble<T, Extract<SalesforceResult, {
13
+ operation: T['operation'];
14
+ }>> {
15
+ static readonly type: "service";
16
+ static readonly service = "salesforce";
17
+ static readonly authType: "oauth";
18
+ static readonly bubbleName = "salesforce";
19
+ static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
20
+ operation: import("zod").ZodLiteral<"get_account">;
21
+ record_id: import("zod").ZodString;
22
+ fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
23
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
24
+ }, "strip", import("zod").ZodTypeAny, {
25
+ operation: "get_account";
26
+ record_id: string;
27
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
28
+ fields?: string[] | undefined;
29
+ }, {
30
+ operation: "get_account";
31
+ record_id: string;
32
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
33
+ fields?: string[] | undefined;
34
+ }>, import("zod").ZodObject<{
35
+ operation: import("zod").ZodLiteral<"search_accounts">;
36
+ where_clause: import("zod").ZodString;
37
+ fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
38
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
39
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
40
+ }, "strip", import("zod").ZodTypeAny, {
41
+ operation: "search_accounts";
42
+ limit: number;
43
+ where_clause: string;
44
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
45
+ fields?: string[] | undefined;
46
+ }, {
47
+ operation: "search_accounts";
48
+ where_clause: string;
49
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
50
+ fields?: string[] | undefined;
51
+ limit?: number | undefined;
52
+ }>, import("zod").ZodObject<{
53
+ operation: import("zod").ZodLiteral<"get_contact">;
54
+ record_id: import("zod").ZodString;
55
+ fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
56
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
57
+ }, "strip", import("zod").ZodTypeAny, {
58
+ operation: "get_contact";
59
+ record_id: string;
60
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
61
+ fields?: string[] | undefined;
62
+ }, {
63
+ operation: "get_contact";
64
+ record_id: string;
65
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
66
+ fields?: string[] | undefined;
67
+ }>, import("zod").ZodObject<{
68
+ operation: import("zod").ZodLiteral<"search_contacts">;
69
+ where_clause: import("zod").ZodString;
70
+ fields: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
71
+ limit: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
72
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
73
+ }, "strip", import("zod").ZodTypeAny, {
74
+ operation: "search_contacts";
75
+ limit: number;
76
+ where_clause: string;
77
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
78
+ fields?: string[] | undefined;
79
+ }, {
80
+ operation: "search_contacts";
81
+ where_clause: string;
82
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
83
+ fields?: string[] | undefined;
84
+ limit?: number | undefined;
85
+ }>, import("zod").ZodObject<{
86
+ operation: import("zod").ZodLiteral<"query">;
87
+ soql: import("zod").ZodString;
88
+ credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
89
+ }, "strip", import("zod").ZodTypeAny, {
90
+ operation: "query";
91
+ soql: string;
92
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
93
+ }, {
94
+ operation: "query";
95
+ soql: string;
96
+ credentials?: Partial<Record<CredentialType, string>> | undefined;
97
+ }>]>;
98
+ static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{
99
+ operation: import("zod").ZodLiteral<"get_account">;
100
+ success: import("zod").ZodBoolean;
101
+ record: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
102
+ error: import("zod").ZodString;
103
+ }, "strip", import("zod").ZodTypeAny, {
104
+ error: string;
105
+ success: boolean;
106
+ operation: "get_account";
107
+ record?: Record<string, unknown> | undefined;
108
+ }, {
109
+ error: string;
110
+ success: boolean;
111
+ operation: "get_account";
112
+ record?: Record<string, unknown> | undefined;
113
+ }>, import("zod").ZodObject<{
114
+ operation: import("zod").ZodLiteral<"search_accounts">;
115
+ success: import("zod").ZodBoolean;
116
+ records: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
117
+ totalSize: import("zod").ZodOptional<import("zod").ZodNumber>;
118
+ done: import("zod").ZodOptional<import("zod").ZodBoolean>;
119
+ error: import("zod").ZodString;
120
+ }, "strip", import("zod").ZodTypeAny, {
121
+ error: string;
122
+ success: boolean;
123
+ operation: "search_accounts";
124
+ done?: boolean | undefined;
125
+ records?: Record<string, unknown>[] | undefined;
126
+ totalSize?: number | undefined;
127
+ }, {
128
+ error: string;
129
+ success: boolean;
130
+ operation: "search_accounts";
131
+ done?: boolean | undefined;
132
+ records?: Record<string, unknown>[] | undefined;
133
+ totalSize?: number | undefined;
134
+ }>, import("zod").ZodObject<{
135
+ operation: import("zod").ZodLiteral<"get_contact">;
136
+ success: import("zod").ZodBoolean;
137
+ record: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
138
+ error: import("zod").ZodString;
139
+ }, "strip", import("zod").ZodTypeAny, {
140
+ error: string;
141
+ success: boolean;
142
+ operation: "get_contact";
143
+ record?: Record<string, unknown> | undefined;
144
+ }, {
145
+ error: string;
146
+ success: boolean;
147
+ operation: "get_contact";
148
+ record?: Record<string, unknown> | undefined;
149
+ }>, import("zod").ZodObject<{
150
+ operation: import("zod").ZodLiteral<"search_contacts">;
151
+ success: import("zod").ZodBoolean;
152
+ records: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
153
+ totalSize: import("zod").ZodOptional<import("zod").ZodNumber>;
154
+ done: import("zod").ZodOptional<import("zod").ZodBoolean>;
155
+ error: import("zod").ZodString;
156
+ }, "strip", import("zod").ZodTypeAny, {
157
+ error: string;
158
+ success: boolean;
159
+ operation: "search_contacts";
160
+ done?: boolean | undefined;
161
+ records?: Record<string, unknown>[] | undefined;
162
+ totalSize?: number | undefined;
163
+ }, {
164
+ error: string;
165
+ success: boolean;
166
+ operation: "search_contacts";
167
+ done?: boolean | undefined;
168
+ records?: Record<string, unknown>[] | undefined;
169
+ totalSize?: number | undefined;
170
+ }>, import("zod").ZodObject<{
171
+ operation: import("zod").ZodLiteral<"query">;
172
+ success: import("zod").ZodBoolean;
173
+ records: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
174
+ totalSize: import("zod").ZodOptional<import("zod").ZodNumber>;
175
+ done: import("zod").ZodOptional<import("zod").ZodBoolean>;
176
+ error: import("zod").ZodString;
177
+ }, "strip", import("zod").ZodTypeAny, {
178
+ error: string;
179
+ success: boolean;
180
+ operation: "query";
181
+ done?: boolean | undefined;
182
+ records?: Record<string, unknown>[] | undefined;
183
+ totalSize?: number | undefined;
184
+ }, {
185
+ error: string;
186
+ success: boolean;
187
+ operation: "query";
188
+ done?: boolean | undefined;
189
+ records?: Record<string, unknown>[] | undefined;
190
+ totalSize?: number | undefined;
191
+ }>]>;
192
+ static readonly shortDescription = "Salesforce CRM integration for accounts, contacts, and SOQL queries";
193
+ static readonly longDescription = "\n Salesforce CRM integration for querying and searching CRM records.\n\n Features:\n - Retrieve Account and Contact records by Salesforce ID\n - Search Accounts and Contacts with flexible SOQL WHERE conditions\n - Run arbitrary SOQL queries for any Salesforce object\n - Account-level field lookup by business ID or Salesforce ID\n - Support for custom fields and objects via SOQL\n\n Security Features:\n - OAuth 2.0 authentication with Salesforce\n - Instance-scoped access (each org has a unique API endpoint)\n - Secure credential handling with base64-encoded payloads\n ";
194
+ static readonly alias = "";
195
+ constructor(params?: T, context?: BubbleContext);
196
+ testCredential(): Promise<boolean>;
197
+ private parseCredentials;
198
+ protected chooseCredential(): string | undefined;
199
+ private sfRequest;
200
+ protected performAction(context?: BubbleContext): Promise<Extract<SalesforceResult, {
201
+ operation: T['operation'];
202
+ }>>;
203
+ private getAccount;
204
+ private searchAccounts;
205
+ private getContact;
206
+ private searchContacts;
207
+ private runQuery;
208
+ }
209
+ //# sourceMappingURL=salesforce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salesforce.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/salesforce/salesforce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,cAAc,EAEf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAIhC;;;;;;GAMG;AACH,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACvD,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,gBAAgB,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACzD;IACC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,OAAO,gBAAgB;IACvC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAC5C,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAA0B;IAChD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAA0B;IACtD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,yEACwC;IACxE,MAAM,CAAC,QAAQ,CAAC,eAAe,wmBAc7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM;gBAGzB,MAAM,GAAE,CAGF,EACN,OAAO,CAAC,EAAE,aAAa;IAKZ,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAsB/C,OAAO,CAAC,gBAAgB;IAoCxB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YAKlC,SAAS;cAyCP,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YA+CtD,UAAU;YAoBV,cAAc;YA8Bd,UAAU;YAoBV,cAAc;YA8Bd,QAAQ;CAuBvB"}