runline 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/dist/auth/oauth2.d.ts +7 -1
  2. package/dist/auth/oauth2.js +10 -0
  3. package/dist/auth/token.d.ts +1 -0
  4. package/dist/auth/token.js +19 -1
  5. package/dist/auth/types.d.ts +22 -1
  6. package/dist/core/engine.d.ts +7 -0
  7. package/dist/core/engine.js +9 -0
  8. package/dist/credentials/policy.d.ts +53 -1
  9. package/dist/credentials/policy.js +146 -6
  10. package/dist/credentials/registry.d.ts +9 -0
  11. package/dist/credentials/registry.js +179 -22
  12. package/dist/credentials/transport.d.ts +48 -2
  13. package/dist/credentials/transport.js +248 -70
  14. package/dist/credentials/types.d.ts +167 -10
  15. package/dist/index.d.ts +5 -5
  16. package/dist/index.js +2 -2
  17. package/dist/plugin/api.d.ts +7 -0
  18. package/dist/plugin/api.js +7 -0
  19. package/dist/plugin/types.d.ts +12 -0
  20. package/dist/plugins/_shared/credentialAdapter.js +79 -15
  21. package/dist/plugins/_shared/credentials.js +389 -0
  22. package/dist/plugins/_shared/googleAuth.js +9 -40
  23. package/dist/plugins/_shared/googleCredentials.js +28 -7
  24. package/dist/plugins/_shared/microsoftAuth.js +13 -44
  25. package/dist/plugins/_shared/microsoftCredentials.js +30 -8
  26. package/dist/plugins/_shared/provider.js +2 -14
  27. package/dist/plugins/_shared/shiftCloud.js +22 -34
  28. package/dist/plugins/_shared/shiftCredentials.js +83 -0
  29. package/dist/plugins/_shared/shiftUpload.js +1 -1
  30. package/dist/plugins/actionNetwork/src/credentials.js +14 -0
  31. package/dist/plugins/actionNetwork/src/index.js +39 -50
  32. package/dist/plugins/activeCampaign/src/credentials.js +22 -0
  33. package/dist/plugins/activeCampaign/src/index.js +61 -132
  34. package/dist/plugins/adalo/src/credentials.js +16 -0
  35. package/dist/plugins/adalo/src/index.js +19 -43
  36. package/dist/plugins/affinity/src/credentials.js +19 -0
  37. package/dist/plugins/affinity/src/index.js +29 -54
  38. package/dist/plugins/agileCrm/src/credentials.js +16 -0
  39. package/dist/plugins/agileCrm/src/index.js +46 -112
  40. package/dist/plugins/airtable/src/credentials.js +19 -0
  41. package/dist/plugins/airtable/src/index.js +37 -50
  42. package/dist/plugins/airtop/src/credentials.js +20 -0
  43. package/dist/plugins/airtop/src/index.js +51 -75
  44. package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
  45. package/dist/plugins/apiTemplateIo/src/index.js +14 -31
  46. package/dist/plugins/asana/src/credentials.js +19 -0
  47. package/dist/plugins/asana/src/index.js +51 -72
  48. package/dist/plugins/autopilot/src/credentials.js +19 -0
  49. package/dist/plugins/autopilot/src/index.js +38 -45
  50. package/dist/plugins/bambooHr/src/credentials.js +16 -0
  51. package/dist/plugins/bambooHr/src/index.js +41 -67
  52. package/dist/plugins/bannerbear/src/credentials.js +19 -0
  53. package/dist/plugins/bannerbear/src/index.js +15 -27
  54. package/dist/plugins/baserow/src/credentials.js +17 -0
  55. package/dist/plugins/baserow/src/index.js +23 -49
  56. package/dist/plugins/beeminder/src/credentials.js +19 -0
  57. package/dist/plugins/beeminder/src/index.js +32 -54
  58. package/dist/plugins/bitly/src/credentials.js +19 -0
  59. package/dist/plugins/bitly/src/index.js +12 -26
  60. package/dist/plugins/bitwarden/src/credentials.js +62 -0
  61. package/dist/plugins/bitwarden/src/index.js +34 -80
  62. package/dist/plugins/box/src/credentials.js +19 -0
  63. package/dist/plugins/box/src/index.js +24 -49
  64. package/dist/plugins/brandfetch/src/credentials.js +13 -0
  65. package/dist/plugins/brandfetch/src/index.js +12 -17
  66. package/dist/plugins/brevo/src/credentials.js +19 -0
  67. package/dist/plugins/brevo/src/index.js +30 -51
  68. package/dist/plugins/bubble/src/credentials.js +28 -0
  69. package/dist/plugins/bubble/src/index.js +29 -65
  70. package/dist/plugins/chargebee/src/credentials.js +16 -0
  71. package/dist/plugins/chargebee/src/index.js +15 -45
  72. package/dist/plugins/circleci/src/credentials.js +19 -0
  73. package/dist/plugins/circleci/src/index.js +19 -39
  74. package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
  75. package/dist/plugins/ciscoWebex/src/index.js +43 -61
  76. package/dist/plugins/clearbit/src/credentials.js +22 -0
  77. package/dist/plugins/clearbit/src/index.js +11 -21
  78. package/dist/plugins/clickup/src/credentials.js +19 -0
  79. package/dist/plugins/clickup/src/index.js +85 -117
  80. package/dist/plugins/clockify/src/credentials.js +19 -0
  81. package/dist/plugins/clockify/src/index.js +46 -61
  82. package/dist/plugins/cloudflare/src/credentials.js +19 -0
  83. package/dist/plugins/cloudflare/src/index.js +19 -34
  84. package/dist/plugins/cockpit/src/credentials.js +17 -0
  85. package/dist/plugins/cockpit/src/index.js +18 -31
  86. package/dist/plugins/coda/src/credentials.js +19 -0
  87. package/dist/plugins/coda/src/index.js +33 -50
  88. package/dist/plugins/coingecko/src/credentials.js +20 -0
  89. package/dist/plugins/coingecko/src/index.js +24 -34
  90. package/dist/plugins/contentful/src/credentials.js +26 -0
  91. package/dist/plugins/contentful/src/index.js +19 -40
  92. package/dist/plugins/convertkit/src/credentials.js +26 -0
  93. package/dist/plugins/convertkit/src/index.js +27 -45
  94. package/dist/plugins/copper/src/credentials.js +17 -0
  95. package/dist/plugins/copper/src/index.js +25 -47
  96. package/dist/plugins/cortex/src/credentials.js +28 -0
  97. package/dist/plugins/cortex/src/index.js +26 -49
  98. package/dist/plugins/currents/src/credentials.js +19 -0
  99. package/dist/plugins/currents/src/index.js +46 -59
  100. package/dist/plugins/customerIo/src/credentials.js +52 -0
  101. package/dist/plugins/customerIo/src/index.js +30 -58
  102. package/dist/plugins/databricks/src/credentials.js +13 -0
  103. package/dist/plugins/databricks/src/index.js +51 -103
  104. package/dist/plugins/deepl/src/credentials.js +19 -0
  105. package/dist/plugins/deepl/src/index.js +13 -39
  106. package/dist/plugins/demio/src/credentials.js +26 -0
  107. package/dist/plugins/demio/src/index.js +17 -41
  108. package/dist/plugins/dhl/src/credentials.js +13 -0
  109. package/dist/plugins/dhl/src/index.js +8 -19
  110. package/dist/plugins/discord/src/credentials.js +19 -0
  111. package/dist/plugins/discord/src/index.js +30 -58
  112. package/dist/plugins/discourse/src/credentials.js +18 -0
  113. package/dist/plugins/discourse/src/index.js +36 -53
  114. package/dist/plugins/disqus/src/credentials.js +13 -0
  115. package/dist/plugins/disqus/src/index.js +14 -32
  116. package/dist/plugins/drift/src/credentials.js +13 -0
  117. package/dist/plugins/drift/src/index.js +16 -26
  118. package/dist/plugins/dropbox/src/credentials.js +13 -0
  119. package/dist/plugins/dropbox/src/index.js +23 -30
  120. package/dist/plugins/dropcontact/src/credentials.js +13 -0
  121. package/dist/plugins/dropcontact/src/index.js +13 -18
  122. package/dist/plugins/egoi/src/credentials.js +19 -0
  123. package/dist/plugins/egoi/src/index.js +23 -38
  124. package/dist/plugins/elasticsearch/src/credentials.js +18 -0
  125. package/dist/plugins/elasticsearch/src/index.js +27 -48
  126. package/dist/plugins/elevenlabs/src/credentials.js +30 -0
  127. package/dist/plugins/elevenlabs/src/index.js +4 -1
  128. package/dist/plugins/elevenlabs/src/schemas.js +2 -1
  129. package/dist/plugins/elevenlabs/src/shared.js +74 -35
  130. package/dist/plugins/elevenlabs/src/workflows.js +2 -2
  131. package/dist/plugins/emelia/src/credentials.js +14 -0
  132. package/dist/plugins/emelia/src/index.js +19 -23
  133. package/dist/plugins/erpnext/src/credentials.js +27 -0
  134. package/dist/plugins/erpnext/src/index.js +21 -42
  135. package/dist/plugins/facebookGraph/src/credentials.js +20 -0
  136. package/dist/plugins/facebookGraph/src/index.js +39 -37
  137. package/dist/plugins/fal/src/credentials.js +14 -0
  138. package/dist/plugins/fal/src/index.js +4 -2
  139. package/dist/plugins/fal/src/shared.js +58 -63
  140. package/dist/plugins/freshdesk/src/credentials.js +20 -0
  141. package/dist/plugins/freshdesk/src/index.js +25 -46
  142. package/dist/plugins/freshservice/src/credentials.js +16 -0
  143. package/dist/plugins/freshservice/src/index.js +37 -58
  144. package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
  145. package/dist/plugins/freshworksCrm/src/index.js +20 -39
  146. package/dist/plugins/getresponse/src/credentials.js +22 -0
  147. package/dist/plugins/getresponse/src/index.js +20 -32
  148. package/dist/plugins/gett/src/credentials.js +64 -0
  149. package/dist/plugins/gett/src/index.js +11 -6
  150. package/dist/plugins/gett/src/login.js +24 -0
  151. package/dist/plugins/gett/src/session.js +15 -38
  152. package/dist/plugins/gett/src/shared.js +41 -84
  153. package/dist/plugins/ghost/src/credentials.js +36 -0
  154. package/dist/plugins/ghost/src/index.js +18 -59
  155. package/dist/plugins/github/src/credentials.js +18 -0
  156. package/dist/plugins/github/src/index.js +55 -78
  157. package/dist/plugins/gitlab/src/credentials.js +24 -0
  158. package/dist/plugins/gitlab/src/index.js +29 -48
  159. package/dist/plugins/gmail/src/index.js +26 -24
  160. package/dist/plugins/gong/src/credentials.js +16 -0
  161. package/dist/plugins/gong/src/index.js +16 -32
  162. package/dist/plugins/googleAppsScript/src/index.js +108 -42
  163. package/dist/plugins/googleCalendar/src/index.js +15 -13
  164. package/dist/plugins/googleContacts/src/index.js +12 -9
  165. package/dist/plugins/googleDocs/src/index.js +2 -0
  166. package/dist/plugins/googleDocs/src/shared.js +2 -1
  167. package/dist/plugins/googleDrive/src/index.js +50 -53
  168. package/dist/plugins/googleImage/src/credentials.js +14 -0
  169. package/dist/plugins/googleImage/src/index.js +14 -25
  170. package/dist/plugins/googleSheets/src/index.js +26 -27
  171. package/dist/plugins/googleSlides/src/index.js +6 -4
  172. package/dist/plugins/googleTasks/src/index.js +13 -11
  173. package/dist/plugins/gotify/src/credentials.js +32 -0
  174. package/dist/plugins/gotify/src/index.js +14 -36
  175. package/dist/plugins/gotowebinar/src/credentials.js +13 -0
  176. package/dist/plugins/gotowebinar/src/index.js +52 -69
  177. package/dist/plugins/grafana/src/credentials.js +16 -0
  178. package/dist/plugins/grafana/src/index.js +34 -53
  179. package/dist/plugins/graphql/src/credentials.js +42 -0
  180. package/dist/plugins/graphql/src/index.js +21 -46
  181. package/dist/plugins/grist/src/credentials.js +30 -0
  182. package/dist/plugins/grist/src/index.js +14 -43
  183. package/dist/plugins/halopsa/src/credentials.js +56 -0
  184. package/dist/plugins/halopsa/src/index.js +20 -47
  185. package/dist/plugins/harvest/src/credentials.js +20 -0
  186. package/dist/plugins/harvest/src/index.js +24 -43
  187. package/dist/plugins/helpscout/src/credentials.js +13 -0
  188. package/dist/plugins/helpscout/src/index.js +26 -38
  189. package/dist/plugins/highlevel/src/credentials.js +19 -0
  190. package/dist/plugins/highlevel/src/index.js +34 -63
  191. package/dist/plugins/homeAssistant/src/credentials.js +27 -0
  192. package/dist/plugins/homeAssistant/src/index.js +34 -52
  193. package/dist/plugins/hubspot/src/credentials.js +16 -0
  194. package/dist/plugins/hubspot/src/index.js +29 -41
  195. package/dist/plugins/humanticAi/src/credentials.js +13 -0
  196. package/dist/plugins/humanticAi/src/index.js +15 -22
  197. package/dist/plugins/hunter/src/credentials.js +13 -0
  198. package/dist/plugins/hunter/src/index.js +18 -17
  199. package/dist/plugins/intercom/src/credentials.js +19 -0
  200. package/dist/plugins/intercom/src/index.js +25 -38
  201. package/dist/plugins/iterable/src/credentials.js +17 -0
  202. package/dist/plugins/iterable/src/index.js +26 -40
  203. package/dist/plugins/jenkins/src/credentials.js +16 -0
  204. package/dist/plugins/jenkins/src/index.js +22 -36
  205. package/dist/plugins/jira/src/credentials.js +16 -0
  206. package/dist/plugins/jira/src/index.js +35 -61
  207. package/dist/plugins/keap/src/credentials.js +19 -0
  208. package/dist/plugins/keap/src/index.js +43 -71
  209. package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
  210. package/dist/plugins/kobotoolbox/src/index.js +46 -84
  211. package/dist/plugins/lemlist/src/credentials.js +19 -0
  212. package/dist/plugins/lemlist/src/index.js +35 -47
  213. package/dist/plugins/linear/src/attachments.js +7 -7
  214. package/dist/plugins/linear/src/comments.js +7 -7
  215. package/dist/plugins/linear/src/credentials.js +17 -0
  216. package/dist/plugins/linear/src/cycles.js +5 -5
  217. package/dist/plugins/linear/src/index.js +2 -0
  218. package/dist/plugins/linear/src/initiatives.js +6 -6
  219. package/dist/plugins/linear/src/issues.js +14 -14
  220. package/dist/plugins/linear/src/labels.js +6 -6
  221. package/dist/plugins/linear/src/organization.js +2 -2
  222. package/dist/plugins/linear/src/projects.js +12 -12
  223. package/dist/plugins/linear/src/shared.js +34 -32
  224. package/dist/plugins/linear/src/states.js +3 -3
  225. package/dist/plugins/linear/src/teams.js +4 -4
  226. package/dist/plugins/linear/src/users.js +3 -3
  227. package/dist/plugins/linear/src/views.js +5 -5
  228. package/dist/plugins/linear/src/webhooks.js +5 -5
  229. package/dist/plugins/lingvanex/src/credentials.js +13 -0
  230. package/dist/plugins/lingvanex/src/index.js +7 -9
  231. package/dist/plugins/linkedin/src/credentials.js +17 -0
  232. package/dist/plugins/linkedin/src/index.js +13 -17
  233. package/dist/plugins/lonescale/src/credentials.js +13 -0
  234. package/dist/plugins/lonescale/src/index.js +16 -26
  235. package/dist/plugins/magento/src/credentials.js +16 -0
  236. package/dist/plugins/magento/src/index.js +67 -84
  237. package/dist/plugins/mailcheck/src/credentials.js +17 -0
  238. package/dist/plugins/mailcheck/src/index.js +7 -9
  239. package/dist/plugins/mailchimp/src/credentials.js +32 -0
  240. package/dist/plugins/mailchimp/src/index.js +36 -44
  241. package/dist/plugins/mailerlite/src/credentials.js +13 -0
  242. package/dist/plugins/mailerlite/src/index.js +19 -32
  243. package/dist/plugins/mailgun/src/credentials.js +21 -0
  244. package/dist/plugins/mailgun/src/index.js +15 -21
  245. package/dist/plugins/mailjet/src/credentials.js +38 -0
  246. package/dist/plugins/mailjet/src/index.js +60 -115
  247. package/dist/plugins/mandrill/src/credentials.js +17 -0
  248. package/dist/plugins/mandrill/src/index.js +11 -12
  249. package/dist/plugins/marketstack/src/credentials.js +16 -0
  250. package/dist/plugins/marketstack/src/index.js +18 -28
  251. package/dist/plugins/matrix/src/credentials.js +19 -0
  252. package/dist/plugins/matrix/src/index.js +23 -52
  253. package/dist/plugins/mattermost/src/credentials.js +19 -0
  254. package/dist/plugins/mattermost/src/index.js +41 -73
  255. package/dist/plugins/mautic/src/credentials.js +16 -0
  256. package/dist/plugins/mautic/src/index.js +46 -62
  257. package/dist/plugins/medium/src/credentials.js +20 -0
  258. package/dist/plugins/medium/src/index.js +18 -23
  259. package/dist/plugins/messagebird/src/credentials.js +22 -0
  260. package/dist/plugins/messagebird/src/index.js +13 -18
  261. package/dist/plugins/metabase/src/credentials.js +19 -0
  262. package/dist/plugins/metabase/src/index.js +24 -40
  263. package/dist/plugins/microsoftCalendar/src/index.js +48 -12
  264. package/dist/plugins/microsoftFiles/src/index.js +90 -25
  265. package/dist/plugins/microsoftMail/src/index.js +62 -15
  266. package/dist/plugins/misp/src/credentials.js +16 -0
  267. package/dist/plugins/misp/src/index.js +60 -71
  268. package/dist/plugins/mocean/src/credentials.js +17 -0
  269. package/dist/plugins/mocean/src/index.js +11 -23
  270. package/dist/plugins/monday/src/credentials.js +14 -0
  271. package/dist/plugins/monday/src/index.js +31 -44
  272. package/dist/plugins/monicaCrm/src/credentials.js +19 -0
  273. package/dist/plugins/monicaCrm/src/index.js +25 -42
  274. package/dist/plugins/msg91/src/credentials.js +10 -0
  275. package/dist/plugins/msg91/src/index.js +15 -11
  276. package/dist/plugins/nasa/src/credentials.js +22 -0
  277. package/dist/plugins/nasa/src/index.js +24 -28
  278. package/dist/plugins/netlify/src/credentials.js +19 -0
  279. package/dist/plugins/netlify/src/index.js +27 -51
  280. package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
  281. package/dist/plugins/netscalerAdc/src/index.js +16 -31
  282. package/dist/plugins/nextcloud/src/credentials.js +27 -0
  283. package/dist/plugins/nextcloud/src/index.js +55 -109
  284. package/dist/plugins/nocodb/src/credentials.js +16 -0
  285. package/dist/plugins/nocodb/src/index.js +19 -37
  286. package/dist/plugins/notion/src/credentials.js +21 -0
  287. package/dist/plugins/notion/src/index.js +25 -38
  288. package/dist/plugins/npm/src/credentials.js +19 -0
  289. package/dist/plugins/npm/src/index.js +22 -32
  290. package/dist/plugins/odoo/src/credentials.js +21 -0
  291. package/dist/plugins/odoo/src/index.js +53 -69
  292. package/dist/plugins/okta/src/credentials.js +23 -0
  293. package/dist/plugins/okta/src/index.js +30 -35
  294. package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
  295. package/dist/plugins/oneSimpleApi/src/index.js +19 -24
  296. package/dist/plugins/onfleet/src/credentials.js +23 -0
  297. package/dist/plugins/onfleet/src/index.js +42 -53
  298. package/dist/plugins/openai/src/credentials.js +13 -0
  299. package/dist/plugins/openai/src/index.js +15 -23
  300. package/dist/plugins/openweathermap/src/credentials.js +16 -0
  301. package/dist/plugins/openweathermap/src/index.js +22 -22
  302. package/dist/plugins/oura/src/credentials.js +19 -0
  303. package/dist/plugins/oura/src/index.js +13 -18
  304. package/dist/plugins/paddle/src/credentials.js +27 -0
  305. package/dist/plugins/paddle/src/index.js +20 -36
  306. package/dist/plugins/pagerduty/src/credentials.js +24 -0
  307. package/dist/plugins/pagerduty/src/index.js +30 -39
  308. package/dist/plugins/parallel/src/credentials.js +18 -0
  309. package/dist/plugins/parallel/src/index.js +16 -22
  310. package/dist/plugins/paypal/src/credentials.js +44 -0
  311. package/dist/plugins/paypal/src/index.js +14 -40
  312. package/dist/plugins/peekalink/src/credentials.js +16 -0
  313. package/dist/plugins/peekalink/src/index.js +10 -11
  314. package/dist/plugins/phantombuster/src/credentials.js +19 -0
  315. package/dist/plugins/phantombuster/src/index.js +19 -32
  316. package/dist/plugins/philipsHue/src/credentials.js +17 -0
  317. package/dist/plugins/philipsHue/src/index.js +15 -27
  318. package/dist/plugins/pipedrive/src/credentials.js +26 -0
  319. package/dist/plugins/pipedrive/src/index.js +43 -73
  320. package/dist/plugins/plaud/src/index.js +2 -1
  321. package/dist/plugins/plaud/src/shared.js +23 -19
  322. package/dist/plugins/plivo/src/credentials.js +20 -0
  323. package/dist/plugins/plivo/src/index.js +13 -19
  324. package/dist/plugins/posthog/src/credentials.js +18 -0
  325. package/dist/plugins/posthog/src/index.js +14 -20
  326. package/dist/plugins/profitwell/src/credentials.js +22 -0
  327. package/dist/plugins/profitwell/src/index.js +10 -17
  328. package/dist/plugins/pushbullet/src/credentials.js +19 -0
  329. package/dist/plugins/pushbullet/src/index.js +19 -27
  330. package/dist/plugins/pushcut/src/credentials.js +19 -0
  331. package/dist/plugins/pushcut/src/index.js +7 -8
  332. package/dist/plugins/pushover/src/credentials.js +14 -0
  333. package/dist/plugins/pushover/src/index.js +7 -12
  334. package/dist/plugins/quickbase/src/credentials.js +15 -0
  335. package/dist/plugins/quickbase/src/index.js +24 -34
  336. package/dist/plugins/quickbooks/src/credentials.js +22 -0
  337. package/dist/plugins/quickbooks/src/index.js +17 -46
  338. package/dist/plugins/raindrop/src/credentials.js +19 -0
  339. package/dist/plugins/raindrop/src/index.js +30 -32
  340. package/dist/plugins/recraft/src/credentials.js +13 -0
  341. package/dist/plugins/recraft/src/index.js +38 -27
  342. package/dist/plugins/reddit/src/credentials.js +26 -0
  343. package/dist/plugins/reddit/src/index.js +30 -34
  344. package/dist/plugins/replicate/src/credentials.js +23 -0
  345. package/dist/plugins/replicate/src/index.js +17 -27
  346. package/dist/plugins/rocketchat/src/credentials.js +17 -0
  347. package/dist/plugins/rocketchat/src/index.js +8 -19
  348. package/dist/plugins/rundeck/src/credentials.js +16 -0
  349. package/dist/plugins/rundeck/src/index.js +12 -28
  350. package/dist/plugins/salesforce/src/credentials.js +73 -0
  351. package/dist/plugins/salesforce/src/index.js +6 -0
  352. package/dist/plugins/salesforce/src/metadata.js +3 -16
  353. package/dist/plugins/salesforce/src/shared.js +25 -100
  354. package/dist/plugins/salesforce/src/sobjects.js +10 -9
  355. package/dist/plugins/salesmate/src/credentials.js +17 -0
  356. package/dist/plugins/salesmate/src/index.js +20 -37
  357. package/dist/plugins/securityScorecard/src/credentials.js +22 -0
  358. package/dist/plugins/securityScorecard/src/index.js +24 -37
  359. package/dist/plugins/segment/src/credentials.js +16 -0
  360. package/dist/plugins/segment/src/index.js +12 -16
  361. package/dist/plugins/sendgrid/src/credentials.js +13 -0
  362. package/dist/plugins/sendgrid/src/index.js +31 -35
  363. package/dist/plugins/sendy/src/credentials.js +18 -0
  364. package/dist/plugins/sendy/src/index.js +18 -24
  365. package/dist/plugins/sentry/src/credentials.js +16 -0
  366. package/dist/plugins/sentry/src/index.js +30 -98
  367. package/dist/plugins/servicenow/src/credentials.js +13 -0
  368. package/dist/plugins/servicenow/src/index.js +22 -41
  369. package/dist/plugins/shiftAtlas/src/graph.js +2 -2
  370. package/dist/plugins/shiftAtlas/src/index.js +2 -0
  371. package/dist/plugins/shiftAtlas/src/shared.js +3 -1
  372. package/dist/plugins/shiftBwm/src/collections.js +201 -0
  373. package/dist/plugins/shiftBwm/src/index.js +35 -0
  374. package/dist/plugins/shiftBwm/src/records.js +180 -0
  375. package/dist/plugins/shiftBwm/src/shared.js +168 -0
  376. package/dist/plugins/shiftBwm/src/vendor/client.js +227 -0
  377. package/dist/plugins/shiftBwm/src/vendor/contracts.js +59 -0
  378. package/dist/plugins/shiftBwm/src/vendor/models.js +525 -0
  379. package/dist/plugins/shiftCrm/src/access.js +2 -2
  380. package/dist/plugins/shiftCrm/src/accounts.js +3 -3
  381. package/dist/plugins/shiftCrm/src/activities.js +3 -3
  382. package/dist/plugins/shiftCrm/src/credentials.js +6 -0
  383. package/dist/plugins/shiftCrm/src/index.js +2 -0
  384. package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
  385. package/dist/plugins/shiftCrm/src/people.js +3 -3
  386. package/dist/plugins/shiftCrm/src/records.js +2 -2
  387. package/dist/plugins/shiftCrm/src/shared.js +2 -1
  388. package/dist/plugins/shiftCrm/src/tasks.js +3 -3
  389. package/dist/plugins/shiftObjects/src/credentials.js +2 -0
  390. package/dist/plugins/shiftObjects/src/index.js +2 -0
  391. package/dist/plugins/shiftObjects/src/objects.js +3 -3
  392. package/dist/plugins/shiftOcr/src/credentials.js +8 -0
  393. package/dist/plugins/shiftOcr/src/index.js +5 -2
  394. package/dist/plugins/shiftPages/src/index.js +2 -0
  395. package/dist/plugins/shiftPages/src/pages.js +5 -3
  396. package/dist/plugins/shiftPages/src/shared.js +3 -1
  397. package/dist/plugins/shiftTranscription/src/index.js +2 -0
  398. package/dist/plugins/shiftTranscription/src/shared.js +11 -1
  399. package/dist/plugins/shiftTranscription/src/transcription.js +3 -2
  400. package/dist/plugins/shiftWork/src/index.js +2 -0
  401. package/dist/plugins/shiftWork/src/issue-views.js +5 -5
  402. package/dist/plugins/shiftWork/src/issues.js +11 -7
  403. package/dist/plugins/shiftWork/src/projects.js +3 -3
  404. package/dist/plugins/shiftWork/src/shared.js +3 -1
  405. package/dist/plugins/shopify/src/credentials.js +16 -0
  406. package/dist/plugins/shopify/src/index.js +32 -59
  407. package/dist/plugins/signl4/src/credentials.js +17 -0
  408. package/dist/plugins/signl4/src/index.js +28 -29
  409. package/dist/plugins/slack/src/credentials.js +19 -0
  410. package/dist/plugins/slack/src/index.js +51 -60
  411. package/dist/plugins/sms77/src/credentials.js +17 -0
  412. package/dist/plugins/sms77/src/index.js +11 -16
  413. package/dist/plugins/splunk/src/credentials.js +19 -0
  414. package/dist/plugins/splunk/src/index.js +32 -74
  415. package/dist/plugins/spotify/src/credentials.js +19 -0
  416. package/dist/plugins/spotify/src/index.js +40 -55
  417. package/dist/plugins/stackby/src/credentials.js +13 -0
  418. package/dist/plugins/stackby/src/index.js +14 -23
  419. package/dist/plugins/steel/src/auth.js +27 -0
  420. package/dist/plugins/steel/src/browser.js +4 -3
  421. package/dist/plugins/steel/src/captchas.js +4 -3
  422. package/dist/plugins/steel/src/extensions.js +3 -2
  423. package/dist/plugins/steel/src/files.js +9 -10
  424. package/dist/plugins/steel/src/index.js +2 -0
  425. package/dist/plugins/steel/src/page/tools.js +3 -3
  426. package/dist/plugins/steel/src/profiles.js +4 -3
  427. package/dist/plugins/steel/src/sessions.js +13 -13
  428. package/dist/plugins/steel/src/shared.js +21 -51
  429. package/dist/plugins/storyblok/src/credentials.js +37 -0
  430. package/dist/plugins/storyblok/src/index.js +22 -66
  431. package/dist/plugins/strapi/src/credentials.js +71 -0
  432. package/dist/plugins/strapi/src/index.js +36 -70
  433. package/dist/plugins/strava/src/credentials.js +19 -0
  434. package/dist/plugins/strava/src/index.js +16 -33
  435. package/dist/plugins/stripe/src/credentials.js +19 -0
  436. package/dist/plugins/stripe/src/index.js +44 -58
  437. package/dist/plugins/supabase/src/credentials.js +30 -0
  438. package/dist/plugins/supabase/src/index.js +18 -40
  439. package/dist/plugins/syncromsp/src/credentials.js +16 -0
  440. package/dist/plugins/syncromsp/src/index.js +37 -70
  441. package/dist/plugins/tapfiliate/src/credentials.js +13 -0
  442. package/dist/plugins/tapfiliate/src/index.js +21 -31
  443. package/dist/plugins/telegram/src/credentials.js +20 -0
  444. package/dist/plugins/telegram/src/index.js +31 -39
  445. package/dist/plugins/thehive/src/credentials.js +14 -0
  446. package/dist/plugins/thehive/src/index.js +33 -50
  447. package/dist/plugins/thehiveProject/src/credentials.js +16 -0
  448. package/dist/plugins/thehiveProject/src/index.js +53 -122
  449. package/dist/plugins/todoist/src/credentials.js +26 -0
  450. package/dist/plugins/todoist/src/index.js +49 -79
  451. package/dist/plugins/together/src/credentials.js +16 -0
  452. package/dist/plugins/together/src/index.js +30 -32
  453. package/dist/plugins/travisci/src/credentials.js +24 -0
  454. package/dist/plugins/travisci/src/index.js +16 -30
  455. package/dist/plugins/trello/src/credentials.js +29 -0
  456. package/dist/plugins/trello/src/index.js +49 -64
  457. package/dist/plugins/twake/src/credentials.js +16 -0
  458. package/dist/plugins/twake/src/index.js +8 -10
  459. package/dist/plugins/twilio/src/credentials.js +23 -0
  460. package/dist/plugins/twilio/src/index.js +12 -26
  461. package/dist/plugins/twist/src/credentials.js +13 -0
  462. package/dist/plugins/twist/src/index.js +32 -44
  463. package/dist/plugins/twitter/src/credentials.js +16 -0
  464. package/dist/plugins/twitter/src/index.js +25 -37
  465. package/dist/plugins/typesafe/src/credentials.js +28 -0
  466. package/dist/plugins/typesafe/src/index.js +3 -1
  467. package/dist/plugins/typesafe/src/shared.js +23 -35
  468. package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
  469. package/dist/plugins/unleashedSoftware/src/index.js +13 -37
  470. package/dist/plugins/uplead/src/credentials.js +16 -0
  471. package/dist/plugins/uplead/src/index.js +11 -16
  472. package/dist/plugins/uproc/src/credentials.js +14 -0
  473. package/dist/plugins/uproc/src/index.js +7 -10
  474. package/dist/plugins/uptimerobot/src/credentials.js +14 -0
  475. package/dist/plugins/uptimerobot/src/index.js +28 -39
  476. package/dist/plugins/urlscanio/src/credentials.js +13 -0
  477. package/dist/plugins/urlscanio/src/index.js +13 -22
  478. package/dist/plugins/vercel/src/credentials.js +19 -0
  479. package/dist/plugins/vercel/src/deployments.js +27 -11
  480. package/dist/plugins/vercel/src/env.js +31 -12
  481. package/dist/plugins/vercel/src/index.js +2 -0
  482. package/dist/plugins/vercel/src/projects.js +6 -3
  483. package/dist/plugins/vercel/src/shared.js +32 -37
  484. package/dist/plugins/vero/src/credentials.js +17 -0
  485. package/dist/plugins/vero/src/index.js +18 -21
  486. package/dist/plugins/vonage/src/credentials.js +17 -0
  487. package/dist/plugins/vonage/src/index.js +14 -18
  488. package/dist/plugins/wekan/src/credentials.js +16 -0
  489. package/dist/plugins/wekan/src/index.js +33 -46
  490. package/dist/plugins/wolt/src/account.js +6 -0
  491. package/dist/plugins/wolt/src/catalog.js +2 -2
  492. package/dist/plugins/wolt/src/credentials.js +64 -0
  493. package/dist/plugins/wolt/src/index.js +8 -3
  494. package/dist/plugins/wolt/src/orders.js +2 -2
  495. package/dist/plugins/wolt/src/public.js +91 -0
  496. package/dist/plugins/wolt/src/shared.js +49 -158
  497. package/dist/plugins/woocommerce/src/credentials.js +16 -0
  498. package/dist/plugins/woocommerce/src/index.js +19 -37
  499. package/dist/plugins/wordpress/src/credentials.js +16 -0
  500. package/dist/plugins/wordpress/src/index.js +23 -42
  501. package/dist/plugins/xai/src/credentials.js +13 -0
  502. package/dist/plugins/xai/src/index.js +31 -30
  503. package/dist/plugins/xero/src/credentials.js +17 -0
  504. package/dist/plugins/xero/src/index.js +19 -36
  505. package/dist/plugins/yourls/src/credentials.js +17 -0
  506. package/dist/plugins/yourls/src/index.js +13 -23
  507. package/dist/plugins/zammad/src/credentials.js +15 -0
  508. package/dist/plugins/zammad/src/index.js +27 -47
  509. package/dist/plugins/zendesk/src/credentials.js +26 -0
  510. package/dist/plugins/zendesk/src/index.js +29 -48
  511. package/dist/plugins/zoho/src/credentials.js +17 -0
  512. package/dist/plugins/zoho/src/index.js +18 -38
  513. package/dist/plugins/zoom/src/credentials.js +19 -0
  514. package/dist/plugins/zoom/src/index.js +15 -30
  515. package/dist/plugins/zulip/src/credentials.js +16 -0
  516. package/dist/plugins/zulip/src/index.js +36 -42
  517. package/dist/sdk.d.ts +8 -0
  518. package/dist/sdk.js +3 -0
  519. package/package.json +3 -2
  520. package/dist/plugins/_shared/authedFetch.js +0 -33
  521. package/dist/plugins/_shared/tokenRefresh.js +0 -41
