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,37 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (qs) {
|
|
9
|
-
for (const [k, v] of Object.entries(qs)) {
|
|
10
|
-
if (v !== undefined && v !== null)
|
|
11
|
-
url.searchParams.set(k, String(v));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { convertkitCredential } from "./credentials.js";
|
|
3
|
+
/** Every write carries a JSON body, the one the API secret travels in. */
|
|
4
|
+
function apiRequest(ctx, method, path, body, query) {
|
|
5
|
+
return credentialJson(ctx, convertkitCredential, "convertkit", {
|
|
6
|
+
target: "api",
|
|
7
|
+
path,
|
|
15
8
|
method,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const b = { api_secret: apiSecret, ...body };
|
|
20
|
-
opts.body = JSON.stringify(b);
|
|
21
|
-
}
|
|
22
|
-
const res = await fetch(url.toString(), opts);
|
|
23
|
-
if (!res.ok)
|
|
24
|
-
throw new Error(`ConvertKit API error ${res.status}: ${await res.text()}`);
|
|
25
|
-
if (res.status === 204)
|
|
26
|
-
return { success: true };
|
|
27
|
-
return res.json();
|
|
28
|
-
}
|
|
29
|
-
function getSecret(ctx) {
|
|
30
|
-
return ctx.connection.config.apiSecret;
|
|
9
|
+
query,
|
|
10
|
+
...(method === "POST" || method === "PUT" ? { json: body ?? {} } : {}),
|
|
11
|
+
});
|
|
31
12
|
}
|
|
32
13
|
export default function convertkit(rl) {
|
|
33
14
|
rl.setName("convertkit");
|
|
34
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(convertkitCredential);
|
|
35
17
|
rl.setConnectionSchema({
|
|
36
18
|
apiSecret: {
|
|
37
19
|
type: "string",
|
|
@@ -49,7 +31,7 @@ export default function convertkit(rl) {
|
|
|
49
31
|
},
|
|
50
32
|
async execute(input, ctx) {
|
|
51
33
|
const { label } = input;
|
|
52
|
-
return apiRequest(
|
|
34
|
+
return apiRequest(ctx, "POST", "custom_fields", { label });
|
|
53
35
|
},
|
|
54
36
|
});
|
|
55
37
|
rl.registerAction("customField.get", {
|
|
@@ -59,7 +41,7 @@ export default function convertkit(rl) {
|
|
|
59
41
|
id: { type: "string", required: true, description: "Field ID" },
|
|
60
42
|
},
|
|
61
43
|
async execute(input, ctx) {
|
|
62
|
-
return apiRequest(
|
|
44
|
+
return apiRequest(ctx, "GET", `custom_fields/${pathSegment(input.id)}`);
|
|
63
45
|
},
|
|
64
46
|
});
|
|
65
47
|
rl.registerAction("customField.list", {
|
|
@@ -69,7 +51,7 @@ export default function convertkit(rl) {
|
|
|
69
51
|
limit: { type: "number", required: false, description: "Max results" },
|
|
70
52
|
},
|
|
71
53
|
async execute(input, ctx) {
|
|
72
|
-
const data = (await apiRequest(
|
|
54
|
+
const data = (await apiRequest(ctx, "GET", "custom_fields"));
|
|
73
55
|
const fields = data.custom_fields ?? [];
|
|
74
56
|
const { limit } = (input ?? {});
|
|
75
57
|
if (limit)
|
|
@@ -86,7 +68,7 @@ export default function convertkit(rl) {
|
|
|
86
68
|
},
|
|
87
69
|
async execute(input, ctx) {
|
|
88
70
|
const { id, label } = input;
|
|
89
|
-
await apiRequest(
|
|
71
|
+
await apiRequest(ctx, "PUT", `custom_fields/${pathSegment(id)}`, {
|
|
90
72
|
label,
|
|
91
73
|
});
|
|
92
74
|
return { success: true };
|
|
@@ -99,7 +81,7 @@ export default function convertkit(rl) {
|
|
|
99
81
|
id: { type: "string", required: true, description: "Field ID" },
|
|
100
82
|
},
|
|
101
83
|
async execute(input, ctx) {
|
|
102
|
-
return apiRequest(
|
|
84
|
+
return apiRequest(ctx, "DELETE", `custom_fields/${pathSegment(input.id)}`);
|
|
103
85
|
},
|
|
104
86
|
});
|
|
105
87
|
// ── Form ────────────────────────────────────────────
|
|
@@ -130,7 +112,7 @@ export default function convertkit(rl) {
|
|
|
130
112
|
body.tags = tags;
|
|
131
113
|
if (fields)
|
|
132
114
|
body.fields = fields;
|
|
133
|
-
const data = (await apiRequest(
|
|
115
|
+
const data = (await apiRequest(ctx, "POST", `forms/${pathSegment(formId)}/subscribe`, body));
|
|
134
116
|
return data.subscription;
|
|
135
117
|
},
|
|
136
118
|
});
|
|
@@ -141,7 +123,7 @@ export default function convertkit(rl) {
|
|
|
141
123
|
limit: { type: "number", required: false, description: "Max results" },
|
|
142
124
|
},
|
|
143
125
|
async execute(input, ctx) {
|
|
144
|
-
const data = (await apiRequest(
|
|
126
|
+
const data = (await apiRequest(ctx, "GET", "forms"));
|
|
145
127
|
const forms = data.forms ?? [];
|
|
146
128
|
const { limit } = (input ?? {});
|
|
147
129
|
if (limit)
|
|
@@ -166,7 +148,7 @@ export default function convertkit(rl) {
|
|
|
166
148
|
const qs = {};
|
|
167
149
|
if (subscriberState)
|
|
168
150
|
qs.subscriber_state = subscriberState;
|
|
169
|
-
const data = (await apiRequest(
|
|
151
|
+
const data = (await apiRequest(ctx, "GET", `forms/${pathSegment(formId)}/subscriptions`, undefined, qs));
|
|
170
152
|
const subs = data.subscriptions ?? [];
|
|
171
153
|
if (limit)
|
|
172
154
|
return subs.slice(0, limit);
|
|
@@ -201,7 +183,7 @@ export default function convertkit(rl) {
|
|
|
201
183
|
body.tags = tags;
|
|
202
184
|
if (fields)
|
|
203
185
|
body.fields = fields;
|
|
204
|
-
const data = (await apiRequest(
|
|
186
|
+
const data = (await apiRequest(ctx, "POST", `sequences/${pathSegment(sequenceId)}/subscribe`, body));
|
|
205
187
|
return data.subscription;
|
|
206
188
|
},
|
|
207
189
|
});
|
|
@@ -212,7 +194,7 @@ export default function convertkit(rl) {
|
|
|
212
194
|
limit: { type: "number", required: false, description: "Max results" },
|
|
213
195
|
},
|
|
214
196
|
async execute(input, ctx) {
|
|
215
|
-
const data = (await apiRequest(
|
|
197
|
+
const data = (await apiRequest(ctx, "GET", "sequences"));
|
|
216
198
|
const courses = data.courses ?? [];
|
|
217
199
|
const { limit } = (input ?? {});
|
|
218
200
|
if (limit)
|
|
@@ -241,7 +223,7 @@ export default function convertkit(rl) {
|
|
|
241
223
|
const qs = {};
|
|
242
224
|
if (subscriberState)
|
|
243
225
|
qs.subscriber_state = subscriberState;
|
|
244
|
-
const data = (await apiRequest(
|
|
226
|
+
const data = (await apiRequest(ctx, "GET", `sequences/${pathSegment(sequenceId)}/subscriptions`, undefined, qs));
|
|
245
227
|
const subs = data.subscriptions ?? [];
|
|
246
228
|
if (limit)
|
|
247
229
|
return subs.slice(0, limit);
|
|
@@ -262,7 +244,7 @@ export default function convertkit(rl) {
|
|
|
262
244
|
async execute(input, ctx) {
|
|
263
245
|
const { names } = input;
|
|
264
246
|
const tag = names.split(",").map((n) => ({ name: n.trim() }));
|
|
265
|
-
return apiRequest(
|
|
247
|
+
return apiRequest(ctx, "POST", "tags", { tag });
|
|
266
248
|
},
|
|
267
249
|
});
|
|
268
250
|
rl.registerAction("tag.list", {
|
|
@@ -272,7 +254,7 @@ export default function convertkit(rl) {
|
|
|
272
254
|
limit: { type: "number", required: false, description: "Max results" },
|
|
273
255
|
},
|
|
274
256
|
async execute(input, ctx) {
|
|
275
|
-
const data = (await apiRequest(
|
|
257
|
+
const data = (await apiRequest(ctx, "GET", "tags"));
|
|
276
258
|
const tags = data.tags ?? [];
|
|
277
259
|
const { limit } = (input ?? {});
|
|
278
260
|
if (limit)
|
|
@@ -301,7 +283,7 @@ export default function convertkit(rl) {
|
|
|
301
283
|
body.first_name = firstName;
|
|
302
284
|
if (fields)
|
|
303
285
|
body.fields = fields;
|
|
304
|
-
const data = (await apiRequest(
|
|
286
|
+
const data = (await apiRequest(ctx, "POST", `tags/${pathSegment(tagId)}/subscribe`, body));
|
|
305
287
|
return data.subscription;
|
|
306
288
|
},
|
|
307
289
|
});
|
|
@@ -314,7 +296,7 @@ export default function convertkit(rl) {
|
|
|
314
296
|
},
|
|
315
297
|
async execute(input, ctx) {
|
|
316
298
|
const { tagId, limit } = input;
|
|
317
|
-
const data = (await apiRequest(
|
|
299
|
+
const data = (await apiRequest(ctx, "GET", `tags/${pathSegment(tagId)}/subscriptions`));
|
|
318
300
|
const subs = data.subscriptions ?? [];
|
|
319
301
|
if (limit)
|
|
320
302
|
return subs.slice(0, limit);
|
|
@@ -334,7 +316,7 @@ export default function convertkit(rl) {
|
|
|
334
316
|
},
|
|
335
317
|
async execute(input, ctx) {
|
|
336
318
|
const { tagId, email } = input;
|
|
337
|
-
return apiRequest(
|
|
319
|
+
return apiRequest(ctx, "POST", `tags/${pathSegment(tagId)}/unsubscribe`, {
|
|
338
320
|
email,
|
|
339
321
|
});
|
|
340
322
|
},
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* A user API key in the X-PW-AccessToken header. Its public companions —
|
|
4
|
+
* X-PW-Application and the user's X-PW-UserEmail — ride as allowed headers.
|
|
5
|
+
*/
|
|
6
|
+
export const copperCredential = staticCredential({
|
|
7
|
+
id: "copper",
|
|
8
|
+
auth: { kind: "apiKey", header: "X-PW-AccessToken" },
|
|
9
|
+
local: { secret: "apiKey" },
|
|
10
|
+
targets: {
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: "https://api.copper.com/developer_api/v1/",
|
|
13
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
14
|
+
allowedHeaders: ["X-PW-Application", "X-PW-UserEmail"],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
});
|
|
@@ -1,33 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { copperCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body) {
|
|
4
|
+
return credentialJson(ctx, copperCredential, "copper", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
4
7
|
method,
|
|
5
8
|
headers: {
|
|
6
|
-
"Content-Type": "application/json",
|
|
7
|
-
"X-PW-AccessToken": apiKey,
|
|
8
9
|
"X-PW-Application": "developer_api",
|
|
9
|
-
"X-PW-UserEmail": email,
|
|
10
|
+
"X-PW-UserEmail": String(ctx.connection.config.email ?? ""),
|
|
10
11
|
},
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
opts.body = JSON.stringify(body);
|
|
14
|
-
}
|
|
15
|
-
const res = await fetch(`${BASE_URL}${endpoint}`, opts);
|
|
16
|
-
if (!res.ok)
|
|
17
|
-
throw new Error(`Copper API error ${res.status}: ${await res.text()}`);
|
|
18
|
-
if (res.status === 204)
|
|
19
|
-
return { success: true };
|
|
20
|
-
const ct = res.headers.get("content-type") ?? "";
|
|
21
|
-
if (ct.includes("application/json"))
|
|
22
|
-
return res.json();
|
|
23
|
-
return { success: true };
|
|
12
|
+
...(body && Object.keys(body).length > 0 ? { json: body } : {}),
|
|
13
|
+
});
|
|
24
14
|
}
|
|
25
|
-
async function searchAll(
|
|
15
|
+
async function searchAll(ctx, path, body, limit) {
|
|
26
16
|
const results = [];
|
|
27
17
|
let page = 1;
|
|
28
18
|
const size = 200;
|
|
29
19
|
while (true) {
|
|
30
|
-
const data = (await apiRequest(
|
|
20
|
+
const data = (await apiRequest(ctx, "POST", path, {
|
|
31
21
|
...body,
|
|
32
22
|
page_number: page,
|
|
33
23
|
page_size: size,
|
|
@@ -43,12 +33,6 @@ async function searchAll(apiKey, email, endpoint, body, limit) {
|
|
|
43
33
|
}
|
|
44
34
|
return results;
|
|
45
35
|
}
|
|
46
|
-
function getConn(ctx) {
|
|
47
|
-
return {
|
|
48
|
-
apiKey: ctx.connection.config.apiKey,
|
|
49
|
-
email: ctx.connection.config.email,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
36
|
function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreateFields) {
|
|
53
37
|
rl.registerAction(`${resource}.create`, {
|
|
54
38
|
access: "write",
|
|
@@ -66,8 +50,7 @@ function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreate
|
|
|
66
50
|
...extraCreateFields,
|
|
67
51
|
},
|
|
68
52
|
async execute(input, ctx) {
|
|
69
|
-
|
|
70
|
-
return apiRequest(apiKey, email, "POST", endpoint, (input ?? {}));
|
|
53
|
+
return apiRequest(ctx, "POST", endpoint, (input ?? {}));
|
|
71
54
|
},
|
|
72
55
|
});
|
|
73
56
|
rl.registerAction(`${resource}.get`, {
|
|
@@ -81,8 +64,7 @@ function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreate
|
|
|
81
64
|
},
|
|
82
65
|
},
|
|
83
66
|
async execute(input, ctx) {
|
|
84
|
-
|
|
85
|
-
return apiRequest(apiKey, email, "GET", `${endpoint}/${input[idParam]}`);
|
|
67
|
+
return apiRequest(ctx, "GET", `${endpoint}/${pathSegment(input[idParam])}`);
|
|
86
68
|
},
|
|
87
69
|
});
|
|
88
70
|
rl.registerAction(`${resource}.list`, {
|
|
@@ -92,9 +74,8 @@ function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreate
|
|
|
92
74
|
limit: { type: "number", required: false, description: "Max results" },
|
|
93
75
|
},
|
|
94
76
|
async execute(input, ctx) {
|
|
95
|
-
const { apiKey, email } = getConn(ctx);
|
|
96
77
|
const { limit } = (input ?? {});
|
|
97
|
-
return searchAll(
|
|
78
|
+
return searchAll(ctx, `${endpoint}/search`, undefined, limit);
|
|
98
79
|
},
|
|
99
80
|
});
|
|
100
81
|
rl.registerAction(`${resource}.update`, {
|
|
@@ -108,9 +89,8 @@ function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreate
|
|
|
108
89
|
},
|
|
109
90
|
},
|
|
110
91
|
async execute(input, ctx) {
|
|
111
|
-
const { apiKey, email } = getConn(ctx);
|
|
112
92
|
const { [idParam]: id, ...body } = input;
|
|
113
|
-
return apiRequest(
|
|
93
|
+
return apiRequest(ctx, "PUT", `${endpoint}/${pathSegment(id)}`, body);
|
|
114
94
|
},
|
|
115
95
|
});
|
|
116
96
|
rl.registerAction(`${resource}.delete`, {
|
|
@@ -124,14 +104,14 @@ function registerCrud(rl, resource, endpoint, idParam, nameRequired, extraCreate
|
|
|
124
104
|
},
|
|
125
105
|
},
|
|
126
106
|
async execute(input, ctx) {
|
|
127
|
-
|
|
128
|
-
return apiRequest(apiKey, email, "DELETE", `${endpoint}/${input[idParam]}`);
|
|
107
|
+
return apiRequest(ctx, "DELETE", `${endpoint}/${pathSegment(input[idParam])}`);
|
|
129
108
|
},
|
|
130
109
|
});
|
|
131
110
|
}
|
|
132
111
|
export default function copper(rl) {
|
|
133
112
|
rl.setName("copper");
|
|
134
113
|
rl.setVersion("0.1.0");
|
|
114
|
+
rl.setCredential(copperCredential);
|
|
135
115
|
rl.setConnectionSchema({
|
|
136
116
|
apiKey: {
|
|
137
117
|
type: "string",
|
|
@@ -147,9 +127,9 @@ export default function copper(rl) {
|
|
|
147
127
|
},
|
|
148
128
|
});
|
|
149
129
|
// CRUD resources
|
|
150
|
-
registerCrud(rl, "company", "
|
|
151
|
-
registerCrud(rl, "lead", "
|
|
152
|
-
registerCrud(rl, "opportunity", "
|
|
130
|
+
registerCrud(rl, "company", "companies", "companyId", true);
|
|
131
|
+
registerCrud(rl, "lead", "leads", "leadId", true);
|
|
132
|
+
registerCrud(rl, "opportunity", "opportunities", "opportunityId", true, {
|
|
153
133
|
customerSourceId: {
|
|
154
134
|
type: "string",
|
|
155
135
|
required: true,
|
|
@@ -161,9 +141,9 @@ export default function copper(rl) {
|
|
|
161
141
|
description: "Primary contact ID",
|
|
162
142
|
},
|
|
163
143
|
});
|
|
164
|
-
registerCrud(rl, "person", "
|
|
165
|
-
registerCrud(rl, "project", "
|
|
166
|
-
registerCrud(rl, "task", "
|
|
144
|
+
registerCrud(rl, "person", "people", "personId", true);
|
|
145
|
+
registerCrud(rl, "project", "projects", "projectId", true);
|
|
146
|
+
registerCrud(rl, "task", "tasks", "taskId", true);
|
|
167
147
|
// Read-only resources
|
|
168
148
|
rl.registerAction("customerSource.list", {
|
|
169
149
|
access: "read",
|
|
@@ -172,8 +152,7 @@ export default function copper(rl) {
|
|
|
172
152
|
limit: { type: "number", required: false, description: "Max results" },
|
|
173
153
|
},
|
|
174
154
|
async execute(input, ctx) {
|
|
175
|
-
const
|
|
176
|
-
const data = (await apiRequest(apiKey, email, "GET", "/customer_sources"));
|
|
155
|
+
const data = (await apiRequest(ctx, "GET", "customer_sources"));
|
|
177
156
|
const { limit } = (input ?? {});
|
|
178
157
|
if (limit)
|
|
179
158
|
return data.slice(0, limit);
|
|
@@ -187,9 +166,8 @@ export default function copper(rl) {
|
|
|
187
166
|
limit: { type: "number", required: false, description: "Max results" },
|
|
188
167
|
},
|
|
189
168
|
async execute(input, ctx) {
|
|
190
|
-
const { apiKey, email } = getConn(ctx);
|
|
191
169
|
const { limit } = (input ?? {});
|
|
192
|
-
return searchAll(
|
|
170
|
+
return searchAll(ctx, "users/search", undefined, limit);
|
|
193
171
|
},
|
|
194
172
|
});
|
|
195
173
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* The longest report wait analyzer.execute accepts. The waiting target
|
|
4
|
+
* declares that wait plus a 60 s allowance for the exchange itself, which
|
|
5
|
+
* lands exactly on the 10-minute host ceiling.
|
|
6
|
+
*/
|
|
7
|
+
export const MAX_WAIT_SECONDS = 540;
|
|
8
|
+
/**
|
|
9
|
+
* A Cortex API key, sent as a bearer to the connection's own Cortex
|
|
10
|
+
* instance beneath /api/. The `wait` target is the same surface with the
|
|
11
|
+
* long deadline /job/{id}/waitreport holds a request open for.
|
|
12
|
+
*/
|
|
13
|
+
export const cortexCredential = staticCredential({
|
|
14
|
+
id: "cortex",
|
|
15
|
+
auth: { kind: "bearer" },
|
|
16
|
+
local: { secret: "apiKey" },
|
|
17
|
+
targets: (config) => {
|
|
18
|
+
const baseUrl = httpsBase(config.host, "api/");
|
|
19
|
+
return {
|
|
20
|
+
api: { baseUrl, methods: ["GET", "POST"] },
|
|
21
|
+
wait: {
|
|
22
|
+
baseUrl,
|
|
23
|
+
methods: ["GET"],
|
|
24
|
+
timeoutMs: MAX_WAIT_SECONDS * 1000 + 60_000,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { cortexCredential, MAX_WAIT_SECONDS } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, options = {}) {
|
|
4
|
+
return credentialJson(ctx, cortexCredential, "cortex", {
|
|
5
|
+
target: options.target ?? "api",
|
|
6
|
+
path,
|
|
10
7
|
method,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
if (body &&
|
|
17
|
-
Object.keys(body).length > 0 &&
|
|
18
|
-
method !== "GET" &&
|
|
19
|
-
method !== "DELETE") {
|
|
20
|
-
opts.body = JSON.stringify(body);
|
|
21
|
-
}
|
|
22
|
-
const res = await fetch(url.toString(), opts);
|
|
23
|
-
if (!res.ok)
|
|
24
|
-
throw new Error(`Cortex API error ${res.status}: ${await res.text()}`);
|
|
25
|
-
return res.json();
|
|
26
|
-
}
|
|
27
|
-
function getConn(ctx) {
|
|
28
|
-
return {
|
|
29
|
-
host: ctx.connection.config.host.replace(/\/$/, ""),
|
|
30
|
-
apiKey: ctx.connection.config.apiKey,
|
|
31
|
-
};
|
|
8
|
+
query: options.query,
|
|
9
|
+
...(options.json && Object.keys(options.json).length > 0
|
|
10
|
+
? { json: options.json }
|
|
11
|
+
: {}),
|
|
12
|
+
});
|
|
32
13
|
}
|
|
33
14
|
export default function cortex(rl) {
|
|
34
15
|
rl.setName("cortex");
|
|
35
16
|
rl.setVersion("0.1.0");
|
|
17
|
+
rl.setCredential(cortexCredential);
|
|
36
18
|
rl.setConnectionSchema({
|
|
37
19
|
host: {
|
|
38
20
|
type: "string",
|
|
@@ -72,24 +54,20 @@ export default function cortex(rl) {
|
|
|
72
54
|
timeout: {
|
|
73
55
|
type: "number",
|
|
74
56
|
required: false,
|
|
75
|
-
description: "Wait for report (seconds). If set, blocks until
|
|
57
|
+
description: "Wait for report (seconds, at most 540). If set, blocks until " +
|
|
58
|
+
"the report is ready.",
|
|
76
59
|
},
|
|
77
60
|
},
|
|
78
61
|
async execute(input, ctx) {
|
|
79
62
|
const { analyzerId, dataType, data, tlp = 2, force, timeout, } = input;
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const result = (await apiRequest(host, apiKey, "POST", `/analyzer/${analyzerId}/run`, {
|
|
85
|
-
dataType,
|
|
86
|
-
data,
|
|
87
|
-
tlp,
|
|
88
|
-
}, qs));
|
|
63
|
+
const result = (await apiRequest(ctx, "POST", `analyzer/${pathSegment(analyzerId)}/run`, {
|
|
64
|
+
json: { dataType, data, tlp },
|
|
65
|
+
...(force ? { query: { force: true } } : {}),
|
|
66
|
+
}));
|
|
89
67
|
if (timeout && result.id) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
});
|
|
68
|
+
// The wait target's declared deadline covers the longest atMost.
|
|
69
|
+
const atMost = Math.min(Number(timeout), MAX_WAIT_SECONDS);
|
|
70
|
+
return apiRequest(ctx, "GET", `job/${pathSegment(result.id)}/waitreport`, { target: "wait", query: { atMost: `${atMost}second` } });
|
|
93
71
|
}
|
|
94
72
|
return result;
|
|
95
73
|
},
|
|
@@ -103,8 +81,7 @@ export default function cortex(rl) {
|
|
|
103
81
|
},
|
|
104
82
|
async execute(input, ctx) {
|
|
105
83
|
const { jobId } = input;
|
|
106
|
-
|
|
107
|
-
return apiRequest(host, apiKey, "GET", `/job/${jobId}`);
|
|
84
|
+
return apiRequest(ctx, "GET", `job/${pathSegment(jobId)}`);
|
|
108
85
|
},
|
|
109
86
|
});
|
|
110
87
|
rl.registerAction("job.getReport", {
|
|
@@ -115,8 +92,7 @@ export default function cortex(rl) {
|
|
|
115
92
|
},
|
|
116
93
|
async execute(input, ctx) {
|
|
117
94
|
const { jobId } = input;
|
|
118
|
-
|
|
119
|
-
return apiRequest(host, apiKey, "GET", `/job/${jobId}/report`);
|
|
95
|
+
return apiRequest(ctx, "GET", `job/${pathSegment(jobId)}/report`);
|
|
120
96
|
},
|
|
121
97
|
});
|
|
122
98
|
// ── Responder ───────────────────────────────────────
|
|
@@ -153,7 +129,6 @@ export default function cortex(rl) {
|
|
|
153
129
|
},
|
|
154
130
|
async execute(input, ctx) {
|
|
155
131
|
const { responderId, entityType, data, tlp = 2, pap = 2, message, } = input;
|
|
156
|
-
const { host, apiKey } = getConn(ctx);
|
|
157
132
|
const entityData = {
|
|
158
133
|
_type: entityType,
|
|
159
134
|
...data,
|
|
@@ -187,7 +162,9 @@ export default function cortex(rl) {
|
|
|
187
162
|
break;
|
|
188
163
|
}
|
|
189
164
|
body.label = label;
|
|
190
|
-
return apiRequest(
|
|
165
|
+
return apiRequest(ctx, "POST", `responder/${pathSegment(responderId)}/run`, {
|
|
166
|
+
json: body,
|
|
167
|
+
});
|
|
191
168
|
},
|
|
192
169
|
});
|
|
193
170
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An API key, sent as a bearer to Currents' one API origin. */
|
|
3
|
+
export const currentsCredential = staticCredential({
|
|
4
|
+
id: "currents",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "apiKey" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.currents.dev/v1/",
|
|
10
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "projects",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|