runline 0.33.0 → 0.35.0
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/auth/oauth2.d.ts +7 -1
- package/dist/auth/oauth2.js +10 -0
- package/dist/auth/token.d.ts +1 -0
- package/dist/auth/token.js +19 -1
- package/dist/auth/types.d.ts +22 -1
- package/dist/core/engine.d.ts +7 -0
- package/dist/core/engine.js +21 -8
- package/dist/credentials/policy.d.ts +53 -1
- package/dist/credentials/policy.js +146 -6
- package/dist/credentials/registry.d.ts +9 -0
- package/dist/credentials/registry.js +184 -22
- package/dist/credentials/transport.d.ts +48 -2
- package/dist/credentials/transport.js +248 -70
- package/dist/credentials/types.d.ts +177 -10
- package/dist/index.d.ts +6 -5
- package/dist/index.js +3 -2
- package/dist/plugin/api.d.ts +7 -0
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/schema.d.ts +16 -4
- package/dist/plugin/schema.js +28 -5
- package/dist/plugin/types.d.ts +20 -0
- package/dist/plugins/_shared/base64.js +30 -0
- package/dist/plugins/_shared/credentialAdapter.js +99 -15
- package/dist/plugins/_shared/credentials.js +416 -0
- package/dist/plugins/_shared/googleAuth.js +69 -39
- package/dist/plugins/_shared/googleCredentials.js +68 -14
- package/dist/plugins/_shared/localFile.js +40 -0
- package/dist/plugins/_shared/mediaFile.js +12 -12
- package/dist/plugins/_shared/microsoftAuth.js +31 -47
- package/dist/plugins/_shared/microsoftCredentials.js +42 -15
- package/dist/plugins/_shared/provider.js +2 -14
- package/dist/plugins/_shared/shiftCloud.js +16 -56
- package/dist/plugins/_shared/shiftCredentials.js +83 -0
- package/dist/plugins/_shared/shiftUpload.js +14 -10
- package/dist/plugins/actionNetwork/src/credentials.js +14 -0
- package/dist/plugins/actionNetwork/src/index.js +39 -50
- package/dist/plugins/activeCampaign/src/credentials.js +22 -0
- package/dist/plugins/activeCampaign/src/index.js +61 -132
- package/dist/plugins/adalo/src/credentials.js +16 -0
- package/dist/plugins/adalo/src/index.js +19 -43
- package/dist/plugins/affinity/src/credentials.js +19 -0
- package/dist/plugins/affinity/src/index.js +29 -54
- package/dist/plugins/agentMail/src/credentials.js +35 -0
- package/dist/plugins/agentMail/src/drafts.js +137 -0
- package/dist/plugins/agentMail/src/inboxes.js +95 -0
- package/dist/plugins/agentMail/src/index.js +35 -0
- package/dist/plugins/agentMail/src/messages.js +154 -0
- package/dist/plugins/agentMail/src/schemas.js +156 -0
- package/dist/plugins/agentMail/src/shared.js +203 -0
- package/dist/plugins/agentMail/src/threads.js +75 -0
- package/dist/plugins/agileCrm/src/credentials.js +16 -0
- package/dist/plugins/agileCrm/src/index.js +46 -112
- package/dist/plugins/airtable/src/credentials.js +19 -0
- package/dist/plugins/airtable/src/index.js +37 -50
- package/dist/plugins/airtop/src/credentials.js +20 -0
- package/dist/plugins/airtop/src/index.js +51 -75
- package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
- package/dist/plugins/apiTemplateIo/src/index.js +14 -31
- package/dist/plugins/asana/src/credentials.js +19 -0
- package/dist/plugins/asana/src/index.js +51 -72
- package/dist/plugins/autopilot/src/credentials.js +19 -0
- package/dist/plugins/autopilot/src/index.js +38 -45
- package/dist/plugins/bambooHr/src/credentials.js +16 -0
- package/dist/plugins/bambooHr/src/index.js +41 -67
- package/dist/plugins/bannerbear/src/credentials.js +19 -0
- package/dist/plugins/bannerbear/src/index.js +15 -27
- package/dist/plugins/baserow/src/credentials.js +17 -0
- package/dist/plugins/baserow/src/index.js +23 -49
- package/dist/plugins/beeminder/src/credentials.js +19 -0
- package/dist/plugins/beeminder/src/index.js +32 -54
- package/dist/plugins/bitly/src/credentials.js +19 -0
- package/dist/plugins/bitly/src/index.js +12 -26
- package/dist/plugins/bitwarden/src/credentials.js +62 -0
- package/dist/plugins/bitwarden/src/index.js +34 -80
- package/dist/plugins/box/src/credentials.js +19 -0
- package/dist/plugins/box/src/index.js +24 -49
- package/dist/plugins/brandfetch/src/credentials.js +13 -0
- package/dist/plugins/brandfetch/src/index.js +12 -17
- package/dist/plugins/brevo/src/credentials.js +19 -0
- package/dist/plugins/brevo/src/index.js +30 -51
- package/dist/plugins/bubble/src/credentials.js +28 -0
- package/dist/plugins/bubble/src/index.js +29 -65
- package/dist/plugins/chargebee/src/credentials.js +16 -0
- package/dist/plugins/chargebee/src/index.js +15 -45
- package/dist/plugins/circleci/src/credentials.js +19 -0
- package/dist/plugins/circleci/src/index.js +19 -39
- package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
- package/dist/plugins/ciscoWebex/src/index.js +43 -61
- package/dist/plugins/clearbit/src/credentials.js +22 -0
- package/dist/plugins/clearbit/src/index.js +11 -21
- package/dist/plugins/clickup/src/credentials.js +19 -0
- package/dist/plugins/clickup/src/index.js +85 -117
- package/dist/plugins/clockify/src/credentials.js +19 -0
- package/dist/plugins/clockify/src/index.js +46 -61
- package/dist/plugins/cloudflare/src/credentials.js +19 -0
- package/dist/plugins/cloudflare/src/index.js +19 -34
- package/dist/plugins/cockpit/src/credentials.js +17 -0
- package/dist/plugins/cockpit/src/index.js +18 -31
- package/dist/plugins/coda/src/credentials.js +19 -0
- package/dist/plugins/coda/src/index.js +33 -50
- package/dist/plugins/coingecko/src/credentials.js +20 -0
- package/dist/plugins/coingecko/src/index.js +24 -34
- package/dist/plugins/contentful/src/credentials.js +26 -0
- package/dist/plugins/contentful/src/index.js +19 -40
- package/dist/plugins/convertkit/src/credentials.js +26 -0
- package/dist/plugins/convertkit/src/index.js +27 -45
- package/dist/plugins/copper/src/credentials.js +17 -0
- package/dist/plugins/copper/src/index.js +25 -47
- package/dist/plugins/cortex/src/credentials.js +28 -0
- package/dist/plugins/cortex/src/index.js +26 -49
- package/dist/plugins/currents/src/credentials.js +19 -0
- package/dist/plugins/currents/src/index.js +46 -59
- package/dist/plugins/customerIo/src/credentials.js +52 -0
- package/dist/plugins/customerIo/src/index.js +30 -58
- package/dist/plugins/databricks/src/credentials.js +13 -0
- package/dist/plugins/databricks/src/index.js +51 -103
- package/dist/plugins/deepl/src/credentials.js +19 -0
- package/dist/plugins/deepl/src/index.js +13 -39
- package/dist/plugins/demio/src/credentials.js +26 -0
- package/dist/plugins/demio/src/index.js +17 -41
- package/dist/plugins/dhl/src/credentials.js +13 -0
- package/dist/plugins/dhl/src/index.js +8 -19
- package/dist/plugins/discord/src/credentials.js +19 -0
- package/dist/plugins/discord/src/index.js +30 -58
- package/dist/plugins/discourse/src/credentials.js +18 -0
- package/dist/plugins/discourse/src/index.js +36 -53
- package/dist/plugins/disqus/src/credentials.js +13 -0
- package/dist/plugins/disqus/src/index.js +14 -32
- package/dist/plugins/drift/src/credentials.js +13 -0
- package/dist/plugins/drift/src/index.js +16 -26
- package/dist/plugins/dropbox/src/credentials.js +13 -0
- package/dist/plugins/dropbox/src/index.js +23 -30
- package/dist/plugins/dropcontact/src/credentials.js +13 -0
- package/dist/plugins/dropcontact/src/index.js +13 -18
- package/dist/plugins/egoi/src/credentials.js +19 -0
- package/dist/plugins/egoi/src/index.js +23 -38
- package/dist/plugins/elasticsearch/src/credentials.js +18 -0
- package/dist/plugins/elasticsearch/src/index.js +27 -48
- package/dist/plugins/elevenlabs/src/credentials.js +30 -0
- package/dist/plugins/elevenlabs/src/index.js +4 -1
- package/dist/plugins/elevenlabs/src/schemas.js +2 -1
- package/dist/plugins/elevenlabs/src/shared.js +87 -62
- package/dist/plugins/elevenlabs/src/workflows.js +2 -2
- package/dist/plugins/emelia/src/credentials.js +14 -0
- package/dist/plugins/emelia/src/index.js +19 -23
- package/dist/plugins/erpnext/src/credentials.js +27 -0
- package/dist/plugins/erpnext/src/index.js +21 -42
- package/dist/plugins/facebookGraph/src/credentials.js +20 -0
- package/dist/plugins/facebookGraph/src/index.js +39 -37
- package/dist/plugins/fal/src/credentials.js +14 -0
- package/dist/plugins/fal/src/index.js +5 -3
- package/dist/plugins/fal/src/shared.js +58 -63
- package/dist/plugins/freshdesk/src/credentials.js +20 -0
- package/dist/plugins/freshdesk/src/index.js +25 -46
- package/dist/plugins/freshservice/src/credentials.js +16 -0
- package/dist/plugins/freshservice/src/index.js +37 -58
- package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
- package/dist/plugins/freshworksCrm/src/index.js +20 -39
- package/dist/plugins/getresponse/src/credentials.js +22 -0
- package/dist/plugins/getresponse/src/index.js +20 -32
- package/dist/plugins/gett/src/credentials.js +64 -0
- package/dist/plugins/gett/src/index.js +11 -6
- package/dist/plugins/gett/src/login.js +24 -0
- package/dist/plugins/gett/src/session.js +15 -38
- package/dist/plugins/gett/src/shared.js +41 -84
- package/dist/plugins/ghost/src/credentials.js +36 -0
- package/dist/plugins/ghost/src/index.js +18 -59
- package/dist/plugins/github/src/credentials.js +18 -0
- package/dist/plugins/github/src/index.js +55 -78
- package/dist/plugins/gitlab/src/credentials.js +24 -0
- package/dist/plugins/gitlab/src/index.js +29 -48
- package/dist/plugins/gmail/src/index.js +47 -108
- package/dist/plugins/gong/src/credentials.js +16 -0
- package/dist/plugins/gong/src/index.js +16 -32
- package/dist/plugins/googleAppsScript/src/index.js +109 -42
- package/dist/plugins/googleCalendar/src/index.js +20 -51
- package/dist/plugins/googleContacts/src/index.js +13 -40
- package/dist/plugins/googleDocs/src/index.js +3 -32
- package/dist/plugins/googleDocs/src/shared.js +2 -1
- package/dist/plugins/googleDrive/src/index.js +68 -97
- package/dist/plugins/googleImage/src/credentials.js +14 -0
- package/dist/plugins/googleImage/src/index.js +15 -26
- package/dist/plugins/googleSheets/src/index.js +27 -60
- package/dist/plugins/googleSlides/src/index.js +7 -35
- package/dist/plugins/googleTasks/src/index.js +14 -42
- package/dist/plugins/gotify/src/credentials.js +32 -0
- package/dist/plugins/gotify/src/index.js +14 -36
- package/dist/plugins/gotowebinar/src/credentials.js +13 -0
- package/dist/plugins/gotowebinar/src/index.js +52 -69
- package/dist/plugins/grafana/src/credentials.js +16 -0
- package/dist/plugins/grafana/src/index.js +34 -53
- package/dist/plugins/graphql/src/credentials.js +42 -0
- package/dist/plugins/graphql/src/index.js +21 -46
- package/dist/plugins/grist/src/credentials.js +30 -0
- package/dist/plugins/grist/src/index.js +14 -43
- package/dist/plugins/halopsa/src/credentials.js +56 -0
- package/dist/plugins/halopsa/src/index.js +20 -47
- package/dist/plugins/harvest/src/credentials.js +20 -0
- package/dist/plugins/harvest/src/index.js +24 -43
- package/dist/plugins/helpscout/src/credentials.js +13 -0
- package/dist/plugins/helpscout/src/index.js +26 -38
- package/dist/plugins/highlevel/src/credentials.js +19 -0
- package/dist/plugins/highlevel/src/index.js +42 -65
- package/dist/plugins/homeAssistant/src/credentials.js +27 -0
- package/dist/plugins/homeAssistant/src/index.js +34 -52
- package/dist/plugins/hubspot/src/credentials.js +16 -0
- package/dist/plugins/hubspot/src/index.js +29 -41
- package/dist/plugins/humanticAi/src/credentials.js +13 -0
- package/dist/plugins/humanticAi/src/index.js +15 -22
- package/dist/plugins/hunter/src/credentials.js +13 -0
- package/dist/plugins/hunter/src/index.js +18 -17
- package/dist/plugins/intercom/src/credentials.js +19 -0
- package/dist/plugins/intercom/src/index.js +25 -38
- package/dist/plugins/iterable/src/credentials.js +17 -0
- package/dist/plugins/iterable/src/index.js +26 -40
- package/dist/plugins/jenkins/src/credentials.js +16 -0
- package/dist/plugins/jenkins/src/index.js +22 -36
- package/dist/plugins/jira/src/credentials.js +16 -0
- package/dist/plugins/jira/src/index.js +35 -61
- package/dist/plugins/keap/src/credentials.js +19 -0
- package/dist/plugins/keap/src/index.js +43 -71
- package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
- package/dist/plugins/kobotoolbox/src/index.js +46 -84
- package/dist/plugins/lemlist/src/credentials.js +19 -0
- package/dist/plugins/lemlist/src/index.js +35 -47
- package/dist/plugins/linear/src/attachments.js +7 -7
- package/dist/plugins/linear/src/comments.js +7 -7
- package/dist/plugins/linear/src/credentials.js +17 -0
- package/dist/plugins/linear/src/cycles.js +5 -5
- package/dist/plugins/linear/src/index.js +2 -0
- package/dist/plugins/linear/src/initiatives.js +6 -6
- package/dist/plugins/linear/src/issues.js +14 -14
- package/dist/plugins/linear/src/labels.js +6 -6
- package/dist/plugins/linear/src/organization.js +2 -2
- package/dist/plugins/linear/src/projects.js +12 -12
- package/dist/plugins/linear/src/shared.js +34 -32
- package/dist/plugins/linear/src/states.js +3 -3
- package/dist/plugins/linear/src/teams.js +4 -4
- package/dist/plugins/linear/src/users.js +3 -3
- package/dist/plugins/linear/src/views.js +5 -5
- package/dist/plugins/linear/src/webhooks.js +5 -5
- package/dist/plugins/lingvanex/src/credentials.js +13 -0
- package/dist/plugins/lingvanex/src/index.js +7 -9
- package/dist/plugins/linkedin/src/credentials.js +17 -0
- package/dist/plugins/linkedin/src/index.js +13 -17
- package/dist/plugins/lonescale/src/credentials.js +13 -0
- package/dist/plugins/lonescale/src/index.js +16 -26
- package/dist/plugins/magento/src/credentials.js +16 -0
- package/dist/plugins/magento/src/index.js +67 -84
- package/dist/plugins/mailcheck/src/credentials.js +17 -0
- package/dist/plugins/mailcheck/src/index.js +7 -9
- package/dist/plugins/mailchimp/src/credentials.js +32 -0
- package/dist/plugins/mailchimp/src/index.js +36 -44
- package/dist/plugins/mailerlite/src/credentials.js +13 -0
- package/dist/plugins/mailerlite/src/index.js +19 -32
- package/dist/plugins/mailgun/src/credentials.js +21 -0
- package/dist/plugins/mailgun/src/index.js +15 -21
- package/dist/plugins/mailjet/src/credentials.js +38 -0
- package/dist/plugins/mailjet/src/index.js +60 -115
- package/dist/plugins/mandrill/src/credentials.js +17 -0
- package/dist/plugins/mandrill/src/index.js +11 -12
- package/dist/plugins/marketstack/src/credentials.js +16 -0
- package/dist/plugins/marketstack/src/index.js +18 -28
- package/dist/plugins/matrix/src/credentials.js +19 -0
- package/dist/plugins/matrix/src/index.js +23 -52
- package/dist/plugins/mattermost/src/credentials.js +19 -0
- package/dist/plugins/mattermost/src/index.js +41 -73
- package/dist/plugins/mautic/src/credentials.js +16 -0
- package/dist/plugins/mautic/src/index.js +46 -62
- package/dist/plugins/medium/src/credentials.js +20 -0
- package/dist/plugins/medium/src/index.js +18 -23
- package/dist/plugins/messagebird/src/credentials.js +22 -0
- package/dist/plugins/messagebird/src/index.js +13 -18
- package/dist/plugins/metabase/src/credentials.js +19 -0
- package/dist/plugins/metabase/src/index.js +24 -40
- package/dist/plugins/microsoftCalendar/src/index.js +49 -18
- package/dist/plugins/microsoftFiles/src/index.js +95 -31
- package/dist/plugins/microsoftMail/src/index.js +63 -21
- package/dist/plugins/misp/src/credentials.js +16 -0
- package/dist/plugins/misp/src/index.js +60 -71
- package/dist/plugins/mocean/src/credentials.js +17 -0
- package/dist/plugins/mocean/src/index.js +11 -23
- package/dist/plugins/monday/src/credentials.js +14 -0
- package/dist/plugins/monday/src/index.js +31 -44
- package/dist/plugins/monicaCrm/src/credentials.js +19 -0
- package/dist/plugins/monicaCrm/src/index.js +25 -42
- package/dist/plugins/msg91/src/credentials.js +10 -0
- package/dist/plugins/msg91/src/index.js +15 -11
- package/dist/plugins/nasa/src/credentials.js +22 -0
- package/dist/plugins/nasa/src/index.js +24 -28
- package/dist/plugins/netlify/src/credentials.js +19 -0
- package/dist/plugins/netlify/src/index.js +27 -51
- package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
- package/dist/plugins/netscalerAdc/src/index.js +16 -31
- package/dist/plugins/nextcloud/src/credentials.js +27 -0
- package/dist/plugins/nextcloud/src/index.js +55 -109
- package/dist/plugins/nocodb/src/credentials.js +16 -0
- package/dist/plugins/nocodb/src/index.js +19 -37
- package/dist/plugins/notion/src/credentials.js +21 -0
- package/dist/plugins/notion/src/index.js +25 -38
- package/dist/plugins/npm/src/credentials.js +19 -0
- package/dist/plugins/npm/src/index.js +22 -32
- package/dist/plugins/odoo/src/credentials.js +21 -0
- package/dist/plugins/odoo/src/index.js +53 -69
- package/dist/plugins/okta/src/credentials.js +23 -0
- package/dist/plugins/okta/src/index.js +30 -35
- package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
- package/dist/plugins/oneSimpleApi/src/index.js +19 -24
- package/dist/plugins/onfleet/src/credentials.js +23 -0
- package/dist/plugins/onfleet/src/index.js +42 -53
- package/dist/plugins/openai/src/credentials.js +13 -0
- package/dist/plugins/openai/src/index.js +16 -24
- package/dist/plugins/openweathermap/src/credentials.js +16 -0
- package/dist/plugins/openweathermap/src/index.js +22 -22
- package/dist/plugins/oura/src/credentials.js +19 -0
- package/dist/plugins/oura/src/index.js +13 -18
- package/dist/plugins/paddle/src/credentials.js +27 -0
- package/dist/plugins/paddle/src/index.js +20 -36
- package/dist/plugins/pagerduty/src/credentials.js +24 -0
- package/dist/plugins/pagerduty/src/index.js +30 -39
- package/dist/plugins/parallel/src/credentials.js +18 -0
- package/dist/plugins/parallel/src/index.js +16 -22
- package/dist/plugins/paypal/src/credentials.js +44 -0
- package/dist/plugins/paypal/src/index.js +14 -40
- package/dist/plugins/peekalink/src/credentials.js +16 -0
- package/dist/plugins/peekalink/src/index.js +10 -11
- package/dist/plugins/phantombuster/src/credentials.js +19 -0
- package/dist/plugins/phantombuster/src/index.js +19 -32
- package/dist/plugins/philipsHue/src/credentials.js +17 -0
- package/dist/plugins/philipsHue/src/index.js +15 -27
- package/dist/plugins/pipedrive/src/credentials.js +26 -0
- package/dist/plugins/pipedrive/src/index.js +43 -73
- package/dist/plugins/plaud/src/index.js +2 -1
- package/dist/plugins/plaud/src/shared.js +23 -19
- package/dist/plugins/plivo/src/credentials.js +20 -0
- package/dist/plugins/plivo/src/index.js +13 -19
- package/dist/plugins/posthog/src/credentials.js +18 -0
- package/dist/plugins/posthog/src/index.js +14 -20
- package/dist/plugins/profitwell/src/credentials.js +22 -0
- package/dist/plugins/profitwell/src/index.js +10 -17
- package/dist/plugins/pushbullet/src/credentials.js +19 -0
- package/dist/plugins/pushbullet/src/index.js +19 -27
- package/dist/plugins/pushcut/src/credentials.js +19 -0
- package/dist/plugins/pushcut/src/index.js +7 -8
- package/dist/plugins/pushover/src/credentials.js +14 -0
- package/dist/plugins/pushover/src/index.js +7 -12
- package/dist/plugins/quickbase/src/credentials.js +15 -0
- package/dist/plugins/quickbase/src/index.js +24 -34
- package/dist/plugins/quickbooks/src/credentials.js +22 -0
- package/dist/plugins/quickbooks/src/index.js +17 -46
- package/dist/plugins/raindrop/src/credentials.js +19 -0
- package/dist/plugins/raindrop/src/index.js +30 -32
- package/dist/plugins/recraft/src/credentials.js +13 -0
- package/dist/plugins/recraft/src/index.js +39 -28
- package/dist/plugins/reddit/src/credentials.js +26 -0
- package/dist/plugins/reddit/src/index.js +30 -34
- package/dist/plugins/replicate/src/credentials.js +23 -0
- package/dist/plugins/replicate/src/index.js +18 -28
- package/dist/plugins/rocketchat/src/credentials.js +17 -0
- package/dist/plugins/rocketchat/src/index.js +8 -19
- package/dist/plugins/rundeck/src/credentials.js +16 -0
- package/dist/plugins/rundeck/src/index.js +12 -28
- package/dist/plugins/salesforce/src/credentials.js +73 -0
- package/dist/plugins/salesforce/src/index.js +6 -0
- package/dist/plugins/salesforce/src/metadata.js +3 -16
- package/dist/plugins/salesforce/src/shared.js +25 -100
- package/dist/plugins/salesforce/src/sobjects.js +10 -9
- package/dist/plugins/salesmate/src/credentials.js +17 -0
- package/dist/plugins/salesmate/src/index.js +20 -37
- package/dist/plugins/securityScorecard/src/credentials.js +22 -0
- package/dist/plugins/securityScorecard/src/index.js +24 -37
- package/dist/plugins/segment/src/credentials.js +16 -0
- package/dist/plugins/segment/src/index.js +12 -16
- package/dist/plugins/sendgrid/src/credentials.js +13 -0
- package/dist/plugins/sendgrid/src/index.js +31 -35
- package/dist/plugins/sendy/src/credentials.js +18 -0
- package/dist/plugins/sendy/src/index.js +18 -24
- package/dist/plugins/sentry/src/credentials.js +16 -0
- package/dist/plugins/sentry/src/index.js +30 -98
- package/dist/plugins/servicenow/src/credentials.js +13 -0
- package/dist/plugins/servicenow/src/index.js +22 -41
- package/dist/plugins/shiftAtlas/src/graph.js +2 -2
- package/dist/plugins/shiftAtlas/src/index.js +2 -0
- package/dist/plugins/shiftAtlas/src/shared.js +3 -1
- package/dist/plugins/shiftBwm/src/index.js +4 -2
- package/dist/plugins/shiftBwm/src/shared.js +41 -16
- package/dist/plugins/shiftCrm/src/access.js +2 -2
- package/dist/plugins/shiftCrm/src/accounts.js +3 -3
- package/dist/plugins/shiftCrm/src/activities.js +3 -3
- package/dist/plugins/shiftCrm/src/credentials.js +6 -0
- package/dist/plugins/shiftCrm/src/index.js +2 -0
- package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
- package/dist/plugins/shiftCrm/src/people.js +3 -3
- package/dist/plugins/shiftCrm/src/records.js +2 -2
- package/dist/plugins/shiftCrm/src/shared.js +2 -1
- package/dist/plugins/shiftCrm/src/tasks.js +3 -3
- package/dist/plugins/shiftObjects/src/credentials.js +2 -0
- package/dist/plugins/shiftObjects/src/index.js +2 -0
- package/dist/plugins/shiftObjects/src/objects.js +4 -3
- package/dist/plugins/shiftOcr/src/credentials.js +8 -0
- package/dist/plugins/shiftOcr/src/index.js +14 -8
- package/dist/plugins/shiftPages/src/index.js +2 -0
- package/dist/plugins/shiftPages/src/pages.js +5 -3
- package/dist/plugins/shiftPages/src/shared.js +3 -1
- package/dist/plugins/shiftTranscription/src/index.js +2 -0
- package/dist/plugins/shiftTranscription/src/shared.js +11 -1
- package/dist/plugins/shiftTranscription/src/transcription.js +5 -5
- package/dist/plugins/shiftWork/src/index.js +2 -0
- package/dist/plugins/shiftWork/src/issue-views.js +5 -5
- package/dist/plugins/shiftWork/src/issues.js +11 -7
- package/dist/plugins/shiftWork/src/projects.js +3 -3
- package/dist/plugins/shiftWork/src/shared.js +3 -1
- package/dist/plugins/shopify/src/credentials.js +16 -0
- package/dist/plugins/shopify/src/index.js +32 -59
- package/dist/plugins/signl4/src/credentials.js +17 -0
- package/dist/plugins/signl4/src/index.js +28 -29
- package/dist/plugins/slack/src/credentials.js +19 -0
- package/dist/plugins/slack/src/index.js +51 -60
- package/dist/plugins/sms77/src/credentials.js +17 -0
- package/dist/plugins/sms77/src/index.js +11 -16
- package/dist/plugins/splunk/src/credentials.js +19 -0
- package/dist/plugins/splunk/src/index.js +32 -74
- package/dist/plugins/spotify/src/credentials.js +19 -0
- package/dist/plugins/spotify/src/index.js +40 -55
- package/dist/plugins/stackby/src/credentials.js +13 -0
- package/dist/plugins/stackby/src/index.js +14 -23
- package/dist/plugins/steel/src/auth.js +27 -0
- package/dist/plugins/steel/src/browser.js +4 -3
- package/dist/plugins/steel/src/captchas.js +4 -3
- package/dist/plugins/steel/src/extensions.js +3 -2
- package/dist/plugins/steel/src/files.js +9 -10
- package/dist/plugins/steel/src/index.js +2 -0
- package/dist/plugins/steel/src/page/tools.js +3 -3
- package/dist/plugins/steel/src/profiles.js +4 -3
- package/dist/plugins/steel/src/sessions.js +13 -13
- package/dist/plugins/steel/src/shared.js +21 -51
- package/dist/plugins/storyblok/src/credentials.js +37 -0
- package/dist/plugins/storyblok/src/index.js +22 -66
- package/dist/plugins/strapi/src/credentials.js +71 -0
- package/dist/plugins/strapi/src/index.js +36 -70
- package/dist/plugins/strava/src/credentials.js +19 -0
- package/dist/plugins/strava/src/index.js +16 -33
- package/dist/plugins/stripe/src/credentials.js +19 -0
- package/dist/plugins/stripe/src/index.js +44 -58
- package/dist/plugins/supabase/src/credentials.js +30 -0
- package/dist/plugins/supabase/src/index.js +18 -40
- package/dist/plugins/syncromsp/src/credentials.js +16 -0
- package/dist/plugins/syncromsp/src/index.js +37 -70
- package/dist/plugins/tapfiliate/src/credentials.js +13 -0
- package/dist/plugins/tapfiliate/src/index.js +21 -31
- package/dist/plugins/telegram/src/credentials.js +20 -0
- package/dist/plugins/telegram/src/index.js +31 -39
- package/dist/plugins/thehive/src/credentials.js +14 -0
- package/dist/plugins/thehive/src/index.js +33 -50
- package/dist/plugins/thehiveProject/src/credentials.js +16 -0
- package/dist/plugins/thehiveProject/src/index.js +53 -122
- package/dist/plugins/todoist/src/credentials.js +26 -0
- package/dist/plugins/todoist/src/index.js +49 -79
- package/dist/plugins/together/src/credentials.js +16 -0
- package/dist/plugins/together/src/index.js +31 -33
- package/dist/plugins/travisci/src/credentials.js +24 -0
- package/dist/plugins/travisci/src/index.js +16 -30
- package/dist/plugins/trello/src/credentials.js +29 -0
- package/dist/plugins/trello/src/index.js +49 -64
- package/dist/plugins/twake/src/credentials.js +16 -0
- package/dist/plugins/twake/src/index.js +8 -10
- package/dist/plugins/twilio/src/credentials.js +23 -0
- package/dist/plugins/twilio/src/index.js +12 -26
- package/dist/plugins/twist/src/credentials.js +13 -0
- package/dist/plugins/twist/src/index.js +32 -44
- package/dist/plugins/twitter/src/credentials.js +16 -0
- package/dist/plugins/twitter/src/index.js +25 -37
- package/dist/plugins/typesafe/src/credentials.js +28 -0
- package/dist/plugins/typesafe/src/index.js +3 -1
- package/dist/plugins/typesafe/src/shared.js +23 -35
- package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
- package/dist/plugins/unleashedSoftware/src/index.js +13 -37
- package/dist/plugins/uplead/src/credentials.js +16 -0
- package/dist/plugins/uplead/src/index.js +11 -16
- package/dist/plugins/uproc/src/credentials.js +14 -0
- package/dist/plugins/uproc/src/index.js +7 -10
- package/dist/plugins/uptimerobot/src/credentials.js +14 -0
- package/dist/plugins/uptimerobot/src/index.js +28 -39
- package/dist/plugins/urlscanio/src/credentials.js +13 -0
- package/dist/plugins/urlscanio/src/index.js +13 -22
- package/dist/plugins/vercel/src/credentials.js +19 -0
- package/dist/plugins/vercel/src/deployments.js +27 -11
- package/dist/plugins/vercel/src/env.js +31 -12
- package/dist/plugins/vercel/src/index.js +2 -0
- package/dist/plugins/vercel/src/projects.js +6 -3
- package/dist/plugins/vercel/src/shared.js +32 -37
- package/dist/plugins/vero/src/credentials.js +17 -0
- package/dist/plugins/vero/src/index.js +18 -21
- package/dist/plugins/vonage/src/credentials.js +17 -0
- package/dist/plugins/vonage/src/index.js +14 -18
- package/dist/plugins/wekan/src/credentials.js +16 -0
- package/dist/plugins/wekan/src/index.js +33 -46
- package/dist/plugins/wolt/src/account.js +6 -0
- package/dist/plugins/wolt/src/catalog.js +2 -2
- package/dist/plugins/wolt/src/credentials.js +64 -0
- package/dist/plugins/wolt/src/index.js +8 -3
- package/dist/plugins/wolt/src/orders.js +2 -2
- package/dist/plugins/wolt/src/public.js +91 -0
- package/dist/plugins/wolt/src/shared.js +49 -158
- package/dist/plugins/woocommerce/src/credentials.js +16 -0
- package/dist/plugins/woocommerce/src/index.js +19 -37
- package/dist/plugins/wordpress/src/credentials.js +16 -0
- package/dist/plugins/wordpress/src/index.js +23 -42
- package/dist/plugins/xai/src/credentials.js +13 -0
- package/dist/plugins/xai/src/index.js +32 -31
- package/dist/plugins/xero/src/credentials.js +17 -0
- package/dist/plugins/xero/src/index.js +19 -36
- package/dist/plugins/yourls/src/credentials.js +17 -0
- package/dist/plugins/yourls/src/index.js +13 -23
- package/dist/plugins/zammad/src/credentials.js +15 -0
- package/dist/plugins/zammad/src/index.js +27 -47
- package/dist/plugins/zendesk/src/credentials.js +26 -0
- package/dist/plugins/zendesk/src/index.js +29 -48
- package/dist/plugins/zoho/src/credentials.js +17 -0
- package/dist/plugins/zoho/src/index.js +18 -38
- package/dist/plugins/zoom/src/credentials.js +19 -0
- package/dist/plugins/zoom/src/index.js +15 -30
- package/dist/plugins/zulip/src/credentials.js +16 -0
- package/dist/plugins/zulip/src/index.js +36 -42
- package/dist/sdk.d.ts +8 -0
- package/dist/sdk.js +3 -0
- package/package.json +2 -1
- package/dist/plugins/_shared/authedFetch.js +0 -33
- package/dist/plugins/_shared/tokenRefresh.js +0 -41
- package/dist/tests/helpers/engine-harness.d.ts +0 -1
- package/dist/tests/helpers/engine-harness.js +0 -236
|
@@ -1,37 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (v !== undefined && v !== null)
|
|
9
|
-
url.searchParams.set(k, String(v));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { chargebeeCredential } from "./credentials.js";
|
|
3
|
+
/** Chargebee takes write parameters as query-string params, never a body. */
|
|
4
|
+
function apiRequest(ctx, method, path, qs) {
|
|
5
|
+
return credentialJson(ctx, chargebeeCredential, "chargebee", {
|
|
6
|
+
target: "api",
|
|
7
|
+
path,
|
|
13
8
|
method,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"Content-Type": "application/x-www-form-urlencoded",
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const res = await fetch(url.toString(), opts);
|
|
20
|
-
if (!res.ok) {
|
|
21
|
-
const text = await res.text();
|
|
22
|
-
throw new Error(`Chargebee API error ${res.status}: ${text}`);
|
|
23
|
-
}
|
|
24
|
-
return res.json();
|
|
25
|
-
}
|
|
26
|
-
function getConn(ctx) {
|
|
27
|
-
return {
|
|
28
|
-
accountName: ctx.connection.config.accountName,
|
|
29
|
-
apiKey: ctx.connection.config.apiKey,
|
|
30
|
-
};
|
|
9
|
+
query: qs,
|
|
10
|
+
});
|
|
31
11
|
}
|
|
32
12
|
export default function chargebee(rl) {
|
|
33
13
|
rl.setName("chargebee");
|
|
34
14
|
rl.setVersion("0.1.0");
|
|
15
|
+
rl.setCredential(chargebeeCredential);
|
|
35
16
|
rl.setConnectionSchema({
|
|
36
17
|
accountName: {
|
|
37
18
|
type: "string",
|
|
@@ -67,10 +48,8 @@ export default function chargebee(rl) {
|
|
|
67
48
|
company: { type: "string", required: false, description: "Company" },
|
|
68
49
|
},
|
|
69
50
|
async execute(input, ctx) {
|
|
70
|
-
const { accountName, apiKey } = getConn(ctx);
|
|
71
51
|
const params = (input ?? {});
|
|
72
|
-
|
|
73
|
-
return apiRequest(accountName, apiKey, "POST", "customers", params);
|
|
52
|
+
return apiRequest(ctx, "POST", "customers", params);
|
|
74
53
|
},
|
|
75
54
|
});
|
|
76
55
|
// ── Invoice ─────────────────────────────────────────
|
|
@@ -83,20 +62,14 @@ export default function chargebee(rl) {
|
|
|
83
62
|
required: false,
|
|
84
63
|
description: "Max results (default: 10, max: 100)",
|
|
85
64
|
},
|
|
86
|
-
sortBy: {
|
|
87
|
-
type: "string",
|
|
88
|
-
required: false,
|
|
89
|
-
description: "Sort field (default: date desc)",
|
|
90
|
-
},
|
|
91
65
|
},
|
|
92
66
|
async execute(input, ctx) {
|
|
93
|
-
const { accountName, apiKey } = getConn(ctx);
|
|
94
67
|
const { limit = 10 } = (input ?? {});
|
|
95
68
|
const qs = {
|
|
96
69
|
limit,
|
|
97
70
|
"sort_by[desc]": "date",
|
|
98
71
|
};
|
|
99
|
-
const data = (await apiRequest(
|
|
72
|
+
const data = (await apiRequest(ctx, "GET", "invoices", qs));
|
|
100
73
|
const list = data.list ?? [];
|
|
101
74
|
return list.map((item) => item.invoice);
|
|
102
75
|
},
|
|
@@ -109,8 +82,7 @@ export default function chargebee(rl) {
|
|
|
109
82
|
},
|
|
110
83
|
async execute(input, ctx) {
|
|
111
84
|
const { invoiceId } = input;
|
|
112
|
-
const
|
|
113
|
-
const data = (await apiRequest(accountName, apiKey, "POST", `invoices/${invoiceId.trim()}/pdf`));
|
|
85
|
+
const data = (await apiRequest(ctx, "POST", `invoices/${pathSegment(invoiceId.trim())}/pdf`));
|
|
114
86
|
const download = data.download;
|
|
115
87
|
return { pdfUrl: download?.download_url };
|
|
116
88
|
},
|
|
@@ -133,11 +105,10 @@ export default function chargebee(rl) {
|
|
|
133
105
|
},
|
|
134
106
|
async execute(input, ctx) {
|
|
135
107
|
const { subscriptionId, endOfTerm } = input;
|
|
136
|
-
const { accountName, apiKey } = getConn(ctx);
|
|
137
108
|
const qs = {};
|
|
138
109
|
if (endOfTerm)
|
|
139
110
|
qs.end_of_term = "true";
|
|
140
|
-
return apiRequest(
|
|
111
|
+
return apiRequest(ctx, "POST", `subscriptions/${pathSegment(subscriptionId.trim())}/cancel`, qs);
|
|
141
112
|
},
|
|
142
113
|
});
|
|
143
114
|
rl.registerAction("subscription.delete", {
|
|
@@ -152,8 +123,7 @@ export default function chargebee(rl) {
|
|
|
152
123
|
},
|
|
153
124
|
async execute(input, ctx) {
|
|
154
125
|
const { subscriptionId } = input;
|
|
155
|
-
|
|
156
|
-
return apiRequest(accountName, apiKey, "POST", `subscriptions/${subscriptionId.trim()}/delete`);
|
|
126
|
+
return apiRequest(ctx, "POST", `subscriptions/${pathSegment(subscriptionId.trim())}/delete`);
|
|
157
127
|
},
|
|
158
128
|
});
|
|
159
129
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** A personal API token, sent in the Circle-Token header to CircleCI's API. */
|
|
3
|
+
export const circleciCredential = staticCredential({
|
|
4
|
+
id: "circleci",
|
|
5
|
+
auth: { kind: "apiKey", header: "Circle-Token" },
|
|
6
|
+
local: { secret: "apiKey" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://circleci.com/api/v2/",
|
|
10
|
+
methods: ["GET", "POST"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "me",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,35 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment, pathSegments, } from "../../_shared/credentials.js";
|
|
2
|
+
import { circleciCredential } from "./credentials.js";
|
|
3
|
+
async function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, circleciCredential, "circleci", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
if (body && Object.keys(body).length > 0 && method !== "GET") {
|
|
19
|
-
opts.body = JSON.stringify(body);
|
|
20
|
-
}
|
|
21
|
-
const res = await fetch(url.toString(), opts);
|
|
22
|
-
if (!res.ok) {
|
|
23
|
-
const text = await res.text();
|
|
24
|
-
throw new Error(`CircleCI API error ${res.status}: ${text}`);
|
|
25
|
-
}
|
|
26
|
-
return res.json();
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body && Object.keys(body).length > 0 && method !== "GET"
|
|
10
|
+
? { json: body }
|
|
11
|
+
: {}),
|
|
12
|
+
});
|
|
27
13
|
}
|
|
28
|
-
async function paginateAll(
|
|
14
|
+
async function paginateAll(ctx, path, qs) {
|
|
29
15
|
const results = [];
|
|
30
16
|
const q = { ...qs };
|
|
31
17
|
while (true) {
|
|
32
|
-
const data = (await apiRequest(
|
|
18
|
+
const data = (await apiRequest(ctx, "GET", path, undefined, q));
|
|
33
19
|
const items = data.items ?? [];
|
|
34
20
|
results.push(...items);
|
|
35
21
|
if (!data.next_page_token)
|
|
@@ -38,15 +24,10 @@ async function paginateAll(token, endpoint, qs) {
|
|
|
38
24
|
}
|
|
39
25
|
return results;
|
|
40
26
|
}
|
|
41
|
-
function getToken(ctx) {
|
|
42
|
-
return ctx.connection.config.apiKey;
|
|
43
|
-
}
|
|
44
|
-
function encodeSlug(slug) {
|
|
45
|
-
return slug.replace(/\//g, "%2F");
|
|
46
|
-
}
|
|
47
27
|
export default function circleci(rl) {
|
|
48
28
|
rl.setName("circleci");
|
|
49
29
|
rl.setVersion("0.1.0");
|
|
30
|
+
rl.setCredential(circleciCredential);
|
|
50
31
|
rl.setConnectionSchema({
|
|
51
32
|
apiKey: {
|
|
52
33
|
type: "string",
|
|
@@ -77,7 +58,7 @@ export default function circleci(rl) {
|
|
|
77
58
|
},
|
|
78
59
|
async execute(input, ctx) {
|
|
79
60
|
const { vcs, projectSlug, pipelineNumber } = input;
|
|
80
|
-
return apiRequest(
|
|
61
|
+
return apiRequest(ctx, "GET", `project/${pathSegment(vcs)}/${pathSegments(projectSlug)}/pipeline/${pathSegment(pipelineNumber)}`);
|
|
81
62
|
},
|
|
82
63
|
});
|
|
83
64
|
rl.registerAction("pipeline.list", {
|
|
@@ -107,17 +88,16 @@ export default function circleci(rl) {
|
|
|
107
88
|
},
|
|
108
89
|
async execute(input, ctx) {
|
|
109
90
|
const { vcs, projectSlug, branch, limit } = (input ?? {});
|
|
110
|
-
const
|
|
111
|
-
const endpoint = `/project/${vcs}/${encodeSlug(projectSlug)}/pipeline`;
|
|
91
|
+
const endpoint = `project/${pathSegment(vcs)}/${pathSegments(projectSlug)}/pipeline`;
|
|
112
92
|
const qs = {};
|
|
113
93
|
if (branch)
|
|
114
94
|
qs.branch = branch;
|
|
115
95
|
if (limit) {
|
|
116
96
|
qs.limit = limit;
|
|
117
|
-
const data = (await apiRequest(
|
|
97
|
+
const data = (await apiRequest(ctx, "GET", endpoint, undefined, qs));
|
|
118
98
|
return (data.items ?? []).slice(0, limit);
|
|
119
99
|
}
|
|
120
|
-
return paginateAll(
|
|
100
|
+
return paginateAll(ctx, endpoint, qs);
|
|
121
101
|
},
|
|
122
102
|
});
|
|
123
103
|
rl.registerAction("pipeline.trigger", {
|
|
@@ -148,7 +128,7 @@ export default function circleci(rl) {
|
|
|
148
128
|
body.branch = branch;
|
|
149
129
|
if (tag)
|
|
150
130
|
body.tag = tag;
|
|
151
|
-
return apiRequest(
|
|
131
|
+
return apiRequest(ctx, "POST", `project/${pathSegment(vcs)}/${pathSegments(projectSlug)}/pipeline`, body);
|
|
152
132
|
},
|
|
153
133
|
});
|
|
154
134
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** A user or bot access token, sent as a bearer to Webex's one API origin. */
|
|
3
|
+
export const ciscoWebexCredential = staticCredential({
|
|
4
|
+
id: "ciscoWebex",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "accessToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://webexapis.com/v1/",
|
|
10
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "people/me",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,56 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, credentialOk, jsonAnswer, pathSegment, pathWithin, } from "../../_shared/credentials.js";
|
|
2
|
+
import { ciscoWebexCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, ciscoWebexCredential, "ciscoWebex", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
method !== "DELETE") {
|
|
21
|
-
opts.body = JSON.stringify(body);
|
|
22
|
-
}
|
|
23
|
-
const res = await fetch(url.toString(), opts);
|
|
24
|
-
if (!res.ok) {
|
|
25
|
-
const text = await res.text();
|
|
26
|
-
throw new Error(`Webex API error ${res.status}: ${text}`);
|
|
27
|
-
}
|
|
28
|
-
if (res.status === 204)
|
|
29
|
-
return { success: true };
|
|
30
|
-
const ct = res.headers.get("content-type") ?? "";
|
|
31
|
-
if (ct.includes("application/json"))
|
|
32
|
-
return res.json();
|
|
33
|
-
return { success: true };
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
34
16
|
}
|
|
35
|
-
async function paginateAll(
|
|
17
|
+
async function paginateAll(ctx, path, property, qs) {
|
|
36
18
|
const results = [];
|
|
37
|
-
|
|
38
|
-
|
|
19
|
+
let next = {
|
|
20
|
+
path,
|
|
21
|
+
query: { ...qs, max: 100 },
|
|
22
|
+
};
|
|
39
23
|
while (true) {
|
|
40
|
-
const res = await
|
|
41
|
-
|
|
42
|
-
|
|
24
|
+
const res = await credentialOk(ctx, ciscoWebexCredential, "ciscoWebex", {
|
|
25
|
+
target: "api",
|
|
26
|
+
path: next.path,
|
|
27
|
+
query: next.query,
|
|
43
28
|
});
|
|
44
|
-
|
|
45
|
-
throw new Error(`Webex API error ${res.status}: ${await res.text()}`);
|
|
46
|
-
const data = (await res.json());
|
|
29
|
+
const data = (await jsonAnswer(res));
|
|
47
30
|
results.push(...(data[property] ?? []));
|
|
48
31
|
const link = res.headers.get("link");
|
|
49
32
|
if (link?.includes('rel="next"')) {
|
|
50
33
|
const match = link.match(/<([^>]+)>/);
|
|
51
|
-
|
|
52
|
-
if (!nextUrl)
|
|
34
|
+
if (!match?.[1])
|
|
53
35
|
break;
|
|
36
|
+
next = {
|
|
37
|
+
path: pathWithin(ctx, ciscoWebexCredential, "api", match[1]),
|
|
38
|
+
};
|
|
54
39
|
}
|
|
55
40
|
else {
|
|
56
41
|
break;
|
|
@@ -58,12 +43,10 @@ async function paginateAll(token, endpoint, property, qs) {
|
|
|
58
43
|
}
|
|
59
44
|
return results;
|
|
60
45
|
}
|
|
61
|
-
function getToken(ctx) {
|
|
62
|
-
return ctx.connection.config.accessToken;
|
|
63
|
-
}
|
|
64
46
|
export default function ciscoWebex(rl) {
|
|
65
47
|
rl.setName("ciscoWebex");
|
|
66
48
|
rl.setVersion("0.1.0");
|
|
49
|
+
rl.setCredential(ciscoWebexCredential);
|
|
67
50
|
rl.setConnectionSchema({
|
|
68
51
|
accessToken: {
|
|
69
52
|
type: "string",
|
|
@@ -106,7 +89,7 @@ export default function ciscoWebex(rl) {
|
|
|
106
89
|
},
|
|
107
90
|
async execute(input, ctx) {
|
|
108
91
|
const body = (input ?? {});
|
|
109
|
-
return apiRequest(
|
|
92
|
+
return apiRequest(ctx, "POST", "messages", body);
|
|
110
93
|
},
|
|
111
94
|
});
|
|
112
95
|
rl.registerAction("message.get", {
|
|
@@ -117,7 +100,7 @@ export default function ciscoWebex(rl) {
|
|
|
117
100
|
},
|
|
118
101
|
async execute(input, ctx) {
|
|
119
102
|
const { messageId } = input;
|
|
120
|
-
return apiRequest(
|
|
103
|
+
return apiRequest(ctx, "GET", `messages/${pathSegment(messageId)}`);
|
|
121
104
|
},
|
|
122
105
|
});
|
|
123
106
|
rl.registerAction("message.list", {
|
|
@@ -157,10 +140,10 @@ export default function ciscoWebex(rl) {
|
|
|
157
140
|
qs.beforeMessage = beforeMessage;
|
|
158
141
|
if (limit) {
|
|
159
142
|
qs.max = limit;
|
|
160
|
-
const data = (await apiRequest(
|
|
143
|
+
const data = (await apiRequest(ctx, "GET", "messages", undefined, qs));
|
|
161
144
|
return data.items;
|
|
162
145
|
}
|
|
163
|
-
return paginateAll(
|
|
146
|
+
return paginateAll(ctx, "messages", "items", qs);
|
|
164
147
|
},
|
|
165
148
|
});
|
|
166
149
|
rl.registerAction("message.update", {
|
|
@@ -178,13 +161,13 @@ export default function ciscoWebex(rl) {
|
|
|
178
161
|
async execute(input, ctx) {
|
|
179
162
|
const { messageId, text, markdown } = input;
|
|
180
163
|
// Need roomId from original message
|
|
181
|
-
const original = (await apiRequest(
|
|
164
|
+
const original = (await apiRequest(ctx, "GET", `messages/${pathSegment(messageId)}`));
|
|
182
165
|
const body = { roomId: original.roomId };
|
|
183
166
|
if (markdown)
|
|
184
167
|
body.markdown = markdown;
|
|
185
168
|
else if (text)
|
|
186
169
|
body.text = text;
|
|
187
|
-
return apiRequest(
|
|
170
|
+
return apiRequest(ctx, "PUT", `messages/${pathSegment(messageId)}`, body);
|
|
188
171
|
},
|
|
189
172
|
});
|
|
190
173
|
rl.registerAction("message.delete", {
|
|
@@ -195,7 +178,7 @@ export default function ciscoWebex(rl) {
|
|
|
195
178
|
},
|
|
196
179
|
async execute(input, ctx) {
|
|
197
180
|
const { messageId } = input;
|
|
198
|
-
await apiRequest(
|
|
181
|
+
await apiRequest(ctx, "DELETE", `messages/${pathSegment(messageId)}`);
|
|
199
182
|
return { success: true };
|
|
200
183
|
},
|
|
201
184
|
});
|
|
@@ -243,7 +226,7 @@ export default function ciscoWebex(rl) {
|
|
|
243
226
|
},
|
|
244
227
|
async execute(input, ctx) {
|
|
245
228
|
const body = (input ?? {});
|
|
246
|
-
return apiRequest(
|
|
229
|
+
return apiRequest(ctx, "POST", "meetings", body);
|
|
247
230
|
},
|
|
248
231
|
});
|
|
249
232
|
rl.registerAction("meeting.get", {
|
|
@@ -254,7 +237,7 @@ export default function ciscoWebex(rl) {
|
|
|
254
237
|
},
|
|
255
238
|
async execute(input, ctx) {
|
|
256
239
|
const { meetingId } = input;
|
|
257
|
-
return apiRequest(
|
|
240
|
+
return apiRequest(ctx, "GET", `meetings/${pathSegment(meetingId)}`);
|
|
258
241
|
},
|
|
259
242
|
});
|
|
260
243
|
rl.registerAction("meeting.list", {
|
|
@@ -296,10 +279,10 @@ export default function ciscoWebex(rl) {
|
|
|
296
279
|
qs.state = state;
|
|
297
280
|
if (limit) {
|
|
298
281
|
qs.max = limit;
|
|
299
|
-
const data = (await apiRequest(
|
|
282
|
+
const data = (await apiRequest(ctx, "GET", "meetings", undefined, qs));
|
|
300
283
|
return data.items;
|
|
301
284
|
}
|
|
302
|
-
return paginateAll(
|
|
285
|
+
return paginateAll(ctx, "meetings", "items", qs);
|
|
303
286
|
},
|
|
304
287
|
});
|
|
305
288
|
rl.registerAction("meeting.update", {
|
|
@@ -332,7 +315,7 @@ export default function ciscoWebex(rl) {
|
|
|
332
315
|
async execute(input, ctx) {
|
|
333
316
|
const { meetingId, ...fields } = input;
|
|
334
317
|
// API requires title, password, start, end — fetch current if not provided
|
|
335
|
-
const current = (await apiRequest(
|
|
318
|
+
const current = (await apiRequest(ctx, "GET", `meetings/${pathSegment(meetingId)}`));
|
|
336
319
|
const body = {
|
|
337
320
|
title: fields.title ?? current.title,
|
|
338
321
|
password: fields.password ?? current.password,
|
|
@@ -340,8 +323,7 @@ export default function ciscoWebex(rl) {
|
|
|
340
323
|
end: fields.end ?? current.end,
|
|
341
324
|
...fields,
|
|
342
325
|
};
|
|
343
|
-
|
|
344
|
-
return apiRequest(getToken(ctx), "PUT", `/meetings/${meetingId}`, body);
|
|
326
|
+
return apiRequest(ctx, "PUT", `meetings/${pathSegment(meetingId)}`, body);
|
|
345
327
|
},
|
|
346
328
|
});
|
|
347
329
|
rl.registerAction("meeting.delete", {
|
|
@@ -352,7 +334,7 @@ export default function ciscoWebex(rl) {
|
|
|
352
334
|
},
|
|
353
335
|
async execute(input, ctx) {
|
|
354
336
|
const { meetingId } = input;
|
|
355
|
-
await apiRequest(
|
|
337
|
+
await apiRequest(ctx, "DELETE", `meetings/${pathSegment(meetingId)}`);
|
|
356
338
|
return { success: true };
|
|
357
339
|
},
|
|
358
340
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** One API key, sent as a bearer to Clearbit's three read-only API hosts:
|
|
3
|
+
* person enrichment, company enrichment, and name autocomplete. */
|
|
4
|
+
export const clearbitCredential = staticCredential({
|
|
5
|
+
id: "clearbit",
|
|
6
|
+
auth: { kind: "bearer" },
|
|
7
|
+
local: { secret: "apiKey" },
|
|
8
|
+
targets: {
|
|
9
|
+
person: {
|
|
10
|
+
baseUrl: "https://person-stream.clearbit.com/v2/",
|
|
11
|
+
methods: ["GET"],
|
|
12
|
+
},
|
|
13
|
+
company: {
|
|
14
|
+
baseUrl: "https://company-stream.clearbit.com/v2/",
|
|
15
|
+
methods: ["GET"],
|
|
16
|
+
},
|
|
17
|
+
autocomplete: {
|
|
18
|
+
baseUrl: "https://autocomplete.clearbit.com/v1/",
|
|
19
|
+
methods: ["GET"],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
const res = await fetch(url.toString(), {
|
|
10
|
-
headers: { Authorization: `Bearer ${apiKey}` },
|
|
1
|
+
import { credentialJson } from "../../_shared/credentials.js";
|
|
2
|
+
import { clearbitCredential } from "./credentials.js";
|
|
3
|
+
async function apiRequest(ctx, target, endpoint, qs) {
|
|
4
|
+
return credentialJson(ctx, clearbitCredential, "clearbit", {
|
|
5
|
+
target,
|
|
6
|
+
path: endpoint,
|
|
7
|
+
query: qs,
|
|
11
8
|
});
|
|
12
|
-
if (!res.ok) {
|
|
13
|
-
const text = await res.text();
|
|
14
|
-
throw new Error(`Clearbit API error ${res.status}: ${text}`);
|
|
15
|
-
}
|
|
16
|
-
return res.json();
|
|
17
|
-
}
|
|
18
|
-
function getKey(ctx) {
|
|
19
|
-
return ctx.connection.config.apiKey;
|
|
20
9
|
}
|
|
21
10
|
export default function clearbit(rl) {
|
|
22
11
|
rl.setName("clearbit");
|
|
23
12
|
rl.setVersion("0.1.0");
|
|
13
|
+
rl.setCredential(clearbitCredential);
|
|
24
14
|
rl.setConnectionSchema({
|
|
25
15
|
apiKey: {
|
|
26
16
|
type: "string",
|
|
@@ -101,7 +91,7 @@ export default function clearbit(rl) {
|
|
|
101
91
|
qs.twitter = twitter;
|
|
102
92
|
if (facebook)
|
|
103
93
|
qs.facebook = facebook;
|
|
104
|
-
return apiRequest(
|
|
94
|
+
return apiRequest(ctx, "person", "people/find", qs);
|
|
105
95
|
},
|
|
106
96
|
});
|
|
107
97
|
rl.registerAction("company.enrich", {
|
|
@@ -142,7 +132,7 @@ export default function clearbit(rl) {
|
|
|
142
132
|
qs.twitter = twitter;
|
|
143
133
|
if (facebook)
|
|
144
134
|
qs.facebook = facebook;
|
|
145
|
-
return apiRequest(
|
|
135
|
+
return apiRequest(ctx, "company", "companies/find", qs);
|
|
146
136
|
},
|
|
147
137
|
});
|
|
148
138
|
rl.registerAction("company.autocomplete", {
|
|
@@ -157,7 +147,7 @@ export default function clearbit(rl) {
|
|
|
157
147
|
},
|
|
158
148
|
async execute(input, ctx) {
|
|
159
149
|
const { name } = input;
|
|
160
|
-
return apiRequest(
|
|
150
|
+
return apiRequest(ctx, "autocomplete", "companies/suggest", {
|
|
161
151
|
query: name,
|
|
162
152
|
});
|
|
163
153
|
},
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** A personal or OAuth2 token, sent raw in Authorization, to ClickUp's one API origin. */
|
|
3
|
+
export const clickupCredential = staticCredential({
|
|
4
|
+
id: "clickup",
|
|
5
|
+
auth: { kind: "apiKey", header: "Authorization" },
|
|
6
|
+
local: { secret: "accessToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.clickup.com/api/v2/",
|
|
10
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "user",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|