@bubblelab/bubble-core 0.1.20 → 0.1.21

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.
@@ -1,6 +1,212 @@
1
1
  import { z } from 'zod';
2
2
  import { ServiceBubble } from '../../types/service-bubble-class.js';
3
3
  import { CredentialType } from '@bubblelab/shared-schemas';
4
+ /**
5
+ * Parses markdown content and converts it to Google Docs API formatting requests.
6
+ * Supports: headers, bold, italic, links, bullet lists, numbered lists.
7
+ *
8
+ * @param content - The markdown content to parse
9
+ * @param insertIndex - The starting index in the Google Doc where text will be inserted
10
+ * @returns Object containing plain text and formatting requests
11
+ */
12
+ function parseMarkdownToGoogleDocs(content, insertIndex) {
13
+ const requests = [];
14
+ const lines = content.split('\n');
15
+ const processedLines = [];
16
+ // Track formatting to apply after text insertion
17
+ const boldRanges = [];
18
+ const italicRanges = [];
19
+ const linkRanges = [];
20
+ const headerLines = [];
21
+ const bulletLines = [];
22
+ const numberedLines = [];
23
+ let currentOffset = 0;
24
+ for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
25
+ let line = lines[lineIdx];
26
+ const lineStartOffset = currentOffset;
27
+ // Check for headers (# ## ### etc.)
28
+ const headerMatch = line.match(/^(#{1,6})\s+(.*)$/);
29
+ if (headerMatch) {
30
+ const level = headerMatch[1].length;
31
+ line = headerMatch[2];
32
+ headerLines.push({ lineIndex: processedLines.length, level });
33
+ }
34
+ // Check for bullet lists (- or *)
35
+ const bulletMatch = line.match(/^[\-\*]\s+(.*)$/);
36
+ if (bulletMatch) {
37
+ line = bulletMatch[1];
38
+ bulletLines.push(processedLines.length);
39
+ }
40
+ // Check for numbered lists (1. 2. etc.)
41
+ const numberedMatch = line.match(/^\d+\.\s+(.*)$/);
42
+ if (numberedMatch) {
43
+ line = numberedMatch[1];
44
+ numberedLines.push(processedLines.length);
45
+ }
46
+ // Process inline formatting (bold, italic, links)
47
+ let processedLine = '';
48
+ let i = 0;
49
+ while (i < line.length) {
50
+ // Check for links [text](url)
51
+ const linkMatch = line.slice(i).match(/^\[([^\]]+)\]\(([^)]+)\)/);
52
+ if (linkMatch) {
53
+ const linkText = linkMatch[1];
54
+ const linkUrl = linkMatch[2];
55
+ const startPos = lineStartOffset + processedLine.length;
56
+ linkRanges.push({
57
+ start: startPos,
58
+ end: startPos + linkText.length,
59
+ url: linkUrl,
60
+ });
61
+ processedLine += linkText;
62
+ i += linkMatch[0].length;
63
+ continue;
64
+ }
65
+ // Check for bold **text** or __text__
66
+ const boldMatch = line.slice(i).match(/^(\*\*|__)([^*_]+)\1/);
67
+ if (boldMatch) {
68
+ const boldText = boldMatch[2];
69
+ const startPos = lineStartOffset + processedLine.length;
70
+ boldRanges.push({
71
+ start: startPos,
72
+ end: startPos + boldText.length,
73
+ });
74
+ processedLine += boldText;
75
+ i += boldMatch[0].length;
76
+ continue;
77
+ }
78
+ // Check for italic *text* or _text_ (but not ** or __)
79
+ const italicMatch = line.slice(i).match(/^(\*|_)([^*_]+)\1/);
80
+ if (italicMatch &&
81
+ !line.slice(i).startsWith('**') &&
82
+ !line.slice(i).startsWith('__')) {
83
+ const italicText = italicMatch[2];
84
+ const startPos = lineStartOffset + processedLine.length;
85
+ italicRanges.push({
86
+ start: startPos,
87
+ end: startPos + italicText.length,
88
+ });
89
+ processedLine += italicText;
90
+ i += italicMatch[0].length;
91
+ continue;
92
+ }
93
+ processedLine += line[i];
94
+ i++;
95
+ }
96
+ processedLines.push(processedLine);
97
+ currentOffset += processedLine.length + 1; // +1 for newline
98
+ }
99
+ const plainText = processedLines.join('\n');
100
+ // Build formatting requests (applied in reverse order for correct indexing)
101
+ // Apply header styles
102
+ let lineStart = insertIndex;
103
+ for (let i = 0; i < processedLines.length; i++) {
104
+ const lineEnd = lineStart + processedLines[i].length + 1;
105
+ const header = headerLines.find((h) => h.lineIndex === i);
106
+ if (header) {
107
+ const namedStyle = `HEADING_${Math.min(header.level, 6)}`;
108
+ requests.push({
109
+ updateParagraphStyle: {
110
+ range: { startIndex: lineStart, endIndex: lineEnd },
111
+ paragraphStyle: { namedStyleType: namedStyle },
112
+ fields: 'namedStyleType',
113
+ },
114
+ });
115
+ }
116
+ lineStart = lineEnd;
117
+ }
118
+ // Apply bullet lists
119
+ if (bulletLines.length > 0) {
120
+ lineStart = insertIndex;
121
+ for (let i = 0; i < processedLines.length; i++) {
122
+ const lineEnd = lineStart + processedLines[i].length + 1;
123
+ if (bulletLines.includes(i)) {
124
+ requests.push({
125
+ createParagraphBullets: {
126
+ range: { startIndex: lineStart, endIndex: lineEnd },
127
+ bulletPreset: 'BULLET_DISC_CIRCLE_SQUARE',
128
+ },
129
+ });
130
+ }
131
+ lineStart = lineEnd;
132
+ }
133
+ }
134
+ // Apply numbered lists
135
+ if (numberedLines.length > 0) {
136
+ lineStart = insertIndex;
137
+ for (let i = 0; i < processedLines.length; i++) {
138
+ const lineEnd = lineStart + processedLines[i].length + 1;
139
+ if (numberedLines.includes(i)) {
140
+ requests.push({
141
+ createParagraphBullets: {
142
+ range: { startIndex: lineStart, endIndex: lineEnd },
143
+ bulletPreset: 'NUMBERED_DECIMAL_NESTED',
144
+ },
145
+ });
146
+ }
147
+ lineStart = lineEnd;
148
+ }
149
+ }
150
+ // Apply bold formatting
151
+ for (const range of boldRanges) {
152
+ requests.push({
153
+ updateTextStyle: {
154
+ range: {
155
+ startIndex: insertIndex + range.start,
156
+ endIndex: insertIndex + range.end,
157
+ },
158
+ textStyle: { bold: true },
159
+ fields: 'bold',
160
+ },
161
+ });
162
+ }
163
+ // Apply italic formatting
164
+ for (const range of italicRanges) {
165
+ requests.push({
166
+ updateTextStyle: {
167
+ range: {
168
+ startIndex: insertIndex + range.start,
169
+ endIndex: insertIndex + range.end,
170
+ },
171
+ textStyle: { italic: true },
172
+ fields: 'italic',
173
+ },
174
+ });
175
+ }
176
+ // Apply link formatting
177
+ for (const range of linkRanges) {
178
+ requests.push({
179
+ updateTextStyle: {
180
+ range: {
181
+ startIndex: insertIndex + range.start,
182
+ endIndex: insertIndex + range.end,
183
+ },
184
+ textStyle: {
185
+ link: { url: range.url },
186
+ },
187
+ fields: 'link',
188
+ },
189
+ });
190
+ }
191
+ return { plainText, requests };
192
+ }
193
+ /**
194
+ * Detects if content contains markdown formatting.
195
+ */
196
+ function isMarkdown(content) {
197
+ const markdownPatterns = [
198
+ /^#{1,6}\s+/m, // Headers
199
+ /\*\*[^*]+\*\*/, // Bold
200
+ /\*[^*]+\*/, // Italic
201
+ /__[^_]+__/, // Bold alt
202
+ /_[^_]+_/, // Italic alt
203
+ /\[[^\]]+\]\([^)]+\)/, // Links
204
+ /^[\-\*]\s+/m, // Bullet lists
205
+ /^\d+\.\s+/m, // Numbered lists
206
+ ];
207
+ return markdownPatterns.some((pattern) => pattern.test(content));
208
+ }
209
+ // ============================================================================
4
210
  // Define file metadata schema
