@bubblelab/bubble-core 0.1.10 → 0.1.12
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 +803 -351
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +130 -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 +273 -61
- package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ai-agent.js +536 -405
- 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 +158 -13
- package/dist/bubbles/service-bubble/apify/apify.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/apify/apify.js +222 -37
- package/dist/bubbles/service-bubble/apify/apify.js.map +1 -1
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +542 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts +37 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js +203 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.js +593 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +518 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js +311 -0
- package/dist/bubbles/service-bubble/browserbase/browserbase.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/browserbase/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/browserbase/index.js +3 -0
- package/dist/bubbles/service-bubble/browserbase/index.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +1358 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.js +219 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +1604 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +194 -0
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/index.d.ts +3 -0
- package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/crustdata/index.js +3 -0
- package/dist/bubbles/service-bubble/crustdata/index.js.map +1 -0
- 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 +2393 -0
- package/dist/bubbles/service-bubble/github.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/github.js +1046 -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 +69 -68
- 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 +17 -5
- package/dist/bubbles/service-bubble/http.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/http.integration.flow.d.ts +49 -0
- package/dist/bubbles/service-bubble/http.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/http.integration.flow.js +425 -0
- package/dist/bubbles/service-bubble/http.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/http.js +47 -5
- 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 +30 -9
- 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 +1741 -798
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/slack.js +322 -28
- package/dist/bubbles/service-bubble/slack.js.map +1 -1
- package/dist/bubbles/service-bubble/storage.d.ts +26 -22
- package/dist/bubbles/service-bubble/storage.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/storage.js +45 -4
- 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/amazon-shopping-tool/amazon-shopping-tool.d.ts +494 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts +31 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js +100 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js +1301 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +473 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js +230 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.js.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts +3 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.js +3 -0
- package/dist/bubbles/tool-bubble/amazon-shopping-tool/index.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/company-enrichment-tool.d.ts +740 -0
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -0
- package/dist/bubbles/tool-bubble/company-enrichment-tool.js +350 -0
- package/dist/bubbles/tool-bubble/company-enrichment-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 +206 -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 +4 -2
- package/dist/bubbles/tool-bubble/instagram-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +830 -453
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/linkedin-tool.js +236 -14
- 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 +32 -17
- 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 +497 -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 +21 -113
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/web-scrape-tool.js +55 -73
- 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 +8 -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 +70 -70
- 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 +18 -18
- 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 +260 -77
- package/dist/index.d.ts +25 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -3
- package/dist/index.js.map +1 -1
- package/dist/logging/BubbleLogger.d.ts +55 -16
- package/dist/logging/BubbleLogger.d.ts.map +1 -1
- package/dist/logging/BubbleLogger.js +192 -77
- package/dist/logging/BubbleLogger.js.map +1 -1
- package/dist/logging/StreamingBubbleLogger.d.ts +21 -1
- package/dist/logging/StreamingBubbleLogger.d.ts.map +1 -1
- package/dist/logging/StreamingBubbleLogger.js +80 -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 +7 -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 +30 -23
- 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 +60 -10
- 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 +6 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-sheets.schema.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/google-sheets/google-sheets.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAWkB,CAAC;AAGhD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CkB,CAAC;AAgCrD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+VnC,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiLnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG3E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
package/dist/bubbles/service-bubble/{google-sheets.js → google-sheets/google-sheets.schema.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ServiceBubble } from '../../types/service-bubble-class.js';
|
|
3
2
|
import { CredentialType } from '@bubblelab/shared-schemas';
|
|
3
|
+
import { normalizeRange, sanitizeValues } from './google-sheets.utils.js';
|
|
4
4
|
// Define value range schema
|
|
5
|
-
const ValueRangeSchema = z
|
|
5
|
+
export const ValueRangeSchema = z
|
|
6
6
|
.object({
|
|
7
7
|
range: z.string().describe('The A1 notation range'),
|
|
8
8
|
majorDimension: z
|
|
@@ -15,7 +15,7 @@ const ValueRangeSchema = z
|
|
|
15
15
|
})
|
|
16
16
|
.describe('Range of values in a spreadsheet');
|
|
17
17
|
// Define spreadsheet info schema
|
|
18
|
-
const SpreadsheetInfoSchema = z
|
|
18
|
+
export const SpreadsheetInfoSchema = z
|
|
19
19
|
.object({
|
|
20
20
|
spreadsheetId: z.string().describe('Unique spreadsheet identifier'),
|
|
21
21
|
properties: z
|
|
@@ -58,8 +58,31 @@ const SpreadsheetInfoSchema = z
|
|
|
58
58
|
spreadsheetUrl: z.string().optional().describe('URL to the spreadsheet'),
|
|
59
59
|
})
|
|
60
60
|
.describe('Google Sheets spreadsheet information');
|
|
61
|
+
// Helper to create a range field with automatic normalization
|
|
62
|
+
// Uses transform instead of preprocess to preserve string input type
|
|
63
|
+
const createRangeField = (description) => z
|
|
64
|
+
.string()
|
|
65
|
+
.min(1, 'Range is required')
|
|
66
|
+
.transform((val) => normalizeRange(val))
|
|
67
|
+
.describe(description);
|
|
68
|
+
// Helper to create a values field with automatic sanitization
|
|
69
|
+
// Uses transform instead of preprocess to preserve array input type
|
|
70
|
+
// Input accepts any cell values (string, number, boolean, null, undefined, Date, etc.)
|
|
71
|
+
// Output is sanitized to only string, number, or boolean
|
|
72
|
+
const createValuesField = (description) => z
|
|
73
|
+
.array(z.array(z.unknown()))
|
|
74
|
+
.min(1, 'Values array cannot be empty')
|
|
75
|
+
.transform((val) => sanitizeValues(val))
|
|
76
|
+
.describe(description);
|
|
77
|
+
// Helper to create a ranges array field with automatic normalization
|
|
78
|
+
// Uses transform instead of preprocess to preserve string[] input type
|
|
79
|
+
const createRangesField = (description) => z
|
|
80
|
+
.array(z.string())
|
|
81
|
+
.min(1, 'At least one range is required')
|
|
82
|
+
.transform((val) => val.map((r) => normalizeRange(r)))
|
|
83
|
+
.describe(description);
|
|
61
84
|
// Define the parameters schema for Google Sheets operations
|
|
62
|
-
const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
85
|
+
export const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
63
86
|
// Read values operation
|
|
64
87
|
z.object({
|
|
65
88
|
operation: z.literal('read_values').describe('Read values from a range'),
|
|
@@ -67,10 +90,7 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
67
90
|
.string()
|
|
68
91
|
.min(1, 'Spreadsheet ID is required')
|
|
69
92
|
.describe('Google Sheets spreadsheet ID'),
|
|
70
|
-
range:
|
|
71
|
-
.string()
|
|
72
|
-
.min(1, 'Range is required')
|
|
73
|
-
.describe('A1 notation range (e.g., "Sheet1!A1:B10")'),
|
|
93
|
+
range: createRangeField('A1 notation range (e.g., "Sheet1!A1:B10" or "Sheet Name!A:G" - sheet names with spaces are automatically quoted)'),
|
|
74
94
|
major_dimension: z
|
|
75
95
|
.enum(['ROWS', 'COLUMNS'])
|
|
76
96
|
.optional()
|
|
@@ -98,14 +118,8 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
98
118
|
.string()
|
|
99
119
|
.min(1, 'Spreadsheet ID is required')
|
|
100
120
|
.describe('Google Sheets spreadsheet ID'),
|
|
101
|
-
range:
|
|
102
|
-
|
|
103
|
-
.min(1, 'Range is required')
|
|
104
|
-
.describe('A1 notation range (e.g., "Sheet1!A1:B10")'),
|
|
105
|
-
values: z
|
|
106
|
-
.array(z.array(z.union([z.string(), z.number(), z.boolean()])))
|
|
107
|
-
.min(1, 'Values array cannot be empty')
|
|
108
|
-
.describe('Data to write as array of arrays'),
|
|
121
|
+
range: createRangeField('A1 notation range (e.g., "Sheet1!A1:B10" or "Sheet Name!A:G" - sheet names with spaces are automatically quoted)'),
|
|
122
|
+
values: createValuesField('Data to write as array of arrays (null/undefined automatically converted to empty strings)'),
|
|
109
123
|
major_dimension: z
|
|
110
124
|
.enum(['ROWS', 'COLUMNS'])
|
|
111
125
|
.optional()
|
|
@@ -135,14 +149,8 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
135
149
|
.string()
|
|
136
150
|
.min(1, 'Spreadsheet ID is required')
|
|
137
151
|
.describe('Google Sheets spreadsheet ID'),
|
|
138
|
-
range:
|
|
139
|
-
|
|
140
|
-
.min(1, 'Range is required')
|
|
141
|
-
.describe('A1 notation range (e.g., "Sheet1!A1:B10")'),
|
|
142
|
-
values: z
|
|
143
|
-
.array(z.array(z.union([z.string(), z.number(), z.boolean()])))
|
|
144
|
-
.min(1, 'Values array cannot be empty')
|
|
145
|
-
.describe('Data to update as array of arrays'),
|
|
152
|
+
range: createRangeField('A1 notation range (e.g., "Sheet1!A1:B10" or "Sheet Name!A:G" - sheet names with spaces are automatically quoted)'),
|
|
153
|
+
values: createValuesField('Data to update as array of arrays (null/undefined automatically converted to empty strings)'),
|
|
146
154
|
major_dimension: z
|
|
147
155
|
.enum(['ROWS', 'COLUMNS'])
|
|
148
156
|
.optional()
|
|
@@ -172,14 +180,8 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
172
180
|
.string()
|
|
173
181
|
.min(1, 'Spreadsheet ID is required')
|
|
174
182
|
.describe('Google Sheets spreadsheet ID'),
|
|
175
|
-
range:
|
|
176
|
-
|
|
177
|
-
.min(1, 'Range is required')
|
|
178
|
-
.describe('A1 notation range to search for table (e.g., "Sheet1!A:A")'),
|
|
179
|
-
values: z
|
|
180
|
-
.array(z.array(z.union([z.string(), z.number(), z.boolean()])))
|
|
181
|
-
.min(1, 'Values array cannot be empty')
|
|
182
|
-
.describe('Data to append as array of arrays'),
|
|
183
|
+
range: createRangeField('A1 notation range to search for table (e.g., "Sheet1!A:A" or "Sheet Name!A:G" - sheet names with spaces are automatically quoted)'),
|
|
184
|
+
values: createValuesField('Data to append as array of arrays (null/undefined automatically converted to empty strings)'),
|
|
183
185
|
major_dimension: z
|
|
184
186
|
.enum(['ROWS', 'COLUMNS'])
|
|
185
187
|
.optional()
|
|
@@ -212,10 +214,7 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
212
214
|
.string()
|
|
213
215
|
.min(1, 'Spreadsheet ID is required')
|
|
214
216
|
.describe('Google Sheets spreadsheet ID'),
|
|
215
|
-
range:
|
|
216
|
-
.string()
|
|
217
|
-
.min(1, 'Range is required')
|
|
218
|
-
.describe('A1 notation range (e.g., "Sheet1!A1:B10")'),
|
|
217
|
+
range: createRangeField('A1 notation range (e.g., "Sheet1!A1:B10" or "Sheet Name!A:G" - sheet names with spaces are automatically quoted)'),
|
|
219
218
|
credentials: z
|
|
220
219
|
.record(z.nativeEnum(CredentialType), z.string())
|
|
221
220
|
.optional()
|
|
@@ -230,10 +229,7 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
230
229
|
.string()
|
|
231
230
|
.min(1, 'Spreadsheet ID is required')
|
|
232
231
|
.describe('Google Sheets spreadsheet ID'),
|
|
233
|
-
ranges:
|
|
234
|
-
.array(z.string())
|
|
235
|
-
.min(1, 'At least one range is required')
|
|
236
|
-
.describe('Array of A1 notation ranges'),
|
|
232
|
+
ranges: createRangesField('Array of A1 notation ranges (sheet names with spaces are automatically quoted)'),
|
|
237
233
|
major_dimension: z
|
|
238
234
|
.enum(['ROWS', 'COLUMNS'])
|
|
239
235
|
.optional()
|
|
@@ -265,10 +261,14 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
265
261
|
.describe('Google Sheets spreadsheet ID'),
|
|
266
262
|
value_ranges: z
|
|
267
263
|
.array(z.object({
|
|
268
|
-
range: z
|
|
264
|
+
range: z
|
|
265
|
+
.string()
|
|
266
|
+
.transform((val) => normalizeRange(val))
|
|
267
|
+
.describe('A1 notation range (sheet names with spaces are automatically quoted)'),
|
|
269
268
|
values: z
|
|
270
|
-
.array(z.array(z.
|
|
271
|
-
.
|
|
269
|
+
.array(z.array(z.unknown()))
|
|
270
|
+
.transform((val) => sanitizeValues(val))
|
|
271
|
+
.describe('Data values (null/undefined automatically converted to empty strings)'),
|
|
272
272
|
major_dimension: z
|
|
273
273
|
.enum(['ROWS', 'COLUMNS'])
|
|
274
274
|
.optional()
|
|
@@ -379,7 +379,7 @@ const GoogleSheetsParamsSchema = z.discriminatedUnion('operation', [
|
|
|
379
379
|
}),
|
|
380
380
|
]);
|
|
381
381
|
// Define result schemas for different operations
|
|
382
|
-
const GoogleSheetsResultSchema = z.discriminatedUnion('operation', [
|
|
382
|
+
export const GoogleSheetsResultSchema = z.discriminatedUnion('operation', [
|
|
383
383
|
z.object({
|
|
384
384
|
operation: z.literal('read_values').describe('Read values from a range'),
|
|
385
385
|
success: z.boolean().describe('Whether the operation was successful'),
|
|
@@ -537,368 +537,4 @@ const GoogleSheetsResultSchema = z.discriminatedUnion('operation', [
|
|
|
537
537
|
error: z.string().describe('Error message if operation failed'),
|
|
538
538
|
}),
|
|
539
539
|
]);
|
|
540
|
-
|
|
541
|
-
static type = 'service';
|
|
542
|
-
static service = 'google-sheets';
|
|
543
|
-
static authType = 'oauth';
|
|
544
|
-
static bubbleName = 'google-sheets';
|
|
545
|
-
static schema = GoogleSheetsParamsSchema;
|
|
546
|
-
static resultSchema = GoogleSheetsResultSchema;
|
|
547
|
-
static shortDescription = 'Google Sheets integration for spreadsheet operations';
|
|
548
|
-
static longDescription = `
|
|
549
|
-
Google Sheets service integration for comprehensive spreadsheet data management.
|
|
550
|
-
Use cases:
|
|
551
|
-
- Read and write spreadsheet data with flexible ranges
|
|
552
|
-
- Batch operations for efficient data processing
|
|
553
|
-
- Create and manage spreadsheets and sheets
|
|
554
|
-
- Clear and append data with various formatting options
|
|
555
|
-
- Handle formulas, formatted values, and raw data
|
|
556
|
-
|
|
557
|
-
Security Features:
|
|
558
|
-
- OAuth 2.0 authentication with Google
|
|
559
|
-
- Scoped access permissions for Google Sheets
|
|
560
|
-
- Secure data validation and sanitization
|
|
561
|
-
- User-controlled access to spreadsheet data
|
|
562
|
-
`;
|
|
563
|
-
static alias = 'sheets';
|
|
564
|
-
constructor(params = {
|
|
565
|
-
operation: 'read_values',
|
|
566
|
-
spreadsheet_id: '',
|
|
567
|
-
range: 'Sheet1!A1:B10',
|
|
568
|
-
}, context) {
|
|
569
|
-
super(params, context);
|
|
570
|
-
}
|
|
571
|
-
async testCredential() {
|
|
572
|
-
const credential = this.chooseCredential();
|
|
573
|
-
if (!credential) {
|
|
574
|
-
throw new Error('Google Sheets credentials are required');
|
|
575
|
-
}
|
|
576
|
-
try {
|
|
577
|
-
// Test the credentials by making a simple API call
|
|
578
|
-
const response = await fetch('https://sheets.googleapis.com/v4/spreadsheets/test', {
|
|
579
|
-
headers: {
|
|
580
|
-
Authorization: `Bearer ${credential}`,
|
|
581
|
-
'Content-Type': 'application/json',
|
|
582
|
-
},
|
|
583
|
-
});
|
|
584
|
-
// Even if the spreadsheet doesn't exist, a 404 with proper auth means credentials work
|
|
585
|
-
return response.status === 404 || response.ok;
|
|
586
|
-
}
|
|
587
|
-
catch {
|
|
588
|
-
return false;
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
async makeSheetsApiRequest(endpoint, method = 'GET', body, headers = {}) {
|
|
592
|
-
const url = endpoint.startsWith('https://')
|
|
593
|
-
? endpoint
|
|
594
|
-
: `https://sheets.googleapis.com/v4${endpoint}`;
|
|
595
|
-
const requestHeaders = {
|
|
596
|
-
Authorization: `Bearer ${this.chooseCredential()}`,
|
|
597
|
-
'Content-Type': 'application/json',
|
|
598
|
-
...headers,
|
|
599
|
-
};
|
|
600
|
-
const requestInit = {
|
|
601
|
-
method,
|
|
602
|
-
headers: requestHeaders,
|
|
603
|
-
};
|
|
604
|
-
if (body && method !== 'GET') {
|
|
605
|
-
requestInit.body = JSON.stringify(body);
|
|
606
|
-
}
|
|
607
|
-
const response = await fetch(url, requestInit);
|
|
608
|
-
if (!response.ok) {
|
|
609
|
-
const errorText = await response.text();
|
|
610
|
-
throw new Error(`Google Sheets API error: ${response.status} ${response.statusText} - ${errorText}`);
|
|
611
|
-
}
|
|
612
|
-
// Handle empty responses
|
|
613
|
-
const contentType = response.headers.get('content-type');
|
|
614
|
-
if (contentType && contentType.includes('application/json')) {
|
|
615
|
-
return await response.json();
|
|
616
|
-
}
|
|
617
|
-
else {
|
|
618
|
-
return await response.text();
|
|
619
|
-
}
|
|
620
|
-
}
|
|
621
|
-
async performAction(context) {
|
|
622
|
-
void context;
|
|
623
|
-
const { operation } = this.params;
|
|
624
|
-
try {
|
|
625
|
-
const result = await (async () => {
|
|
626
|
-
switch (operation) {
|
|
627
|
-
case 'read_values':
|
|
628
|
-
return await this.readValues(this.params);
|
|
629
|
-
case 'write_values':
|
|
630
|
-
return await this.writeValues(this.params);
|
|
631
|
-
case 'update_values':
|
|
632
|
-
return await this.updateValues(this.params);
|
|
633
|
-
case 'append_values':
|
|
634
|
-
return await this.appendValues(this.params);
|
|
635
|
-
case 'clear_values':
|
|
636
|
-
return await this.clearValues(this.params);
|
|
637
|
-
case 'batch_read_values':
|
|
638
|
-
return await this.batchReadValues(this.params);
|
|
639
|
-
case 'batch_update_values':
|
|
640
|
-
return await this.batchUpdateValues(this.params);
|
|
641
|
-
case 'get_spreadsheet_info':
|
|
642
|
-
return await this.getSpreadsheetInfo(this.params);
|
|
643
|
-
case 'create_spreadsheet':
|
|
644
|
-
return await this.createSpreadsheet(this.params);
|
|
645
|
-
case 'add_sheet':
|
|
646
|
-
return await this.addSheet(this.params);
|
|
647
|
-
case 'delete_sheet':
|
|
648
|
-
return await this.deleteSheet(this.params);
|
|
649
|
-
default:
|
|
650
|
-
throw new Error(`Unsupported operation: ${operation}`);
|
|
651
|
-
}
|
|
652
|
-
})();
|
|
653
|
-
return result;
|
|
654
|
-
}
|
|
655
|
-
catch (error) {
|
|
656
|
-
return {
|
|
657
|
-
operation,
|
|
658
|
-
success: false,
|
|
659
|
-
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
660
|
-
};
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
async readValues(params) {
|
|
664
|
-
const { spreadsheet_id, range, major_dimension, value_render_option, date_time_render_option, } = params;
|
|
665
|
-
const queryParams = new URLSearchParams({
|
|
666
|
-
majorDimension: major_dimension || 'ROWS',
|
|
667
|
-
valueRenderOption: value_render_option || 'FORMATTED_VALUE',
|
|
668
|
-
dateTimeRenderOption: date_time_render_option || 'SERIAL_NUMBER',
|
|
669
|
-
});
|
|
670
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values/${encodeURIComponent(range)}?${queryParams.toString()}`);
|
|
671
|
-
return {
|
|
672
|
-
operation: 'read_values',
|
|
673
|
-
success: true,
|
|
674
|
-
range: response.range,
|
|
675
|
-
values: response.values || [],
|
|
676
|
-
major_dimension: response.majorDimension,
|
|
677
|
-
error: '',
|
|
678
|
-
};
|
|
679
|
-
}
|
|
680
|
-
async writeValues(params) {
|
|
681
|
-
const { spreadsheet_id, range, values, major_dimension, value_input_option, include_values_in_response, } = params;
|
|
682
|
-
const queryParams = new URLSearchParams({
|
|
683
|
-
valueInputOption: value_input_option || 'USER_ENTERED',
|
|
684
|
-
includeValuesInResponse: include_values_in_response?.toString() || 'false',
|
|
685
|
-
});
|
|
686
|
-
const body = {
|
|
687
|
-
range,
|
|
688
|
-
majorDimension: major_dimension,
|
|
689
|
-
values,
|
|
690
|
-
};
|
|
691
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values/${encodeURIComponent(range)}?${queryParams.toString()}`, 'PUT', body);
|
|
692
|
-
return {
|
|
693
|
-
operation: 'write_values',
|
|
694
|
-
success: true,
|
|
695
|
-
updated_range: response.updatedRange,
|
|
696
|
-
updated_rows: response.updatedRows,
|
|
697
|
-
updated_columns: response.updatedColumns,
|
|
698
|
-
updated_cells: response.updatedCells,
|
|
699
|
-
updated_data: response.updatedData,
|
|
700
|
-
error: '',
|
|
701
|
-
};
|
|
702
|
-
}
|
|
703
|
-
async updateValues(params) {
|
|
704
|
-
const { spreadsheet_id, range, values, major_dimension, value_input_option, include_values_in_response, } = params;
|
|
705
|
-
const queryParams = new URLSearchParams({
|
|
706
|
-
valueInputOption: value_input_option || 'USER_ENTERED',
|
|
707
|
-
includeValuesInResponse: include_values_in_response?.toString() || 'false',
|
|
708
|
-
});
|
|
709
|
-
const body = {
|
|
710
|
-
range,
|
|
711
|
-
majorDimension: major_dimension,
|
|
712
|
-
values,
|
|
713
|
-
};
|
|
714
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values/${encodeURIComponent(range)}?${queryParams.toString()}`, 'PUT', body);
|
|
715
|
-
return {
|
|
716
|
-
operation: 'update_values',
|
|
717
|
-
success: true,
|
|
718
|
-
updated_range: response.updatedRange,
|
|
719
|
-
updated_rows: response.updatedRows,
|
|
720
|
-
updated_columns: response.updatedColumns,
|
|
721
|
-
updated_cells: response.updatedCells,
|
|
722
|
-
updated_data: response.updatedData,
|
|
723
|
-
error: '',
|
|
724
|
-
};
|
|
725
|
-
}
|
|
726
|
-
async appendValues(params) {
|
|
727
|
-
const { spreadsheet_id, range, values, major_dimension, value_input_option, insert_data_option, include_values_in_response, } = params;
|
|
728
|
-
const queryParams = new URLSearchParams({
|
|
729
|
-
valueInputOption: value_input_option || 'USER_ENTERED',
|
|
730
|
-
insertDataOption: insert_data_option || 'INSERT_ROWS',
|
|
731
|
-
includeValuesInResponse: include_values_in_response?.toString() || 'false',
|
|
732
|
-
});
|
|
733
|
-
const body = {
|
|
734
|
-
range,
|
|
735
|
-
majorDimension: major_dimension,
|
|
736
|
-
values,
|
|
737
|
-
};
|
|
738
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values/${encodeURIComponent(range)}:append?${queryParams.toString()}`, 'POST', body);
|
|
739
|
-
return {
|
|
740
|
-
operation: 'append_values',
|
|
741
|
-
success: true,
|
|
742
|
-
table_range: response.tableRange,
|
|
743
|
-
updated_range: response.updates?.updatedRange,
|
|
744
|
-
updated_rows: response.updates?.updatedRows,
|
|
745
|
-
updated_columns: response.updates?.updatedColumns,
|
|
746
|
-
updated_cells: response.updates?.updatedCells,
|
|
747
|
-
error: '',
|
|
748
|
-
};
|
|
749
|
-
}
|
|
750
|
-
async clearValues(params) {
|
|
751
|
-
const { spreadsheet_id, range } = params;
|
|
752
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values/${encodeURIComponent(range)}:clear`, 'POST', {});
|
|
753
|
-
return {
|
|
754
|
-
operation: 'clear_values',
|
|
755
|
-
success: true,
|
|
756
|
-
cleared_range: response.clearedRange,
|
|
757
|
-
error: '',
|
|
758
|
-
};
|
|
759
|
-
}
|
|
760
|
-
async batchReadValues(params) {
|
|
761
|
-
const { spreadsheet_id, ranges, major_dimension, value_render_option, date_time_render_option, } = params;
|
|
762
|
-
const queryParams = new URLSearchParams({
|
|
763
|
-
majorDimension: major_dimension || 'ROWS',
|
|
764
|
-
valueRenderOption: value_render_option || 'FORMATTED_VALUE',
|
|
765
|
-
dateTimeRenderOption: date_time_render_option || 'SERIAL_NUMBER',
|
|
766
|
-
});
|
|
767
|
-
// Add multiple ranges
|
|
768
|
-
ranges.forEach((range) => queryParams.append('ranges', range));
|
|
769
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values:batchGet?${queryParams.toString()}`);
|
|
770
|
-
return {
|
|
771
|
-
operation: 'batch_read_values',
|
|
772
|
-
success: true,
|
|
773
|
-
value_ranges: response.valueRanges || [],
|
|
774
|
-
error: '',
|
|
775
|
-
};
|
|
776
|
-
}
|
|
777
|
-
async batchUpdateValues(params) {
|
|
778
|
-
const { spreadsheet_id, value_ranges, value_input_option, include_values_in_response, } = params;
|
|
779
|
-
const body = {
|
|
780
|
-
valueInputOption: value_input_option,
|
|
781
|
-
includeValuesInResponse: include_values_in_response,
|
|
782
|
-
data: value_ranges.map((vr) => ({
|
|
783
|
-
range: vr.range,
|
|
784
|
-
majorDimension: vr.major_dimension,
|
|
785
|
-
values: vr.values,
|
|
786
|
-
})),
|
|
787
|
-
};
|
|
788
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}/values:batchUpdate`, 'POST', body);
|
|
789
|
-
return {
|
|
790
|
-
operation: 'batch_update_values',
|
|
791
|
-
success: true,
|
|
792
|
-
total_updated_rows: response.totalUpdatedRows,
|
|
793
|
-
total_updated_columns: response.totalUpdatedColumns,
|
|
794
|
-
total_updated_cells: response.totalUpdatedCells,
|
|
795
|
-
total_updated_sheets: response.totalUpdatedSheets,
|
|
796
|
-
responses: response.responses?.map((r) => ({
|
|
797
|
-
updated_range: r.updatedRange,
|
|
798
|
-
updated_rows: r.updatedRows,
|
|
799
|
-
updated_columns: r.updatedColumns,
|
|
800
|
-
updated_cells: r.updatedCells,
|
|
801
|
-
})),
|
|
802
|
-
error: '',
|
|
803
|
-
};
|
|
804
|
-
}
|
|
805
|
-
async getSpreadsheetInfo(params) {
|
|
806
|
-
const { spreadsheet_id, include_grid_data } = params;
|
|
807
|
-
const queryParams = new URLSearchParams();
|
|
808
|
-
if (include_grid_data) {
|
|
809
|
-
queryParams.set('includeGridData', 'true');
|
|
810
|
-
}
|
|
811
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}?${queryParams.toString()}`);
|
|
812
|
-
return {
|
|
813
|
-
operation: 'get_spreadsheet_info',
|
|
814
|
-
success: true,
|
|
815
|
-
spreadsheet: response,
|
|
816
|
-
error: '',
|
|
817
|
-
};
|
|
818
|
-
}
|
|
819
|
-
async createSpreadsheet(params) {
|
|
820
|
-
const { title, sheet_titles } = params;
|
|
821
|
-
if (!sheet_titles) {
|
|
822
|
-
throw new Error('Sheet titles are required');
|
|
823
|
-
}
|
|
824
|
-
const body = {
|
|
825
|
-
properties: {
|
|
826
|
-
title,
|
|
827
|
-
},
|
|
828
|
-
sheets: sheet_titles.map((sheetTitle, index) => ({
|
|
829
|
-
properties: {
|
|
830
|
-
title: sheetTitle,
|
|
831
|
-
index,
|
|
832
|
-
sheetType: 'GRID',
|
|
833
|
-
gridProperties: {
|
|
834
|
-
rowCount: 1000,
|
|
835
|
-
columnCount: 26,
|
|
836
|
-
},
|
|
837
|
-
},
|
|
838
|
-
})),
|
|
839
|
-
};
|
|
840
|
-
const response = await this.makeSheetsApiRequest('/spreadsheets', 'POST', body);
|
|
841
|
-
return {
|
|
842
|
-
operation: 'create_spreadsheet',
|
|
843
|
-
success: true,
|
|
844
|
-
spreadsheet: response,
|
|
845
|
-
error: '',
|
|
846
|
-
};
|
|
847
|
-
}
|
|
848
|
-
async addSheet(params) {
|
|
849
|
-
const { spreadsheet_id, sheet_title, row_count, column_count } = params;
|
|
850
|
-
const body = {
|
|
851
|
-
requests: [
|
|
852
|
-
{
|
|
853
|
-
addSheet: {
|
|
854
|
-
properties: {
|
|
855
|
-
title: sheet_title,
|
|
856
|
-
sheetType: 'GRID',
|
|
857
|
-
gridProperties: {
|
|
858
|
-
rowCount: row_count,
|
|
859
|
-
columnCount: column_count,
|
|
860
|
-
},
|
|
861
|
-
},
|
|
862
|
-
},
|
|
863
|
-
},
|
|
864
|
-
],
|
|
865
|
-
};
|
|
866
|
-
const response = await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}:batchUpdate`, 'POST', body);
|
|
867
|
-
const addSheetResponse = response.replies?.[0]?.addSheet;
|
|
868
|
-
return {
|
|
869
|
-
operation: 'add_sheet',
|
|
870
|
-
success: true,
|
|
871
|
-
sheet_id: addSheetResponse?.properties?.sheetId,
|
|
872
|
-
sheet_title: addSheetResponse?.properties?.title,
|
|
873
|
-
error: '',
|
|
874
|
-
};
|
|
875
|
-
}
|
|
876
|
-
async deleteSheet(params) {
|
|
877
|
-
const { spreadsheet_id, sheet_id } = params;
|
|
878
|
-
const body = {
|
|
879
|
-
requests: [
|
|
880
|
-
{
|
|
881
|
-
deleteSheet: {
|
|
882
|
-
sheetId: sheet_id,
|
|
883
|
-
},
|
|
884
|
-
},
|
|
885
|
-
],
|
|
886
|
-
};
|
|
887
|
-
await this.makeSheetsApiRequest(`/spreadsheets/${spreadsheet_id}:batchUpdate`, 'POST', body);
|
|
888
|
-
return {
|
|
889
|
-
operation: 'delete_sheet',
|
|
890
|
-
success: true,
|
|
891
|
-
deleted_sheet_id: sheet_id,
|
|
892
|
-
error: '',
|
|
893
|
-
};
|
|
894
|
-
}
|
|
895
|
-
chooseCredential() {
|
|
896
|
-
const { credentials } = this.params;
|
|
897
|
-
if (!credentials || typeof credentials !== 'object') {
|
|
898
|
-
throw new Error('No Google Sheets credentials provided');
|
|
899
|
-
}
|
|
900
|
-
// Google Sheets bubble uses GOOGLE_SHEETS_CRED credentials
|
|
901
|
-
return credentials[CredentialType.GOOGLE_SHEETS_CRED];
|
|
902
|
-
}
|
|
903
|
-
}
|
|
904
|
-
//# sourceMappingURL=google-sheets.js.map
|
|
540
|
+
//# sourceMappingURL=google-sheets.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-sheets.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/google-sheets/google-sheets.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for Google Sheets bubble
|
|
3
|
+
* Handles range normalization, value sanitization, and error handling
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Normalizes A1 notation range to ensure sheet names with spaces/special chars are quoted
|
|
7
|
+
*
|
|
8
|
+
* Examples:
|
|
9
|
+
* "Sheet1!A1:B10" -> "Sheet1!A1:B10"
|
|
10
|
+
* "Kaus Mode Landing zone!A:G" -> "'Kaus Mode Landing zone'!A:G"
|
|
11
|
+
* "'Sheet Name'!A1" -> "'Sheet Name'!A1" (already quoted, no change)
|
|
12
|
+
* "Sheet1!A1" -> "Sheet1!A1" (no sheet name change needed)
|
|
13
|
+
*
|
|
14
|
+
* @param range - A1 notation range string
|
|
15
|
+
* @returns Normalized range with proper quoting
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeRange(range: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Validates A1 notation range format
|
|
20
|
+
* Returns normalized range or throws descriptive error
|
|
21
|
+
*
|
|
22
|
+
* @param range - A1 notation range string
|
|
23
|
+
* @returns Normalized and validated range
|
|
24
|
+
* @throws Error if range format is invalid
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateAndNormalizeRange(range: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Sanitizes values array by converting null/undefined to empty strings
|
|
29
|
+
* This ensures Google Sheets API compatibility (only accepts string | number | boolean)
|
|
30
|
+
*
|
|
31
|
+
* Also handles Date objects by converting them to ISO strings
|
|
32
|
+
*
|
|
33
|
+
* @param values - Values array (may contain null/undefined/Date objects)
|
|
34
|
+
* @returns Sanitized array with only string | number | boolean values
|
|
35
|
+
*/
|
|
36
|
+
export declare function sanitizeValues(values: unknown): Array<Array<string | number | boolean>>;
|
|
37
|
+
export declare function enhanceErrorMessage(errorText: string, status: number, statusText: string, spreadsheetId?: string, range?: string): string;
|
|
38
|
+
//# sourceMappingURL=google-sheets.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-sheets.utils.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/google-sheets/google-sheets.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoCpD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkB/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,GACd,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAiCzC;AAiCD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAsDR"}
|