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,24 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { mediumCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, endpoint, body) {
|
|
4
|
+
return credentialJson(ctx, mediumCredential, "medium", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint,
|
|
4
7
|
method,
|
|
5
|
-
headers: {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
if (body && Object.keys(body).length > 0 && method !== "GET")
|
|
13
|
-
opts.body = JSON.stringify(body);
|
|
14
|
-
const res = await fetch(`${BASE_URL}${endpoint}`, opts);
|
|
15
|
-
if (!res.ok)
|
|
16
|
-
throw new Error(`Medium API error ${res.status}: ${await res.text()}`);
|
|
17
|
-
return res.json();
|
|
8
|
+
headers: { "Accept-Charset": "utf-8" },
|
|
9
|
+
...(body && Object.keys(body).length > 0 && method !== "GET"
|
|
10
|
+
? { json: body }
|
|
11
|
+
: {}),
|
|
12
|
+
});
|
|
18
13
|
}
|
|
19
14
|
export default function medium(rl) {
|
|
20
15
|
rl.setName("medium");
|
|
21
16
|
rl.setVersion("0.1.0");
|
|
17
|
+
rl.setCredential(mediumCredential);
|
|
22
18
|
rl.setConnectionSchema({
|
|
23
19
|
accessToken: {
|
|
24
20
|
type: "string",
|
|
@@ -27,7 +23,6 @@ export default function medium(rl) {
|
|
|
27
23
|
env: "MEDIUM_ACCESS_TOKEN",
|
|
28
24
|
},
|
|
29
25
|
});
|
|
30
|
-
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
31
26
|
rl.registerAction("post.create", {
|
|
32
27
|
access: "write",
|
|
33
28
|
description: "Create a post on Medium. Posts under the authenticated user by default, or under a publication if publicationId is provided.",
|
|
@@ -95,13 +90,13 @@ export default function medium(rl) {
|
|
|
95
90
|
if (notifyFollowers !== undefined)
|
|
96
91
|
body.notifyFollowers = notifyFollowers;
|
|
97
92
|
if (publicationId) {
|
|
98
|
-
const resp = (await apiRequest(
|
|
93
|
+
const resp = (await apiRequest(ctx, "POST", `publications/${pathSegment(publicationId)}/posts`, body));
|
|
99
94
|
return resp.data;
|
|
100
95
|
}
|
|
101
96
|
// Get authenticated user ID first
|
|
102
|
-
const me = (await apiRequest(
|
|
97
|
+
const me = (await apiRequest(ctx, "GET", "me"));
|
|
103
98
|
const authorId = me.data.id;
|
|
104
|
-
const resp = (await apiRequest(
|
|
99
|
+
const resp = (await apiRequest(ctx, "POST", `users/${pathSegment(authorId)}/posts`, body));
|
|
105
100
|
return resp.data;
|
|
106
101
|
},
|
|
107
102
|
});
|
|
@@ -111,9 +106,9 @@ export default function medium(rl) {
|
|
|
111
106
|
inputSchema: { limit: { type: "number", required: false } },
|
|
112
107
|
async execute(input, ctx) {
|
|
113
108
|
const { limit } = (input ?? {});
|
|
114
|
-
const me = (await apiRequest(
|
|
109
|
+
const me = (await apiRequest(ctx, "GET", "me"));
|
|
115
110
|
const userId = me.data.id;
|
|
116
|
-
const resp = (await apiRequest(
|
|
111
|
+
const resp = (await apiRequest(ctx, "GET", `users/${pathSegment(userId)}/publications`));
|
|
117
112
|
let data = resp.data;
|
|
118
113
|
if (limit)
|
|
119
114
|
data = data.slice(0, limit);
|
|
@@ -124,7 +119,7 @@ export default function medium(rl) {
|
|
|
124
119
|
access: "read",
|
|
125
120
|
description: "Get the authenticated user's profile",
|
|
126
121
|
async execute(_input, ctx) {
|
|
127
|
-
const resp = (await apiRequest(
|
|
122
|
+
const resp = (await apiRequest(ctx, "GET", "me"));
|
|
128
123
|
return resp.data;
|
|
129
124
|
},
|
|
130
125
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An access key, sent as `Authorization: AccessKey {key}` to
|
|
4
|
+
* MessageBird's REST origin.
|
|
5
|
+
*/
|
|
6
|
+
export const messagebirdCredential = staticCredential({
|
|
7
|
+
id: "messagebird",
|
|
8
|
+
auth: { kind: "apiKey", header: "Authorization", prefix: "AccessKey " },
|
|
9
|
+
local: { secret: "accessKey" },
|
|
10
|
+
targets: {
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: "https://rest.messagebird.com/",
|
|
13
|
+
methods: ["GET", "POST"],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
probe: {
|
|
17
|
+
target: "api",
|
|
18
|
+
path: "balance",
|
|
19
|
+
method: "GET",
|
|
20
|
+
acceptedStatuses: [200],
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { credentialJson } from "../../_shared/credentials.js";
|
|
2
|
+
import { messagebirdCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body) {
|
|
4
|
+
return credentialJson(ctx, messagebirdCredential, "messagebird", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
4
7
|
method,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
if (body && Object.keys(body).length > 0 && method !== "GET")
|
|
12
|
-
opts.body = JSON.stringify(body);
|
|
13
|
-
const res = await fetch(`${BASE_URL}${endpoint}`, opts);
|
|
14
|
-
if (!res.ok)
|
|
15
|
-
throw new Error(`MessageBird API error ${res.status}: ${await res.text()}`);
|
|
16
|
-
return res.json();
|
|
8
|
+
...(body && Object.keys(body).length > 0 && method !== "GET"
|
|
9
|
+
? { json: body }
|
|
10
|
+
: {}),
|
|
11
|
+
});
|
|
17
12
|
}
|
|
18
13
|
export default function messagebird(rl) {
|
|
19
14
|
rl.setName("messagebird");
|
|
20
15
|
rl.setVersion("0.1.0");
|
|
16
|
+
rl.setCredential(messagebirdCredential);
|
|
21
17
|
rl.setConnectionSchema({
|
|
22
18
|
accessKey: {
|
|
23
19
|
type: "string",
|
|
@@ -26,7 +22,6 @@ export default function messagebird(rl) {
|
|
|
26
22
|
env: "MESSAGEBIRD_ACCESS_KEY",
|
|
27
23
|
},
|
|
28
24
|
});
|
|
29
|
-
const key = (ctx) => ctx.connection.config.accessKey;
|
|
30
25
|
rl.registerAction("sms.send", {
|
|
31
26
|
access: "write",
|
|
32
27
|
description: "Send an SMS message",
|
|
@@ -111,14 +106,14 @@ export default function messagebird(rl) {
|
|
|
111
106
|
if (p[k] !== undefined && p[k] !== null)
|
|
112
107
|
body[k] = p[k];
|
|
113
108
|
}
|
|
114
|
-
return apiRequest(
|
|
109
|
+
return apiRequest(ctx, "POST", "messages", body);
|
|
115
110
|
},
|
|
116
111
|
});
|
|
117
112
|
rl.registerAction("balance.get", {
|
|
118
113
|
access: "read",
|
|
119
114
|
description: "Get current account balance",
|
|
120
115
|
async execute(_input, ctx) {
|
|
121
|
-
return apiRequest(
|
|
116
|
+
return apiRequest(ctx, "GET", "balance");
|
|
122
117
|
},
|
|
123
118
|
});
|
|
124
119
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/** A session token, sent as X-Metabase-Session, to the instance's own /api/. */
|
|
3
|
+
export const metabaseCredential = staticCredential({
|
|
4
|
+
id: "metabase",
|
|
5
|
+
auth: { kind: "apiKey", header: "X-Metabase-Session" },
|
|
6
|
+
local: { secret: "sessionToken" },
|
|
7
|
+
targets: (config) => ({
|
|
8
|
+
api: {
|
|
9
|
+
baseUrl: httpsBase(config.url, "api/"),
|
|
10
|
+
methods: ["GET", "POST"],
|
|
11
|
+
},
|
|
12
|
+
}),
|
|
13
|
+
probe: {
|
|
14
|
+
target: "api",
|
|
15
|
+
path: "user/current",
|
|
16
|
+
method: "GET",
|
|
17
|
+
acceptedStatuses: [200],
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { metabaseCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, endpoint, body) {
|
|
4
|
+
return credentialJson(ctx, metabaseCredential, "metabase", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint,
|
|
3
7
|
method,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
method !== "GET" &&
|
|
12
|
-
method !== "DELETE")
|
|
13
|
-
opts.body = JSON.stringify(body);
|
|
14
|
-
const res = await fetch(`${baseUrl}${endpoint}`, opts);
|
|
15
|
-
if (!res.ok)
|
|
16
|
-
throw new Error(`Metabase API error ${res.status}: ${await res.text()}`);
|
|
17
|
-
return res.json();
|
|
8
|
+
...(body &&
|
|
9
|
+
Object.keys(body).length > 0 &&
|
|
10
|
+
method !== "GET" &&
|
|
11
|
+
method !== "DELETE"
|
|
12
|
+
? { json: body }
|
|
13
|
+
: {}),
|
|
14
|
+
});
|
|
18
15
|
}
|
|
19
16
|
export default function metabase(rl) {
|
|
20
17
|
rl.setName("metabase");
|
|
21
18
|
rl.setVersion("0.1.0");
|
|
19
|
+
rl.setCredential(metabaseCredential);
|
|
22
20
|
rl.setConnectionSchema({
|
|
23
21
|
url: {
|
|
24
22
|
type: "string",
|
|
@@ -33,26 +31,20 @@ export default function metabase(rl) {
|
|
|
33
31
|
env: "METABASE_SESSION_TOKEN",
|
|
34
32
|
},
|
|
35
33
|
});
|
|
36
|
-
const conn = (ctx) => ({
|
|
37
|
-
baseUrl: ctx.connection.config.url.replace(/\/$/, ""),
|
|
38
|
-
token: ctx.connection.config.sessionToken,
|
|
39
|
-
});
|
|
40
34
|
// ── Question (Card) ─────────────────────────────────
|
|
41
35
|
rl.registerAction("question.get", {
|
|
42
36
|
access: "read",
|
|
43
37
|
description: "Get a specific question/card",
|
|
44
38
|
inputSchema: { questionId: { type: "number", required: true } },
|
|
45
39
|
async execute(input, ctx) {
|
|
46
|
-
|
|
47
|
-
return apiRequest(baseUrl, token, "GET", `/api/card/${input.questionId}`);
|
|
40
|
+
return apiRequest(ctx, "GET", `card/${pathSegment(input.questionId)}`);
|
|
48
41
|
},
|
|
49
42
|
});
|
|
50
43
|
rl.registerAction("question.list", {
|
|
51
44
|
access: "read",
|
|
52
45
|
description: "List all questions/cards",
|
|
53
46
|
async execute(_input, ctx) {
|
|
54
|
-
|
|
55
|
-
return apiRequest(baseUrl, token, "GET", "/api/card/");
|
|
47
|
+
return apiRequest(ctx, "GET", "card/");
|
|
56
48
|
},
|
|
57
49
|
});
|
|
58
50
|
rl.registerAction("question.getResults", {
|
|
@@ -68,8 +60,7 @@ export default function metabase(rl) {
|
|
|
68
60
|
},
|
|
69
61
|
async execute(input, ctx) {
|
|
70
62
|
const { questionId, format = "json" } = input;
|
|
71
|
-
|
|
72
|
-
return apiRequest(baseUrl, token, "POST", `/api/card/${questionId}/query/${format}`);
|
|
63
|
+
return apiRequest(ctx, "POST", `card/${pathSegment(questionId)}/query/${pathSegment(format)}`);
|
|
73
64
|
},
|
|
74
65
|
});
|
|
75
66
|
// ── Alert ───────────────────────────────────────────
|
|
@@ -78,16 +69,14 @@ export default function metabase(rl) {
|
|
|
78
69
|
description: "Get a specific alert",
|
|
79
70
|
inputSchema: { alertId: { type: "number", required: true } },
|
|
80
71
|
async execute(input, ctx) {
|
|
81
|
-
|
|
82
|
-
return apiRequest(baseUrl, token, "GET", `/api/alert/${input.alertId}`);
|
|
72
|
+
return apiRequest(ctx, "GET", `alert/${pathSegment(input.alertId)}`);
|
|
83
73
|
},
|
|
84
74
|
});
|
|
85
75
|
rl.registerAction("alert.list", {
|
|
86
76
|
access: "read",
|
|
87
77
|
description: "List all alerts",
|
|
88
78
|
async execute(_input, ctx) {
|
|
89
|
-
|
|
90
|
-
return apiRequest(baseUrl, token, "GET", "/api/alert/");
|
|
79
|
+
return apiRequest(ctx, "GET", "alert/");
|
|
91
80
|
},
|
|
92
81
|
});
|
|
93
82
|
// ── Database ────────────────────────────────────────
|
|
@@ -95,8 +84,7 @@ export default function metabase(rl) {
|
|
|
95
84
|
access: "read",
|
|
96
85
|
description: "List all databases",
|
|
97
86
|
async execute(_input, ctx) {
|
|
98
|
-
const
|
|
99
|
-
const data = (await apiRequest(baseUrl, token, "GET", "/api/database/"));
|
|
87
|
+
const data = (await apiRequest(ctx, "GET", "database/"));
|
|
100
88
|
return data.data;
|
|
101
89
|
},
|
|
102
90
|
});
|
|
@@ -105,8 +93,7 @@ export default function metabase(rl) {
|
|
|
105
93
|
description: "Get fields from a database",
|
|
106
94
|
inputSchema: { databaseId: { type: "number", required: true } },
|
|
107
95
|
async execute(input, ctx) {
|
|
108
|
-
|
|
109
|
-
return apiRequest(baseUrl, token, "GET", `/api/database/${input.databaseId}/fields`);
|
|
96
|
+
return apiRequest(ctx, "GET", `database/${pathSegment(input.databaseId)}/fields`);
|
|
110
97
|
},
|
|
111
98
|
});
|
|
112
99
|
rl.registerAction("database.add", {
|
|
@@ -144,7 +131,6 @@ export default function metabase(rl) {
|
|
|
144
131
|
},
|
|
145
132
|
async execute(input, ctx) {
|
|
146
133
|
const { name, engine, host, port, user, password, dbName, isFullSync = true, } = input;
|
|
147
|
-
const { baseUrl, token } = conn(ctx);
|
|
148
134
|
const details = {};
|
|
149
135
|
if (host)
|
|
150
136
|
details.host = host;
|
|
@@ -156,7 +142,7 @@ export default function metabase(rl) {
|
|
|
156
142
|
details.password = password;
|
|
157
143
|
if (dbName)
|
|
158
144
|
details.db = dbName;
|
|
159
|
-
return apiRequest(
|
|
145
|
+
return apiRequest(ctx, "POST", "database", {
|
|
160
146
|
name,
|
|
161
147
|
engine,
|
|
162
148
|
details,
|
|
@@ -170,16 +156,14 @@ export default function metabase(rl) {
|
|
|
170
156
|
description: "Get a specific metric",
|
|
171
157
|
inputSchema: { metricId: { type: "number", required: true } },
|
|
172
158
|
async execute(input, ctx) {
|
|
173
|
-
|
|
174
|
-
return apiRequest(baseUrl, token, "GET", `/api/metric/${input.metricId}`);
|
|
159
|
+
return apiRequest(ctx, "GET", `metric/${pathSegment(input.metricId)}`);
|
|
175
160
|
},
|
|
176
161
|
});
|
|
177
162
|
rl.registerAction("metric.list", {
|
|
178
163
|
access: "read",
|
|
179
164
|
description: "List all metrics",
|
|
180
165
|
async execute(_input, ctx) {
|
|
181
|
-
|
|
182
|
-
return apiRequest(baseUrl, token, "GET", "/api/metric/");
|
|
166
|
+
return apiRequest(ctx, "GET", "metric/");
|
|
183
167
|
},
|
|
184
168
|
});
|
|
185
169
|
}
|
|
@@ -1,36 +1,66 @@
|
|
|
1
|
-
import { graphRequest,
|
|
1
|
+
import { graphRequest, microsoftCredential, microsoftOAuth, userBase, } from "../../_shared/microsoftAuth.js";
|
|
2
2
|
const NAME = "microsoftCalendar";
|
|
3
3
|
const SCOPES = ["https://graph.microsoft.com/Calendars.Read"];
|
|
4
4
|
export default function microsoftCalendar(rl) {
|
|
5
5
|
rl.setName(NAME);
|
|
6
6
|
rl.setVersion("1.0.0");
|
|
7
|
+
rl.setCredential(microsoftCredential(NAME, SCOPES));
|
|
7
8
|
rl.setConnectionSchema({
|
|
8
|
-
authMethod: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
authMethod: {
|
|
10
|
+
type: "string",
|
|
11
|
+
required: false,
|
|
12
|
+
description: "delegated or appOnly; legacy configs infer the method from existing credentials",
|
|
13
|
+
},
|
|
14
|
+
tenantId: {
|
|
15
|
+
type: "string",
|
|
16
|
+
required: false,
|
|
17
|
+
env: "MS_GRAPH_TENANT_ID",
|
|
18
|
+
description: "Entra tenant id (app-only) or omit for OAuth /common",
|
|
19
|
+
},
|
|
20
|
+
clientId: {
|
|
21
|
+
type: "string",
|
|
22
|
+
required: false,
|
|
23
|
+
env: "MS_GRAPH_CLIENT_ID",
|
|
24
|
+
description: "App (client) id",
|
|
25
|
+
},
|
|
26
|
+
clientSecret: {
|
|
27
|
+
type: "string",
|
|
28
|
+
required: false,
|
|
29
|
+
env: "MS_GRAPH_CLIENT_SECRET",
|
|
30
|
+
description: "Client secret VALUE",
|
|
31
|
+
},
|
|
32
|
+
refreshToken: {
|
|
33
|
+
type: "string",
|
|
34
|
+
required: false,
|
|
35
|
+
env: "MICROSOFTCALENDAR_REFRESH_TOKEN",
|
|
36
|
+
description: "OAuth2 refresh token (set by the login flow)",
|
|
37
|
+
},
|
|
38
|
+
userUpn: {
|
|
39
|
+
type: "string",
|
|
40
|
+
required: false,
|
|
41
|
+
env: "MS_GRAPH_USER_UPN",
|
|
42
|
+
description: "App-only only: target user UPN",
|
|
43
|
+
},
|
|
20
44
|
});
|
|
45
|
+
rl.setOAuth(microsoftOAuth(SCOPES, "Calendars.Read"));
|
|
21
46
|
rl.registerAction("calendar.list", {
|
|
22
47
|
access: "read",
|
|
23
48
|
description: "List calendar events in a date range. Returns [{id,subject,start,end,location,organizer,attendees}].",
|
|
24
49
|
inputSchema: {
|
|
25
|
-
start: {
|
|
50
|
+
start: {
|
|
51
|
+
type: "string",
|
|
52
|
+
required: true,
|
|
53
|
+
description: "ISO start datetime, e.g. 2026-05-01T00:00:00Z",
|
|
54
|
+
},
|
|
26
55
|
end: { type: "string", required: true, description: "ISO end datetime" },
|
|
27
56
|
top: { type: "number", required: false, default: 50 },
|
|
28
57
|
},
|
|
29
58
|
async execute(input, ctx) {
|
|
59
|
+
const p = input;
|
|
30
60
|
const qs = new URLSearchParams({
|
|
31
|
-
startDateTime:
|
|
32
|
-
endDateTime:
|
|
33
|
-
$top: String(
|
|
61
|
+
startDateTime: p.start,
|
|
62
|
+
endDateTime: p.end,
|
|
63
|
+
$top: String(p.top ?? 50),
|
|
34
64
|
$select: "id,subject,start,end,location,organizer,attendees,isAllDay,webLink",
|
|
35
65
|
$orderby: "start/dateTime",
|
|
36
66
|
});
|
|
@@ -43,7 +73,8 @@ export default function microsoftCalendar(rl) {
|
|
|
43
73
|
description: "Get one calendar event by id (full details incl. body).",
|
|
44
74
|
inputSchema: { id: { type: "string", required: true } },
|
|
45
75
|
async execute(input, ctx) {
|
|
46
|
-
|
|
76
|
+
const p = input;
|
|
77
|
+
return graphRequest(ctx, NAME, SCOPES, "GET", `${userBase(ctx)}/events/${encodeURIComponent(p.id)}`);
|
|
47
78
|
},
|
|
48
79
|
});
|
|
49
80
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { standardBase64 } from "../../_shared/base64.js";
|
|
2
|
+
import { jsonAnswer, pathSegment, pathSegments, requestFailed, } from "../../_shared/credentials.js";
|
|
3
|
+
import { graphRequest, graphResponse, microsoftCredential, microsoftDownload, microsoftDriveBase, microsoftOAuth, } from "../../_shared/microsoftAuth.js";
|
|
2
4
|
const NAME = "microsoftFiles";
|
|
3
5
|
const SCOPES = [
|
|
4
6
|
"https://graph.microsoft.com/Files.ReadWrite.All",
|
|
@@ -14,22 +16,57 @@ async function binaryFetch(ctx, method, path, body) {
|
|
|
14
16
|
export default function microsoftFiles(rl) {
|
|
15
17
|
rl.setName(NAME);
|
|
16
18
|
rl.setVersion("1.0.0");
|
|
19
|
+
rl.setCredential(microsoftCredential(NAME, SCOPES));
|
|
17
20
|
rl.setConnectionSchema({
|
|
18
|
-
authMethod: {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
authMethod: {
|
|
22
|
+
type: "string",
|
|
23
|
+
required: false,
|
|
24
|
+
description: "delegated or appOnly; legacy configs infer the method from existing credentials",
|
|
25
|
+
},
|
|
26
|
+
tenantId: {
|
|
27
|
+
type: "string",
|
|
28
|
+
required: false,
|
|
29
|
+
env: "MS_GRAPH_TENANT_ID",
|
|
30
|
+
description: "Entra tenant id (app-only) or omit for OAuth /common",
|
|
31
|
+
},
|
|
32
|
+
clientId: {
|
|
33
|
+
type: "string",
|
|
34
|
+
required: false,
|
|
35
|
+
env: "MS_GRAPH_CLIENT_ID",
|
|
36
|
+
description: "App (client) id",
|
|
37
|
+
},
|
|
38
|
+
clientSecret: {
|
|
39
|
+
type: "string",
|
|
40
|
+
required: false,
|
|
41
|
+
env: "MS_GRAPH_CLIENT_SECRET",
|
|
42
|
+
description: "Client secret VALUE",
|
|
43
|
+
},
|
|
44
|
+
refreshToken: {
|
|
45
|
+
type: "string",
|
|
46
|
+
required: false,
|
|
47
|
+
env: "MICROSOFTFILES_REFRESH_TOKEN",
|
|
48
|
+
description: "OAuth2 refresh token (set by the login flow)",
|
|
49
|
+
},
|
|
50
|
+
userUpn: {
|
|
51
|
+
type: "string",
|
|
52
|
+
required: false,
|
|
53
|
+
env: "MS_GRAPH_USER_UPN",
|
|
54
|
+
description: "App-only only: target user UPN (their OneDrive)",
|
|
55
|
+
},
|
|
56
|
+
siteId: {
|
|
57
|
+
type: "string",
|
|
58
|
+
required: false,
|
|
59
|
+
env: "MS_SHAREPOINT_SITE_ID",
|
|
60
|
+
description: "Optional SharePoint site id (use its default drive)",
|
|
61
|
+
},
|
|
62
|
+
driveId: {
|
|
63
|
+
type: "string",
|
|
64
|
+
required: false,
|
|
65
|
+
env: "MS_GRAPH_DRIVE_ID",
|
|
66
|
+
description: "Optional explicit drive id (overrides site/user)",
|
|
67
|
+
},
|
|
32
68
|
});
|
|
69
|
+
rl.setOAuth(microsoftOAuth(SCOPES, "Files.ReadWrite.All, Sites.ReadWrite.All"));
|
|
33
70
|
rl.registerAction("files.search", {
|
|
34
71
|
access: "read",
|
|
35
72
|
description: "Search the drive for files/folders by text. Returns [{id,name,size,lastModifiedDateTime,webUrl,folder?}].",
|
|
@@ -38,9 +75,10 @@ export default function microsoftFiles(rl) {
|
|
|
38
75
|
top: { type: "number", required: false, default: 25 },
|
|
39
76
|
},
|
|
40
77
|
async execute(input, ctx) {
|
|
41
|
-
const
|
|
78
|
+
const p = input;
|
|
79
|
+
const q = encodeURIComponent(String(p.query).replace(/'/g, "''"));
|
|
42
80
|
const qs = new URLSearchParams({
|
|
43
|
-
$top: String(
|
|
81
|
+
$top: String(p.top ?? 25),
|
|
44
82
|
$select: "id,name,size,lastModifiedDateTime,webUrl,folder,file",
|
|
45
83
|
});
|
|
46
84
|
const r = await graphRequest(ctx, NAME, SCOPES, "GET", `${driveBase(ctx)}/root/search(q='${q}')?${qs}`);
|
|
@@ -51,13 +89,20 @@ export default function microsoftFiles(rl) {
|
|
|
51
89
|
access: "read",
|
|
52
90
|
description: "List children of a folder (default the drive root, or pass folderId).",
|
|
53
91
|
inputSchema: {
|
|
54
|
-
folderId: {
|
|
92
|
+
folderId: {
|
|
93
|
+
type: "string",
|
|
94
|
+
required: false,
|
|
95
|
+
description: "Folder item id; omit for root",
|
|
96
|
+
},
|
|
55
97
|
top: { type: "number", required: false, default: 100 },
|
|
56
98
|
},
|
|
57
99
|
async execute(input, ctx) {
|
|
58
|
-
const
|
|
100
|
+
const p = input;
|
|
101
|
+
const where = p.folderId
|
|
102
|
+
? `/items/${pathSegment(p.folderId)}/children`
|
|
103
|
+
: "/root/children";
|
|
59
104
|
const qs = new URLSearchParams({
|
|
60
|
-
$top: String(
|
|
105
|
+
$top: String(p.top ?? 100),
|
|
61
106
|
$select: "id,name,size,lastModifiedDateTime,webUrl,folder,file",
|
|
62
107
|
});
|
|
63
108
|
const r = await graphRequest(ctx, NAME, SCOPES, "GET", `${driveBase(ctx)}${where}?${qs}`);
|
|
@@ -69,7 +114,8 @@ export default function microsoftFiles(rl) {
|
|
|
69
114
|
description: "Download a file by id. Returns {id,name,size,contentType,base64}. base64 is the file bytes.",
|
|
70
115
|
inputSchema: { id: { type: "string", required: true } },
|
|
71
116
|
async execute(input, ctx) {
|
|
72
|
-
const
|
|
117
|
+
const p = input;
|
|
118
|
+
const meta = await graphRequest(ctx, NAME, SCOPES, "GET", `${driveBase(ctx)}/items/${pathSegment(p.id)}`);
|
|
73
119
|
const res = await microsoftDownload(meta["@microsoft.graph.downloadUrl"]);
|
|
74
120
|
if (!res.ok)
|
|
75
121
|
throw new Error(`${NAME}: download failed (HTTP ${res.status})`);
|
|
@@ -87,16 +133,27 @@ export default function microsoftFiles(rl) {
|
|
|
87
133
|
access: "write",
|
|
88
134
|
description: "Upload a file (base64) to a path in the drive, e.g. a dedicated output folder. Returns the created item. For files up to ~4MB.",
|
|
89
135
|
inputSchema: {
|
|
90
|
-
path: {
|
|
91
|
-
|
|
136
|
+
path: {
|
|
137
|
+
type: "string",
|
|
138
|
+
required: true,
|
|
139
|
+
description: "Drive-relative path incl. filename, e.g. 'Agent Output/report.docx'",
|
|
140
|
+
},
|
|
141
|
+
base64: {
|
|
142
|
+
type: "string",
|
|
143
|
+
required: true,
|
|
144
|
+
description: "File content, base64-encoded",
|
|
145
|
+
},
|
|
92
146
|
},
|
|
93
147
|
async execute(input, ctx) {
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
|
|
148
|
+
const { path, base64 } = input;
|
|
149
|
+
const content = standardBase64(base64);
|
|
150
|
+
if (content === undefined)
|
|
151
|
+
throw new Error(`${NAME}: base64 is not valid base64`);
|
|
152
|
+
const bytes = Buffer.from(content, "base64");
|
|
153
|
+
const res = await binaryFetch(ctx, "PUT", `${driveBase(ctx)}/root:/${pathSegments(path)}:/content`, bytes);
|
|
97
154
|
if (!res.ok)
|
|
98
|
-
throw
|
|
99
|
-
return
|
|
155
|
+
throw requestFailed(NAME, res.status);
|
|
156
|
+
return jsonAnswer(res);
|
|
100
157
|
},
|
|
101
158
|
});
|
|
102
159
|
rl.registerAction("folder.create", {
|
|
@@ -104,12 +161,19 @@ export default function microsoftFiles(rl) {
|
|
|
104
161
|
description: "Create a folder (e.g. a dedicated agent output folder) under the drive root or a parent.",
|
|
105
162
|
inputSchema: {
|
|
106
163
|
name: { type: "string", required: true },
|
|
107
|
-
parentId: {
|
|
164
|
+
parentId: {
|
|
165
|
+
type: "string",
|
|
166
|
+
required: false,
|
|
167
|
+
description: "Parent folder id; omit for root",
|
|
168
|
+
},
|
|
108
169
|
},
|
|
109
170
|
async execute(input, ctx) {
|
|
110
|
-
const
|
|
171
|
+
const p = input;
|
|
172
|
+
const where = p.parentId
|
|
173
|
+
? `/items/${pathSegment(p.parentId)}/children`
|
|
174
|
+
: "/root/children";
|
|
111
175
|
return graphRequest(ctx, NAME, SCOPES, "POST", `${driveBase(ctx)}${where}`, {
|
|
112
|
-
name:
|
|
176
|
+
name: p.name,
|
|
113
177
|
folder: {},
|
|
114
178
|
"@microsoft.graph.conflictBehavior": "rename",
|
|
115
179
|
});
|