5
211
  const DriveFileSchema = z
6
212
  .object({
@@ -283,6 +489,29 @@ const GoogleDriveParamsSchema = z.discriminatedUnion('operation', [
283
489
  .optional()
284
490
  .describe('Object mapping credential types to values (injected at runtime)'),
285
491
  }),
492
+ // Update Google Doc content operation (uses Google Docs API)
493
+ z.object({
494
+ operation: z
495
+ .literal('update_doc')
496
+ .describe('Update a Google Doc with new content using the Google Docs API batchUpdate'),
497
+ document_id: z
498
+ .string()
499
+ .min(1, 'Document ID is required')
500
+ .describe('The ID of the Google Doc to update'),
501
+ content: z
502
+ .string()
503
+ .min(1, 'Content is required')
504
+ .describe('The text or markdown content to write to the document (auto-detected)'),
505
+ mode: z
506
+ .enum(['replace', 'append'])
507
+ .optional()
508
+ .default('replace')
509
+ .describe('Update mode: "replace" clears existing content first, "append" adds to the end'),
510
+ credentials: z
511
+ .record(z.nativeEnum(CredentialType), z.string())
512
+ .optional()
513
+ .describe('Object mapping credential types to values (injected at runtime)'),
514
+ }),
286
515
  ]);
287
516
  // Define result schemas for different operations
