@bubblelab/bubble-core 0.1.30 → 0.1.31

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 (38) hide show
  1. package/dist/bubble-bundle.d.ts +48 -48
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +12 -12
  3. package/dist/bubbles/service-bubble/airtable.d.ts +156 -156
  4. package/dist/bubbles/service-bubble/apify/apify.d.ts +8 -8
  5. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
  6. package/dist/bubbles/service-bubble/eleven-labs.d.ts +4 -4
  7. package/dist/bubbles/service-bubble/firecrawl.d.ts +8 -8
  8. package/dist/bubbles/service-bubble/followupboss.d.ts +78 -78
  9. package/dist/bubbles/service-bubble/github.d.ts +98 -98
  10. package/dist/bubbles/service-bubble/gmail.d.ts +30 -30
  11. package/dist/bubbles/service-bubble/google-calendar.d.ts +88 -88
  12. package/dist/bubbles/service-bubble/google-drive.d.ts +50 -50
  13. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +8 -8
  14. package/dist/bubbles/service-bubble/http.d.ts +8 -8
  15. package/dist/bubbles/service-bubble/insforge-db.d.ts +4 -4
  16. package/dist/bubbles/service-bubble/jira/index.d.ts +1 -1
  17. package/dist/bubbles/service-bubble/jira/index.d.ts.map +1 -1
  18. package/dist/bubbles/service-bubble/jira/index.js.map +1 -1
  19. package/dist/bubbles/service-bubble/jira/jira.d.ts +497 -497
  20. package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -1
  21. package/dist/bubbles/service-bubble/jira/jira.js +40 -2
  22. package/dist/bubbles/service-bubble/jira/jira.js.map +1 -1
  23. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +69 -68
  24. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts.map +1 -1
  25. package/dist/bubbles/service-bubble/jira/jira.schema.js +1 -4
  26. package/dist/bubbles/service-bubble/jira/jira.schema.js.map +1 -1
  27. package/dist/bubbles/service-bubble/notion/notion.d.ts +148 -148
  28. package/dist/bubbles/service-bubble/postgresql.d.ts +4 -4
  29. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  30. package/dist/bubbles/service-bubble/slack/slack.d.ts +60 -60
  31. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  32. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +36 -36
  33. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  34. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +28 -28
  35. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  36. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +30 -30
  37. package/dist/bubbles.json +10 -6
  38. package/package.json +2 -2
@@ -80,8 +80,8 @@ declare const PDFFormOperationsParamsSchema: z.ZodDiscriminatedUnion<"operation"
80
80
  pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
