@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ToolBubble } from '../../types/tool-bubble-class.js';
|
|
3
|
-
import
|
|
3
|
+
import { FirecrawlBubble } from '../service-bubble/firecrawl.js';
|
|
4
4
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
5
5
|
import { AIAgentBubble } from '../service-bubble/ai-agent.js';
|
|
6
6
|
// Enhanced parameters schema for web crawling
|
|
@@ -67,6 +67,7 @@ const WebCrawlToolResultSchema = z.object({
|
|
|
67
67
|
}))
|
|
68
68
|
.describe('Array of crawled pages with content'),
|
|
69
69
|
totalPages: z.number().describe('Total number of pages crawled'),
|
|
70
|
+
creditsUsed: z.number().describe('Number of credits used'),
|
|
70
71
|
// Metadata
|
|
71
72
|
metadata: z
|
|
72
73
|
.object({
|
|
@@ -117,66 +118,42 @@ export class WebCrawlTool extends ToolBubble {
|
|
|
117
118
|
const { url } = this.params;
|
|
118
119
|
const startTime = Date.now();
|
|
119
120
|
try {
|
|
120
|
-
// Get Firecrawl API key from credentials
|
|
121
|
-
const apiKey = this.params.credentials?.FIRECRAWL_API_KEY;
|
|
122
|
-
if (!apiKey) {
|
|
123
|
-
throw new Error('FIRECRAWL_API_KEY is required but not provided in credentials');
|
|
124
|
-
}
|
|
125
|
-
// Initialize Firecrawl client
|
|
126
|
-
const firecrawl = new FirecrawlApp({ apiKey });
|
|
127
121
|
console.log(`[WebCrawlTool] Starting crawl for URL:`, url);
|
|
128
|
-
const crawlResult = await this.executeCrawl(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
122
|
+
const crawlResult = await this.executeCrawl(startTime);
|
|
123
|
+
if (!crawlResult.success) {
|
|
124
|
+
return crawlResult;
|
|
125
|
+
}
|
|
126
|
+
// Summarize individual pages that are too long (>50KB)
|
|
127
|
+
const summarizationPromises = crawlResult.pages.map(async (page, index) => {
|
|
128
|
+
if (!page.content || page.content.length <= 50000) {
|
|
129
|
+
return; // Skip short pages
|
|
130
|
+
}
|
|
131
|
+
console.debug(`[WebCrawlTool] Summarizing large page (${page.content.length} chars): ${page.url}`);
|
|
132
|
+
try {
|
|
137
133
|
const summarizeAgent = new AIAgentBubble({
|
|
138
|
-
message: `
|
|
134
|
+
message: `Clean up this crawled page and condense the content to remove any non-essential information. Include all links, contact information, and important details. Remove navigation, footer, and other non-essential elements but preserve all examples, code blocks, and API usage.
|
|
135
|
+
|
|
136
|
+
Content from ${page.url}:
|
|
137
|
+
${page.content}`,
|
|
139
138
|
model: {
|
|
140
139
|
model: 'google/gemini-2.5-flash-lite',
|
|
140
|
+
maxTokens: 50000,
|
|
141
141
|
},
|
|
142
142
|
name: 'Crawl Page Summarizer Agent',
|
|
143
143
|
credentials: this.params.credentials,
|
|
144
144
|
}, this.context);
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
index: batchStart + batchIndex,
|
|
150
|
-
url: page.url,
|
|
151
|
-
title: page.title,
|
|
152
|
-
content: result.data?.response,
|
|
153
|
-
depth: page.depth,
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
console.error('[WebCrawlTool] Error summarizing page:', page.url, error);
|
|
158
|
-
return {
|
|
159
|
-
index: batchStart + batchIndex,
|
|
160
|
-
url: page.url,
|
|
161
|
-
title: page.title,
|
|
162
|
-
content: page.content, // Keep original content if summarization fails
|
|
163
|
-
depth: page.depth,
|
|
164
|
-
};
|
|
145
|
+
const result = await summarizeAgent.action();
|
|
146
|
+
if (result.data?.response) {
|
|
147
|
+
crawlResult.pages[index].content = result.data.response;
|
|
148
|
+
console.log(`[WebCrawlTool] Summarized page: ${page.url}`);
|
|
165
149
|
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
title: result.title,
|
|
174
|
-
content: result.content,
|
|
175
|
-
depth: result.depth,
|
|
176
|
-
};
|
|
177
|
-
});
|
|
178
|
-
console.log(`[WebCrawlTool] Completed batch ${Math.floor(batchStart / batchSize) + 1} of ${Math.ceil(pageCount / batchSize)}`);
|
|
179
|
-
}
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
console.error(`[WebCrawlTool] Error summarizing ${page.url}:`, error);
|
|
153
|
+
// Keep original content if summarization fails
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
await Promise.all(summarizationPromises);
|
|
180
157
|
return crawlResult;
|
|
181
158
|
}
|
|
182
159
|
catch (error) {
|
|
@@ -185,6 +162,7 @@ export class WebCrawlTool extends ToolBubble {
|
|
|
185
162
|
return {
|
|
186
163
|
url,
|
|
187
164
|
success: false,
|
|
165
|
+
creditsUsed: 0,
|
|
188
166
|
error: errorMessage,
|
|
189
167
|
pages: [],
|
|
190
168
|
totalPages: 0,
|
|
@@ -197,12 +175,12 @@ export class WebCrawlTool extends ToolBubble {
|
|
|
197
175
|
/**
|
|
198
176
|
* Execute crawl operation - multi-page site exploration
|
|
199
177
|
*/
|
|
200
|
-
async executeCrawl(
|
|
201
|
-
const { url, format, onlyMainContent, maxPages, crawlDepth, includePaths, excludePaths, } = this.params;
|
|
178
|
+
async executeCrawl(startTime) {
|
|
179
|
+
const { url, format, onlyMainContent, maxPages, crawlDepth, includePaths, excludePaths, credentials, } = this.params;
|
|
202
180
|
// Configure crawling options
|
|
203
181
|
const crawlOptions = {
|
|
204
182
|
limit: maxPages || 10,
|
|
205
|
-
|
|
183
|
+
maxDiscoveryDepth: crawlDepth || 2,
|
|
206
184
|
};
|
|
207
185
|
// Add URL filtering if specified
|
|
208
186
|
if (includePaths && includePaths.length > 0) {
|
|
@@ -213,18 +191,36 @@ export class WebCrawlTool extends ToolBubble {
|
|
|
213
191
|
}
|
|
214
192
|
console.log('[WebCrawlTool] Crawling with options:', crawlOptions);
|
|
215
193
|
// Execute crawl
|
|
216
|
-
const
|
|
194
|
+
const firecrawlParams = {
|
|
195
|
+
operation: 'crawl',
|
|
196
|
+
credentials,
|
|
217
197
|
...crawlOptions,
|
|
198
|
+
url,
|
|
218
199
|
scrapeOptions: {
|
|
219
|
-
formats: [format],
|
|
200
|
+
formats: format ? [format] : undefined,
|
|
220
201
|
onlyMainContent,
|
|
221
202
|
removeBase64Images: true,
|
|
222
203
|
},
|
|
223
|
-
}
|
|
204
|
+
};
|
|
205
|
+
const firecrawl = new FirecrawlBubble(firecrawlParams, this.context, 'web_crawl_tool_firecrawl');
|
|
206
|
+
const response = await firecrawl.action();
|
|
207
|
+
if (!response.success) {
|
|
208
|
+
return {
|
|
209
|
+
url,
|
|
210
|
+
success: false,
|
|
211
|
+
creditsUsed: 0,
|
|
212
|
+
error: response.error || 'Crawl failed',
|
|
213
|
+
pages: [],
|
|
214
|
+
totalPages: 0,
|
|
215
|
+
metadata: {
|
|
216
|
+
loadTime: Date.now() - startTime,
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
}
|
|
224
220
|
// Process crawled pages
|
|
225
221
|
const pages = [];
|
|
226
222
|
// Handle different response structures
|
|
227
|
-
const crawlData = response.completed ? response.data : [];
|
|
223
|
+
const crawlData = response.data.completed ? response.data.data : [];
|
|
228
224
|
for (const page of crawlData) {
|
|
229
225
|
let content = '';
|
|
230
226
|
// Extract content based on format
|
|
@@ -238,9 +234,12 @@ export class WebCrawlTool extends ToolBubble {
|
|
|
238
234
|
depth: page.metadata?.depth,
|
|
239
235
|
});
|
|
240
236
|
}
|
|
237
|
+
// Token usage tracking is now centralized in FirecrawlBubble
|
|
238
|
+
const creditsUsed = pages.length;
|
|
241
239
|
return {
|
|
242
240
|
url,
|
|
243
241
|
pages,
|
|
242
|
+
creditsUsed,
|
|
244
243
|
totalPages: pages.length,
|
|
245
244
|
success: true,
|
|
246
245
|
error: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-crawl-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-crawl-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,
|
|
1
|
+
{"version":3,"file":"web-crawl-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-crawl-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAmB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,8CAA8C;AAC9C,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,qBAAqB,CAAC;SAC1B,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;SAClB,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,mCAAmC,CAAC;IAChD,eAAe,EAAE,CAAC;SACf,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6DAA6D,CAAC;IAE1E,4BAA4B;IAC5B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,wBAAwB,CAAC;IACrC,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;IACH,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF,CACxF;IAEH,qBAAqB;IACrB,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAChD,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;CAChE,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAE3D,gBAAgB;IAChB,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CACH;SACA,QAAQ,CAAC,qCAAqC,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAE1D,WAAW;IACX,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACxC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAOH,MAAM,OAAO,YAAa,SAAQ,UAGjC;IACC,2BAA2B;IAC3B,MAAM,CAAU,UAAU,GAAe,gBAAgB,CAAC;IAC1D,MAAM,CAAU,MAAM,GAAG,wBAAwB,CAAC;IAClD,MAAM,CAAU,YAAY,GAAG,wBAAwB,CAAC;IACxD,MAAM,CAAU,gBAAgB,GAC9B,4EAA4E,CAAC;IAC/E,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;GAuBjC,CAAC;IACF,MAAM,CAAU,KAAK,GAAG,OAAO,CAAC;IAChC,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;IAE9B,YACE,SAAkC,EAAE,GAAG,EAAE,EAAE,EAAE,EAC7C,OAAuB;QAEvB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,KAAK,OAAO,CAAC,CAAC,2CAA2C;QAEzD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAE3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,uDAAuD;YACvD,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CACjD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBAClD,OAAO,CAAC,mBAAmB;gBAC7B,CAAC;gBAED,OAAO,CAAC,KAAK,CACX,0CAA0C,IAAI,CAAC,OAAO,CAAC,MAAM,YAAY,IAAI,CAAC,GAAG,EAAE,CACpF,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,IAAI,aAAa,CACtC;wBACE,OAAO,EAAE;;eAEV,IAAI,CAAC,GAAG;EACrB,IAAI,CAAC,OAAO,EAAE;wBACA,KAAK,EAAE;4BACL,KAAK,EAAE,8BAA8B;4BACrC,SAAS,EAAE,KAAK;yBACjB;wBACD,IAAI,EAAE,6BAA6B;wBACnC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;qBACrC,EACD,IAAI,CAAC,OAAO,CACb,CAAC;oBAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC7C,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;wBAC1B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACxD,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,oCAAoC,IAAI,CAAC,GAAG,GAAG,EAC/C,KAAK,CACN,CAAC;oBACF,+CAA+C;gBACjD,CAAC;YACH,CAAC,CACF,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAEzC,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAEpD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE3D,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACjC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,SAAiB;QAC1C,MAAM,EACJ,GAAG,EACH,MAAM,EACN,eAAe,EACf,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhB,6BAA6B;QAC7B,MAAM,YAAY,GAKd;YACF,KAAK,EAAE,QAAQ,IAAI,EAAE;YACrB,iBAAiB,EAAE,UAAU,IAAI,CAAC;SACnC,CAAC;QAEF,iCAAiC;QACjC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;QAC3C,CAAC;QACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;QAC3C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,YAAY,CAAC,CAAC;QAEnE,gBAAgB;QAChB,MAAM,eAAe,GAAG;YACtB,SAAS,EAAE,OAAgB;YAC3B,WAAW;YACX,GAAG,YAAY;YACf,GAAG;YACH,aAAa,EAAE;gBACb,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtC,eAAe;gBACf,kBAAkB,EAAE,IAAI;aACzB;SACF,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,eAAe,CACnC,eAAe,EACf,IAAI,CAAC,OAAO,EACZ,0BAA0B,CAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;gBACL,GAAG;gBACH,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,cAAc;gBACvC,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACjC;aACF,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAKN,EAAE,CAAC;QAER,uCAAuC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,kCAAkC;YAClC,IAAI,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1B,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;gBACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAA2B;aAClD,CAAC,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QAEjC,OAAO;YACL,GAAG;YACH,KAAK;YACL,WAAW;YACX,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE;gBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAChC,UAAU,EAAE,UAAU,IAAI,CAAC;gBAC3B,eAAe,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;aAClD;SACF,CAAC;IACJ,CAAC"}
|
|
@@ -40,9 +40,9 @@ declare const WebExtractToolResultSchema: z.ZodObject<{
|
|
|
40
40
|
pageTitle?: string | undefined;
|
|
41
41
|
}>>;
|
|
42
42
|
}, "strip", z.ZodTypeAny, {
|
|
43
|
-
url: string;
|
|
44
|
-
success: boolean;
|
|
45
43
|
error: string;
|
|
44
|
+
success: boolean;
|
|
45
|
+
url: string;
|
|
46
46
|
metadata?: {
|
|
47
47
|
statusCode?: number | undefined;
|
|
48
48
|
extractionTime?: number | undefined;
|
|
@@ -50,9 +50,9 @@ declare const WebExtractToolResultSchema: z.ZodObject<{
|
|
|
50
50
|
} | undefined;
|
|
51
51
|
extractedData?: any;
|
|
52
52
|
}, {
|
|
53
|
-
url: string;
|
|
54
|
-
success: boolean;
|
|
55
53
|
error: string;
|
|
54
|
+
success: boolean;
|
|
55
|
+
url: string;
|
|
56
56
|
metadata?: {
|
|
57
57
|
statusCode?: number | undefined;
|
|
58
58
|
extractionTime?: number | undefined;
|
|
@@ -103,9 +103,9 @@ export declare class WebExtractTool extends ToolBubble<WebExtractToolParams, Web
|
|
|
103
103
|
pageTitle?: string | undefined;
|
|
104
104
|
}>>;
|
|
105
105
|
}, "strip", z.ZodTypeAny, {
|
|
106
|
-
url: string;
|
|
107
|
-
success: boolean;
|
|
108
106
|
error: string;
|
|
107
|
+
success: boolean;
|
|
108
|
+
url: string;
|
|
109
109
|
metadata?: {
|
|
110
110
|
statusCode?: number | undefined;
|
|
111
111
|
extractionTime?: number | undefined;
|
|
@@ -113,9 +113,9 @@ export declare class WebExtractTool extends ToolBubble<WebExtractToolParams, Web
|
|
|
113
113
|
} | undefined;
|
|
114
114
|
extractedData?: any;
|
|
115
115
|
}, {
|
|
116
|
-
url: string;
|
|
117
|
-
success: boolean;
|
|
118
116
|
error: string;
|
|
117
|
+
success: boolean;
|
|
118
|
+
url: string;
|
|
119
119
|
metadata?: {
|
|
120
120
|
statusCode?: number | undefined;
|
|
121
121
|
extractionTime?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-extract-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-extract-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5E,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EA4B9B,CAAC;AAGH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe9B,CAAC;AAGH,KAAK,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxE,KAAK,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxE,KAAK,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,qBAAa,cAAe,SAAQ,UAAU,CAC5C,oBAAoB,EACpB,oBAAoB,CACrB;IAEC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAsB;IAC5D,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;OAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA8B;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,mHACkF;IAClH,MAAM,CAAC,QAAQ,CAAC,eAAe,sgDA8B7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,aAAa;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,yBAIP,EACD,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"web-extract-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-extract-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5E,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EA4B9B,CAAC;AAGH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe9B,CAAC;AAGH,KAAK,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxE,KAAK,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxE,KAAK,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,qBAAa,cAAe,SAAQ,UAAU,CAC5C,oBAAoB,EACpB,oBAAoB,CACrB;IAEC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAsB;IAC5D,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;OAA8B;IACpD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA8B;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,mHACkF;IAClH,MAAM,CAAC,QAAQ,CAAC,eAAe,sgDA8B7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,aAAa;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,yBAIP,EACD,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA8G5E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ToolBubble } from '../../types/tool-bubble-class.js';
|
|
3
|
-
import
|
|
3
|
+
import { FirecrawlBubble } from '../service-bubble/firecrawl.js';
|
|
4
4
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
5
5
|
// Parameters schema for web extraction
|
|
6
6
|
const WebExtractToolParamsSchema = z.object({
|
|
@@ -93,16 +93,9 @@ export class WebExtractTool extends ToolBubble {
|
|
|
93
93
|
}
|
|
94
94
|
async performAction(context) {
|
|
95
95
|
void context; // Context available but not currently used
|
|
96
|
-
const { url, prompt, schema, timeout } = this.params;
|
|
96
|
+
const { url, prompt, schema, timeout, credentials } = this.params;
|
|
97
97
|
const startTime = Date.now();
|
|
98
98
|
try {
|
|
99
|
-
// Get Firecrawl API key from credentials
|
|
100
|
-
const apiKey = this.params.credentials?.FIRECRAWL_API_KEY;
|
|
101
|
-
if (!apiKey) {
|
|
102
|
-
throw new Error('FIRECRAWL_API_KEY is required but not provided in credentials');
|
|
103
|
-
}
|
|
104
|
-
// Initialize Firecrawl client
|
|
105
|
-
const firecrawl = new Firecrawl({ apiKey });
|
|
106
99
|
console.log('[WebExtractTool] Extracting data from URL:', url);
|
|
107
100
|
console.log('[WebExtractTool] Using prompt:', prompt.substring(0, 100) + '...');
|
|
108
101
|
console.log('[WebExtractTool] Expected schema:', schema.substring(0, 200) + '...');
|
|
@@ -119,22 +112,29 @@ export class WebExtractTool extends ToolBubble {
|
|
|
119
112
|
urls: [url],
|
|
120
113
|
prompt,
|
|
121
114
|
schema: parsedSchema,
|
|
122
|
-
timeout: timeout
|
|
115
|
+
timeout: timeout || 30000, // Timeout in milliseconds (default 30s)
|
|
116
|
+
};
|
|
117
|
+
// Initialize Firecrawl bubble
|
|
118
|
+
const firecrawlParams = {
|
|
119
|
+
operation: 'extract',
|
|
120
|
+
credentials,
|
|
121
|
+
...extractOptions,
|
|
123
122
|
};
|
|
123
|
+
const firecrawl = new FirecrawlBubble(firecrawlParams, this.context, 'web_extract_tool_firecrawl');
|
|
124
124
|
// Execute extraction
|
|
125
|
-
const response = await firecrawl.
|
|
125
|
+
const response = await firecrawl.action();
|
|
126
126
|
// Handle the response
|
|
127
|
-
if (!response || typeof response !== 'object') {
|
|
127
|
+
if (!response.data || typeof response.data !== 'object') {
|
|
128
128
|
throw new Error('Invalid response from Firecrawl extract API');
|
|
129
129
|
}
|
|
130
130
|
// Check if extraction was successful
|
|
131
|
-
if (response.success === false || response.status === 'failed') {
|
|
131
|
+
if (response.success === false || response.data.status === 'failed') {
|
|
132
132
|
throw new Error(response.error || 'Extraction failed');
|
|
133
133
|
}
|
|
134
134
|
// Extract the data from the response
|
|
135
135
|
let extractedData = {};
|
|
136
|
-
if (response.data) {
|
|
137
|
-
extractedData = response.data;
|
|
136
|
+
if (response.data.data) {
|
|
137
|
+
extractedData = response.data.data;
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
140
|
throw new Error('No data returned from extraction');
|
|
@@ -144,8 +144,8 @@ export class WebExtractTool extends ToolBubble {
|
|
|
144
144
|
const metadata = {
|
|
145
145
|
extractionTime,
|
|
146
146
|
};
|
|
147
|
-
if (response.sources) {
|
|
148
|
-
metadata.sources = response.sources;
|
|
147
|
+
if (response.data.sources) {
|
|
148
|
+
metadata.sources = response.data.sources;
|
|
149
149
|
}
|
|
150
150
|
console.log('[WebExtractTool] Successfully extracted data from:', url);
|
|
151
151
|
console.log('[WebExtractTool] Extraction time:', extractionTime, 'ms');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-extract-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-extract-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,
|
|
1
|
+
{"version":3,"file":"web-extract-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-extract-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,66 +6,17 @@ declare const WebScrapeToolParamsSchema: z.ZodObject<{
|
|
|
6
6
|
url: z.ZodString;
|
|
7
7
|
format: z.ZodDefault<z.ZodEnum<["markdown"]>>;
|
|
8
8
|
onlyMainContent: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
-
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
10
|
-
type: z.ZodEnum<["wait", "click", "write", "press", "scroll", "executeJavascript"]>;
|
|
11
|
-
milliseconds: z.ZodOptional<z.ZodNumber>;
|
|
12
|
-
selector: z.ZodOptional<z.ZodString>;
|
|
13
|
-
text: z.ZodOptional<z.ZodString>;
|
|
14
|
-
key: z.ZodOptional<z.ZodString>;
|
|
15
|
-
direction: z.ZodOptional<z.ZodEnum<["up", "down"]>>;
|
|
16
|
-
script: z.ZodOptional<z.ZodString>;
|
|
17
|
-
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
19
|
-
text?: string | undefined;
|
|
20
|
-
script?: string | undefined;
|
|
21
|
-
key?: string | undefined;
|
|
22
|
-
milliseconds?: number | undefined;
|
|
23
|
-
selector?: string | undefined;
|
|
24
|
-
direction?: "up" | "down" | undefined;
|
|
25
|
-
}, {
|
|
26
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
27
|
-
text?: string | undefined;
|
|
28
|
-
script?: string | undefined;
|
|
29
|
-
key?: string | undefined;
|
|
30
|
-
milliseconds?: number | undefined;
|
|
31
|
-
selector?: string | undefined;
|
|
32
|
-
direction?: "up" | "down" | undefined;
|
|
33
|
-
}>, "many">>;
|
|
34
|
-
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
35
|
-
waitFor: z.ZodDefault<z.ZodNumber>;
|
|
36
9
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
37
10
|
}, "strip", z.ZodTypeAny, {
|
|
38
11
|
format: "markdown";
|
|
39
12
|
url: string;
|
|
40
13
|
onlyMainContent: boolean;
|
|
41
|
-
waitFor: number;
|
|
42
14
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
43
|
-
headers?: Record<string, string> | undefined;
|
|
44
|
-
actions?: {
|
|
45
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
46
|
-
text?: string | undefined;
|
|
47
|
-
script?: string | undefined;
|
|
48
|
-
key?: string | undefined;
|
|
49
|
-
milliseconds?: number | undefined;
|
|
50
|
-
selector?: string | undefined;
|
|
51
|
-
direction?: "up" | "down" | undefined;
|
|
52
|
-
}[] | undefined;
|
|
53
15
|
}, {
|
|
54
16
|
url: string;
|
|
55
17
|
format?: "markdown" | undefined;
|
|
56
18
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
57
|
-
headers?: Record<string, string> | undefined;
|
|
58
|
-
actions?: {
|
|
59
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
60
|
-
text?: string | undefined;
|
|
61
|
-
script?: string | undefined;
|
|
62
|
-
key?: string | undefined;
|
|
63
|
-
milliseconds?: number | undefined;
|
|
64
|
-
selector?: string | undefined;
|
|
65
|
-
direction?: "up" | "down" | undefined;
|
|
66
|
-
}[] | undefined;
|
|
67
19
|
onlyMainContent?: boolean | undefined;
|
|
68
|
-
waitFor?: number | undefined;
|
|
69
20
|
}>;
|
|
70
21
|
declare const WebScrapeToolResultSchema: z.ZodObject<{
|
|
71
22
|
content: z.ZodString;
|
|
@@ -74,6 +25,7 @@ declare const WebScrapeToolResultSchema: z.ZodObject<{
|
|
|
74
25
|
format: z.ZodString;
|
|
75
26
|
success: z.ZodBoolean;
|
|
76
27
|
error: z.ZodString;
|
|
28
|
+
creditsUsed: z.ZodNumber;
|
|
77
29
|
metadata: z.ZodOptional<z.ZodObject<{
|
|
78
30
|
statusCode: z.ZodOptional<z.ZodNumber>;
|
|
79
31
|
loadTime: z.ZodOptional<z.ZodNumber>;
|
|
@@ -87,10 +39,11 @@ declare const WebScrapeToolResultSchema: z.ZodObject<{
|
|
|
87
39
|
}, "strip", z.ZodTypeAny, {
|
|
88
40
|
format: string;
|
|
89
41
|
title: string;
|
|
42
|
+
error: string;
|
|
43
|
+
success: boolean;
|
|
90
44
|
content: string;
|
|
91
45
|
url: string;
|
|
92
|
-
|
|
93
|
-
error: string;
|
|
46
|
+
creditsUsed: number;
|
|
94
47
|
metadata?: {
|
|
95
48
|
statusCode?: number | undefined;
|
|
96
49
|
loadTime?: number | undefined;
|
|
@@ -98,10 +51,11 @@ declare const WebScrapeToolResultSchema: z.ZodObject<{
|
|
|
98
51
|
}, {
|
|
99
52
|
format: string;
|
|
100
53
|
title: string;
|
|
54
|
+
error: string;
|
|
55
|
+
success: boolean;
|
|
101
56
|
content: string;
|
|
102
57
|
url: string;
|
|
103
|
-
|
|
104
|
-
error: string;
|
|
58
|
+
creditsUsed: number;
|
|
105
59
|
metadata?: {
|
|
106
60
|
statusCode?: number | undefined;
|
|
107
61
|
loadTime?: number | undefined;
|
|
@@ -116,66 +70,17 @@ export declare class WebScrapeTool extends ToolBubble<WebScrapeToolParams, WebSc
|
|
|
116
70
|
url: z.ZodString;
|
|
117
71
|
format: z.ZodDefault<z.ZodEnum<["markdown"]>>;
|
|
118
72
|
onlyMainContent: z.ZodDefault<z.ZodBoolean>;
|
|
119
|
-
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
120
|
-
type: z.ZodEnum<["wait", "click", "write", "press", "scroll", "executeJavascript"]>;
|
|
121
|
-
milliseconds: z.ZodOptional<z.ZodNumber>;
|
|
122
|
-
selector: z.ZodOptional<z.ZodString>;
|
|
123
|
-
text: z.ZodOptional<z.ZodString>;
|
|
124
|
-
key: z.ZodOptional<z.ZodString>;
|
|
125
|
-
direction: z.ZodOptional<z.ZodEnum<["up", "down"]>>;
|
|
126
|
-
script: z.ZodOptional<z.ZodString>;
|
|
127
|
-
}, "strip", z.ZodTypeAny, {
|
|
128
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
129
|
-
text?: string | undefined;
|
|
130
|
-
script?: string | undefined;
|
|
131
|
-
key?: string | undefined;
|
|
132
|
-
milliseconds?: number | undefined;
|
|
133
|
-
selector?: string | undefined;
|
|
134
|
-
direction?: "up" | "down" | undefined;
|
|
135
|
-
}, {
|
|
136
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
137
|
-
text?: string | undefined;
|
|
138
|
-
script?: string | undefined;
|
|
139
|
-
key?: string | undefined;
|
|
140
|
-
milliseconds?: number | undefined;
|
|
141
|
-
selector?: string | undefined;
|
|
142
|
-
direction?: "up" | "down" | undefined;
|
|
143
|
-
}>, "many">>;
|
|
144
|
-
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
145
|
-
waitFor: z.ZodDefault<z.ZodNumber>;
|
|
146
73
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
147
74
|
}, "strip", z.ZodTypeAny, {
|
|
148
75
|
format: "markdown";
|
|
149
76
|
url: string;
|
|
150
77
|
onlyMainContent: boolean;
|
|
151
|
-
waitFor: number;
|
|
152
78
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
153
|
-
headers?: Record<string, string> | undefined;
|
|
154
|
-
actions?: {
|
|
155
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
156
|
-
text?: string | undefined;
|
|
157
|
-
script?: string | undefined;
|
|
158
|
-
key?: string | undefined;
|
|
159
|
-
milliseconds?: number | undefined;
|
|
160
|
-
selector?: string | undefined;
|
|
161
|
-
direction?: "up" | "down" | undefined;
|
|
162
|
-
}[] | undefined;
|
|
163
79
|
}, {
|
|
164
80
|
url: string;
|
|
165
81
|
format?: "markdown" | undefined;
|
|
166
82
|
credentials?: Partial<Record<CredentialType, string>> | undefined;
|
|
167
|
-
headers?: Record<string, string> | undefined;
|
|
168
|
-
actions?: {
|
|
169
|
-
type: "wait" | "click" | "write" | "press" | "scroll" | "executeJavascript";
|
|
170
|
-
text?: string | undefined;
|
|
171
|
-
script?: string | undefined;
|
|
172
|
-
key?: string | undefined;
|
|
173
|
-
milliseconds?: number | undefined;
|
|
174
|
-
selector?: string | undefined;
|
|
175
|
-
direction?: "up" | "down" | undefined;
|
|
176
|
-
}[] | undefined;
|
|
177
83
|
onlyMainContent?: boolean | undefined;
|
|
178
|
-
waitFor?: number | undefined;
|
|
179
84
|
}>;
|
|
180
85
|
static readonly resultSchema: z.ZodObject<{
|
|
181
86
|
content: z.ZodString;
|
|
@@ -184,6 +89,7 @@ export declare class WebScrapeTool extends ToolBubble<WebScrapeToolParams, WebSc
|
|
|
184
89
|
format: z.ZodString;
|
|
185
90
|
success: z.ZodBoolean;
|
|
186
91
|
error: z.ZodString;
|
|
92
|
+
creditsUsed: z.ZodNumber;
|
|
187
93
|
metadata: z.ZodOptional<z.ZodObject<{
|
|
188
94
|
statusCode: z.ZodOptional<z.ZodNumber>;
|
|
189
95
|
loadTime: z.ZodOptional<z.ZodNumber>;
|
|
@@ -197,10 +103,11 @@ export declare class WebScrapeTool extends ToolBubble<WebScrapeToolParams, WebSc
|
|
|
197
103
|
}, "strip", z.ZodTypeAny, {
|
|
198
104
|
format: string;
|
|
199
105
|
title: string;
|
|
106
|
+
error: string;
|
|
107
|
+
success: boolean;
|
|
200
108
|
content: string;
|
|
201
109
|
url: string;
|
|
202
|
-
|
|
203
|
-
error: string;
|
|
110
|
+
creditsUsed: number;
|
|
204
111
|
metadata?: {
|
|
205
112
|
statusCode?: number | undefined;
|
|
206
113
|
loadTime?: number | undefined;
|
|
@@ -208,16 +115,17 @@ export declare class WebScrapeTool extends ToolBubble<WebScrapeToolParams, WebSc
|
|
|
208
115
|
}, {
|
|
209
116
|
format: string;
|
|
210
117
|
title: string;
|
|
118
|
+
error: string;
|
|
119
|
+
success: boolean;
|
|
211
120
|
content: string;
|
|
212
121
|
url: string;
|
|
213
|
-
|
|
214
|
-
error: string;
|
|
122
|
+
creditsUsed: number;
|
|
215
123
|
metadata?: {
|
|
216
124
|
statusCode?: number | undefined;
|
|
217
125
|
loadTime?: number | undefined;
|
|
218
126
|
} | undefined;
|
|
219
127
|
}>;
|
|
220
|
-
static readonly shortDescription = "Scrapes content from a single web page
|
|
128
|
+
static readonly shortDescription = "Scrapes content from a single web page. Useful after web-search-tool to get the full content of a page. Also useful if you need to understand a site's structure or content.";
|
|
221
129
|
static readonly longDescription = "\n A simple and powerful web scraping tool that extracts content from any web page.\n \n Features:\n - Clean content extraction with main content focus\n - Multiple format support (markdown, html, rawHtml)\n - Fast and reliable using Firecrawl\n - Handles JavaScript-rendered pages\n - Optional browser automation for authentication flows\n - Custom headers support for session-based scraping\n - Requires FIRECRAWL_API_KEY credential\n \n Basic use cases:\n - Extract article content for analysis\n - Scrape product information from e-commerce sites\n - Get clean text from documentation pages\n - Extract data from any public web page\n \n Advanced use cases (with actions):\n - Login and scrape protected content\n - Navigate multi-step authentication flows\n - Interact with dynamic content requiring clicks/scrolls\n - Execute custom JavaScript for complex scenarios\n ";
|
|
222
130
|
static readonly alias = "scrape";
|
|
223
131
|
static readonly type = "tool";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-scrape-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-scrape-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAgC5E,QAAA,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"web-scrape-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/web-scrape-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAgC5E,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;EAiB7B,CAAC;AAGH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAGH,KAAK,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtE,KAAK,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtE,KAAK,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,qBAAa,aAAc,SAAQ,UAAU,CAC3C,mBAAmB,EACnB,mBAAmB,CACpB;IAEC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAqB;IAC3D,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;OAA6B;IACnD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA6B;IACzD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,kLACiJ;IACjL,MAAM,CAAC,QAAQ,CAAC,eAAe,m7BAuB7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;gBAG5B,MAAM,GAAE,wBAAsC,EAC9C,OAAO,CAAC,EAAE,aAAa;IAKnB,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAuHpD"}
|