@bubblelab/bubble-core 0.1.27 → 0.1.30
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 +160 -91
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +4 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +8 -8
- package/dist/bubbles/service-bubble/airtable.d.ts +98 -98
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +20 -20
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +30 -30
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +26 -26
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +56 -56
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +16 -16
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +31 -31
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +153 -153
- package/dist/bubbles/service-bubble/apify/apify.d.ts +12 -12
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +4 -4
- package/dist/bubbles/service-bubble/firecrawl.d.ts +128 -128
- package/dist/bubbles/service-bubble/followupboss.d.ts +84 -84
- package/dist/bubbles/service-bubble/github.d.ts +120 -120
- package/dist/bubbles/service-bubble/gmail.d.ts +411 -411
- package/dist/bubbles/service-bubble/google-calendar.d.ts +184 -184
- package/dist/bubbles/service-bubble/google-drive.d.ts +48 -48
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +33 -33
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts +31 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js +184 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +79 -79
- package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
- package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets.js +904 -0
- package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
- package/dist/bubbles/service-bubble/http.d.ts +8 -8
- package/dist/bubbles/service-bubble/insforge-db.d.ts +4 -4
- package/dist/bubbles/service-bubble/jira/index.d.ts +5 -0
- package/dist/bubbles/service-bubble/jira/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/index.js +5 -0
- package/dist/bubbles/service-bubble/jira/index.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.d.ts +2695 -0
- package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.d.ts +38 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.js +358 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.js +535 -0
- package/dist/bubbles/service-bubble/jira/jira.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +3659 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.js +502 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.d.ts +141 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.js +428 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/notion.d.ts +148 -148
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +36 -36
- package/dist/bubbles/service-bubble/postgresql.d.ts +4 -4
- package/dist/bubbles/service-bubble/resend.d.ts +4 -4
- package/dist/bubbles/service-bubble/slack/slack.d.ts +142 -142
- package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slack.js +1536 -0
- package/dist/bubbles/service-bubble/slack.js.map +1 -0
- package/dist/bubbles/service-bubble/storage.d.ts +20 -20
- package/dist/bubbles/service-bubble/telegram.d.ts +6 -6
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +198 -198
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +44 -44
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +88 -88
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +42 -42
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +48 -48
- package/dist/bubbles.json +1791 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -42,21 +42,21 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
42
42
|
date_time_render_option: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["SERIAL_NUMBER", "FORMATTED_STRING"]>>>;
|
|
43
43
|
credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
|
|
44
44
|
}, "strip", import("zod").ZodTypeAny, {
|
|
45
|
-
range: string;
|
|
46
45
|
operation: "read_values";
|
|
47
46
|
spreadsheet_id: string;
|
|
47
|
+
range: string;
|
|
48
48
|
major_dimension: "ROWS" | "COLUMNS";
|
|
49
49
|
value_render_option: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA";
|
|
50
50
|
date_time_render_option: "SERIAL_NUMBER" | "FORMATTED_STRING";
|
|
51
51
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
52
52
|
}, {
|
|
53
|
-
range: string;
|
|
54
53
|
operation: "read_values";
|
|
55
54
|
spreadsheet_id: string;
|
|
55
|
+
range: string;
|
|
56
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
56
57
|
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
57
58
|
value_render_option?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA" | undefined;
|
|
58
59
|
date_time_render_option?: "SERIAL_NUMBER" | "FORMATTED_STRING" | undefined;
|
|
59
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
60
60
|
}>, import("zod").ZodObject<{
|
|
61
61
|
operation: import("zod").ZodLiteral<"write_values">;
|
|
62
62
|
spreadsheet_id: import("zod").ZodString;
|
|
@@ -67,21 +67,21 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
67
67
|
include_values_in_response: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
68
68
|
credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
|
|
69
69
|
}, "strip", import("zod").ZodTypeAny, {
|
|
70
|
-
range: string;
|
|
71
70
|
values: (string | number | boolean)[][];
|
|
72
71
|
operation: "write_values";
|
|
73
72
|
spreadsheet_id: string;
|
|
73
|
+
range: string;
|
|
74
74
|
major_dimension: "ROWS" | "COLUMNS";
|
|
75
75
|
value_input_option: "RAW" | "USER_ENTERED";
|
|
76
76
|
include_values_in_response: boolean;
|
|
77
77
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
78
78
|
}, {
|
|
79
|
-
range: string;
|
|
80
79
|
values: unknown[][];
|
|
81
80
|
operation: "write_values";
|
|
82
81
|
spreadsheet_id: string;
|
|
83
|
-
|
|
82
|
+
range: string;
|
|
84
83
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
84
|
+
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
85
85
|
value_input_option?: "RAW" | "USER_ENTERED" | undefined;
|
|
86
86
|
include_values_in_response?: boolean | undefined;
|
|
87
87
|
}>, import("zod").ZodObject<{
|
|
@@ -94,21 +94,21 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
94
94
|
include_values_in_response: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
95
95
|
credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
|
|
96
96
|
}, "strip", import("zod").ZodTypeAny, {
|
|
97
|
-
range: string;
|
|
98
97
|
values: (string | number | boolean)[][];
|
|
99
98
|
operation: "update_values";
|
|
100
99
|
spreadsheet_id: string;
|
|
100
|
+
range: string;
|
|
101
101
|
major_dimension: "ROWS" | "COLUMNS";
|
|
102
102
|
value_input_option: "RAW" | "USER_ENTERED";
|
|
103
103
|
include_values_in_response: boolean;
|
|
104
104
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
105
105
|
}, {
|
|
106
|
-
range: string;
|
|
107
106
|
values: unknown[][];
|
|
108
107
|
operation: "update_values";
|
|
109
108
|
spreadsheet_id: string;
|
|
110
|
-
|
|
109
|
+
range: string;
|
|
111
110
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
111
|
+
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
112
112
|
value_input_option?: "RAW" | "USER_ENTERED" | undefined;
|
|
113
113
|
include_values_in_response?: boolean | undefined;
|
|
114
114
|
}>, import("zod").ZodObject<{
|
|
@@ -122,22 +122,22 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
122
122
|
include_values_in_response: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
|
|
123
123
|
credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
|
|
124
124
|
}, "strip", import("zod").ZodTypeAny, {
|
|
125
|
-
range: string;
|
|
126
125
|
values: (string | number | boolean)[][];
|
|
127
126
|
operation: "append_values";
|
|
128
127
|
spreadsheet_id: string;
|
|
128
|
+
range: string;
|
|
129
129
|
major_dimension: "ROWS" | "COLUMNS";
|
|
130
130
|
value_input_option: "RAW" | "USER_ENTERED";
|
|
131
131
|
include_values_in_response: boolean;
|
|
132
132
|
insert_data_option: "OVERWRITE" | "INSERT_ROWS";
|
|
133
133
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
134
134
|
}, {
|
|
135
|
-
range: string;
|
|
136
135
|
values: unknown[][];
|
|
137
136
|
operation: "append_values";
|
|
138
137
|
spreadsheet_id: string;
|
|
139
|
-
|
|
138
|
+
range: string;
|
|
140
139
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
140
|
+
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
141
141
|
value_input_option?: "RAW" | "USER_ENTERED" | undefined;
|
|
142
142
|
include_values_in_response?: boolean | undefined;
|
|
143
143
|
insert_data_option?: "OVERWRITE" | "INSERT_ROWS" | undefined;
|
|
@@ -147,14 +147,14 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
147
147
|
range: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
148
148
|
credentials: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodNativeEnum<typeof CredentialType>, import("zod").ZodString>>;
|
|
149
149
|
}, "strip", import("zod").ZodTypeAny, {
|
|
150
|
-
range: string;
|
|
151
150
|
operation: "clear_values";
|
|
152
151
|
spreadsheet_id: string;
|
|
152
|
+
range: string;
|
|
153
153
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
154
154
|
}, {
|
|
155
|
-
range: string;
|
|
156
155
|
operation: "clear_values";
|
|
157
156
|
spreadsheet_id: string;
|
|
157
|
+
range: string;
|
|
158
158
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
159
159
|
}>, import("zod").ZodObject<{
|
|
160
160
|
operation: import("zod").ZodLiteral<"batch_read_values">;
|
|
@@ -176,10 +176,10 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
176
176
|
operation: "batch_read_values";
|
|
177
177
|
spreadsheet_id: string;
|
|
178
178
|
ranges: string[];
|
|
179
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
179
180
|
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
180
181
|
value_render_option?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA" | undefined;
|
|
181
182
|
date_time_render_option?: "SERIAL_NUMBER" | "FORMATTED_STRING" | undefined;
|
|
182
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
183
183
|
}>, import("zod").ZodObject<{
|
|
184
184
|
operation: import("zod").ZodLiteral<"batch_update_values">;
|
|
185
185
|
spreadsheet_id: import("zod").ZodString;
|
|
@@ -188,12 +188,12 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
188
188
|
values: import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodUnknown, "many">, "many">, (string | number | boolean)[][], unknown[][]>;
|
|
189
189
|
major_dimension: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["ROWS", "COLUMNS"]>>>;
|
|
190
190
|
}, "strip", import("zod").ZodTypeAny, {
|
|
191
|
-
range: string;
|
|
192
191
|
values: (string | number | boolean)[][];
|
|
192
|
+
range: string;
|
|
193
193
|
major_dimension: "ROWS" | "COLUMNS";
|
|
194
194
|
}, {
|
|
195
|
-
range: string;
|
|
196
195
|
values: unknown[][];
|
|
196
|
+
range: string;
|
|
197
197
|
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
198
198
|
}>, "many">;
|
|
199
199
|
value_input_option: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["RAW", "USER_ENTERED"]>>>;
|
|
@@ -205,8 +205,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
205
205
|
value_input_option: "RAW" | "USER_ENTERED";
|
|
206
206
|
include_values_in_response: boolean;
|
|
207
207
|
value_ranges: {
|
|
208
|
-
range: string;
|
|
209
208
|
values: (string | number | boolean)[][];
|
|
209
|
+
range: string;
|
|
210
210
|
major_dimension: "ROWS" | "COLUMNS";
|
|
211
211
|
}[];
|
|
212
212
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
@@ -214,8 +214,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
214
214
|
operation: "batch_update_values";
|
|
215
215
|
spreadsheet_id: string;
|
|
216
216
|
value_ranges: {
|
|
217
|
-
range: string;
|
|
218
217
|
values: unknown[][];
|
|
218
|
+
range: string;
|
|
219
219
|
major_dimension?: "ROWS" | "COLUMNS" | undefined;
|
|
220
220
|
}[];
|
|
221
221
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
@@ -299,15 +299,15 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
299
299
|
operation: "read_values";
|
|
300
300
|
success: boolean;
|
|
301
301
|
error: string;
|
|
302
|
-
range?: string | undefined;
|
|
303
302
|
values?: (string | number | boolean)[][] | undefined;
|
|
303
|
+
range?: string | undefined;
|
|
304
304
|
major_dimension?: string | undefined;
|
|
305
305
|
}, {
|
|
306
306
|
operation: "read_values";
|
|
307
307
|
success: boolean;
|
|
308
308
|
error: string;
|
|
309
|
-
range?: string | undefined;
|
|
310
309
|
values?: (string | number | boolean)[][] | undefined;
|
|
310
|
+
range?: string | undefined;
|
|
311
311
|
major_dimension?: string | undefined;
|
|
312
312
|
}>, import("zod").ZodObject<{
|
|
313
313
|
operation: import("zod").ZodLiteral<"write_values">;
|
|
@@ -321,12 +321,12 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
321
321
|
majorDimension: import("zod").ZodOptional<import("zod").ZodEnum<["ROWS", "COLUMNS"]>>;
|
|
322
322
|
values: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean]>, "many">, "many">;
|
|
323
323
|
}, "strip", import("zod").ZodTypeAny, {
|
|
324
|
-
range: string;
|
|
325
324
|
values: (string | number | boolean)[][];
|
|
325
|
+
range: string;
|
|
326
326
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
327
327
|
}, {
|
|
328
|
-
range: string;
|
|
329
328
|
values: (string | number | boolean)[][];
|
|
329
|
+
range: string;
|
|
330
330
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
331
331
|
}>>;
|
|
332
332
|
error: import("zod").ZodString;
|
|
@@ -339,8 +339,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
339
339
|
updated_columns?: number | undefined;
|
|
340
340
|
updated_cells?: number | undefined;
|
|
341
341
|
updated_data?: {
|
|
342
|
-
range: string;
|
|
343
342
|
values: (string | number | boolean)[][];
|
|
343
|
+
range: string;
|
|
344
344
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
345
345
|
} | undefined;
|
|
346
346
|
}, {
|
|
@@ -352,8 +352,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
352
352
|
updated_columns?: number | undefined;
|
|
353
353
|
updated_cells?: number | undefined;
|
|
354
354
|
updated_data?: {
|
|
355
|
-
range: string;
|
|
356
355
|
values: (string | number | boolean)[][];
|
|
356
|
+
range: string;
|
|
357
357
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
358
358
|
} | undefined;
|
|
359
359
|
}>, import("zod").ZodObject<{
|
|
@@ -368,12 +368,12 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
368
368
|
majorDimension: import("zod").ZodOptional<import("zod").ZodEnum<["ROWS", "COLUMNS"]>>;
|
|
369
369
|
values: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean]>, "many">, "many">;
|
|
370
370
|
}, "strip", import("zod").ZodTypeAny, {
|
|
371
|
-
range: string;
|
|
372
371
|
values: (string | number | boolean)[][];
|
|
372
|
+
range: string;
|
|
373
373
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
374
374
|
}, {
|
|
375
|
-
range: string;
|
|
376
375
|
values: (string | number | boolean)[][];
|
|
376
|
+
range: string;
|
|
377
377
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
378
378
|
}>>;
|
|
379
379
|
error: import("zod").ZodString;
|
|
@@ -386,8 +386,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
386
386
|
updated_columns?: number | undefined;
|
|
387
387
|
updated_cells?: number | undefined;
|
|
388
388
|
updated_data?: {
|
|
389
|
-
range: string;
|
|
390
389
|
values: (string | number | boolean)[][];
|
|
390
|
+
range: string;
|
|
391
391
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
392
392
|
} | undefined;
|
|
393
393
|
}, {
|
|
@@ -399,8 +399,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
399
399
|
updated_columns?: number | undefined;
|
|
400
400
|
updated_cells?: number | undefined;
|
|
401
401
|
updated_data?: {
|
|
402
|
-
range: string;
|
|
403
402
|
values: (string | number | boolean)[][];
|
|
403
|
+
range: string;
|
|
404
404
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
405
405
|
} | undefined;
|
|
406
406
|
}>, import("zod").ZodObject<{
|
|
@@ -453,12 +453,12 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
453
453
|
majorDimension: import("zod").ZodOptional<import("zod").ZodEnum<["ROWS", "COLUMNS"]>>;
|
|
454
454
|
values: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber, import("zod").ZodBoolean]>, "many">, "many">;
|
|
455
455
|
}, "strip", import("zod").ZodTypeAny, {
|
|
456
|
-
range: string;
|
|
457
456
|
values: (string | number | boolean)[][];
|
|
457
|
+
range: string;
|
|
458
458
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
459
459
|
}, {
|
|
460
|
-
range: string;
|
|
461
460
|
values: (string | number | boolean)[][];
|
|
461
|
+
range: string;
|
|
462
462
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
463
463
|
}>, "many">>;
|
|
464
464
|
error: import("zod").ZodString;
|
|
@@ -467,8 +467,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
467
467
|
success: boolean;
|
|
468
468
|
error: string;
|
|
469
469
|
value_ranges?: {
|
|
470
|
-
range: string;
|
|
471
470
|
values: (string | number | boolean)[][];
|
|
471
|
+
range: string;
|
|
472
472
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
473
473
|
}[] | undefined;
|
|
474
474
|
}, {
|
|
@@ -476,8 +476,8 @@ export declare class GoogleSheetsBubble<T extends GoogleSheetsParamsInput = Goog
|
|
|
476
476
|
success: boolean;
|
|
477
477
|
error: string;
|
|
478
478
|
value_ranges?: {
|
|
479
|
-
range: string;
|
|
480
479
|
values: (string | number | boolean)[][];
|
|
480
|
+
range: string;
|
|
481
481
|
majorDimension?: "ROWS" | "COLUMNS" | undefined;
|
|
482
482
|
}[] | undefined;
|
|
483
483
|
}>, import("zod").ZodObject<{
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BubbleFlow, type WebhookEvent } from '@bubblelab/bubble-core';
|
|
2
|
+
export interface Output {
|
|
3
|
+
spreadsheetId: string;
|
|
4
|
+
spreadsheetUrl: string;
|
|
5
|
+
testResults: {
|
|
6
|
+
operation: string;
|
|
7
|
+
success: boolean;
|
|
8
|
+
details?: string;
|
|
9
|
+
}[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Payload for the Google Sheets Stress Test workflow.
|
|
13
|
+
*/
|
|
14
|
+
export interface SheetsStressTestPayload extends WebhookEvent {
|
|
15
|
+
/**
|
|
16
|
+
* The title for the test spreadsheet that will be created.
|
|
17
|
+
* @canBeFile false
|
|
18
|
+
*/
|
|
19
|
+
testTitle?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class GoogleSheetsStressTest extends BubbleFlow<'webhook/http'> {
|
|
22
|
+
private createTestSpreadsheet;
|
|
23
|
+
private createSheetWithSpaces;
|
|
24
|
+
private writeRawDataWithNulls;
|
|
25
|
+
private readFromRangeWithSpaces;
|
|
26
|
+
private appendToRangeWithSpaces;
|
|
27
|
+
private clearRangeWithSpaces;
|
|
28
|
+
private deleteSheet;
|
|
29
|
+
handle(payload: SheetsStressTestPayload): Promise<Output>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=google-sheets.integration.flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-sheets.integration.flow.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,cAAc,CAAC;YAEtD,qBAAqB;YAmBrB,qBAAqB;YAsBrB,qBAAqB;YAqBrB,uBAAuB;YAgBvB,uBAAuB;YAsBvB,oBAAoB;YAepB,WAAW;IAcnB,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;CA0HhE"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { BubbleFlow, GoogleSheetsBubble, } from '@bubblelab/bubble-core';
|
|
2
|
+
export class GoogleSheetsStressTest extends BubbleFlow {
|
|
3
|
+
// Creates a new Google Spreadsheet with a specific title
|
|
4
|
+
async createTestSpreadsheet(title) {
|
|
5
|
+
const result = await new GoogleSheetsBubble({
|
|
6
|
+
operation: 'create_spreadsheet',
|
|
7
|
+
title: title,
|
|
8
|
+
sheet_titles: ['InitialSheet'],
|
|
9
|
+
}).action();
|
|
10
|
+
if (!result.success ||
|
|
11
|
+
result.data?.operation !== 'create_spreadsheet' ||
|
|
12
|
+
!result.data.spreadsheet) {
|
|
13
|
+
throw new Error(`Failed to create spreadsheet: ${result.error}`);
|
|
14
|
+
}
|
|
15
|
+
return result.data.spreadsheet;
|
|
16
|
+
}
|
|
17
|
+
// Adds a sheet with spaces in the name - tests if bubble handles spaces without manual quoting
|
|
18
|
+
async createSheetWithSpaces(spreadsheetId, sheetName) {
|
|
19
|
+
const result = await new GoogleSheetsBubble({
|
|
20
|
+
operation: 'add_sheet',
|
|
21
|
+
spreadsheet_id: spreadsheetId,
|
|
22
|
+
sheet_title: sheetName,
|
|
23
|
+
}).action();
|
|
24
|
+
if (!result.success ||
|
|
25
|
+
result.data?.operation !== 'add_sheet' ||
|
|
26
|
+
result.data.sheet_id === undefined) {
|
|
27
|
+
throw new Error(`Failed to add sheet with spaces: ${result.error}`);
|
|
28
|
+
}
|
|
29
|
+
return result.data.sheet_id;
|
|
30
|
+
}
|
|
31
|
+
// Writes raw data with nulls/undefineds to test bubble's native null handling
|
|
32
|
+
async writeRawDataWithNulls(spreadsheetId, range, data) {
|
|
33
|
+
const result = await new GoogleSheetsBubble({
|
|
34
|
+
operation: 'write_values',
|
|
35
|
+
spreadsheet_id: spreadsheetId,
|
|
36
|
+
range: range,
|
|
37
|
+
values: data,
|
|
38
|
+
value_input_option: 'RAW',
|
|
39
|
+
}).action();
|
|
40
|
+
if (!result.success) {
|
|
41
|
+
throw new Error(`Failed to write stress test data: ${result.error}`);
|
|
42
|
+
}
|
|
43
|
+
return result.data;
|
|
44
|
+
}
|
|
45
|
+
// Reads data from a range with spaces in sheet name - tests bubble's range parsing
|
|
46
|
+
async readFromRangeWithSpaces(spreadsheetId, range) {
|
|
47
|
+
const result = await new GoogleSheetsBubble({
|
|
48
|
+
operation: 'read_values',
|
|
49
|
+
spreadsheet_id: spreadsheetId,
|
|
50
|
+
range: range,
|
|
51
|
+
value_render_option: 'FORMATTED_VALUE',
|
|
52
|
+
}).action();
|
|
53
|
+
if (!result.success || result.data?.operation !== 'read_values') {
|
|
54
|
+
throw new Error(`Failed to read verification data: ${result.error}`);
|
|
55
|
+
}
|
|
56
|
+
return result.data.values;
|
|
57
|
+
}
|
|
58
|
+
// Appends data to a range with spaces in sheet name
|
|
59
|
+
async appendToRangeWithSpaces(spreadsheetId, range, values) {
|
|
60
|
+
const result = await new GoogleSheetsBubble({
|
|
61
|
+
operation: 'append_values',
|
|
62
|
+
spreadsheet_id: spreadsheetId,
|
|
63
|
+
range: range,
|
|
64
|
+
values: values,
|
|
65
|
+
insert_data_option: 'INSERT_ROWS',
|
|
66
|
+
value_input_option: 'RAW',
|
|
67
|
+
}).action();
|
|
68
|
+
if (!result.success) {
|
|
69
|
+
throw new Error(`Failed to append data: ${result.error}`);
|
|
70
|
+
}
|
|
71
|
+
return result.data;
|
|
72
|
+
}
|
|
73
|
+
// Clears data from a range with spaces in sheet name
|
|
74
|
+
async clearRangeWithSpaces(spreadsheetId, range) {
|
|
75
|
+
const result = await new GoogleSheetsBubble({
|
|
76
|
+
operation: 'clear_values',
|
|
77
|
+
spreadsheet_id: spreadsheetId,
|
|
78
|
+
range: range,
|
|
79
|
+
}).action();
|
|
80
|
+
if (!result.success) {
|
|
81
|
+
throw new Error(`Failed to clear data: ${result.error}`);
|
|
82
|
+
}
|
|
83
|
+
return result.data;
|
|
84
|
+
}
|
|
85
|
+
// Deletes a sheet by ID
|
|
86
|
+
async deleteSheet(spreadsheetId, sheetId) {
|
|
87
|
+
const result = await new GoogleSheetsBubble({
|
|
88
|
+
operation: 'delete_sheet',
|
|
89
|
+
spreadsheet_id: spreadsheetId,
|
|
90
|
+
sheet_id: sheetId,
|
|
91
|
+
}).action();
|
|
92
|
+
if (!result.success) {
|
|
93
|
+
throw new Error(`Failed to delete test sheet: ${result.error}`);
|
|
94
|
+
}
|
|
95
|
+
return result.data;
|
|
96
|
+
}
|
|
97
|
+
async handle(payload) {
|
|
98
|
+
const { testTitle = 'Integration Stress Test' } = payload;
|
|
99
|
+
const results = [];
|
|
100
|
+
const sheetNameWithSpaces = 'Kaus Mode Landing zone';
|
|
101
|
+
// 1. Create Spreadsheet
|
|
102
|
+
const spreadsheet = await this.createTestSpreadsheet(testTitle);
|
|
103
|
+
const spreadsheetId = spreadsheet.spreadsheetId;
|
|
104
|
+
results.push({ operation: 'create_spreadsheet', success: true });
|
|
105
|
+
// 2. Create Sheet with Spaces - NO HELPER
|
|
106
|
+
const sheetId = await this.createSheetWithSpaces(spreadsheetId, sheetNameWithSpaces);
|
|
107
|
+
results.push({ operation: 'add_sheet_with_spaces', success: true });
|
|
108
|
+
// 3. Write Data - RAW DATA WITH NULLS/UNDEFINEDS, NO SANITIZATION
|
|
109
|
+
const rawData = [
|
|
110
|
+
['Name', 'Age', 'Email', 'Department', 'Salary', 'Active'],
|
|
111
|
+
['John Doe', 28, 'john@example.com', 'Engineering', 95000, true],
|
|
112
|
+
['Jane Smith', 34, 'jane@example.com', 'Marketing', 78000, true],
|
|
113
|
+
[null, undefined, 'Mixed', 'Sales', null, false],
|
|
114
|
+
['Bob Johnson', 42, 'bob@example.com', null, 120000, true],
|
|
115
|
+
['Alice Williams', 31, null, 'Engineering', 88000, undefined],
|
|
116
|
+
['End of', 'Test', null, 'HR', 65000, false],
|
|
117
|
+
];
|
|
118
|
+
// RANGE WITH SPACES - NO QUOTE WRAPPING
|
|
119
|
+
const writeRange = `${sheetNameWithSpaces}!A1:F7`;
|
|
120
|
+
await this.writeRawDataWithNulls(spreadsheetId, writeRange, rawData);
|
|
121
|
+
results.push({ operation: 'write_values_with_nulls', success: true });
|
|
122
|
+
// 4. Read Verification - Multiple read operations to test different scenarios
|
|
123
|
+
// 4a. Read entire written range
|
|
124
|
+
const readRange = `${sheetNameWithSpaces}!A1:F7`;
|
|
125
|
+
const readValues = await this.readFromRangeWithSpaces(spreadsheetId, readRange);
|
|
126
|
+
results.push({
|
|
127
|
+
operation: 'read_values_full_range',
|
|
128
|
+
success: !!readValues && readValues.length > 0,
|
|
129
|
+
details: `Read ${readValues?.length || 0} rows with ${readValues?.[0]?.length || 0} columns`,
|
|
130
|
+
});
|
|
131
|
+
// 4b. Read just headers
|
|
132
|
+
const headerRange = `${sheetNameWithSpaces}!A1:F1`;
|
|
133
|
+
const headerValues = await this.readFromRangeWithSpaces(spreadsheetId, headerRange);
|
|
134
|
+
results.push({
|
|
135
|
+
operation: 'read_headers_only',
|
|
136
|
+
success: !!headerValues && headerValues.length > 0,
|
|
137
|
+
details: `Read headers: ${headerValues?.[0]?.join(', ') || 'no headers'}`,
|
|
138
|
+
});
|
|
139
|
+
// 4c. Read single column
|
|
140
|
+
const columnRange = `${sheetNameWithSpaces}!A:A`;
|
|
141
|
+
const columnValues = await this.readFromRangeWithSpaces(spreadsheetId, columnRange);
|
|
142
|
+
results.push({
|
|
143
|
+
operation: 'read_single_column',
|
|
144
|
+
success: !!columnValues && columnValues.length > 0,
|
|
145
|
+
details: `Read ${columnValues?.length || 0} rows from Name column`,
|
|
146
|
+
});
|
|
147
|
+
// 4d. Read partial range (middle rows)
|
|
148
|
+
const partialRange = `${sheetNameWithSpaces}!B3:E5`;
|
|
149
|
+
const partialValues = await this.readFromRangeWithSpaces(spreadsheetId, partialRange);
|
|
150
|
+
results.push({
|
|
151
|
+
operation: 'read_partial_range',
|
|
152
|
+
success: !!partialValues && partialValues.length > 0,
|
|
153
|
+
details: `Read ${partialValues?.length || 0} rows from partial range`,
|
|
154
|
+
});
|
|
155
|
+
// 5. Append Data - RANGE WITH SPACES, NO QUOTE WRAPPING
|
|
156
|
+
const appendRange = `${sheetNameWithSpaces}!A:A`;
|
|
157
|
+
const appendValues = [
|
|
158
|
+
['Charlie Brown', 29, 'charlie@example.com', 'Finance', 72000, true],
|
|
159
|
+
];
|
|
160
|
+
await this.appendToRangeWithSpaces(spreadsheetId, appendRange, appendValues);
|
|
161
|
+
results.push({ operation: 'append_values', success: true });
|
|
162
|
+
// 5a. Read after append to verify
|
|
163
|
+
const postAppendRange = `${sheetNameWithSpaces}!A1:F8`;
|
|
164
|
+
const postAppendValues = await this.readFromRangeWithSpaces(spreadsheetId, postAppendRange);
|
|
165
|
+
results.push({
|
|
166
|
+
operation: 'read_after_append',
|
|
167
|
+
success: !!postAppendValues && postAppendValues.length === 8,
|
|
168
|
+
details: `Read ${postAppendValues?.length || 0} rows after append (expected 8)`,
|
|
169
|
+
});
|
|
170
|
+
// 6. Clear Data - RANGE WITH SPACES, NO QUOTE WRAPPING
|
|
171
|
+
const clearRange = `${sheetNameWithSpaces}!A1:F10`;
|
|
172
|
+
await this.clearRangeWithSpaces(spreadsheetId, clearRange);
|
|
173
|
+
results.push({ operation: 'clear_values', success: true });
|
|
174
|
+
// 7. Delete Sheet
|
|
175
|
+
await this.deleteSheet(spreadsheetId, sheetId);
|
|
176
|
+
results.push({ operation: 'delete_sheet', success: true });
|
|
177
|
+
return {
|
|
178
|
+
spreadsheetId: spreadsheetId,
|
|
179
|
+
spreadsheetUrl: spreadsheet.spreadsheetUrl || '',
|
|
180
|
+
testResults: results,
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=google-sheets.integration.flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-sheets.integration.flow.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.ts"],"names":[],"mappings":"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"}
|