@@ -1,4 +1,5 @@
1
1
  import * as t from "typebox";
2
+ import { pathSegment } from "../../_shared/credentials.js";
2
3
  import { TEAM_INPUT_SCHEMA, api } from "./shared.js";
3
4
  const targetSchema = t.Union([t.String(), t.Array(t.String())], {
4
5
  description: "production, preview, development, custom environment, or array of targets",
@@ -24,14 +25,20 @@ export function registerEnvActions(rl) {
24
25
  inputSchema: t.Object({
25
26
  ...TEAM_INPUT_SCHEMA,
26
27
  projectIdOrName: t.String({ description: "Project ID or name" }),
27
- target: t.Optional(t.String({ description: "production, preview, development, or custom environment" })),
28
+ target: t.Optional(t.String({
29
+ description: "production, preview, development, or custom environment",
30
+ })),
28
31
  gitBranch: t.Optional(t.String({ description: "Git branch filter" })),
29
- decrypt: t.Optional(t.Boolean({ description: "Ask Vercel to include decrypted values when permitted" })),
32
+ decrypt: t.Optional(t.Boolean({
33
+ description: "Ask Vercel to include decrypted values when permitted",
34
+ })),
30
35
  source: t.Optional(t.String({ description: "Environment variable source filter" })),
31
36
  }),
32
37
  async execute(input, ctx) {
33
38
  const { projectIdOrName, ...query } = input;
34
- return api(ctx, `/v10/projects/${encodeURIComponent(String(projectIdOrName))}/env`, { query });
39
+ return api(ctx, `/v10/projects/${pathSegment(projectIdOrName)}/env`, {
40
+ query,
41
+ });
35
42
  },
36
43
  });
37
44
  rl.registerAction("env.get", {
@@ -44,7 +51,7 @@ export function registerEnvActions(rl) {
44
51
  }),
45
52
  async execute(input, ctx) {
46
53
  const { projectIdOrName, id, ...query } = input;
47
- return api(ctx, `/v1/projects/${encodeURIComponent(String(projectIdOrName))}/env/${encodeURIComponent(String(id))}`, { query });
54
+ return api(ctx, `/v1/projects/${pathSegment(projectIdOrName)}/env/${pathSegment(id)}`, { query });
48
55
  },
49
56
  });