288
517
  const GoogleDriveResultSchema = z.discriminatedUnion('operation', [
@@ -408,6 +637,23 @@ const GoogleDriveResultSchema = z.discriminatedUnion('operation', [
408
637
  .describe('Extracted plain text content from the document'),
409
638
  error: z.string().describe('Error message if operation failed'),
410
639
  }),
640
+ z.object({
641
+ operation: z
642
+ .literal('update_doc')
643
+ .describe('Update a Google Doc with new content using the Google Docs API batchUpdate'),
644
+ success: z
645
+ .boolean()
646
+ .describe('Whether the document was updated successfully'),
647
+ documentId: z
648
+ .string()
649
+ .optional()
650
+ .describe('The ID of the updated document'),
651
+ revisionId: z
652
+ .string()
653
+ .optional()
654
+ .describe('The new revision ID after the update'),
655
+ error: z.string().describe('Error message if operation failed'),
656
+ }),
411
657
  ]);
412
658
  export class GoogleDriveBubble extends ServiceBubble {
413
659
  static type = 'service';
@@ -537,6 +783,8 @@ export class GoogleDriveBubble extends ServiceBubble {
537
783
  return await this.moveFile(this.params);
538
784
  case 'get_doc':
539
785
  return await this.getDoc(this.params);
786
+ case 'update_doc':
787
+ return await this.updateDoc(this.params);
540
788
  default:
541
789
  throw new Error(`Unsupported operation: ${operation}`);
542
790
  }
@@ -891,6 +1139,101 @@ export class GoogleDriveBubble extends ServiceBubble {
891
1139
  error: '',
892
1140
  };
893
1141
  }