81
81
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
82
82
  }, "strip", z.ZodTypeAny, {
83
- format: "png" | "jpeg";
84
83
  operation: "convert-to-images";
84
+ format: "png" | "jpeg";
85
85
  quality: number;
86
86
  pdfData: string;
87
87
  dpi: number;
@@ -137,8 +137,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
137
137
  potential_labels: z.ZodArray<z.ZodString, "many">;
138
138
  }, "strip", z.ZodTypeAny, {
139
139
  type: string;
140
- id: number;
141
140
  name: string;
141
+ id: number;
142
142
  width: number;
143
143
  height: number;
144
144
  label: string;
@@ -153,8 +153,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
153
153
  potential_labels: string[];
154
154
  }, {
155
155
  type: string;
156
- id: number;
157
156
  name: string;
157
+ id: number;
158
158
  width: number;
159
159
  height: number;
160
160
  label: string;
@@ -172,10 +172,11 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
172
172
  success: z.ZodBoolean;
173
173
  error: z.ZodString;
174
174
  }, "strip", z.ZodTypeAny, {
175
+ operation: "discover";
175
176
  fields: {
176
177
  type: string;
177
- id: number;
178
178
  name: string;
179
+ id: number;
179
180
  width: number;
180
181
  height: number;
181
182
  label: string;
@@ -189,15 +190,15 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
189
190
  field_flags: number;
190
191
  potential_labels: string[];
191
192
  }[];
192
- operation: "discover";
193
193
  success: boolean;
194
194
  error: string;
195
195
  totalFields: number;
196
196
  }, {
197
+ operation: "discover";
197
198
  fields: {
198
199
  type: string;
199
- id: number;
200
200
  name: string;
201
+ id: number;
201
202
  width: number;
202
203
  height: number;
203
204
  label: string;
@@ -211,7 +212,6 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
211
212
  field_flags: number;
212
213
  potential_labels: string[];
213
214
  }[];
214
- operation: "discover";
215
215
  success: boolean;
216
216
  error: string;
217
217
  totalFields: number;
@@ -320,24 +320,24 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
320
320
  success: z.ZodBoolean;
321
321
  error: z.ZodString;
322
322
  }, "strip", z.ZodTypeAny, {
323
+ operation: "validate";
323
324
  fields: Record<string, {
324
325
  value: string;
325
326
  type: string;
326
327
  page: number;
327
328
  }>;
328
- operation: "validate";
329
329
  success: boolean;
330
330
  error: string;
331
331
  totalFields: number;
332
332
  filledFields: number;
333
333
  emptyFields: number;
334
334
  }, {
335
+ operation: "validate";
335
336
  fields: Record<string, {
336
337
  value: string;
337
338
  type: string;
338
339
  page: number;
339
340
  }>;
340
- operation: "validate";
341
341
  success: boolean;
342
342
  error: string;
343
343
  totalFields: number;
@@ -410,15 +410,15 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
410
410
  }, "strip", z.ZodTypeAny, {
411
411
  value: string;
412
412
  type: string;
413
- id: number;
414
413
  name: string;
414
+ id: number;
415
415
  x: number;
416
416
  y: number;
417
417
  }, {
418
418
  value: string;
419
419
  type: string;
420
- id: number;
421
420
  name: string;
421
+ id: number;
422
422
  x: number;
423
423
  y: number;
424
424
  }>, "many">>;
@@ -428,8 +428,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
428
428
  formFields?: {
429
429
  value: string;
430
430
  type: string;
431
- id: number;
432
431
  name: string;
432
+ id: number;
433
433
  x: number;
434
434
  y: number;
435
435
  }[] | undefined;
@@ -439,8 +439,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
439
439
  formFields?: {
440
440
  value: string;
441
441
  type: string;
442
- id: number;
443
442
  name: string;
443
+ id: number;
444
444
  x: number;
445
445
  y: number;
446
446
  }[] | undefined;
@@ -459,8 +459,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
459
459
  formFields?: {
460
460
  value: string;
461
461
  type: string;
462
- id: number;
463
462
  name: string;
463
+ id: number;
464
464
  x: number;
465
465
  y: number;
466
466
  }[] | undefined;
@@ -478,8 +478,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
478
478
  formFields?: {
479
479
  value: string;
480
480
  type: string;
481
- id: number;
482
481
  name: string;
482
+ id: number;
483
483
  x: number;
484
484
  y: number;
485
485
  }[] | undefined;
@@ -562,8 +562,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
562
562
  pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
563
563
  credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
