@bubblelab/bubble-core 0.1.10 → 0.1.11
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 +759 -350
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +125 -35
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.d.ts +5 -0
- package/dist/bubble-flow/bubble-flow-class.d.ts.map +1 -1
- package/dist/bubble-flow/bubble-flow-class.js +20 -0
- package/dist/bubble-flow/bubble-flow-class.js.map +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.d.ts.map +1 -1
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.js +6 -3
- package/dist/bubble-flow/sample/simplified-data-analysis.flow.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +1121 -0
- package/dist/bubbles/service-bubble/agi-inc.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/agi-inc.js +730 -0
- package/dist/bubbles/service-bubble/agi-inc.js.map +1 -0
- package/dist/bubbles/service-bubble/ai-agent.d.ts +277 -65
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +533 -399
- package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
- package/dist/bubbles/service-bubble/airtable.d.ts +1753 -0
- package/dist/bubbles/service-bubble/airtable.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/airtable.js +1173 -0
- package/dist/bubbles/service-bubble/airtable.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +240 -0
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js +119 -0
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +4 -4
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +14 -14
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +137 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js +81 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +6 -6
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +32 -32
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +488 -0
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js +463 -0
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +262 -0
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js +291 -0
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.js.map +1 -0
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +1301 -170
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js +32 -0
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.d.ts +162 -17
- package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.js +205 -32
- package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +421 -0
- package/dist/bubbles/service-bubble/eleven-labs.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/eleven-labs.js +479 -0
- package/dist/bubbles/service-bubble/eleven-labs.js.map +1 -0
- package/dist/bubbles/service-bubble/firecrawl.d.ts +37748 -0
- package/dist/bubbles/service-bubble/firecrawl.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/firecrawl.js +1489 -0
- package/dist/bubbles/service-bubble/firecrawl.js.map +1 -0
- package/dist/bubbles/service-bubble/followupboss.d.ts +6822 -0
- package/dist/bubbles/service-bubble/followupboss.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/followupboss.js +1394 -0
- package/dist/bubbles/service-bubble/followupboss.js.map +1 -0
- package/dist/bubbles/service-bubble/github.d.ts +2399 -0
- package/dist/bubbles/service-bubble/github.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/github.js +1052 -0
- package/dist/bubbles/service-bubble/github.js.map +1 -0
- package/dist/bubbles/service-bubble/gmail.d.ts +180 -180
- package/dist/bubbles/service-bubble/google-calendar.d.ts +60 -60
- package/dist/bubbles/service-bubble/google-drive.d.ts +37 -36
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +35 -3
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +943 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts.map +1 -0
- 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.js +401 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.js.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +1024 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/{google-sheets.js → google-sheets/google-sheets.schema.js} +45 -409
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts +38 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js +183 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/index.d.ts +4 -0
- package/dist/bubbles/service-bubble/google-sheets/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/index.js +4 -0
- package/dist/bubbles/service-bubble/google-sheets/index.js.map +1 -0
- package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
- package/dist/bubbles/service-bubble/http.d.ts +4 -4
- package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/http.js +7 -1
- package/dist/bubbles/service-bubble/http.js.map +1 -1
- package/dist/bubbles/service-bubble/insforge-db.d.ts +140 -0
- package/dist/bubbles/service-bubble/insforge-db.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/insforge-db.js +260 -0
- package/dist/bubbles/service-bubble/insforge-db.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/notion/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/notion/index.js +3 -0
- package/dist/bubbles/service-bubble/notion/index.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/notion.d.ts +35405 -0
- package/dist/bubbles/service-bubble/notion/notion.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/notion/notion.js +1492 -0
- package/dist/bubbles/service-bubble/notion/notion.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +1148 -0
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/notion/property-schemas.js +341 -0
- package/dist/bubbles/service-bubble/notion/property-schemas.js.map +1 -0
- package/dist/bubbles/service-bubble/postgresql.d.ts +12 -12
- package/dist/bubbles/service-bubble/resend.d.ts +34 -13
- package/dist/bubbles/service-bubble/resend.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/resend.js +133 -2
- package/dist/bubbles/service-bubble/resend.js.map +1 -1
- package/dist/bubbles/service-bubble/slack.d.ts +241 -241
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack.js +2 -2
- package/dist/bubbles/service-bubble/slack.js.map +1 -1
- package/dist/bubbles/service-bubble/storage.d.ts +25 -21
- package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/storage.js +43 -2
- package/dist/bubbles/service-bubble/storage.js.map +1 -1
- package/dist/bubbles/service-bubble/telegram.d.ts +7742 -0
- package/dist/bubbles/service-bubble/telegram.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/telegram.js +1132 -0
- package/dist/bubbles/service-bubble/telegram.js.map +1 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +76 -20
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js +12 -0
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +14 -14
- package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +188 -0
- package/dist/bubbles/tool-bubble/code-edit-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/code-edit-tool.js +321 -0
- package/dist/bubbles/tool-bubble/code-edit-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +8 -4
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js +115 -10
- package/dist/bubbles/tool-bubble/get-bubble-details-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +455 -0
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/google-maps-tool.js +205 -0
- package/dist/bubbles/tool-bubble/google-maps-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +36 -36
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/instagram-tool.js +2 -2
- package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +824 -447
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.js +232 -12
- package/dist/bubbles/tool-bubble/linkedin-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +66 -66
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +17 -16
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.js +26 -16
- package/dist/bubbles/tool-bubble/research-agent-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +485 -0
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/tiktok-tool.js +226 -0
- package/dist/bubbles/tool-bubble/tiktok-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/tool-template.d.ts +8 -8
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +947 -0
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/twitter-tool.js +494 -0
- package/dist/bubbles/tool-bubble/twitter-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +22 -16
- package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-crawl-tool.js +58 -59
- package/dist/bubbles/tool-bubble/web-crawl-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/web-extract-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-extract-tool.js +17 -17
- package/dist/bubbles/tool-bubble/web-extract-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +15 -107
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.js +51 -72
- package/dist/bubbles/tool-bubble/web-scrape-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +20 -9
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-search-tool.js +45 -35
- package/dist/bubbles/tool-bubble/web-search-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +25 -25
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/youtube-tool.js +5 -5
- package/dist/bubbles/tool-bubble/youtube-tool.js.map +1 -1
- package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +30 -30
- package/dist/bubbles/workflow-bubble/generate-document.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +22 -22
- package/dist/bubbles/workflow-bubble/parse-document.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +54 -54
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js +4 -4
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +36 -36
- package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.js +1 -1
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +14 -14
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +6 -6
- package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +26 -26
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.js +24 -4
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.js.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +19 -19
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts.map +1 -1
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +8 -8
- package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
- package/dist/bubbles.json +220 -72
- package/dist/index.d.ts +23 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/logging/BubbleLogger.d.ts +45 -16
- package/dist/logging/BubbleLogger.d.ts.map +1 -1
- package/dist/logging/BubbleLogger.js +178 -77
- package/dist/logging/BubbleLogger.js.map +1 -1
- package/dist/logging/StreamingBubbleLogger.d.ts +13 -1
- package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
- package/dist/logging/StreamingBubbleLogger.js +51 -8
- package/dist/logging/StreamingBubbleLogger.js.map +1 -1
- package/dist/logging/WebhookStreamLogger.d.ts +66 -0
- package/dist/logging/WebhookStreamLogger.d.ts.map +1 -0
- package/dist/logging/WebhookStreamLogger.js +291 -0
- package/dist/logging/WebhookStreamLogger.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 +1 -0
- package/dist/types/available-tools.js.map +1 -1
- package/dist/types/base-bubble-class.d.ts +6 -4
- package/dist/types/base-bubble-class.d.ts.map +1 -1
- package/dist/types/base-bubble-class.js +35 -20
- package/dist/types/base-bubble-class.js.map +1 -1
- package/dist/types/bubble.d.ts +2 -0
- package/dist/types/bubble.d.ts.map +1 -1
- package/dist/types/service-bubble-class.d.ts +1 -1
- package/dist/types/service-bubble-class.d.ts.map +1 -1
- package/dist/types/service-bubble-class.js +2 -2
- 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 +2 -2
- 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/types/workflow-bubble-class.js +2 -2
- package/dist/types/workflow-bubble-class.js.map +1 -1
- package/dist/utils/agent-formatter.d.ts +14 -2
- package/dist/utils/agent-formatter.d.ts.map +1 -1
- package/dist/utils/agent-formatter.js +174 -26
- package/dist/utils/agent-formatter.js.map +1 -1
- package/dist/utils/bubbleflow-validation.d.ts +7 -0
- package/dist/utils/bubbleflow-validation.d.ts.map +1 -1
- package/dist/utils/bubbleflow-validation.js +171 -6
- package/dist/utils/bubbleflow-validation.js.map +1 -1
- package/dist/utils/json-parsing.d.ts.map +1 -1
- package/dist/utils/json-parsing.js +146 -0
- package/dist/utils/json-parsing.js.map +1 -1
- package/dist/utils/safe-gemini-chat.d.ts +31 -0
- package/dist/utils/safe-gemini-chat.d.ts.map +1 -0
- package/dist/utils/safe-gemini-chat.js +93 -0
- package/dist/utils/safe-gemini-chat.js.map +1 -0
- package/dist/utils/schema-comparison.d.ts +92 -0
- package/dist/utils/schema-comparison.d.ts.map +1 -0
- package/dist/utils/schema-comparison.js +716 -0
- package/dist/utils/schema-comparison.js.map +1 -0
- package/dist/utils/zod-schema.d.ts +24 -0
- package/dist/utils/zod-schema.d.ts.map +1 -0
- package/dist/utils/zod-schema.js +56 -0
- package/dist/utils/zod-schema.js.map +1 -0
- package/package.json +5 -4
- package/dist/bubbles/service-bubble/google-sheets.d.ts +0 -1811
- package/dist/bubbles/service-bubble/google-sheets.d.ts.map +0 -1
- package/dist/bubbles/service-bubble/google-sheets.js.map +0 -1
- package/dist/bubbles/service-bubble/x-twitter.d.ts +0 -814
- package/dist/bubbles/service-bubble/x-twitter.d.ts.map +0 -1
- package/dist/bubbles/service-bubble/x-twitter.js +0 -445
- package/dist/bubbles/service-bubble/x-twitter.js.map +0 -1
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +0 -125
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +0 -1
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +0 -808
- package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +0 -1
- package/dist/test-gm.d.ts +0 -10
- package/dist/test-gm.d.ts.map +0 -1
- package/dist/test-gm.js +0 -95
- package/dist/test-gm.js.map +0 -1
- package/dist/utils/param-helper.d.ts +0 -2
- package/dist/utils/param-helper.d.ts.map +0 -1
- package/dist/utils/param-helper.js +0 -5
- package/dist/utils/param-helper.js.map +0 -1
|
@@ -19,7 +19,6 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
19
19
|
flair: z.ZodOptional<z.ZodString>;
|
|
20
20
|
}, "strip", z.ZodTypeAny, {
|
|
21
21
|
title: string;
|
|
22
|
-
subreddit: string;
|
|
23
22
|
url: string;
|
|
24
23
|
author: string;
|
|
25
24
|
score: number;
|
|
@@ -27,14 +26,14 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
27
26
|
createdUtc: number;
|
|
28
27
|
postUrl: string;
|
|
29
28
|
selftext: string;
|
|
29
|
+
subreddit: string;
|
|
30
30
|
isSelf: boolean;
|
|
31
|
-
postHint?: string | null | undefined;
|
|
32
31
|
thumbnail?: string | undefined;
|
|
33
32
|
domain?: string | undefined;
|
|
33
|
+
postHint?: string | null | undefined;
|
|
34
34
|
flair?: string | undefined;
|
|
35
35
|
}, {
|
|
36
36
|
title: string;
|
|
37
|
-
subreddit: string;
|
|
38
37
|
url: string;
|
|
39
38
|
author: string;
|
|
40
39
|
score: number;
|
|
@@ -42,10 +41,11 @@ declare const RedditPostSchema: z.ZodObject<{
|
|
|
42
41
|
createdUtc: number;
|
|
43
42
|
postUrl: string;
|
|
44
43
|
selftext: string;
|
|
44
|
+
subreddit: string;
|
|
45
45
|
isSelf: boolean;
|
|
46
|
-
postHint?: string | null | undefined;
|
|
47
46
|
thumbnail?: string | undefined;
|
|
48
47
|
domain?: string | undefined;
|
|
48
|
+
postHint?: string | null | undefined;
|
|
49
49
|
flair?: string | undefined;
|
|
50
50
|
}>;
|
|
51
51
|
declare const RedditScrapeToolParamsSchema: z.ZodObject<{
|
|
@@ -59,22 +59,22 @@ declare const RedditScrapeToolParamsSchema: z.ZodObject<{
|
|
|
59
59
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
60
60
|
}, "strip", z.ZodTypeAny, {
|
|
61
61
|
sort: "hot" | "new" | "top" | "rising";
|
|
62
|
-
subreddit: string;
|
|
63
62
|
limit: number;
|
|
63
|
+
subreddit: string;
|
|
64
64
|
filterToday: boolean;
|
|
65
65
|
includeStickied: boolean;
|
|
66
|
-
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
67
|
-
minScore?: number | undefined;
|
|
68
66
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
67
|
+
timeFilter?: "all" | "hour" | "week" | "month" | "year" | "day" | undefined;
|
|
68
|
+
minScore?: number | undefined;
|
|
69
69
|
}, {
|
|
70
70
|
subreddit: string;
|
|
71
71
|
sort?: "hot" | "new" | "top" | "rising" | undefined;
|
|
72
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
72
73
|
limit?: number | undefined;
|
|
73
|
-
timeFilter?: "
|
|
74
|
+
timeFilter?: "all" | "hour" | "week" | "month" | "year" | "day" | undefined;
|
|
74
75
|
filterToday?: boolean | undefined;
|
|
75
76
|
includeStickied?: boolean | undefined;
|
|
76
77
|
minScore?: number | undefined;
|
|
77
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
78
78
|
}>;
|
|
79
79
|
declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
80
80
|
posts: z.ZodArray<z.ZodObject<{
|
|
@@ -94,7 +94,6 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
94
94
|
flair: z.ZodOptional<z.ZodString>;
|
|
95
95
|
}, "strip", z.ZodTypeAny, {
|
|
96
96
|
title: string;
|
|
97
|
-
subreddit: string;
|
|
98
97
|
url: string;
|
|
99
98
|
author: string;
|
|
100
99
|
score: number;
|
|
@@ -102,14 +101,14 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
102
101
|
createdUtc: number;
|
|
103
102
|
postUrl: string;
|
|
104
103
|
selftext: string;
|
|
104
|
+
subreddit: string;
|
|
105
105
|
isSelf: boolean;
|
|
106
|
-
postHint?: string | null | undefined;
|
|
107
106
|
thumbnail?: string | undefined;
|
|
108
107
|
domain?: string | undefined;
|
|
108
|
+
postHint?: string | null | undefined;
|
|
109
109
|
flair?: string | undefined;
|
|
110
110
|
}, {
|
|
111
111
|
title: string;
|
|
112
|
-
subreddit: string;
|
|
113
112
|
url: string;
|
|
114
113
|
author: string;
|
|
115
114
|
score: number;
|
|
@@ -117,10 +116,11 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
117
116
|
createdUtc: number;
|
|
118
117
|
postUrl: string;
|
|
119
118
|
selftext: string;
|
|
119
|
+
subreddit: string;
|
|
120
120
|
isSelf: boolean;
|
|
121
|
-
postHint?: string | null | undefined;
|
|
122
121
|
thumbnail?: string | undefined;
|
|
123
122
|
domain?: string | undefined;
|
|
123
|
+
postHint?: string | null | undefined;
|
|
124
124
|
flair?: string | undefined;
|
|
125
125
|
}>, "many">;
|
|
126
126
|
metadata: z.ZodObject<{
|
|
@@ -134,29 +134,40 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
134
134
|
apiEndpoint: z.ZodString;
|
|
135
135
|
}, "strip", z.ZodTypeAny, {
|
|
136
136
|
sort: string;
|
|
137
|
+
scrapedAt: string;
|
|
137
138
|
subreddit: string;
|
|
138
139
|
requestedLimit: number;
|
|
139
140
|
actualCount: number;
|
|
140
141
|
filteredCount: number;
|
|
141
|
-
scrapedAt: string;
|
|
142
142
|
apiEndpoint: string;
|
|
143
143
|
timeFilter?: string | undefined;
|
|
144
144
|
}, {
|
|
145
145
|
sort: string;
|
|
146
|
+
scrapedAt: string;
|
|
146
147
|
subreddit: string;
|
|
147
148
|
requestedLimit: number;
|
|
148
149
|
actualCount: number;
|
|
149
150
|
filteredCount: number;
|
|
150
|
-
scrapedAt: string;
|
|
151
151
|
apiEndpoint: string;
|
|
152
152
|
timeFilter?: string | undefined;
|
|
153
153
|
}>;
|
|
154
154
|
success: z.ZodBoolean;
|
|
155
155
|
error: z.ZodString;
|
|
156
156
|
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
error: string;
|
|
158
|
+
success: boolean;
|
|
159
|
+
metadata: {
|
|
160
|
+
sort: string;
|
|
161
|
+
scrapedAt: string;
|
|
162
|
+
subreddit: string;
|
|
163
|
+
requestedLimit: number;
|
|
164
|
+
actualCount: number;
|
|
165
|
+
filteredCount: number;
|
|
166
|
+
apiEndpoint: string;
|
|
167
|
+
timeFilter?: string | undefined;
|
|
168
|
+
};
|
|
157
169
|
posts: {
|
|
158
170
|
title: string;
|
|
159
|
-
subreddit: string;
|
|
160
171
|
url: string;
|
|
161
172
|
author: string;
|
|
162
173
|
score: number;
|
|
@@ -164,28 +175,28 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
164
175
|
createdUtc: number;
|
|
165
176
|
postUrl: string;
|
|
166
177
|
selftext: string;
|
|
178
|
+
subreddit: string;
|
|
167
179
|
isSelf: boolean;
|
|
168
|
-
postHint?: string | null | undefined;
|
|
169
180
|
thumbnail?: string | undefined;
|
|
170
181
|
domain?: string | undefined;
|
|
182
|
+
postHint?: string | null | undefined;
|
|
171
183
|
flair?: string | undefined;
|
|
172
184
|
}[];
|
|
185
|
+
}, {
|
|
186
|
+
error: string;
|
|
187
|
+
success: boolean;
|
|
173
188
|
metadata: {
|
|
174
189
|
sort: string;
|
|
190
|
+
scrapedAt: string;
|
|
175
191
|
subreddit: string;
|
|
176
192
|
requestedLimit: number;
|
|
177
193
|
actualCount: number;
|
|
178
194
|
filteredCount: number;
|
|
179
|
-
scrapedAt: string;
|
|
180
195
|
apiEndpoint: string;
|
|
181
196
|
timeFilter?: string | undefined;
|
|
182
197
|
};
|
|
183
|
-
success: boolean;
|
|
184
|
-
error: string;
|
|
185
|
-
}, {
|
|
186
198
|
posts: {
|
|
187
199
|
title: string;
|
|
188
|
-
subreddit: string;
|
|
189
200
|
url: string;
|
|
190
201
|
author: string;
|
|
191
202
|
score: number;
|
|
@@ -193,24 +204,13 @@ declare const RedditScrapeToolResultSchema: z.ZodObject<{
|
|
|
193
204
|
createdUtc: number;
|
|
194
205
|
postUrl: string;
|
|
195
206
|
selftext: string;
|
|
207
|
+
subreddit: string;
|
|
196
208
|
isSelf: boolean;
|
|
197
|
-
postHint?: string | null | undefined;
|
|
198
209
|
thumbnail?: string | undefined;
|
|
199
210
|
domain?: string | undefined;
|
|
211
|
+
postHint?: string | null | undefined;
|
|
200
212
|
flair?: string | undefined;
|
|
201
213
|
}[];
|
|
202
|
-
metadata: {
|
|
203
|
-
sort: string;
|
|
204
|
-
subreddit: string;
|
|
205
|
-
requestedLimit: number;
|
|
206
|
-
actualCount: number;
|
|
207
|
-
filteredCount: number;
|
|
208
|
-
scrapedAt: string;
|
|
209
|
-
apiEndpoint: string;
|
|
210
|
-
timeFilter?: string | undefined;
|
|
211
|
-
};
|
|
212
|
-
success: boolean;
|
|
213
|
-
error: string;
|
|
214
214
|
}>;
|
|
215
215
|
type RedditScrapeToolParams = z.output<typeof RedditScrapeToolParamsSchema>;
|
|
216
216
|
type RedditScrapeToolResult = z.output<typeof RedditScrapeToolResultSchema>;
|
|
@@ -229,22 +229,22 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
229
229
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
230
230
|
}, "strip", z.ZodTypeAny, {
|
|
231
231
|
sort: "hot" | "new" | "top" | "rising";
|
|
232
|
-
subreddit: string;
|
|
233
232
|
limit: number;
|
|
233
|
+
subreddit: string;
|
|
234
234
|
filterToday: boolean;
|
|
235
235
|
includeStickied: boolean;
|
|
236
|
-
timeFilter?: "hour" | "day" | "week" | "month" | "year" | "all" | undefined;
|
|
237
|
-
minScore?: number | undefined;
|
|
238
236
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
237
|
+
timeFilter?: "all" | "hour" | "week" | "month" | "year" | "day" | undefined;
|
|
238
|
+
minScore?: number | undefined;
|
|
239
239
|
}, {
|
|
240
240
|
subreddit: string;
|
|
241
241
|
sort?: "hot" | "new" | "top" | "rising" | undefined;
|
|
242
|
+
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
242
243
|
limit?: number | undefined;
|
|
243
|
-
timeFilter?: "
|
|
244
|
+
timeFilter?: "all" | "hour" | "week" | "month" | "year" | "day" | undefined;
|
|
244
245
|
filterToday?: boolean | undefined;
|
|
245
246
|
includeStickied?: boolean | undefined;
|
|
246
247
|
minScore?: number | undefined;
|
|
247
|
-
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
248
248
|
}>;
|
|
249
249
|
static readonly resultSchema: z.ZodObject<{
|
|
250
250
|
posts: z.ZodArray<z.ZodObject<{
|
|
@@ -264,7 +264,6 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
264
264
|
flair: z.ZodOptional<z.ZodString>;
|
|
265
265
|
}, "strip", z.ZodTypeAny, {
|
|
266
266
|
title: string;
|
|
267
|
-
subreddit: string;
|
|
268
267
|
url: string;
|
|
269
268
|
author: string;
|
|
270
269
|
score: number;
|
|
@@ -272,14 +271,14 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
272
271
|
createdUtc: number;
|
|
273
272
|
postUrl: string;
|
|
274
273
|
selftext: string;
|
|
274
|
+
subreddit: string;
|
|
275
275
|
isSelf: boolean;
|
|
276
|
-
postHint?: string | null | undefined;
|
|
277
276
|
thumbnail?: string | undefined;
|
|
278
277
|
domain?: string | undefined;
|
|
278
|
+
postHint?: string | null | undefined;
|
|
279
279
|
flair?: string | undefined;
|
|
280
280
|
}, {
|
|
281
281
|
title: string;
|
|
282
|
-
subreddit: string;
|
|
283
282
|
url: string;
|
|
284
283
|
author: string;
|
|
285
284
|
score: number;
|
|
@@ -287,10 +286,11 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
287
286
|
createdUtc: number;
|
|
288
287
|
postUrl: string;
|
|
289
288
|
selftext: string;
|
|
289
|
+
subreddit: string;
|
|
290
290
|
isSelf: boolean;
|
|
291
|
-
postHint?: string | null | undefined;
|
|
292
291
|
thumbnail?: string | undefined;
|
|
293
292
|
domain?: string | undefined;
|
|
293
|
+
postHint?: string | null | undefined;
|
|
294
294
|
flair?: string | undefined;
|
|
295
295
|
}>, "many">;
|
|
296
296
|
metadata: z.ZodObject<{
|
|
@@ -304,29 +304,40 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
304
304
|
apiEndpoint: z.ZodString;
|
|
305
305
|
}, "strip", z.ZodTypeAny, {
|
|
306
306
|
sort: string;
|
|
307
|
+
scrapedAt: string;
|
|
307
308
|
subreddit: string;
|
|
308
309
|
requestedLimit: number;
|
|
309
310
|
actualCount: number;
|
|
310
311
|
filteredCount: number;
|
|
311
|
-
scrapedAt: string;
|
|
312
312
|
apiEndpoint: string;
|
|
313
313
|
timeFilter?: string | undefined;
|
|
314
314
|
}, {
|
|
315
315
|
sort: string;
|
|
316
|
+
scrapedAt: string;
|
|
316
317
|
subreddit: string;
|
|
317
318
|
requestedLimit: number;
|
|
318
319
|
actualCount: number;
|
|
319
320
|
filteredCount: number;
|
|
320
|
-
scrapedAt: string;
|
|
321
321
|
apiEndpoint: string;
|
|
322
322
|
timeFilter?: string | undefined;
|
|
323
323
|
}>;
|
|
324
324
|
success: z.ZodBoolean;
|
|
325
325
|
error: z.ZodString;
|
|
326
326
|
}, "strip", z.ZodTypeAny, {
|
|
327
|
+
error: string;
|
|
328
|
+
success: boolean;
|
|
329
|
+
metadata: {
|
|
330
|
+
sort: string;
|
|
331
|
+
scrapedAt: string;
|
|
332
|
+
subreddit: string;
|
|
333
|
+
requestedLimit: number;
|
|
334
|
+
actualCount: number;
|
|
335
|
+
filteredCount: number;
|
|
336
|
+
apiEndpoint: string;
|
|
337
|
+
timeFilter?: string | undefined;
|
|
338
|
+
};
|
|
327
339
|
posts: {
|
|
328
340
|
title: string;
|
|
329
|
-
subreddit: string;
|
|
330
341
|
url: string;
|
|
331
342
|
author: string;
|
|
332
343
|
score: number;
|
|
@@ -334,28 +345,28 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
334
345
|
createdUtc: number;
|
|
335
346
|
postUrl: string;
|
|
336
347
|
selftext: string;
|
|
348
|
+
subreddit: string;
|
|
337
349
|
isSelf: boolean;
|
|
338
|
-
postHint?: string | null | undefined;
|
|
339
350
|
thumbnail?: string | undefined;
|
|
340
351
|
domain?: string | undefined;
|
|
352
|
+
postHint?: string | null | undefined;
|
|
341
353
|
flair?: string | undefined;
|
|
342
354
|
}[];
|
|
355
|
+
}, {
|
|
356
|
+
error: string;
|
|
357
|
+
success: boolean;
|
|
343
358
|
metadata: {
|
|
344
359
|
sort: string;
|
|
360
|
+
scrapedAt: string;
|
|
345
361
|
subreddit: string;
|
|
346
362
|
requestedLimit: number;
|
|
347
363
|
actualCount: number;
|
|
348
364
|
filteredCount: number;
|
|
349
|
-
scrapedAt: string;
|
|
350
365
|
apiEndpoint: string;
|
|
351
366
|
timeFilter?: string | undefined;
|
|
352
367
|
};
|
|
353
|
-
success: boolean;
|
|
354
|
-
error: string;
|
|
355
|
-
}, {
|
|
356
368
|
posts: {
|
|
357
369
|
title: string;
|
|
358
|
-
subreddit: string;
|
|
359
370
|
url: string;
|
|
360
371
|
author: string;
|
|
361
372
|
score: number;
|
|
@@ -363,24 +374,13 @@ export declare class RedditScrapeTool extends ToolBubble<RedditScrapeToolParams,
|
|
|
363
374
|
createdUtc: number;
|
|
364
375
|
postUrl: string;
|
|
365
376
|
selftext: string;
|
|
377
|
+
subreddit: string;
|
|
366
378
|
isSelf: boolean;
|
|
367
|
-
postHint?: string | null | undefined;
|
|
368
379
|
thumbnail?: string | undefined;
|
|
369
380
|
domain?: string | undefined;
|
|
381
|
+
postHint?: string | null | undefined;
|
|
370
382
|
flair?: string | undefined;
|
|
371
383
|
}[];
|
|
372
|
-
metadata: {
|
|
373
|
-
sort: string;
|
|
374
|
-
subreddit: string;
|
|
375
|
-
requestedLimit: number;
|
|
376
|
-
actualCount: number;
|
|
377
|
-
filteredCount: number;
|
|
378
|
-
scrapedAt: string;
|
|
379
|
-
apiEndpoint: string;
|
|
380
|
-
timeFilter?: string | undefined;
|
|
381
|
-
};
|
|
382
|
-
success: boolean;
|
|
383
|
-
error: string;
|
|
384
384
|
}>;
|
|
385
385
|
static readonly shortDescription = "Scrapes posts from any Reddit subreddit with flexible filtering and sorting options";
|
|
386
386
|
static readonly longDescription = "\n A specialized tool for scraping Reddit posts from any subreddit with comprehensive filtering and sorting capabilities.\n \n \uD83D\uDD25 Core Features:\n - Scrape posts from any public subreddit\n - Multiple sorting options (hot, new, top, rising)\n - Flexible post limits (1-1000 posts with pagination)\n - Time-based filtering for top posts\n - Today-only filtering option\n - Score-based filtering\n - Stickied post inclusion/exclusion\n \n \uD83D\uDCCA Post Data Extracted:\n - Title, author, and content\n - Upvote scores and comment counts\n - Creation timestamps and permalinks\n - Post types (text vs link posts)\n - External URLs and domains\n - Thumbnails and flairs\n - Comprehensive metadata\n \n \uD83C\uDFAF Use Cases:\n - Monitor specific subreddits for trends\n - Gather posts for content analysis\n - Track community engagement metrics\n - Feed Reddit data into other workflows\n - Research subreddit activity patterns\n - Content aggregation and curation\n \n \u26A1 Technical Features:\n - Uses Reddit's official JSON API\n - No authentication required for public posts\n - Respects Reddit's rate limiting\n - Handles large subreddits efficiently\n - Robust error handling and validation\n - Clean, structured data output\n \n Perfect for integration with AI agents, data analysis workflows, and content monitoring systems.\n ";
|
|
@@ -4,23 +4,23 @@ import type { BubbleContext } from '../../types/bubble.js';
|
|
|
4
4
|
import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas';
|
|
5
5
|
declare const ResearchAgentToolParamsSchema: z.ZodObject<{
|
|
6
6
|
task: z.ZodString;
|
|
7
|
-
expectedResultSchema: z.ZodString
|
|
8
|
-
model: z.
|
|
7
|
+
expectedResultSchema: z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>;
|
|
8
|
+
model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-5.1", "openai/gpt-5.2", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview", "google/gemini-3-pro-preview", "google/gemini-3-pro-image-preview", "google/gemini-3-flash-preview", "anthropic/claude-sonnet-4-5", "anthropic/claude-opus-4-5", "anthropic/claude-haiku-4-5", "openrouter/x-ai/grok-code-fast-1", "openrouter/z-ai/glm-4.6", "openrouter/anthropic/claude-sonnet-4.5", "openrouter/google/gemini-3-pro-preview", "openrouter/morph/morph-v3-large", "openrouter/x-ai/grok-4.1-fast", "openrouter/openai/gpt-oss-120b", "openrouter/deepseek/deepseek-chat-v3.1"]>>;
|
|
9
9
|
maxTokens: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
10
10
|
maxIterations: z.ZodDefault<z.ZodNumber>;
|
|
11
11
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
12
12
|
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/x-ai/grok-4.1-fast" | "openrouter/openai/gpt-oss-120b" | "openrouter/deepseek/deepseek-chat-v3.1";
|
|
13
14
|
maxIterations: number;
|
|
14
15
|
task: string;
|
|
15
|
-
expectedResultSchema: string;
|
|
16
|
+
expectedResultSchema: string | z.ZodTypeAny;
|
|
16
17
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
17
|
-
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | undefined;
|
|
18
18
|
maxTokens?: number | undefined;
|
|
19
19
|
}, {
|
|
20
20
|
task: string;
|
|
21
|
-
expectedResultSchema: string;
|
|
21
|
+
expectedResultSchema: string | z.ZodTypeAny;
|
|
22
22
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
23
|
-
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | undefined;
|
|
23
|
+
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/x-ai/grok-4.1-fast" | "openrouter/openai/gpt-oss-120b" | "openrouter/deepseek/deepseek-chat-v3.1" | undefined;
|
|
24
24
|
maxTokens?: number | undefined;
|
|
25
25
|
maxIterations?: number | undefined;
|
|
26
26
|
}>;
|
|
@@ -32,15 +32,15 @@ declare const ResearchAgentToolResultSchema: z.ZodObject<{
|
|
|
32
32
|
success: z.ZodBoolean;
|
|
33
33
|
error: z.ZodString;
|
|
34
34
|
}, "strip", z.ZodTypeAny, {
|
|
35
|
-
success: boolean;
|
|
36
35
|
error: string;
|
|
36
|
+
success: boolean;
|
|
37
37
|
summary: string;
|
|
38
38
|
sourcesUsed: string[];
|
|
39
39
|
iterationsUsed: number;
|
|
40
40
|
result?: any;
|
|
41
41
|
}, {
|
|
42
|
-
success: boolean;
|
|
43
42
|
error: string;
|
|
43
|
+
success: boolean;
|
|
44
44
|
summary: string;
|
|
45
45
|
sourcesUsed: string[];
|
|
46
46
|
iterationsUsed: number;
|
|
@@ -53,23 +53,23 @@ export declare class ResearchAgentTool extends ToolBubble<ResearchAgentToolParam
|
|
|
53
53
|
static readonly bubbleName: BubbleName;
|
|
54
54
|
static readonly schema: z.ZodObject<{
|
|
55
55
|
task: z.ZodString;
|
|
56
|
-
expectedResultSchema: z.ZodString
|
|
57
|
-
model: z.
|
|
56
|
+
expectedResultSchema: z.ZodUnion<[z.ZodType<z.ZodTypeAny, z.ZodTypeDef, z.ZodTypeAny>, z.ZodString]>;
|
|
57
|
+
model: z.ZodDefault<z.ZodEnum<["openai/gpt-5", "openai/gpt-5-mini", "openai/gpt-5.1", "openai/gpt-5.2", "google/gemini-2.5-pro", "google/gemini-2.5-flash", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash-image-preview", "google/gemini-3-pro-preview", "google/gemini-3-pro-image-preview", "google/gemini-3-flash-preview", "anthropic/claude-sonnet-4-5", "anthropic/claude-opus-4-5", "anthropic/claude-haiku-4-5", "openrouter/x-ai/grok-code-fast-1", "openrouter/z-ai/glm-4.6", "openrouter/anthropic/claude-sonnet-4.5", "openrouter/google/gemini-3-pro-preview", "openrouter/morph/morph-v3-large", "openrouter/x-ai/grok-4.1-fast", "openrouter/openai/gpt-oss-120b", "openrouter/deepseek/deepseek-chat-v3.1"]>>;
|
|
58
58
|
maxTokens: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
59
59
|
maxIterations: z.ZodDefault<z.ZodNumber>;
|
|
60
60
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
61
61
|
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
model: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/x-ai/grok-4.1-fast" | "openrouter/openai/gpt-oss-120b" | "openrouter/deepseek/deepseek-chat-v3.1";
|
|
62
63
|
maxIterations: number;
|
|
63
64
|
task: string;
|
|
64
|
-
expectedResultSchema: string;
|
|
65
|
+
expectedResultSchema: string | z.ZodTypeAny;
|
|
65
66
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
66
|
-
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | undefined;
|
|
67
67
|
maxTokens?: number | undefined;
|
|
68
68
|
}, {
|
|
69
69
|
task: string;
|
|
70
|
-
expectedResultSchema: string;
|
|
70
|
+
expectedResultSchema: string | z.ZodTypeAny;
|
|
71
71
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
72
|
-
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | undefined;
|
|
72
|
+
model?: "openai/gpt-5" | "openai/gpt-5-mini" | "openai/gpt-5.1" | "openai/gpt-5.2" | "google/gemini-2.5-pro" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-image-preview" | "google/gemini-3-pro-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3-flash-preview" | "anthropic/claude-sonnet-4-5" | "anthropic/claude-opus-4-5" | "anthropic/claude-haiku-4-5" | "openrouter/x-ai/grok-code-fast-1" | "openrouter/z-ai/glm-4.6" | "openrouter/anthropic/claude-sonnet-4.5" | "openrouter/google/gemini-3-pro-preview" | "openrouter/morph/morph-v3-large" | "openrouter/x-ai/grok-4.1-fast" | "openrouter/openai/gpt-oss-120b" | "openrouter/deepseek/deepseek-chat-v3.1" | undefined;
|
|
73
73
|
maxTokens?: number | undefined;
|
|
74
74
|
maxIterations?: number | undefined;
|
|
75
75
|
}>;
|
|
@@ -81,15 +81,15 @@ export declare class ResearchAgentTool extends ToolBubble<ResearchAgentToolParam
|
|
|
81
81
|
success: z.ZodBoolean;
|
|
82
82
|
error: z.ZodString;
|
|
83
83
|
}, "strip", z.ZodTypeAny, {
|
|
84
|
-
success: boolean;
|
|
85
84
|
error: string;
|
|
85
|
+
success: boolean;
|
|
86
86
|
summary: string;
|
|
87
87
|
sourcesUsed: string[];
|
|
88
88
|
iterationsUsed: number;
|
|
89
89
|
result?: any;
|
|
90
90
|
}, {
|
|
91
|
-
success: boolean;
|
|
92
91
|
error: string;
|
|
92
|
+
success: boolean;
|
|
93
93
|
summary: string;
|
|
94
94
|
sourcesUsed: string[];
|
|
95
95
|
iterationsUsed: number;
|
|
@@ -101,6 +101,7 @@ export declare class ResearchAgentTool extends ToolBubble<ResearchAgentToolParam
|
|
|
101
101
|
static readonly type = "tool";
|
|
102
102
|
constructor(params?: ResearchAgentToolParamsInput, context?: BubbleContext);
|
|
103
103
|
performAction(context?: BubbleContext): Promise<ResearchAgentToolResult>;
|
|
104
|
+
getExpectedResultSchema(): string;
|
|
104
105
|
/**
|
|
105
106
|
* Build the main research prompt for the AI agent
|
|
106
107
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-agent-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/research-agent-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"research-agent-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/research-agent-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAmB,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAc5E,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAqCjC,CAAC;AAGH,QAAA,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAuBjC,CAAC;AAGH,KAAK,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC9E,KAAK,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC9E,KAAK,4BAA4B,GAAG,CAAC,CAAC,KAAK,CACzC,OAAO,6BAA6B,CACrC,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU,CAC/C,uBAAuB,EACvB,uBAAuB,CACxB;IAEC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAyB;IAC/D,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;OAAiC;IACvD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;OAAiC;IAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,uGACsE;IACtG,MAAM,CAAC,QAAQ,CAAC,eAAe,0tDA4B7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAc;IACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,4BAGP,EACD,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,CACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,uBAAuB,CAAC;IA4I5B,uBAAuB,IAAI,MAAM;IAYxC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkDzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA8CnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAShC"}
|
|
@@ -4,21 +4,23 @@ import { CredentialType } from '@bubblelab/shared-schemas';
|
|
|
4
4
|
import { AIAgentBubble } from '../service-bubble/ai-agent.js';
|
|
5
5
|
import { AvailableModels } from '@bubblelab/shared-schemas';
|
|
6
6
|
import { parseJsonWithFallbacks } from '../../utils/json-parsing.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
import { RECOMMENDED_MODELS } from '@bubblelab/shared-schemas';
|
|
8
|
+
import { isZodSchema, zodSchemaToJsonString } from '../../utils/zod-schema.js';
|
|
9
|
+
// Schema for the expected JSON result structure - accepts either a Zod schema or a JSON schema string
|
|
10
|
+
const ExpectedResultSchema = z.union([
|
|
11
|
+
z.custom((val) => val?._def !== undefined),
|
|
12
|
+
z.string(),
|
|
13
|
+
]);
|
|
11
14
|
// Define the parameters schema for the Research Agent Tool
|
|
12
15
|
const ResearchAgentToolParamsSchema = z.object({
|
|
13
16
|
task: z
|
|
14
17
|
.string()
|
|
15
18
|
.min(1, 'Research task is required')
|
|
16
19
|
.describe('The research task that requires searching the internet and gathering information'),
|
|
17
|
-
expectedResultSchema: ExpectedResultSchema.describe('JSON schema string that defines the expected structure of the research result.
|
|
18
|
-
model: AvailableModels.describe(
|
|
19
|
-
.default(
|
|
20
|
-
.
|
|
21
|
-
.describe('Model to use for the research agent (default: google/gemini-2.5-pro)'),
|
|
20
|
+
expectedResultSchema: ExpectedResultSchema.describe('Zod schema or JSON schema string that defines the expected structure of the research result. Example: z.object({ trends: z.array(z.string()).describe("An array of trends"), summary: z.string().describe("A summary of the trends") }) or JSON.stringify({ type: "object", properties: { trends: { type: "array", items: { type: "string" } }, summary: { type: "string" } } })'),
|
|
21
|
+
model: AvailableModels.describe(`Model to use for the research agent (default: ${RECOMMENDED_MODELS.BEST})`)
|
|
22
|
+
.default(RECOMMENDED_MODELS.BEST)
|
|
23
|
+
.describe(`Model to use for the research agent (default: ${RECOMMENDED_MODELS.BEST})`),
|
|
22
24
|
maxTokens: z
|
|
23
25
|
.number()
|
|
24
26
|
.min(40000)
|
|
@@ -28,8 +30,8 @@ const ResearchAgentToolParamsSchema = z.object({
|
|
|
28
30
|
maxIterations: z
|
|
29
31
|
.number()
|
|
30
32
|
.min(1)
|
|
31
|
-
.max(
|
|
32
|
-
.default(
|
|
33
|
+
.max(4000)
|
|
34
|
+
.default(400)
|
|
33
35
|
.describe('Maximum number of iterations for the research agent (default: 100)'),
|
|
34
36
|
credentials: z
|
|
35
37
|
.record(z.nativeEnum(CredentialType), z.string())
|
|
@@ -94,7 +96,7 @@ export class ResearchAgentTool extends ToolBubble {
|
|
|
94
96
|
static type = 'tool';
|
|
95
97
|
constructor(params = {
|
|
96
98
|
task: '',
|
|
97
|
-
expectedResultSchema:
|
|
99
|
+
expectedResultSchema: z.object({ result: z.string() }),
|
|
98
100
|
}, context) {
|
|
99
101
|
super(params, context);
|
|
100
102
|
}
|
|
@@ -110,14 +112,15 @@ export class ResearchAgentTool extends ToolBubble {
|
|
|
110
112
|
};
|
|
111
113
|
}
|
|
112
114
|
void context; // Context available but not currently used
|
|
113
|
-
const { task,
|
|
115
|
+
const { task, maxIterations } = this.params;
|
|
116
|
+
const jsonSchemaString = this.getExpectedResultSchema();
|
|
114
117
|
try {
|
|
115
118
|
console.log('[ResearchAgentTool] Starting research task:', task.substring(0, 100) + '...');
|
|
116
|
-
console.log('[ResearchAgentTool] Expected result schema:',
|
|
119
|
+
console.log('[ResearchAgentTool] Expected result schema (JSON):', jsonSchemaString.substring(0, 200) + '...');
|
|
117
120
|
console.log('[ResearchAgentTool] Max iterations:', maxIterations);
|
|
118
121
|
// Create the AI agent with web search and scraping tools
|
|
119
122
|
const researchSubAgent = new AIAgentBubble({
|
|
120
|
-
message: this.buildResearchPrompt(task,
|
|
123
|
+
message: this.buildResearchPrompt(task, jsonSchemaString),
|
|
121
124
|
systemPrompt: this.buildSystemPrompt(),
|
|
122
125
|
model: {
|
|
123
126
|
model: this.params.model,
|
|
@@ -129,7 +132,7 @@ export class ResearchAgentTool extends ToolBubble {
|
|
|
129
132
|
{ name: 'web-search-tool' },
|
|
130
133
|
{ name: 'web-scrape-tool' },
|
|
131
134
|
{ name: 'web-crawl-tool' },
|
|
132
|
-
{ name: 'web-extract-tool' },
|
|
135
|
+
// { name: 'web-extract-tool' },
|
|
133
136
|
{ name: 'reddit-scrape-tool' },
|
|
134
137
|
],
|
|
135
138
|
maxIterations,
|
|
@@ -197,6 +200,13 @@ export class ResearchAgentTool extends ToolBubble {
|
|
|
197
200
|
};
|
|
198
201
|
}
|
|
199
202
|
}
|
|
203
|
+
getExpectedResultSchema() {
|
|
204
|
+
// Use shared utility to convert Zod schema to JSON schema string
|
|
205
|
+
if (isZodSchema(this.params.expectedResultSchema)) {
|
|
206
|
+
return zodSchemaToJsonString(this.params.expectedResultSchema, 'ResultSchema');
|
|
207
|
+
}
|
|
208
|
+
return this.params.expectedResultSchema;
|
|
209
|
+
}
|
|
200
210
|
/**
|
|
201
211
|
* Build the main research prompt for the AI agent
|
|
202
212
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-agent-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/research-agent-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"research-agent-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/research-agent-tool.ts"],"names":[],"mappings":"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"}
|