runline 0.33.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/oauth2.d.ts +7 -1
- package/dist/auth/oauth2.js +10 -0
- package/dist/auth/token.d.ts +1 -0
- package/dist/auth/token.js +19 -1
- package/dist/auth/types.d.ts +22 -1
- package/dist/core/engine.d.ts +7 -0
- package/dist/core/engine.js +21 -8
- package/dist/credentials/policy.d.ts +53 -1
- package/dist/credentials/policy.js +146 -6
- package/dist/credentials/registry.d.ts +9 -0
- package/dist/credentials/registry.js +184 -22
- package/dist/credentials/transport.d.ts +48 -2
- package/dist/credentials/transport.js +248 -70
- package/dist/credentials/types.d.ts +177 -10
- package/dist/index.d.ts +6 -5
- package/dist/index.js +3 -2
- package/dist/plugin/api.d.ts +7 -0
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/schema.d.ts +16 -4
- package/dist/plugin/schema.js +28 -5
- package/dist/plugin/types.d.ts +20 -0
- package/dist/plugins/_shared/base64.js +30 -0
- package/dist/plugins/_shared/credentialAdapter.js +99 -15
- package/dist/plugins/_shared/credentials.js +416 -0
- package/dist/plugins/_shared/googleAuth.js +69 -39
- package/dist/plugins/_shared/googleCredentials.js +68 -14
- package/dist/plugins/_shared/localFile.js +40 -0
- package/dist/plugins/_shared/mediaFile.js +12 -12
- package/dist/plugins/_shared/microsoftAuth.js +31 -47
- package/dist/plugins/_shared/microsoftCredentials.js +42 -15
- package/dist/plugins/_shared/provider.js +2 -14
- package/dist/plugins/_shared/shiftCloud.js +16 -56
- package/dist/plugins/_shared/shiftCredentials.js +83 -0
- package/dist/plugins/_shared/shiftUpload.js +14 -10
- package/dist/plugins/actionNetwork/src/credentials.js +14 -0
- package/dist/plugins/actionNetwork/src/index.js +39 -50
- package/dist/plugins/activeCampaign/src/credentials.js +22 -0
- package/dist/plugins/activeCampaign/src/index.js +61 -132
- package/dist/plugins/adalo/src/credentials.js +16 -0
- package/dist/plugins/adalo/src/index.js +19 -43
- package/dist/plugins/affinity/src/credentials.js +19 -0
- package/dist/plugins/affinity/src/index.js +29 -54
- package/dist/plugins/agentMail/src/credentials.js +35 -0
- package/dist/plugins/agentMail/src/drafts.js +137 -0
- package/dist/plugins/agentMail/src/inboxes.js +95 -0
- package/dist/plugins/agentMail/src/index.js +35 -0
- package/dist/plugins/agentMail/src/messages.js +154 -0
- package/dist/plugins/agentMail/src/schemas.js +156 -0
- package/dist/plugins/agentMail/src/shared.js +203 -0
- package/dist/plugins/agentMail/src/threads.js +75 -0
- package/dist/plugins/agileCrm/src/credentials.js +16 -0
- package/dist/plugins/agileCrm/src/index.js +46 -112
- package/dist/plugins/airtable/src/credentials.js +19 -0
- package/dist/plugins/airtable/src/index.js +37 -50
- package/dist/plugins/airtop/src/credentials.js +20 -0
- package/dist/plugins/airtop/src/index.js +51 -75
- package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
- package/dist/plugins/apiTemplateIo/src/index.js +14 -31
- package/dist/plugins/asana/src/credentials.js +19 -0
- package/dist/plugins/asana/src/index.js +51 -72
- package/dist/plugins/autopilot/src/credentials.js +19 -0
- package/dist/plugins/autopilot/src/index.js +38 -45
- package/dist/plugins/bambooHr/src/credentials.js +16 -0
- package/dist/plugins/bambooHr/src/index.js +41 -67
- package/dist/plugins/bannerbear/src/credentials.js +19 -0
- package/dist/plugins/bannerbear/src/index.js +15 -27
- package/dist/plugins/baserow/src/credentials.js +17 -0
- package/dist/plugins/baserow/src/index.js +23 -49
- package/dist/plugins/beeminder/src/credentials.js +19 -0
- package/dist/plugins/beeminder/src/index.js +32 -54
- package/dist/plugins/bitly/src/credentials.js +19 -0
- package/dist/plugins/bitly/src/index.js +12 -26
- package/dist/plugins/bitwarden/src/credentials.js +62 -0
- package/dist/plugins/bitwarden/src/index.js +34 -80
- package/dist/plugins/box/src/credentials.js +19 -0
- package/dist/plugins/box/src/index.js +24 -49
- package/dist/plugins/brandfetch/src/credentials.js +13 -0
- package/dist/plugins/brandfetch/src/index.js +12 -17
- package/dist/plugins/brevo/src/credentials.js +19 -0
- package/dist/plugins/brevo/src/index.js +30 -51
- package/dist/plugins/bubble/src/credentials.js +28 -0
- package/dist/plugins/bubble/src/index.js +29 -65
- package/dist/plugins/chargebee/src/credentials.js +16 -0
- package/dist/plugins/chargebee/src/index.js +15 -45
- package/dist/plugins/circleci/src/credentials.js +19 -0
- package/dist/plugins/circleci/src/index.js +19 -39
- package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
- package/dist/plugins/ciscoWebex/src/index.js +43 -61
- package/dist/plugins/clearbit/src/credentials.js +22 -0
- package/dist/plugins/clearbit/src/index.js +11 -21
- package/dist/plugins/clickup/src/credentials.js +19 -0
- package/dist/plugins/clickup/src/index.js +85 -117
- package/dist/plugins/clockify/src/credentials.js +19 -0
- package/dist/plugins/clockify/src/index.js +46 -61
- package/dist/plugins/cloudflare/src/credentials.js +19 -0
- package/dist/plugins/cloudflare/src/index.js +19 -34
- package/dist/plugins/cockpit/src/credentials.js +17 -0
- package/dist/plugins/cockpit/src/index.js +18 -31
- package/dist/plugins/coda/src/credentials.js +19 -0
- package/dist/plugins/coda/src/index.js +33 -50
- package/dist/plugins/coingecko/src/credentials.js +20 -0
- package/dist/plugins/coingecko/src/index.js +24 -34
- package/dist/plugins/contentful/src/credentials.js +26 -0
- package/dist/plugins/contentful/src/index.js +19 -40
- package/dist/plugins/convertkit/src/credentials.js +26 -0
- package/dist/plugins/convertkit/src/index.js +27 -45
- package/dist/plugins/copper/src/credentials.js +17 -0
- package/dist/plugins/copper/src/index.js +25 -47
- package/dist/plugins/cortex/src/credentials.js +28 -0
- package/dist/plugins/cortex/src/index.js +26 -49
- package/dist/plugins/currents/src/credentials.js +19 -0
- package/dist/plugins/currents/src/index.js +46 -59
- package/dist/plugins/customerIo/src/credentials.js +52 -0
- package/dist/plugins/customerIo/src/index.js +30 -58
- package/dist/plugins/databricks/src/credentials.js +13 -0
- package/dist/plugins/databricks/src/index.js +51 -103
- package/dist/plugins/deepl/src/credentials.js +19 -0
- package/dist/plugins/deepl/src/index.js +13 -39
- package/dist/plugins/demio/src/credentials.js +26 -0
- package/dist/plugins/demio/src/index.js +17 -41
- package/dist/plugins/dhl/src/credentials.js +13 -0
- package/dist/plugins/dhl/src/index.js +8 -19
- package/dist/plugins/discord/src/credentials.js +19 -0
- package/dist/plugins/discord/src/index.js +30 -58
- package/dist/plugins/discourse/src/credentials.js +18 -0
- package/dist/plugins/discourse/src/index.js +36 -53
- package/dist/plugins/disqus/src/credentials.js +13 -0
- package/dist/plugins/disqus/src/index.js +14 -32
- package/dist/plugins/drift/src/credentials.js +13 -0
- package/dist/plugins/drift/src/index.js +16 -26
- package/dist/plugins/dropbox/src/credentials.js +13 -0
- package/dist/plugins/dropbox/src/index.js +23 -30
- package/dist/plugins/dropcontact/src/credentials.js +13 -0
- package/dist/plugins/dropcontact/src/index.js +13 -18
- package/dist/plugins/egoi/src/credentials.js +19 -0
- package/dist/plugins/egoi/src/index.js +23 -38
- package/dist/plugins/elasticsearch/src/credentials.js +18 -0
- package/dist/plugins/elasticsearch/src/index.js +27 -48
- package/dist/plugins/elevenlabs/src/credentials.js +30 -0
- package/dist/plugins/elevenlabs/src/index.js +4 -1
- package/dist/plugins/elevenlabs/src/schemas.js +2 -1
- package/dist/plugins/elevenlabs/src/shared.js +87 -62
- package/dist/plugins/elevenlabs/src/workflows.js +2 -2
- package/dist/plugins/emelia/src/credentials.js +14 -0
- package/dist/plugins/emelia/src/index.js +19 -23
- package/dist/plugins/erpnext/src/credentials.js +27 -0
- package/dist/plugins/erpnext/src/index.js +21 -42
- package/dist/plugins/facebookGraph/src/credentials.js +20 -0
- package/dist/plugins/facebookGraph/src/index.js +39 -37
- package/dist/plugins/fal/src/credentials.js +14 -0
- package/dist/plugins/fal/src/index.js +5 -3
- package/dist/plugins/fal/src/shared.js +58 -63
- package/dist/plugins/freshdesk/src/credentials.js +20 -0
- package/dist/plugins/freshdesk/src/index.js +25 -46
- package/dist/plugins/freshservice/src/credentials.js +16 -0
- package/dist/plugins/freshservice/src/index.js +37 -58
- package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
- package/dist/plugins/freshworksCrm/src/index.js +20 -39
- package/dist/plugins/getresponse/src/credentials.js +22 -0
- package/dist/plugins/getresponse/src/index.js +20 -32
- package/dist/plugins/gett/src/credentials.js +64 -0
- package/dist/plugins/gett/src/index.js +11 -6
- package/dist/plugins/gett/src/login.js +24 -0
- package/dist/plugins/gett/src/session.js +15 -38
- package/dist/plugins/gett/src/shared.js +41 -84
- package/dist/plugins/ghost/src/credentials.js +36 -0
- package/dist/plugins/ghost/src/index.js +18 -59
- package/dist/plugins/github/src/credentials.js +18 -0
- package/dist/plugins/github/src/index.js +55 -78
- package/dist/plugins/gitlab/src/credentials.js +24 -0
- package/dist/plugins/gitlab/src/index.js +29 -48
- package/dist/plugins/gmail/src/index.js +47 -108
- package/dist/plugins/gong/src/credentials.js +16 -0
- package/dist/plugins/gong/src/index.js +16 -32
- package/dist/plugins/googleAppsScript/src/index.js +109 -42
- package/dist/plugins/googleCalendar/src/index.js +20 -51
- package/dist/plugins/googleContacts/src/index.js +13 -40
- package/dist/plugins/googleDocs/src/index.js +3 -32
- package/dist/plugins/googleDocs/src/shared.js +2 -1
- package/dist/plugins/googleDrive/src/index.js +68 -97
- package/dist/plugins/googleImage/src/credentials.js +14 -0
- package/dist/plugins/googleImage/src/index.js +15 -26
- package/dist/plugins/googleSheets/src/index.js +27 -60
- package/dist/plugins/googleSlides/src/index.js +7 -35
- package/dist/plugins/googleTasks/src/index.js +14 -42
- package/dist/plugins/gotify/src/credentials.js +32 -0
- package/dist/plugins/gotify/src/index.js +14 -36
- package/dist/plugins/gotowebinar/src/credentials.js +13 -0
- package/dist/plugins/gotowebinar/src/index.js +52 -69
- package/dist/plugins/grafana/src/credentials.js +16 -0
- package/dist/plugins/grafana/src/index.js +34 -53
- package/dist/plugins/graphql/src/credentials.js +42 -0
- package/dist/plugins/graphql/src/index.js +21 -46
- package/dist/plugins/grist/src/credentials.js +30 -0
- package/dist/plugins/grist/src/index.js +14 -43
- package/dist/plugins/halopsa/src/credentials.js +56 -0
- package/dist/plugins/halopsa/src/index.js +20 -47
- package/dist/plugins/harvest/src/credentials.js +20 -0
- package/dist/plugins/harvest/src/index.js +24 -43
- package/dist/plugins/helpscout/src/credentials.js +13 -0
- package/dist/plugins/helpscout/src/index.js +26 -38
- package/dist/plugins/highlevel/src/credentials.js +19 -0
- package/dist/plugins/highlevel/src/index.js +42 -65
- package/dist/plugins/homeAssistant/src/credentials.js +27 -0
- package/dist/plugins/homeAssistant/src/index.js +34 -52
- package/dist/plugins/hubspot/src/credentials.js +16 -0
- package/dist/plugins/hubspot/src/index.js +29 -41
- package/dist/plugins/humanticAi/src/credentials.js +13 -0
- package/dist/plugins/humanticAi/src/index.js +15 -22
- package/dist/plugins/hunter/src/credentials.js +13 -0
- package/dist/plugins/hunter/src/index.js +18 -17
- package/dist/plugins/intercom/src/credentials.js +19 -0
- package/dist/plugins/intercom/src/index.js +25 -38
- package/dist/plugins/iterable/src/credentials.js +17 -0
- package/dist/plugins/iterable/src/index.js +26 -40
- package/dist/plugins/jenkins/src/credentials.js +16 -0
- package/dist/plugins/jenkins/src/index.js +22 -36
- package/dist/plugins/jira/src/credentials.js +16 -0
- package/dist/plugins/jira/src/index.js +35 -61
- package/dist/plugins/keap/src/credentials.js +19 -0
- package/dist/plugins/keap/src/index.js +43 -71
- package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
- package/dist/plugins/kobotoolbox/src/index.js +46 -84
- package/dist/plugins/lemlist/src/credentials.js +19 -0
- package/dist/plugins/lemlist/src/index.js +35 -47
- package/dist/plugins/linear/src/attachments.js +7 -7
- package/dist/plugins/linear/src/comments.js +7 -7
- package/dist/plugins/linear/src/credentials.js +17 -0
- package/dist/plugins/linear/src/cycles.js +5 -5
- package/dist/plugins/linear/src/index.js +2 -0
- package/dist/plugins/linear/src/initiatives.js +6 -6
- package/dist/plugins/linear/src/issues.js +14 -14
- package/dist/plugins/linear/src/labels.js +6 -6
- package/dist/plugins/linear/src/organization.js +2 -2
- package/dist/plugins/linear/src/projects.js +12 -12
- package/dist/plugins/linear/src/shared.js +34 -32
- package/dist/plugins/linear/src/states.js +3 -3
- package/dist/plugins/linear/src/teams.js +4 -4
- package/dist/plugins/linear/src/users.js +3 -3
- package/dist/plugins/linear/src/views.js +5 -5
- package/dist/plugins/linear/src/webhooks.js +5 -5
- package/dist/plugins/lingvanex/src/credentials.js +13 -0
- package/dist/plugins/lingvanex/src/index.js +7 -9
- package/dist/plugins/linkedin/src/credentials.js +17 -0
- package/dist/plugins/linkedin/src/index.js +13 -17
- package/dist/plugins/lonescale/src/credentials.js +13 -0
- package/dist/plugins/lonescale/src/index.js +16 -26
- package/dist/plugins/magento/src/credentials.js +16 -0
- package/dist/plugins/magento/src/index.js +67 -84
- package/dist/plugins/mailcheck/src/credentials.js +17 -0
- package/dist/plugins/mailcheck/src/index.js +7 -9
- package/dist/plugins/mailchimp/src/credentials.js +32 -0
- package/dist/plugins/mailchimp/src/index.js +36 -44
- package/dist/plugins/mailerlite/src/credentials.js +13 -0
- package/dist/plugins/mailerlite/src/index.js +19 -32
- package/dist/plugins/mailgun/src/credentials.js +21 -0
- package/dist/plugins/mailgun/src/index.js +15 -21
- package/dist/plugins/mailjet/src/credentials.js +38 -0
- package/dist/plugins/mailjet/src/index.js +60 -115
- package/dist/plugins/mandrill/src/credentials.js +17 -0
- package/dist/plugins/mandrill/src/index.js +11 -12
- package/dist/plugins/marketstack/src/credentials.js +16 -0
- package/dist/plugins/marketstack/src/index.js +18 -28
- package/dist/plugins/matrix/src/credentials.js +19 -0
- package/dist/plugins/matrix/src/index.js +23 -52
- package/dist/plugins/mattermost/src/credentials.js +19 -0
- package/dist/plugins/mattermost/src/index.js +41 -73
- package/dist/plugins/mautic/src/credentials.js +16 -0
- package/dist/plugins/mautic/src/index.js +46 -62
- package/dist/plugins/medium/src/credentials.js +20 -0
- package/dist/plugins/medium/src/index.js +18 -23
- package/dist/plugins/messagebird/src/credentials.js +22 -0
- package/dist/plugins/messagebird/src/index.js +13 -18
- package/dist/plugins/metabase/src/credentials.js +19 -0
- package/dist/plugins/metabase/src/index.js +24 -40
- package/dist/plugins/microsoftCalendar/src/index.js +49 -18
- package/dist/plugins/microsoftFiles/src/index.js +95 -31
- package/dist/plugins/microsoftMail/src/index.js +63 -21
- package/dist/plugins/misp/src/credentials.js +16 -0
- package/dist/plugins/misp/src/index.js +60 -71
- package/dist/plugins/mocean/src/credentials.js +17 -0
- package/dist/plugins/mocean/src/index.js +11 -23
- package/dist/plugins/monday/src/credentials.js +14 -0
- package/dist/plugins/monday/src/index.js +31 -44
- package/dist/plugins/monicaCrm/src/credentials.js +19 -0
- package/dist/plugins/monicaCrm/src/index.js +25 -42
- package/dist/plugins/msg91/src/credentials.js +10 -0
- package/dist/plugins/msg91/src/index.js +15 -11
- package/dist/plugins/nasa/src/credentials.js +22 -0
- package/dist/plugins/nasa/src/index.js +24 -28
- package/dist/plugins/netlify/src/credentials.js +19 -0
- package/dist/plugins/netlify/src/index.js +27 -51
- package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
- package/dist/plugins/netscalerAdc/src/index.js +16 -31
- package/dist/plugins/nextcloud/src/credentials.js +27 -0
- package/dist/plugins/nextcloud/src/index.js +55 -109
- package/dist/plugins/nocodb/src/credentials.js +16 -0
- package/dist/plugins/nocodb/src/index.js +19 -37
- package/dist/plugins/notion/src/credentials.js +21 -0
- package/dist/plugins/notion/src/index.js +25 -38
- package/dist/plugins/npm/src/credentials.js +19 -0
- package/dist/plugins/npm/src/index.js +22 -32
- package/dist/plugins/odoo/src/credentials.js +21 -0
- package/dist/plugins/odoo/src/index.js +53 -69
- package/dist/plugins/okta/src/credentials.js +23 -0
- package/dist/plugins/okta/src/index.js +30 -35
- package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
- package/dist/plugins/oneSimpleApi/src/index.js +19 -24
- package/dist/plugins/onfleet/src/credentials.js +23 -0
- package/dist/plugins/onfleet/src/index.js +42 -53
- package/dist/plugins/openai/src/credentials.js +13 -0
- package/dist/plugins/openai/src/index.js +16 -24
- package/dist/plugins/openweathermap/src/credentials.js +16 -0
- package/dist/plugins/openweathermap/src/index.js +22 -22
- package/dist/plugins/oura/src/credentials.js +19 -0
- package/dist/plugins/oura/src/index.js +13 -18
- package/dist/plugins/paddle/src/credentials.js +27 -0
- package/dist/plugins/paddle/src/index.js +20 -36
- package/dist/plugins/pagerduty/src/credentials.js +24 -0
- package/dist/plugins/pagerduty/src/index.js +30 -39
- package/dist/plugins/parallel/src/credentials.js +18 -0
- package/dist/plugins/parallel/src/index.js +16 -22
- package/dist/plugins/paypal/src/credentials.js +44 -0
- package/dist/plugins/paypal/src/index.js +14 -40
- package/dist/plugins/peekalink/src/credentials.js +16 -0
- package/dist/plugins/peekalink/src/index.js +10 -11
- package/dist/plugins/phantombuster/src/credentials.js +19 -0
- package/dist/plugins/phantombuster/src/index.js +19 -32
- package/dist/plugins/philipsHue/src/credentials.js +17 -0
- package/dist/plugins/philipsHue/src/index.js +15 -27
- package/dist/plugins/pipedrive/src/credentials.js +26 -0
- package/dist/plugins/pipedrive/src/index.js +43 -73
- package/dist/plugins/plaud/src/index.js +2 -1
- package/dist/plugins/plaud/src/shared.js +23 -19
- package/dist/plugins/plivo/src/credentials.js +20 -0
- package/dist/plugins/plivo/src/index.js +13 -19
- package/dist/plugins/posthog/src/credentials.js +18 -0
- package/dist/plugins/posthog/src/index.js +14 -20
- package/dist/plugins/profitwell/src/credentials.js +22 -0
- package/dist/plugins/profitwell/src/index.js +10 -17
- package/dist/plugins/pushbullet/src/credentials.js +19 -0
- package/dist/plugins/pushbullet/src/index.js +19 -27
- package/dist/plugins/pushcut/src/credentials.js +19 -0
- package/dist/plugins/pushcut/src/index.js +7 -8
- package/dist/plugins/pushover/src/credentials.js +14 -0
- package/dist/plugins/pushover/src/index.js +7 -12
- package/dist/plugins/quickbase/src/credentials.js +15 -0
- package/dist/plugins/quickbase/src/index.js +24 -34
- package/dist/plugins/quickbooks/src/credentials.js +22 -0
- package/dist/plugins/quickbooks/src/index.js +17 -46
- package/dist/plugins/raindrop/src/credentials.js +19 -0
- package/dist/plugins/raindrop/src/index.js +30 -32
- package/dist/plugins/recraft/src/credentials.js +13 -0
- package/dist/plugins/recraft/src/index.js +39 -28
- package/dist/plugins/reddit/src/credentials.js +26 -0
- package/dist/plugins/reddit/src/index.js +30 -34
- package/dist/plugins/replicate/src/credentials.js +23 -0
- package/dist/plugins/replicate/src/index.js +18 -28
- package/dist/plugins/rocketchat/src/credentials.js +17 -0
- package/dist/plugins/rocketchat/src/index.js +8 -19
- package/dist/plugins/rundeck/src/credentials.js +16 -0
- package/dist/plugins/rundeck/src/index.js +12 -28
- package/dist/plugins/salesforce/src/credentials.js +73 -0
- package/dist/plugins/salesforce/src/index.js +6 -0
- package/dist/plugins/salesforce/src/metadata.js +3 -16
- package/dist/plugins/salesforce/src/shared.js +25 -100
- package/dist/plugins/salesforce/src/sobjects.js +10 -9
- package/dist/plugins/salesmate/src/credentials.js +17 -0
- package/dist/plugins/salesmate/src/index.js +20 -37
- package/dist/plugins/securityScorecard/src/credentials.js +22 -0
- package/dist/plugins/securityScorecard/src/index.js +24 -37
- package/dist/plugins/segment/src/credentials.js +16 -0
- package/dist/plugins/segment/src/index.js +12 -16
- package/dist/plugins/sendgrid/src/credentials.js +13 -0
- package/dist/plugins/sendgrid/src/index.js +31 -35
- package/dist/plugins/sendy/src/credentials.js +18 -0
- package/dist/plugins/sendy/src/index.js +18 -24
- package/dist/plugins/sentry/src/credentials.js +16 -0
- package/dist/plugins/sentry/src/index.js +30 -98
- package/dist/plugins/servicenow/src/credentials.js +13 -0
- package/dist/plugins/servicenow/src/index.js +22 -41
- package/dist/plugins/shiftAtlas/src/graph.js +2 -2
- package/dist/plugins/shiftAtlas/src/index.js +2 -0
- package/dist/plugins/shiftAtlas/src/shared.js +3 -1
- package/dist/plugins/shiftBwm/src/index.js +4 -2
- package/dist/plugins/shiftBwm/src/shared.js +41 -16
- package/dist/plugins/shiftCrm/src/access.js +2 -2
- package/dist/plugins/shiftCrm/src/accounts.js +3 -3
- package/dist/plugins/shiftCrm/src/activities.js +3 -3
- package/dist/plugins/shiftCrm/src/credentials.js +6 -0
- package/dist/plugins/shiftCrm/src/index.js +2 -0
- package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
- package/dist/plugins/shiftCrm/src/people.js +3 -3
- package/dist/plugins/shiftCrm/src/records.js +2 -2
- package/dist/plugins/shiftCrm/src/shared.js +2 -1
- package/dist/plugins/shiftCrm/src/tasks.js +3 -3
- package/dist/plugins/shiftObjects/src/credentials.js +2 -0
- package/dist/plugins/shiftObjects/src/index.js +2 -0
- package/dist/plugins/shiftObjects/src/objects.js +4 -3
- package/dist/plugins/shiftOcr/src/credentials.js +8 -0
- package/dist/plugins/shiftOcr/src/index.js +14 -8
- package/dist/plugins/shiftPages/src/index.js +2 -0
- package/dist/plugins/shiftPages/src/pages.js +5 -3
- package/dist/plugins/shiftPages/src/shared.js +3 -1
- package/dist/plugins/shiftTranscription/src/index.js +2 -0
- package/dist/plugins/shiftTranscription/src/shared.js +11 -1
- package/dist/plugins/shiftTranscription/src/transcription.js +5 -5
- package/dist/plugins/shiftWork/src/index.js +2 -0
- package/dist/plugins/shiftWork/src/issue-views.js +5 -5
- package/dist/plugins/shiftWork/src/issues.js +11 -7
- package/dist/plugins/shiftWork/src/projects.js +3 -3
- package/dist/plugins/shiftWork/src/shared.js +3 -1
- package/dist/plugins/shopify/src/credentials.js +16 -0
- package/dist/plugins/shopify/src/index.js +32 -59
- package/dist/plugins/signl4/src/credentials.js +17 -0
- package/dist/plugins/signl4/src/index.js +28 -29
- package/dist/plugins/slack/src/credentials.js +19 -0
- package/dist/plugins/slack/src/index.js +51 -60
- package/dist/plugins/sms77/src/credentials.js +17 -0
- package/dist/plugins/sms77/src/index.js +11 -16
- package/dist/plugins/splunk/src/credentials.js +19 -0
- package/dist/plugins/splunk/src/index.js +32 -74
- package/dist/plugins/spotify/src/credentials.js +19 -0
- package/dist/plugins/spotify/src/index.js +40 -55
- package/dist/plugins/stackby/src/credentials.js +13 -0
- package/dist/plugins/stackby/src/index.js +14 -23
- package/dist/plugins/steel/src/auth.js +27 -0
- package/dist/plugins/steel/src/browser.js +4 -3
- package/dist/plugins/steel/src/captchas.js +4 -3
- package/dist/plugins/steel/src/extensions.js +3 -2
- package/dist/plugins/steel/src/files.js +9 -10
- package/dist/plugins/steel/src/index.js +2 -0
- package/dist/plugins/steel/src/page/tools.js +3 -3
- package/dist/plugins/steel/src/profiles.js +4 -3
- package/dist/plugins/steel/src/sessions.js +13 -13
- package/dist/plugins/steel/src/shared.js +21 -51
- package/dist/plugins/storyblok/src/credentials.js +37 -0
- package/dist/plugins/storyblok/src/index.js +22 -66
- package/dist/plugins/strapi/src/credentials.js +71 -0
- package/dist/plugins/strapi/src/index.js +36 -70
- package/dist/plugins/strava/src/credentials.js +19 -0
- package/dist/plugins/strava/src/index.js +16 -33
- package/dist/plugins/stripe/src/credentials.js +19 -0
- package/dist/plugins/stripe/src/index.js +44 -58
- package/dist/plugins/supabase/src/credentials.js +30 -0
- package/dist/plugins/supabase/src/index.js +18 -40
- package/dist/plugins/syncromsp/src/credentials.js +16 -0
- package/dist/plugins/syncromsp/src/index.js +37 -70
- package/dist/plugins/tapfiliate/src/credentials.js +13 -0
- package/dist/plugins/tapfiliate/src/index.js +21 -31
- package/dist/plugins/telegram/src/credentials.js +20 -0
- package/dist/plugins/telegram/src/index.js +31 -39
- package/dist/plugins/thehive/src/credentials.js +14 -0
- package/dist/plugins/thehive/src/index.js +33 -50
- package/dist/plugins/thehiveProject/src/credentials.js +16 -0
- package/dist/plugins/thehiveProject/src/index.js +53 -122
- package/dist/plugins/todoist/src/credentials.js +26 -0
- package/dist/plugins/todoist/src/index.js +49 -79
- package/dist/plugins/together/src/credentials.js +16 -0
- package/dist/plugins/together/src/index.js +31 -33
- package/dist/plugins/travisci/src/credentials.js +24 -0
- package/dist/plugins/travisci/src/index.js +16 -30
- package/dist/plugins/trello/src/credentials.js +29 -0
- package/dist/plugins/trello/src/index.js +49 -64
- package/dist/plugins/twake/src/credentials.js +16 -0
- package/dist/plugins/twake/src/index.js +8 -10
- package/dist/plugins/twilio/src/credentials.js +23 -0
- package/dist/plugins/twilio/src/index.js +12 -26
- package/dist/plugins/twist/src/credentials.js +13 -0
- package/dist/plugins/twist/src/index.js +32 -44
- package/dist/plugins/twitter/src/credentials.js +16 -0
- package/dist/plugins/twitter/src/index.js +25 -37
- package/dist/plugins/typesafe/src/credentials.js +28 -0
- package/dist/plugins/typesafe/src/index.js +3 -1
- package/dist/plugins/typesafe/src/shared.js +23 -35
- package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
- package/dist/plugins/unleashedSoftware/src/index.js +13 -37
- package/dist/plugins/uplead/src/credentials.js +16 -0
- package/dist/plugins/uplead/src/index.js +11 -16
- package/dist/plugins/uproc/src/credentials.js +14 -0
- package/dist/plugins/uproc/src/index.js +7 -10
- package/dist/plugins/uptimerobot/src/credentials.js +14 -0
- package/dist/plugins/uptimerobot/src/index.js +28 -39
- package/dist/plugins/urlscanio/src/credentials.js +13 -0
- package/dist/plugins/urlscanio/src/index.js +13 -22
- package/dist/plugins/vercel/src/credentials.js +19 -0
- package/dist/plugins/vercel/src/deployments.js +27 -11
- package/dist/plugins/vercel/src/env.js +31 -12
- package/dist/plugins/vercel/src/index.js +2 -0
- package/dist/plugins/vercel/src/projects.js +6 -3
- package/dist/plugins/vercel/src/shared.js +32 -37
- package/dist/plugins/vero/src/credentials.js +17 -0
- package/dist/plugins/vero/src/index.js +18 -21
- package/dist/plugins/vonage/src/credentials.js +17 -0
- package/dist/plugins/vonage/src/index.js +14 -18
- package/dist/plugins/wekan/src/credentials.js +16 -0
- package/dist/plugins/wekan/src/index.js +33 -46
- package/dist/plugins/wolt/src/account.js +6 -0
- package/dist/plugins/wolt/src/catalog.js +2 -2
- package/dist/plugins/wolt/src/credentials.js +64 -0
- package/dist/plugins/wolt/src/index.js +8 -3
- package/dist/plugins/wolt/src/orders.js +2 -2
- package/dist/plugins/wolt/src/public.js +91 -0
- package/dist/plugins/wolt/src/shared.js +49 -158
- package/dist/plugins/woocommerce/src/credentials.js +16 -0
- package/dist/plugins/woocommerce/src/index.js +19 -37
- package/dist/plugins/wordpress/src/credentials.js +16 -0
- package/dist/plugins/wordpress/src/index.js +23 -42
- package/dist/plugins/xai/src/credentials.js +13 -0
- package/dist/plugins/xai/src/index.js +32 -31
- package/dist/plugins/xero/src/credentials.js +17 -0
- package/dist/plugins/xero/src/index.js +19 -36
- package/dist/plugins/yourls/src/credentials.js +17 -0
- package/dist/plugins/yourls/src/index.js +13 -23
- package/dist/plugins/zammad/src/credentials.js +15 -0
- package/dist/plugins/zammad/src/index.js +27 -47
- package/dist/plugins/zendesk/src/credentials.js +26 -0
- package/dist/plugins/zendesk/src/index.js +29 -48
- package/dist/plugins/zoho/src/credentials.js +17 -0
- package/dist/plugins/zoho/src/index.js +18 -38
- package/dist/plugins/zoom/src/credentials.js +19 -0
- package/dist/plugins/zoom/src/index.js +15 -30
- package/dist/plugins/zulip/src/credentials.js +16 -0
- package/dist/plugins/zulip/src/index.js +36 -42
- package/dist/sdk.d.ts +8 -0
- package/dist/sdk.js +3 -0
- package/package.json +2 -1
- package/dist/plugins/_shared/authedFetch.js +0 -33
- package/dist/plugins/_shared/tokenRefresh.js +0 -41
- package/dist/tests/helpers/engine-harness.d.ts +0 -1
- package/dist/tests/helpers/engine-harness.js +0 -236
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An API key, sent in the X-Api-Key header to Clockify's one API origin. */
|
|
3
|
+
export const clockifyCredential = staticCredential({
|
|
4
|
+
id: "clockify",
|
|
5
|
+
auth: { kind: "apiKey", header: "X-Api-Key" },
|
|
6
|
+
local: { secret: "apiKey" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.clockify.me/api/v1/",
|
|
10
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "user",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,40 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { clockifyCredential } from "./credentials.js";
|
|
3
|
+
async function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, clockifyCredential, "clockify", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
const res = await fetch(url.toString(), opts);
|
|
21
|
-
if (!res.ok) {
|
|
22
|
-
const text = await res.text();
|
|
23
|
-
throw new Error(`Clockify API error ${res.status}: ${text}`);
|
|
24
|
-
}
|
|
25
|
-
if (res.status === 204)
|
|
26
|
-
return { success: true };
|
|
27
|
-
const ct = res.headers.get("content-type") ?? "";
|
|
28
|
-
if (ct.includes("application/json"))
|
|
29
|
-
return res.json();
|
|
30
|
-
return { success: true };
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
31
16
|
}
|
|
32
|
-
async function paginateAll(
|
|
17
|
+
async function paginateAll(ctx, path, qs, limit) {
|
|
33
18
|
const results = [];
|
|
34
19
|
let page = 1;
|
|
35
20
|
const size = 50;
|
|
36
21
|
while (true) {
|
|
37
|
-
const data = (await apiRequest(
|
|
22
|
+
const data = (await apiRequest(ctx, "GET", path, undefined, {
|
|
38
23
|
...qs,
|
|
39
24
|
page,
|
|
40
25
|
"page-size": size,
|
|
@@ -50,12 +35,10 @@ async function paginateAll(apiKey, endpoint, qs, limit) {
|
|
|
50
35
|
}
|
|
51
36
|
return results;
|
|
52
37
|
}
|
|
53
|
-
function getKey(ctx) {
|
|
54
|
-
return ctx.connection.config.apiKey;
|
|
55
|
-
}
|
|
56
38
|
export default function clockify(rl) {
|
|
57
39
|
rl.setName("clockify");
|
|
58
40
|
rl.setVersion("0.1.0");
|
|
41
|
+
rl.setCredential(clockifyCredential);
|
|
59
42
|
rl.setConnectionSchema({
|
|
60
43
|
apiKey: {
|
|
61
44
|
type: "string",
|
|
@@ -78,7 +61,9 @@ export default function clockify(rl) {
|
|
|
78
61
|
},
|
|
79
62
|
async execute(input, ctx) {
|
|
80
63
|
const { workspaceId, name } = input;
|
|
81
|
-
return apiRequest(
|
|
64
|
+
return apiRequest(ctx, "POST", `workspaces/${pathSegment(workspaceId)}/clients`, {
|
|
65
|
+
name,
|
|
66
|
+
});
|
|
82
67
|
},
|
|
83
68
|
});
|
|
84
69
|
rl.registerAction("client.get", {
|
|
@@ -94,7 +79,7 @@ export default function clockify(rl) {
|
|
|
94
79
|
},
|
|
95
80
|
async execute(input, ctx) {
|
|
96
81
|
const { workspaceId, clientId } = input;
|
|
97
|
-
return apiRequest(
|
|
82
|
+
return apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/clients/${pathSegment(clientId)}`);
|
|
98
83
|
},
|
|
99
84
|
});
|
|
100
85
|
rl.registerAction("client.list", {
|
|
@@ -121,7 +106,7 @@ export default function clockify(rl) {
|
|
|
121
106
|
qs.name = name;
|
|
122
107
|
if (archived !== undefined)
|
|
123
108
|
qs.archived = archived;
|
|
124
|
-
return paginateAll(
|
|
109
|
+
return paginateAll(ctx, `workspaces/${pathSegment(workspaceId)}/clients`, qs, limit);
|
|
125
110
|
},
|
|
126
111
|
});
|
|
127
112
|
rl.registerAction("client.update", {
|
|
@@ -139,7 +124,7 @@ export default function clockify(rl) {
|
|
|
139
124
|
},
|
|
140
125
|
async execute(input, ctx) {
|
|
141
126
|
const { workspaceId, clientId, ...body } = input;
|
|
142
|
-
return apiRequest(
|
|
127
|
+
return apiRequest(ctx, "PUT", `workspaces/${pathSegment(workspaceId)}/clients/${pathSegment(clientId)}`, body);
|
|
143
128
|
},
|
|
144
129
|
});
|
|
145
130
|
rl.registerAction("client.delete", {
|
|
@@ -155,7 +140,7 @@ export default function clockify(rl) {
|
|
|
155
140
|
},
|
|
156
141
|
async execute(input, ctx) {
|
|
157
142
|
const { workspaceId, clientId } = input;
|
|
158
|
-
await apiRequest(
|
|
143
|
+
await apiRequest(ctx, "DELETE", `workspaces/${pathSegment(workspaceId)}/clients/${pathSegment(clientId)}`);
|
|
159
144
|
return { success: true };
|
|
160
145
|
},
|
|
161
146
|
});
|
|
@@ -182,7 +167,7 @@ export default function clockify(rl) {
|
|
|
182
167
|
},
|
|
183
168
|
async execute(input, ctx) {
|
|
184
169
|
const { workspaceId, ...body } = input;
|
|
185
|
-
return apiRequest(
|
|
170
|
+
return apiRequest(ctx, "POST", `workspaces/${pathSegment(workspaceId)}/projects`, body);
|
|
186
171
|
},
|
|
187
172
|
});
|
|
188
173
|
rl.registerAction("project.get", {
|
|
@@ -198,7 +183,7 @@ export default function clockify(rl) {
|
|
|
198
183
|
},
|
|
199
184
|
async execute(input, ctx) {
|
|
200
185
|
const { workspaceId, projectId } = input;
|
|
201
|
-
return apiRequest(
|
|
186
|
+
return apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}`);
|
|
202
187
|
},
|
|
203
188
|
});
|
|
204
189
|
rl.registerAction("project.list", {
|
|
@@ -225,7 +210,7 @@ export default function clockify(rl) {
|
|
|
225
210
|
qs.name = name;
|
|
226
211
|
if (archived !== undefined)
|
|
227
212
|
qs.archived = archived;
|
|
228
|
-
return paginateAll(
|
|
213
|
+
return paginateAll(ctx, `workspaces/${pathSegment(workspaceId)}/projects`, qs, limit);
|
|
229
214
|
},
|
|
230
215
|
});
|
|
231
216
|
rl.registerAction("project.update", {
|
|
@@ -248,7 +233,7 @@ export default function clockify(rl) {
|
|
|
248
233
|
},
|
|
249
234
|
async execute(input, ctx) {
|
|
250
235
|
const { workspaceId, projectId, ...body } = input;
|
|
251
|
-
return apiRequest(
|
|
236
|
+
return apiRequest(ctx, "PUT", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}`, body);
|
|
252
237
|
},
|
|
253
238
|
});
|
|
254
239
|
rl.registerAction("project.delete", {
|
|
@@ -264,7 +249,7 @@ export default function clockify(rl) {
|
|
|
264
249
|
},
|
|
265
250
|
async execute(input, ctx) {
|
|
266
251
|
const { workspaceId, projectId } = input;
|
|
267
|
-
await apiRequest(
|
|
252
|
+
await apiRequest(ctx, "DELETE", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}`);
|
|
268
253
|
return { success: true };
|
|
269
254
|
},
|
|
270
255
|
});
|
|
@@ -282,7 +267,7 @@ export default function clockify(rl) {
|
|
|
282
267
|
},
|
|
283
268
|
async execute(input, ctx) {
|
|
284
269
|
const { workspaceId, name } = input;
|
|
285
|
-
return apiRequest(
|
|
270
|
+
return apiRequest(ctx, "POST", `workspaces/${pathSegment(workspaceId)}/tags`, {
|
|
286
271
|
name,
|
|
287
272
|
});
|
|
288
273
|
},
|
|
@@ -311,7 +296,7 @@ export default function clockify(rl) {
|
|
|
311
296
|
qs.name = name;
|
|
312
297
|
if (archived !== undefined)
|
|
313
298
|
qs.archived = archived;
|
|
314
|
-
return paginateAll(
|
|
299
|
+
return paginateAll(ctx, `workspaces/${pathSegment(workspaceId)}/tags`, qs, limit);
|
|
315
300
|
},
|
|
316
301
|
});
|
|
317
302
|
rl.registerAction("tag.update", {
|
|
@@ -329,7 +314,7 @@ export default function clockify(rl) {
|
|
|
329
314
|
},
|
|
330
315
|
async execute(input, ctx) {
|
|
331
316
|
const { workspaceId, tagId, ...body } = input;
|
|
332
|
-
return apiRequest(
|
|
317
|
+
return apiRequest(ctx, "PUT", `workspaces/${pathSegment(workspaceId)}/tags/${pathSegment(tagId)}`, body);
|
|
333
318
|
},
|
|
334
319
|
});
|
|
335
320
|
rl.registerAction("tag.delete", {
|
|
@@ -345,7 +330,7 @@ export default function clockify(rl) {
|
|
|
345
330
|
},
|
|
346
331
|
async execute(input, ctx) {
|
|
347
332
|
const { workspaceId, tagId } = input;
|
|
348
|
-
await apiRequest(
|
|
333
|
+
await apiRequest(ctx, "DELETE", `workspaces/${pathSegment(workspaceId)}/tags/${pathSegment(tagId)}`);
|
|
349
334
|
return { success: true };
|
|
350
335
|
},
|
|
351
336
|
});
|
|
@@ -383,7 +368,7 @@ export default function clockify(rl) {
|
|
|
383
368
|
const [h, m] = estimate.split(":");
|
|
384
369
|
body.estimate = `PT${h}H${m}M`;
|
|
385
370
|
}
|
|
386
|
-
return apiRequest(
|
|
371
|
+
return apiRequest(ctx, "POST", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks`, body);
|
|
387
372
|
},
|
|
388
373
|
});
|
|
389
374
|
rl.registerAction("task.get", {
|
|
@@ -400,7 +385,7 @@ export default function clockify(rl) {
|
|
|
400
385
|
},
|
|
401
386
|
async execute(input, ctx) {
|
|
402
387
|
const { workspaceId, projectId, taskId } = input;
|
|
403
|
-
return apiRequest(
|
|
388
|
+
return apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks/${pathSegment(taskId)}`);
|
|
404
389
|
},
|
|
405
390
|
});
|
|
406
391
|
rl.registerAction("task.list", {
|
|
@@ -431,9 +416,9 @@ export default function clockify(rl) {
|
|
|
431
416
|
qs.name = name;
|
|
432
417
|
if (limit) {
|
|
433
418
|
qs["page-size"] = limit;
|
|
434
|
-
return apiRequest(
|
|
419
|
+
return apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks`, undefined, qs);
|
|
435
420
|
}
|
|
436
|
-
return paginateAll(
|
|
421
|
+
return paginateAll(ctx, `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks`, qs);
|
|
437
422
|
},
|
|
438
423
|
});
|
|
439
424
|
rl.registerAction("task.update", {
|
|
@@ -466,7 +451,7 @@ export default function clockify(rl) {
|
|
|
466
451
|
const [h, m] = estimate.split(":");
|
|
467
452
|
body.estimate = `PT${h}H${m}M`;
|
|
468
453
|
}
|
|
469
|
-
return apiRequest(
|
|
454
|
+
return apiRequest(ctx, "PUT", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks/${pathSegment(taskId)}`, body);
|
|
470
455
|
},
|
|
471
456
|
});
|
|
472
457
|
rl.registerAction("task.delete", {
|
|
@@ -483,7 +468,7 @@ export default function clockify(rl) {
|
|
|
483
468
|
},
|
|
484
469
|
async execute(input, ctx) {
|
|
485
470
|
const { workspaceId, projectId, taskId } = input;
|
|
486
|
-
await apiRequest(
|
|
471
|
+
await apiRequest(ctx, "DELETE", `workspaces/${pathSegment(workspaceId)}/projects/${pathSegment(projectId)}/tasks/${pathSegment(taskId)}`);
|
|
487
472
|
return { success: true };
|
|
488
473
|
},
|
|
489
474
|
});
|
|
@@ -519,7 +504,7 @@ export default function clockify(rl) {
|
|
|
519
504
|
},
|
|
520
505
|
async execute(input, ctx) {
|
|
521
506
|
const { workspaceId, ...body } = input;
|
|
522
|
-
return apiRequest(
|
|
507
|
+
return apiRequest(ctx, "POST", `workspaces/${pathSegment(workspaceId)}/time-entries`, body);
|
|
523
508
|
},
|
|
524
509
|
});
|
|
525
510
|
rl.registerAction("timeEntry.get", {
|
|
@@ -539,7 +524,7 @@ export default function clockify(rl) {
|
|
|
539
524
|
},
|
|
540
525
|
async execute(input, ctx) {
|
|
541
526
|
const { workspaceId, timeEntryId } = input;
|
|
542
|
-
return apiRequest(
|
|
527
|
+
return apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/time-entries/${pathSegment(timeEntryId)}`);
|
|
543
528
|
},
|
|
544
529
|
});
|
|
545
530
|
rl.registerAction("timeEntry.update", {
|
|
@@ -572,11 +557,11 @@ export default function clockify(rl) {
|
|
|
572
557
|
const { workspaceId, timeEntryId, ...body } = input;
|
|
573
558
|
// start is required by API — fetch current if not set
|
|
574
559
|
if (!body.start) {
|
|
575
|
-
const current = (await apiRequest(
|
|
560
|
+
const current = (await apiRequest(ctx, "GET", `workspaces/${pathSegment(workspaceId)}/time-entries/${pathSegment(timeEntryId)}`));
|
|
576
561
|
const interval = current.timeInterval;
|
|
577
562
|
body.start = interval.start;
|
|
578
563
|
}
|
|
579
|
-
return apiRequest(
|
|
564
|
+
return apiRequest(ctx, "PUT", `workspaces/${pathSegment(workspaceId)}/time-entries/${pathSegment(timeEntryId)}`, body);
|
|
580
565
|
},
|
|
581
566
|
});
|
|
582
567
|
rl.registerAction("timeEntry.delete", {
|
|
@@ -596,7 +581,7 @@ export default function clockify(rl) {
|
|
|
596
581
|
},
|
|
597
582
|
async execute(input, ctx) {
|
|
598
583
|
const { workspaceId, timeEntryId } = input;
|
|
599
|
-
await apiRequest(
|
|
584
|
+
await apiRequest(ctx, "DELETE", `workspaces/${pathSegment(workspaceId)}/time-entries/${pathSegment(timeEntryId)}`);
|
|
600
585
|
return { success: true };
|
|
601
586
|
},
|
|
602
587
|
});
|
|
@@ -629,7 +614,7 @@ export default function clockify(rl) {
|
|
|
629
614
|
qs.email = email;
|
|
630
615
|
if (status)
|
|
631
616
|
qs.status = status;
|
|
632
|
-
return paginateAll(
|
|
617
|
+
return paginateAll(ctx, `workspaces/${pathSegment(workspaceId)}/users`, qs, limit);
|
|
633
618
|
},
|
|
634
619
|
});
|
|
635
620
|
// ── Workspace ───────────────────────────────────────
|
|
@@ -641,7 +626,7 @@ export default function clockify(rl) {
|
|
|
641
626
|
},
|
|
642
627
|
async execute(input, ctx) {
|
|
643
628
|
const { limit } = (input ?? {});
|
|
644
|
-
const data = (await apiRequest(
|
|
629
|
+
const data = (await apiRequest(ctx, "GET", "workspaces"));
|
|
645
630
|
if (limit)
|
|
646
631
|
return data.slice(0, limit);
|
|
647
632
|
return data;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An API token, sent as a bearer to Cloudflare's one API origin. */
|
|
3
|
+
export const cloudflareCredential = staticCredential({
|
|
4
|
+
id: "cloudflare",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "apiToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://api.cloudflare.com/client/v4/",
|
|
10
|
+
methods: ["GET", "POST", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "user/tokens/verify",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,38 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { cloudflareCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, cloudflareCredential, "cloudflare", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
method !== "DELETE") {
|
|
21
|
-
opts.body = JSON.stringify(body);
|
|
22
|
-
}
|
|
23
|
-
const res = await fetch(url.toString(), opts);
|
|
24
|
-
if (!res.ok) {
|
|
25
|
-
const text = await res.text();
|
|
26
|
-
throw new Error(`Cloudflare API error ${res.status}: ${text}`);
|
|
27
|
-
}
|
|
28
|
-
return res.json();
|
|
29
|
-
}
|
|
30
|
-
function getToken(ctx) {
|
|
31
|
-
return ctx.connection.config.apiToken;
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
32
16
|
}
|
|
33
17
|
export default function cloudflare(rl) {
|
|
34
18
|
rl.setName("cloudflare");
|
|
35
19
|
rl.setVersion("0.1.0");
|
|
20
|
+
rl.setCredential(cloudflareCredential);
|
|
36
21
|
rl.setConnectionSchema({
|
|
37
22
|
apiToken: {
|
|
38
23
|
type: "string",
|
|
@@ -54,7 +39,7 @@ export default function cloudflare(rl) {
|
|
|
54
39
|
},
|
|
55
40
|
async execute(input, ctx) {
|
|
56
41
|
const { zoneId, certificateId } = input;
|
|
57
|
-
const data = (await apiRequest(
|
|
42
|
+
const data = (await apiRequest(ctx, "GET", `zones/${pathSegment(zoneId)}/origin_tls_client_auth/${pathSegment(certificateId)}`));
|
|
58
43
|
return data.result;
|
|
59
44
|
},
|
|
60
45
|
});
|
|
@@ -70,7 +55,7 @@ export default function cloudflare(rl) {
|
|
|
70
55
|
const qs = {};
|
|
71
56
|
if (limit)
|
|
72
57
|
qs.per_page = limit;
|
|
73
|
-
const data = (await apiRequest(
|
|
58
|
+
const data = (await apiRequest(ctx, "GET", `zones/${pathSegment(zoneId)}/origin_tls_client_auth`, undefined, qs));
|
|
74
59
|
return data.result;
|
|
75
60
|
},
|
|
76
61
|
});
|
|
@@ -92,7 +77,7 @@ export default function cloudflare(rl) {
|
|
|
92
77
|
},
|
|
93
78
|
async execute(input, ctx) {
|
|
94
79
|
const { zoneId, certificate, privateKey } = input;
|
|
95
|
-
const data = (await apiRequest(
|
|
80
|
+
const data = (await apiRequest(ctx, "POST", `zones/${pathSegment(zoneId)}/origin_tls_client_auth`, {
|
|
96
81
|
certificate,
|
|
97
82
|
private_key: privateKey,
|
|
98
83
|
}));
|
|
@@ -112,7 +97,7 @@ export default function cloudflare(rl) {
|
|
|
112
97
|
},
|
|
113
98
|
async execute(input, ctx) {
|
|
114
99
|
const { zoneId, certificateId } = input;
|
|
115
|
-
const data = (await apiRequest(
|
|
100
|
+
const data = (await apiRequest(ctx, "DELETE", `zones/${pathSegment(zoneId)}/origin_tls_client_auth/${pathSegment(certificateId)}`));
|
|
116
101
|
return data.result;
|
|
117
102
|
},
|
|
118
103
|
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An API token, appended by the transport as the token query parameter on
|
|
4
|
+
* the connection's own Cockpit instance beneath /api/. The instance URL is
|
|
5
|
+
* public config and must be HTTPS.
|
|
6
|
+
*/
|
|
7
|
+
export const cockpitCredential = staticCredential({
|
|
8
|
+
id: "cockpit",
|
|
9
|
+
auth: { kind: "queryKey", param: "token" },
|
|
10
|
+
local: { secret: "accessToken" },
|
|
11
|
+
targets: (config) => ({
|
|
12
|
+
api: {
|
|
13
|
+
baseUrl: httpsBase(config.url, "api/"),
|
|
14
|
+
methods: ["GET", "POST"],
|
|
15
|
+
},
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { cockpitCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body) {
|
|
4
|
+
return credentialJson(ctx, cockpitCredential, "cockpit", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
5
7
|
method,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
const res = await fetch(url.toString(), opts);
|
|
12
|
-
if (!res.ok) {
|
|
13
|
-
const text = await res.text();
|
|
14
|
-
throw new Error(`Cockpit API error ${res.status}: ${text}`);
|
|
15
|
-
}
|
|
16
|
-
return res.json();
|
|
17
|
-
}
|
|
18
|
-
function getConn(ctx) {
|
|
19
|
-
return {
|
|
20
|
-
baseUrl: ctx.connection.config.url.replace(/\/$/, ""),
|
|
21
|
-
token: ctx.connection.config.accessToken,
|
|
22
|
-
};
|
|
8
|
+
...(body && Object.keys(body).length > 0 && method !== "GET"
|
|
9
|
+
? { json: body }
|
|
10
|
+
: {}),
|
|
11
|
+
});
|
|
23
12
|
}
|
|
24
13
|
export default function cockpit(rl) {
|
|
25
14
|
rl.setName("cockpit");
|
|
26
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(cockpitCredential);
|
|
27
17
|
rl.setConnectionSchema({
|
|
28
18
|
url: {
|
|
29
19
|
type: "string",
|
|
@@ -56,8 +46,9 @@ export default function cockpit(rl) {
|
|
|
56
46
|
},
|
|
57
47
|
async execute(input, ctx) {
|
|
58
48
|
const { collection, data } = input;
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
return apiRequest(ctx, "POST", `collections/save/${pathSegment(collection)}`, {
|
|
50
|
+
data,
|
|
51
|
+
});
|
|
61
52
|
},
|
|
62
53
|
});
|
|
63
54
|
rl.registerAction("collection.list", {
|
|
@@ -95,7 +86,6 @@ export default function cockpit(rl) {
|
|
|
95
86
|
},
|
|
96
87
|
async execute(input, ctx) {
|
|
97
88
|
const { collection, filter, fields, sort, limit, skip, populate, language, } = (input ?? {});
|
|
98
|
-
const { baseUrl, token } = getConn(ctx);
|
|
99
89
|
const body = { simple: true };
|
|
100
90
|
if (filter)
|
|
101
91
|
body.filter = filter;
|
|
@@ -115,7 +105,7 @@ export default function cockpit(rl) {
|
|
|
115
105
|
body.populate = populate;
|
|
116
106
|
if (language)
|
|
117
107
|
body.lang = language;
|
|
118
|
-
return apiRequest(
|
|
108
|
+
return apiRequest(ctx, "POST", `collections/get/${pathSegment(collection)}`, body);
|
|
119
109
|
},
|
|
120
110
|
});
|
|
121
111
|
rl.registerAction("collection.update", {
|
|
@@ -132,8 +122,7 @@ export default function cockpit(rl) {
|
|
|
132
122
|
},
|
|
133
123
|
async execute(input, ctx) {
|
|
134
124
|
const { collection, id, data } = input;
|
|
135
|
-
|
|
136
|
-
return apiRequest(baseUrl, token, "POST", `/collections/save/${collection}`, {
|
|
125
|
+
return apiRequest(ctx, "POST", `collections/save/${pathSegment(collection)}`, {
|
|
137
126
|
data: { _id: id, ...data },
|
|
138
127
|
});
|
|
139
128
|
},
|
|
@@ -152,8 +141,7 @@ export default function cockpit(rl) {
|
|
|
152
141
|
},
|
|
153
142
|
async execute(input, ctx) {
|
|
154
143
|
const { form, data } = input;
|
|
155
|
-
|
|
156
|
-
return apiRequest(baseUrl, token, "POST", `/forms/submit/${form}`, {
|
|
144
|
+
return apiRequest(ctx, "POST", `forms/submit/${pathSegment(form)}`, {
|
|
157
145
|
form: data,
|
|
158
146
|
});
|
|
159
147
|
},
|
|
@@ -171,8 +159,7 @@ export default function cockpit(rl) {
|
|
|
171
159
|
},
|
|
172
160
|
async execute(input, ctx) {
|
|
173
161
|
const { singleton } = input;
|
|
174
|
-
|
|
175
|
-
return apiRequest(baseUrl, token, "GET", `/singletons/get/${singleton}`);
|
|
162
|
+
return apiRequest(ctx, "GET", `singletons/get/${pathSegment(singleton)}`);
|
|
176
163
|
},
|
|
177
164
|
});
|
|
178
165
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** An API token, sent as a bearer to Coda's one API origin. */
|
|
3
|
+
export const codaCredential = staticCredential({
|
|
4
|
+
id: "coda",
|
|
5
|
+
auth: { kind: "bearer" },
|
|
6
|
+
local: { secret: "accessToken" },
|
|
7
|
+
targets: {
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: "https://coda.io/apis/v1/",
|
|
10
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "whoami",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|