@oomol-lab/open-connector 1.9.1 → 1.9.2
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/assets/open-connector/catalog/apps/aisa.json +1946 -56
- package/assets/open-connector/catalog/apps/akta.json +1181 -0
- package/assets/open-connector/catalog/apps/asana.json +110 -0
- package/assets/open-connector/catalog/apps/calendly.json +103 -0
- package/assets/open-connector/catalog/apps/clickup.json +104 -0
- package/assets/open-connector/catalog/apps/cloro.json +9289 -0
- package/assets/open-connector/catalog/apps/contextdev.json +20670 -0
- package/assets/open-connector/catalog/apps/deepseek.json +177 -0
- package/assets/open-connector/catalog/apps/defillama.json +23747 -0
- package/assets/open-connector/catalog/apps/fireflies.json +103 -0
- package/assets/open-connector/catalog/apps/fundable.json +7926 -0
- package/assets/open-connector/catalog/apps/intercom.json +110 -0
- package/assets/open-connector/catalog/apps/jira.json +110 -0
- package/assets/open-connector/catalog/apps/keenable.json +235 -0
- package/assets/open-connector/catalog/apps/kolsprite_mcp.json +1227 -0
- package/assets/open-connector/catalog/apps/litescrape.json +52514 -0
- package/assets/open-connector/catalog/apps/magichour.json +5926 -0
- package/assets/open-connector/catalog/apps/minimax.json +24 -14
- package/assets/open-connector/catalog/apps/notion.json +731 -76
- package/assets/open-connector/catalog/apps/octen.json +5248 -0
- package/assets/open-connector/catalog/apps/openrouter.json +10 -0
- package/assets/open-connector/catalog/apps/orbit.json +3574 -0
- package/assets/open-connector/catalog/apps/pandadoc.json +68 -0
- package/assets/open-connector/catalog/apps/pipedrive.json +86 -0
- package/assets/open-connector/catalog/apps/ploid.json +9802 -0
- package/assets/open-connector/catalog/apps/resend.json +100 -0
- package/assets/open-connector/catalog/apps/salesforce.json +2487 -119
- package/assets/open-connector/catalog/apps/saperly.json +7056 -0
- package/assets/open-connector/catalog/apps/search1api.json +2382 -0
- package/assets/open-connector/catalog/apps/sentry.json +129 -0
- package/assets/open-connector/catalog/apps/slackbot.json +230 -1
- package/assets/open-connector/catalog/apps/surf.json +11378 -0
- package/assets/open-connector/catalog/apps/tally.json +113 -0
- package/assets/open-connector/catalog/apps/tinyfish.json +6154 -0
- package/assets/open-connector/catalog/apps/typeform.json +90 -1
- package/assets/open-connector/catalog/apps/vaquill.json +5944 -0
- package/assets/open-connector/catalog/apps/vercel.json +110 -0
- package/assets/open-connector/catalog/apps/weixin_store.json +1256 -7
- package/assets/open-connector/catalog/apps/zoom.json +112 -0
- package/assets/open-connector/catalog/apps-index.json +1 -1
- package/package.json +1 -1
- package/src/core/json-schema.d.ts +11 -3
- package/src/core/json-schema.js +13 -3
- package/src/providers/action-contracts.generated.d.ts +23 -6
- package/src/providers/aisa/executors.js +238 -6
- package/src/providers/aisa/firecrawl-actions.d.ts +9 -0
- package/src/providers/aisa/firecrawl-actions.js +115 -0
- package/src/providers/akta/actions.d.ts +9 -0
- package/src/providers/akta/actions.js +420 -0
- package/src/providers/akta/executors.d.ts +4 -0
- package/src/providers/akta/executors.js +103 -0
- package/src/providers/asana/executors.d.ts +2 -0
- package/src/providers/asana/executors.js +2 -0
- package/src/providers/asana/trigger-on-task-event.d.ts +2 -0
- package/src/providers/asana/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/asana/trigger-on-task-event.definition.js +42 -0
- package/src/providers/asana/trigger-on-task-event.js +160 -0
- package/src/providers/calendly/executors.d.ts +2 -0
- package/src/providers/calendly/executors.js +2 -0
- package/src/providers/calendly/trigger-on-booking-event.d.ts +2 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.d.ts +5 -0
- package/src/providers/calendly/trigger-on-booking-event.definition.js +42 -0
- package/src/providers/calendly/trigger-on-booking-event.js +144 -0
- package/src/providers/clickup/executors.d.ts +2 -0
- package/src/providers/clickup/executors.js +2 -0
- package/src/providers/clickup/trigger-on-task-event.d.ts +2 -0
- package/src/providers/clickup/trigger-on-task-event.definition.d.ts +4 -0
- package/src/providers/clickup/trigger-on-task-event.definition.js +41 -0
- package/src/providers/clickup/trigger-on-task-event.js +94 -0
- package/src/providers/cloro/actions.d.ts +12 -0
- package/src/providers/cloro/actions.js +155 -0
- package/src/providers/cloro/executors.d.ts +4 -0
- package/src/providers/cloro/executors.js +67 -0
- package/src/providers/cloro/inputs.d.ts +10 -0
- package/src/providers/cloro/inputs.js +680 -0
- package/src/providers/contextdev/actions.d.ts +14 -0
- package/src/providers/contextdev/actions.js +647 -0
- package/src/providers/contextdev/executors.d.ts +4 -0
- package/src/providers/contextdev/executors.js +109 -0
- package/src/providers/contextdev/files.d.ts +3 -0
- package/src/providers/contextdev/files.js +49 -0
- package/src/providers/contextdev/input-schemas.d.ts +49 -0
- package/src/providers/contextdev/input-schemas.js +3082 -0
- package/src/providers/contextdev/output-schemas.d.ts +49 -0
- package/src/providers/contextdev/output-schemas.js +1599 -0
- package/src/providers/deepseek/executors.d.ts +0 -5
- package/src/providers/deepseek/executors.js +38 -25
- package/src/providers/defillama/actions.d.ts +24 -0
- package/src/providers/defillama/actions.js +24 -0
- package/src/providers/defillama/dimensions-definitions.d.ts +2 -0
- package/src/providers/defillama/dimensions-definitions.js +1387 -0
- package/src/providers/defillama/ecosystem-definitions.d.ts +2 -0
- package/src/providers/defillama/ecosystem-definitions.js +758 -0
- package/src/providers/defillama/equities-definitions.d.ts +2 -0
- package/src/providers/defillama/equities-definitions.js +733 -0
- package/src/providers/defillama/executors.d.ts +4 -0
- package/src/providers/defillama/executors.js +196 -0
- package/src/providers/defillama/markets-definitions.d.ts +2 -0
- package/src/providers/defillama/markets-definitions.js +624 -0
- package/src/providers/defillama/shared-schemas.d.ts +71 -0
- package/src/providers/defillama/shared-schemas.js +157 -0
- package/src/providers/defillama/tvl-definitions.d.ts +2 -0
- package/src/providers/defillama/tvl-definitions.js +546 -0
- package/src/providers/defillama/yields-definitions.d.ts +2 -0
- package/src/providers/defillama/yields-definitions.js +766 -0
- package/src/providers/feishu_app_bot/trigger-on-event.js +2 -0
- package/src/providers/fireflies/executors.d.ts +2 -0
- package/src/providers/fireflies/executors.js +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.d.ts +2 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.d.ts +4 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.definition.js +44 -0
- package/src/providers/fireflies/trigger-on-meeting-ready.js +60 -0
- package/src/providers/fundable/actions.d.ts +8 -0
- package/src/providers/fundable/actions.js +1515 -0
- package/src/providers/fundable/executors.d.ts +4 -0
- package/src/providers/fundable/executors.js +74 -0
- package/src/providers/gmail/message.d.ts +1 -6
- package/src/providers/gmail/message.js +1 -1
- package/src/providers/intercom/executors.d.ts +2 -0
- package/src/providers/intercom/executors.js +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.d.ts +2 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.d.ts +4 -0
- package/src/providers/intercom/trigger-on-conversation-event.definition.js +42 -0
- package/src/providers/intercom/trigger-on-conversation-event.js +23 -0
- package/src/providers/jira/executors.d.ts +2 -0
- package/src/providers/jira/executors.js +2 -0
- package/src/providers/jira/trigger-on-issue-event.d.ts +2 -0
- package/src/providers/jira/trigger-on-issue-event.definition.d.ts +4 -0
- package/src/providers/jira/trigger-on-issue-event.definition.js +44 -0
- package/src/providers/jira/trigger-on-issue-event.js +116 -0
- package/src/providers/jira/trigger-resource.d.ts +4 -0
- package/src/providers/jira/trigger-resource.js +141 -0
- package/src/providers/keenable/executors.d.ts +4 -0
- package/src/providers/keenable/executors.js +20 -0
- package/src/providers/keenable/runtime.d.ts +26 -0
- package/src/providers/keenable/runtime.js +89 -0
- package/src/providers/kolsprite_mcp/actions.d.ts +2 -0
- package/src/providers/kolsprite_mcp/actions.js +519 -0
- package/src/providers/kolsprite_mcp/executors.d.ts +4 -0
- package/src/providers/kolsprite_mcp/executors.js +89 -0
- package/src/providers/litescrape/actions.d.ts +12 -0
- package/src/providers/litescrape/actions.js +124 -0
- package/src/providers/litescrape/airbnb-schemas.d.ts +2 -0
- package/src/providers/litescrape/airbnb-schemas.js +72 -0
- package/src/providers/litescrape/aliexpress-schemas.d.ts +2 -0
- package/src/providers/litescrape/aliexpress-schemas.js +52 -0
- package/src/providers/litescrape/amazon-schemas.d.ts +2 -0
- package/src/providers/litescrape/amazon-schemas.js +358 -0
- package/src/providers/litescrape/apartments-schemas.d.ts +2 -0
- package/src/providers/litescrape/apartments-schemas.js +45 -0
- package/src/providers/litescrape/apple-schemas.d.ts +2 -0
- package/src/providers/litescrape/apple-schemas.js +215 -0
- package/src/providers/litescrape/ashby-schemas.d.ts +2 -0
- package/src/providers/litescrape/ashby-schemas.js +82 -0
- package/src/providers/litescrape/baidu-schemas.d.ts +2 -0
- package/src/providers/litescrape/baidu-schemas.js +31 -0
- package/src/providers/litescrape/bestbuy-schemas.d.ts +2 -0
- package/src/providers/litescrape/bestbuy-schemas.js +56 -0
- package/src/providers/litescrape/bing-schemas.d.ts +2 -0
- package/src/providers/litescrape/bing-schemas.js +315 -0
- package/src/providers/litescrape/brave-schemas.d.ts +2 -0
- package/src/providers/litescrape/brave-schemas.js +101 -0
- package/src/providers/litescrape/copilot-schemas.d.ts +2 -0
- package/src/providers/litescrape/copilot-schemas.js +590 -0
- package/src/providers/litescrape/duckduckgo-schemas.d.ts +2 -0
- package/src/providers/litescrape/duckduckgo-schemas.js +64 -0
- package/src/providers/litescrape/ebay-schemas.d.ts +2 -0
- package/src/providers/litescrape/ebay-schemas.js +300 -0
- package/src/providers/litescrape/etsy-schemas.d.ts +2 -0
- package/src/providers/litescrape/etsy-schemas.js +52 -0
- package/src/providers/litescrape/eventbrite-schemas.d.ts +2 -0
- package/src/providers/litescrape/eventbrite-schemas.js +43 -0
- package/src/providers/litescrape/executors.d.ts +4 -0
- package/src/providers/litescrape/executors.js +138 -0
- package/src/providers/litescrape/facebook-schemas.d.ts +2 -0
- package/src/providers/litescrape/facebook-schemas.js +283 -0
- package/src/providers/litescrape/glassdoor-schemas.d.ts +2 -0
- package/src/providers/litescrape/glassdoor-schemas.js +147 -0
- package/src/providers/litescrape/google-schemas.d.ts +2 -0
- package/src/providers/litescrape/google-schemas.js +1686 -0
- package/src/providers/litescrape/homedepot-schemas.d.ts +2 -0
- package/src/providers/litescrape/homedepot-schemas.js +58 -0
- package/src/providers/litescrape/homes-schemas.d.ts +2 -0
- package/src/providers/litescrape/homes-schemas.js +45 -0
- package/src/providers/litescrape/ikea-schemas.d.ts +2 -0
- package/src/providers/litescrape/ikea-schemas.js +56 -0
- package/src/providers/litescrape/indeed-schemas.d.ts +2 -0
- package/src/providers/litescrape/indeed-schemas.js +141 -0
- package/src/providers/litescrape/instagram-schemas.d.ts +2 -0
- package/src/providers/litescrape/instagram-schemas.js +234 -0
- package/src/providers/litescrape/kroger-schemas.d.ts +2 -0
- package/src/providers/litescrape/kroger-schemas.js +62 -0
- package/src/providers/litescrape/levels-schemas.d.ts +2 -0
- package/src/providers/litescrape/levels-schemas.js +153 -0
- package/src/providers/litescrape/naver-schemas.d.ts +2 -0
- package/src/providers/litescrape/naver-schemas.js +107 -0
- package/src/providers/litescrape/realtor-schemas.d.ts +2 -0
- package/src/providers/litescrape/realtor-schemas.js +47 -0
- package/src/providers/litescrape/redfin-schemas.d.ts +2 -0
- package/src/providers/litescrape/redfin-schemas.js +112 -0
- package/src/providers/litescrape/shared.d.ts +9 -0
- package/src/providers/litescrape/shared.js +1 -0
- package/src/providers/litescrape/sprouts-schemas.d.ts +2 -0
- package/src/providers/litescrape/sprouts-schemas.js +72 -0
- package/src/providers/litescrape/target-schemas.d.ts +2 -0
- package/src/providers/litescrape/target-schemas.js +56 -0
- package/src/providers/litescrape/tiktok-schemas.d.ts +2 -0
- package/src/providers/litescrape/tiktok-schemas.js +625 -0
- package/src/providers/litescrape/tools.d.ts +2 -0
- package/src/providers/litescrape/tools.js +88 -0
- package/src/providers/litescrape/tripadvisor-schemas.d.ts +2 -0
- package/src/providers/litescrape/tripadvisor-schemas.js +119 -0
- package/src/providers/litescrape/walmart-schemas.d.ts +2 -0
- package/src/providers/litescrape/walmart-schemas.js +52 -0
- package/src/providers/litescrape/wayfair-schemas.d.ts +2 -0
- package/src/providers/litescrape/wayfair-schemas.js +52 -0
- package/src/providers/litescrape/web-schemas.d.ts +2 -0
- package/src/providers/litescrape/web-schemas.js +463 -0
- package/src/providers/litescrape/wholefoods-schemas.d.ts +2 -0
- package/src/providers/litescrape/wholefoods-schemas.js +56 -0
- package/src/providers/litescrape/x-schemas.d.ts +2 -0
- package/src/providers/litescrape/x-schemas.js +128 -0
- package/src/providers/litescrape/yahoo-schemas.d.ts +2 -0
- package/src/providers/litescrape/yahoo-schemas.js +234 -0
- package/src/providers/litescrape/yandex-schemas.d.ts +2 -0
- package/src/providers/litescrape/yandex-schemas.js +179 -0
- package/src/providers/litescrape/yelp-schemas.d.ts +2 -0
- package/src/providers/litescrape/yelp-schemas.js +130 -0
- package/src/providers/litescrape/youtube-schemas.d.ts +2 -0
- package/src/providers/litescrape/youtube-schemas.js +128 -0
- package/src/providers/litescrape/zillow-schemas.d.ts +2 -0
- package/src/providers/litescrape/zillow-schemas.js +128 -0
- package/src/providers/litescrape/ziprecruiter-schemas.d.ts +2 -0
- package/src/providers/litescrape/ziprecruiter-schemas.js +96 -0
- package/src/providers/magichour/actions.d.ts +22 -0
- package/src/providers/magichour/actions.js +308 -0
- package/src/providers/magichour/audio-schemas.d.ts +2 -0
- package/src/providers/magichour/audio-schemas.js +54 -0
- package/src/providers/magichour/executors.d.ts +4 -0
- package/src/providers/magichour/executors.js +115 -0
- package/src/providers/magichour/image-schemas.d.ts +2 -0
- package/src/providers/magichour/image-schemas.js +443 -0
- package/src/providers/magichour/project-schemas.d.ts +8 -0
- package/src/providers/magichour/project-schemas.js +65 -0
- package/src/providers/magichour/shared-schemas.d.ts +8 -0
- package/src/providers/magichour/shared-schemas.js +18 -0
- package/src/providers/magichour/utility-schemas.d.ts +11 -0
- package/src/providers/magichour/utility-schemas.js +150 -0
- package/src/providers/magichour/video-schemas.d.ts +2 -0
- package/src/providers/magichour/video-schemas.js +629 -0
- package/src/providers/magichour/voices.d.ts +1 -0
- package/src/providers/magichour/voices.js +1268 -0
- package/src/providers/minimax/executors.js +19 -4
- package/src/providers/minimax/text-models.d.ts +2 -0
- package/src/providers/minimax/text-models.js +34 -0
- package/src/providers/moneyforward_mcp/manifest.d.ts +0 -2
- package/src/providers/moneyforward_mcp/manifest.js +1 -1
- package/src/providers/notion/executors.js +36 -3
- package/src/providers/octen/actions.d.ts +6 -0
- package/src/providers/octen/actions.js +919 -0
- package/src/providers/octen/executors.d.ts +4 -0
- package/src/providers/octen/executors.js +125 -0
- package/src/providers/octen/inputs.d.ts +2 -0
- package/src/providers/octen/inputs.js +2434 -0
- package/src/providers/octen/research.d.ts +1 -0
- package/src/providers/octen/research.js +86 -0
- package/src/providers/openrouter/executors.js +7 -4
- package/src/providers/orbit/actions.d.ts +2 -0
- package/src/providers/orbit/actions.js +3030 -0
- package/src/providers/orbit/executors.d.ts +4 -0
- package/src/providers/orbit/executors.js +106 -0
- package/src/providers/orbit/routes.d.ts +9 -0
- package/src/providers/orbit/routes.js +170 -0
- package/src/providers/pandadoc/executors.d.ts +2 -0
- package/src/providers/pandadoc/executors.js +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.d.ts +2 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.d.ts +4 -0
- package/src/providers/pandadoc/trigger-on-document-event.definition.js +33 -0
- package/src/providers/pandadoc/trigger-on-document-event.js +96 -0
- package/src/providers/pipedrive/executors.d.ts +2 -0
- package/src/providers/pipedrive/executors.js +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.d.ts +2 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.d.ts +4 -0
- package/src/providers/pipedrive/trigger-on-crm-event.definition.js +30 -0
- package/src/providers/pipedrive/trigger-on-crm-event.js +101 -0
- package/src/providers/ploid/actions.d.ts +16 -0
- package/src/providers/ploid/actions.js +23 -0
- package/src/providers/ploid/endpoints.json +8440 -0
- package/src/providers/ploid/executors.d.ts +4 -0
- package/src/providers/ploid/executors.js +119 -0
- package/src/providers/provider-runtime.d.ts +13 -0
- package/src/providers/provider-runtime.js +37 -4
- package/src/providers/registry.generated.js +17 -0
- package/src/providers/resend/executors.d.ts +2 -0
- package/src/providers/resend/executors.js +2 -0
- package/src/providers/resend/trigger-on-email-event.d.ts +2 -0
- package/src/providers/resend/trigger-on-email-event.definition.d.ts +4 -0
- package/src/providers/resend/trigger-on-email-event.definition.js +37 -0
- package/src/providers/resend/trigger-on-email-event.js +125 -0
- package/src/providers/salesforce/chatter-routes.d.ts +107 -0
- package/src/providers/salesforce/chatter-routes.js +140 -0
- package/src/providers/salesforce/context.d.ts +2 -2
- package/src/providers/salesforce/context.js +7 -4
- package/src/providers/salesforce/executors.js +10 -0
- package/src/providers/salesforce/runtime-approvals.d.ts +2 -0
- package/src/providers/salesforce/runtime-approvals.js +52 -0
- package/src/providers/salesforce/runtime-base.js +14 -3
- package/src/providers/salesforce/runtime-chatter.d.ts +2 -0
- package/src/providers/salesforce/runtime-chatter.js +78 -0
- package/src/providers/salesforce/runtime-knowledge.d.ts +2 -0
- package/src/providers/salesforce/runtime-knowledge.js +34 -0
- package/src/providers/salesforce/runtime-leads.d.ts +2 -0
- package/src/providers/salesforce/runtime-leads.js +117 -0
- package/src/providers/salesforce/runtime-platform.d.ts +2 -0
- package/src/providers/salesforce/runtime-platform.js +67 -0
- package/src/providers/saperly/actions.d.ts +17 -0
- package/src/providers/saperly/actions.js +869 -0
- package/src/providers/saperly/executors.d.ts +4 -0
- package/src/providers/saperly/executors.js +113 -0
- package/src/providers/saperly/schemas.d.ts +33 -0
- package/src/providers/saperly/schemas.js +601 -0
- package/src/providers/search1api/actions.d.ts +2 -0
- package/src/providers/search1api/actions.js +39 -0
- package/src/providers/search1api/executors.d.ts +4 -0
- package/src/providers/search1api/executors.js +72 -0
- package/src/providers/search1api/runtime.d.ts +3 -0
- package/src/providers/search1api/runtime.js +44 -0
- package/src/providers/search1api/schemas.d.ts +3 -0
- package/src/providers/search1api/schemas.js +1834 -0
- package/src/providers/sentry/executors.d.ts +2 -0
- package/src/providers/sentry/executors.js +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.d.ts +2 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.d.ts +4 -0
- package/src/providers/sentry/trigger-on-issue-alert.definition.js +64 -0
- package/src/providers/sentry/trigger-on-issue-alert.js +80 -0
- package/src/providers/sf_express/runtime.d.ts +0 -16
- package/src/providers/sf_express/runtime.js +2 -2
- package/src/providers/slack/runtime.d.ts +6 -1
- package/src/providers/slack/runtime.js +21 -0
- package/src/providers/slackbot/actions.js +17 -1
- package/src/providers/slackbot/executors.d.ts +2 -0
- package/src/providers/slackbot/executors.js +5 -1
- package/src/providers/slackbot/trigger-on-event.d.ts +2 -0
- package/src/providers/slackbot/trigger-on-event.definition.d.ts +4 -0
- package/src/providers/slackbot/trigger-on-event.definition.js +57 -0
- package/src/providers/slackbot/trigger-on-event.js +23 -0
- package/src/providers/surf/actions.d.ts +21 -0
- package/src/providers/surf/actions.js +26 -0
- package/src/providers/surf/discovery-definitions.d.ts +2 -0
- package/src/providers/surf/discovery-definitions.js +871 -0
- package/src/providers/surf/equity-definitions.d.ts +2 -0
- package/src/providers/surf/equity-definitions.js +322 -0
- package/src/providers/surf/executors.d.ts +4 -0
- package/src/providers/surf/executors.js +131 -0
- package/src/providers/surf/market-definitions.d.ts +2 -0
- package/src/providers/surf/market-definitions.js +885 -0
- package/src/providers/surf/onchain-definitions.d.ts +2 -0
- package/src/providers/surf/onchain-definitions.js +901 -0
- package/src/providers/surf/prediction-definitions.d.ts +2 -0
- package/src/providers/surf/prediction-definitions.js +683 -0
- package/src/providers/surf/shared-schemas.d.ts +18 -0
- package/src/providers/surf/shared-schemas.js +37 -0
- package/src/providers/tally/executors.d.ts +2 -0
- package/src/providers/tally/executors.js +2 -0
- package/src/providers/tally/trigger-on-form-response.d.ts +2 -0
- package/src/providers/tally/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/tally/trigger-on-form-response.definition.js +54 -0
- package/src/providers/tally/trigger-on-form-response.js +166 -0
- package/src/providers/tinyfish/actions.d.ts +6 -0
- package/src/providers/tinyfish/actions.js +19 -0
- package/src/providers/tinyfish/agent-actions.d.ts +2 -0
- package/src/providers/tinyfish/agent-actions.js +268 -0
- package/src/providers/tinyfish/data-actions.d.ts +2 -0
- package/src/providers/tinyfish/data-actions.js +186 -0
- package/src/providers/tinyfish/data-schemas.d.ts +7 -0
- package/src/providers/tinyfish/data-schemas.js +103 -0
- package/src/providers/tinyfish/endpoints.d.ts +14 -0
- package/src/providers/tinyfish/endpoints.js +1 -0
- package/src/providers/tinyfish/executors.d.ts +4 -0
- package/src/providers/tinyfish/executors.js +133 -0
- package/src/providers/tinyfish/management-actions.d.ts +2 -0
- package/src/providers/tinyfish/management-actions.js +524 -0
- package/src/providers/tinyfish/monitor-schemas.d.ts +5 -0
- package/src/providers/tinyfish/monitor-schemas.js +65 -0
- package/src/providers/tinyfish/research-schemas.d.ts +6 -0
- package/src/providers/tinyfish/research-schemas.js +71 -0
- package/src/providers/trello/executors.js +5 -2
- package/src/providers/typeform/executors.d.ts +2 -0
- package/src/providers/typeform/executors.js +2 -0
- package/src/providers/typeform/trigger-on-form-response.d.ts +2 -0
- package/src/providers/typeform/trigger-on-form-response.definition.d.ts +4 -0
- package/src/providers/typeform/trigger-on-form-response.definition.js +40 -0
- package/src/providers/typeform/trigger-on-form-response.js +68 -0
- package/src/providers/vaquill/actions.d.ts +13 -0
- package/src/providers/vaquill/actions.js +529 -0
- package/src/providers/vaquill/executors.d.ts +4 -0
- package/src/providers/vaquill/executors.js +141 -0
- package/src/providers/vaquill/schemas.d.ts +67 -0
- package/src/providers/vaquill/schemas.js +4953 -0
- package/src/providers/vercel/executors.d.ts +2 -0
- package/src/providers/vercel/executors.js +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.d.ts +2 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.d.ts +5 -0
- package/src/providers/vercel/trigger-on-deployment-event.definition.js +41 -0
- package/src/providers/vercel/trigger-on-deployment-event.js +102 -0
- package/src/providers/weixin_bot/runtime.d.ts +0 -1
- package/src/providers/weixin_bot/runtime.js +1 -1
- package/src/providers/weixin_store/access-token.d.ts +3 -3
- package/src/providers/weixin_store/access-token.js +15 -7
- package/src/providers/weixin_store/executors.js +214 -1
- package/src/providers/zoom/executors.d.ts +2 -0
- package/src/providers/zoom/executors.js +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.d.ts +2 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.d.ts +4 -0
- package/src/providers/zoom/trigger-on-recording-ready.definition.js +44 -0
- package/src/providers/zoom/trigger-on-recording-ready.js +39 -0
- package/src/server/api/action-example.js +12 -1
- package/src/server/api/pattern-example.js +35 -1
- package/src/server/api/trigger-routes.js +1 -1
- package/src/server/connect-app.js +1 -0
- package/src/triggers/common/integration.d.ts +15 -3
- package/src/triggers/common/integration.js +5 -0
- package/src/triggers/common/proxy.d.ts +7 -0
- package/src/triggers/managed-webhook.d.ts +13 -0
- package/src/triggers/managed-webhook.js +48 -0
- package/src/triggers/request.d.ts +5 -1
- package/src/triggers/request.js +2 -0
- package/src/triggers/resources.d.ts +8 -2
- package/src/triggers/resources.js +31 -0
- package/src/triggers/signature.d.ts +3 -3
- package/src/triggers/signature.js +4 -6
- package/src/triggers/sources/configuration-schema.d.ts +5 -0
- package/src/triggers/sources/configuration-schema.js +118 -0
- package/src/triggers/sources/configuration.d.ts +115 -0
- package/src/triggers/sources/configuration.js +1 -0
- package/src/triggers/sources/definition.d.ts +61 -0
- package/src/triggers/sources/definition.js +3 -0
- package/src/triggers/sources/feishu-demands.d.ts +6 -0
- package/src/triggers/sources/feishu-demands.js +24 -0
- package/src/triggers/sources/feishu-events.d.ts +19 -0
- package/src/triggers/sources/feishu-events.js +108 -0
- package/src/triggers/sources/feishu.d.ts +3 -0
- package/src/triggers/sources/feishu.js +85 -0
- package/src/triggers/sources/fireflies.d.ts +3 -0
- package/src/triggers/sources/fireflies.js +100 -0
- package/src/triggers/sources/intercom.d.ts +3 -0
- package/src/triggers/sources/intercom.js +86 -0
- package/src/triggers/sources/jira.d.ts +3 -0
- package/src/triggers/sources/jira.js +120 -0
- package/src/triggers/sources/operation.d.ts +42 -0
- package/src/triggers/sources/operation.js +146 -0
- package/src/triggers/sources/sentry.d.ts +3 -0
- package/src/triggers/sources/sentry.js +125 -0
- package/src/triggers/sources/signature.d.ts +1 -0
- package/src/triggers/sources/signature.js +10 -0
- package/src/triggers/sources/slack.d.ts +3 -0
- package/src/triggers/sources/slack.js +127 -0
- package/src/triggers/sources/zoom.d.ts +3 -0
- package/src/triggers/sources/zoom.js +113 -0
- package/src/triggers/trigger-runner.d.ts +2 -0
- package/src/triggers/trigger-runner.js +52 -16
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { s } from "../../core/json-schema.js";
|
|
2
|
+
export const ebayTools = [
|
|
3
|
+
{
|
|
4
|
+
name: "ebay_product",
|
|
5
|
+
path: "/api/ebay/product",
|
|
6
|
+
description: "Get an eBay listing by item ID.",
|
|
7
|
+
input: s.object("eBay Product parameters.", {
|
|
8
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
9
|
+
"ebay.com",
|
|
10
|
+
"ebay.co.uk",
|
|
11
|
+
"ebay.ca",
|
|
12
|
+
"ebay.com.au",
|
|
13
|
+
"ebay.de",
|
|
14
|
+
"ebay.fr",
|
|
15
|
+
"ebay.it",
|
|
16
|
+
"ebay.es",
|
|
17
|
+
"ebay.at",
|
|
18
|
+
"ebay.be",
|
|
19
|
+
"ebay.ch",
|
|
20
|
+
"ebay.ie",
|
|
21
|
+
"ebay.nl",
|
|
22
|
+
"ebay.com.hk",
|
|
23
|
+
"ebay.com.my",
|
|
24
|
+
"ebay.pl",
|
|
25
|
+
"ebay.com.sg",
|
|
26
|
+
]),
|
|
27
|
+
product_id: s.string("12-digit eBay listing ID from search results or an /itm/ URL.", {
|
|
28
|
+
pattern: "^[0-9]{12}$",
|
|
29
|
+
}),
|
|
30
|
+
locale: s.nullable(s.string("Country code for eBay's localized interface, e.g. US, JP, CA.")),
|
|
31
|
+
lang: s.nullable(s.string("Interface language override; requires locale and ebay.com.", {
|
|
32
|
+
maxLength: 12,
|
|
33
|
+
pattern: "^[a-z]{2,3}(?:-[A-Za-z]{2,4})?$",
|
|
34
|
+
})),
|
|
35
|
+
shipping_country: s.nullable(s.string("Two-letter destination country code for shipping calculations.")),
|
|
36
|
+
}, { required: ["product_id"] }),
|
|
37
|
+
asyncInput: s.object("eBay Product asynchronous parameters.", {
|
|
38
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
39
|
+
"ebay.com",
|
|
40
|
+
"ebay.co.uk",
|
|
41
|
+
"ebay.ca",
|
|
42
|
+
"ebay.com.au",
|
|
43
|
+
"ebay.de",
|
|
44
|
+
"ebay.fr",
|
|
45
|
+
"ebay.it",
|
|
46
|
+
"ebay.es",
|
|
47
|
+
"ebay.at",
|
|
48
|
+
"ebay.be",
|
|
49
|
+
"ebay.ch",
|
|
50
|
+
"ebay.ie",
|
|
51
|
+
"ebay.nl",
|
|
52
|
+
"ebay.com.hk",
|
|
53
|
+
"ebay.com.my",
|
|
54
|
+
"ebay.pl",
|
|
55
|
+
"ebay.com.sg",
|
|
56
|
+
]),
|
|
57
|
+
product_id: s.string("12-digit eBay listing ID from search results or an /itm/ URL.", {
|
|
58
|
+
pattern: "^[0-9]{12}$",
|
|
59
|
+
}),
|
|
60
|
+
locale: s.string("Country code for eBay's localized interface, e.g. US, JP, CA."),
|
|
61
|
+
lang: s.string("Interface language override; requires locale and ebay.com.", {
|
|
62
|
+
maxLength: 12,
|
|
63
|
+
pattern: "^[a-z]{2,3}(?:-[A-Za-z]{2,4})?$",
|
|
64
|
+
}),
|
|
65
|
+
shipping_country: s.string("Two-letter destination country code for shipping calculations."),
|
|
66
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
67
|
+
}, { required: ["product_id"] }),
|
|
68
|
+
output: s.looseObject("eBay Product response.", {
|
|
69
|
+
search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
|
|
70
|
+
search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
|
|
71
|
+
product_results: s.looseObject("product results value.", {}),
|
|
72
|
+
seller_results: s.nullable(s.looseObject("seller results value.", {})),
|
|
73
|
+
related_products: s.nullable(s.array("related products value.", s.looseObject("related products value. item.", {}))),
|
|
74
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
75
|
+
format: "uri",
|
|
76
|
+
}),
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "ebay_search",
|
|
81
|
+
path: "/api/ebay/search",
|
|
82
|
+
description: "Search eBay listings by keyword or category.",
|
|
83
|
+
input: s.object("eBay Search parameters.", {
|
|
84
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
85
|
+
"ebay.com",
|
|
86
|
+
"ebay.co.uk",
|
|
87
|
+
"ebay.ca",
|
|
88
|
+
"ebay.com.au",
|
|
89
|
+
"ebay.de",
|
|
90
|
+
"ebay.fr",
|
|
91
|
+
"ebay.it",
|
|
92
|
+
"ebay.es",
|
|
93
|
+
"ebay.at",
|
|
94
|
+
"ebay.be",
|
|
95
|
+
"ebay.ch",
|
|
96
|
+
"ebay.ie",
|
|
97
|
+
"ebay.nl",
|
|
98
|
+
"ebay.com.hk",
|
|
99
|
+
"ebay.com.my",
|
|
100
|
+
"ebay.pl",
|
|
101
|
+
"ebay.com.sg",
|
|
102
|
+
]),
|
|
103
|
+
_nkw: s.nullable(s.string("Search keywords. Required unless category_id is supplied.", {
|
|
104
|
+
minLength: 1,
|
|
105
|
+
maxLength: 500,
|
|
106
|
+
})),
|
|
107
|
+
category_id: s.nullable(s.integer("eBay category ID.", { minimum: 1, maximum: 2147483647 })),
|
|
108
|
+
_pgn: s.integer("Result page, starting at 1.", { minimum: 1, maximum: 2147483647 }),
|
|
109
|
+
_ipg: s.withEnum(s.unknown("Requested results per page. eBay may adjust the page size."), [25, 50, 100, 200]),
|
|
110
|
+
_sop: s.withEnum(s.unknown("Sort: 12 best match, 1 ending soonest, 10 newly listed, 7 nearest, 15/16 total price ascending/descending, 2/3 item price ascending/descending, 18/19 condition new/used first. Availability depends on marketplace."), [1, 2, 3, 7, 10, 12, 15, 16, 18, 19]),
|
|
111
|
+
_udlo: s.nullable(s.number("Minimum item price.", { minimum: 0 })),
|
|
112
|
+
_udhi: s.nullable(s.number("Maximum item price.", { minimum: 0 })),
|
|
113
|
+
buying_format: s.nullable(s.withEnum(s.unknown("Auction, Buy It Now (BIN), or accepts offers (BO)."), ["Auction", "BIN", "BO"])),
|
|
114
|
+
LH_ItemCondition: s.nullable(s.string("Condition IDs joined with |, such as 1000|3000.", {
|
|
115
|
+
pattern: "^[0-9]{1,4}(\\|[0-9]{1,4}){0,9}$",
|
|
116
|
+
})),
|
|
117
|
+
_stpos: s.nullable(s.string("Destination postal code used by eBay for shipping estimates.", {
|
|
118
|
+
minLength: 1,
|
|
119
|
+
maxLength: 20,
|
|
120
|
+
})),
|
|
121
|
+
_salic: s.nullable(s.integer("eBay item-location country ID, e.g. 1 US, 2 Canada, 3 UK.")),
|
|
122
|
+
_blrs: s.nullable(s.literal("spell_auto_correct", {
|
|
123
|
+
description: "Exclude automatic spelling corrections.",
|
|
124
|
+
})),
|
|
125
|
+
show_only: s.nullable(s.string("Comma-separated filters: FR, RPA, AS, Savings, SaleItems, Lots, Charity, AV, FS, LPickup.", {
|
|
126
|
+
maxLength: 100,
|
|
127
|
+
})),
|
|
128
|
+
_sasl: s.nullable(s.string("Comma-separated eBay seller usernames.", { maxLength: 1000 })),
|
|
129
|
+
_saslop: s.withEnum(s.unknown("Include (1) or exclude (2) the sellers in _sasl."), [1, 2]),
|
|
130
|
+
popular_filters: s.nullable(s.string("eBay aspect filters as key=value pairs joined with &, with multiple values joined by |. Percent-encoded names are accepted.", { maxLength: 4000 })),
|
|
131
|
+
_dmd: s.nullable(s.withEnum(s.unknown("Result layout."), ["Grid", "List"])),
|
|
132
|
+
LH_PrefLoc: s.nullable(s.withEnum(s.unknown("Item location relative to the marketplace."), ["Domestic", "Regional", "Worldwide"])),
|
|
133
|
+
}, { required: [] }),
|
|
134
|
+
asyncInput: s.object("eBay Search asynchronous parameters.", {
|
|
135
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
136
|
+
"ebay.com",
|
|
137
|
+
"ebay.co.uk",
|
|
138
|
+
"ebay.ca",
|
|
139
|
+
"ebay.com.au",
|
|
140
|
+
"ebay.de",
|
|
141
|
+
"ebay.fr",
|
|
142
|
+
"ebay.it",
|
|
143
|
+
"ebay.es",
|
|
144
|
+
"ebay.at",
|
|
145
|
+
"ebay.be",
|
|
146
|
+
"ebay.ch",
|
|
147
|
+
"ebay.ie",
|
|
148
|
+
"ebay.nl",
|
|
149
|
+
"ebay.com.hk",
|
|
150
|
+
"ebay.com.my",
|
|
151
|
+
"ebay.pl",
|
|
152
|
+
"ebay.com.sg",
|
|
153
|
+
]),
|
|
154
|
+
_nkw: s.string("Search keywords. Required unless category_id is supplied.", {
|
|
155
|
+
minLength: 1,
|
|
156
|
+
maxLength: 500,
|
|
157
|
+
}),
|
|
158
|
+
category_id: s.integer("eBay category ID.", { minimum: 1, maximum: 2147483647 }),
|
|
159
|
+
_pgn: s.integer("Result page, starting at 1.", { minimum: 1, maximum: 2147483647 }),
|
|
160
|
+
_ipg: s.withEnum(s.unknown("Requested results per page. eBay may adjust the page size."), [25, 50, 100, 200]),
|
|
161
|
+
_sop: s.withEnum(s.unknown("Sort: 12 best match, 1 ending soonest, 10 newly listed, 7 nearest, 15/16 total price ascending/descending, 2/3 item price ascending/descending, 18/19 condition new/used first. Availability depends on marketplace."), [1, 2, 3, 7, 10, 12, 15, 16, 18, 19]),
|
|
162
|
+
_udlo: s.number("Minimum item price.", { minimum: 0 }),
|
|
163
|
+
_udhi: s.number("Maximum item price.", { minimum: 0 }),
|
|
164
|
+
buying_format: s.withEnum(s.unknown("Auction, Buy It Now (BIN), or accepts offers (BO)."), [
|
|
165
|
+
"Auction",
|
|
166
|
+
"BIN",
|
|
167
|
+
"BO",
|
|
168
|
+
]),
|
|
169
|
+
LH_ItemCondition: s.string("Condition IDs joined with |, such as 1000|3000.", {
|
|
170
|
+
pattern: "^[0-9]{1,4}(\\|[0-9]{1,4}){0,9}$",
|
|
171
|
+
}),
|
|
172
|
+
_stpos: s.string("Destination postal code used by eBay for shipping estimates.", {
|
|
173
|
+
minLength: 1,
|
|
174
|
+
maxLength: 20,
|
|
175
|
+
}),
|
|
176
|
+
_salic: s.integer("eBay item-location country ID, e.g. 1 US, 2 Canada, 3 UK."),
|
|
177
|
+
_blrs: s.literal("spell_auto_correct", {
|
|
178
|
+
description: "Exclude automatic spelling corrections.",
|
|
179
|
+
}),
|
|
180
|
+
show_only: s.string("Comma-separated filters: FR, RPA, AS, Savings, SaleItems, Lots, Charity, AV, FS, LPickup.", { maxLength: 100 }),
|
|
181
|
+
_sasl: s.string("Comma-separated eBay seller usernames.", { maxLength: 1000 }),
|
|
182
|
+
_saslop: s.withEnum(s.unknown("Include (1) or exclude (2) the sellers in _sasl."), [1, 2]),
|
|
183
|
+
popular_filters: s.string("eBay aspect filters as key=value pairs joined with &, with multiple values joined by |. Percent-encoded names are accepted.", { maxLength: 4000 }),
|
|
184
|
+
_dmd: s.withEnum(s.unknown("Result layout."), ["Grid", "List"]),
|
|
185
|
+
LH_PrefLoc: s.withEnum(s.unknown("Item location relative to the marketplace."), [
|
|
186
|
+
"Domestic",
|
|
187
|
+
"Regional",
|
|
188
|
+
"Worldwide",
|
|
189
|
+
]),
|
|
190
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
191
|
+
}, { required: [] }),
|
|
192
|
+
output: s.looseObject("eBay Search response.", {
|
|
193
|
+
search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
|
|
194
|
+
search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
|
|
195
|
+
search_information: s.looseObject("search information value.", {}),
|
|
196
|
+
organic_results: s.array("organic results value.", s.looseObject("organic results value. item.", {})),
|
|
197
|
+
categories: s.nullable(s.array("categories value.", s.looseObject("categories value. item.", {}))),
|
|
198
|
+
related_searches: s.nullable(s.array("related searches value.", s.looseObject("related searches value. item.", {}))),
|
|
199
|
+
pagination: s.looseObject("pagination value.", {}),
|
|
200
|
+
litescrape_pagination: s.nullable(s.looseObject("litescrape pagination value.", {})),
|
|
201
|
+
deals: s.nullable(s.looseObject("deals value.", {})),
|
|
202
|
+
inline_categories: s.nullable(s.array("inline categories value.", s.looseObject("inline categories value. item.", {}))),
|
|
203
|
+
inline_results: s.nullable(s.array("inline results value.", s.looseObject("inline results value. item.", {}))),
|
|
204
|
+
popular_filters: s.nullable(s.array("popular filters value.", s.looseObject("popular filters value. item.", {}))),
|
|
205
|
+
related_items: s.nullable(s.array("related items value.", s.looseObject("related items value. item.", {}))),
|
|
206
|
+
review_highlights: s.nullable(s.array("review highlights value.", s.looseObject("review highlights value. item.", {}))),
|
|
207
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
208
|
+
format: "uri",
|
|
209
|
+
}),
|
|
210
|
+
}),
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: "ebay_seller",
|
|
214
|
+
path: "/api/ebay/seller",
|
|
215
|
+
description: "Get an eBay seller's profile and listings.",
|
|
216
|
+
input: s.object("eBay Seller parameters.", {
|
|
217
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
218
|
+
"ebay.com",
|
|
219
|
+
"ebay.co.uk",
|
|
220
|
+
"ebay.ca",
|
|
221
|
+
"ebay.com.au",
|
|
222
|
+
"ebay.de",
|
|
223
|
+
"ebay.fr",
|
|
224
|
+
"ebay.it",
|
|
225
|
+
"ebay.es",
|
|
226
|
+
"ebay.at",
|
|
227
|
+
"ebay.be",
|
|
228
|
+
"ebay.ch",
|
|
229
|
+
"ebay.ie",
|
|
230
|
+
"ebay.nl",
|
|
231
|
+
"ebay.com.hk",
|
|
232
|
+
"ebay.com.my",
|
|
233
|
+
"ebay.pl",
|
|
234
|
+
"ebay.com.sg",
|
|
235
|
+
]),
|
|
236
|
+
seller_id: s.string("Seller username for type=user, or the store URL slug for type=store.", {
|
|
237
|
+
pattern: "^[A-Za-z0-9][A-Za-z0-9_.*-]{0,99}$",
|
|
238
|
+
}),
|
|
239
|
+
type: s.withEnum(s.unknown("Public seller profile type."), ["user", "store"]),
|
|
240
|
+
_pgn: s.integer("Result page, starting at 1.", { minimum: 1, maximum: 2147483647 }),
|
|
241
|
+
_ipg: s.withEnum(s.unknown("Products per page."), [24, 48, 72]),
|
|
242
|
+
_sop: s.withEnum(s.unknown("Sort: 12 best match, 1 ending soonest, 7 nearest, 10 newly listed, 15/16 total price ascending/descending."), [1, 7, 10, 12, 15, 16]),
|
|
243
|
+
buying_format: s.withEnum(s.unknown("All listings (0), Buy It Now (1), or auctions (2)."), [0, 1, 2]),
|
|
244
|
+
LH_ItemCondition: s.nullable(s.string("Condition IDs joined with |: 3 new, 4 used, 10 unspecified.", {
|
|
245
|
+
maxLength: 20,
|
|
246
|
+
pattern: "^(?:3|4|10)(?:\\|(?:3|4|10))*$",
|
|
247
|
+
})),
|
|
248
|
+
free_shipping: s.boolean("Only products with free shipping."),
|
|
249
|
+
}, { required: ["seller_id", "type"] }),
|
|
250
|
+
asyncInput: s.object("eBay Seller asynchronous parameters.", {
|
|
251
|
+
ebay_domain: s.withEnum(s.unknown("eBay marketplace hostname."), [
|
|
252
|
+
"ebay.com",
|
|
253
|
+
"ebay.co.uk",
|
|
254
|
+
"ebay.ca",
|
|
255
|
+
"ebay.com.au",
|
|
256
|
+
"ebay.de",
|
|
257
|
+
"ebay.fr",
|
|
258
|
+
"ebay.it",
|
|
259
|
+
"ebay.es",
|
|
260
|
+
"ebay.at",
|
|
261
|
+
"ebay.be",
|
|
262
|
+
"ebay.ch",
|
|
263
|
+
"ebay.ie",
|
|
264
|
+
"ebay.nl",
|
|
265
|
+
"ebay.com.hk",
|
|
266
|
+
"ebay.com.my",
|
|
267
|
+
"ebay.pl",
|
|
268
|
+
"ebay.com.sg",
|
|
269
|
+
]),
|
|
270
|
+
seller_id: s.string("Seller username for type=user, or the store URL slug for type=store.", {
|
|
271
|
+
pattern: "^[A-Za-z0-9][A-Za-z0-9_.*-]{0,99}$",
|
|
272
|
+
}),
|
|
273
|
+
type: s.withEnum(s.unknown("Public seller profile type."), ["user", "store"]),
|
|
274
|
+
_pgn: s.integer("Result page, starting at 1.", { minimum: 1, maximum: 2147483647 }),
|
|
275
|
+
_ipg: s.withEnum(s.unknown("Products per page."), [24, 48, 72]),
|
|
276
|
+
_sop: s.withEnum(s.unknown("Sort: 12 best match, 1 ending soonest, 7 nearest, 10 newly listed, 15/16 total price ascending/descending."), [1, 7, 10, 12, 15, 16]),
|
|
277
|
+
buying_format: s.withEnum(s.unknown("All listings (0), Buy It Now (1), or auctions (2)."), [0, 1, 2]),
|
|
278
|
+
LH_ItemCondition: s.string("Condition IDs joined with |: 3 new, 4 used, 10 unspecified.", {
|
|
279
|
+
maxLength: 20,
|
|
280
|
+
pattern: "^(?:3|4|10)(?:\\|(?:3|4|10))*$",
|
|
281
|
+
}),
|
|
282
|
+
free_shipping: s.boolean("Only products with free shipping."),
|
|
283
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
284
|
+
}, { required: ["seller_id", "type"] }),
|
|
285
|
+
output: s.looseObject("eBay Seller response.", {
|
|
286
|
+
search_metadata: s.nullable(s.looseObject("search metadata value.", {})),
|
|
287
|
+
search_parameters: s.nullable(s.looseObject("search parameters value.", {})),
|
|
288
|
+
seller_results: s.looseObject("seller results value.", {}),
|
|
289
|
+
product_results: s.array("product results value.", s.looseObject("product results value. item.", {})),
|
|
290
|
+
featured_categories: s.nullable(s.array("featured categories value.", s.looseObject("featured categories value. item.", {}))),
|
|
291
|
+
about: s.nullable(s.looseObject("about value.", {})),
|
|
292
|
+
feedback: s.nullable(s.looseObject("feedback value.", {})),
|
|
293
|
+
pagination: s.looseObject("pagination value.", {}),
|
|
294
|
+
litescrape_pagination: s.nullable(s.looseObject("litescrape pagination value.", {})),
|
|
295
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
296
|
+
format: "uri",
|
|
297
|
+
}),
|
|
298
|
+
}),
|
|
299
|
+
},
|
|
300
|
+
];
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { s } from "../../core/json-schema.js";
|
|
2
|
+
export const etsyTools = [
|
|
3
|
+
{
|
|
4
|
+
name: "etsy_product",
|
|
5
|
+
path: "/api/etsy/product",
|
|
6
|
+
description: "Get an Etsy listing's details and price. This upstream API is Alpha.",
|
|
7
|
+
input: s.object("Etsy Product parameters.", {
|
|
8
|
+
url: s.string("Public HTTPS product URL on this retailer's site.", {
|
|
9
|
+
minLength: 1,
|
|
10
|
+
maxLength: 4096,
|
|
11
|
+
}),
|
|
12
|
+
}, { required: ["url"] }),
|
|
13
|
+
asyncInput: s.object("Etsy Product asynchronous parameters.", {
|
|
14
|
+
url: s.string("Public HTTPS product URL on this retailer's site.", {
|
|
15
|
+
minLength: 1,
|
|
16
|
+
maxLength: 4096,
|
|
17
|
+
}),
|
|
18
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
19
|
+
}, { required: ["url"] }),
|
|
20
|
+
output: s.looseObject("Etsy Product response.", {
|
|
21
|
+
search_metadata: s.looseObject("search metadata value.", {}),
|
|
22
|
+
search_parameters: s.looseObject("search parameters value.", {}),
|
|
23
|
+
product: s.looseObject("product value.", {}),
|
|
24
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
25
|
+
format: "uri",
|
|
26
|
+
}),
|
|
27
|
+
}),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "etsy_search",
|
|
31
|
+
path: "/api/etsy/search",
|
|
32
|
+
description: "Search Etsy listings with prices. This upstream API is Alpha.",
|
|
33
|
+
input: s.object("Etsy Search parameters.", {
|
|
34
|
+
query: s.string("Product keywords to search for.", { minLength: 1, maxLength: 500 }),
|
|
35
|
+
page: s.integer("One-based result page.", { minimum: 1, maximum: 100 }),
|
|
36
|
+
}, { required: ["query"] }),
|
|
37
|
+
asyncInput: s.object("Etsy Search asynchronous parameters.", {
|
|
38
|
+
query: s.string("Product keywords to search for.", { minLength: 1, maxLength: 500 }),
|
|
39
|
+
page: s.integer("One-based result page.", { minimum: 1, maximum: 100 }),
|
|
40
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
41
|
+
}, { required: ["query"] }),
|
|
42
|
+
output: s.looseObject("Etsy Search response.", {
|
|
43
|
+
search_metadata: s.looseObject("search metadata value.", {}),
|
|
44
|
+
search_parameters: s.looseObject("search parameters value.", {}),
|
|
45
|
+
products: s.array("products value.", s.looseObject("products value. item.", {})),
|
|
46
|
+
pagination: s.looseObject("pagination value.", {}),
|
|
47
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
48
|
+
format: "uri",
|
|
49
|
+
}),
|
|
50
|
+
}),
|
|
51
|
+
},
|
|
52
|
+
];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { s } from "../../core/json-schema.js";
|
|
2
|
+
export const eventbriteTools = [
|
|
3
|
+
{
|
|
4
|
+
name: "eventbrite_search",
|
|
5
|
+
path: "/api/eventbrite/search",
|
|
6
|
+
description: "Search Eventbrite events by location and keyword.",
|
|
7
|
+
input: s.object("Eventbrite Search parameters.", {
|
|
8
|
+
location: s.string("Eventbrite location slug, such as tx--austin, ny--new-york, or online.", {
|
|
9
|
+
maxLength: 150,
|
|
10
|
+
pattern: "^[a-z0-9]+(?:-[a-z0-9]+|--[a-z0-9]+)*$",
|
|
11
|
+
}),
|
|
12
|
+
q: s.string("Search keywords, such as music or python workshops.", {
|
|
13
|
+
minLength: 1,
|
|
14
|
+
maxLength: 200,
|
|
15
|
+
pattern: "^\\S+(?: \\S+)*$",
|
|
16
|
+
}),
|
|
17
|
+
page: s.integer("Results page, starting at 1.", { minimum: 1, maximum: 100 }),
|
|
18
|
+
}, { required: [] }),
|
|
19
|
+
asyncInput: s.object("Eventbrite Search asynchronous parameters.", {
|
|
20
|
+
location: s.string("Eventbrite location slug, such as tx--austin, ny--new-york, or online.", {
|
|
21
|
+
maxLength: 150,
|
|
22
|
+
pattern: "^[a-z0-9]+(?:-[a-z0-9]+|--[a-z0-9]+)*$",
|
|
23
|
+
}),
|
|
24
|
+
q: s.string("Search keywords, such as music or python workshops.", {
|
|
25
|
+
minLength: 1,
|
|
26
|
+
maxLength: 200,
|
|
27
|
+
pattern: "^\\S+(?: \\S+)*$",
|
|
28
|
+
}),
|
|
29
|
+
page: s.integer("Results page, starting at 1.", { minimum: 1, maximum: 100 }),
|
|
30
|
+
timeout: s.number("Execution budget in seconds for each attempt. Queue and retry backoff time do not consume it. Supply once, in the JSON body or query string.", { maximum: 90, exclusiveMinimum: 0 }),
|
|
31
|
+
}, { required: [] }),
|
|
32
|
+
output: s.looseObject("Eventbrite Search response.", {
|
|
33
|
+
search_metadata: s.looseObject("search metadata value.", {}),
|
|
34
|
+
search_parameters: s.looseObject("search parameters value.", {}),
|
|
35
|
+
organic_results: s.array("organic results value.", s.looseObject("organic results value. item.", {})),
|
|
36
|
+
promoted_results: s.array("promoted results value.", s.looseObject("promoted results value. item.", {})),
|
|
37
|
+
pagination: s.looseObject("pagination value.", {}),
|
|
38
|
+
submit_feedback_for_this_response_here: s.string("Optional URL for submitting feedback about this result.", {
|
|
39
|
+
format: "uri",
|
|
40
|
+
}),
|
|
41
|
+
}),
|
|
42
|
+
},
|
|
43
|
+
];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
|
|
2
|
+
export declare const credentialValidators: CredentialValidators;
|
|
3
|
+
export declare const executors: ProviderExecutors;
|
|
4
|
+
export declare const proxy: ProviderProxyExecutor;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { optionalRecord, optionalString } from "../../core/cast.js";
|
|
2
|
+
import { randomUUIDv7 } from "../../core/uuid-v7.js";
|
|
3
|
+
import { requiredResponseRecord, isAbortLikeError, runProviderRequest, ProviderRequestError, providerInputError, providerResponseError, defineApiKeyProviderExecutors, defineProviderProxy, } from "../provider-runtime.js";
|
|
4
|
+
import { litescrapeActions } from "./actions.js";
|
|
5
|
+
import { litescrapeEndpointByName, litescrapeToolByName } from "./actions.js";
|
|
6
|
+
const baseUrl = "https://api.litescrape.com";
|
|
7
|
+
async function request(apiKey, name, input, fetcher, validating = false, parentSignal) {
|
|
8
|
+
const endpoint = litescrapeEndpointByName.get(name);
|
|
9
|
+
const body = { ...input };
|
|
10
|
+
let path = endpoint.path;
|
|
11
|
+
const headers = new Headers({ accept: "application/json" });
|
|
12
|
+
if (name !== "submit_feedback")
|
|
13
|
+
headers.set("authorization", `Bearer ${apiKey}`);
|
|
14
|
+
for (const key of ["job_id", "token"]) {
|
|
15
|
+
if (!path.includes(`{${key}}`))
|
|
16
|
+
continue;
|
|
17
|
+
const value = String(input[key]);
|
|
18
|
+
if (value === "." || value === "..")
|
|
19
|
+
throw providerInputError("Invalid path identifier");
|
|
20
|
+
path = path.replace(`{${key}}`, encodeURIComponent(value));
|
|
21
|
+
delete body[key];
|
|
22
|
+
}
|
|
23
|
+
let payload = body;
|
|
24
|
+
if (endpoint.path.endsWith("/async")) {
|
|
25
|
+
payload = optionalRecord(input.body);
|
|
26
|
+
headers.set("Idempotency-Key", optionalString(input.idempotencyKey) ?? randomUUIDv7());
|
|
27
|
+
if (input.batchId !== undefined)
|
|
28
|
+
headers.set("X-Litescrape-Batch-Id", String(input.batchId));
|
|
29
|
+
if (input.batchSize !== undefined)
|
|
30
|
+
headers.set("X-Litescrape-Batch-Size", String(input.batchSize));
|
|
31
|
+
}
|
|
32
|
+
if (name === "disable_auto_top_up")
|
|
33
|
+
payload = { enabled: false };
|
|
34
|
+
const url = new URL(path, baseUrl);
|
|
35
|
+
if (endpoint.method === "GET") {
|
|
36
|
+
for (const [key, value] of Object.entries(body))
|
|
37
|
+
if (value !== undefined)
|
|
38
|
+
url.searchParams.set(key, String(value));
|
|
39
|
+
}
|
|
40
|
+
else if (!endpoint.path.endsWith("/async") && body.timeout !== undefined) {
|
|
41
|
+
url.searchParams.set("timeout", String(body.timeout));
|
|
42
|
+
delete body.timeout;
|
|
43
|
+
}
|
|
44
|
+
const timeoutMs = litescrapeToolByName.has(name) ? 100000 : undefined;
|
|
45
|
+
return runProviderRequest({ label: "Litescrape", timeoutMs, signal: parentSignal }, async (signal) => {
|
|
46
|
+
if (endpoint.method !== "GET")
|
|
47
|
+
headers.set("content-type", "application/json");
|
|
48
|
+
const response = await fetcher(url, {
|
|
49
|
+
method: endpoint.method,
|
|
50
|
+
headers,
|
|
51
|
+
body: endpoint.method === "GET" ? undefined : JSON.stringify(payload),
|
|
52
|
+
signal,
|
|
53
|
+
});
|
|
54
|
+
const result = await response.json().catch((error) => {
|
|
55
|
+
if (isAbortLikeError(error))
|
|
56
|
+
throw error;
|
|
57
|
+
return undefined;
|
|
58
|
+
});
|
|
59
|
+
if (!response.ok) {
|
|
60
|
+
const object = optionalRecord(result);
|
|
61
|
+
const detail = [
|
|
62
|
+
optionalString(object?.error_code),
|
|
63
|
+
optionalString(object?.error),
|
|
64
|
+
optionalString(object?.message),
|
|
65
|
+
]
|
|
66
|
+
.filter(Boolean)
|
|
67
|
+
.join(": ");
|
|
68
|
+
const credentialFailure = ["invalid_key", "invalid_api_key", "api_key_disabled"].includes(optionalString(object?.error_code) ?? "");
|
|
69
|
+
throw new ProviderRequestError(credentialFailure && validating ? 400 : response.status, `Litescrape request failed (${response.status})${detail ? `: ${detail}` : ""}`, undefined, credentialFailure ? (validating ? "invalid_input" : "authorization_failed") : "provider_error");
|
|
70
|
+
}
|
|
71
|
+
const object = requiredResponseRecord(result, "Litescrape response");
|
|
72
|
+
if (endpoint.path.endsWith("/async") && !optionalString(object.job_id))
|
|
73
|
+
throw providerResponseError("Litescrape asynchronous response is missing job_id");
|
|
74
|
+
if (name === "get_job" && !optionalString(object.state))
|
|
75
|
+
throw providerResponseError("Litescrape job response is missing state");
|
|
76
|
+
return object;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async function normalizeScreenshot(value, transitFiles) {
|
|
80
|
+
const encoded = optionalString(value.screenshot_base64);
|
|
81
|
+
if (encoded === undefined)
|
|
82
|
+
return value;
|
|
83
|
+
if (!transitFiles)
|
|
84
|
+
throw new ProviderRequestError(500, "Litescrape screenshots require file transit and execution context", undefined, "provider_error");
|
|
85
|
+
const bytes = Buffer.from(encoded, "base64");
|
|
86
|
+
if (bytes.length < 8 || !bytes.subarray(0, 8).equals(Buffer.from([137, 80, 78, 71, 13, 10, 26, 10])))
|
|
87
|
+
throw providerResponseError("Litescrape returned an invalid PNG screenshot");
|
|
88
|
+
const file = await transitFiles.create(new File([bytes], "litescrape-screenshot.png", { type: "image/png" }));
|
|
89
|
+
const { screenshot_base64: _, ...rest } = value;
|
|
90
|
+
return { ...rest, screenshot: { url: file.downloadUrl, mimeType: "image/png" } };
|
|
91
|
+
}
|
|
92
|
+
async function execute(actionName, values, context) {
|
|
93
|
+
const { apiKey, fetcher } = context;
|
|
94
|
+
const endpoint = litescrapeEndpointByName.get(actionName);
|
|
95
|
+
if (!endpoint)
|
|
96
|
+
throw providerInputError(`Unknown Litescrape action: ${actionName}`);
|
|
97
|
+
const data = values;
|
|
98
|
+
if (actionName === "google_search" || actionName === "submit_google_search") {
|
|
99
|
+
const search = actionName === "google_search" ? data : optionalRecord(data.body);
|
|
100
|
+
if (!["q", "ludocid", "kgmid", "page_token"].some((key) => optionalString(search[key])?.trim()))
|
|
101
|
+
throw providerInputError("Provide q, ludocid, kgmid or page_token");
|
|
102
|
+
if (search.page_token &&
|
|
103
|
+
Object.entries(search).some(([key, value]) => key !== "page_token" && key !== "timeout" && value != null))
|
|
104
|
+
throw providerInputError("Send page_token without other search parameters");
|
|
105
|
+
}
|
|
106
|
+
if (actionName === "setup_auto_top_up" && Number(data.monthly_limit_cents) < Number(data.top_up_cents))
|
|
107
|
+
throw providerInputError("monthly_limit_cents must cover one top-up");
|
|
108
|
+
const isScreenshot = actionName === "web_screenshot" || actionName === "submit_web_screenshot";
|
|
109
|
+
if (isScreenshot && !context.transitFiles)
|
|
110
|
+
throw new ProviderRequestError(500, "Litescrape screenshots require file transit and execution context", undefined, "provider_error");
|
|
111
|
+
const result = await request(apiKey, actionName, data, fetcher, undefined, context.signal);
|
|
112
|
+
if (actionName === "get_job" || actionName === "submit_web_screenshot") {
|
|
113
|
+
const response = optionalRecord(result.response);
|
|
114
|
+
if (response && result.state === "succeeded")
|
|
115
|
+
return {
|
|
116
|
+
...result,
|
|
117
|
+
response: await normalizeScreenshot(response, context.transitFiles),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (actionName === "web_screenshot" && !optionalString(result.screenshot_base64))
|
|
121
|
+
throw providerResponseError("Litescrape screenshot response is missing screenshot_base64");
|
|
122
|
+
return actionName === "web_screenshot" ? normalizeScreenshot(result, context.transitFiles) : result;
|
|
123
|
+
}
|
|
124
|
+
export const credentialValidators = {
|
|
125
|
+
async apiKey(input, { fetcher, signal }) {
|
|
126
|
+
await request(input.apiKey, "get_key_status", {}, fetcher, true, signal);
|
|
127
|
+
return { profile: { displayName: "Litescrape API Key" }, grantedScopes: [], metadata: {} };
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
export const executors = defineApiKeyProviderExecutors("litescrape", Object.fromEntries(litescrapeActions.map((action) => [action.name, (values, context) => execute(action.name, values, context)])));
|
|
131
|
+
export const proxy = defineProviderProxy({
|
|
132
|
+
service: "litescrape",
|
|
133
|
+
baseUrl: baseUrl,
|
|
134
|
+
auth: { type: "api_key_authorization", prefix: "Bearer " },
|
|
135
|
+
customizeRequest({ headers }) {
|
|
136
|
+
headers.set("accept", "application/json");
|
|
137
|
+
},
|
|
138
|
+
});
|