@bubblelab/bubble-core 0.1.74 → 0.1.75

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 (57) hide show
  1. package/dist/bubble-bundle.d.ts +109 -109
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +112 -112
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +24 -24
  4. package/dist/bubbles/service-bubble/airtable.d.ts +210 -210
  5. package/dist/bubbles/service-bubble/airtable.d.ts.map +1 -1
  6. package/dist/bubbles/service-bubble/airtable.js +3 -1
  7. package/dist/bubbles/service-bubble/airtable.js.map +1 -1
  8. package/dist/bubbles/service-bubble/apify/apify.d.ts +14 -14
  9. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +134 -134
  10. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +16 -16
  11. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +31 -31
  12. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +53 -53
  13. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +90 -90
  14. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +30 -30
  15. package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
  16. package/dist/bubbles/service-bubble/firecrawl.d.ts +250 -250
  17. package/dist/bubbles/service-bubble/followupboss.d.ts +236 -236
  18. package/dist/bubbles/service-bubble/fullenrich/fullenrich.d.ts +16 -16
  19. package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +30 -30
  20. package/dist/bubbles/service-bubble/github.d.ts +104 -104
  21. package/dist/bubbles/service-bubble/gmail.d.ts +176 -176
  22. package/dist/bubbles/service-bubble/google-calendar.d.ts +28 -28
  23. package/dist/bubbles/service-bubble/google-drive.d.ts +130 -130
  24. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +42 -42
  25. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +38 -38
  26. package/dist/bubbles/service-bubble/http.d.ts +8 -8
  27. package/dist/bubbles/service-bubble/insforge-db.d.ts +12 -12
  28. package/dist/bubbles/service-bubble/jira/jira.d.ts +54 -54
  29. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +38 -38
  30. package/dist/bubbles/service-bubble/notion/notion.d.ts +512 -512
  31. package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
  32. package/dist/bubbles/service-bubble/resend.d.ts +12 -12
  33. package/dist/bubbles/service-bubble/slack/slack.d.ts +535 -535
  34. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  35. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +80 -80
  36. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +71 -71
  37. package/dist/bubbles/service-bubble/telegram.d.ts +110 -110
  38. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +24 -24
  39. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +24 -24
  40. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +36 -36
  41. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +4 -4
  42. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +2 -2
  43. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts +2 -2
  44. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +302 -302
  45. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  46. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +64 -64
  47. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +94 -94
  48. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +4 -4
  49. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  50. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +8 -8
  51. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +8 -8
  52. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +14 -14
  53. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  54. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +78 -78
  55. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +76 -76
  56. package/dist/bubbles.json +3 -2
  57. package/package.json +2 -2
@@ -154,26 +154,26 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
154
154
  verbatim?: boolean | undefined;
155
155
  }>, "many">>;
