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,35 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const init = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { onfleetCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, onfleetCredential, "onfleet", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
if (body !== undefined && method !== "GET")
|
|
19
|
-
init.body = JSON.stringify(body);
|
|
20
|
-
const res = await fetch(url.toString(), init);
|
|
21
|
-
if (!res.ok)
|
|
22
|
-
throw new Error(`Onfleet error ${res.status}: ${await res.text()}`);
|
|
23
|
-
const text = await res.text();
|
|
24
|
-
return text ? JSON.parse(text) : {};
|
|
8
|
+
query: qs,
|
|
9
|
+
headers: { "User-Agent": "runline-onfleet" },
|
|
10
|
+
...(body !== undefined && method !== "GET" ? { json: body } : {}),
|
|
11
|
+
});
|
|
25
12
|
}
|
|
26
|
-
function registerCrud(rl, resource, plural,
|
|
13
|
+
function registerCrud(rl, resource, plural, createSchema) {
|
|
27
14
|
rl.registerAction(`${resource}.create`, {
|
|
28
15
|
access: "write",
|
|
29
16
|
description: `Create a ${resource}`,
|
|
30
17
|
inputSchema: createSchema,
|
|
31
18
|
async execute(input, ctx) {
|
|
32
|
-
return apiRequest(
|
|
19
|
+
return apiRequest(ctx, "POST", plural, input);
|
|
33
20
|
},
|
|
34
21
|
});
|
|
35
22
|
rl.registerAction(`${resource}.get`, {
|
|
@@ -37,7 +24,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
|
|
|
37
24
|
description: `Get a ${resource} by ID`,
|
|
38
25
|
inputSchema: { id: { type: "string", required: true } },
|
|
39
26
|
async execute(input, ctx) {
|
|
40
|
-
return apiRequest(
|
|
27
|
+
return apiRequest(ctx, "GET", `${plural}/${pathSegment(input.id)}`);
|
|
41
28
|
},
|
|
42
29
|
});
|
|
43
30
|
rl.registerAction(`${resource}.list`, {
|
|
@@ -45,7 +32,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
|
|
|
45
32
|
description: `List ${plural}`,
|
|
46
33
|
inputSchema: { limit: { type: "number", required: false } },
|
|
47
34
|
async execute(input, ctx) {
|
|
48
|
-
const data = (await apiRequest(
|
|
35
|
+
const data = (await apiRequest(ctx, "GET", plural));
|
|
49
36
|
const p = (input ?? {});
|
|
50
37
|
return p.limit ? data.slice(0, p.limit) : data;
|
|
51
38
|
},
|
|
@@ -59,7 +46,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
|
|
|
59
46
|
},
|
|
60
47
|
async execute(input, ctx) {
|
|
61
48
|
const p = input;
|
|
62
|
-
return apiRequest(
|
|
49
|
+
return apiRequest(ctx, "PUT", `${plural}/${pathSegment(p.id)}`, p.data);
|
|
63
50
|
},
|
|
64
51
|
});
|
|
65
52
|
rl.registerAction(`${resource}.delete`, {
|
|
@@ -67,7 +54,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
|
|
|
67
54
|
description: `Delete a ${resource}`,
|
|
68
55
|
inputSchema: { id: { type: "string", required: true } },
|
|
69
56
|
async execute(input, ctx) {
|
|
70
|
-
await apiRequest(
|
|
57
|
+
await apiRequest(ctx, "DELETE", `${plural}/${pathSegment(input.id)}`);
|
|
71
58
|
return { success: true };
|
|
72
59
|
},
|
|
73
60
|
});
|
|
@@ -75,6 +62,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
|
|
|
75
62
|
export default function onfleet(rl) {
|
|
76
63
|
rl.setName("onfleet");
|
|
77
64
|
rl.setVersion("0.1.0");
|
|
65
|
+
rl.setCredential(onfleetCredential);
|
|
78
66
|
rl.setConnectionSchema({
|
|
79
67
|
apiKey: {
|
|
80
68
|
type: "string",
|
|
@@ -83,14 +71,13 @@ export default function onfleet(rl) {
|
|
|
83
71
|
env: "ONFLEET_API_KEY",
|
|
84
72
|
},
|
|
85
73
|
});
|
|
86
|
-
const key = (ctx) => ctx.connection.config.apiKey;
|
|
87
74
|
// ── Organization ────────────────────────────────────
|
|
88
75
|
rl.registerAction("organization.get", {
|
|
89
76
|
access: "read",
|
|
90
77
|
description: "Get organization details",
|
|
91
78
|
inputSchema: {},
|
|
92
79
|
async execute(_input, ctx) {
|
|
93
|
-
return apiRequest(
|
|
80
|
+
return apiRequest(ctx, "GET", "organization");
|
|
94
81
|
},
|
|
95
82
|
});
|
|
96
83
|
// ── Task ────────────────────────────────────────────
|
|
@@ -121,7 +108,7 @@ export default function onfleet(rl) {
|
|
|
121
108
|
notes: { type: "string", required: false },
|
|
122
109
|
},
|
|
123
110
|
async execute(input, ctx) {
|
|
124
|
-
return apiRequest(
|
|
111
|
+
return apiRequest(ctx, "POST", "tasks", input);
|
|
125
112
|
},
|
|
126
113
|
});
|
|
127
114
|
rl.registerAction("task.get", {
|
|
@@ -130,8 +117,10 @@ export default function onfleet(rl) {
|
|
|
130
117
|
inputSchema: { id: { type: "string", required: true } },
|
|
131
118
|
async execute(input, ctx) {
|
|
132
119
|
const id = input.id;
|
|
133
|
-
const path = id.length <= 8
|
|
134
|
-
|
|
120
|
+
const path = id.length <= 8
|
|
121
|
+
? `tasks/shortId/${pathSegment(id)}`
|
|
122
|
+
: `tasks/${pathSegment(id)}`;
|
|
123
|
+
return apiRequest(ctx, "GET", path);
|
|
135
124
|
},
|
|
136
125
|
});
|
|
137
126
|
rl.registerAction("task.list", {
|
|
@@ -151,7 +140,7 @@ export default function onfleet(rl) {
|
|
|
151
140
|
qs.from = Date.now() - 604800000;
|
|
152
141
|
if (p.to)
|
|
153
142
|
qs.to = p.to;
|
|
154
|
-
const data = (await apiRequest(
|
|
143
|
+
const data = (await apiRequest(ctx, "GET", "tasks/all", undefined, qs));
|
|
155
144
|
const tasks = data.tasks;
|
|
156
145
|
return p.limit ? tasks.slice(0, p.limit) : tasks;
|
|
157
146
|
},
|
|
@@ -165,7 +154,7 @@ export default function onfleet(rl) {
|
|
|
165
154
|
},
|
|
166
155
|
async execute(input, ctx) {
|
|
167
156
|
const p = input;
|
|
168
|
-
return apiRequest(
|
|
157
|
+
return apiRequest(ctx, "PUT", `tasks/${pathSegment(p.id)}`, p.data);
|
|
169
158
|
},
|
|
170
159
|
});
|
|
171
160
|
rl.registerAction("task.delete", {
|
|
@@ -173,7 +162,7 @@ export default function onfleet(rl) {
|
|
|
173
162
|
description: "Delete a task",
|
|
174
163
|
inputSchema: { id: { type: "string", required: true } },
|
|
175
164
|
async execute(input, ctx) {
|
|
176
|
-
await apiRequest(
|
|
165
|
+
await apiRequest(ctx, "DELETE", `tasks/${pathSegment(input.id)}`);
|
|
177
166
|
return { success: true };
|
|
178
167
|
},
|
|
179
168
|
});
|
|
@@ -192,18 +181,18 @@ export default function onfleet(rl) {
|
|
|
192
181
|
};
|
|
193
182
|
if (p.notes)
|
|
194
183
|
body.completionDetails.notes = p.notes;
|
|
195
|
-
await apiRequest(
|
|
184
|
+
await apiRequest(ctx, "POST", `tasks/${pathSegment(p.id)}/complete`, body);
|
|
196
185
|
return { success: true };
|
|
197
186
|
},
|
|
198
187
|
});
|
|
199
188
|
// ── Worker ──────────────────────────────────────────
|
|
200
|
-
registerCrud(rl, "worker", "workers",
|
|
189
|
+
registerCrud(rl, "worker", "workers", {
|
|
201
190
|
name: { type: "string", required: true },
|
|
202
191
|
phone: { type: "string", required: true },
|
|
203
192
|
teams: { type: "object", required: true, description: "Array of team IDs" },
|
|
204
193
|
});
|
|
205
194
|
// ── Admin ───────────────────────────────────────────
|
|
206
|
-
registerCrud(rl, "admin", "admins",
|
|
195
|
+
registerCrud(rl, "admin", "admins", {
|
|
207
196
|
name: { type: "string", required: true },
|
|
208
197
|
email: { type: "string", required: true },
|
|
209
198
|
});
|
|
@@ -216,7 +205,7 @@ export default function onfleet(rl) {
|
|
|
216
205
|
address: { type: "object", required: true },
|
|
217
206
|
},
|
|
218
207
|
async execute(input, ctx) {
|
|
219
|
-
return apiRequest(
|
|
208
|
+
return apiRequest(ctx, "POST", "hubs", input);
|
|
220
209
|
},
|
|
221
210
|
});
|
|
222
211
|
rl.registerAction("hub.list", {
|
|
@@ -224,7 +213,7 @@ export default function onfleet(rl) {
|
|
|
224
213
|
description: "List hubs",
|
|
225
214
|
inputSchema: { limit: { type: "number", required: false } },
|
|
226
215
|
async execute(input, ctx) {
|
|
227
|
-
const data = (await apiRequest(
|
|
216
|
+
const data = (await apiRequest(ctx, "GET", "hubs"));
|
|
228
217
|
const p = (input ?? {});
|
|
229
218
|
return p.limit ? data.slice(0, p.limit) : data;
|
|
230
219
|
},
|
|
@@ -238,11 +227,11 @@ export default function onfleet(rl) {
|
|
|
238
227
|
},
|
|
239
228
|
async execute(input, ctx) {
|
|
240
229
|
const p = input;
|
|
241
|
-
return apiRequest(
|
|
230
|
+
return apiRequest(ctx, "PUT", `hubs/${pathSegment(p.id)}`, p.data);
|
|
242
231
|
},
|
|
243
232
|
});
|
|
244
233
|
// ── Team ────────────────────────────────────────────
|
|
245
|
-
registerCrud(rl, "team", "teams",
|
|
234
|
+
registerCrud(rl, "team", "teams", {
|
|
246
235
|
name: { type: "string", required: true },
|
|
247
236
|
workers: {
|
|
248
237
|
type: "object",
|
|
@@ -265,7 +254,7 @@ export default function onfleet(rl) {
|
|
|
265
254
|
notes: { type: "string", required: false },
|
|
266
255
|
},
|
|
267
256
|
async execute(input, ctx) {
|
|
268
|
-
return apiRequest(
|
|
257
|
+
return apiRequest(ctx, "POST", "recipients", input);
|
|
269
258
|
},
|
|
270
259
|
});
|
|
271
260
|
rl.registerAction("recipient.get", {
|
|
@@ -273,7 +262,7 @@ export default function onfleet(rl) {
|
|
|
273
262
|
description: "Get a recipient by ID",
|
|
274
263
|
inputSchema: { id: { type: "string", required: true } },
|
|
275
264
|
async execute(input, ctx) {
|
|
276
|
-
return apiRequest(
|
|
265
|
+
return apiRequest(ctx, "GET", `recipients/${pathSegment(input.id)}`);
|
|
277
266
|
},
|
|
278
267
|
});
|
|
279
268
|
rl.registerAction("recipient.update", {
|
|
@@ -285,7 +274,7 @@ export default function onfleet(rl) {
|
|
|
285
274
|
},
|
|
286
275
|
async execute(input, ctx) {
|
|
287
276
|
const p = input;
|
|
288
|
-
return apiRequest(
|
|
277
|
+
return apiRequest(ctx, "PUT", `recipients/${pathSegment(p.id)}`, p.data);
|
|
289
278
|
},
|
|
290
279
|
});
|
|
291
280
|
// ── Container ────────────────────────────────────────
|
|
@@ -302,7 +291,7 @@ export default function onfleet(rl) {
|
|
|
302
291
|
},
|
|
303
292
|
async execute(input, ctx) {
|
|
304
293
|
const p = input;
|
|
305
|
-
return apiRequest(
|
|
294
|
+
return apiRequest(ctx, "GET", `containers/${pathSegment(p.containerType)}/${pathSegment(p.containerId)}`);
|
|
306
295
|
},
|
|
307
296
|
});
|
|
308
297
|
rl.registerAction("container.updateTasks", {
|
|
@@ -323,7 +312,7 @@ export default function onfleet(rl) {
|
|
|
323
312
|
},
|
|
324
313
|
async execute(input, ctx) {
|
|
325
314
|
const p = input;
|
|
326
|
-
return apiRequest(
|
|
315
|
+
return apiRequest(ctx, "PUT", `containers/${pathSegment(p.containerType)}/${pathSegment(p.containerId)}`, { tasks: p.tasks });
|
|
327
316
|
},
|
|
328
317
|
});
|
|
329
318
|
rl.registerAction("team.getTimeEstimates", {
|
|
@@ -344,7 +333,7 @@ export default function onfleet(rl) {
|
|
|
344
333
|
},
|
|
345
334
|
async execute(input, ctx) {
|
|
346
335
|
const { id, ...qs } = input;
|
|
347
|
-
return apiRequest(
|
|
336
|
+
return apiRequest(ctx, "GET", `teams/${pathSegment(id)}/estimate`, undefined, qs);
|
|
348
337
|
},
|
|
349
338
|
});
|
|
350
339
|
rl.registerAction("team.autoDispatch", {
|
|
@@ -356,7 +345,7 @@ export default function onfleet(rl) {
|
|
|
356
345
|
},
|
|
357
346
|
async execute(input, ctx) {
|
|
358
347
|
const p = input;
|
|
359
|
-
return apiRequest(
|
|
348
|
+
return apiRequest(ctx, "POST", `teams/${pathSegment(p.id)}/dispatch`, p.data ?? {});
|
|
360
349
|
},
|
|
361
350
|
});
|
|
362
351
|
// ── Destination ─────────────────────────────────────
|
|
@@ -371,7 +360,7 @@ export default function onfleet(rl) {
|
|
|
371
360
|
},
|
|
372
361
|
},
|
|
373
362
|
async execute(input, ctx) {
|
|
374
|
-
return apiRequest(
|
|
363
|
+
return apiRequest(ctx, "POST", "destinations", input);
|
|
375
364
|
},
|
|
376
365
|
});
|
|
377
366
|
rl.registerAction("destination.get", {
|
|
@@ -379,7 +368,7 @@ export default function onfleet(rl) {
|
|
|
379
368
|
description: "Get a destination by ID",
|
|
380
369
|
inputSchema: { id: { type: "string", required: true } },
|
|
381
370
|
async execute(input, ctx) {
|
|
382
|
-
return apiRequest(
|
|
371
|
+
return apiRequest(ctx, "GET", `destinations/${pathSegment(input.id)}`);
|
|
383
372
|
},
|
|
384
373
|
});
|
|
385
374
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An API key, sent as a bearer to OpenAI's images API base. */
|
|
3
|
+
export const openaiCredential = staticCredential({
|
|
4
|
+
id: "openai",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "apiKey" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.openai.com/v1/images/",
|
|
10
|
+
methods: ["POST"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
* const { images } = await openai.image.create({ prompt: "a red bicycle on snow" })
|
|
16
16
|
* // images[0].path -> "/tmp/openai-image-….png"
|
|
17
17
|
*/
|
|
18
|
+
import { credentialJson, multipartBody } from "../../_shared/credentials.js";
|
|
18
19
|
import { readImageInput, SEND_FILE_NOTE, writeImageFile, } from "../../_shared/mediaFile.js";
|
|
19
|
-
|
|
20
|
-
const EDIT_ENDPOINT = "https://api.openai.com/v1/images/edits";
|
|
20
|
+
import { openaiCredential } from "./credentials.js";
|
|
21
21
|
/**
|
|
22
22
|
* Newest GPT Image model; override per call or via the connection.
|
|
23
23
|
*
|
|
@@ -50,6 +50,7 @@ function resolveModel(explicit, config) {
|
|
|
50
50
|
export default function openai(rl) {
|
|
51
51
|
rl.setName("openai");
|
|
52
52
|
rl.setVersion("0.1.0");
|
|
53
|
+
rl.setCredential(openaiCredential);
|
|
53
54
|
rl.setConnectionSchema({
|
|
54
55
|
apiKey: {
|
|
55
56
|
type: "string",
|
|
@@ -109,7 +110,6 @@ export default function openai(rl) {
|
|
|
109
110
|
if (typeof p.prompt !== "string" || p.prompt.length === 0) {
|
|
110
111
|
throw new Error("openai: prompt is required");
|
|
111
112
|
}
|
|
112
|
-
const apiKey = ctx.connection.config.apiKey;
|
|
113
113
|
const model = resolveModel(p.model, ctx.connection.config);
|
|
114
114
|
const body = {
|
|
115
115
|
model,
|
|
@@ -129,18 +129,12 @@ export default function openai(rl) {
|
|
|
129
129
|
body.quality = p.quality;
|
|
130
130
|
if (p.style)
|
|
131
131
|
body.style = p.style;
|
|
132
|
-
const
|
|
132
|
+
const data = (await credentialJson(ctx, openaiCredential, "openai", {
|
|
133
|
+
target: "api",
|
|
134
|
+
path: "generations",
|
|
133
135
|
method: "POST",
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
Authorization: `Bearer ${apiKey}`,
|
|
137
|
-
},
|
|
138
|
-
body: JSON.stringify(body),
|
|
139
|
-
});
|
|
140
|
-
if (!res.ok) {
|
|
141
|
-
throw new Error(`OpenAI API error ${res.status}: ${await res.text()}`);
|
|
142
|
-
}
|
|
143
|
-
const data = (await res.json());
|
|
136
|
+
json: body,
|
|
137
|
+
}));
|
|
144
138
|
const stamp = Date.now();
|
|
145
139
|
const images = (data.data ?? []).map((d, i) => ({
|
|
146
140
|
...writeImageFile({
|
|
@@ -214,7 +208,6 @@ export default function openai(rl) {
|
|
|
214
208
|
if (paths.length === 0) {
|
|
215
209
|
throw new Error("openai: imagePath (or imagePaths) is required");
|
|
216
210
|
}
|
|
217
|
-
const apiKey = ctx.connection.config.apiKey;
|
|
218
211
|
const model = resolveModel(p.model, ctx.connection.config);
|
|
219
212
|
const form = new FormData();
|
|
220
213
|
form.append("model", model);
|
|
@@ -228,15 +221,14 @@ export default function openai(rl) {
|
|
|
228
221
|
const img = readImageInput(path, "openai");
|
|
229
222
|
form.append("image[]", new Blob([img.bytes], { type: img.mimeType }), img.fileName);
|
|
230
223
|
}
|
|
231
|
-
const
|
|
224
|
+
const { body: formBytes, contentType } = await multipartBody(form);
|
|
225
|
+
const data = (await credentialJson(ctx, openaiCredential, "openai", {
|
|
226
|
+
target: "api",
|
|
227
|
+
path: "edits",
|
|
232
228
|
method: "POST",
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
});
|
|
236
|
-
if (!res.ok) {
|
|
237
|
-
throw new Error(`OpenAI API error ${res.status}: ${await res.text()}`);
|
|
238
|
-
}
|
|
239
|
-
const data = (await res.json());
|
|
229
|
+
body: formBytes,
|
|
230
|
+
headers: { "Content-Type": contentType },
|
|
231
|
+
}));
|
|
240
232
|
const stamp = Date.now();
|
|
241
233
|
const images = (data.data ?? []).map((d, i) => ({
|
|
242
234
|
...writeImageFile({
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An API key, appended by the transport as the APPID query parameter on
|
|
4
|
+
* OpenWeatherMap's data API.
|
|
5
|
+
*/
|
|
6
|
+
export const openweathermapCredential = staticCredential({
|
|
7
|
+
id: "openweathermap",
|
|
8
|
+
auth: { kind: "queryKey", param: "APPID" },
|
|
9
|
+
local: { secret: "apiKey" },
|
|
10
|
+
targets: {
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: "https://api.openweathermap.org/data/2.5/",
|
|
13
|
+
methods: ["GET"],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { credentialJson } from "../../_shared/credentials.js";
|
|
2
|
+
import { openweathermapCredential } from "./credentials.js";
|
|
2
3
|
const locationSchema = {
|
|
3
4
|
cityName: {
|
|
4
5
|
type: "string",
|
|
@@ -28,27 +29,35 @@ const locationSchema = {
|
|
|
28
29
|
description: "Language code (e.g. en, de)",
|
|
29
30
|
},
|
|
30
31
|
};
|
|
31
|
-
function buildQs(
|
|
32
|
-
const qs =
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
function buildQs(input) {
|
|
33
|
+
const qs = {
|
|
34
|
+
units: input.units ?? "metric",
|
|
35
|
+
};
|
|
35
36
|
if (input.cityName)
|
|
36
|
-
qs.
|
|
37
|
+
qs.q = input.cityName;
|
|
37
38
|
else if (input.cityId)
|
|
38
|
-
qs.
|
|
39
|
+
qs.id = String(input.cityId);
|
|
39
40
|
else if (input.lat && input.lon) {
|
|
40
|
-
qs.
|
|
41
|
-
qs.
|
|
41
|
+
qs.lat = input.lat;
|
|
42
|
+
qs.lon = input.lon;
|
|
42
43
|
}
|
|
43
44
|
else if (input.zip)
|
|
44
|
-
qs.
|
|
45
|
+
qs.zip = input.zip;
|
|
45
46
|
if (input.lang)
|
|
46
|
-
qs.
|
|
47
|
+
qs.lang = input.lang;
|
|
47
48
|
return qs;
|
|
48
49
|
}
|
|
50
|
+
function apiRequest(ctx, path, query) {
|
|
51
|
+
return credentialJson(ctx, openweathermapCredential, "openweathermap", {
|
|
52
|
+
target: "api",
|
|
53
|
+
path,
|
|
54
|
+
query,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
49
57
|
export default function openWeatherMap(rl) {
|
|
50
58
|
rl.setName("openweathermap");
|
|
51
59
|
rl.setVersion("0.1.0");
|
|
60
|
+
rl.setCredential(openweathermapCredential);
|
|
52
61
|
rl.setConnectionSchema({
|
|
53
62
|
apiKey: {
|
|
54
63
|
type: "string",
|
|
@@ -57,18 +66,13 @@ export default function openWeatherMap(rl) {
|
|
|
57
66
|
env: "OPENWEATHERMAP_API_KEY",
|
|
58
67
|
},
|
|
59
68
|
});
|
|
60
|
-
const key = (ctx) => ctx.connection.config.apiKey;
|
|
61
69
|
rl.registerAction("weather.current", {
|
|
62
70
|
access: "read",
|
|
63
71
|
description: "Get current weather data for a location",
|
|
64
72
|
inputSchema: locationSchema,
|
|
65
73
|
async execute(input, ctx) {
|
|
66
74
|
const p = (input ?? {});
|
|
67
|
-
|
|
68
|
-
const res = await fetch(`${BASE}/weather?${qs.toString()}`);
|
|
69
|
-
if (!res.ok)
|
|
70
|
-
throw new Error(`OpenWeatherMap error ${res.status}: ${await res.text()}`);
|
|
71
|
-
return res.json();
|
|
75
|
+
return apiRequest(ctx, "weather", buildQs(p));
|
|
72
76
|
},
|
|
73
77
|
});
|
|
74
78
|
rl.registerAction("weather.forecast5day", {
|
|
@@ -77,11 +81,7 @@ export default function openWeatherMap(rl) {
|
|
|
77
81
|
inputSchema: locationSchema,
|
|
78
82
|
async execute(input, ctx) {
|
|
79
83
|
const p = (input ?? {});
|
|
80
|
-
|
|
81
|
-
const res = await fetch(`${BASE}/forecast?${qs.toString()}`);
|
|
82
|
-
if (!res.ok)
|
|
83
|
-
throw new Error(`OpenWeatherMap error ${res.status}: ${await res.text()}`);
|
|
84
|
-
return res.json();
|
|
84
|
+
return apiRequest(ctx, "forecast", buildQs(p));
|
|
85
85
|
},
|
|
86
86
|
});
|
|
87
87
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** A personal access token, sent as a bearer to Oura's one API origin. */
|
|
3
|
+
export const ouraCredential = staticCredential({
|
|
4
|
+
id: "oura",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "accessToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.ouraring.com/v2/",
|
|
10
|
+
methods: ["GET"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "usercollection/personal_info",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const res = await fetch(url.toString(), {
|
|
9
|
-
headers: { Authorization: `Bearer ${token}` },
|
|
1
|
+
import { credentialJson } from "../../_shared/credentials.js";
|
|
2
|
+
import { ouraCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, endpoint, qs = {}) {
|
|
4
|
+
return credentialJson(ctx, ouraCredential, "oura", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint,
|
|
7
|
+
query: qs,
|
|
10
8
|
});
|
|
11
|
-
if (!res.ok)
|
|
12
|
-
throw new Error(`Oura API error ${res.status}: ${await res.text()}`);
|
|
13
|
-
return res.json();
|
|
14
9
|
}
|
|
15
10
|
function formatDate(d) {
|
|
16
11
|
if (!d)
|
|
@@ -20,6 +15,7 @@ function formatDate(d) {
|
|
|
20
15
|
export default function oura(rl) {
|
|
21
16
|
rl.setName("oura");
|
|
22
17
|
rl.setVersion("0.1.0");
|
|
18
|
+
rl.setCredential(ouraCredential);
|
|
23
19
|
rl.setConnectionSchema({
|
|
24
20
|
accessToken: {
|
|
25
21
|
type: "string",
|
|
@@ -28,29 +24,28 @@ export default function oura(rl) {
|
|
|
28
24
|
env: "OURA_ACCESS_TOKEN",
|
|
29
25
|
},
|
|
30
26
|
});
|
|
31
|
-
const key = (ctx) => ctx.connection.config.accessToken;
|
|
32
27
|
rl.registerAction("profile.get", {
|
|
33
28
|
access: "read",
|
|
34
29
|
description: "Get the user's personal information",
|
|
35
30
|
inputSchema: {},
|
|
36
31
|
async execute(_input, ctx) {
|
|
37
|
-
return apiRequest(
|
|
32
|
+
return apiRequest(ctx, "usercollection/personal_info");
|
|
38
33
|
},
|
|
39
34
|
});
|
|
40
35
|
const summaryEndpoints = [
|
|
41
36
|
{
|
|
42
37
|
name: "summary.activity",
|
|
43
|
-
path: "
|
|
38
|
+
path: "usercollection/daily_activity",
|
|
44
39
|
description: "Get daily activity summary",
|
|
45
40
|
},
|
|
46
41
|
{
|
|
47
42
|
name: "summary.readiness",
|
|
48
|
-
path: "
|
|
43
|
+
path: "usercollection/daily_readiness",
|
|
49
44
|
description: "Get daily readiness summary",
|
|
50
45
|
},
|
|
51
46
|
{
|
|
52
47
|
name: "summary.sleep",
|
|
53
|
-
path: "
|
|
48
|
+
path: "usercollection/daily_sleep",
|
|
54
49
|
description: "Get daily sleep summary",
|
|
55
50
|
},
|
|
56
51
|
];
|
|
@@ -82,7 +77,7 @@ export default function oura(rl) {
|
|
|
82
77
|
qs.start_date = formatDate(p.startDate);
|
|
83
78
|
if (p.endDate)
|
|
84
79
|
qs.end_date = formatDate(p.endDate);
|
|
85
|
-
const data = (await apiRequest(
|
|
80
|
+
const data = (await apiRequest(ctx, ep.path, qs));
|
|
86
81
|
let items = (data.data ?? []);
|
|
87
82
|
if (p.limit)
|
|
88
83
|
items = items.slice(0, p.limit);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { configFlag, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* The vendor ID and auth code, added by the transport as the vendor_id and
|
|
4
|
+
* vendor_auth_code fields of every JSON call. Stored together, so a code
|
|
5
|
+
* is never sent under another vendor. `sandbox` selects Paddle's sandbox
|
|
6
|
+
* host.
|
|
7
|
+
*/
|
|
8
|
+
export const paddleCredential = staticCredential({
|
|
9
|
+
id: "paddle",
|
|
10
|
+
auth: {
|
|
11
|
+
kind: "static",
|
|
12
|
+
parts: ["vendorId", "authCode"],
|
|
13
|
+
placements: [
|
|
14
|
+
{ in: "body", part: "vendorId", name: "vendor_id" },
|
|
15
|
+
{ in: "body", part: "authCode", name: "vendor_auth_code" },
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
local: { vendorId: "vendorId", authCode: "vendorAuthCode" },
|
|
19
|
+
targets: (config) => ({
|
|
20
|
+
api: {
|
|
21
|
+
baseUrl: configFlag(config.sandbox)
|
|
22
|
+
? "https://sandbox-vendors.paddle.com/api/"
|
|
23
|
+
: "https://vendors.paddle.com/api/",
|
|
24
|
+
methods: ["POST"],
|
|
25
|
+
},
|
|
26
|
+
}),
|
|
27
|
+
});
|