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,38 +1,19 @@
1
- function getConn(ctx) {
2
- const c = ctx.connection.config;
3
- return {
4
- subdomain: c.subdomain,
5
- email: c.email,
6
- apiToken: c.apiToken,
7
- };
8
- }
9
- async function api(conn, method, endpoint, body, qs) {
10
- const url = new URL(`https://${conn.subdomain}.zendesk.com/api/v2${endpoint}.json`);
11
- if (qs) {
12
- for (const [k, v] of Object.entries(qs)) {
13
- if (v !== undefined && v !== null)
14
- url.searchParams.set(k, String(v));
15
- }
16
- }
17
- const init = {
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { zendeskCredential } from "./credentials.js";
3
+ /** One Zendesk call: every endpoint is a .json path beneath /api/v2/. */
4
+ function api(ctx, method, endpoint, body, qs) {
5
+ return credentialJson(ctx, zendeskCredential, "zendesk", {
6
+ target: "api",
7
+ path: `${endpoint}.json`,
18
8
  method,
19
- headers: {
20
- Authorization: `Basic ${btoa(`${conn.email}/token:${conn.apiToken}`)}`,
21
- "Content-Type": "application/json",
22
- },
23
- };
24
- if (body && Object.keys(body).length > 0)
25
- init.body = JSON.stringify(body);
26
- const res = await fetch(url.toString(), init);
27
- if (!res.ok)
28
- throw new Error(`Zendesk error ${res.status}: ${await res.text()}`);
29
- if (res.status === 204)
30
- return { success: true };
31
- return res.json();
9
+ query: qs,
10
+ ...(body && Object.keys(body).length > 0 ? { json: body } : {}),
11
+ });
32
12
  }
33
13
  export default function zendesk(rl) {
34
14
  rl.setName("zendesk");
35
15
  rl.setVersion("0.1.0");
16
+ rl.setCredential(zendeskCredential);
36
17
  rl.setConnectionSchema({
37
18
  subdomain: {
38
19
  type: "string",
@@ -83,7 +64,7 @@ export default function zendesk(rl) {
83
64
  ticket.tags = p.tags;
84
65
  if (p.customFields)
85
66
  ticket.custom_fields = p.customFields;
86
- const data = (await api(getConn(ctx), "POST", "/tickets", {
67
+ const data = (await api(ctx, "POST", "tickets", {
87
68
  ticket,
88
69
  }));
89
70
  return data.ticket;
@@ -94,7 +75,7 @@ export default function zendesk(rl) {
94
75
  description: "Get a ticket",
95
76
  inputSchema: { id: { type: "string", required: true } },
96
77
  async execute(input, ctx) {
97
- const data = (await api(getConn(ctx), "GET", `/tickets/${input.id}`));
78
+ const data = (await api(ctx, "GET", `tickets/${pathSegment(input.id)}`));
98
79
  return data.ticket;
99
80
  },
100
81
  });
@@ -120,7 +101,7 @@ export default function zendesk(rl) {
120
101
  const qs = { query: q };
121
102
  if (p.limit)
122
103
  qs.per_page = p.limit;
123
- const data = (await api(getConn(ctx), "GET", "/search", undefined, qs));
104
+ const data = (await api(ctx, "GET", "search", undefined, qs));
124
105
  return data.results;
125
106
  },
126
107
  });
@@ -137,7 +118,7 @@ export default function zendesk(rl) {
137
118
  },
138
119
  async execute(input, ctx) {
139
120
  const p = input;
140
- const data = (await api(getConn(ctx), "PUT", `/tickets/${p.id}`, {
121
+ const data = (await api(ctx, "PUT", `tickets/${pathSegment(p.id)}`, {
141
122
  ticket: p.data,
142
123
  }));
143
124
  return data.ticket;
@@ -148,7 +129,7 @@ export default function zendesk(rl) {
148
129
  description: "Delete a ticket",
149
130
  inputSchema: { id: { type: "string", required: true } },
150
131
  async execute(input, ctx) {
151
- await api(getConn(ctx), "DELETE", `/tickets/${input.id}`);
132
+ await api(ctx, "DELETE", `tickets/${pathSegment(input.id)}`);
152
133
  return { success: true };
153
134
  },
154
135
  });
@@ -162,7 +143,7 @@ export default function zendesk(rl) {
162
143
  role: { type: "string", required: false },
163
144
  },
164
145
  async execute(input, ctx) {
165
- const data = (await api(getConn(ctx), "POST", "/users", {
146
+ const data = (await api(ctx, "POST", "users", {
166
147
  user: input,
167
148
  }));
168
149
  return data.user;
@@ -173,7 +154,7 @@ export default function zendesk(rl) {
173
154
  description: "Get a user",
174
155
  inputSchema: { id: { type: "string", required: true } },
175
156
  async execute(input, ctx) {
176
- const data = (await api(getConn(ctx), "GET", `/users/${input.id}`));
157
+ const data = (await api(ctx, "GET", `users/${pathSegment(input.id)}`));
177
158
  return data.user;
178
159
  },
179
160
  });
@@ -185,7 +166,7 @@ export default function zendesk(rl) {
185
166
  const qs = {};
186
167
  if (input?.limit)
187
168
  qs.per_page = input.limit;
188
- const data = (await api(getConn(ctx), "GET", "/users", undefined, qs));
169
+ const data = (await api(ctx, "GET", "users", undefined, qs));
189
170
  return data.users;
190
171
  },
191
172
  });
@@ -198,7 +179,7 @@ export default function zendesk(rl) {
198
179
  },
199
180
  async execute(input, ctx) {
200
181
  const p = input;
201
- const data = (await api(getConn(ctx), "PUT", `/users/${p.id}`, {
182
+ const data = (await api(ctx, "PUT", `users/${pathSegment(p.id)}`, {
202
183
  user: p.data,
203
184
  }));
204
185
  return data.user;
@@ -209,7 +190,7 @@ export default function zendesk(rl) {
209
190
  description: "Delete a user",
210
191
  inputSchema: { id: { type: "string", required: true } },
211
192
  async execute(input, ctx) {
212
- const data = (await api(getConn(ctx), "DELETE", `/users/${input.id}`));
193
+ const data = (await api(ctx, "DELETE", `users/${pathSegment(input.id)}`));
213
194
  return data.user;
214
195
  },
215
196
  });
@@ -225,7 +206,7 @@ export default function zendesk(rl) {
225
206
  const qs = { query: p.query };
226
207
  if (p.limit)
227
208
  qs.per_page = p.limit;
228
- const data = (await api(getConn(ctx), "GET", "/users/search", undefined, qs));
209
+ const data = (await api(ctx, "GET", "users/search", undefined, qs));
229
210
  return data.users;
230
211
  },
231
212
  });
@@ -235,7 +216,7 @@ export default function zendesk(rl) {
235
216
  description: "Create an organization",
236
217
  inputSchema: { name: { type: "string", required: true } },
237
218
  async execute(input, ctx) {
238
- const data = (await api(getConn(ctx), "POST", "/organizations", {
219
+ const data = (await api(ctx, "POST", "organizations", {
239
220
  organization: input,
240
221
  }));
241
222
  return data.organization;
@@ -246,7 +227,7 @@ export default function zendesk(rl) {
246
227
  description: "Get an organization",
247
228
  inputSchema: { id: { type: "string", required: true } },
248
229
  async execute(input, ctx) {
249
- const data = (await api(getConn(ctx), "GET", `/organizations/${input.id}`));
230
+ const data = (await api(ctx, "GET", `organizations/${pathSegment(input.id)}`));
250
231
  return data.organization;
251
232
  },
252
233
  });
@@ -258,7 +239,7 @@ export default function zendesk(rl) {
258
239
  const qs = {};
259
240
  if (input?.limit)
260
241
  qs.per_page = input.limit;
261
- const data = (await api(getConn(ctx), "GET", "/organizations", undefined, qs));
242
+ const data = (await api(ctx, "GET", "organizations", undefined, qs));
262
243
  return data.organizations;
263
244
  },
264
245
  });
@@ -271,7 +252,7 @@ export default function zendesk(rl) {
271
252
  },
272
253
  async execute(input, ctx) {
273
254
  const p = input;
274
- const data = (await api(getConn(ctx), "PUT", `/organizations/${p.id}`, {
255
+ const data = (await api(ctx, "PUT", `organizations/${pathSegment(p.id)}`, {
275
256
  organization: p.data,
276
257
  }));
277
258
  return data.organization;
@@ -282,7 +263,7 @@ export default function zendesk(rl) {
282
263
  description: "Delete an organization",
283
264
  inputSchema: { id: { type: "string", required: true } },
284
265
  async execute(input, ctx) {
285
- await api(getConn(ctx), "DELETE", `/organizations/${input.id}`);
266
+ await api(ctx, "DELETE", `organizations/${pathSegment(input.id)}`);
286
267
  return { success: true };
287
268
  },
288
269
  });
@@ -292,7 +273,7 @@ export default function zendesk(rl) {
292
273
  description: "Get a ticket field",
293
274
  inputSchema: { id: { type: "string", required: true } },
294
275
  async execute(input, ctx) {
295
- const data = (await api(getConn(ctx), "GET", `/ticket_fields/${input.id}`));
276
+ const data = (await api(ctx, "GET", `ticket_fields/${pathSegment(input.id)}`));
296
277
  return data.ticket_field;
297
278
  },
298
279
  });
@@ -301,7 +282,7 @@ export default function zendesk(rl) {
301
282
  description: "List ticket fields",
302
283
  inputSchema: {},
303
284
  async execute(_input, ctx) {
304
- const data = (await api(getConn(ctx), "GET", "/ticket_fields"));
285
+ const data = (await api(ctx, "GET", "ticket_fields"));
305
286
  return data.ticket_fields;
306
287
  },
307
288
  });
@@ -0,0 +1,17 @@
1
+ import { httpsBase, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * An OAuth2 access token, sent as `Authorization: Zoho-oauthtoken …` to the
4
+ * CRM API on the connection's data-center domain.
5
+ */
6
+ export const zohoCredential = staticCredential({
7
+ id: "zoho",
8
+ auth: { kind: "apiKey", header: "Authorization", prefix: "Zoho-oauthtoken " },
9
+ local: { secret: "accessToken" },
10
+ targets: (config) => ({
11
+ api: {
12
+ baseUrl: httpsBase((typeof config.apiDomain === "string" && config.apiDomain) ||
13
+ "https://www.zohoapis.com", "crm/v2/"),
14
+ methods: ["GET", "POST", "PUT", "DELETE"],
15
+ },
16
+ }),
17
+ });
@@ -1,33 +1,13 @@
1
- function getConn(ctx) {
2
- const c = ctx.connection.config;
3
- return {
4
- accessToken: c.accessToken,
5
- apiDomain: (c.apiDomain || "https://www.zohoapis.com").replace(/\/$/, ""),
6
- };
7
- }
8
- async function api(conn, method, endpoint, body, qs) {
9
- const url = new URL(`${conn.apiDomain}/crm/v2${endpoint}`);
10
- if (qs) {
11
- for (const [k, v] of Object.entries(qs)) {
12
- if (v !== undefined && v !== null)
13
- url.searchParams.set(k, String(v));
14
- }
15
- }
16
- const init = {
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { zohoCredential } from "./credentials.js";
3
+ function api(ctx, method, endpoint, body, qs) {
4
+ return credentialJson(ctx, zohoCredential, "zoho", {
5
+ target: "api",
6
+ path: endpoint,
17
7
  method,
18
- headers: {
19
- Authorization: `Zoho-oauthtoken ${conn.accessToken}`,
20
- "Content-Type": "application/json",
21
- },
22
- };
23
- if (body && Object.keys(body).length > 0)
24
- init.body = JSON.stringify({ data: [body] });
25
- const res = await fetch(url.toString(), init);
26
- if (!res.ok)
27
- throw new Error(`Zoho CRM error ${res.status}: ${await res.text()}`);
28
- if (res.status === 204)
29
- return { success: true };
30
- return res.json();
8
+ query: qs,
9
+ ...(body && Object.keys(body).length > 0 ? { json: { data: [body] } } : {}),
10
+ });
31
11
  }
32
12
  const MODULES = {
33
13
  account: "Accounts",
@@ -41,7 +21,7 @@ const MODULES = {
41
21
  vendor: "Vendors",
42
22
  quote: "Quotes",
43
23
  };
44
- function registerCrmResource(rl, resource, conn) {
24
+ function registerCrmResource(rl, resource) {
45
25
  const mod = MODULES[resource];
46
26
  rl.registerAction(`${resource}.create`, {
47
27
  access: "write",
@@ -50,7 +30,7 @@ function registerCrmResource(rl, resource, conn) {
50
30
  data: { type: "object", required: true, description: "Record fields" },
51
31
  },
52
32
  async execute(input, ctx) {
53
- const data = (await api(conn(ctx), "POST", `/${mod}`, input.data));
33
+ const data = (await api(ctx, "POST", `${mod}`, input.data));
54
34
  return data.data;
55
35
  },
56
36
  });
@@ -59,7 +39,7 @@ function registerCrmResource(rl, resource, conn) {
59
39
  description: `Get a ${resource} by ID`,
60
40
  inputSchema: { id: { type: "string", required: true } },
61
41
  async execute(input, ctx) {
62
- const data = (await api(conn(ctx), "GET", `/${mod}/${input.id}`));
42
+ const data = (await api(ctx, "GET", `${mod}/${pathSegment(input.id)}`));
63
43
  return data.data;
64
44
  },
65
45
  });
@@ -81,7 +61,7 @@ function registerCrmResource(rl, resource, conn) {
81
61
  qs.per_page = p.limit;
82
62
  if (p.fields)
83
63
  qs.fields = p.fields;
84
- const data = (await api(conn(ctx), "GET", `/${mod}`, undefined, qs));
64
+ const data = (await api(ctx, "GET", `${mod}`, undefined, qs));
85
65
  return data.data ?? [];
86
66
  },
87
67
  });
@@ -95,7 +75,7 @@ function registerCrmResource(rl, resource, conn) {
95
75
  async execute(input, ctx) {
96
76
  const p = input;
97
77
  const body = { ...p.data, id: p.id };
98
- const data = (await api(conn(ctx), "PUT", `/${mod}`, body));
78
+ const data = (await api(ctx, "PUT", `${mod}`, body));
99
79
  return data.data;
100
80
  },
101
81
  });
@@ -104,7 +84,7 @@ function registerCrmResource(rl, resource, conn) {
104
84
  description: `Delete a ${resource}`,
105
85
  inputSchema: { id: { type: "string", required: true } },
106
86
  async execute(input, ctx) {
107
- const data = (await api(conn(ctx), "DELETE", `/${mod}`, undefined, {
87
+ const data = (await api(ctx, "DELETE", `${mod}`, undefined, {
108
88
  ids: input.id,
109
89
  }));
110
90
  return data.data;
@@ -124,13 +104,12 @@ function registerCrmResource(rl, resource, conn) {
124
104
  async execute(input, ctx) {
125
105
  const p = input;
126
106
  const body = p.data;
127
- const qs = {};
128
107
  if (p.duplicateCheckFields) {
129
108
  body.duplicate_check_fields = p.duplicateCheckFields
130
109
  .split(",")
131
110
  .map((f) => f.trim());
132
111
  }
133
- const data = (await api(conn(ctx), "POST", `/${mod}/upsert`, body));
112
+ const data = (await api(ctx, "POST", `${mod}/upsert`, body));
134
113
  return data.data;
135
114
  },
136
115
  });
@@ -138,6 +117,7 @@ function registerCrmResource(rl, resource, conn) {
138
117
  export default function zoho(rl) {
139
118
  rl.setName("zoho");
140
119
  rl.setVersion("0.1.0");
120
+ rl.setCredential(zohoCredential);
141
121
  rl.setConnectionSchema({
142
122
  accessToken: {
143
123
  type: "string",
@@ -153,6 +133,6 @@ export default function zoho(rl) {
153
133
  },
154
134
  });
155
135
  for (const resource of Object.keys(MODULES)) {
156
- registerCrmResource(rl, resource, getConn);
136
+ registerCrmResource(rl, resource);
157
137
  }
158
138
  }
@@ -0,0 +1,19 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An access token, sent as a bearer to Zoom's one API origin. */
3
+ export const zoomCredential = staticCredential({
4
+ id: "zoom",
5
+ auth: { kind: "bearer" },
6
+ local: { secret: "accessToken" },
7
+ targets: {
8
+ api: {
9
+ baseUrl: "https://api.zoom.us/v2/",
10
+ methods: ["GET", "POST", "PATCH", "DELETE"],
11
+ },
12
+ },
13
+ probe: {
14
+ target: "api",
15
+ path: "users/me",
16
+ method: "GET",
17
+ acceptedStatuses: [200],
18
+ },
19
+ });
@@ -1,32 +1,18 @@
1
- const BASE = "https://api.zoom.us/v2";
2
- async function apiRequest(token, method, endpoint, body, qs) {
3
- const url = new URL(`${BASE}${endpoint}`);
4
- if (qs) {
5
- for (const [k, v] of Object.entries(qs)) {
6
- if (v !== undefined && v !== null)
7
- url.searchParams.set(k, String(v));
8
- }
9
- }
10
- const init = {
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { zoomCredential } from "./credentials.js";
3
+ async function apiRequest(ctx, method, path, body, qs) {
4
+ return credentialJson(ctx, zoomCredential, "zoom", {
5
+ target: "api",
6
+ path,
11
7
  method,
12
- headers: {
13
- Authorization: `Bearer ${token}`,
14
- "Content-Type": "application/json",
15
- },
16
- };
17
- if (body && Object.keys(body).length > 0)
18
- init.body = JSON.stringify(body);
19
- const res = await fetch(url.toString(), init);
20
- if (res.status === 204)
21
- return { success: true };
22
- if (!res.ok)
23
- throw new Error(`Zoom error ${res.status}: ${await res.text()}`);
24
- const text = await res.text();
25
- return text ? JSON.parse(text) : { success: true };
8
+ query: qs,
9
+ ...(body && Object.keys(body).length > 0 ? { json: body } : {}),
10
+ });
26
11
  }
27
12
  export default function zoom(rl) {
28
13
  rl.setName("zoom");
29
14
  rl.setVersion("0.1.0");
15
+ rl.setCredential(zoomCredential);
30
16
  rl.setConnectionSchema({
31
17
  accessToken: {
32
18
  type: "string",
@@ -35,7 +21,6 @@ export default function zoom(rl) {
35
21
  env: "ZOOM_ACCESS_TOKEN",
36
22
  },
37
23
  });
38
- const key = (ctx) => ctx.connection.config.accessToken;
39
24
  rl.registerAction("meeting.create", {
40
25
  access: "write",
41
26
  description: "Create a Zoom meeting",
@@ -82,7 +67,7 @@ export default function zoom(rl) {
82
67
  body.agenda = p.agenda;
83
68
  if (p.settings)
84
69
  body.settings = p.settings;
85
- return apiRequest(key(ctx), "POST", "/users/me/meetings", body);
70
+ return apiRequest(ctx, "POST", "users/me/meetings", body);
86
71
  },
87
72
  });
88
73
  rl.registerAction("meeting.get", {
@@ -90,7 +75,7 @@ export default function zoom(rl) {
90
75
  description: "Get a meeting by ID",
91
76
  inputSchema: { meetingId: { type: "string", required: true } },
92
77
  async execute(input, ctx) {
93
- return apiRequest(key(ctx), "GET", `/meetings/${input.meetingId}`);
78
+ return apiRequest(ctx, "GET", `meetings/${pathSegment(input.meetingId)}`);
94
79
  },
95
80
  });
96
81
  rl.registerAction("meeting.list", {
@@ -111,7 +96,7 @@ export default function zoom(rl) {
111
96
  qs.page_size = p.limit;
112
97
  if (p.type)
113
98
  qs.type = p.type;
114
- const data = (await apiRequest(key(ctx), "GET", "/users/me/meetings", undefined, qs));
99
+ const data = (await apiRequest(ctx, "GET", "users/me/meetings", undefined, qs));
115
100
  return data.meetings;
116
101
  },
117
102
  });
@@ -145,7 +130,7 @@ export default function zoom(rl) {
145
130
  body.agenda = fields.agenda;
146
131
  if (fields.settings)
147
132
  body.settings = fields.settings;
148
- await apiRequest(key(ctx), "PATCH", `/meetings/${meetingId}`, body);
133
+ await apiRequest(ctx, "PATCH", `meetings/${pathSegment(meetingId)}`, body);
149
134
  return { success: true };
150
135
  },
151
136
  });
@@ -154,7 +139,7 @@ export default function zoom(rl) {
154
139
  description: "Delete a meeting",
155
140
  inputSchema: { meetingId: { type: "string", required: true } },
156
141
  async execute(input, ctx) {
157
- await apiRequest(key(ctx), "DELETE", `/meetings/${input.meetingId}`);
142
+ await apiRequest(ctx, "DELETE", `meetings/${pathSegment(input.meetingId)}`);
158
143
  return { success: true };
159
144
  },
160
145
  });
@@ -0,0 +1,16 @@
1
+ import { httpsBase, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * The bot's email and API key as a Basic pair, beneath the connection's
4
+ * own Zulip server. The server must be HTTPS.
5
+ */
6
+ export const zulipCredential = staticCredential({
7
+ id: "zulip",
8
+ auth: { kind: "basic" },
9
+ local: { username: "email", password: "apiKey" },
10
+ targets: (config) => ({
11
+ api: {
12
+ baseUrl: httpsBase(config.url, "api/v1/"),
13
+ methods: ["GET", "POST", "PATCH", "DELETE"],
14
+ },
15
+ }),
16
+ });