1142
+ async updateDoc(params) {
1143
+ const { document_id, content, mode } = params;
1144
+ const url = `https://docs.googleapis.com/v1/documents/${document_id}:batchUpdate`;
1145
+ // Build the requests array based on mode
1146
+ const requests = [];
1147
+ // Auto-detect markdown and parse if needed
1148
+ const useMarkdown = isMarkdown(content);
1149
+ if (mode === 'replace') {
1150
+ // For replace mode, first get the document to find content length
1151
+ const docUrl = `https://docs.googleapis.com/v1/documents/${document_id}`;
1152
+ const document = await this.makeGoogleApiRequest(docUrl, 'GET');
1153
+ // Get the end index of the document body content
1154
+ const body = document.body;
1155
+ const contentElements = body?.content || [];
1156
+ const lastElement = contentElements[contentElements.length - 1];
1157
+ const endIndex = lastElement?.endIndex || 1;
1158
+ // Only delete if there's content to delete (endIndex > 1)
1159
+ if (endIndex > 1) {
1160
+ requests.push({
1161
+ deleteContentRange: {
1162
+ range: {
1163
+ startIndex: 1,
1164
+ endIndex: endIndex - 1,
1165
+ },
1166
+ },
1167
+ });
1168
+ }
1169
+ if (useMarkdown) {
1170
+ // Parse markdown and get plain text + formatting requests
1171
+ const parsed = parseMarkdownToGoogleDocs(content, 1);
1172
+ // Insert plain text first
1173
+ requests.push({
1174
+ insertText: {
1175
+ location: { index: 1 },
1176
+ text: parsed.plainText,
1177
+ },
1178
+ });
1179
+ // Add formatting requests
1180
+ requests.push(...parsed.requests);
1181
+ }
1182
+ else {
1183
+ // Plain text - just insert
1184
+ requests.push({
1185
+ insertText: {
1186
+ location: { index: 1 },
1187
+ text: content,
1188
+ },
1189
+ });
1190
+ }
1191
+ }
1192
+ else {
1193
+ // For append mode, get document to find the end position
1194
+ const docUrl = `https://docs.googleapis.com/v1/documents/${document_id}`;
1195
+ const document = await this.makeGoogleApiRequest(docUrl, 'GET');
1196
+ // Get the end index of the document body content
1197
+ const body = document.body;
1198
+ const contentElements = body?.content || [];
1199
+ const lastElement = contentElements[contentElements.length - 1];
1200
+ const endIndex = lastElement?.endIndex || 1;
1201
+ const insertIndex = endIndex - 1;
1202
+ if (useMarkdown) {
1203
+ // Parse markdown and get plain text + formatting requests
1204
+ const parsed = parseMarkdownToGoogleDocs(content, insertIndex);
1205
+ // Insert plain text first
1206
+ requests.push({
1207
+ insertText: {
1208
+ location: { index: insertIndex },
1209
+ text: parsed.plainText,
1210
+ },
1211
+ });
1212
+ // Add formatting requests
1213
+ requests.push(...parsed.requests);
1214
+ }
1215
+ else {
1216
+ // Plain text - just insert
1217
+ requests.push({
1218
+ insertText: {
1219
+ location: { index: insertIndex },
1220
+ text: content,
1221
+ },
1222
+ });
1223
+ }
1224
+ }
1225
+ // Make the batchUpdate request
1226
+ const response = await this.makeGoogleApiRequest(url, 'POST', {
1227
+ requests,
1228
+ });
1229
+ return {
1230
+ operation: 'update_doc',
1231
+ success: true,
1232
+ documentId: response.documentId,
1233
+ revisionId: response.writeControl?.requiredRevisionId,
1234
+ error: '',
1235
+ };
1236
+ }
894
1237
  /**
895
1238
  * Extracts plain text content from a Google Docs document body
896
1239
  */
@@ -1 +1 @@
1
- {"version":3,"file":"google-drive.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/google-drive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-drive.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/google-drive.ts"],"names":[],"mappings":"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"}
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "generatedAt": "2026-01-19T17:35:58.866Z",
3
+ "generatedAt": "2026-01-19T22:51:40.585Z",
4
4
  "totalCount": 50,
