runline 0.32.0 → 0.34.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 +9 -0
- 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 +179 -22
- package/dist/credentials/transport.d.ts +48 -2
- package/dist/credentials/transport.js +248 -70
- package/dist/credentials/types.d.ts +167 -10
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/plugin/api.d.ts +7 -0
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/types.d.ts +12 -0
- package/dist/plugins/_shared/credentialAdapter.js +79 -15
- package/dist/plugins/_shared/credentials.js +389 -0
- package/dist/plugins/_shared/googleAuth.js +9 -40
- package/dist/plugins/_shared/googleCredentials.js +28 -7
- package/dist/plugins/_shared/microsoftAuth.js +13 -44
- package/dist/plugins/_shared/microsoftCredentials.js +30 -8
- package/dist/plugins/_shared/provider.js +2 -14
- package/dist/plugins/_shared/shiftCloud.js +22 -34
- package/dist/plugins/_shared/shiftCredentials.js +83 -0
- package/dist/plugins/_shared/shiftUpload.js +1 -1
- 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/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 +74 -35
- 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 +4 -2
- 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 +26 -24
- 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 +108 -42
- package/dist/plugins/googleCalendar/src/index.js +15 -13
- package/dist/plugins/googleContacts/src/index.js +12 -9
- package/dist/plugins/googleDocs/src/index.js +2 -0
- package/dist/plugins/googleDocs/src/shared.js +2 -1
- package/dist/plugins/googleDrive/src/index.js +50 -53
- package/dist/plugins/googleImage/src/credentials.js +14 -0
- package/dist/plugins/googleImage/src/index.js +14 -25
- package/dist/plugins/googleSheets/src/index.js +26 -27
- package/dist/plugins/googleSlides/src/index.js +6 -4
- package/dist/plugins/googleTasks/src/index.js +13 -11
- 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 +34 -63
- 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 +48 -12
- package/dist/plugins/microsoftFiles/src/index.js +90 -25
- package/dist/plugins/microsoftMail/src/index.js +62 -15
- 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 +15 -23
- 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 +38 -27
- 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 +17 -27
- 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/collections.js +201 -0
- package/dist/plugins/shiftBwm/src/index.js +35 -0
- package/dist/plugins/shiftBwm/src/records.js +180 -0
- package/dist/plugins/shiftBwm/src/shared.js +168 -0
- package/dist/plugins/shiftBwm/src/vendor/client.js +227 -0
- package/dist/plugins/shiftBwm/src/vendor/contracts.js +59 -0
- package/dist/plugins/shiftBwm/src/vendor/models.js +525 -0
- 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 +3 -3
- package/dist/plugins/shiftOcr/src/credentials.js +8 -0
- package/dist/plugins/shiftOcr/src/index.js +5 -2
- 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 +3 -2
- 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 +30 -32
- 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 +31 -30
- 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 +3 -2
- package/dist/plugins/_shared/authedFetch.js +0 -33
- package/dist/plugins/_shared/tokenRefresh.js +0 -41
|
@@ -1,40 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { codaCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, query) {
|
|
4
|
+
return credentialJson(ctx, codaCredential, "coda", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Object.keys(body).length > 0 &&
|
|
19
|
-
method !== "GET" &&
|
|
20
|
-
method !== "DELETE") {
|
|
21
|
-
opts.body = JSON.stringify(body);
|
|
22
|
-
}
|
|
23
|
-
const res = await fetch(url.toString(), opts);
|
|
24
|
-
if (!res.ok)
|
|
25
|
-
throw new Error(`Coda API error ${res.status}: ${await res.text()}`);
|
|
26
|
-
if (res.status === 204)
|
|
27
|
-
return { success: true };
|
|
28
|
-
return res.json();
|
|
8
|
+
query,
|
|
9
|
+
// DELETE carries a body where Coda names the rows to delete.
|
|
10
|
+
...(body && Object.keys(body).length > 0 && method !== "GET"
|
|
11
|
+
? { json: body }
|
|
12
|
+
: {}),
|
|
13
|
+
});
|
|
29
14
|
}
|
|
30
|
-
async function paginateAll(
|
|
15
|
+
async function paginateAll(ctx, path, qs, limit) {
|
|
31
16
|
const results = [];
|
|
32
17
|
let pageToken;
|
|
33
18
|
while (true) {
|
|
34
19
|
const q = { ...qs };
|
|
35
20
|
if (pageToken)
|
|
36
21
|
q.pageToken = pageToken;
|
|
37
|
-
const data = (await apiRequest(
|
|
22
|
+
const data = (await apiRequest(ctx, "GET", path, undefined, q));
|
|
38
23
|
const items = data.items ?? [];
|
|
39
24
|
results.push(...items);
|
|
40
25
|
if (limit && results.length >= limit)
|
|
@@ -45,12 +30,10 @@ async function paginateAll(token, endpoint, qs, limit) {
|
|
|
45
30
|
}
|
|
46
31
|
return results;
|
|
47
32
|
}
|
|
48
|
-
function getToken(ctx) {
|
|
49
|
-
return ctx.connection.config.accessToken;
|
|
50
|
-
}
|
|
51
33
|
export default function coda(rl) {
|
|
52
34
|
rl.setName("coda");
|
|
53
35
|
rl.setVersion("0.1.0");
|
|
36
|
+
rl.setCredential(codaCredential);
|
|
54
37
|
rl.setConnectionSchema({
|
|
55
38
|
accessToken: {
|
|
56
39
|
type: "string",
|
|
@@ -91,7 +74,7 @@ export default function coda(rl) {
|
|
|
91
74
|
const body = { rows: [{ cells: row }] };
|
|
92
75
|
if (keyColumns)
|
|
93
76
|
body.keyColumns = keyColumns;
|
|
94
|
-
return apiRequest(
|
|
77
|
+
return apiRequest(ctx, "POST", `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/rows`, body, qs);
|
|
95
78
|
},
|
|
96
79
|
});
|
|
97
80
|
rl.registerAction("table.getRow", {
|
|
@@ -117,7 +100,7 @@ export default function coda(rl) {
|
|
|
117
100
|
const qs = { useColumnNames };
|
|
118
101
|
if (valueFormat)
|
|
119
102
|
qs.valueFormat = valueFormat;
|
|
120
|
-
const data = (await apiRequest(
|
|
103
|
+
const data = (await apiRequest(ctx, "GET", `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/rows/${pathSegment(rowId)}`, undefined, qs));
|
|
121
104
|
return { id: data.id, ...data.values };
|
|
122
105
|
},
|
|
123
106
|
});
|
|
@@ -157,7 +140,7 @@ export default function coda(rl) {
|
|
|
157
140
|
qs.valueFormat = valueFormat;
|
|
158
141
|
if (visibleOnly)
|
|
159
142
|
qs.visibleOnly = visibleOnly;
|
|
160
|
-
const rows = await paginateAll(
|
|
143
|
+
const rows = await paginateAll(ctx, `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/rows`, qs, limit);
|
|
161
144
|
return rows.map((r) => {
|
|
162
145
|
const row = r;
|
|
163
146
|
return { id: row.id, ...row.values };
|
|
@@ -174,7 +157,7 @@ export default function coda(rl) {
|
|
|
174
157
|
},
|
|
175
158
|
async execute(input, ctx) {
|
|
176
159
|
const { docId, tableId, rowId } = input;
|
|
177
|
-
return apiRequest(
|
|
160
|
+
return apiRequest(ctx, "DELETE", `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/rows`, { rowIds: [rowId] });
|
|
178
161
|
},
|
|
179
162
|
});
|
|
180
163
|
rl.registerAction("table.pushButton", {
|
|
@@ -192,7 +175,7 @@ export default function coda(rl) {
|
|
|
192
175
|
},
|
|
193
176
|
async execute(input, ctx) {
|
|
194
177
|
const { docId, tableId, rowId, columnId } = input;
|
|
195
|
-
return apiRequest(
|
|
178
|
+
return apiRequest(ctx, "POST", `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/rows/${pathSegment(rowId)}/buttons/${pathSegment(columnId)}`);
|
|
196
179
|
},
|
|
197
180
|
});
|
|
198
181
|
// ── Table Column ────────────────────────────────────
|
|
@@ -206,7 +189,7 @@ export default function coda(rl) {
|
|
|
206
189
|
},
|
|
207
190
|
async execute(input, ctx) {
|
|
208
191
|
const { docId, tableId, columnId } = input;
|
|
209
|
-
return apiRequest(
|
|
192
|
+
return apiRequest(ctx, "GET", `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/columns/${pathSegment(columnId)}`);
|
|
210
193
|
},
|
|
211
194
|
});
|
|
212
195
|
rl.registerAction("table.listColumns", {
|
|
@@ -219,7 +202,7 @@ export default function coda(rl) {
|
|
|
219
202
|
},
|
|
220
203
|
async execute(input, ctx) {
|
|
221
204
|
const { docId, tableId, limit } = (input ?? {});
|
|
222
|
-
return paginateAll(
|
|
205
|
+
return paginateAll(ctx, `docs/${pathSegment(docId)}/tables/${pathSegment(tableId)}/columns`, undefined, limit);
|
|
223
206
|
},
|
|
224
207
|
});
|
|
225
208
|
// ── Formula ─────────────────────────────────────────
|
|
@@ -232,7 +215,7 @@ export default function coda(rl) {
|
|
|
232
215
|
},
|
|
233
216
|
async execute(input, ctx) {
|
|
234
217
|
const { docId, formulaId } = input;
|
|
235
|
-
return apiRequest(
|
|
218
|
+
return apiRequest(ctx, "GET", `docs/${pathSegment(docId)}/formulas/${pathSegment(formulaId)}`);
|
|
236
219
|
},
|
|
237
220
|
});
|
|
238
221
|
rl.registerAction("formula.list", {
|
|
@@ -244,7 +227,7 @@ export default function coda(rl) {
|
|
|
244
227
|
},
|
|
245
228
|
async execute(input, ctx) {
|
|
246
229
|
const { docId, limit } = (input ?? {});
|
|
247
|
-
return paginateAll(
|
|
230
|
+
return paginateAll(ctx, `docs/${pathSegment(docId)}/formulas`, undefined, limit);
|
|
248
231
|
},
|
|
249
232
|
});
|
|
250
233
|
// ── Control ─────────────────────────────────────────
|
|
@@ -257,7 +240,7 @@ export default function coda(rl) {
|
|
|
257
240
|
},
|
|
258
241
|
async execute(input, ctx) {
|
|
259
242
|
const { docId, controlId } = input;
|
|
260
|
-
return apiRequest(
|
|
243
|
+
return apiRequest(ctx, "GET", `docs/${pathSegment(docId)}/controls/${pathSegment(controlId)}`);
|
|
261
244
|
},
|
|
262
245
|
});
|
|
263
246
|
rl.registerAction("control.list", {
|
|
@@ -269,7 +252,7 @@ export default function coda(rl) {
|
|
|
269
252
|
},
|
|
270
253
|
async execute(input, ctx) {
|
|
271
254
|
const { docId, limit } = (input ?? {});
|
|
272
|
-
return paginateAll(
|
|
255
|
+
return paginateAll(ctx, `docs/${pathSegment(docId)}/controls`, undefined, limit);
|
|
273
256
|
},
|
|
274
257
|
});
|
|
275
258
|
// ── View ────────────────────────────────────────────
|
|
@@ -282,7 +265,7 @@ export default function coda(rl) {
|
|
|
282
265
|
},
|
|
283
266
|
async execute(input, ctx) {
|
|
284
267
|
const { docId, viewId } = input;
|
|
285
|
-
return apiRequest(
|
|
268
|
+
return apiRequest(ctx, "GET", `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}`);
|
|
286
269
|
},
|
|
287
270
|
});
|
|
288
271
|
rl.registerAction("view.list", {
|
|
@@ -294,7 +277,7 @@ export default function coda(rl) {
|
|
|
294
277
|
},
|
|
295
278
|
async execute(input, ctx) {
|
|
296
279
|
const { docId, limit } = (input ?? {});
|
|
297
|
-
return paginateAll(
|
|
280
|
+
return paginateAll(ctx, `docs/${pathSegment(docId)}/tables`, { tableTypes: "view" }, limit);
|
|
298
281
|
},
|
|
299
282
|
});
|
|
300
283
|
rl.registerAction("view.listRows", {
|
|
@@ -326,7 +309,7 @@ export default function coda(rl) {
|
|
|
326
309
|
qs.sortBy = sortBy;
|
|
327
310
|
if (valueFormat)
|
|
328
311
|
qs.valueFormat = valueFormat;
|
|
329
|
-
const rows = await paginateAll(
|
|
312
|
+
const rows = await paginateAll(ctx, `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}/rows`, qs, limit);
|
|
330
313
|
return rows.map((r) => {
|
|
331
314
|
const row = r;
|
|
332
315
|
return { id: row.id, ...row.values };
|
|
@@ -343,7 +326,7 @@ export default function coda(rl) {
|
|
|
343
326
|
},
|
|
344
327
|
async execute(input, ctx) {
|
|
345
328
|
const { docId, viewId, rowId } = input;
|
|
346
|
-
return apiRequest(
|
|
329
|
+
return apiRequest(ctx, "DELETE", `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}/rows/${pathSegment(rowId)}`);
|
|
347
330
|
},
|
|
348
331
|
});
|
|
349
332
|
rl.registerAction("view.updateRow", {
|
|
@@ -370,7 +353,7 @@ export default function coda(rl) {
|
|
|
370
353
|
if (disableParsing)
|
|
371
354
|
qs.disableParsing = true;
|
|
372
355
|
const row = Object.entries(cells).map(([column, value]) => ({ column, value }));
|
|
373
|
-
return apiRequest(
|
|
356
|
+
return apiRequest(ctx, "PUT", `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}/rows/${pathSegment(rowId)}`, { row: { cells: row } }, qs);
|
|
374
357
|
},
|
|
375
358
|
});
|
|
376
359
|
rl.registerAction("view.pushButton", {
|
|
@@ -388,7 +371,7 @@ export default function coda(rl) {
|
|
|
388
371
|
},
|
|
389
372
|
async execute(input, ctx) {
|
|
390
373
|
const { docId, viewId, rowId, columnId } = input;
|
|
391
|
-
return apiRequest(
|
|
374
|
+
return apiRequest(ctx, "POST", `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}/rows/${pathSegment(rowId)}/buttons/${pathSegment(columnId)}`);
|
|
392
375
|
},
|
|
393
376
|
});
|
|
394
377
|
rl.registerAction("view.listColumns", {
|
|
@@ -401,7 +384,7 @@ export default function coda(rl) {
|
|
|
401
384
|
},
|
|
402
385
|
async execute(input, ctx) {
|
|
403
386
|
const { docId, viewId, limit } = (input ?? {});
|
|
404
|
-
return paginateAll(
|
|
387
|
+
return paginateAll(ctx, `docs/${pathSegment(docId)}/tables/${pathSegment(viewId)}/columns`, undefined, limit);
|
|
405
388
|
},
|
|
406
389
|
});
|
|
407
390
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An optional demo API key, sent in the x-cg-demo-api-key header to
|
|
4
|
+
* CoinGecko's public API; without one, requests go unsigned.
|
|
5
|
+
*/
|
|
6
|
+
export const coingeckoCredential = staticCredential({
|
|
7
|
+
id: "coingecko",
|
|
8
|
+
auth: { kind: "apiKey", header: "x-cg-demo-api-key" },
|
|
9
|
+
local: { secret: "apiKey" },
|
|
10
|
+
optional: true,
|
|
11
|
+
targets: {
|
|
12
|
+
api: { baseUrl: "https://api.coingecko.com/api/v3/", methods: ["GET"] },
|
|
13
|
+
},
|
|
14
|
+
probe: {
|
|
15
|
+
target: "api",
|
|
16
|
+
path: "ping",
|
|
17
|
+
method: "GET",
|
|
18
|
+
acceptedStatuses: [200],
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
const headers = { Accept: "application/json" };
|
|
11
|
-
if (apiKey)
|
|
12
|
-
headers["x-cg-demo-api-key"] = apiKey;
|
|
13
|
-
const res = await fetch(url.toString(), { headers });
|
|
14
|
-
if (!res.ok)
|
|
15
|
-
throw new Error(`CoinGecko API error ${res.status}: ${await res.text()}`);
|
|
16
|
-
return res.json();
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { coingeckoCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, path, query) {
|
|
4
|
+
return credentialJson(ctx, coingeckoCredential, "coingecko", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
7
|
+
query,
|
|
8
|
+
});
|
|
17
9
|
}
|
|
18
10
|
export default function coingecko(rl) {
|
|
19
11
|
rl.setName("coingecko");
|
|
20
12
|
rl.setVersion("0.1.0");
|
|
13
|
+
rl.setCredential(coingeckoCredential);
|
|
21
14
|
rl.setConnectionSchema({
|
|
22
15
|
apiKey: {
|
|
23
16
|
type: "string",
|
|
@@ -26,9 +19,6 @@ export default function coingecko(rl) {
|
|
|
26
19
|
env: "COINGECKO_API_KEY",
|
|
27
20
|
},
|
|
28
21
|
});
|
|
29
|
-
function getKey(ctx) {
|
|
30
|
-
return ctx.connection.config.apiKey;
|
|
31
|
-
}
|
|
32
22
|
// ── Coin ────────────────────────────────────────────
|
|
33
23
|
rl.registerAction("coin.get", {
|
|
34
24
|
access: "read",
|
|
@@ -81,9 +71,9 @@ export default function coingecko(rl) {
|
|
|
81
71
|
tickers: tickers ?? false,
|
|
82
72
|
};
|
|
83
73
|
if (contractAddress && platformId) {
|
|
84
|
-
return apiRequest(
|
|
74
|
+
return apiRequest(ctx, `coins/${pathSegment(platformId)}/contract/${pathSegment(contractAddress)}`, qs);
|
|
85
75
|
}
|
|
86
|
-
return apiRequest(
|
|
76
|
+
return apiRequest(ctx, `coins/${pathSegment(coinId)}`, qs);
|
|
87
77
|
},
|
|
88
78
|
});
|
|
89
79
|
rl.registerAction("coin.list", {
|
|
@@ -94,7 +84,7 @@ export default function coingecko(rl) {
|
|
|
94
84
|
},
|
|
95
85
|
async execute(input, ctx) {
|
|
96
86
|
const { limit } = (input ?? {});
|
|
97
|
-
const data = (await apiRequest("
|
|
87
|
+
const data = (await apiRequest(ctx, "coins/list"));
|
|
98
88
|
if (limit)
|
|
99
89
|
return data.slice(0, limit);
|
|
100
90
|
return data;
|
|
@@ -144,7 +134,7 @@ export default function coingecko(rl) {
|
|
|
144
134
|
qs.price_change_percentage = priceChangePercentage;
|
|
145
135
|
if (limit)
|
|
146
136
|
qs.per_page = limit;
|
|
147
|
-
return apiRequest("
|
|
137
|
+
return apiRequest(ctx, "coins/markets", qs);
|
|
148
138
|
},
|
|
149
139
|
});
|
|
150
140
|
rl.registerAction("coin.price", {
|
|
@@ -189,7 +179,7 @@ export default function coingecko(rl) {
|
|
|
189
179
|
qs.include_24hr_vol = true;
|
|
190
180
|
if (include24hrChange)
|
|
191
181
|
qs.include_24hr_change = true;
|
|
192
|
-
return apiRequest("
|
|
182
|
+
return apiRequest(ctx, "simple/price", qs);
|
|
193
183
|
},
|
|
194
184
|
});
|
|
195
185
|
rl.registerAction("coin.tokenPrice", {
|
|
@@ -214,10 +204,10 @@ export default function coingecko(rl) {
|
|
|
214
204
|
},
|
|
215
205
|
async execute(input, ctx) {
|
|
216
206
|
const { platformId, contractAddresses, vsCurrencies } = input;
|
|
217
|
-
return apiRequest(
|
|
207
|
+
return apiRequest(ctx, `simple/token_price/${pathSegment(platformId)}`, {
|
|
218
208
|
contract_addresses: contractAddresses,
|
|
219
209
|
vs_currencies: vsCurrencies,
|
|
220
|
-
}
|
|
210
|
+
});
|
|
221
211
|
},
|
|
222
212
|
});
|
|
223
213
|
rl.registerAction("coin.ticker", {
|
|
@@ -237,7 +227,7 @@ export default function coingecko(rl) {
|
|
|
237
227
|
const qs = {};
|
|
238
228
|
if (exchangeIds)
|
|
239
229
|
qs.exchange_ids = exchangeIds;
|
|
240
|
-
const data = (await apiRequest(
|
|
230
|
+
const data = (await apiRequest(ctx, `coins/${pathSegment(coinId)}/tickers`, qs));
|
|
241
231
|
const tickers = data.tickers ?? [];
|
|
242
232
|
if (limit)
|
|
243
233
|
return tickers.slice(0, limit);
|
|
@@ -265,7 +255,7 @@ export default function coingecko(rl) {
|
|
|
265
255
|
const qs = { date };
|
|
266
256
|
if (localization !== undefined)
|
|
267
257
|
qs.localization = localization;
|
|
268
|
-
return apiRequest(
|
|
258
|
+
return apiRequest(ctx, `coins/${pathSegment(coinId)}/history`, qs);
|
|
269
259
|
},
|
|
270
260
|
});
|
|
271
261
|
rl.registerAction("coin.marketChart", {
|
|
@@ -299,12 +289,12 @@ export default function coingecko(rl) {
|
|
|
299
289
|
const qs = { vs_currency: vsCurrency, days };
|
|
300
290
|
let endpoint;
|
|
301
291
|
if (contractAddress && platformId) {
|
|
302
|
-
endpoint =
|
|
292
|
+
endpoint = `coins/${pathSegment(platformId)}/contract/${pathSegment(contractAddress)}/market_chart`;
|
|
303
293
|
}
|
|
304
294
|
else {
|
|
305
|
-
endpoint =
|
|
295
|
+
endpoint = `coins/${pathSegment(coinId)}/market_chart`;
|
|
306
296
|
}
|
|
307
|
-
const data = (await apiRequest(endpoint, qs
|
|
297
|
+
const data = (await apiRequest(ctx, endpoint, qs));
|
|
308
298
|
const prices = data.prices ?? [];
|
|
309
299
|
return prices.map((p, idx) => ({
|
|
310
300
|
time: new Date(p[0]).toISOString(),
|
|
@@ -332,10 +322,10 @@ export default function coingecko(rl) {
|
|
|
332
322
|
},
|
|
333
323
|
async execute(input, ctx) {
|
|
334
324
|
const { coinId, vsCurrency, days } = input;
|
|
335
|
-
const data = (await apiRequest(
|
|
325
|
+
const data = (await apiRequest(ctx, `coins/${pathSegment(coinId)}/ohlc`, {
|
|
336
326
|
vs_currency: vsCurrency,
|
|
337
327
|
days,
|
|
338
|
-
}
|
|
328
|
+
}));
|
|
339
329
|
return data.map(([time, open, high, low, close]) => ({
|
|
340
330
|
time: new Date(time).toISOString(),
|
|
341
331
|
open,
|
|
@@ -371,7 +361,7 @@ export default function coingecko(rl) {
|
|
|
371
361
|
qs.type = type;
|
|
372
362
|
if (limit)
|
|
373
363
|
qs.per_page = limit;
|
|
374
|
-
const data = (await apiRequest("
|
|
364
|
+
const data = (await apiRequest(ctx, "events", qs));
|
|
375
365
|
return data.data;
|
|
376
366
|
},
|
|
377
367
|
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { configChoice, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
const delivery = staticCredential({
|
|
3
|
+
id: "contentful",
|
|
4
|
+
auth: { kind: "queryKey", param: "access_token" },
|
|
5
|
+
local: { secret: "deliveryAccessToken" },
|
|
6
|
+
targets: {
|
|
7
|
+
api: { baseUrl: "https://cdn.contentful.com/", methods: ["GET"] },
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
const preview = staticCredential({
|
|
11
|
+
id: "contentful",
|
|
12
|
+
auth: { kind: "queryKey", param: "access_token" },
|
|
13
|
+
local: { secret: "previewAccessToken" },
|
|
14
|
+
targets: {
|
|
15
|
+
api: { baseUrl: "https://preview.contentful.com/", methods: ["GET"] },
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* The delivery or preview access token, chosen by the connection's
|
|
20
|
+
* `source`, appended by the transport as access_token on the matching
|
|
21
|
+
* Contentful host. One connection signs one way.
|
|
22
|
+
*/
|
|
23
|
+
export const contentfulCredential = (config) => (configChoice(config.source, ["delivery", "preview"], "delivery") ===
|
|
24
|
+
"preview"
|
|
25
|
+
? preview
|
|
26
|
+
: delivery)(config);
|
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const res = await fetch(url.toString(), {
|
|
11
|
-
headers: { Accept: "application/json" },
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { contentfulCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, path, qs) {
|
|
4
|
+
return credentialJson(ctx, contentfulCredential, "contentful", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
7
|
+
query: qs,
|
|
12
8
|
});
|
|
13
|
-
if (!res.ok)
|
|
14
|
-
throw new Error(`Contentful API error ${res.status}: ${await res.text()}`);
|
|
15
|
-
return res.json();
|
|
16
9
|
}
|
|
17
|
-
async function paginateAll(
|
|
10
|
+
async function paginateAll(ctx, path, qs, limit) {
|
|
18
11
|
const results = [];
|
|
19
12
|
let skip = 0;
|
|
20
13
|
const size = 100;
|
|
21
14
|
while (true) {
|
|
22
|
-
const data = (await apiRequest(
|
|
15
|
+
const data = (await apiRequest(ctx, path, {
|
|
23
16
|
...qs,
|
|
24
17
|
skip,
|
|
25
18
|
limit: size,
|
|
@@ -34,20 +27,13 @@ async function paginateAll(host, token, endpoint, qs, limit) {
|
|
|
34
27
|
}
|
|
35
28
|
return results;
|
|
36
29
|
}
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
const isPreview = cfg.source === "preview";
|
|
40
|
-
return {
|
|
41
|
-
host: isPreview ? "preview.contentful.com" : "cdn.contentful.com",
|
|
42
|
-
token: (isPreview
|
|
43
|
-
? cfg.previewAccessToken
|
|
44
|
-
: cfg.deliveryAccessToken),
|
|
45
|
-
spaceId: cfg.spaceId,
|
|
46
|
-
};
|
|
30
|
+
function spaceOf(ctx) {
|
|
31
|
+
return pathSegment(ctx.connection.config.spaceId);
|
|
47
32
|
}
|
|
48
33
|
export default function contentful(rl) {
|
|
49
34
|
rl.setName("contentful");
|
|
50
35
|
rl.setVersion("0.1.0");
|
|
36
|
+
rl.setCredential(contentfulCredential);
|
|
51
37
|
rl.setConnectionSchema({
|
|
52
38
|
spaceId: {
|
|
53
39
|
type: "string",
|
|
@@ -79,8 +65,7 @@ export default function contentful(rl) {
|
|
|
79
65
|
access: "read",
|
|
80
66
|
description: "Get space details",
|
|
81
67
|
async execute(_input, ctx) {
|
|
82
|
-
|
|
83
|
-
return apiRequest(host, token, `/spaces/${spaceId}`);
|
|
68
|
+
return apiRequest(ctx, `spaces/${spaceOf(ctx)}`);
|
|
84
69
|
},
|
|
85
70
|
});
|
|
86
71
|
// ── Content Type ────────────────────────────────────
|
|
@@ -101,8 +86,7 @@ export default function contentful(rl) {
|
|
|
101
86
|
},
|
|
102
87
|
async execute(input, ctx) {
|
|
103
88
|
const { environmentId, contentTypeId } = input;
|
|
104
|
-
|
|
105
|
-
return apiRequest(host, token, `/spaces/${spaceId}/environments/${environmentId}/content_types/${contentTypeId}`);
|
|
89
|
+
return apiRequest(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/content_types/${pathSegment(contentTypeId)}`);
|
|
106
90
|
},
|
|
107
91
|
});
|
|
108
92
|
// ── Entry ───────────────────────────────────────────
|
|
@@ -119,8 +103,7 @@ export default function contentful(rl) {
|
|
|
119
103
|
},
|
|
120
104
|
async execute(input, ctx) {
|
|
121
105
|
const { environmentId, entryId } = input;
|
|
122
|
-
|
|
123
|
-
return apiRequest(host, token, `/spaces/${spaceId}/environments/${environmentId}/entries/${entryId}`);
|
|
106
|
+
return apiRequest(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/entries/${pathSegment(entryId)}`);
|
|
124
107
|
},
|
|
125
108
|
});
|
|
126
109
|
rl.registerAction("entry.list", {
|
|
@@ -152,7 +135,6 @@ export default function contentful(rl) {
|
|
|
152
135
|
},
|
|
153
136
|
async execute(input, ctx) {
|
|
154
137
|
const { environmentId, contentType, query, select, order, limit } = (input ?? {});
|
|
155
|
-
const { host, token, spaceId } = getConn(ctx);
|
|
156
138
|
const qs = {};
|
|
157
139
|
if (contentType)
|
|
158
140
|
qs.content_type = contentType;
|
|
@@ -162,7 +144,7 @@ export default function contentful(rl) {
|
|
|
162
144
|
qs.select = select;
|
|
163
145
|
if (order)
|
|
164
146
|
qs.order = order;
|
|
165
|
-
return paginateAll(
|
|
147
|
+
return paginateAll(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/entries`, qs, limit);
|
|
166
148
|
},
|
|
167
149
|
});
|
|
168
150
|
// ── Asset ───────────────────────────────────────────
|
|
@@ -179,8 +161,7 @@ export default function contentful(rl) {
|
|
|
179
161
|
},
|
|
180
162
|
async execute(input, ctx) {
|
|
181
163
|
const { environmentId, assetId } = input;
|
|
182
|
-
|
|
183
|
-
return apiRequest(host, token, `/spaces/${spaceId}/environments/${environmentId}/assets/${assetId}`);
|
|
164
|
+
return apiRequest(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/assets/${pathSegment(assetId)}`);
|
|
184
165
|
},
|
|
185
166
|
});
|
|
186
167
|
rl.registerAction("asset.list", {
|
|
@@ -196,8 +177,7 @@ export default function contentful(rl) {
|
|
|
196
177
|
},
|
|
197
178
|
async execute(input, ctx) {
|
|
198
179
|
const { environmentId, limit } = (input ?? {});
|
|
199
|
-
|
|
200
|
-
return paginateAll(host, token, `/spaces/${spaceId}/environments/${environmentId}/assets`, undefined, limit);
|
|
180
|
+
return paginateAll(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/assets`, undefined, limit);
|
|
201
181
|
},
|
|
202
182
|
});
|
|
203
183
|
// ── Locale ──────────────────────────────────────────
|
|
@@ -214,8 +194,7 @@ export default function contentful(rl) {
|
|
|
214
194
|
},
|
|
215
195
|
async execute(input, ctx) {
|
|
216
196
|
const { environmentId, limit } = (input ?? {});
|
|
217
|
-
|
|
218
|
-
return paginateAll(host, token, `/spaces/${spaceId}/environments/${environmentId}/locales`, undefined, limit);
|
|
197
|
+
return paginateAll(ctx, `spaces/${spaceOf(ctx)}/environments/${pathSegment(environmentId)}/locales`, undefined, limit);
|
|
219
198
|
},
|
|
220
199
|
});
|
|
221
200
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* The API secret, added by the transport as api_secret: a field of every
|
|
4
|
+
* write's JSON body, and a query parameter on reads and deletes.
|
|
5
|
+
*/
|
|
6
|
+
export const convertkitCredential = staticCredential({
|
|
7
|
+
id: "convertkit",
|
|
8
|
+
auth: {
|
|
9
|
+
kind: "static",
|
|
10
|
+
parts: ["secret"],
|
|
11
|
+
placements: [{ in: "body", part: "secret", name: "api_secret" }],
|
|
12
|
+
},
|
|
13
|
+
local: { secret: "apiSecret" },
|
|
14
|
+
targets: {
|
|
15
|
+
api: {
|
|
16
|
+
baseUrl: "https://api.convertkit.com/v3/",
|
|
17
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
probe: {
|
|
21
|
+
target: "api",
|
|
22
|
+
path: "account",
|
|
23
|
+
method: "GET",
|
|
24
|
+
acceptedStatuses: [200],
|
|
25
|
+
},
|
|
26
|
+
});
|