564
564
  }, "strip", z.ZodTypeAny, {
565
- format: "png" | "jpeg";
566
565
  operation: "convert-to-images";
566
+ format: "png" | "jpeg";
567
567
  quality: number;
568
568
  pdfData: string;
569
569
  dpi: number;
@@ -616,8 +616,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
616
616
  potential_labels: z.ZodArray<z.ZodString, "many">;
617
617
  }, "strip", z.ZodTypeAny, {
618
618
  type: string;
619
- id: number;
620
619
  name: string;
620
+ id: number;
621
621
  width: number;
622
622
  height: number;
623
623
  label: string;
@@ -632,8 +632,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
632
632
  potential_labels: string[];
633
633
  }, {
634
634
  type: string;
635
- id: number;
636
635
  name: string;
636
+ id: number;
637
637
  width: number;
638
638
  height: number;
639
639
  label: string;
@@ -651,10 +651,11 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
651
651
  success: z.ZodBoolean;
652
652
  error: z.ZodString;
653
653
  }, "strip", z.ZodTypeAny, {
654
+ operation: "discover";
654
655
  fields: {
655
656
  type: string;
656
- id: number;
657
657
  name: string;
658
+ id: number;
658
659
  width: number;
659
660
  height: number;
660
661
  label: string;
@@ -668,15 +669,15 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
668
669
  field_flags: number;
669
670
  potential_labels: string[];
670
671
  }[];
671
- operation: "discover";
672
672
  success: boolean;
673
673
  error: string;
674
674
  totalFields: number;
675
675
  }, {
676
+ operation: "discover";
676
677
  fields: {
677
678
  type: string;
678
- id: number;
679
679
  name: string;
680
+ id: number;
680
681
  width: number;
681
682
  height: number;
682
683
  label: string;
@@ -690,7 +691,6 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
690
691
  field_flags: number;
691
692
  potential_labels: string[];
692
693
  }[];
693
- operation: "discover";
694
694
  success: boolean;
695
695
  error: string;
696
696
  totalFields: number;
@@ -799,24 +799,24 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
799
799
  success: z.ZodBoolean;
800
800
  error: z.ZodString;
801
801
  }, "strip", z.ZodTypeAny, {
802
+ operation: "validate";
802
803
  fields: Record<string, {
803
804
  value: string;
804
805
  type: string;
805
806
  page: number;
806
807
  }>;
807
- operation: "validate";
808
808
  success: boolean;
809
809
  error: string;
810
810
  totalFields: number;
811
811
  filledFields: number;
812
812
  emptyFields: number;
813
813
  }, {
814
+ operation: "validate";
814
815
  fields: Record<string, {
815
816
  value: string;
816
817
  type: string;
817
818
  page: number;
818
819
  }>;
819
- operation: "validate";
820
820
  success: boolean;
821
821
  error: string;
822
822
  totalFields: number;
@@ -889,15 +889,15 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
889
889
  }, "strip", z.ZodTypeAny, {
890
890
  value: string;
891
891
  type: string;
892
- id: number;
893
892
  name: string;
893
+ id: number;
894
894
  x: number;
895
895
  y: number;
896
896
  }, {
897
897
  value: string;
898
898
  type: string;
899
- id: number;
900
899
  name: string;
900
+ id: number;
901
901
  x: number;
902
902
  y: number;
903
903
  }>, "many">>;
@@ -907,8 +907,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
907
907
  formFields?: {
908
908
  value: string;
909
909
  type: string;
910
- id: number;
911
910
  name: string;
911
+ id: number;
912
912
  x: number;
913
913
  y: number;
914
914
  }[] | undefined;
@@ -918,8 +918,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
918
918
  formFields?: {
919
919
  value: string;
920
920
  type: string;
921
- id: number;
922
921
  name: string;
922
+ id: number;
923
923
  x: number;
924
924
  y: number;
925
925
  }[] | undefined;
@@ -938,8 +938,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
938
938
  formFields?: {
939
939
  value: string;
940
940
  type: string;
941
- id: number;
942
941
  name: string;
942
+ id: number;
943
943
  x: number;
944
944
  y: number;
945
945
  }[] | undefined;
@@ -957,8 +957,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
957
957
  formFields?: {
958
958
  value: string;
959
959
  type: string;
960
- id: number;
961
960
  name: string;
961
+ id: number;
962
962
  x: number;
963
963
  y: number;
964
964
  }[] | undefined;
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-01-22T22:25:52.225Z",
3
+ "generatedAt": "2026-01-22T22:33:26.097Z",
4
4
  "totalCount": 54,
5
5
  "bubbles": [
6
6
  {
@@ -53543,7 +53543,8 @@
53543
53543
  "nullable": true
53544
53544
  },
53545
53545
  "body": {
53546
- "description": "Comment body (ADF format or plain text)"
53546
+ "type": "string",
53547
+ "description": "Comment body as plain text"
53547
53548
  },
53548
53549
  "renderedBody": {
53549
53550
  "type": "string",
@@ -53953,7 +53954,8 @@
53953
53954
  "nullable": true
53954
53955
  },
53955
53956
  "body": {
53956
- "description": "Comment body (ADF format or plain text)"
53957
+ "type": "string",
53958
+ "description": "Comment body as plain text"
53957
53959
  },
53958
53960
  "renderedBody": {
53959
53961
  "type": "string",
@@ -54428,7 +54430,8 @@
54428
54430
  "nullable": true
54429
54431
  },
54430
54432
  "body": {
54431
- "description": "Comment body (ADF format or plain text)"
54433
+ "type": "string",
54434
+ "description": "Comment body as plain text"
54432
54435
  },
54433
54436
  "renderedBody": {
54434
54437
  "type": "string",
@@ -54511,7 +54514,8 @@
54511
54514
  "nullable": true
54512
54515
  },
54513
54516
  "body": {
54514
- "description": "Comment body (ADF format or plain text)"
54517
+ "type": "string",
54518
+ "description": "Comment body as plain text"
54515
54519
  },
54516
54520
  "renderedBody": {
54517
54521
  "type": "string",
@@ -54552,7 +54556,7 @@
54552
54556
  }
54553
54557
  ]
