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
|
@@ -1,67 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
password: c.password,
|
|
7
|
-
};
|
|
1
|
+
import { answerFailed, credentialJson, credentialOk, pathSegment, pathSegments, } from "../../_shared/credentials.js";
|
|
2
|
+
import { nextcloudCredential } from "./credentials.js";
|
|
3
|
+
/** A file or folder path beneath the WebDAV base, each segment encoded. */
|
|
4
|
+
function davPath(path) {
|
|
5
|
+
return pathSegments(String(path ?? "").replace(/^\/+|\/+$/g, ""));
|
|
8
6
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function baseUrl(conn) {
|
|
15
|
-
return conn.webDavUrl.replace("/remote.php/webdav", "");
|
|
16
|
-
}
|
|
17
|
-
/** Make a WebDAV request */
|
|
18
|
-
async function webdavRequest(conn, method, path, headers) {
|
|
19
|
-
const url = `${conn.webDavUrl}/${encodeURI(path.replace(/^\//, ""))}`;
|
|
20
|
-
const res = await fetch(url, {
|
|
7
|
+
/** A WebDAV call on `path`; COPY and MOVE name where it goes. */
|
|
8
|
+
async function dav(ctx, method, path, toPath) {
|
|
9
|
+
await credentialOk(ctx, nextcloudCredential, "nextcloud", {
|
|
10
|
+
target: "dav",
|
|
11
|
+
path: davPath(path),
|
|
21
12
|
method,
|
|
22
|
-
|
|
13
|
+
...(toPath !== undefined ? { destination: davPath(toPath) } : {}),
|
|
23
14
|
});
|
|
24
|
-
|
|
25
|
-
throw new Error(`Nextcloud WebDAV error ${res.status}: ${await res.text()}`);
|
|
26
|
-
return res.text();
|
|
27
|
-
}
|
|
28
|
-
/** Make an OCS API request (returns XML text) */
|
|
29
|
-
async function ocsRequest(conn, method, endpoint, body, qs) {
|
|
30
|
-
const url = new URL(`${baseUrl(conn)}/${endpoint}`);
|
|
31
|
-
if (qs) {
|
|
32
|
-
for (const [k, v] of Object.entries(qs)) {
|
|
33
|
-
if (v !== undefined && v !== null)
|
|
34
|
-
url.searchParams.set(k, String(v));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
// Request JSON format via OCS
|
|
38
|
-
url.searchParams.set("format", "json");
|
|
39
|
-
const headers = {
|
|
40
|
-
Authorization: authHeader(conn),
|
|
41
|
-
"OCS-APIRequest": "true",
|
|
42
|
-
};
|
|
43
|
-
const init = { method, headers };
|
|
44
|
-
if (body) {
|
|
45
|
-
headers["Content-Type"] = "application/x-www-form-urlencoded";
|
|
46
|
-
init.body = body;
|
|
47
|
-
}
|
|
48
|
-
const res = await fetch(url.toString(), init);
|
|
49
|
-
if (!res.ok)
|
|
50
|
-
throw new Error(`Nextcloud OCS error ${res.status}: ${await res.text()}`);
|
|
51
|
-
return res.text();
|
|
15
|
+
return { success: true };
|
|
52
16
|
}
|
|
53
|
-
/**
|
|
54
|
-
function
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
17
|
+
/** An OCS call, answered as JSON; a status other than ok is a failure. */
|
|
18
|
+
async function ocs(ctx, method, path, options = {}) {
|
|
19
|
+
const answer = await credentialJson(ctx, nextcloudCredential, "nextcloud", {
|
|
20
|
+
target: "ocs",
|
|
21
|
+
path,
|
|
22
|
+
method,
|
|
23
|
+
query: { ...options.query, format: "json" },
|
|
24
|
+
form: options.form,
|
|
25
|
+
headers: { "OCS-APIRequest": "true" },
|
|
26
|
+
});
|
|
27
|
+
const meta = answer.ocs?.meta;
|
|
28
|
+
if (meta && meta.status !== "ok")
|
|
29
|
+
throw answerFailed("nextcloud", {
|
|
30
|
+
code: meta.statuscode,
|
|
31
|
+
message: meta.message,
|
|
32
|
+
});
|
|
33
|
+
return answer.ocs?.data;
|
|
61
34
|
}
|
|
62
35
|
export default function nextcloud(rl) {
|
|
63
36
|
rl.setName("nextcloud");
|
|
64
37
|
rl.setVersion("0.1.0");
|
|
38
|
+
rl.setCredential(nextcloudCredential);
|
|
65
39
|
rl.setConnectionSchema({
|
|
66
40
|
webDavUrl: {
|
|
67
41
|
type: "string",
|
|
@@ -100,11 +74,7 @@ export default function nextcloud(rl) {
|
|
|
100
74
|
},
|
|
101
75
|
async execute(input, ctx) {
|
|
102
76
|
const { path, toPath } = input;
|
|
103
|
-
|
|
104
|
-
await webdavRequest(conn, "COPY", path, {
|
|
105
|
-
Destination: `${conn.webDavUrl}/${encodeURI(toPath.replace(/^\//, ""))}`,
|
|
106
|
-
});
|
|
107
|
-
return { success: true };
|
|
77
|
+
return dav(ctx, "COPY", path, toPath);
|
|
108
78
|
},
|
|
109
79
|
});
|
|
110
80
|
rl.registerAction("file.delete", {
|
|
@@ -119,8 +89,7 @@ export default function nextcloud(rl) {
|
|
|
119
89
|
},
|
|
120
90
|
async execute(input, ctx) {
|
|
121
91
|
const { path } = input;
|
|
122
|
-
|
|
123
|
-
return { success: true };
|
|
92
|
+
return dav(ctx, "DELETE", path);
|
|
124
93
|
},
|
|
125
94
|
});
|
|
126
95
|
rl.registerAction("file.move", {
|
|
@@ -136,11 +105,7 @@ export default function nextcloud(rl) {
|
|
|
136
105
|
},
|
|
137
106
|
async execute(input, ctx) {
|
|
138
107
|
const { path, toPath } = input;
|
|
139
|
-
|
|
140
|
-
await webdavRequest(conn, "MOVE", path, {
|
|
141
|
-
Destination: `${conn.webDavUrl}/${encodeURI(toPath.replace(/^\//, ""))}`,
|
|
142
|
-
});
|
|
143
|
-
return { success: true };
|
|
108
|
+
return dav(ctx, "MOVE", path, toPath);
|
|
144
109
|
},
|
|
145
110
|
});
|
|
146
111
|
rl.registerAction("file.share", {
|
|
@@ -175,17 +140,15 @@ export default function nextcloud(rl) {
|
|
|
175
140
|
},
|
|
176
141
|
async execute(input, ctx) {
|
|
177
142
|
const p = input;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const text = await ocsRequest(getConn(ctx), "POST", "ocs/v2.php/apps/files_sharing/api/v1/shares", params.toString());
|
|
188
|
-
return parseOcs(text);
|
|
143
|
+
return ocs(ctx, "POST", "v2.php/apps/files_sharing/api/v1/shares", {
|
|
144
|
+
form: {
|
|
145
|
+
path: p.path,
|
|
146
|
+
shareType: p.shareType,
|
|
147
|
+
shareWith: p.shareWith || undefined,
|
|
148
|
+
permissions: p.permissions || undefined,
|
|
149
|
+
password: p.password || undefined,
|
|
150
|
+
},
|
|
151
|
+
});
|
|
189
152
|
},
|
|
190
153
|
});
|
|
191
154
|
rl.registerAction("folder.create", {
|
|
@@ -200,8 +163,7 @@ export default function nextcloud(rl) {
|
|
|
200
163
|
},
|
|
201
164
|
async execute(input, ctx) {
|
|
202
165
|
const { path } = input;
|
|
203
|
-
|
|
204
|
-
return { success: true };
|
|
166
|
+
return dav(ctx, "MKCOL", path);
|
|
205
167
|
},
|
|
206
168
|
});
|
|
207
169
|
rl.registerAction("folder.delete", {
|
|
@@ -216,8 +178,7 @@ export default function nextcloud(rl) {
|
|
|
216
178
|
},
|
|
217
179
|
async execute(input, ctx) {
|
|
218
180
|
const { path } = input;
|
|
219
|
-
|
|
220
|
-
return { success: true };
|
|
181
|
+
return dav(ctx, "DELETE", path);
|
|
221
182
|
},
|
|
222
183
|
});
|
|
223
184
|
rl.registerAction("folder.copy", {
|
|
@@ -237,11 +198,7 @@ export default function nextcloud(rl) {
|
|
|
237
198
|
},
|
|
238
199
|
async execute(input, ctx) {
|
|
239
200
|
const { path, toPath } = input;
|
|
240
|
-
|
|
241
|
-
await webdavRequest(conn, "COPY", path, {
|
|
242
|
-
Destination: `${conn.webDavUrl}/${encodeURI(toPath.replace(/^\//, ""))}`,
|
|
243
|
-
});
|
|
244
|
-
return { success: true };
|
|
201
|
+
return dav(ctx, "COPY", path, toPath);
|
|
245
202
|
},
|
|
246
203
|
});
|
|
247
204
|
rl.registerAction("folder.move", {
|
|
@@ -261,11 +218,7 @@ export default function nextcloud(rl) {
|
|
|
261
218
|
},
|
|
262
219
|
async execute(input, ctx) {
|
|
263
220
|
const { path, toPath } = input;
|
|
264
|
-
|
|
265
|
-
await webdavRequest(conn, "MOVE", path, {
|
|
266
|
-
Destination: `${conn.webDavUrl}/${encodeURI(toPath.replace(/^\//, ""))}`,
|
|
267
|
-
});
|
|
268
|
-
return { success: true };
|
|
221
|
+
return dav(ctx, "MOVE", path, toPath);
|
|
269
222
|
},
|
|
270
223
|
});
|
|
271
224
|
// ── User operations ─────────────────────────────────
|
|
@@ -283,13 +236,9 @@ export default function nextcloud(rl) {
|
|
|
283
236
|
},
|
|
284
237
|
async execute(input, ctx) {
|
|
285
238
|
const { userId, email, displayName } = input;
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
if (displayName)
|
|
290
|
-
params.set("displayName", displayName);
|
|
291
|
-
const text = await ocsRequest(getConn(ctx), "POST", "ocs/v1.php/cloud/users", params.toString());
|
|
292
|
-
return parseOcs(text);
|
|
239
|
+
return ocs(ctx, "POST", "v1.php/cloud/users", {
|
|
240
|
+
form: { userid: userId, email, displayName: displayName || undefined },
|
|
241
|
+
});
|
|
293
242
|
},
|
|
294
243
|
});
|
|
295
244
|
rl.registerAction("user.delete", {
|
|
@@ -300,8 +249,7 @@ export default function nextcloud(rl) {
|
|
|
300
249
|
},
|
|
301
250
|
async execute(input, ctx) {
|
|
302
251
|
const { userId } = input;
|
|
303
|
-
|
|
304
|
-
return parseOcs(text);
|
|
252
|
+
return ocs(ctx, "DELETE", `v1.php/cloud/users/${pathSegment(userId)}`);
|
|
305
253
|
},
|
|
306
254
|
});
|
|
307
255
|
rl.registerAction("user.get", {
|
|
@@ -312,8 +260,7 @@ export default function nextcloud(rl) {
|
|
|
312
260
|
},
|
|
313
261
|
async execute(input, ctx) {
|
|
314
262
|
const { userId } = input;
|
|
315
|
-
|
|
316
|
-
return parseOcs(text);
|
|
263
|
+
return ocs(ctx, "GET", `v1.php/cloud/users/${pathSegment(userId)}`);
|
|
317
264
|
},
|
|
318
265
|
});
|
|
319
266
|
rl.registerAction("user.list", {
|
|
@@ -333,8 +280,7 @@ export default function nextcloud(rl) {
|
|
|
333
280
|
qs.offset = p.offset;
|
|
334
281
|
if (p.search)
|
|
335
282
|
qs.search = p.search;
|
|
336
|
-
|
|
337
|
-
return parseOcs(text);
|
|
283
|
+
return ocs(ctx, "GET", "v1.php/cloud/users", { query: qs });
|
|
338
284
|
},
|
|
339
285
|
});
|
|
340
286
|
rl.registerAction("user.update", {
|
|
@@ -351,9 +297,9 @@ export default function nextcloud(rl) {
|
|
|
351
297
|
},
|
|
352
298
|
async execute(input, ctx) {
|
|
353
299
|
const { userId, key, value } = input;
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
300
|
+
return ocs(ctx, "PUT", `v1.php/cloud/users/${pathSegment(userId)}`, {
|
|
301
|
+
form: { key, value },
|
|
302
|
+
});
|
|
357
303
|
},
|
|
358
304
|
});
|
|
359
305
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An API token, sent as the xc-token header to the connection's own NocoDB
|
|
4
|
+
* instance beneath /api/v2/.
|
|
5
|
+
*/
|
|
6
|
+
export const nocodbCredential = staticCredential({
|
|
7
|
+
id: "nocodb",
|
|
8
|
+
auth: { kind: "apiKey", header: "xc-token" },
|
|
9
|
+
local: { secret: "apiToken" },
|
|
10
|
+
targets: (config) => ({
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: httpsBase(config.host, "api/v2/"),
|
|
13
|
+
methods: ["GET", "POST", "PATCH", "DELETE"],
|
|
14
|
+
},
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
@@ -1,38 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const url = new URL(`${conn.host}${endpoint}`);
|
|
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 init = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { nocodbCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, nocodbCredential, "nocodb", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
15
7
|
method,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
if (body !== undefined)
|
|
22
|
-
init.body = JSON.stringify(body);
|
|
23
|
-
const res = await fetch(url.toString(), init);
|
|
24
|
-
if (!res.ok)
|
|
25
|
-
throw new Error(`NocoDB API error ${res.status}: ${await res.text()}`);
|
|
26
|
-
const text = await res.text();
|
|
27
|
-
return text ? JSON.parse(text) : {};
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body !== undefined ? { json: body } : {}),
|
|
10
|
+
});
|
|
28
11
|
}
|
|
29
|
-
async function paginate(
|
|
12
|
+
async function paginate(ctx, endpoint, qs = {}) {
|
|
30
13
|
const all = [];
|
|
31
14
|
qs.limit = 100;
|
|
32
15
|
qs.offset = 0;
|
|
33
16
|
let isLast = false;
|
|
34
17
|
while (!isLast) {
|
|
35
|
-
const data = (await apiRequest(
|
|
18
|
+
const data = (await apiRequest(ctx, "GET", endpoint, undefined, qs));
|
|
36
19
|
const list = (data.list ?? []);
|
|
37
20
|
all.push(...list);
|
|
38
21
|
const pageInfo = data.pageInfo;
|
|
@@ -44,6 +27,7 @@ async function paginate(conn, endpoint, qs = {}) {
|
|
|
44
27
|
export default function nocodb(rl) {
|
|
45
28
|
rl.setName("nocodb");
|
|
46
29
|
rl.setVersion("0.1.0");
|
|
30
|
+
rl.setCredential(nocodbCredential);
|
|
47
31
|
rl.setConnectionSchema({
|
|
48
32
|
host: {
|
|
49
33
|
type: "string",
|
|
@@ -71,8 +55,7 @@ export default function nocodb(rl) {
|
|
|
71
55
|
},
|
|
72
56
|
async execute(input, ctx) {
|
|
73
57
|
const { tableId, rows } = input;
|
|
74
|
-
|
|
75
|
-
return apiRequest(conn, "POST", `/api/v2/tables/${tableId}/records`, rows);
|
|
58
|
+
return apiRequest(ctx, "POST", `tables/${pathSegment(tableId)}/records`, rows);
|
|
76
59
|
},
|
|
77
60
|
});
|
|
78
61
|
rl.registerAction("row.get", {
|
|
@@ -84,7 +67,7 @@ export default function nocodb(rl) {
|
|
|
84
67
|
},
|
|
85
68
|
async execute(input, ctx) {
|
|
86
69
|
const { tableId, rowId } = input;
|
|
87
|
-
return apiRequest(
|
|
70
|
+
return apiRequest(ctx, "GET", `tables/${pathSegment(tableId)}/records/${pathSegment(rowId)}`);
|
|
88
71
|
},
|
|
89
72
|
});
|
|
90
73
|
rl.registerAction("row.list", {
|
|
@@ -125,8 +108,7 @@ export default function nocodb(rl) {
|
|
|
125
108
|
},
|
|
126
109
|
async execute(input, ctx) {
|
|
127
110
|
const p = (input ?? {});
|
|
128
|
-
const
|
|
129
|
-
const endpoint = `/api/v2/tables/${p.tableId}/records`;
|
|
111
|
+
const endpoint = `tables/${pathSegment(p.tableId)}/records`;
|
|
130
112
|
const qs = {};
|
|
131
113
|
if (p.where)
|
|
132
114
|
qs.where = p.where;
|
|
@@ -140,10 +122,10 @@ export default function nocodb(rl) {
|
|
|
140
122
|
qs.offset = p.offset;
|
|
141
123
|
if (p.limit) {
|
|
142
124
|
qs.limit = p.limit;
|
|
143
|
-
const data = (await apiRequest(
|
|
125
|
+
const data = (await apiRequest(ctx, "GET", endpoint, undefined, qs));
|
|
144
126
|
return data.list;
|
|
145
127
|
}
|
|
146
|
-
return paginate(
|
|
128
|
+
return paginate(ctx, endpoint, qs);
|
|
147
129
|
},
|
|
148
130
|
});
|
|
149
131
|
rl.registerAction("row.update", {
|
|
@@ -159,7 +141,7 @@ export default function nocodb(rl) {
|
|
|
159
141
|
},
|
|
160
142
|
async execute(input, ctx) {
|
|
161
143
|
const { tableId, rows } = input;
|
|
162
|
-
return apiRequest(
|
|
144
|
+
return apiRequest(ctx, "PATCH", `tables/${pathSegment(tableId)}/records`, rows);
|
|
163
145
|
},
|
|
164
146
|
});
|
|
165
147
|
rl.registerAction("row.delete", {
|
|
@@ -175,7 +157,7 @@ export default function nocodb(rl) {
|
|
|
175
157
|
},
|
|
176
158
|
async execute(input, ctx) {
|
|
177
159
|
const { tableId, ids } = input;
|
|
178
|
-
return apiRequest(
|
|
160
|
+
return apiRequest(ctx, "DELETE", `tables/${pathSegment(tableId)}/records`, ids);
|
|
179
161
|
},
|
|
180
162
|
});
|
|
181
163
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
export const NOTION_VERSION = "2021-08-16";
|
|
3
|
+
/** An integration token, sent as a bearer to Notion's one API origin. */
|
|
4
|
+
export const notionCredential = staticCredential({
|
|
5
|
+
id: "notion",
|
|
6
|
+
auth: { kind: "bearer" },
|
|
7
|
+
local: { secret: "apiKey" },
|
|
8
|
+
targets: {
|
|
9
|
+
api: {
|
|
10
|
+
baseUrl: "https://api.notion.com/v1/",
|
|
11
|
+
methods: ["GET", "POST", "PATCH", "DELETE"],
|
|
12
|
+
allowedHeaders: ["Notion-Version"],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
probe: {
|
|
16
|
+
target: "api",
|
|
17
|
+
path: "users/me",
|
|
18
|
+
method: "GET",
|
|
19
|
+
acceptedStatuses: [200],
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -1,31 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
if (v !== undefined && v !== null)
|
|
8
|
-
url.searchParams.set(k, String(v));
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
const init = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { NOTION_VERSION, notionCredential } from "./credentials.js";
|
|
3
|
+
function api(ctx, method, path, body, query) {
|
|
4
|
+
return credentialJson(ctx, notionCredential, "notion", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
12
7
|
method,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
if (body && Object.keys(body).length > 0)
|
|
20
|
-
init.body = JSON.stringify(body);
|
|
21
|
-
const res = await fetch(url.toString(), init);
|
|
22
|
-
if (!res.ok)
|
|
23
|
-
throw new Error(`Notion error ${res.status}: ${await res.text()}`);
|
|
24
|
-
return res.json();
|
|
8
|
+
query,
|
|
9
|
+
headers: { "Notion-Version": NOTION_VERSION },
|
|
10
|
+
...(body && Object.keys(body).length > 0 ? { json: body } : {}),
|
|
11
|
+
});
|
|
25
12
|
}
|
|
26
13
|
export default function notion(rl) {
|
|
27
14
|
rl.setName("notion");
|
|
28
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(notionCredential);
|
|
29
17
|
rl.setConnectionSchema({
|
|
30
18
|
apiKey: {
|
|
31
19
|
type: "string",
|
|
@@ -34,7 +22,6 @@ export default function notion(rl) {
|
|
|
34
22
|
env: "NOTION_API_KEY",
|
|
35
23
|
},
|
|
36
24
|
});
|
|
37
|
-
const t = (ctx) => ctx.connection.config.apiKey;
|
|
38
25
|
// ── Block ───────────────────────────────────────────
|
|
39
26
|
rl.registerAction("block.append", {
|
|
40
27
|
access: "write",
|
|
@@ -49,7 +36,7 @@ export default function notion(rl) {
|
|
|
49
36
|
},
|
|
50
37
|
async execute(input, ctx) {
|
|
51
38
|
const p = input;
|
|
52
|
-
return api(
|
|
39
|
+
return api(ctx, "PATCH", `blocks/${pathSegment(p.blockId)}/children`, {
|
|
53
40
|
children: p.children,
|
|
54
41
|
});
|
|
55
42
|
},
|
|
@@ -66,7 +53,7 @@ export default function notion(rl) {
|
|
|
66
53
|
const qs = {};
|
|
67
54
|
if (p.limit)
|
|
68
55
|
qs.page_size = p.limit;
|
|
69
|
-
const data = (await api(
|
|
56
|
+
const data = (await api(ctx, "GET", `blocks/${pathSegment(p.blockId)}/children`, undefined, qs));
|
|
70
57
|
return data.results;
|
|
71
58
|
},
|
|
72
59
|
});
|
|
@@ -75,7 +62,7 @@ export default function notion(rl) {
|
|
|
75
62
|
description: "Delete (archive) a block",
|
|
76
63
|
inputSchema: { blockId: { type: "string", required: true } },
|
|
77
64
|
async execute(input, ctx) {
|
|
78
|
-
return api(
|
|
65
|
+
return api(ctx, "DELETE", `blocks/${pathSegment(input.blockId)}`);
|
|
79
66
|
},
|
|
80
67
|
});
|
|
81
68
|
// ── Database ────────────────────────────────────────
|
|
@@ -84,7 +71,7 @@ export default function notion(rl) {
|
|
|
84
71
|
description: "Get a database",
|
|
85
72
|
inputSchema: { databaseId: { type: "string", required: true } },
|
|
86
73
|
async execute(input, ctx) {
|
|
87
|
-
return api(
|
|
74
|
+
return api(ctx, "GET", `databases/${pathSegment(input.databaseId)}`);
|
|
88
75
|
},
|
|
89
76
|
});
|
|
90
77
|
rl.registerAction("database.list", {
|
|
@@ -97,7 +84,7 @@ export default function notion(rl) {
|
|
|
97
84
|
};
|
|
98
85
|
if (input?.limit)
|
|
99
86
|
body.page_size = input.limit;
|
|
100
|
-
const data = (await api(
|
|
87
|
+
const data = (await api(ctx, "POST", "search", body));
|
|
101
88
|
return data.results;
|
|
102
89
|
},
|
|
103
90
|
});
|
|
@@ -127,7 +114,7 @@ export default function notion(rl) {
|
|
|
127
114
|
body.sorts = p.sorts;
|
|
128
115
|
if (p.limit)
|
|
129
116
|
body.page_size = p.limit;
|
|
130
|
-
const data = (await api(
|
|
117
|
+
const data = (await api(ctx, "POST", `databases/${pathSegment(p.databaseId)}/query`, body));
|
|
131
118
|
return data.results;
|
|
132
119
|
},
|
|
133
120
|
});
|
|
@@ -154,7 +141,7 @@ export default function notion(rl) {
|
|
|
154
141
|
icon: { type: "object", required: false },
|
|
155
142
|
},
|
|
156
143
|
async execute(input, ctx) {
|
|
157
|
-
return api(
|
|
144
|
+
return api(ctx, "POST", "pages", input);
|
|
158
145
|
},
|
|
159
146
|
});
|
|
160
147
|
rl.registerAction("page.get", {
|
|
@@ -162,7 +149,7 @@ export default function notion(rl) {
|
|
|
162
149
|
description: "Get a page",
|
|
163
150
|
inputSchema: { pageId: { type: "string", required: true } },
|
|
164
151
|
async execute(input, ctx) {
|
|
165
|
-
return api(
|
|
152
|
+
return api(ctx, "GET", `pages/${pathSegment(input.pageId)}`);
|
|
166
153
|
},
|
|
167
154
|
});
|
|
168
155
|
rl.registerAction("page.update", {
|
|
@@ -176,7 +163,7 @@ export default function notion(rl) {
|
|
|
176
163
|
},
|
|
177
164
|
async execute(input, ctx) {
|
|
178
165
|
const { pageId, ...body } = input;
|
|
179
|
-
return api(
|
|
166
|
+
return api(ctx, "PATCH", `pages/${pathSegment(pageId)}`, body);
|
|
180
167
|
},
|
|
181
168
|
});
|
|
182
169
|
rl.registerAction("page.archive", {
|
|
@@ -184,7 +171,7 @@ export default function notion(rl) {
|
|
|
184
171
|
description: "Archive a page",
|
|
185
172
|
inputSchema: { pageId: { type: "string", required: true } },
|
|
186
173
|
async execute(input, ctx) {
|
|
187
|
-
return api(
|
|
174
|
+
return api(ctx, "PATCH", `pages/${pathSegment(input.pageId)}`, { archived: true });
|
|
188
175
|
},
|
|
189
176
|
});
|
|
190
177
|
rl.registerAction("page.search", {
|
|
@@ -201,7 +188,7 @@ export default function notion(rl) {
|
|
|
201
188
|
body.query = p.query;
|
|
202
189
|
if (p.limit)
|
|
203
190
|
body.page_size = p.limit;
|
|
204
|
-
const data = (await api(
|
|
191
|
+
const data = (await api(ctx, "POST", "search", body));
|
|
205
192
|
return data.results;
|
|
206
193
|
},
|
|
207
194
|
});
|
|
@@ -211,7 +198,7 @@ export default function notion(rl) {
|
|
|
211
198
|
description: "Get a user",
|
|
212
199
|
inputSchema: { userId: { type: "string", required: true } },
|
|
213
200
|
async execute(input, ctx) {
|
|
214
|
-
return api(
|
|
201
|
+
return api(ctx, "GET", `users/${pathSegment(input.userId)}`);
|
|
215
202
|
},
|
|
216
203
|
});
|
|
217
204
|
rl.registerAction("user.list", {
|
|
@@ -222,7 +209,7 @@ export default function notion(rl) {
|
|
|
222
209
|
const qs = {};
|
|
223
210
|
if (input?.limit)
|
|
224
211
|
qs.page_size = input.limit;
|
|
225
|
-
const data = (await api(
|
|
212
|
+
const data = (await api(ctx, "GET", "users", undefined, qs));
|
|
226
213
|
return data.results;
|
|
227
214
|
},
|
|
228
215
|
});
|
|
@@ -231,7 +218,7 @@ export default function notion(rl) {
|
|
|
231
218
|
description: "Get the bot user",
|
|
232
219
|
inputSchema: {},
|
|
233
220
|
async execute(_input, ctx) {
|
|
234
|
-
return api(
|
|
221
|
+
return api(ctx, "GET", "users/me");
|
|
235
222
|
},
|
|
236
223
|
});
|
|
237
224
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An optional access token, sent as a bearer to the registry; without one,
|
|
4
|
+
* public reads go unsigned. The registry URL is public config and must be
|
|
5
|
+
* HTTPS. A scoped package name travels as one encoded segment.
|
|
6
|
+
*/
|
|
7
|
+
export const npmCredential = staticCredential({
|
|
8
|
+
id: "npm",
|
|
9
|
+
auth: { kind: "bearer" },
|
|
10
|
+
local: { secret: "token" },
|
|
11
|
+
optional: true,
|
|
12
|
+
targets: (config) => ({
|
|
13
|
+
registry: {
|
|
14
|
+
baseUrl: httpsBase(config.registryUrl ?? "https://registry.npmjs.org", ""),
|
|
15
|
+
methods: ["GET", "PUT"],
|
|
16
|
+
encodedSlashes: true,
|
|
17
|
+
},
|
|
18
|
+
}),
|
|
19
|
+
});
|