@bubblelab/bubble-core 0.1.74 → 0.1.76

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 (43) hide show
  1. package/dist/bubble-bundle.d.ts +88 -88
  2. package/dist/bubbles/service-bubble/ai-agent.d.ts +32 -32
  3. package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
  4. package/dist/bubbles/service-bubble/airtable.d.ts.map +1 -1
  5. package/dist/bubbles/service-bubble/airtable.js +3 -1
  6. package/dist/bubbles/service-bubble/airtable.js.map +1 -1
  7. package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
  8. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +112 -112
  9. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +38 -38
  10. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +2 -2
  11. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +78 -78
  12. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +82 -82
  13. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +42 -42
  14. package/dist/bubbles/service-bubble/firecrawl.d.ts +250 -250
  15. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  16. package/dist/bubbles/service-bubble/fullenrich/fullenrich.schema.d.ts +46 -46
  17. package/dist/bubbles/service-bubble/github.d.ts +44 -44
  18. package/dist/bubbles/service-bubble/gmail.d.ts +104 -104
  19. package/dist/bubbles/service-bubble/google-drive.d.ts +36 -36
  20. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +52 -52
  21. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  22. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +62 -62
  23. package/dist/bubbles/service-bubble/notion/notion.d.ts +304 -304
  24. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  25. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  26. package/dist/bubbles/service-bubble/slack/slack.d.ts +320 -320
  27. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +9 -9
  28. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +78 -78
  29. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +28 -28
  30. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +12 -12
  31. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts +4 -4
  32. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +301 -301
  33. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  34. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  35. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +106 -106
  36. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +4 -4
  37. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +8 -8
  38. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  39. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  40. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +28 -28
  41. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +56 -56
  42. package/dist/bubbles.json +3 -2
  43. package/package.json +2 -2
@@ -154,17 +154,17 @@ 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";
157
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
158
+ title?: {
159
+ type: "plain_text";
160
160
  text: string;
161
161
  emoji?: boolean | undefined;
162
- verbatim?: boolean | undefined;
163
162
  } | undefined;