54554
54558
  },
54555
- "usageExample": "// Search example\nconst jira_search = new JiraBubble({\n operation: \"search\", // Search for issues using JQL query\n jql: \"example string\", // JQL query string. Examples: \"project = PROJ\", \"assignee = currentUser()\", \"status = Open AND created >= -7d\"\n limit: 50 // default, // Maximum number of issues to return (1-100)\n offset: 0 // default, // Starting index for pagination\n fields: [\"example string\"], // Specific fields to return (e.g., [\"summary\", \"status\", \"assignee\"]). Default: all standard fields\n});\n\nconst result = await jira_search.action();\n// outputSchema for result.data when operation === 'search':\n// {\n// operation: \"search\",\n// success: boolean // Whether the operation was successful,\n// issues: { id: string // Issue ID, key: string // Issue key (e.g., \"PROJ-123\"), self: string | undefined // Issue API URL, fields: { summary: string | undefined // Issue title/summary, description: unknown | undefined // Issue description (ADF format), status: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Current status, priority: { id: string // Priority ID, name: string // Priority name } | null | undefined // Issue priority (null if not assigned), assignee: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Assigned user, reporter: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Reporter user (null if deleted or anonymized), issuetype: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type } | undefined // Issue type, project: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name } | undefined // Project, labels: string[] | undefined // Issue labels, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp, duedate: string | null | undefined // Due date (YYYY-MM-DD), parent: { id: string, key: string } | undefined // Parent issue (for subtasks), comment: { comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: unknown | undefined // Comment body (ADF format or plain text), renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined, total: number | undefined } | undefined // Issue comments } // Issue fields, transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions, changelog: unknown | undefined // Issue changelog }[] | undefined // Found issues,\n// total: number | undefined // Total matching issues,\n// offset: number | undefined // Current offset,\n// limit: number | undefined // Requested limit,\n// error: string // Error message if operation failed\n// }\n\n\n// Get example\nconst jira_get = new JiraBubble({\n operation: \"get\", // Get details for a specific issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\") or issue ID\n fields: [\"example string\"], // Specific fields to return. Default: all fields\n expand: [\"changelog\" // options: \"changelog\", \"comments\", \"transitions\"], // Additional data to include\n});\n\nconst result = await jira_get.action();\n// outputSchema for result.data when operation === 'get':\n// {\n// operation: \"get\",\n// success: boolean // Whether the operation was successful,\n// issue: { id: string // Issue ID, key: string // Issue key (e.g., \"PROJ-123\"), self: string | undefined // Issue API URL, fields: { summary: string | undefined // Issue title/summary, description: unknown | undefined // Issue description (ADF format), status: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Current status, priority: { id: string // Priority ID, name: string // Priority name } | null | undefined // Issue priority (null if not assigned), assignee: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Assigned user, reporter: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Reporter user (null if deleted or anonymized), issuetype: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type } | undefined // Issue type, project: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name } | undefined // Project, labels: string[] | undefined // Issue labels, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp, duedate: string | null | undefined // Due date (YYYY-MM-DD), parent: { id: string, key: string } | undefined // Parent issue (for subtasks), comment: { comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: unknown | undefined // Comment body (ADF format or plain text), renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined, total: number | undefined } | undefined // Issue comments } // Issue fields, transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions, changelog: unknown | undefined // Issue changelog } | undefined // Issue details,\n// error: string // Error message if operation failed\n// }\n\n\n// Create example\nconst jira_create = new JiraBubble({\n operation: \"create\", // Create a new issue in Jira\n project: \"example string\", // Project key (e.g., \"PROJ\")\n summary: \"example string\", // Issue title/summary (max 255 chars)\n type: \"Task\" // default, // Issue type: \"Task\", \"Bug\", \"Story\", \"Epic\", etc. Default: \"Task\"\n description: \"example string\", // Issue description (plain text - auto-converted to ADF)\n assignee: \"example string\", // Assignee account ID or email. Leave empty for unassigned\n priority: \"Highest\" // options: \"Highest\", \"High\", \"Medium\", \"Low\", \"Lowest\", // Issue priority. Default: uses project default\n labels: [\"example string\"], // Labels to apply (e.g., [\"bug\", \"urgent\"])\n parent: \"example string\", // Parent issue key for subtasks (e.g., \"PROJ-100\")\n due_date: \"example string\", // Due date in YYYY-MM-DD format\n});\n\nconst result = await jira_create.action();\n// outputSchema for result.data when operation === 'create':\n// {\n// operation: \"create\",\n// success: boolean // Whether the operation was successful,\n// issue: { id: string // Created issue ID, key: string // Created issue key, self: string | undefined // Issue API URL } | undefined // Created issue info,\n// error: string // Error message if operation failed\n// }\n\n\n// Update example\nconst jira_update = new JiraBubble({\n operation: \"update\", // Update an existing issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\") or issue ID\n summary: \"example string\", // New issue title\n description: \"example string\", // New description (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n assignee: \"example string\", // New assignee (account ID/email) or null to unassign\n priority: \"Highest\" // options: \"Highest\", \"High\", \"Medium\", \"Low\", \"Lowest\", // New priority\n labels: { add: [\"example string\"] // Labels to add to the issue, remove: [\"example string\"] // Labels to remove from the issue, set: [\"example string\"] // Replace all labels with these (overrides add/remove) }, // Label modifications\n due_date: \"example string\", // New due date (YYYY-MM-DD) or null to clear\n comment: \"example string\", // Add a comment with this update (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n});\n\nconst result = await jira_update.action();\n// outputSchema for result.data when operation === 'update':\n// {\n// operation: \"update\",\n// success: boolean // Whether the operation was successful,\n// key: string | undefined // Updated issue key,\n// error: string // Error message if operation failed\n// }\n\n\n// Transition example\nconst jira_transition = new JiraBubble({\n operation: \"transition\", // Transition issue to a new status\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n status: \"example string\", // Target status NAME (e.g., \"In Progress\", \"Done\"). Finds matching transition automatically\n transition_id: \"example string\", // Specific transition ID (from list_transitions). Use when status name is ambiguous\n comment: \"example string\", // Comment to add with the transition (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n resolution: \"example string\", // Resolution when closing (e.g., \"Fixed\", \"Won't Fix\", \"Duplicate\")\n});\n\nconst result = await jira_transition.action();\n// outputSchema for result.data when operation === 'transition':\n// {\n// operation: \"transition\",\n// success: boolean // Whether the operation was successful,\n// key: string | undefined // Transitioned issue key,\n// new_status: string | undefined // New status name,\n// error: string // Error message if operation failed\n// }\n\n\n// List Transitions example\nconst jira_list_transitions = new JiraBubble({\n operation: \"list_transitions\", // Get available transitions for an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n});\n\nconst result = await jira_list_transitions.action();\n// outputSchema for result.data when operation === 'list_transitions':\n// {\n// operation: \"list_transitions\",\n// success: boolean // Whether the operation was successful,\n// transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions,\n// error: string // Error message if operation failed\n// }\n\n\n// List Projects example\nconst jira_list_projects = new JiraBubble({\n operation: \"list_projects\", // List available Jira projects\n limit: 50 // default, // Maximum number of projects to return\n offset: 0 // default, // Starting index for pagination\n});\n\nconst result = await jira_list_projects.action();\n// outputSchema for result.data when operation === 'list_projects':\n// {\n// operation: \"list_projects\",\n// success: boolean // Whether the operation was successful,\n// projects: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name }[] | undefined // Available projects,\n// total: number | undefined // Total projects,\n// error: string // Error message if operation failed\n// }\n\n\n// List Issue Types example\nconst jira_list_issue_types = new JiraBubble({\n operation: \"list_issue_types\", // List issue types for a project\n project: \"example string\", // Project key (e.g., \"PROJ\")\n});\n\nconst result = await jira_list_issue_types.action();\n// outputSchema for result.data when operation === 'list_issue_types':\n// {\n// operation: \"list_issue_types\",\n// success: boolean // Whether the operation was successful,\n// issue_types: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type }[] | undefined // Available issue types,\n// error: string // Error message if operation failed\n// }\n\n\n// Add Comment example\nconst jira_add_comment = new JiraBubble({\n operation: \"add_comment\", // Add a comment to an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n body: \"example string\", // Comment text (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n});\n\nconst result = await jira_add_comment.action();\n// outputSchema for result.data when operation === 'add_comment':\n// {\n// operation: \"add_comment\",\n// success: boolean // Whether the operation was successful,\n// comment: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: unknown | undefined // Comment body (ADF format or plain text), renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp } | undefined // Created comment,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Comments example\nconst jira_get_comments = new JiraBubble({\n operation: \"get_comments\", // Get comments for an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n limit: 50 // default, // Maximum number of comments to return\n offset: 0 // default, // Starting index for pagination\n});\n\nconst result = await jira_get_comments.action();\n// outputSchema for result.data when operation === 'get_comments':\n// {\n// operation: \"get_comments\",\n// success: boolean // Whether the operation was successful,\n// comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: unknown | undefined // Comment body (ADF format or plain text), renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined // Issue comments,\n// total: number | undefined // Total comments,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`jira failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
54559
+ "usageExample": "// Search example\nconst jira_search = new JiraBubble({\n operation: \"search\", // Search for issues using JQL query\n jql: \"example string\", // JQL query string. Examples: \"project = PROJ\", \"assignee = currentUser()\", \"status = Open AND created >= -7d\"\n limit: 50 // default, // Maximum number of issues to return (1-100)\n offset: 0 // default, // Starting index for pagination\n fields: [\"example string\"], // Specific fields to return (e.g., [\"summary\", \"status\", \"assignee\"]). Default: all standard fields\n});\n\nconst result = await jira_search.action();\n// outputSchema for result.data when operation === 'search':\n// {\n// operation: \"search\",\n// success: boolean // Whether the operation was successful,\n// issues: { id: string // Issue ID, key: string // Issue key (e.g., \"PROJ-123\"), self: string | undefined // Issue API URL, fields: { summary: string | undefined // Issue title/summary, description: unknown | undefined // Issue description (ADF format), status: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Current status, priority: { id: string // Priority ID, name: string // Priority name } | null | undefined // Issue priority (null if not assigned), assignee: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Assigned user, reporter: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Reporter user (null if deleted or anonymized), issuetype: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type } | undefined // Issue type, project: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name } | undefined // Project, labels: string[] | undefined // Issue labels, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp, duedate: string | null | undefined // Due date (YYYY-MM-DD), parent: { id: string, key: string } | undefined // Parent issue (for subtasks), comment: { comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: string | undefined // Comment body as plain text, renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined, total: number | undefined } | undefined // Issue comments } // Issue fields, transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions, changelog: unknown | undefined // Issue changelog }[] | undefined // Found issues,\n// total: number | undefined // Total matching issues,\n// offset: number | undefined // Current offset,\n// limit: number | undefined // Requested limit,\n// error: string // Error message if operation failed\n// }\n\n\n// Get example\nconst jira_get = new JiraBubble({\n operation: \"get\", // Get details for a specific issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\") or issue ID\n fields: [\"example string\"], // Specific fields to return. Default: all fields\n expand: [\"changelog\" // options: \"changelog\", \"comments\", \"transitions\"], // Additional data to include\n});\n\nconst result = await jira_get.action();\n// outputSchema for result.data when operation === 'get':\n// {\n// operation: \"get\",\n// success: boolean // Whether the operation was successful,\n// issue: { id: string // Issue ID, key: string // Issue key (e.g., \"PROJ-123\"), self: string | undefined // Issue API URL, fields: { summary: string | undefined // Issue title/summary, description: unknown | undefined // Issue description (ADF format), status: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Current status, priority: { id: string // Priority ID, name: string // Priority name } | null | undefined // Issue priority (null if not assigned), assignee: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Assigned user, reporter: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Reporter user (null if deleted or anonymized), issuetype: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type } | undefined // Issue type, project: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name } | undefined // Project, labels: string[] | undefined // Issue labels, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp, duedate: string | null | undefined // Due date (YYYY-MM-DD), parent: { id: string, key: string } | undefined // Parent issue (for subtasks), comment: { comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: string | undefined // Comment body as plain text, renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined, total: number | undefined } | undefined // Issue comments } // Issue fields, transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions, changelog: unknown | undefined // Issue changelog } | undefined // Issue details,\n// error: string // Error message if operation failed\n// }\n\n\n// Create example\nconst jira_create = new JiraBubble({\n operation: \"create\", // Create a new issue in Jira\n project: \"example string\", // Project key (e.g., \"PROJ\")\n summary: \"example string\", // Issue title/summary (max 255 chars)\n type: \"Task\" // default, // Issue type: \"Task\", \"Bug\", \"Story\", \"Epic\", etc. Default: \"Task\"\n description: \"example string\", // Issue description (plain text - auto-converted to ADF)\n assignee: \"example string\", // Assignee account ID or email. Leave empty for unassigned\n priority: \"Highest\" // options: \"Highest\", \"High\", \"Medium\", \"Low\", \"Lowest\", // Issue priority. Default: uses project default\n labels: [\"example string\"], // Labels to apply (e.g., [\"bug\", \"urgent\"])\n parent: \"example string\", // Parent issue key for subtasks (e.g., \"PROJ-100\")\n due_date: \"example string\", // Due date in YYYY-MM-DD format\n});\n\nconst result = await jira_create.action();\n// outputSchema for result.data when operation === 'create':\n// {\n// operation: \"create\",\n// success: boolean // Whether the operation was successful,\n// issue: { id: string // Created issue ID, key: string // Created issue key, self: string | undefined // Issue API URL } | undefined // Created issue info,\n// error: string // Error message if operation failed\n// }\n\n\n// Update example\nconst jira_update = new JiraBubble({\n operation: \"update\", // Update an existing issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\") or issue ID\n summary: \"example string\", // New issue title\n description: \"example string\", // New description (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n assignee: \"example string\", // New assignee (account ID/email) or null to unassign\n priority: \"Highest\" // options: \"Highest\", \"High\", \"Medium\", \"Low\", \"Lowest\", // New priority\n labels: { add: [\"example string\"] // Labels to add to the issue, remove: [\"example string\"] // Labels to remove from the issue, set: [\"example string\"] // Replace all labels with these (overrides add/remove) }, // Label modifications\n due_date: \"example string\", // New due date (YYYY-MM-DD) or null to clear\n comment: \"example string\", // Add a comment with this update (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n});\n\nconst result = await jira_update.action();\n// outputSchema for result.data when operation === 'update':\n// {\n// operation: \"update\",\n// success: boolean // Whether the operation was successful,\n// key: string | undefined // Updated issue key,\n// error: string // Error message if operation failed\n// }\n\n\n// Transition example\nconst jira_transition = new JiraBubble({\n operation: \"transition\", // Transition issue to a new status\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n status: \"example string\", // Target status NAME (e.g., \"In Progress\", \"Done\"). Finds matching transition automatically\n transition_id: \"example string\", // Specific transition ID (from list_transitions). Use when status name is ambiguous\n comment: \"example string\", // Comment to add with the transition (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n resolution: \"example string\", // Resolution when closing (e.g., \"Fixed\", \"Won't Fix\", \"Duplicate\")\n});\n\nconst result = await jira_transition.action();\n// outputSchema for result.data when operation === 'transition':\n// {\n// operation: \"transition\",\n// success: boolean // Whether the operation was successful,\n// key: string | undefined // Transitioned issue key,\n// new_status: string | undefined // New status name,\n// error: string // Error message if operation failed\n// }\n\n\n// List Transitions example\nconst jira_list_transitions = new JiraBubble({\n operation: \"list_transitions\", // Get available transitions for an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n});\n\nconst result = await jira_list_transitions.action();\n// outputSchema for result.data when operation === 'list_transitions':\n// {\n// operation: \"list_transitions\",\n// success: boolean // Whether the operation was successful,\n// transitions: { id: string // Transition ID, name: string // Transition name (e.g., \"Start Progress\", \"Done\"), to: { id: string // Status ID, name: string // Status name (e.g., \"To Do\", \"In Progress\", \"Done\"), statusCategory: { key: string // Category key, name: string // Category name } | undefined // Status category } | undefined // Target status }[] | undefined // Available transitions,\n// error: string // Error message if operation failed\n// }\n\n\n// List Projects example\nconst jira_list_projects = new JiraBubble({\n operation: \"list_projects\", // List available Jira projects\n limit: 50 // default, // Maximum number of projects to return\n offset: 0 // default, // Starting index for pagination\n});\n\nconst result = await jira_list_projects.action();\n// outputSchema for result.data when operation === 'list_projects':\n// {\n// operation: \"list_projects\",\n// success: boolean // Whether the operation was successful,\n// projects: { id: string // Project ID, key: string // Project key (e.g., \"PROJ\"), name: string // Project name }[] | undefined // Available projects,\n// total: number | undefined // Total projects,\n// error: string // Error message if operation failed\n// }\n\n\n// List Issue Types example\nconst jira_list_issue_types = new JiraBubble({\n operation: \"list_issue_types\", // List issue types for a project\n project: \"example string\", // Project key (e.g., \"PROJ\")\n});\n\nconst result = await jira_list_issue_types.action();\n// outputSchema for result.data when operation === 'list_issue_types':\n// {\n// operation: \"list_issue_types\",\n// success: boolean // Whether the operation was successful,\n// issue_types: { id: string // Issue type ID, name: string // Issue type name (e.g., \"Task\", \"Bug\", \"Story\"), description: string | undefined // Issue type description, subtask: boolean | undefined // Whether this is a subtask type }[] | undefined // Available issue types,\n// error: string // Error message if operation failed\n// }\n\n\n// Add Comment example\nconst jira_add_comment = new JiraBubble({\n operation: \"add_comment\", // Add a comment to an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n body: \"example string\", // Comment text (markdown or plain text - auto-converted to ADF). Supports: **bold**, *italic*, `code`, [links](url), # headings, lists, > blockquotes, ``` code blocks ```, ~~strikethrough~~\n});\n\nconst result = await jira_add_comment.action();\n// outputSchema for result.data when operation === 'add_comment':\n// {\n// operation: \"add_comment\",\n// success: boolean // Whether the operation was successful,\n// comment: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: string | undefined // Comment body as plain text, renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp } | undefined // Created comment,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Comments example\nconst jira_get_comments = new JiraBubble({\n operation: \"get_comments\", // Get comments for an issue\n key: \"example string\", // Issue key (e.g., \"PROJ-123\")\n limit: 50 // default, // Maximum number of comments to return\n offset: 0 // default, // Starting index for pagination\n});\n\nconst result = await jira_get_comments.action();\n// outputSchema for result.data when operation === 'get_comments':\n// {\n// operation: \"get_comments\",\n// success: boolean // Whether the operation was successful,\n// comments: { id: string // Comment ID, author: { accountId: string // User account ID, displayName: string | undefined // User display name, emailAddress: string | undefined // User email address, active: boolean | undefined // Whether the user is active } | null | undefined // Comment author (null if deleted or anonymized), body: string | undefined // Comment body as plain text, renderedBody: string | undefined // Comment body as rendered HTML, created: string | undefined // Creation timestamp, updated: string | undefined // Last update timestamp }[] | undefined // Issue comments,\n// total: number | undefined // Total comments,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`jira failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
54556
54560
  "requiredCredentials": [
54557
54561
  "JIRA_CRED"
54558
54562
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
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.31"
43
+ "@bubblelab/shared-schemas": "0.1.32"
44
44
  },
45
45
  "devDependencies": {
46
46
  "zod-to-json-schema": "^3.24.6",