@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.
- package/dist/bubble-bundle.d.ts +4 -4
- package/dist/bubbles/service-bubble/google-calendar.d.ts +492 -492
- package/dist/bubbles/service-bubble/google-drive.d.ts +139 -66
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +343 -0
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles.json +2 -2
- package/package.json +2 -2
|
@@ -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-
|
|
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.
|
|
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.
|
|
44
|
+
"@bubblelab/shared-schemas": "0.1.22"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^20.12.12",
|