164
- title?: {
165
- type: "plain_text";
163
+ text?: {
164
+ type: "plain_text" | "mrkdwn";
166
165
  text: string;
167
166
  emoji?: boolean | undefined;
167
+ verbatim?: boolean | undefined;
168
168
  } | undefined;
169
169
  image_url?: string | undefined;
170
170
  optional?: boolean | undefined;
@@ -187,17 +187,17 @@ 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";
190
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
191
+ title?: {
192
+ type: "plain_text";
193
193
  text: string;
194
194
  emoji?: boolean | undefined;
195
- verbatim?: boolean | undefined;
196
195
  } | undefined;
197
- title?: {
198
- type: "plain_text";
196
+ text?: {
197
+ type: "plain_text" | "mrkdwn";
199
198
  text: string;
200
199
  emoji?: boolean | undefined;
200
+ verbatim?: boolean | undefined;
201
201
  } | undefined;
202
202
  image_url?: string | undefined;
203
203
  optional?: boolean | undefined;
@@ -255,31 +255,31 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
255
255
  }, "strip", z.ZodTypeAny, {
256
256
  error: string;
257
257
  success: boolean;
258
- response: string;
259
- iterations: number;
260
258
  metadata: {
261
259
  verbosityLevel: string;
262
260
  technicalityLevel: string;
263
261
  wordCount: number;
264
262
  blockCount?: number | undefined;
265
263
  };
264
+ response: string;
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";
272
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
273
+ title?: {
274
+ type: "plain_text";
275
275
  text: string;
276
276
  emoji?: boolean | undefined;
277
- verbatim?: boolean | undefined;
278
277
  } | undefined;
279
- title?: {
280
- type: "plain_text";
278
+ text?: {
279
+ type: "plain_text" | "mrkdwn";
281
280
  text: string;
282
281
  emoji?: boolean | undefined;
282
+ verbatim?: boolean | undefined;
283
283
  } | undefined;
284
284
  image_url?: string | undefined;
285
285
  optional?: boolean | undefined;
@@ -305,31 +305,31 @@ declare const SlackFormatterAgentResultSchema: z.ZodObject<{
305
305
  }, {
306
306
  error: string;
307
307
  success: boolean;
308
- response: string;
309
- iterations: number;
310
308
  metadata: {
311
309
  verbosityLevel: string;
312
310
  technicalityLevel: string;
313
311
  wordCount: number;
314
312
  blockCount?: number | undefined;
315
313
  };
314
+ response: string;
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";
322
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
323
+ title?: {
324
+ type: "plain_text";
325
325
  text: string;
326
326
  emoji?: boolean | undefined;
327
- verbatim?: boolean | undefined;
328
327
  } | undefined;
329
- title?: {
330
- type: "plain_text";
328
+ text?: {
329
+ type: "plain_text" | "mrkdwn";
331
330
  text: string;
332
331
  emoji?: boolean | undefined;
332
+ verbatim?: boolean | undefined;
333
333
  } | undefined;
334
334
  image_url?: string | undefined;
335
335
  optional?: boolean | undefined;
@@ -512,17 +512,17 @@ 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";
515
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
516
+ title?: {
517
+ type: "plain_text";
518
518
  text: string;
519
519
  emoji?: boolean | undefined;
520
- verbatim?: boolean | undefined;
521
520
  } | undefined;
522
- title?: {
523
- type: "plain_text";
521
+ text?: {
522
+ type: "plain_text" | "mrkdwn";
524
523
  text: string;
525
524
  emoji?: boolean | undefined;
525
+ verbatim?: boolean | undefined;
526
526
  } | undefined;
527
527
  image_url?: string | undefined;
528
528
  optional?: boolean | undefined;
@@ -545,17 +545,17 @@ 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";
548
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
549
+ title?: {
550
+ type: "plain_text";
551
551
  text: string;
552
552
  emoji?: boolean | undefined;
553
- verbatim?: boolean | undefined;
554
553
  } | undefined;
555
- title?: {
556
- type: "plain_text";
554
+ text?: {
555
+ type: "plain_text" | "mrkdwn";
557
556
  text: string;
558
557
  emoji?: boolean | undefined;
558
+ verbatim?: boolean | undefined;
559
559
  } | undefined;
560
560
  image_url?: string | undefined;
561
561
  optional?: boolean | undefined;
@@ -613,31 +613,31 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
613
613
  }, "strip", z.ZodTypeAny, {
614
614
  error: string;
615
615
  success: boolean;
616
- response: string;
617
- iterations: number;
618
616
  metadata: {
619
617
  verbosityLevel: string;
620
618
  technicalityLevel: string;
621
619
  wordCount: number;
622
620
  blockCount?: number | undefined;
623
621
  };
622
+ response: string;
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";
630
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
631
+ title?: {
632
+ type: "plain_text";
633
633
  text: string;
634
634
  emoji?: boolean | undefined;
635
- verbatim?: boolean | undefined;
636
635
  } | undefined;
637
- title?: {
638
- type: "plain_text";
636
+ text?: {
637
+ type: "plain_text" | "mrkdwn";
639
638
  text: string;
640
639
  emoji?: boolean | undefined;
640
+ verbatim?: boolean | undefined;
641
641
  } | undefined;
642
642
  image_url?: string | undefined;
643
643
  optional?: boolean | undefined;
@@ -663,31 +663,31 @@ export declare class SlackFormatterAgentBubble extends WorkflowBubble<SlackForma
663
663
  }, {
664
664
  error: string;
665
665
  success: boolean;
666
- response: string;
667
- iterations: number;
668
666
  metadata: {
669
667
  verbosityLevel: string;
670
668
  technicalityLevel: string;
671
669
  wordCount: number;
672
670
  blockCount?: number | undefined;
673
671
  };
672
+ response: string;
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";
680
+ type: "input" | "image" | "file" | "section" | "header" | "divider" | "context" | "actions";
681
+ title?: {
682
+ type: "plain_text";
683
683
  text: string;
684
684
  emoji?: boolean | undefined;
685
- verbatim?: boolean | undefined;
686
685
  } | undefined;
687
- title?: {
688
- type: "plain_text";
686
+ text?: {
687
+ type: "plain_text" | "mrkdwn";
689
688
  text: string;
690
689
  emoji?: boolean | undefined;
690
+ verbatim?: boolean | undefined;
691
691
  } | undefined;
692
692
  image_url?: string | undefined;
693
693
  optional?: boolean | undefined;
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-02T10:41:40.296Z",
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.76",
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.77"
44
44
  },
45
45
  "devDependencies": {
46
46
  "zod-to-json-schema": "^3.24.6",