50
57
  rl.registerAction("env.set", {
@@ -53,13 +60,21 @@ export function registerEnvActions(rl) {
53
60
  inputSchema: t.Object({
54
61
  ...TEAM_INPUT_SCHEMA,
55
62
  projectIdOrName: t.String({ description: "Project ID or name" }),
56
- id: t.Optional(t.String({ description: "Environment variable ID. When provided, env.set updates instead of creating." })),
63
+ id: t.Optional(t.String({
64
+ description: "Environment variable ID. When provided, env.set updates instead of creating.",
65
+ })),
57
66
  key: t.Optional(t.String({ description: "Variable name" })),
58
67
  value: t.Optional(t.String({ description: "Variable value" })),
59
68
  target: t.Optional(targetSchema),
60
- customEnvironmentIds: t.Optional(t.Array(t.String(), { description: "Custom environment IDs for custom-environment scoped variables" })),
61
- type: t.Optional(t.String({ description: "Vercel env var type: system, encrypted, plain, or sensitive" })),
62
- gitBranch: t.Optional(t.String({ description: "Git branch for branch-scoped preview variables" })),
69
+ customEnvironmentIds: t.Optional(t.Array(t.String(), {
70
+ description: "Custom environment IDs for custom-environment scoped variables",
71
+ })),
72
+ type: t.Optional(t.String({
73
+ description: "Vercel env var type: system, encrypted, plain, or sensitive",
74
+ })),
75
+ gitBranch: t.Optional(t.String({
76
+ description: "Git branch for branch-scoped preview variables",
77
+ })),
63
78
  comment: t.Optional(t.String({ description: "Optional comment" })),
64
79
  variables: t.Optional(t.Array(t.Object({}, { description: "Raw Vercel env var objects for batch create" }))),
65
80
  }),
@@ -67,14 +82,14 @@ export function registerEnvActions(rl) {
67
82
  const { projectIdOrName, id, teamId, slug, variables, ...fields } = input;
68
83
  const query = { teamId, slug };
69
84
  if (id) {
70
- return api(ctx, `/v9/projects/${encodeURIComponent(String(projectIdOrName))}/env/${encodeURIComponent(String(id))}`, {
85
+ return api(ctx, `/v9/projects/${pathSegment(projectIdOrName)}/env/${pathSegment(id)}`, {
71
86
  method: "PATCH",
72
87
  query,
73
88
  body: normalizeEnvBody(fields),
74
89
  });
75
90
  }
76
91
  if (Array.isArray(variables)) {
77
- return api(ctx, `/v10/projects/${encodeURIComponent(String(projectIdOrName))}/env`, {
92
+ return api(ctx, `/v10/projects/${pathSegment(projectIdOrName)}/env`, {
78
93
  method: "POST",
79
94
  query,
80
95
  body: variables.map((item) => normalizeEnvBody(item)),
@@ -82,7 +97,11 @@ export function registerEnvActions(rl) {
82
97
  }
83
98
  const body = normalizeEnvBody(fields);
84
99
  assertCreateEnvInput(body);
85
- return api(ctx, `/v10/projects/${encodeURIComponent(String(projectIdOrName))}/env`, { method: "POST", query, body });
100
+ return api(ctx, `/v10/projects/${pathSegment(projectIdOrName)}/env`, {
101
+ method: "POST",
102
+ query,
103
+ body,
104
+ });
86
105
  },
87
106
  });
88
107
  rl.registerAction("env.delete", {
@@ -96,7 +115,7 @@ export function registerEnvActions(rl) {
96
115
  }),
97
116
  async execute(input, ctx) {
98
117
  const { projectIdOrName, id, customEnvironmentId, ...query } = input;
99
- return api(ctx, `/v9/projects/${encodeURIComponent(String(projectIdOrName))}/env/${encodeURIComponent(String(id))}`, {
118
+ return api(ctx, `/v9/projects/${pathSegment(projectIdOrName)}/env/${pathSegment(id)}`, {
100
119
  method: "DELETE",
101
120
  query: { ...query, customEnvironmentId },
102
121
  });
@@ -1,11 +1,13 @@
1
1
  import * as t from "typebox";
2
2
  import { registerAccountActions } from "./account.js";
3
+ import { vercelCredential } from "./credentials.js";
3
4
  import { registerDeploymentActions } from "./deployments.js";
4
5
  import { registerEnvActions } from "./env.js";
5
6
  import { registerProjectActions } from "./projects.js";
6
7
  export default function vercel(rl) {
7
8
  rl.setName("vercel");
8
9
  rl.setVersion("0.1.0");
10
+ rl.setCredential(vercelCredential);
9
11
  rl.setConnectionSchema(t.Object({
10
12
  token: t.String({
11
13
  description: "Vercel access token (https://vercel.com/account/settings/tokens)",
@@ -1,5 +1,6 @@
1
1
  import * as t from "typebox";
2
- import { LIST_INPUT_SCHEMA, TEAM_INPUT_SCHEMA, api, bindGetAction } from "./shared.js";
2
+ import { pathSegment } from "../../_shared/credentials.js";
3
+ import { LIST_INPUT_SCHEMA, TEAM_INPUT_SCHEMA, api, bindGetAction, } from "./shared.js";
3
4
  export function registerProjectActions(rl) {
4
5
  const getAction = bindGetAction(rl);
5
6
  rl.registerAction("project.list", {
@@ -14,7 +15,7 @@ export function registerProjectActions(rl) {
14
15
  return api(ctx, "/v10/projects", { query: opts });
15
16
  },
16
17
  });
17
- getAction("project.get", "Get a Vercel project by ID or name.", (id) => `/v9/projects/${encodeURIComponent(id)}`);
18
+ getAction("project.get", "Get a Vercel project by ID or name.", (id) => `/v9/projects/${pathSegment(id)}`);
18
19
  rl.registerAction("project.domains", {
19
20
  access: "read",
20
21
  description: "List domains configured for a Vercel project.",
@@ -25,7 +26,9 @@ export function registerProjectActions(rl) {
25
26
  }),
26
27
  async execute(input, ctx) {
27
28
  const { projectIdOrName, ...query } = input;
28
- return api(ctx, `/v9/projects/${encodeURIComponent(String(projectIdOrName))}/domains`, { query });
29
+ return api(ctx, `/v9/projects/${pathSegment(projectIdOrName)}/domains`, {
30
+ query,
31
+ });
29
32
  },
30
33
  });
31
34
  }
@@ -1,60 +1,55 @@
1
+ import { AuthError } from "runline";
1
2
  import * as t from "typebox";
2
- const BASE_URL = "https://api.vercel.com";
3
- export function token(ctx) {
4
- return ctx.connection.config.token;
5
- }
3
+ import { credentialOk } from "../../_shared/credentials.js";
4
+ import { vercelCredential } from "./credentials.js";
6
5
  export async function api(ctx, path, options = {}) {
7
- const url = new URL(path, BASE_URL);
8
- const query = {
6
+ const query = Object.fromEntries(Object.entries({
9
7
  teamId: ctx.connection.config.teamId,
10
8
  slug: ctx.connection.config.slug,
11
9
  ...(options.query ?? {}),
12
- };
13
- for (const [key, value] of Object.entries(query)) {
14
- if (value === undefined || value === null || value === "")
15
- continue;
16
- if (Array.isArray(value)) {
17
- for (const item of value)
18
- url.searchParams.append(key, String(item));
19
- }
20
- else {
21
- url.searchParams.set(key, String(value));
22
- }
23
- }
24
- const init = {
10
+ }).filter(([, value]) => value !== undefined && value !== null && value !== ""));
11
+ const res = await credentialOk(ctx, vercelCredential, "vercel", {
12
+ target: "api",
13
+ path: path.replace(/^\/+/, ""),
25
14
  method: options.method ?? "GET",
26
- headers: {
27
- Authorization: `Bearer ${token(ctx)}`,
28
- "Content-Type": "application/json",
29
- ...(options.headers ?? {}),
30
- },
31
- };
32
- if (options.body !== undefined)
33
- init.body = JSON.stringify(options.body);
34
- const res = await fetch(url.toString(), init);
15
+ query,
16
+ ...(options.body !== undefined ? { json: options.body } : {}),
17
+ });
35
18
  const text = await res.text();
36
- if (!res.ok) {
37
- throw new Error(`Vercel API error ${res.status}: ${text || res.statusText}`);
38
- }
39
19
  if (!text)
40
20
  return {};
41
21
  const contentType = res.headers.get("content-type") ?? "";
42
- if (contentType.includes("application/json") || text.startsWith("{") || text.startsWith("[")) {
43
- return JSON.parse(text);
22
+ if (contentType.includes("application/json") ||
23
+ text.startsWith("{") ||
24
+ text.startsWith("[")) {
25
+ try {
26
+ return JSON.parse(text);
27
+ }
28
+ catch {
29
+ throw new AuthError("invalid_response");
30
+ }
44
31
  }
45
32
  return text;
46
33
  }
47
34
  export const TEAM_INPUT_SCHEMA = {
48
- teamId: t.Optional(t.String({ description: "Override the configured Vercel Team ID for this call" })),
49
- slug: t.Optional(t.String({ description: "Override the configured Vercel Team slug for this call" })),
35
+ teamId: t.Optional(t.String({
36
+ description: "Override the configured Vercel Team ID for this call",
37
+ })),
38
+ slug: t.Optional(t.String({
39
+ description: "Override the configured Vercel Team slug for this call",
40
+ })),
50
41
  };
51
42
  export const LIST_INPUT_SCHEMA = {
52
43
  ...TEAM_INPUT_SCHEMA,
53
44
  limit: t.Optional(t.Number({ description: "Maximum number of results" })),
54
45
  since: t.Optional(t.Number({ description: "Timestamp in milliseconds to start from" })),
55
46
  until: t.Optional(t.Number({ description: "Timestamp in milliseconds to end at" })),
56
- from: t.Optional(t.Number({ description: "Pagination timestamp/cursor supported by Vercel" })),
57
- to: t.Optional(t.Number({ description: "Pagination timestamp/cursor supported by Vercel" })),
47
+ from: t.Optional(t.Number({
48
+ description: "Pagination timestamp/cursor supported by Vercel",
49
+ })),
50
+ to: t.Optional(t.Number({
51
+ description: "Pagination timestamp/cursor supported by Vercel",
52
+ })),
58
53
  };
59
54
  export function bindGetAction(rl) {
60
55
  return (name, description, pathForId) => {
@@ -0,0 +1,17 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An auth token, added by the transport as the auth_token field of every Vero form. */
3
+ export const veroCredential = staticCredential({
4
+ id: "vero",
5
+ auth: {
6
+ kind: "static",
7
+ parts: ["token"],
8
+ placements: [{ in: "body", part: "token", name: "auth_token" }],
9
+ },
10
+ local: { token: "authToken" },
11
+ targets: {
12
+ api: {
13
+ baseUrl: "https://api.getvero.com/api/v2/",
14
+ methods: ["POST", "PUT"],
15
+ },
16
+ },
17
+ });
@@ -1,23 +1,21 @@
1
- const BASE = "https://api.getvero.com/api/v2";
2
- async function apiRequest(token, method, endpoint, body) {
3
- const form = new URLSearchParams();
4
- form.set("auth_token", token);
5
- for (const [k, v] of Object.entries(body)) {
6
- if (v !== undefined && v !== null)
7
- form.set(k, typeof v === "object" ? JSON.stringify(v) : String(v));
8
- }
9
- const res = await fetch(`${BASE}${endpoint}`, {
1
+ import { credentialJson } from "../../_shared/credentials.js";
2
+ import { veroCredential } from "./credentials.js";
3
+ /** A Vero form call; object values travel JSON-encoded. */
4
+ function apiRequest(ctx, method, endpoint, body) {
5
+ return credentialJson(ctx, veroCredential, "vero", {
6
+ target: "api",
7
+ path: endpoint,
10
8
  method,
11
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
12
- body: form,
9
+ form: Object.fromEntries(Object.entries(body).map(([key, value]) => [
10
+ key,
11
+ value && typeof value === "object" ? JSON.stringify(value) : value,
12
+ ])),
13
13
  });
14
- if (!res.ok)
15
- throw new Error(`Vero error ${res.status}: ${await res.text()}`);
16
- return res.json();
17
14
  }
18
15
  export default function vero(rl) {
19
16
  rl.setName("vero");
20
17
  rl.setVersion("0.1.0");
18
+ rl.setCredential(veroCredential);
21
19
  rl.setConnectionSchema({
22
20
  authToken: {
23
21
  type: "string",
@@ -26,7 +24,6 @@ export default function vero(rl) {
26
24
  env: "VERO_AUTH_TOKEN",
27
25
  },
28
26
  });
29
- const key = (ctx) => ctx.connection.config.authToken;
30
27
  rl.registerAction("user.create", {
31
28
  access: "write",
32
29
  description: "Create/identify a user",
@@ -46,7 +43,7 @@ export default function vero(rl) {
46
43
  body.email = p.email;
47
44
  if (p.data)
48
45
  body.data = p.data;
49
- return apiRequest(key(ctx), "POST", "/users/track", body);
46
+ return apiRequest(ctx, "POST", "users/track", body);
50
47
  },
51
48
  });
52
49
  rl.registerAction("user.alias", {
@@ -58,7 +55,7 @@ export default function vero(rl) {
58
55
  },
59
56
  async execute(input, ctx) {
60
57
  const p = input;
61
- return apiRequest(key(ctx), "PUT", "/users/reidentify", {
58
+ return apiRequest(ctx, "PUT", "users/reidentify", {
62
59
  id: p.id,
63
60
  new_id: p.newId,
64
61
  });
@@ -70,7 +67,7 @@ export default function vero(rl) {
70
67
  description: `${op.charAt(0).toUpperCase() + op.slice(1)} a user`,
71
68
  inputSchema: { id: { type: "string", required: true } },
72
69
  async execute(input, ctx) {
73
- return apiRequest(key(ctx), "POST", `/users/${op}`, {
70
+ return apiRequest(ctx, "POST", `users/${op}`, {
74
71
  id: input.id,
75
72
  });
76
73
  },
@@ -89,7 +86,7 @@ export default function vero(rl) {
89
86
  },
90
87
  async execute(input, ctx) {
91
88
  const p = input;
92
- return apiRequest(key(ctx), "PUT", "/users/tags/edit", {
89
+ return apiRequest(ctx, "PUT", "users/tags/edit", {
93
90
  id: p.id,
94
91
  add: JSON.stringify(p.tags.split(",").map((t) => t.trim())),
95
92
  });
@@ -108,7 +105,7 @@ export default function vero(rl) {
108
105
  },
109
106
  async execute(input, ctx) {
110
107
  const p = input;
111
- return apiRequest(key(ctx), "PUT", "/users/tags/edit", {
108
+ return apiRequest(ctx, "PUT", "users/tags/edit", {
112
109
  id: p.id,
113
110
  remove: JSON.stringify(p.tags.split(",").map((t) => t.trim())),
114
111
  });
@@ -135,7 +132,7 @@ export default function vero(rl) {
135
132
  body.data = JSON.stringify(p.data);
136
133
  if (p.extras)
137
134
  body.extras = JSON.stringify(p.extras);
138
- return apiRequest(key(ctx), "POST", "/events/track", body);
135
+ return apiRequest(ctx, "POST", "events/track", body);
139
136
  },
140
137
  });
141
138
  }
@@ -0,0 +1,17 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An API key and secret, added by the transport as the api_key and api_secret fields of Vonage's SMS form. */
3
+ export const vonageCredential = staticCredential({
4
+ id: "vonage",
5
+ auth: {
6
+ kind: "static",
7
+ parts: ["key", "secret"],
8
+ placements: [
9
+ { in: "body", part: "key", name: "api_key" },
10
+ { in: "body", part: "secret", name: "api_secret" },
11
+ ],
12
+ },
13
+ local: { key: "apiKey", secret: "apiSecret" },
14
+ targets: {
15
+ sms: { baseUrl: "https://rest.nexmo.com/sms/", methods: ["POST"] },
16
+ },
17
+ });
@@ -1,6 +1,9 @@
1
+ import { credentialJson } from "../../_shared/credentials.js";
2
+ import { vonageCredential } from "./credentials.js";
1
3
  export default function vonage(rl) {
2
4
  rl.setName("vonage");
3
5
  rl.setVersion("0.1.0");
6
+ rl.setCredential(vonageCredential);
4
7
  rl.setConnectionSchema({
5
8
  apiKey: {
6
9
  type: "string",
@@ -42,27 +45,20 @@ export default function vonage(rl) {
42
45
  },
43
46
  },
44
47
  async execute(input, ctx) {
45
- const c = ctx.connection.config;
46
48
  const p = input;
47
- const form = new URLSearchParams();
48
- form.set("api_key", c.apiKey);
49
- form.set("api_secret", c.apiSecret);
50
- form.set("from", p.from);
51
- form.set("to", p.to);
52
- form.set("text", p.text);
53
- form.set("type", "text");
54
- if (p.ttl)
55
- form.set("ttl", String(p.ttl * 60000));
56
- if (p.callback)
57
- form.set("callback", p.callback);
58
- const res = await fetch("https://rest.nexmo.com/sms/json", {
49
+ const data = await credentialJson(ctx, vonageCredential, "vonage", {
50
+ target: "sms",
51
+ path: "json",
59
52
  method: "POST",
60
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
61
- body: form,
53
+ form: {
54
+ from: p.from,
55
+ to: p.to,
56
+ text: p.text,
57
+ type: "text",
58
+ ttl: p.ttl ? p.ttl * 60000 : undefined,
59
+ callback: p.callback,
60
+ },
62
61
  });
63
- if (!res.ok)
64
- throw new Error(`Vonage error ${res.status}: ${await res.text()}`);
65
- const data = (await res.json());
66
62
  return data.messages;
67
63
  },
68
64
  });
@@ -0,0 +1,16 @@
1
+ import { httpsBase, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * A login token, sent as a bearer to the /api surface of the
4
+ * connection's own Wekan server.
5
+ */
6
+ export const wekanCredential = staticCredential({
7
+ id: "wekan",
8
+ auth: { kind: "bearer" },
9
+ local: { secret: "token" },
10
+ targets: (config) => ({
11
+ api: {
12
+ baseUrl: httpsBase(config.url, "api/"),
13
+ methods: ["GET", "POST", "PUT", "DELETE"],
14
+ },
15
+ }),
16
+ });