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
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
* text rendering well. Sized via aspect_ratio rather than W×H —
|
|
9
9
|
* the API does the math.
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
import { credentialJson } from "../../_shared/credentials.js";
|
|
12
|
+
import { readImageInput, SEND_FILE_NOTE, writeImageFile, } from "../../_shared/mediaFile.js";
|
|
13
|
+
import { xaiCredential } from "./credentials.js";
|
|
14
14
|
const MODEL = "grok-imagine-image";
|
|
15
15
|
const EDIT_MODEL = "grok-imagine-image-2.0";
|
|
16
16
|
export default function xai(rl) {
|
|
17
17
|
rl.setName("xai");
|
|
18
18
|
rl.setVersion("0.1.0");
|
|
19
|
+
rl.setCredential(xaiCredential);
|
|
19
20
|
rl.setConnectionSchema({
|
|
20
21
|
apiKey: {
|
|
21
22
|
type: "string",
|
|
@@ -54,7 +55,6 @@ export default function xai(rl) {
|
|
|
54
55
|
if (typeof p.prompt !== "string" || p.prompt.length === 0) {
|
|
55
56
|
throw new Error("xai: prompt is required");
|
|
56
57
|
}
|
|
57
|
-
const apiKey = ctx.connection.config.apiKey;
|
|
58
58
|
const body = {
|
|
59
59
|
model: MODEL,
|
|
60
60
|
prompt: p.prompt,
|
|
@@ -63,21 +63,22 @@ export default function xai(rl) {
|
|
|
63
63
|
};
|
|
64
64
|
if (p.aspectRatio)
|
|
65
65
|
body.aspect_ratio = p.aspectRatio;
|
|
66
|
-
const
|
|
66
|
+
const data = (await credentialJson(ctx, xaiCredential, "xai", {
|
|
67
|
+
target: "api",
|
|
68
|
+
path: "images/generations",
|
|
67
69
|
method: "POST",
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
Authorization: `Bearer ${apiKey}`,
|
|
71
|
-
},
|
|
72
|
-
body: JSON.stringify(body),
|
|
73
|
-
});
|
|
74
|
-
if (!res.ok) {
|
|
75
|
-
throw new Error(`xAI API error ${res.status}: ${await res.text()}`);
|
|
76
|
-
}
|
|
77
|
-
const data = (await res.json());
|
|
70
|
+
json: body,
|
|
71
|
+
}));
|
|
78
72
|
const stamp = Date.now();
|
|
79
73
|
const images = (data.data ?? []).map((d, i) => ({
|
|
80
|
-
...writeImageFile({
|
|
74
|
+
...writeImageFile({
|
|
75
|
+
base64: d.b64_json,
|
|
76
|
+
mimeType: d.mime_type ?? "image/jpeg",
|
|
77
|
+
provider: "xai",
|
|
78
|
+
index: i,
|
|
79
|
+
saveDir: p.saveDir,
|
|
80
|
+
stamp,
|
|
81
|
+
}),
|
|
81
82
|
...(d.revised_prompt ? { revisedPrompt: d.revised_prompt } : {}),
|
|
82
83
|
}));
|
|
83
84
|
return { provider: "xai", model: MODEL, images, note: SEND_FILE_NOTE };
|
|
@@ -119,29 +120,29 @@ export default function xai(rl) {
|
|
|
119
120
|
throw new Error("xai: prompt is required");
|
|
120
121
|
}
|
|
121
122
|
const img = readImageInput(p.imagePath, "xai");
|
|
122
|
-
const apiKey = ctx.connection.config.apiKey;
|
|
123
123
|
const model = p.model ?? EDIT_MODEL;
|
|
124
|
-
const
|
|
124
|
+
const data = (await credentialJson(ctx, xaiCredential, "xai", {
|
|
125
|
+
target: "api",
|
|
126
|
+
path: "images/edits",
|
|
125
127
|
method: "POST",
|
|
126
|
-
|
|
127
|
-
"Content-Type": "application/json",
|
|
128
|
-
Authorization: `Bearer ${apiKey}`,
|
|
129
|
-
},
|
|
130
|
-
body: JSON.stringify({
|
|
128
|
+
json: {
|
|
131
129
|
model,
|
|
132
130
|
prompt: p.prompt,
|
|
133
131
|
image: { url: img.dataUri },
|
|
134
132
|
n: Math.min(p.n ?? 1, 10),
|
|
135
133
|
response_format: "b64_json",
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
if (!res.ok) {
|
|
139
|
-
throw new Error(`xAI API error ${res.status}: ${await res.text()}`);
|
|
140
|
-
}
|
|
141
|
-
const data = (await res.json());
|
|
134
|
+
},
|
|
135
|
+
}));
|
|
142
136
|
const stamp = Date.now();
|
|
143
137
|
const images = (data.data ?? []).map((d, i) => ({
|
|
144
|
-
...writeImageFile({
|
|
138
|
+
...writeImageFile({
|
|
139
|
+
base64: d.b64_json,
|
|
140
|
+
mimeType: d.mime_type ?? "image/jpeg",
|
|
141
|
+
provider: "xai",
|
|
142
|
+
index: i,
|
|
143
|
+
saveDir: p.saveDir,
|
|
144
|
+
stamp,
|
|
145
|
+
}),
|
|
145
146
|
...(d.revised_prompt ? { revisedPrompt: d.revised_prompt } : {}),
|
|
146
147
|
}));
|
|
147
148
|
return { provider: "xai", model, images, note: SEND_FILE_NOTE };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An OAuth2 access token, sent as a bearer to Xero's accounting API. The
|
|
4
|
+
* public Xero-tenant-id companion header names the organization.
|
|
5
|
+
*/
|
|
6
|
+
export const xeroCredential = staticCredential({
|
|
7
|
+
id: "xero",
|
|
8
|
+
auth: { kind: "bearer" },
|
|
9
|
+
local: { secret: "accessToken" },
|
|
10
|
+
targets: {
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: "https://api.xero.com/api.xro/2.0/",
|
|
13
|
+
methods: ["GET", "POST"],
|
|
14
|
+
allowedHeaders: ["Xero-tenant-id"],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -1,36 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
async function api(conn, method, endpoint, body, qs) {
|
|
9
|
-
const url = new URL(`${BASE}${endpoint}`);
|
|
10
|
-
if (qs) {
|
|
11
|
-
for (const [k, v] of Object.entries(qs)) {
|
|
12
|
-
if (v !== undefined && v !== null)
|
|
13
|
-
url.searchParams.set(k, String(v));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const init = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { xeroCredential } from "./credentials.js";
|
|
3
|
+
function api(ctx, method, endpoint, body, qs) {
|
|
4
|
+
return credentialJson(ctx, xeroCredential, "xero", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint,
|
|
17
7
|
method,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
if (body && Object.keys(body).length > 0)
|
|
25
|
-
init.body = JSON.stringify(body);
|
|
26
|
-
const res = await fetch(url.toString(), init);
|
|
27
|
-
if (!res.ok)
|
|
28
|
-
throw new Error(`Xero error ${res.status}: ${await res.text()}`);
|
|
29
|
-
return res.json();
|
|
8
|
+
query: qs,
|
|
9
|
+
headers: { "Xero-tenant-id": ctx.connection.config.tenantId },
|
|
10
|
+
...(body && Object.keys(body).length > 0 ? { json: body } : {}),
|
|
11
|
+
});
|
|
30
12
|
}
|
|
31
13
|
export default function xero(rl) {
|
|
32
14
|
rl.setName("xero");
|
|
33
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(xeroCredential);
|
|
34
17
|
rl.setConnectionSchema({
|
|
35
18
|
accessToken: {
|
|
36
19
|
type: "string",
|
|
@@ -89,7 +72,7 @@ export default function xero(rl) {
|
|
|
89
72
|
body.Reference = p.Reference;
|
|
90
73
|
if (p.CurrencyCode)
|
|
91
74
|
body.CurrencyCode = p.CurrencyCode;
|
|
92
|
-
const data = (await api(
|
|
75
|
+
const data = (await api(ctx, "POST", "Invoices", body));
|
|
93
76
|
return data.Invoices;
|
|
94
77
|
},
|
|
95
78
|
});
|
|
@@ -98,7 +81,7 @@ export default function xero(rl) {
|
|
|
98
81
|
description: "Get an invoice by ID",
|
|
99
82
|
inputSchema: { invoiceId: { type: "string", required: true } },
|
|
100
83
|
async execute(input, ctx) {
|
|
101
|
-
const data = (await api(
|
|
84
|
+
const data = (await api(ctx, "GET", `Invoices/${pathSegment(input.invoiceId)}`));
|
|
102
85
|
return data.Invoices;
|
|
103
86
|
},
|
|
104
87
|
});
|
|
@@ -121,7 +104,7 @@ export default function xero(rl) {
|
|
|
121
104
|
qs.statuses = p.statuses;
|
|
122
105
|
if (p.where)
|
|
123
106
|
qs.where = p.where;
|
|
124
|
-
const data = (await api(
|
|
107
|
+
const data = (await api(ctx, "GET", "Invoices", undefined, qs));
|
|
125
108
|
const invoices = data.Invoices;
|
|
126
109
|
return p.limit ? invoices.slice(0, p.limit) : invoices;
|
|
127
110
|
},
|
|
@@ -139,7 +122,7 @@ export default function xero(rl) {
|
|
|
139
122
|
},
|
|
140
123
|
async execute(input, ctx) {
|
|
141
124
|
const p = input;
|
|
142
|
-
const result = (await api(
|
|
125
|
+
const result = (await api(ctx, "POST", `Invoices/${pathSegment(p.invoiceId)}`, p.data));
|
|
143
126
|
return result.Invoices;
|
|
144
127
|
},
|
|
145
128
|
});
|
|
@@ -156,7 +139,7 @@ export default function xero(rl) {
|
|
|
156
139
|
async execute(input, ctx) {
|
|
157
140
|
const p = input;
|
|
158
141
|
const body = { Contacts: [p] };
|
|
159
|
-
const data = (await api(
|
|
142
|
+
const data = (await api(ctx, "POST", "Contacts", body));
|
|
160
143
|
return data.Contacts;
|
|
161
144
|
},
|
|
162
145
|
});
|
|
@@ -165,7 +148,7 @@ export default function xero(rl) {
|
|
|
165
148
|
description: "Get a contact by ID",
|
|
166
149
|
inputSchema: { contactId: { type: "string", required: true } },
|
|
167
150
|
async execute(input, ctx) {
|
|
168
|
-
const data = (await api(
|
|
151
|
+
const data = (await api(ctx, "GET", `Contacts/${pathSegment(input.contactId)}`));
|
|
169
152
|
return data.Contacts;
|
|
170
153
|
},
|
|
171
154
|
});
|
|
@@ -184,7 +167,7 @@ export default function xero(rl) {
|
|
|
184
167
|
qs.where = p.where;
|
|
185
168
|
if (p.includeArchived)
|
|
186
169
|
qs.includeArchived = "true";
|
|
187
|
-
const data = (await api(
|
|
170
|
+
const data = (await api(ctx, "GET", "Contacts", undefined, qs));
|
|
188
171
|
const contacts = data.Contacts;
|
|
189
172
|
return p.limit ? contacts.slice(0, p.limit) : contacts;
|
|
190
173
|
},
|
|
@@ -203,7 +186,7 @@ export default function xero(rl) {
|
|
|
203
186
|
async execute(input, ctx) {
|
|
204
187
|
const p = input;
|
|
205
188
|
const body = { Contacts: [p.data] };
|
|
206
|
-
const result = (await api(
|
|
189
|
+
const result = (await api(ctx, "POST", `Contacts/${pathSegment(p.contactId)}`, body));
|
|
207
190
|
return result.Contacts;
|
|
208
191
|
},
|
|
209
192
|
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* A signature token, appended by the transport as the signature query
|
|
4
|
+
* parameter on the installation's own yourls-api.php. The installation
|
|
5
|
+
* URL is public config and must be HTTPS.
|
|
6
|
+
*/
|
|
7
|
+
export const yourlsCredential = staticCredential({
|
|
8
|
+
id: "yourls",
|
|
9
|
+
auth: { kind: "queryKey", param: "signature" },
|
|
10
|
+
local: { secret: "signature" },
|
|
11
|
+
targets: (config) => ({
|
|
12
|
+
api: {
|
|
13
|
+
baseUrl: httpsBase(config.url, ""),
|
|
14
|
+
methods: ["GET"],
|
|
15
|
+
},
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const url = new URL(`${conn.url}/yourls-api.php`);
|
|
10
|
-
qs.signature = conn.signature;
|
|
11
|
-
qs.format = "json";
|
|
12
|
-
for (const [k, v] of Object.entries(qs)) {
|
|
13
|
-
if (v !== undefined && v !== null)
|
|
14
|
-
url.searchParams.set(k, String(v));
|
|
15
|
-
}
|
|
16
|
-
const res = await fetch(url.toString());
|
|
17
|
-
if (!res.ok)
|
|
18
|
-
throw new Error(`Yourls error ${res.status}: ${await res.text()}`);
|
|
19
|
-
const data = (await res.json());
|
|
1
|
+
import { answerFailed, credentialJson } from "../../_shared/credentials.js";
|
|
2
|
+
import { yourlsCredential } from "./credentials.js";
|
|
3
|
+
async function apiRequest(ctx, qs) {
|
|
4
|
+
const data = (await credentialJson(ctx, yourlsCredential, "yourls", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: "yourls-api.php",
|
|
7
|
+
query: { ...qs, format: "json" },
|
|
8
|
+
}));
|
|
20
9
|
if (data.status === "fail")
|
|
21
|
-
throw
|
|
10
|
+
throw answerFailed("yourls", { code: data.code, message: data.message });
|
|
22
11
|
return data;
|
|
23
12
|
}
|
|
24
13
|
export default function yourls(rl) {
|
|
25
14
|
rl.setName("yourls");
|
|
26
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(yourlsCredential);
|
|
27
17
|
rl.setConnectionSchema({
|
|
28
18
|
url: {
|
|
29
19
|
type: "string",
|
|
@@ -57,7 +47,7 @@ export default function yourls(rl) {
|
|
|
57
47
|
qs.keyword = p.keyword;
|
|
58
48
|
if (p.title)
|
|
59
49
|
qs.title = p.title;
|
|
60
|
-
return apiRequest(
|
|
50
|
+
return apiRequest(ctx, qs);
|
|
61
51
|
},
|
|
62
52
|
});
|
|
63
53
|
rl.registerAction("url.expand", {
|
|
@@ -65,7 +55,7 @@ export default function yourls(rl) {
|
|
|
65
55
|
description: "Expand a short URL to its original",
|
|
66
56
|
inputSchema: { shortUrl: { type: "string", required: true } },
|
|
67
57
|
async execute(input, ctx) {
|
|
68
|
-
return apiRequest(
|
|
58
|
+
return apiRequest(ctx, {
|
|
69
59
|
action: "expand",
|
|
70
60
|
shorturl: input.shortUrl,
|
|
71
61
|
});
|
|
@@ -76,7 +66,7 @@ export default function yourls(rl) {
|
|
|
76
66
|
description: "Get stats for a short URL",
|
|
77
67
|
inputSchema: { shortUrl: { type: "string", required: true } },
|
|
78
68
|
async execute(input, ctx) {
|
|
79
|
-
const data = (await apiRequest(
|
|
69
|
+
const data = (await apiRequest(ctx, {
|
|
80
70
|
action: "url-stats",
|
|
81
71
|
shorturl: input.shortUrl,
|
|
82
72
|
}));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An access token, sent as `Authorization: Token token={token}` to the
|
|
3
|
+
* connection's own Zammad instance beneath /api/v1/. The instance URL is
|
|
4
|
+
* public config and must be HTTPS. */
|
|
5
|
+
export const zammadCredential = staticCredential({
|
|
6
|
+
id: "zammad",
|
|
7
|
+
auth: { kind: "apiKey", header: "Authorization", prefix: "Token token=" },
|
|
8
|
+
local: { secret: "token" },
|
|
9
|
+
targets: (config) => ({
|
|
10
|
+
api: {
|
|
11
|
+
baseUrl: httpsBase(config.url, "api/v1/"),
|
|
12
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
13
|
+
},
|
|
14
|
+
}),
|
|
15
|
+
});
|
|
@@ -1,41 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
async function api(conn, method, endpoint, body, qs) {
|
|
9
|
-
const url = new URL(`${conn.url}/api/v1${endpoint}`);
|
|
10
|
-
if (qs) {
|
|
11
|
-
for (const [k, v] of Object.entries(qs)) {
|
|
12
|
-
if (v !== undefined && v !== null)
|
|
13
|
-
url.searchParams.set(k, String(v));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const init = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { zammadCredential } from "./credentials.js";
|
|
3
|
+
async function api(ctx, method, endpoint, body, qs) {
|
|
4
|
+
return credentialJson(ctx, zammadCredential, "zammad", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint,
|
|
17
7
|
method,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
if (body && Object.keys(body).length > 0)
|
|
24
|
-
init.body = JSON.stringify(body);
|
|
25
|
-
const res = await fetch(url.toString(), init);
|
|
26
|
-
if (!res.ok)
|
|
27
|
-
throw new Error(`Zammad error ${res.status}: ${await res.text()}`);
|
|
28
|
-
if (res.status === 204)
|
|
29
|
-
return { success: true };
|
|
30
|
-
return res.json();
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body && Object.keys(body).length > 0 ? { json: body } : {}),
|
|
10
|
+
});
|
|
31
11
|
}
|
|
32
|
-
function registerCrud(rl, resource, plural,
|
|
12
|
+
function registerCrud(rl, resource, plural, createSchema) {
|
|
33
13
|
rl.registerAction(`${resource}.create`, {
|
|
34
14
|
access: "write",
|
|
35
15
|
description: `Create a ${resource}`,
|
|
36
16
|
inputSchema: createSchema,
|
|
37
17
|
async execute(input, ctx) {
|
|
38
|
-
return api(
|
|
18
|
+
return api(ctx, "POST", plural, input);
|
|
39
19
|
},
|
|
40
20
|
});
|
|
41
21
|
rl.registerAction(`${resource}.get`, {
|
|
@@ -43,7 +23,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
|
|
|
43
23
|
description: `Get a ${resource} by ID`,
|
|
44
24
|
inputSchema: { id: { type: "string", required: true } },
|
|
45
25
|
async execute(input, ctx) {
|
|
46
|
-
return api(
|
|
26
|
+
return api(ctx, "GET", `${plural}/${pathSegment(input.id)}`);
|
|
47
27
|
},
|
|
48
28
|
});
|
|
49
29
|
rl.registerAction(`${resource}.list`, {
|
|
@@ -53,7 +33,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
|
|
|
53
33
|
async execute(input, ctx) {
|
|
54
34
|
const p = (input ?? {});
|
|
55
35
|
const qs = { per_page: p.limit ?? 100 };
|
|
56
|
-
return api(
|
|
36
|
+
return api(ctx, "GET", plural, undefined, qs);
|
|
57
37
|
},
|
|
58
38
|
});
|
|
59
39
|
rl.registerAction(`${resource}.update`, {
|
|
@@ -65,7 +45,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
|
|
|
65
45
|
},
|
|
66
46
|
async execute(input, ctx) {
|
|
67
47
|
const p = input;
|
|
68
|
-
return api(
|
|
48
|
+
return api(ctx, "PUT", `${plural}/${pathSegment(p.id)}`, p.data);
|
|
69
49
|
},
|
|
70
50
|
});
|
|
71
51
|
rl.registerAction(`${resource}.delete`, {
|
|
@@ -73,7 +53,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
|
|
|
73
53
|
description: `Delete a ${resource}`,
|
|
74
54
|
inputSchema: { id: { type: "string", required: true } },
|
|
75
55
|
async execute(input, ctx) {
|
|
76
|
-
await api(
|
|
56
|
+
await api(ctx, "DELETE", `${plural}/${pathSegment(input.id)}`);
|
|
77
57
|
return { success: true };
|
|
78
58
|
},
|
|
79
59
|
});
|
|
@@ -81,6 +61,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
|
|
|
81
61
|
export default function zammad(rl) {
|
|
82
62
|
rl.setName("zammad");
|
|
83
63
|
rl.setVersion("0.1.0");
|
|
64
|
+
rl.setCredential(zammadCredential);
|
|
84
65
|
rl.setConnectionSchema({
|
|
85
66
|
url: {
|
|
86
67
|
type: "string",
|
|
@@ -95,15 +76,15 @@ export default function zammad(rl) {
|
|
|
95
76
|
env: "ZAMMAD_TOKEN",
|
|
96
77
|
},
|
|
97
78
|
});
|
|
98
|
-
registerCrud(rl, "user", "users",
|
|
79
|
+
registerCrud(rl, "user", "users", {
|
|
99
80
|
firstname: { type: "string", required: true },
|
|
100
81
|
lastname: { type: "string", required: true },
|
|
101
82
|
email: { type: "string", required: false },
|
|
102
83
|
});
|
|
103
|
-
registerCrud(rl, "organization", "organizations",
|
|
84
|
+
registerCrud(rl, "organization", "organizations", {
|
|
104
85
|
name: { type: "string", required: true },
|
|
105
86
|
});
|
|
106
|
-
registerCrud(rl, "group", "groups",
|
|
87
|
+
registerCrud(rl, "group", "groups", {
|
|
107
88
|
name: { type: "string", required: true },
|
|
108
89
|
});
|
|
109
90
|
// ── Ticket (special: includes article) ──────────────
|
|
@@ -132,7 +113,7 @@ export default function zammad(rl) {
|
|
|
132
113
|
};
|
|
133
114
|
if (p.articleSubject)
|
|
134
115
|
body.article.subject = p.articleSubject;
|
|
135
|
-
return api(
|
|
116
|
+
return api(ctx, "POST", "tickets", body);
|
|
136
117
|
},
|
|
137
118
|
});
|
|
138
119
|
rl.registerAction("ticket.get", {
|
|
@@ -140,10 +121,9 @@ export default function zammad(rl) {
|
|
|
140
121
|
description: "Get a ticket with articles",
|
|
141
122
|
inputSchema: { id: { type: "string", required: true } },
|
|
142
123
|
async execute(input, ctx) {
|
|
143
|
-
const c = getConn(ctx);
|
|
144
124
|
const id = input.id;
|
|
145
|
-
const ticket = (await api(
|
|
146
|
-
ticket.articles = await api(
|
|
125
|
+
const ticket = (await api(ctx, "GET", `tickets/${pathSegment(id)}`));
|
|
126
|
+
ticket.articles = await api(ctx, "GET", `ticket_articles/by_ticket/${pathSegment(id)}`);
|
|
147
127
|
return ticket;
|
|
148
128
|
},
|
|
149
129
|
});
|
|
@@ -155,7 +135,7 @@ export default function zammad(rl) {
|
|
|
155
135
|
const qs = {
|
|
156
136
|
per_page: (input ?? {}).limit ?? 100,
|
|
157
137
|
};
|
|
158
|
-
return api(
|
|
138
|
+
return api(ctx, "GET", "tickets", undefined, qs);
|
|
159
139
|
},
|
|
160
140
|
});
|
|
161
141
|
rl.registerAction("ticket.update", {
|
|
@@ -167,7 +147,7 @@ export default function zammad(rl) {
|
|
|
167
147
|
},
|
|
168
148
|
async execute(input, ctx) {
|
|
169
149
|
const p = input;
|
|
170
|
-
return api(
|
|
150
|
+
return api(ctx, "PUT", `tickets/${pathSegment(p.id)}`, p.data);
|
|
171
151
|
},
|
|
172
152
|
});
|
|
173
153
|
rl.registerAction("ticket.delete", {
|
|
@@ -175,7 +155,7 @@ export default function zammad(rl) {
|
|
|
175
155
|
description: "Delete a ticket",
|
|
176
156
|
inputSchema: { id: { type: "string", required: true } },
|
|
177
157
|
async execute(input, ctx) {
|
|
178
|
-
await api(
|
|
158
|
+
await api(ctx, "DELETE", `tickets/${pathSegment(input.id)}`);
|
|
179
159
|
return { success: true };
|
|
180
160
|
},
|
|
181
161
|
});
|
|
@@ -185,7 +165,7 @@ export default function zammad(rl) {
|
|
|
185
165
|
description: "Get the current user",
|
|
186
166
|
inputSchema: {},
|
|
187
167
|
async execute(_input, ctx) {
|
|
188
|
-
return api(
|
|
168
|
+
return api(ctx, "GET", "users/me");
|
|
189
169
|
},
|
|
190
170
|
});
|
|
191
171
|
rl.registerAction("user.search", {
|
|
@@ -200,7 +180,7 @@ export default function zammad(rl) {
|
|
|
200
180
|
const qs = { query: p.query };
|
|
201
181
|
if (p.limit)
|
|
202
182
|
qs.per_page = p.limit;
|
|
203
|
-
return api(
|
|
183
|
+
return api(ctx, "GET", "users/search", undefined, qs);
|
|
204
184
|
},
|
|
205
185
|
});
|
|
206
186
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { hostLabel, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An API token as the Basic password, with the agent email joined to the
|
|
4
|
+
* fixed /token suffix as the username, on the account's own Zendesk
|
|
5
|
+
* subdomain.
|
|
6
|
+
*/
|
|
7
|
+
export const zendeskCredential = staticCredential({
|
|
8
|
+
id: "zendesk",
|
|
9
|
+
auth: { kind: "basic" },
|
|
10
|
+
local: {
|
|
11
|
+
username: { concat: [{ field: "email" }, { value: "/token" }] },
|
|
12
|
+
password: "apiToken",
|
|
13
|
+
},
|
|
14
|
+
targets: (config) => ({
|
|
15
|
+
api: {
|
|
16
|
+
baseUrl: `https://${hostLabel(config.subdomain)}.zendesk.com/api/v2/`,
|
|
17
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
18
|
+
},
|
|
19
|
+
}),
|
|
20
|
+
probe: {
|
|
21
|
+
target: "api",
|
|
22
|
+
path: "users/me.json",
|
|
23
|
+
method: "GET",
|
|
24
|
+
acceptedStatuses: [200],
|
|
25
|
+
},
|
|
26
|
+
});
|