@bubblelab/bubble-core 0.1.8 → 0.1.10
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 +333 -1438
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +64 -28
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.d.ts +17 -1
- package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.js +16 -0
- package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
- package/dist/bubble-flow/sample/data-analyst-flow.d.ts +1 -1
- package/dist/bubble-flow/sample/data-analyst-flow.d.ts.map +1 -1
- package/dist/bubble-flow/sample/error-ts.d.ts +1 -1
- package/dist/bubble-flow/sample/error-ts.d.ts.map +1 -1
- package/dist/bubble-flow/sample/sanitytest.d.ts +1 -1
- package/dist/bubble-flow/sample/sanitytest.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simple-webhook-2.d.ts +1 -1
- package/dist/bubble-flow/sample/simple-webhook-2.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simple-webhook.d.ts +1 -1
- package/dist/bubble-flow/sample/simple-webhook.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
- package/dist/bubble-flow/sample/slack-v0.1.d.ts +1 -1
- package/dist/bubble-flow/sample/slack-v0.1.d.ts.map +1 -1
- package/dist/bubble-flow/sample/slackagenttest.d.ts +1 -1
- package/dist/bubble-flow/sample/slackagenttest.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.d.ts +115 -97
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +276 -96
- package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +805 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js +131 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +485 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js +176 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +302 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js +138 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +642 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js +123 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +184 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js +145 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts +52 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js +29 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-transcript-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1999 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +54 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/apify.d.ts +143 -0
- package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/apify.js +276 -0
- package/dist/bubbles/service-bubble/apify/apify.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/index.d.ts +6 -0
- package/dist/bubbles/service-bubble/apify/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/index.js +6 -0
- package/dist/bubbles/service-bubble/apify/index.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/types.d.ts +7 -0
- package/dist/bubbles/service-bubble/apify/types.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/types.js +5 -0
- package/dist/bubbles/service-bubble/apify/types.js.map +1 -0
- package/dist/bubbles/service-bubble/gmail.d.ts +626 -132
- package/dist/bubbles/service-bubble/gmail.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/gmail.js +435 -7
- package/dist/bubbles/service-bubble/gmail.js.map +1 -1
- package/dist/bubbles/service-bubble/google-calendar.d.ts +36 -36
- package/dist/bubbles/service-bubble/google-drive.d.ts +233 -4
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +65 -75
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles/service-bubble/google-sheets.d.ts +52 -52
- package/dist/bubbles/service-bubble/hello-world.js +2 -2
- package/dist/bubbles/service-bubble/hello-world.js.map +1 -1
- package/dist/bubbles/service-bubble/http.d.ts +6 -6
- package/dist/bubbles/service-bubble/postgresql.d.ts +4 -4
- package/dist/bubbles/service-bubble/resend.d.ts +5 -5
- package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/resend.js +16 -5
- package/dist/bubbles/service-bubble/resend.js.map +1 -1
- package/dist/bubbles/service-bubble/slack.d.ts +18 -18
- package/dist/bubbles/service-bubble/storage.d.ts +4 -4
- package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/storage.js +16 -5
- package/dist/bubbles/service-bubble/storage.js.map +1 -1
- package/dist/bubbles/service-bubble/x-twitter.d.ts +814 -0
- package/dist/bubbles/service-bubble/x-twitter.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/x-twitter.js +445 -0
- package/dist/bubbles/service-bubble/x-twitter.js.map +1 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +16 -16
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +14 -1
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +101 -47
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +435 -0
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/instagram-tool.js +474 -0
- package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +2136 -0
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/linkedin-tool.js +608 -0
- package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +69 -64
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.js +97 -22
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +6 -6
- package/dist/bubbles/tool-bubble/research-agent-tool.js +5 -5
- package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +28 -28
- package/dist/bubbles/tool-bubble/web-scrape-tool.js +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +5 -4
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-search-tool.js +6 -2
- package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +394 -0
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/youtube-tool.js +352 -0
- package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -0
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +47 -36
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +96 -65
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +38 -38
- package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/generate-document.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +42 -42
- package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/parse-document.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +22 -22
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +1 -4
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +60 -60
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +2 -2
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +20 -20
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +66 -66
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +1 -1
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +18 -18
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +1 -2
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
- package/dist/bubbles.json +489 -0
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/logging/BubbleLogger.d.ts +11 -0
- package/dist/logging/BubbleLogger.d.ts.map +1 -1
- package/dist/logging/BubbleLogger.js +87 -33
- package/dist/logging/BubbleLogger.js.map +1 -1
- package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
- package/dist/logging/StreamingBubbleLogger.js +23 -16
- package/dist/logging/StreamingBubbleLogger.js.map +1 -1
- package/dist/test-gm.d.ts +10 -0
- package/dist/test-gm.d.ts.map +1 -0
- package/dist/test-gm.js +95 -0
- package/dist/test-gm.js.map +1 -0
- package/dist/types/available-tools.d.ts +1 -1
- package/dist/types/available-tools.d.ts.map +1 -1
- package/dist/types/available-tools.js +2 -0
- package/dist/types/available-tools.js.map +1 -1
- package/dist/types/base-bubble-class.d.ts +6 -1
- package/dist/types/base-bubble-class.d.ts.map +1 -1
- package/dist/types/base-bubble-class.js +47 -24
- package/dist/types/base-bubble-class.js.map +1 -1
- package/dist/types/bubble.d.ts +3 -13
- package/dist/types/bubble.d.ts.map +1 -1
- package/dist/types/bubble.js +1 -1
- package/dist/types/bubble.js.map +1 -1
- package/dist/types/service-bubble-class.d.ts +5 -5
- package/dist/types/service-bubble-class.d.ts.map +1 -1
- package/dist/types/service-bubble-class.js +6 -7
- package/dist/types/service-bubble-class.js.map +1 -1
- package/dist/types/tool-bubble-class.d.ts +1 -1
- package/dist/types/tool-bubble-class.d.ts.map +1 -1
- package/dist/types/tool-bubble-class.js +9 -3
- package/dist/types/tool-bubble-class.js.map +1 -1
- package/dist/types/workflow-bubble-class.d.ts +1 -1
- package/dist/types/workflow-bubble-class.d.ts.map +1 -1
- package/dist/utils/agent-formatter.d.ts +17 -0
- package/dist/utils/agent-formatter.d.ts.map +1 -0
- package/dist/utils/agent-formatter.js +139 -0
- package/dist/utils/agent-formatter.js.map +1 -0
- package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
- package/dist/utils/bubbleflow-validation.js +89 -32
- package/dist/utils/bubbleflow-validation.js.map +1 -1
- package/dist/utils/error-sanitizer.d.ts +12 -0
- package/dist/utils/error-sanitizer.d.ts.map +1 -0
- package/dist/utils/error-sanitizer.js +77 -0
- package/dist/utils/error-sanitizer.js.map +1 -0
- package/dist/utils/json-parsing.d.ts +1 -0
- package/dist/utils/json-parsing.d.ts.map +1 -1
- package/dist/utils/json-parsing.js +205 -32
- package/dist/utils/json-parsing.js.map +1 -1
- package/package.json +6 -5
- package/dist/bubble-trigger/index.d.ts +0 -2
- package/dist/bubble-trigger/index.d.ts.map +0 -1
- package/dist/bubble-trigger/index.js +0 -2
- package/dist/bubble-trigger/index.js.map +0 -1
- package/dist/bubble-trigger/types.d.ts +0 -87
- package/dist/bubble-trigger/types.d.ts.map +0 -1
- package/dist/bubble-trigger/types.js +0 -14
- package/dist/bubble-trigger/types.js.map +0 -1
- package/dist/types/ai-models.d.ts +0 -4
- package/dist/types/ai-models.d.ts.map +0 -1
- package/dist/types/ai-models.js +0 -16
- package/dist/types/ai-models.js.map +0 -1
package/dist/test-gm.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
// Base classes
|
|
3
|
+
BubbleFlow, GoogleDriveBubble, } from '@bubblelab/bubble-core';
|
|
4
|
+
export class GoogleDriveFileOrganizerFlow extends BubbleFlow {
|
|
5
|
+
async handle(_payload) {
|
|
6
|
+
const listFilesBubble = new GoogleDriveBubble({
|
|
7
|
+
operation: 'list_files',
|
|
8
|
+
max_results: 100, // Process up to 100 files per run
|
|
9
|
+
});
|
|
10
|
+
const listResult = await listFilesBubble.action();
|
|
11
|
+
if (!listResult.success || !listResult.data?.files) {
|
|
12
|
+
throw new Error(`Failed to list Google Drive files: ${listResult.error || 'Unknown error'}`);
|
|
13
|
+
}
|
|
14
|
+
const filesToProcess = listResult.data.files.filter((file) => file.mimeType !== 'application/vnd.google-apps.folder' && file.id);
|
|
15
|
+
if (filesToProcess.length === 0) {
|
|
16
|
+
return { message: 'No files found to organize.' };
|
|
17
|
+
}
|
|
18
|
+
const mimeTypeFolderMap = new Map();
|
|
19
|
+
let organizedCount = 0;
|
|
20
|
+
const errors = [];
|
|
21
|
+
// Process files in batches of 5
|
|
22
|
+
for (let i = 0; i < filesToProcess.length; i += 5) {
|
|
23
|
+
const batch = filesToProcess.slice(i, i + 5);
|
|
24
|
+
const batchPromises = batch.map(async (file) => {
|
|
25
|
+
try {
|
|
26
|
+
if (!file.id || !file.mimeType || !file.name) {
|
|
27
|
+
console.warn(`Skipping file with missing data: ${JSON.stringify(file)}`);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// 1. Get or create the destination folder
|
|
31
|
+
let folderId = mimeTypeFolderMap.get(file.mimeType);
|
|
32
|
+
if (!folderId) {
|
|
33
|
+
const folderName = `${file.mimeType.split('/').pop()?.split('.').pop()?.toUpperCase()} Files`;
|
|
34
|
+
const createFolderBubble = new GoogleDriveBubble({
|
|
35
|
+
operation: 'create_folder',
|
|
36
|
+
name: folderName,
|
|
37
|
+
});
|
|
38
|
+
const folderResult = await createFolderBubble.action();
|
|
39
|
+
if (folderResult.success && folderResult.data?.folder?.id) {
|
|
40
|
+
folderId = folderResult.data.folder.id;
|
|
41
|
+
mimeTypeFolderMap.set(file.mimeType, folderId);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new Error(`Failed to create folder for ${file.mimeType}: ${folderResult.error}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// 2. Download the file
|
|
48
|
+
const downloadBubble = new GoogleDriveBubble({
|
|
49
|
+
operation: 'download_file',
|
|
50
|
+
file_id: file.id,
|
|
51
|
+
});
|
|
52
|
+
const downloadResult = await downloadBubble.action();
|
|
53
|
+
if (!downloadResult.success || !downloadResult.data?.content) {
|
|
54
|
+
throw new Error(`Failed to download file ${file.name}: ${downloadResult.error}`);
|
|
55
|
+
}
|
|
56
|
+
// 3. Upload the file to the new folder
|
|
57
|
+
const uploadBubble = new GoogleDriveBubble({
|
|
58
|
+
operation: 'upload_file',
|
|
59
|
+
name: file.name,
|
|
60
|
+
content: downloadResult.data.content,
|
|
61
|
+
mimeType: file.mimeType,
|
|
62
|
+
parent_folder_id: folderId,
|
|
63
|
+
});
|
|
64
|
+
const uploadResult = await uploadBubble.action();
|
|
65
|
+
if (!uploadResult.success) {
|
|
66
|
+
throw new Error(`Failed to upload file ${file.name}: ${uploadResult.error}`);
|
|
67
|
+
}
|
|
68
|
+
// 4. Delete the original file
|
|
69
|
+
const deleteBubble = new GoogleDriveBubble({
|
|
70
|
+
operation: 'delete_file',
|
|
71
|
+
file_id: file.id,
|
|
72
|
+
});
|
|
73
|
+
const deleteResult = await deleteBubble.action();
|
|
74
|
+
if (!deleteResult.success) {
|
|
75
|
+
// Log as a non-critical error, since the file was already moved
|
|
76
|
+
console.error(`Failed to delete original file ${file.name}: ${deleteResult.error}`);
|
|
77
|
+
}
|
|
78
|
+
organizedCount++;
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
const errorMessage = `Error processing file ${file.name || 'unknown'}: ${error instanceof Error ? error.message : String(error)}`;
|
|
82
|
+
console.error(errorMessage);
|
|
83
|
+
errors.push(errorMessage);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
await Promise.all(batchPromises);
|
|
87
|
+
}
|
|
88
|
+
let message = `Successfully organized ${organizedCount} out of ${filesToProcess.length} files.`;
|
|
89
|
+
if (errors.length > 0) {
|
|
90
|
+
message += ` Encountered ${errors.length} errors. Check logs for details.`;
|
|
91
|
+
}
|
|
92
|
+
return { message };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=test-gm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-gm.js","sourceRoot":"","sources":["../src/test-gm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const AvailableTools: z.ZodEnum<["web-search-tool", "web-scrape-tool", "web-crawl-tool", "web-extract-tool", "research-agent-tool", "reddit-scrape-tool", "list-bubbles-tool", "get-bubble-details-tool", "bubbleflow-validation-tool", "chart-js-tool", "sql-query-tool"]>;
|
|
2
|
+
export declare const AvailableTools: z.ZodEnum<["web-search-tool", "web-scrape-tool", "web-crawl-tool", "web-extract-tool", "research-agent-tool", "reddit-scrape-tool", "instagram-tool", "list-bubbles-tool", "get-bubble-details-tool", "bubbleflow-validation-tool", "chart-js-tool", "sql-query-tool"]>;
|
|
3
3
|
export type AvailableTool = z.infer<typeof AvailableTools>;
|
|
4
4
|
//# sourceMappingURL=available-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available-tools.d.ts","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"available-tools.d.ts","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,cAAc,yQAgBgB,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -9,6 +9,8 @@ export const AvailableTools = z.enum([
|
|
|
9
9
|
'web-extract-tool',
|
|
10
10
|
'research-agent-tool',
|
|
11
11
|
'reddit-scrape-tool',
|
|
12
|
+
// Social media tools
|
|
13
|
+
'instagram-tool',
|
|
12
14
|
// Existing bubble tools (for reference - these are handled by bubble names)
|
|
13
15
|
'list-bubbles-tool',
|
|
14
16
|
'get-bubble-details-tool',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available-tools.js","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,4DAA4D;AAC5D,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,4EAA4E;IAC5E,mBAAmB;IACnB,yBAAyB;IACzB,4BAA4B;IAC5B,eAAe;IACf,gBAAgB;CACwB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"available-tools.js","sourceRoot":"","sources":["../../src/types/available-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,4DAA4D;AAC5D,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,YAAY;IACZ,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,4EAA4E;IAC5E,mBAAmB;IACnB,yBAAyB;IACzB,4BAA4B;IAC5B,eAAe;IACf,gBAAgB;CACwB,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { IBubble, BubbleContext, BubbleResult, BubbleOperationResult } from '
|
|
2
|
+
import type { IBubble, BubbleContext, BubbleResult, BubbleOperationResult } from '@bubblelab/bubble-core';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract base class for all bubble types
|
|
5
5
|
* Implements common properties and methods defined in IBubble interface
|
|
@@ -25,6 +25,11 @@ export declare abstract class BaseBubble<TParams = unknown, TResult extends Bubb
|
|
|
25
25
|
private computeChildContext;
|
|
26
26
|
saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void;
|
|
27
27
|
clearSavedResult(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Override toJSON to prevent credential leaking via JSON.stringify or console.log
|
|
30
|
+
* Only exposes safe metadata, never params which may contain credentials
|
|
31
|
+
*/
|
|
32
|
+
toJSON(): Record<string, unknown>;
|
|
28
33
|
/**
|
|
29
34
|
* Execute the bubble - just runs the action
|
|
30
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/base-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,qBAAqB,EACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"base-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/base-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAUhC;;;GAGG;AACH,8BAAsB,UAAU,CAC9B,OAAO,GAAG,OAAO,EACjB,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,YAAW,OAAO,CAAC,OAAO,CAAC;IAE3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACnD,SAAgB,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAyB,IAAI,EACzB,SAAS,GACT,UAAU,GACV,MAAM,GACN,IAAI,GACJ,OAAO,CAAC;IAEZ,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAC3B,cAAc,EAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;gBAE3D,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAoDpD;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqE3B,UAAU,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAI1E,gBAAgB,IAAI,IAAI;IAIxB;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWjC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAgI9C;;;OAGG;IACH,kBAAkB,IAAI,YAAY,CAAC,OAAO,CAAC;IAI3C;;;OAGG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;IAc/D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAC5E"}
|
|
@@ -30,32 +30,22 @@ export class BaseBubble {
|
|
|
30
30
|
this.params = this.schema.parse(params);
|
|
31
31
|
// Enrich context with child variableId/currentUniqueId if dependencyGraph is provided
|
|
32
32
|
if (context && context.dependencyGraph && context.currentUniqueId) {
|
|
33
|
-
console.debug('Computing child context');
|
|
33
|
+
console.debug('[BaseBubble] Computing child context');
|
|
34
34
|
const next = this.computeChildContext(context);
|
|
35
35
|
this.context = next;
|
|
36
|
-
console.debug('Computed child context unique id:', this.context?.currentUniqueId);
|
|
36
|
+
console.debug('[BaseBubble] Computed child context unique id:', this.context?.currentUniqueId);
|
|
37
37
|
//Prnt the var id of the computed child context
|
|
38
|
-
console.debug('Computed child context variable id:', this.context?.variableId);
|
|
38
|
+
console.debug('[BaseBubble] Computed child context variable id:', this.context?.variableId);
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
41
41
|
this.context = context;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
catch (error) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return `${path}${err.message}`;
|
|
50
|
-
});
|
|
51
|
-
throw new BubbleValidationError(`Parameter validation failed: ${errorMessages.join(', ')}`, {
|
|
52
|
-
variableId: context?.variableId,
|
|
53
|
-
bubbleName: ctor.bubbleName,
|
|
54
|
-
validationErrors: errorMessages,
|
|
55
|
-
cause: error,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
throw new BubbleValidationError(`Parameter validation failed: ${String(error)}`, {
|
|
45
|
+
const errorMessage = error instanceof z.ZodError
|
|
46
|
+
? `Input Schema validation failed: ${error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ')}`
|
|
47
|
+
: `Input Schema validation failed: ${error instanceof Error ? error.message : 'Unknown validation error'}`;
|
|
48
|
+
throw new BubbleValidationError(errorMessage, {
|
|
59
49
|
variableId: context?.variableId,
|
|
60
50
|
bubbleName: ctor.bubbleName,
|
|
61
51
|
cause: error instanceof Error ? error : undefined,
|
|
@@ -128,6 +118,20 @@ export class BaseBubble {
|
|
|
128
118
|
clearSavedResult() {
|
|
129
119
|
this.previousResult = undefined;
|
|
130
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Override toJSON to prevent credential leaking via JSON.stringify or console.log
|
|
123
|
+
* Only exposes safe metadata, never params which may contain credentials
|
|
124
|
+
*/
|
|
125
|
+
toJSON() {
|
|
126
|
+
return {
|
|
127
|
+
name: this.name,
|
|
128
|
+
type: this.type,
|
|
129
|
+
shortDescription: this.shortDescription,
|
|
130
|
+
alias: this.alias,
|
|
131
|
+
// Explicitly exclude params, context, and previousResult
|
|
132
|
+
// These may contain sensitive credentials
|
|
133
|
+
};
|
|
134
|
+
}
|
|
131
135
|
/**
|
|
132
136
|
* Execute the bubble - just runs the action
|
|
133
137
|
*/
|
|
@@ -144,16 +148,35 @@ export class BaseBubble {
|
|
|
144
148
|
logger?.logBubbleExecutionComplete(this.context?.variableId ?? -999, this.name, this.name, savedResult);
|
|
145
149
|
return savedResult;
|
|
146
150
|
}
|
|
147
|
-
|
|
151
|
+
let result;
|
|
152
|
+
try {
|
|
153
|
+
result = await this.performAction(this.context);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
console.error('Error executing bubble:', error);
|
|
157
|
+
this.context?.logger?.logBubbleExecutionComplete(this.context?.variableId ?? -999, this.name, this.name, {
|
|
158
|
+
success: false,
|
|
159
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
160
|
+
executionId: randomUUID(),
|
|
161
|
+
timestamp: new Date(),
|
|
162
|
+
});
|
|
163
|
+
this.context?.logger?.error(`[${this.name}] Unexpected error when performing action: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
164
|
+
throw new BubbleExecutionError(error instanceof Error ? error.message : 'Unknown error', {
|
|
165
|
+
variableId: this.context?.variableId,
|
|
166
|
+
bubbleName: this.name,
|
|
167
|
+
executionPhase: 'execution',
|
|
168
|
+
cause: error instanceof Error ? error : undefined,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
148
171
|
// Validate result if schema is provided
|
|
149
172
|
if (this.resultSchema) {
|
|
150
173
|
try {
|
|
151
174
|
const validatedResult = this.resultSchema.parse(result);
|
|
152
175
|
const finalResult = {
|
|
153
176
|
success: result.success,
|
|
154
|
-
// For data we strip out
|
|
177
|
+
// For data we strip out any excessive fields
|
|
155
178
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
156
|
-
data: (({
|
|
179
|
+
data: (({ ...rest }) => rest)(validatedResult),
|
|
157
180
|
executionId: randomUUID(),
|
|
158
181
|
error: validatedResult.error || '',
|
|
159
182
|
timestamp: new Date(),
|
|
@@ -166,14 +189,13 @@ export class BaseBubble {
|
|
|
166
189
|
return finalResult;
|
|
167
190
|
}
|
|
168
191
|
catch (validationError) {
|
|
169
|
-
//
|
|
192
|
+
// Validation error for result validation failures
|
|
170
193
|
const errorMessage = validationError instanceof z.ZodError
|
|
171
194
|
? `Result schema validation failed: ${validationError.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ')}`
|
|
172
195
|
: `Result validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`;
|
|
173
|
-
throw new
|
|
196
|
+
throw new BubbleValidationError(errorMessage, {
|
|
174
197
|
variableId: this.context?.variableId,
|
|
175
198
|
bubbleName: this.name,
|
|
176
|
-
executionPhase: 'validation',
|
|
177
199
|
cause: validationError instanceof Error ? validationError : undefined,
|
|
178
200
|
});
|
|
179
201
|
}
|
|
@@ -181,8 +203,9 @@ export class BaseBubble {
|
|
|
181
203
|
// No result schema defined - proceed without validation
|
|
182
204
|
const finalResult = {
|
|
183
205
|
success: result.success,
|
|
206
|
+
// For data we strip out any excessive fields
|
|
184
207
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
185
|
-
data: (({
|
|
208
|
+
data: (({ ...rest }) => rest)(result),
|
|
186
209
|
error: result.error || '',
|
|
187
210
|
executionId: randomUUID(),
|
|
188
211
|
timestamp: new Date(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-bubble-class.js","sourceRoot":"","sources":["../../src/types/base-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAQpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;GAGG;AACH,MAAM,OAAgB,UAAU;IAKd,IAAI,CAAS;IACb,MAAM,CAA6B;IACnC,YAAY,CAA6B;IACzC,gBAAgB,CAAS;IACzB,eAAe,CAAS;IACxB,KAAK,CAAU;IAQZ,MAAM,CAAU;IACzB,OAAO,CAAiB;IAC3B,cAAc,CAAkD;IAEvE,YAAY,MAAe,EAAE,OAAuB;QAClD,2EAA2E;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,WAQjB,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC;YACnD,sFAAsF;YACtF,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAClE,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"base-bubble-class.js","sourceRoot":"","sources":["../../src/types/base-bubble-class.ts"],"names":[],"mappings":"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"}
|
package/dist/types/bubble.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { DatabaseMetadata, CredentialOptions, DependencyGraphNode } from '@bubblelab/shared-schemas';
|
|
2
|
+
import type { DatabaseMetadata, CredentialOptions, DependencyGraphNode, BubbleOperationResult, BubbleResult } from '@bubblelab/shared-schemas';
|
|
3
3
|
import type { BubbleLogger } from '../logging/BubbleLogger';
|
|
4
4
|
export interface IBubble<TResult extends BubbleOperationResult = BubbleOperationResult> {
|
|
5
5
|
readonly name: string;
|
|
@@ -16,12 +16,11 @@ export interface IBubble<TResult extends BubbleOperationResult = BubbleOperation
|
|
|
16
16
|
generateMockResult: () => BubbleResult<TResult>;
|
|
17
17
|
generateMockResultWithSeed: (seed: number) => BubbleResult<TResult>;
|
|
18
18
|
}
|
|
19
|
-
export interface IServiceBubble<TResult extends BubbleOperationResult = BubbleOperationResult> extends IBubble<TResult> {
|
|
19
|
+
export interface IServiceBubble<TParams extends Record<string, unknown> = Record<string, unknown>, TResult extends BubbleOperationResult = BubbleOperationResult> extends IBubble<TResult> {
|
|
20
20
|
readonly type: 'service';
|
|
21
21
|
authType?: 'oauth' | 'apikey' | 'none' | 'connection-string';
|
|
22
22
|
testCredential: () => Promise<boolean>;
|
|
23
|
-
|
|
24
|
-
setParam: (paramName: string, paramValue: unknown) => void;
|
|
23
|
+
setParam: <K extends keyof TParams>(paramName: K, paramValue: TParams[K]) => void;
|
|
25
24
|
getCredentialMetadata: () => Promise<DatabaseMetadata | undefined>;
|
|
26
25
|
}
|
|
27
26
|
export interface IWorkflowBubble<TResult extends BubbleOperationResult = BubbleOperationResult> extends IBubble<TResult> {
|
|
@@ -39,16 +38,7 @@ export interface IInfraBubble extends IBubble {
|
|
|
39
38
|
provider: 'aws' | 'gcp' | 'supabase';
|
|
40
39
|
resourceType: string;
|
|
41
40
|
}
|
|
42
|
-
export interface BubbleOperationResult {
|
|
43
|
-
success: boolean;
|
|
44
|
-
error: string;
|
|
45
|
-
}
|
|
46
41
|
export type BubbleFlowOperationResult = unknown;
|
|
47
|
-
export interface BubbleResult<T> extends BubbleOperationResult {
|
|
48
|
-
data: T;
|
|
49
|
-
executionId: string;
|
|
50
|
-
timestamp: Date;
|
|
51
|
-
}
|
|
52
42
|
export interface BubbleContext {
|
|
53
43
|
logger?: BubbleLogger;
|
|
54
44
|
variableId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble.d.ts","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"bubble.d.ts","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"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"}
|
package/dist/types/bubble.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=bubble.js.map
|
package/dist/types/bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble.js","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bubble.js","sourceRoot":"","sources":["../../src/types/bubble.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '
|
|
1
|
+
import type { BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '@bubblelab/bubble-core';
|
|
2
2
|
import { BaseBubble } from './base-bubble-class.js';
|
|
3
3
|
import type { DatabaseMetadata } from '@bubblelab/shared-schemas';
|
|
4
4
|
export declare abstract class ServiceBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> {
|
|
@@ -18,11 +18,11 @@ export declare abstract class ServiceBubble<TParams extends ServiceBubbleParams
|
|
|
18
18
|
*/
|
|
19
19
|
getCredentialMetadata(): Promise<DatabaseMetadata | undefined>;
|
|
20
20
|
/**
|
|
21
|
-
* Get the current parameters
|
|
21
|
+
* Get the current parameters (credentials are excluded for security)
|
|
22
|
+
* Use chooseCredential() method to access credentials in a controlled way
|
|
22
23
|
*/
|
|
23
|
-
get currentParams(): TParams
|
|
24
|
-
|
|
25
|
-
setParam(paramName: string, paramValue: unknown): void;
|
|
24
|
+
get currentParams(): Omit<TParams, 'credentials'>;
|
|
25
|
+
setParam<K extends keyof TParams>(paramName: K, paramValue: TParams[K]): void;
|
|
26
26
|
/**
|
|
27
27
|
* Get the current context
|
|
28
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"service-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,8BAAsB,aAAa,CACjC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAC7D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;IACpC,SAAgB,IAAI,EAAG,SAAS,CAAU;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,mBAAmB,CAAC;gBAExD,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;aAIpC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAEzD;;;OAGG;IAEG,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIpE;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAIhD;IAED,QAAQ,CAAC,CAAC,SAAS,MAAM,OAAO,EAC9B,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GACrB,IAAI;IAIP;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
|
|
@@ -14,17 +14,16 @@ export class ServiceBubble extends BaseBubble {
|
|
|
14
14
|
return undefined;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* Get the current parameters
|
|
17
|
+
* Get the current parameters (credentials are excluded for security)
|
|
18
|
+
* Use chooseCredential() method to access credentials in a controlled way
|
|
18
19
|
*/
|
|
19
20
|
get currentParams() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.params.credentials = credentials;
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
+
const { credentials, ...sanitized } = this.params;
|
|
23
|
+
return sanitized;
|
|
24
24
|
}
|
|
25
25
|
setParam(paramName, paramValue) {
|
|
26
|
-
this.params[paramName] =
|
|
27
|
-
paramValue;
|
|
26
|
+
this.params[paramName] = paramValue;
|
|
28
27
|
}
|
|
29
28
|
/**
|
|
30
29
|
* Get the current context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-bubble-class.js","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,OAAgB,aAGpB,SAAQ,UAA4B;IACpB,IAAI,GAAG,SAAkB,CAAC;IACnC,QAAQ,CAAqD;IAEpE,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAWD;;;OAGG;IACH,kDAAkD;IAClD,KAAK,CAAC,qBAAqB;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"service-bubble-class.js","sourceRoot":"","sources":["../../src/types/service-bubble-class.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,OAAgB,aAGpB,SAAQ,UAA4B;IACpB,IAAI,GAAG,SAAkB,CAAC;IACnC,QAAQ,CAAqD;IAEpE,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAWD;;;OAGG;IACH,kDAAkD;IAClD,KAAK,CAAC,qBAAqB;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QACf,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,MAA6B,CAAC;QACzE,OAAO,SAAyC,CAAC;IACnD,CAAC;IAED,QAAQ,CACN,SAAY,EACZ,UAAsB;QAEtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { IToolBubble, ServiceBubbleParams, BubbleContext, BubbleOperationResult, BubbleResult } from '
|
|
2
|
+
import type { IToolBubble, ServiceBubbleParams, BubbleContext, BubbleOperationResult, BubbleResult } from '@bubblelab/bubble-core';
|
|
3
3
|
import { BaseBubble } from './base-bubble-class.js';
|
|
4
4
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
5
5
|
export interface LangGraphTool {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,CAAC,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,EAChE,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,8BAAsB,UAAU,CAC5B,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,WAAW,CAAC,OAAO,CAAC;IAE/B,SAAgB,IAAI,EAAG,MAAM,CAAU;gBAE3B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAOpD,MAAM,CAAC,SAAS,CACd,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,EACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa;CAoDjB"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import { BaseBubble } from './base-bubble-class.js';
|
|
3
|
-
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
4
2
|
/**
|
|
5
3
|
* Abstract base class for all tool bubbles that can be converted to LangGraph tools
|
|
6
4
|
*/
|
|
@@ -10,6 +8,8 @@ export class ToolBubble extends BaseBubble {
|
|
|
10
8
|
super(params, context);
|
|
11
9
|
}
|
|
12
10
|
// Static method - returns LangChain tool with credentials injected
|
|
11
|
+
// Creates a LangGraph compatible tool with specific configurations that will
|
|
12
|
+
// be passed in to the tool bubble
|
|
13
13
|
static toolAgent(credentials, config, context) {
|
|
14
14
|
// In static context, 'this' refers to the constructor/class
|
|
15
15
|
const ToolClass = this;
|
|
@@ -26,16 +26,22 @@ export class ToolBubble extends BaseBubble {
|
|
|
26
26
|
if (agentSchema.shape?.config) {
|
|
27
27
|
agentSchema = agentSchema.omit({ config: true });
|
|
28
28
|
}
|
|
29
|
+
agentSchema = agentSchema.passthrough();
|
|
29
30
|
return {
|
|
30
31
|
name: bubbleName,
|
|
31
32
|
description: shortDescription,
|
|
32
33
|
schema: agentSchema,
|
|
33
34
|
func: async (toolParams) => {
|
|
34
35
|
// Create instance with credentials and config injected
|
|
36
|
+
// Sometimes config should be dynamic and determined on each
|
|
37
|
+
// tool invocation, rather than the start of agent run
|
|
38
|
+
// In this case, we will replace the config (statically configured in the tool bubble)
|
|
39
|
+
// with the runtime config
|
|
40
|
+
const runtimeConfig = toolParams?.config;
|
|
35
41
|
const enrichedParams = {
|
|
36
42
|
...toolParams,
|
|
37
43
|
credentials,
|
|
38
|
-
config,
|
|
44
|
+
config: runtimeConfig || config,
|
|
39
45
|
};
|
|
40
46
|
// 'this' in static context is the constructor
|
|
41
47
|
const instance = new ToolClass(enrichedParams, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-bubble-class.js","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-bubble-class.js","sourceRoot":"","sources":["../../src/types/tool-bubble-class.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAapD;;GAEG;AACH,MAAM,OAAgB,UAIpB,SAAQ,UAA4B;IAGpB,IAAI,GAAG,MAAe,CAAC;IAEvC,YAAY,MAAe,EAAE,OAAuB;QAClD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,mEAAmE;IACnE,6EAA6E;IAC7E,kCAAkC;IAClC,MAAM,CAAC,SAAS,CACd,WAAqD,EACrD,MAAgC,EAChC,OAAuB;QAEvB,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAIjB,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;QAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,CAAC,IAAI,8DAA8D,CAChF,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,0CAA0C;QAC1C,IAAI,WAAW,GAAqB,MAAM,CAAC;QAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;YAC9B,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC9B,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAExC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE;gBAClC,uDAAuD;gBAEvD,4DAA4D;gBAC5D,sDAAsD;gBACtD,sFAAsF;gBACtF,0BAA0B;gBAE1B,MAAM,aAAa,GAAI,UAAsC,EAAE,MAAM,CAAC;gBACtE,MAAM,cAAc,GAAG;oBACrB,GAAI,UAAsC;oBAC1C,WAAW;oBACX,MAAM,EAAE,aAAa,IAAI,MAAM;iBAChC,CAAC;gBAEF,8CAA8C;gBAC9C,MAAM,QAAQ,GAAG,IAAK,SAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBACjE,yEAAyE;gBACzE,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IWorkflowBubble, BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '
|
|
1
|
+
import type { IWorkflowBubble, BubbleOperationResult, ServiceBubbleParams, BubbleContext } from '@bubblelab/bubble-core';
|
|
2
2
|
import { BaseBubble } from './base-bubble-class.js';
|
|
3
3
|
/**
|
|
4
4
|
* WorkflowBubble - Higher-level abstraction that orchestrates ServiceBubbles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,
|
|
1
|
+
{"version":3,"file":"workflow-bubble-class.d.ts","sourceRoot":"","sources":["../../src/types/workflow-bubble-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;GASG;AACH,8BAAsB,cAAc,CAChC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,EACzD,OAAO,SAAS,qBAAqB,GAAG,qBAAqB,CAE/D,SAAQ,UAAU,CAAC,OAAO,EAAE,OAAO,CACnC,YAAW,eAAe,CAAC,OAAO,CAAC;IAEnC,SAAgB,IAAI,EAAG,UAAU,CAAU;gBAE/B,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAIpD;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,aAAa,GAAG,SAAS,CAE9C;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LLMResult } from '@langchain/core/outputs';
|
|
2
|
+
/**
|
|
3
|
+
* Extract and stream thinking tokens from different model providers
|
|
4
|
+
*/
|
|
5
|
+
export declare function extractAndStreamThinkingTokens(output: LLMResult): string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Format final response with special handling for Gemini image models and JSON mode
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatFinalResponse(response: string | unknown, modelName: string, jsonMode?: boolean): {
|
|
10
|
+
response: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Convert Gemini's inlineData format to LangChain-compatible data URI format
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatGeminiImageResponse(response: string | unknown): string;
|
|
17
|
+
//# sourceMappingURL=agent-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/agent-formatter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,SAAS,GAChB,MAAM,GAAG,SAAS,CAqDpB;AACD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyDtC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CA2C5E"}
|