5
5
  "bubbles": [
6
6
  {
@@ -119,7 +119,7 @@
119
119
  "useCase": "- Upload files and documents to Google Drive",
120
120
  "inputSchema": "Complex schema - see usage example for structure",
121
121
  "outputSchema": "Complex schema - see usage example for structure",
122
- "usageExample": "// Upload File example\nconst googleDrive_upload_file = new GoogleDriveBubble({\n operation: \"upload_file\", // Upload a file to Google Drive\n name: \"example string\", // Name for the uploaded file\n content: \"example string\", // File content as base64 encoded string or plain text\n mimeType: \"example string\", // MIME type of the file (auto-detected if not provided)\n parent_folder_id: \"example string\", // ID of the parent folder (uploads to root if not provided)\n convert_to_google_docs: false // default, // Convert uploaded file to Google Docs format if possible\n});\n\nconst result = await googleDrive_upload_file.action();\n// outputSchema for result.data when operation === 'upload_file':\n// {\n// operation: \"upload_file\" // Upload a file to Google Drive,\n// success: boolean // Whether the file was uploaded successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // Uploaded file metadata,\n// error: string // Error message if operation failed\n// }\n\n\n// Download File example\nconst googleDrive_download_file = new GoogleDriveBubble({\n operation: \"download_file\", // Download a file from Google Drive\n file_id: \"example string\", // Google Drive file ID to download\n export_format: \"example string\", // Export format for Google Workspace files (e.g., \"application/pdf\", \"text/plain\")\n});\n\nconst result = await googleDrive_download_file.action();\n// outputSchema for result.data when operation === 'download_file':\n// {\n// operation: \"download_file\" // Download a file from Google Drive,\n// success: boolean // Whether the file was downloaded successfully,\n// content: string | undefined // File content as plain text (for text-based files) or base64 encoded string (for binary files),\n// filename: string | undefined // Original filename,\n// mimeType: string | undefined // MIME type of the downloaded file,\n// error: string // Error message if operation failed\n// }\n\n\n// List Files example\nconst googleDrive_list_files = new GoogleDriveBubble({\n operation: \"list_files\", // List files and folders in Google Drive\n folder_id: \"example string\", // ID of folder to list files from (lists from root if not provided)\n query: \"example string\", // Search query to filter files (e.g., \"name contains 'report'\"\n max_results: 100 // default, // Maximum number of files to return\n include_folders: true // default, // Include folders in the results\n order_by: \"modifiedTime desc\" // default, // Order results by field (e.g., \"name\", \"modifiedTime desc\")\n});\n\nconst result = await googleDrive_list_files.action();\n// outputSchema for result.data when operation === 'list_files':\n// {\n// operation: \"list_files\" // List files and folders in Google Drive,\n// success: boolean // Whether the file list was retrieved successfully,\n// files: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners }[] | undefined // List of files and folders,\n// total_count: number | undefined // Total number of files found,\n// next_page_token: string | undefined // Token for fetching next page of results,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Folder example\nconst googleDrive_create_folder = new GoogleDriveBubble({\n operation: \"create_folder\", // Create a new folder in Google Drive\n name: \"example string\", // Name of the folder to create\n parent_folder_id: \"example string\", // ID of the parent folder (creates in root if not provided)\n});\n\nconst result = await googleDrive_create_folder.action();\n// outputSchema for result.data when operation === 'create_folder':\n// {\n// operation: \"create_folder\" // Create a new folder in Google Drive,\n// success: boolean // Whether the folder was created successfully,\n// folder: { id: string // Unique folder identifier, name: string // Name of the folder, webViewLink: string | undefined // Link to view the folder in Google Drive, parents: string[] | undefined // Parent folder IDs } | undefined // Created folder metadata,\n// error: string // Error message if operation failed\n// }\n\n\n// Delete File example\nconst googleDrive_delete_file = new GoogleDriveBubble({\n operation: \"delete_file\", // Delete a file or folder from Google Drive\n file_id: \"example string\", // Google Drive file or folder ID to delete\n permanent: false // default, // Permanently delete (true) or move to trash (false)\n});\n\nconst result = await googleDrive_delete_file.action();\n// outputSchema for result.data when operation === 'delete_file':\n// {\n// operation: \"delete_file\" // Delete a file or folder from Google Drive,\n// success: boolean // Whether the file was deleted successfully,\n// deleted_file_id: string | undefined // ID of the deleted file,\n// error: string // Error message if operation failed\n// }\n\n\n// Get File Info example\nconst googleDrive_get_file_info = new GoogleDriveBubble({\n operation: \"get_file_info\", // Get detailed information about a file or folder\n file_id: \"example string\", // Google Drive file or folder ID to get info for\n include_permissions: false // default, // Include file permissions in the response\n});\n\nconst result = await googleDrive_get_file_info.action();\n// outputSchema for result.data when operation === 'get_file_info':\n// {\n// operation: \"get_file_info\" // Get detailed information about a file or folder,\n// success: boolean // Whether the file information was retrieved successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // File metadata and information,\n// permissions: { id: string, type: string, role: string, emailAddress: string | undefined // Permission holder email address, displayName: string | undefined // Permission holder display name }[] | undefined // File permissions (if requested),\n// error: string // Error message if operation failed\n// }\n\n\n// Share File example\nconst googleDrive_share_file = new GoogleDriveBubble({\n operation: \"share_file\", // Share a file or folder with specific users or make it public\n file_id: \"example string\", // Google Drive file or folder ID to share\n email_address: \"example string\", // Email address to share with (for specific user sharing)\n role: \"reader\" // options: \"reader\", \"writer\", \"commenter\", \"owner\", // Permission role to grant\n type: \"user\" // options: \"user\", \"group\", \"domain\", \"anyone\", // Type of permission to create\n send_notification: true // default, // Send notification email to the user\n});\n\nconst result = await googleDrive_share_file.action();\n// outputSchema for result.data when operation === 'share_file':\n// {\n// operation: \"share_file\" // Share a file or folder with specific users or make it public,\n// success: boolean // Whether the file was shared successfully,\n// permission_id: string | undefined // ID of the created permission,\n// share_link: string | undefined // Shareable link to the file,\n// error: string // Error message if operation failed\n// }\n\n\n// Move File example\nconst googleDrive_move_file = new GoogleDriveBubble({\n operation: \"move_file\", // Move a file or folder to a different location in Google Drive\n file_id: \"example string\", // Google Drive file or folder ID to move\n new_parent_folder_id: \"example string\", // ID of the new parent folder (moves to root if not provided)\n remove_parent_folder_id: \"example string\", // ID of the parent folder to remove (removes from all parents if not provided)\n});\n\nconst result = await googleDrive_move_file.action();\n// outputSchema for result.data when operation === 'move_file':\n// {\n// operation: \"move_file\" // Move a file or folder to a different location in Google Drive,\n// success: boolean // Whether the file was moved successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // Updated file metadata after move,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Doc example\nconst googleDrive_get_doc = new GoogleDriveBubble({\n operation: \"get_doc\", // Get the content and metadata of a Google Doc using the Google Docs API, use this over download_file for Google Docs\n document_id: \"example string\", // The ID of the Google Doc to retrieve\n});\n\nconst result = await googleDrive_get_doc.action();\n// outputSchema for result.data when operation === 'get_doc':\n// {\n// operation: \"get_doc\" // Get the content and metadata of a Google Doc using the Google Docs API,\n// success: boolean // Whether the document was retrieved successfully,\n// document: { documentId: string // The ID of the document, title: string // The title of the document, revisionId: string | undefined // The revision ID of the document, body: Record<string, unknown> | undefined // The main body of the document containing content array, suggestionsViewMode: string | undefined // The suggestions view mode applied to the document, inlineObjects: Record<string, unknown> | undefined // The inline objects (images, etc.) in the document, lists: Record<string, unknown> | undefined // The lists in the document, keyed by list ID } | undefined // The Google Docs document content and metadata,\n// plainText: string | undefined // Extracted plain text content from the document,\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(`google-drive failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
122
+ "usageExample": "// Upload File example\nconst googleDrive_upload_file = new GoogleDriveBubble({\n operation: \"upload_file\", // Upload a file to Google Drive\n name: \"example string\", // Name for the uploaded file\n content: \"example string\", // File content as base64 encoded string or plain text\n mimeType: \"example string\", // MIME type of the file (auto-detected if not provided)\n parent_folder_id: \"example string\", // ID of the parent folder (uploads to root if not provided)\n convert_to_google_docs: false // default, // Convert uploaded file to Google Docs format if possible\n});\n\nconst result = await googleDrive_upload_file.action();\n// outputSchema for result.data when operation === 'upload_file':\n// {\n// operation: \"upload_file\" // Upload a file to Google Drive,\n// success: boolean // Whether the file was uploaded successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // Uploaded file metadata,\n// error: string // Error message if operation failed\n// }\n\n\n// Download File example\nconst googleDrive_download_file = new GoogleDriveBubble({\n operation: \"download_file\", // Download a file from Google Drive\n file_id: \"example string\", // Google Drive file ID to download\n export_format: \"example string\", // Export format for Google Workspace files (e.g., \"application/pdf\", \"text/plain\")\n});\n\nconst result = await googleDrive_download_file.action();\n// outputSchema for result.data when operation === 'download_file':\n// {\n// operation: \"download_file\" // Download a file from Google Drive,\n// success: boolean // Whether the file was downloaded successfully,\n// content: string | undefined // File content as plain text (for text-based files) or base64 encoded string (for binary files),\n// filename: string | undefined // Original filename,\n// mimeType: string | undefined // MIME type of the downloaded file,\n// error: string // Error message if operation failed\n// }\n\n\n// List Files example\nconst googleDrive_list_files = new GoogleDriveBubble({\n operation: \"list_files\", // List files and folders in Google Drive\n folder_id: \"example string\", // ID of folder to list files from (lists from root if not provided)\n query: \"example string\", // Search query to filter files (e.g., \"name contains 'report'\"\n max_results: 100 // default, // Maximum number of files to return\n include_folders: true // default, // Include folders in the results\n order_by: \"modifiedTime desc\" // default, // Order results by field (e.g., \"name\", \"modifiedTime desc\")\n});\n\nconst result = await googleDrive_list_files.action();\n// outputSchema for result.data when operation === 'list_files':\n// {\n// operation: \"list_files\" // List files and folders in Google Drive,\n// success: boolean // Whether the file list was retrieved successfully,\n// files: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners }[] | undefined // List of files and folders,\n// total_count: number | undefined // Total number of files found,\n// next_page_token: string | undefined // Token for fetching next page of results,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Folder example\nconst googleDrive_create_folder = new GoogleDriveBubble({\n operation: \"create_folder\", // Create a new folder in Google Drive\n name: \"example string\", // Name of the folder to create\n parent_folder_id: \"example string\", // ID of the parent folder (creates in root if not provided)\n});\n\nconst result = await googleDrive_create_folder.action();\n// outputSchema for result.data when operation === 'create_folder':\n// {\n// operation: \"create_folder\" // Create a new folder in Google Drive,\n// success: boolean // Whether the folder was created successfully,\n// folder: { id: string // Unique folder identifier, name: string // Name of the folder, webViewLink: string | undefined // Link to view the folder in Google Drive, parents: string[] | undefined // Parent folder IDs } | undefined // Created folder metadata,\n// error: string // Error message if operation failed\n// }\n\n\n// Delete File example\nconst googleDrive_delete_file = new GoogleDriveBubble({\n operation: \"delete_file\", // Delete a file or folder from Google Drive\n file_id: \"example string\", // Google Drive file or folder ID to delete\n permanent: false // default, // Permanently delete (true) or move to trash (false)\n});\n\nconst result = await googleDrive_delete_file.action();\n// outputSchema for result.data when operation === 'delete_file':\n// {\n// operation: \"delete_file\" // Delete a file or folder from Google Drive,\n// success: boolean // Whether the file was deleted successfully,\n// deleted_file_id: string | undefined // ID of the deleted file,\n// error: string // Error message if operation failed\n// }\n\n\n// Get File Info example\nconst googleDrive_get_file_info = new GoogleDriveBubble({\n operation: \"get_file_info\", // Get detailed information about a file or folder\n file_id: \"example string\", // Google Drive file or folder ID to get info for\n include_permissions: false // default, // Include file permissions in the response\n});\n\nconst result = await googleDrive_get_file_info.action();\n// outputSchema for result.data when operation === 'get_file_info':\n// {\n// operation: \"get_file_info\" // Get detailed information about a file or folder,\n// success: boolean // Whether the file information was retrieved successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // File metadata and information,\n// permissions: { id: string, type: string, role: string, emailAddress: string | undefined // Permission holder email address, displayName: string | undefined // Permission holder display name }[] | undefined // File permissions (if requested),\n// error: string // Error message if operation failed\n// }\n\n\n// Share File example\nconst googleDrive_share_file = new GoogleDriveBubble({\n operation: \"share_file\", // Share a file or folder with specific users or make it public\n file_id: \"example string\", // Google Drive file or folder ID to share\n email_address: \"example string\", // Email address to share with (for specific user sharing)\n role: \"reader\" // options: \"reader\", \"writer\", \"commenter\", \"owner\", // Permission role to grant\n type: \"user\" // options: \"user\", \"group\", \"domain\", \"anyone\", // Type of permission to create\n send_notification: true // default, // Send notification email to the user\n});\n\nconst result = await googleDrive_share_file.action();\n// outputSchema for result.data when operation === 'share_file':\n// {\n// operation: \"share_file\" // Share a file or folder with specific users or make it public,\n// success: boolean // Whether the file was shared successfully,\n// permission_id: string | undefined // ID of the created permission,\n// share_link: string | undefined // Shareable link to the file,\n// error: string // Error message if operation failed\n// }\n\n\n// Move File example\nconst googleDrive_move_file = new GoogleDriveBubble({\n operation: \"move_file\", // Move a file or folder to a different location in Google Drive\n file_id: \"example string\", // Google Drive file or folder ID to move\n new_parent_folder_id: \"example string\", // ID of the new parent folder (moves to root if not provided)\n remove_parent_folder_id: \"example string\", // ID of the parent folder to remove (removes from all parents if not provided)\n});\n\nconst result = await googleDrive_move_file.action();\n// outputSchema for result.data when operation === 'move_file':\n// {\n// operation: \"move_file\" // Move a file or folder to a different location in Google Drive,\n// success: boolean // Whether the file was moved successfully,\n// file: { id: string // Unique file identifier, name: string // Name of the file, mimeType: string // MIME type of the file, size: string | undefined // Size of the file in bytes, createdTime: string | undefined // Creation time in RFC 3339 format, modifiedTime: string | undefined // Last modified time in RFC 3339 format, webViewLink: string | undefined // Link to view the file in Google Drive, webContentLink: string | undefined // Link to download the file, parents: string[] | undefined // Parent folder IDs, shared: boolean | undefined // Whether the file is shared, owners: { displayName: string | undefined // Owner display name, emailAddress: string | undefined // Owner email address }[] | undefined // File owners } | undefined // Updated file metadata after move,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Doc example\nconst googleDrive_get_doc = new GoogleDriveBubble({\n operation: \"get_doc\", // Get the content and metadata of a Google Doc using the Google Docs API, use this over download_file for Google Docs\n document_id: \"example string\", // The ID of the Google Doc to retrieve\n});\n\nconst result = await googleDrive_get_doc.action();\n// outputSchema for result.data when operation === 'get_doc':\n// {\n// operation: \"get_doc\" // Get the content and metadata of a Google Doc using the Google Docs API,\n// success: boolean // Whether the document was retrieved successfully,\n// document: { documentId: string // The ID of the document, title: string // The title of the document, revisionId: string | undefined // The revision ID of the document, body: Record<string, unknown> | undefined // The main body of the document containing content array, suggestionsViewMode: string | undefined // The suggestions view mode applied to the document, inlineObjects: Record<string, unknown> | undefined // The inline objects (images, etc.) in the document, lists: Record<string, unknown> | undefined // The lists in the document, keyed by list ID } | undefined // The Google Docs document content and metadata,\n// plainText: string | undefined // Extracted plain text content from the document,\n// error: string // Error message if operation failed\n// }\n\n\n// Update Doc example\nconst googleDrive_update_doc = new GoogleDriveBubble({\n operation: \"update_doc\", // Update a Google Doc with new content using the Google Docs API batchUpdate\n document_id: \"example string\", // The ID of the Google Doc to update\n content: \"example string\", // The text or markdown content to write to the document (auto-detected)\n mode: \"replace\" // options: \"replace\", \"append\", // Update mode: \"replace\" clears existing content first, \"append\" adds to the end\n});\n\nconst result = await googleDrive_update_doc.action();\n// outputSchema for result.data when operation === 'update_doc':\n// {\n// operation: \"update_doc\" // Update a Google Doc with new content using the Google Docs API batchUpdate,\n// success: boolean // Whether the document was updated successfully,\n// documentId: string | undefined // The ID of the updated document,\n// revisionId: string | undefined // The new revision ID after the update,\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(`google-drive failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
123
123
  "requiredCredentials": [
124
124
  "GOOGLE_DRIVE_CRED"
125
125
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "resend": "^4.8.0",
42
42
  "zod": "^3.24.1",
43
43
  "zod-to-json-schema": "^3.24.6",
44
- "@bubblelab/shared-schemas": "0.1.21"
44
+ "@bubblelab/shared-schemas": "0.1.22"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "^20.12.12",