156
156
  }, "strip", z.ZodTypeAny, {
157
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
158
- text?: {
159
- type: "plain_text" | "mrkdwn";
160
- text: string;
161
- emoji?: boolean | undefined;
162
- verbatim?: boolean | undefined;
163
- } | undefined;
157
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
164
158
  title?: {
165
159
  type: "plain_text";
166
160
  text: string;
167
161
  emoji?: boolean | undefined;
168
162
  } | undefined;
169
- image_url?: string | undefined;
170
- optional?: boolean | undefined;
171
163
  fields?: {
172
164
  type: "plain_text" | "mrkdwn";
173
165
  text: string;
174
166
  emoji?: boolean | undefined;
175
167
  verbatim?: boolean | undefined;
176
168
  }[] | undefined;
169
+ text?: {
170
+ type: "plain_text" | "mrkdwn";
171
+ text: string;
172
+ emoji?: boolean | undefined;
173
+ verbatim?: boolean | undefined;
174
+ } | undefined;
175
+ image_url?: string | undefined;
176
+ optional?: boolean | undefined;
177
177
  alt_text?: string | undefined;
178
178
  elements?: {
179
179
  type: "plain_text" | "mrkdwn";
@@ -187,26 +187,26 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
187
187
  label?: unknown;
188
188
  hint?: unknown;
189
189
  }, {
190
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
191
- text?: {
192
- type: "plain_text" | "mrkdwn";
193
- text: string;
194
- emoji?: boolean | undefined;
195
- verbatim?: boolean | undefined;
196
- } | undefined;
190
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
197
191
  title?: {
198
192
  type: "plain_text";
199
193
  text: string;
200
194
  emoji?: boolean | undefined;
201
195
  } | undefined;
202
- image_url?: string | undefined;
203
- optional?: boolean | undefined;
204
196
  fields?: {
205
197
  type: "plain_text" | "mrkdwn";
206
198
  text: string;
207
199
  emoji?: boolean | undefined;
208
200
  verbatim?: boolean | undefined;
209
201
  }[] | undefined;
202
+ text?: {
203
+ type: "plain_text" | "mrkdwn";
204
+ text: string;
205
+ emoji?: boolean | undefined;
206
+ verbatim?: boolean | undefined;
207
+ } | undefined;
208
+ image_url?: string | undefined;
209
+ optional?: boolean | undefined;
210
210
  alt_text?: string | undefined;
211
211
  elements?: {
212
212
  type: "plain_text" | "mrkdwn";
@@ -256,39 +256,39 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
256
256
  error: string;
257
257
  success: boolean;
258
258
  response: string;
259
- iterations: number;
260
259
  metadata: {
261
260
  verbosityLevel: string;
262
261
  technicalityLevel: string;
263
262
  wordCount: number;
264
263
  blockCount?: number | undefined;
265
264
  };
265
+ iterations: number;
266
266
  toolCalls?: {
267
267
  tool: string;
268
268
  input?: unknown;
269
269
  output?: unknown;
270
270
  }[] | undefined;
271
271
  blocks?: {
272
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
273
- text?: {
274
- type: "plain_text" | "mrkdwn";
275
- text: string;
276
- emoji?: boolean | undefined;
277
- verbatim?: boolean | undefined;
278
- } | undefined;
272
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
279
273
  title?: {
280
274
  type: "plain_text";
281
275
  text: string;
282
276
  emoji?: boolean | undefined;
283
277
  } | undefined;
284
- image_url?: string | undefined;
285
- optional?: boolean | undefined;
286
278
  fields?: {
287
279
  type: "plain_text" | "mrkdwn";
288
280
  text: string;
289
281
  emoji?: boolean | undefined;
290
282
  verbatim?: boolean | undefined;
291
283
  }[] | undefined;
284
+ text?: {
285
+ type: "plain_text" | "mrkdwn";
286
+ text: string;
287
+ emoji?: boolean | undefined;
288
+ verbatim?: boolean | undefined;
289
+ } | undefined;
290
+ image_url?: string | undefined;
291
+ optional?: boolean | undefined;
292
292
  alt_text?: string | undefined;
293
293
  elements?: {
294
294
  type: "plain_text" | "mrkdwn";
@@ -306,39 +306,39 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
306
306
  error: string;
307
307
  success: boolean;
308
308
  response: string;
309
- iterations: number;
310
309
  metadata: {
311
310
  verbosityLevel: string;
312
311
  technicalityLevel: string;
313
312
  wordCount: number;
314
313
  blockCount?: number | undefined;
315
314
  };
315
+ iterations: number;
316
316
  toolCalls?: {
317
317
  tool: string;
318
318
  input?: unknown;
319
319
  output?: unknown;
320
320
  }[] | undefined;
321
321
  blocks?: {
322
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
323
- text?: {
324
- type: "plain_text" | "mrkdwn";
325
- text: string;
326
- emoji?: boolean | undefined;
327
- verbatim?: boolean | undefined;
328
- } | undefined;
322
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
329
323
  title?: {
330
324
  type: "plain_text";
331
325
  text: string;
332
326
  emoji?: boolean | undefined;
333
327
  } | undefined;
334
- image_url?: string | undefined;
335
- optional?: boolean | undefined;
336
328
  fields?: {
337
329
  type: "plain_text" | "mrkdwn";
338
330
  text: string;
339
331
  emoji?: boolean | undefined;
340
332
  verbatim?: boolean | undefined;
341
333
  }[] | undefined;
334
+ text?: {
335
+ type: "plain_text" | "mrkdwn";
336
+ text: string;
337
+ emoji?: boolean | undefined;
338
+ verbatim?: boolean | undefined;
339
+ } | undefined;
340
+ image_url?: string | undefined;
341
+ optional?: boolean | undefined;
342
342
  alt_text?: string | undefined;
343
343
  elements?: {
344
344
  type: "plain_text" | "mrkdwn";
@@ -512,26 +512,26 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
512
512
  verbatim?: boolean | undefined;
513
513
  }>, "many">>;
514
514
  }, "strip", z.ZodTypeAny, {
515
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
516
- text?: {
517
- type: "plain_text" | "mrkdwn";
518
- text: string;
519
- emoji?: boolean | undefined;
520
- verbatim?: boolean | undefined;
521
- } | undefined;
515
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
522
516
  title?: {
523
517
  type: "plain_text";
524
518
  text: string;
525
519
  emoji?: boolean | undefined;
526
520
  } | undefined;
527
- image_url?: string | undefined;
528
- optional?: boolean | undefined;
529
521
  fields?: {
530
522
  type: "plain_text" | "mrkdwn";
531
523
  text: string;
532
524
  emoji?: boolean | undefined;
533
525
  verbatim?: boolean | undefined;
534
526
  }[] | undefined;
527
+ text?: {
528
+ type: "plain_text" | "mrkdwn";
529
+ text: string;
530
+ emoji?: boolean | undefined;
531
+ verbatim?: boolean | undefined;
532
+ } | undefined;
533
+ image_url?: string | undefined;
534
+ optional?: boolean | undefined;
535
535
  alt_text?: string | undefined;
536
536
  elements?: {
537
537
  type: "plain_text" | "mrkdwn";
@@ -545,26 +545,26 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
545
545
  label?: unknown;
546
546
  hint?: unknown;
547
547
  }, {
548
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
549
- text?: {
550
- type: "plain_text" | "mrkdwn";
551
- text: string;
552
- emoji?: boolean | undefined;
553
- verbatim?: boolean | undefined;
554
- } | undefined;
548
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
555
549
  title?: {
556
550
  type: "plain_text";
557
551
  text: string;
558
552
  emoji?: boolean | undefined;
559
553
  } | undefined;
560
- image_url?: string | undefined;
561
- optional?: boolean | undefined;
562
554
  fields?: {
563
555
  type: "plain_text" | "mrkdwn";
564
556
  text: string;
565
557
  emoji?: boolean | undefined;
566
558
  verbatim?: boolean | undefined;
567
559
  }[] | undefined;
560
+ text?: {
561
+ type: "plain_text" | "mrkdwn";
562
+ text: string;
563
+ emoji?: boolean | undefined;
564
+ verbatim?: boolean | undefined;
565
+ } | undefined;
566
+ image_url?: string | undefined;
567
+ optional?: boolean | undefined;
568
568
  alt_text?: string | undefined;
569
569
  elements?: {
570
570
  type: "plain_text" | "mrkdwn";
@@ -614,39 +614,39 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
614
614
  error: string;
615
615
  success: boolean;
616
616
  response: string;
617
- iterations: number;
618
617
  metadata: {
619
618
  verbosityLevel: string;
620
619
  technicalityLevel: string;
621
620
  wordCount: number;
622
621
  blockCount?: number | undefined;
623
622
  };
623
+ iterations: number;
624
624
  toolCalls?: {
625
625
  tool: string;
626
626
  input?: unknown;
627
627
  output?: unknown;
628
628
  }[] | undefined;
629
629
  blocks?: {
630
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
631
- text?: {
632
- type: "plain_text" | "mrkdwn";
633
- text: string;
634
- emoji?: boolean | undefined;
635
- verbatim?: boolean | undefined;
636
- } | undefined;
630
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
637
631
  title?: {
638
632
  type: "plain_text";
639
633
  text: string;
640
634
  emoji?: boolean | undefined;
641
635
  } | undefined;
642
- image_url?: string | undefined;
643
- optional?: boolean | undefined;
644
636
  fields?: {
645
637
  type: "plain_text" | "mrkdwn";
646
638
  text: string;
647
639
  emoji?: boolean | undefined;
648
640
  verbatim?: boolean | undefined;
649
641
  }[] | undefined;
642
+ text?: {
643
+ type: "plain_text" | "mrkdwn";
644
+ text: string;
645
+ emoji?: boolean | undefined;
646
+ verbatim?: boolean | undefined;
647
+ } | undefined;
648
+ image_url?: string | undefined;
649
+ optional?: boolean | undefined;
650
650
  alt_text?: string | undefined;
651
651
  elements?: {
652
652
  type: "plain_text" | "mrkdwn";
@@ -664,39 +664,39 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
664
664
  error: string;
665
665
  success: boolean;
666
666
  response: string;
667
- iterations: number;
668
667
  metadata: {
669
668
  verbosityLevel: string;
670
669
  technicalityLevel: string;
671
670
  wordCount: number;
672
671
  blockCount?: number | undefined;
673
672
  };
673
+ iterations: number;
674
674
  toolCalls?: {
675
675
  tool: string;
676
676
  input?: unknown;
677
677
  output?: unknown;
678
678
  }[] | undefined;
679
679
  blocks?: {
680
- type: "section" | "divider" | "header" | "context" | "input" | "image" | "file" | "actions";
681
- text?: {
682
- type: "plain_text" | "mrkdwn";
683
- text: string;
684
- emoji?: boolean | undefined;
685
- verbatim?: boolean | undefined;
686
- } | undefined;
680
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
687
681
  title?: {
688
682
  type: "plain_text";
689
683
  text: string;
690
684
  emoji?: boolean | undefined;
691
685
  } | undefined;
692
- image_url?: string | undefined;
693
- optional?: boolean | undefined;
694
686
  fields?: {
695
687
  type: "plain_text" | "mrkdwn";
696
688
  text: string;
697
689
  emoji?: boolean | undefined;
698
690
  verbatim?: boolean | undefined;
699
691
  }[] | undefined;
692
+ text?: {
693
+ type: "plain_text" | "mrkdwn";
694
+ text: string;
695
+ emoji?: boolean | undefined;
696
+ verbatim?: boolean | undefined;
697
+ } | undefined;
698
+ image_url?: string | undefined;
699
+ optional?: boolean | undefined;
700
700
  alt_text?: string | undefined;
701
701
  elements?: {
702
702
  type: "plain_text" | "mrkdwn";
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-02-01T13:49:12.057Z",
3
+ "generatedAt": "2026-02-02T09:50:10.002Z",
4
4
  "totalCount": 58,
5
5
  "bubbles": [
6
6
  {
@@ -40960,7 +40960,8 @@
40960
40960
  },
40961
40961
  "usageExample": "// List Records example\nconst airtable_list_records = new AirtableBubble({\n operation: \"list_records\", // List records from an Airtable table with filtering and sorting\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n fields: [\"example string\"], // Array of field names to include in results (returns all fields if not specified)\n filterByFormula: \"example string\", // Airtable formula to filter records (e.g., \"{Status} = 'Done'\")\n maxRecords: 42, // Maximum number of records to return (1-100, returns all if not specified)\n pageSize: 100 // default, // Number of records per page for pagination (1-100)\n sort: [{ field: \"example string\" // Field name to sort by, direction: \"asc\" // options: \"asc\", \"desc\" // Sort direction (asc or desc) }], // Array of sort specifications to order records\n view: \"example string\", // View name or ID to use (includes view's filters and sorts)\n cellFormat: \"json\" // options: \"json\", \"string\", // Format for cell values: json (structured) or string (formatted)\n timeZone: \"example string\", // Time zone for date/time fields (e.g., \"America/Los_Angeles\")\n userLocale: \"example string\", // Locale for formatting (e.g., \"en-US\")\n offset: \"example string\", // Pagination offset from previous response\n});\n\nconst result = await airtable_list_records.action();\n// outputSchema for result.data when operation === 'list_records':\n// {\n// operation: \"list_records\" // List records from an Airtable table with filtering and sorting,\n// ok: boolean // Whether the Airtable API call was successful,\n// records: { id: string // Unique record identifier (starts with rec), createdTime: string // ISO 8601 datetime when record was created, fields: Record<string, unknown> // Record field values as key-value pairs }[] | undefined // Array of record objects,\n// offset: string | undefined // Pagination offset for retrieving next page of results,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Get Record example\nconst airtable_get_record = new AirtableBubble({\n operation: \"get_record\", // Retrieve a single record by its ID\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n recordId: \"example string\", // Record ID to retrieve (starts with rec)\n});\n\nconst result = await airtable_get_record.action();\n// outputSchema for result.data when operation === 'get_record':\n// {\n// operation: \"get_record\" // Retrieve a single record by its ID,\n// ok: boolean // Whether the Airtable API call was successful,\n// record: { id: string // Unique record identifier (starts with rec), createdTime: string // ISO 8601 datetime when record was created, fields: Record<string, unknown> // Record field values as key-value pairs } | undefined // Record object,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Create Records example\nconst airtable_create_records = new AirtableBubble({\n operation: \"create_records\", // Create one or more new records in an Airtable table\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n records: [{ fields: { \"example_key\": [] } // Field values for the new record }], // Array of records to create (max 10 per request)\n typecast: false // default, // Automatically convert field values to the appropriate type\n});\n\nconst result = await airtable_create_records.action();\n// outputSchema for result.data when operation === 'create_records':\n// {\n// operation: \"create_records\" // Create one or more new records in an Airtable table,\n// ok: boolean // Whether the Airtable API call was successful,\n// records: { id: string // Unique record identifier (starts with rec), createdTime: string // ISO 8601 datetime when record was created, fields: Record<string, unknown> // Record field values as key-value pairs }[] | undefined // Array of created record objects,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Update Records example\nconst airtable_update_records = new AirtableBubble({\n operation: \"update_records\", // Update existing records in an Airtable table\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n records: [{ id: \"example string\" // Record ID to update (starts with rec), fields: { \"example_key\": [] } // Field values to update (only specified fields will be updated) }], // Array of records to update (max 10 per request)\n typecast: false // default, // Automatically convert field values to the appropriate type\n});\n\nconst result = await airtable_update_records.action();\n// outputSchema for result.data when operation === 'update_records':\n// {\n// operation: \"update_records\" // Update existing records in an Airtable table,\n// ok: boolean // Whether the Airtable API call was successful,\n// records: { id: string // Unique record identifier (starts with rec), createdTime: string // ISO 8601 datetime when record was created, fields: Record<string, unknown> // Record field values as key-value pairs }[] | undefined // Array of updated record objects,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Delete Records example\nconst airtable_delete_records = new AirtableBubble({\n operation: \"delete_records\", // Delete one or more records from an Airtable table\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n recordIds: [\"example string\"], // Array of record IDs to delete (max 10 per request)\n});\n\nconst result = await airtable_delete_records.action();\n// outputSchema for result.data when operation === 'delete_records':\n// {\n// operation: \"delete_records\" // Delete one or more records from an Airtable table,\n// ok: boolean // Whether the Airtable API call was successful,\n// records: { id: string // ID of deleted record, deleted: boolean // Whether the record was deleted }[] | undefined // Array of deletion confirmation objects,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// List Bases example\nconst airtable_list_bases = new AirtableBubble({\n operation: \"list_bases\", // List all bases accessible with the current API key\n});\n\nconst result = await airtable_list_bases.action();\n// outputSchema for result.data when operation === 'list_bases':\n// {\n// operation: \"list_bases\" // List all bases accessible with the current API key,\n// ok: boolean // Whether the Airtable API call was successful,\n// bases: { id: string // Base ID, name: string // Base name, permissionLevel: string // Permission level for this base }[] | undefined // Array of base objects,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Get Base Schema example\nconst airtable_get_base_schema = new AirtableBubble({\n operation: \"get_base_schema\", // Get the schema for a specific base including all tables and fields\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n});\n\nconst result = await airtable_get_base_schema.action();\n// outputSchema for result.data when operation === 'get_base_schema':\n// {\n// operation: \"get_base_schema\" // Get the schema for a specific base including all tables and fields,\n// ok: boolean // Whether the Airtable API call was successful,\n// tables: { id: string // Table ID, name: string // Table name, description: string | undefined // Table description, primaryFieldId: string // ID of the primary field, fields: { id: string // Field ID, name: string // Field name, type: string // Field type, description: string | undefined // Field description, options: Record<string, unknown> | undefined // Field options }[] // Array of field definitions, views: { id: string // View ID, name: string // View name, type: string // View type }[] | undefined // Array of view definitions }[] | undefined // Array of table schemas,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Create Table example\nconst airtable_create_table = new AirtableBubble({\n operation: \"create_table\", // Create a new table in an Airtable base\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n name: \"example string\", // Name for the new table\n description: \"example string\", // Optional description for the table\n fields: [{ name: \"example string\" // Field name, type: \"singleLineText\" // options: \"singleLineText\", \"multilineText\", \"richText\", \"email\", \"url\", \"phoneNumber\", \"number\", \"percent\", \"currency\", \"rating\", \"duration\", \"singleSelect\", \"multipleSelects\", \"singleCollaborator\", \"multipleCollaborators\", \"date\", \"dateTime\", \"checkbox\", \"multipleRecordLinks\", \"multipleAttachments\", \"barcode\", \"button\", \"formula\", \"createdTime\", \"lastModifiedTime\", \"createdBy\", \"lastModifiedBy\", \"autoNumber\", \"externalSyncSource\", \"count\", \"lookup\", \"rollup\" // Field type, description: \"example string\" // Field description, options: {} // Field options }], // Array of field definitions for the table\n});\n\nconst result = await airtable_create_table.action();\n// outputSchema for result.data when operation === 'create_table':\n// {\n// operation: \"create_table\" // Create a new table in an Airtable base,\n// ok: boolean // Whether the Airtable API call was successful,\n// table: { id: string // Table ID, name: string // Table name, description: string | undefined // Table description, primaryFieldId: string // ID of the primary field, fields: { id: string // Field ID, name: string // Field name, type: \"singleLineText\" | \"multilineText\" | \"richText\" | \"email\" | \"url\" | \"phoneNumber\" | \"number\" | \"percent\" | \"currency\" | \"rating\" | \"duration\" | \"singleSelect\" | \"multipleSelects\" | \"singleCollaborator\" | \"multipleCollaborators\" | \"date\" | \"dateTime\" | \"checkbox\" | \"multipleRecordLinks\" | \"multipleAttachments\" | \"barcode\" | \"button\" | \"formula\" | \"createdTime\" | \"lastModifiedTime\" | \"createdBy\" | \"lastModifiedBy\" | \"autoNumber\" | \"externalSyncSource\" | \"count\" | \"lookup\" | \"rollup\" // Field type }[] // Array of field definitions } | undefined // Created table object,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Update Table example\nconst airtable_update_table = new AirtableBubble({\n operation: \"update_table\", // Update table properties like name and description\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n name: \"example string\", // New name for the table\n description: \"example string\", // New description for the table\n});\n\nconst result = await airtable_update_table.action();\n// outputSchema for result.data when operation === 'update_table':\n// {\n// operation: \"update_table\" // Update table properties like name and description,\n// ok: boolean // Whether the Airtable API call was successful,\n// table: { id: string // Table ID, name: string // Table name, description: string | undefined // Table description } | undefined // Updated table object,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Create Field example\nconst airtable_create_field = new AirtableBubble({\n operation: \"create_field\", // Create a new field in an Airtable table\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n name: \"example string\", // Name for the new field\n type: \"singleLineText\" // options: \"singleLineText\", \"multilineText\", \"richText\", \"email\", \"url\", \"phoneNumber\", \"number\", \"percent\", \"currency\", \"rating\", \"duration\", \"singleSelect\", \"multipleSelects\", \"singleCollaborator\", \"multipleCollaborators\", \"date\", \"dateTime\", \"checkbox\", \"multipleRecordLinks\", \"multipleAttachments\", \"barcode\", \"button\", \"formula\", \"createdTime\", \"lastModifiedTime\", \"createdBy\", \"lastModifiedBy\", \"autoNumber\", \"externalSyncSource\", \"count\", \"lookup\", \"rollup\", // Field type\n description: \"example string\", // Field description\n options: {}, // Field-specific options\n});\n\nconst result = await airtable_create_field.action();\n// outputSchema for result.data when operation === 'create_field':\n// {\n// operation: \"create_field\" // Create a new field in an Airtable table,\n// ok: boolean // Whether the Airtable API call was successful,\n// field: { id: string // Field ID, name: string // Field name, type: string // Field type, description: string | undefined // Field description } | undefined // Created field object,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Update Field example\nconst airtable_update_field = new AirtableBubble({\n operation: \"update_field\", // Update field properties like name, type, or description\n baseId: \"example string\", // Airtable base ID (e.g., appXXXXXXXXXXXXXX)\n tableIdOrName: \"example string\", // Table ID (e.g., tblXXXXXXXXXXXXXX) or table name\n fieldIdOrName: \"example string\", // Field ID (e.g., fldXXXXXXXXXXXXXX) or field name\n name: \"example string\", // New name for the field\n description: \"example string\", // New description for the field\n});\n\nconst result = await airtable_update_field.action();\n// outputSchema for result.data when operation === 'update_field':\n// {\n// operation: \"update_field\" // Update field properties like name, type, or description,\n// ok: boolean // Whether the Airtable API call was successful,\n// field: { id: string // Field ID, name: string // Field name, type: string // Field type, description: string | undefined // Field description } | undefined // Updated field object,\n// error: string // Error message if operation failed,\n// success: boolean // Whether the operation was successful\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`airtable failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
40962
40962
  "requiredCredentials": [
40963
- "AIRTABLE_CRED"
40963
+ "AIRTABLE_CRED",
40964
+ "AIRTABLE_OAUTH"
40964
40965
  ]
40965
40966
  },
40966
40967
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.74",
3
+ "version": "0.1.75",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "puppeteer-core": "^24.10.0",
41
41
  "resend": "^4.8.0",
42
42
  "zod": "^3.24.1",
43
- "@bubblelab/shared-schemas": "0.1.75"
43
+ "@bubblelab/shared-schemas": "0.1.76"
44
44
  },
45
45
  "devDependencies": {
46
46
  "zod-to-json-schema": "^3.24.6",