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,45 +1,30 @@
1
- const BASE = "https://api.stripe.com/v1";
2
- async function apiRequest(secretKey, 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
- }
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { stripeCredential } from "./credentials.js";
3
+ /** Stripe's form keys for nested objects: `metadata[plan]`. */
4
+ function flatten(obj, prefix = "") {
5
+ const out = {};
6
+ for (const [k, v] of Object.entries(obj)) {
7
+ const key = prefix ? `${prefix}[${k}]` : k;
8
+ if (v && typeof v === "object" && !Array.isArray(v))
9
+ Object.assign(out, flatten(v, key));
10
+ else
11
+ out[key] = v;
9
12
  }
10
- const init = {
13
+ return out;
14
+ }
15
+ function apiRequest(ctx, method, path, body, qs) {
16
+ return credentialJson(ctx, stripeCredential, "stripe", {
17
+ target: "api",
18
+ path,
11
19
  method,
12
- headers: { Authorization: `Bearer ${secretKey}` },
13
- };
14
- if (body && Object.keys(body).length > 0) {
15
- const form = new URLSearchParams();
16
- function flatten(obj, prefix = "") {
17
- for (const [k, v] of Object.entries(obj)) {
18
- const key = prefix ? `${prefix}[${k}]` : k;
19
- if (v !== null &&
20
- v !== undefined &&
21
- typeof v === "object" &&
22
- !Array.isArray(v)) {
23
- flatten(v, key);
24
- }
25
- else if (v !== null && v !== undefined) {
26
- form.set(key, String(v));
27
- }
28
- }
29
- }
30
- flatten(body);
31
- init.body = form;
32
- init.headers["Content-Type"] =
33
- "application/x-www-form-urlencoded";
34
- }
35
- const res = await fetch(url.toString(), init);
36
- if (!res.ok)
37
- throw new Error(`Stripe error ${res.status}: ${await res.text()}`);
38
- return res.json();
20
+ query: qs,
21
+ ...(body && Object.keys(body).length > 0 ? { form: flatten(body) } : {}),
22
+ });
39
23
  }
40
24
  export default function stripe(rl) {
41
25
  rl.setName("stripe");
42
26
  rl.setVersion("0.1.0");
27
+ rl.setCredential(stripeCredential);
43
28
  rl.setConnectionSchema({
44
29
  secretKey: {
45
30
  type: "string",
@@ -48,14 +33,13 @@ export default function stripe(rl) {
48
33
  env: "STRIPE_SECRET_KEY",
49
34
  },
50
35
  });
51
- const key = (ctx) => ctx.connection.config.secretKey;
52
36
  // ── Balance ─────────────────────────────────────────
53
37
  rl.registerAction("balance.get", {
54
38
  access: "read",
55
39
  description: "Get current balance",
56
40
  inputSchema: {},
57
41
  async execute(_input, ctx) {
58
- return apiRequest(key(ctx), "GET", "/balance");
42
+ return apiRequest(ctx, "GET", "balance");
59
43
  },
60
44
  });
61
45
  // ── Customer ────────────────────────────────────────
@@ -69,7 +53,7 @@ export default function stripe(rl) {
69
53
  description: { type: "string", required: false },
70
54
  },
71
55
  async execute(input, ctx) {
72
- return apiRequest(key(ctx), "POST", "/customers", input);
56
+ return apiRequest(ctx, "POST", "customers", input);
73
57
  },
74
58
  });
75
59
  rl.registerAction("customer.get", {
@@ -77,7 +61,7 @@ export default function stripe(rl) {
77
61
  description: "Get a customer by ID",
78
62
  inputSchema: { customerId: { type: "string", required: true } },
79
63
  async execute(input, ctx) {
80
- return apiRequest(key(ctx), "GET", `/customers/${input.customerId}`);
64
+ return apiRequest(ctx, "GET", `customers/${pathSegment(input.customerId)}`);
81
65
  },
82
66
  });
83
67
  rl.registerAction("customer.list", {
@@ -94,7 +78,7 @@ export default function stripe(rl) {
94
78
  qs.limit = p.limit;
95
79
  if (p.email)
96
80
  qs.email = p.email;
97
- const data = (await apiRequest(key(ctx), "GET", "/customers", undefined, qs));
81
+ const data = (await apiRequest(ctx, "GET", "customers", undefined, qs));
98
82
  return data.data;
99
83
  },
100
84
  });
@@ -110,7 +94,7 @@ export default function stripe(rl) {
110
94
  },
111
95
  async execute(input, ctx) {
112
96
  const { customerId, ...fields } = input;
113
- return apiRequest(key(ctx), "POST", `/customers/${customerId}`, fields);
97
+ return apiRequest(ctx, "POST", `customers/${pathSegment(customerId)}`, fields);
114
98
  },
115
99
  });
116
100
  rl.registerAction("customer.delete", {
@@ -118,7 +102,7 @@ export default function stripe(rl) {
118
102
  description: "Delete a customer",
119
103
  inputSchema: { customerId: { type: "string", required: true } },
120
104
  async execute(input, ctx) {
121
- return apiRequest(key(ctx), "DELETE", `/customers/${input.customerId}`);
105
+ return apiRequest(ctx, "DELETE", `customers/${pathSegment(input.customerId)}`);
122
106
  },
123
107
  });
124
108
  // ── Charge ──────────────────────────────────────────
@@ -141,7 +125,7 @@ export default function stripe(rl) {
141
125
  description: { type: "string", required: false },
142
126
  },
143
127
  async execute(input, ctx) {
144
- return apiRequest(key(ctx), "POST", "/charges", input);
128
+ return apiRequest(ctx, "POST", "charges", input);
145
129
  },
146
130
  });
147
131
  rl.registerAction("charge.get", {
@@ -149,7 +133,7 @@ export default function stripe(rl) {
149
133
  description: "Get a charge by ID",
150
134
  inputSchema: { chargeId: { type: "string", required: true } },
151
135
  async execute(input, ctx) {
152
- return apiRequest(key(ctx), "GET", `/charges/${input.chargeId}`);
136
+ return apiRequest(ctx, "GET", `charges/${pathSegment(input.chargeId)}`);
153
137
  },
154
138
  });
155
139
  rl.registerAction("charge.list", {
@@ -160,7 +144,7 @@ export default function stripe(rl) {
160
144
  const qs = {};
161
145
  if (input?.limit)
162
146
  qs.limit = input.limit;
163
- const data = (await apiRequest(key(ctx), "GET", "/charges", undefined, qs));
147
+ const data = (await apiRequest(ctx, "GET", "charges", undefined, qs));
164
148
  return data.data;
165
149
  },
166
150
  });
@@ -173,7 +157,7 @@ export default function stripe(rl) {
173
157
  },
174
158
  async execute(input, ctx) {
175
159
  const { chargeId, ...fields } = input;
176
- return apiRequest(key(ctx), "POST", `/charges/${chargeId}`, fields);
160
+ return apiRequest(ctx, "POST", `charges/${pathSegment(chargeId)}`, fields);
177
161
  },
178
162
  });
179
163
  // ── Coupon ──────────────────────────────────────────
@@ -203,7 +187,7 @@ export default function stripe(rl) {
203
187
  body.amount_off = p.amountOff;
204
188
  if (p.currency)
205
189
  body.currency = p.currency;
206
- return apiRequest(key(ctx), "POST", "/coupons", body);
190
+ return apiRequest(ctx, "POST", "coupons", body);
207
191
  },
208
192
  });
209
193
  rl.registerAction("coupon.list", {
@@ -214,7 +198,7 @@ export default function stripe(rl) {
214
198
  const qs = {};
215
199
  if (input?.limit)
216
200
  qs.limit = input.limit;
217
- const data = (await apiRequest(key(ctx), "GET", "/coupons", undefined, qs));
201
+ const data = (await apiRequest(ctx, "GET", "coupons", undefined, qs));
218
202
  return data.data;
219
203
  },
220
204
  });
@@ -232,7 +216,9 @@ export default function stripe(rl) {
232
216
  },
233
217
  async execute(input, ctx) {
234
218
  const p = input;
235
- return apiRequest(key(ctx), "POST", `/customers/${p.customerId}/sources`, { source: p.token });
219
+ return apiRequest(ctx, "POST", `customers/${pathSegment(p.customerId)}/sources`, {
220
+ source: p.token,
221
+ });
236
222
  },
237
223
  });
238
224
  rl.registerAction("customerCard.get", {
@@ -244,7 +230,7 @@ export default function stripe(rl) {
244
230
  },
245
231
  async execute(input, ctx) {
246
232
  const p = input;
247
- return apiRequest(key(ctx), "GET", `/customers/${p.customerId}/sources/${p.sourceId}`);
233
+ return apiRequest(ctx, "GET", `customers/${pathSegment(p.customerId)}/sources/${pathSegment(p.sourceId)}`);
248
234
  },
249
235
  });
250
236
  rl.registerAction("customerCard.remove", {
@@ -256,7 +242,7 @@ export default function stripe(rl) {
256
242
  },
257
243
  async execute(input, ctx) {
258
244
  const p = input;
259
- return apiRequest(key(ctx), "DELETE", `/customers/${p.customerId}/sources/${p.cardId}`);
245
+ return apiRequest(ctx, "DELETE", `customers/${pathSegment(p.customerId)}/sources/${pathSegment(p.cardId)}`);
260
246
  },
261
247
  });
262
248
  // ── Source ──────────────────────────────────────────
@@ -271,12 +257,12 @@ export default function stripe(rl) {
271
257
  },
272
258
  async execute(input, ctx) {
273
259
  const p = input;
274
- const source = (await apiRequest(key(ctx), "POST", "/sources", {
260
+ const source = (await apiRequest(ctx, "POST", "sources", {
275
261
  type: p.type,
276
262
  amount: p.amount,
277
263
  currency: p.currency,
278
264
  }));
279
- await apiRequest(key(ctx), "POST", `/customers/${p.customerId}/sources`, {
265
+ await apiRequest(ctx, "POST", `customers/${pathSegment(p.customerId)}/sources`, {
280
266
  source: source.id,
281
267
  });
282
268
  return source;
@@ -287,7 +273,7 @@ export default function stripe(rl) {
287
273
  description: "Get a source by ID",
288
274
  inputSchema: { sourceId: { type: "string", required: true } },
289
275
  async execute(input, ctx) {
290
- return apiRequest(key(ctx), "GET", `/sources/${input.sourceId}`);
276
+ return apiRequest(ctx, "GET", `sources/${pathSegment(input.sourceId)}`);
291
277
  },
292
278
  });
293
279
  rl.registerAction("source.delete", {
@@ -299,7 +285,7 @@ export default function stripe(rl) {
299
285
  },
300
286
  async execute(input, ctx) {
301
287
  const p = input;
302
- return apiRequest(key(ctx), "DELETE", `/customers/${p.customerId}/sources/${p.sourceId}`);
288
+ return apiRequest(ctx, "DELETE", `customers/${pathSegment(p.customerId)}/sources/${pathSegment(p.sourceId)}`);
303
289
  },
304
290
  });
305
291
  // ── Token ───────────────────────────────────────────
@@ -314,7 +300,7 @@ export default function stripe(rl) {
314
300
  },
315
301
  async execute(input, ctx) {
316
302
  const p = input;
317
- return apiRequest(key(ctx), "POST", "/tokens", {
303
+ return apiRequest(ctx, "POST", "tokens", {
318
304
  card: {
319
305
  number: p.number,
320
306
  exp_month: p.expMonth,
@@ -349,7 +335,7 @@ export default function stripe(rl) {
349
335
  body.identifier = p.identifier;
350
336
  if (p.timestamp)
351
337
  body.timestamp = Math.floor(new Date(p.timestamp).getTime() / 1000);
352
- return apiRequest(key(ctx), "POST", "/billing/meter_events", body);
338
+ return apiRequest(ctx, "POST", "billing/meter_events", body);
353
339
  },
354
340
  });
355
341
  }
@@ -0,0 +1,30 @@
1
+ import { httpsBase, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * The service-role key, sent twice as Supabase requires: as the apikey
4
+ * header and as a bearer, to the project's own PostgREST base beneath
5
+ * /rest/v1/. The project URL is public config and must be HTTPS.
6
+ */
7
+ export const supabaseCredential = staticCredential({
8
+ id: "supabase",
9
+ auth: {
10
+ kind: "static",
11
+ parts: ["serviceRole"],
12
+ placements: [
13
+ { in: "header", part: "serviceRole", name: "apikey" },
14
+ {
15
+ in: "header",
16
+ part: "serviceRole",
17
+ name: "Authorization",
18
+ prefix: "Bearer ",
19
+ },
20
+ ],
21
+ },
22
+ local: { serviceRole: "serviceRole" },
23
+ targets: (config) => ({
24
+ rest: {
25
+ baseUrl: httpsBase(config.host, "rest/v1/"),
26
+ methods: ["GET", "POST", "PATCH", "DELETE"],
27
+ allowedHeaders: ["Prefer", "Accept-Profile", "Content-Profile"],
28
+ },
29
+ }),
30
+ });
@@ -1,37 +1,20 @@
1
- function getConn(ctx) {
2
- const c = ctx.connection.config;
3
- return {
4
- host: c.host.replace(/\/$/, ""),
5
- serviceRole: c.serviceRole,
6
- };
7
- }
8
- async function apiRequest(conn, method, endpoint, body, qs, extraHeaders) {
9
- const url = new URL(`${conn.host}/rest/v1${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 headers = {
17
- apikey: conn.serviceRole,
18
- Authorization: `Bearer ${conn.serviceRole}`,
19
- Prefer: "return=representation",
20
- "Content-Type": "application/json",
21
- ...extraHeaders,
22
- };
23
- const init = { method, headers };
24
- if (body !== undefined)
25
- init.body = JSON.stringify(body);
26
- const res = await fetch(url.toString(), init);
27
- if (!res.ok)
28
- throw new Error(`Supabase error ${res.status}: ${await res.text()}`);
29
- const text = await res.text();
30
- return text ? JSON.parse(text) : {};
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { supabaseCredential } from "./credentials.js";
3
+ /** A table's rows, answered back as written (`Prefer: return=representation`). */
4
+ function apiRequest(ctx, method, table, body, query, headers) {
5
+ return credentialJson(ctx, supabaseCredential, "supabase", {
6
+ target: "rest",
7
+ path: pathSegment(table),
8
+ method,
9
+ query,
10
+ headers: { Prefer: "return=representation", ...headers },
11
+ ...(body !== undefined ? { json: body } : {}),
12
+ });
31
13
  }
32
14
  export default function supabase(rl) {
33
15
  rl.setName("supabase");
34
16
  rl.setVersion("0.1.0");
17
+ rl.setCredential(supabaseCredential);
35
18
  rl.setConnectionSchema({
36
19
  host: {
37
20
  type: "string",
@@ -63,12 +46,11 @@ export default function supabase(rl) {
63
46
  },
64
47
  },
65
48
  async execute(input, ctx) {
66
- const conn = getConn(ctx);
67
49
  const p = input;
68
50
  const headers = {};
69
51
  if (p.schema && p.schema !== "public")
70
52
  headers["Content-Profile"] = p.schema;
71
- return apiRequest(conn, "POST", `/${p.table}`, p.data, undefined, headers);
53
+ return apiRequest(ctx, "POST", p.table, p.data, undefined, headers);
72
54
  },
73
55
  });
74
56
  rl.registerAction("row.get", {
@@ -84,12 +66,11 @@ export default function supabase(rl) {
84
66
  schema: { type: "string", required: false },
85
67
  },
86
68
  async execute(input, ctx) {
87
- const conn = getConn(ctx);
88
69
  const p = input;
89
70
  const headers = {};
90
71
  if (p.schema && p.schema !== "public")
91
72
  headers["Accept-Profile"] = p.schema;
92
- return apiRequest(conn, "GET", `/${p.table}`, undefined, p.filters, headers);
73
+ return apiRequest(ctx, "GET", p.table, undefined, p.filters, headers);
93
74
  },
94
75
  });
95
76
  rl.registerAction("row.list", {
@@ -106,7 +87,6 @@ export default function supabase(rl) {
106
87
  schema: { type: "string", required: false },
107
88
  },
108
89
  async execute(input, ctx) {
109
- const conn = getConn(ctx);
110
90
  const p = (input ?? {});
111
91
  const qs = {
112
92
  ...(p.filters ?? {}),
@@ -116,7 +96,7 @@ export default function supabase(rl) {
116
96
  const headers = {};
117
97
  if (p.schema && p.schema !== "public")
118
98
  headers["Accept-Profile"] = p.schema;
119
- return apiRequest(conn, "GET", `/${p.table}`, undefined, qs, headers);
99
+ return apiRequest(ctx, "GET", p.table, undefined, qs, headers);
120
100
  },
121
101
  });
122
102
  rl.registerAction("row.update", {
@@ -133,12 +113,11 @@ export default function supabase(rl) {
133
113
  schema: { type: "string", required: false },
134
114
  },
135
115
  async execute(input, ctx) {
136
- const conn = getConn(ctx);
137
116
  const p = input;
138
117
  const headers = {};
139
118
  if (p.schema && p.schema !== "public")
140
119
  headers["Content-Profile"] = p.schema;
141
- return apiRequest(conn, "PATCH", `/${p.table}`, p.data, p.filters, headers);
120
+ return apiRequest(ctx, "PATCH", p.table, p.data, p.filters, headers);
142
121
  },
143
122
  });
144
123
  rl.registerAction("row.delete", {
@@ -154,12 +133,11 @@ export default function supabase(rl) {
154
133
  schema: { type: "string", required: false },
155
134
  },
156
135
  async execute(input, ctx) {
157
- const conn = getConn(ctx);
158
136
  const p = input;
159
137
  const headers = {};
160
138
  if (p.schema && p.schema !== "public")
161
139
  headers["Content-Profile"] = p.schema;
162
- return apiRequest(conn, "DELETE", `/${p.table}`, undefined, p.filters, headers);
140
+ return apiRequest(ctx, "DELETE", p.table, undefined, p.filters, headers);
163
141
  },
164
142
  });
165
143
  }
@@ -0,0 +1,16 @@
1
+ import { hostLabel, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * An API key, appended by the transport as the api_key query parameter
4
+ * on the account's own SyncroMSP subdomain.
5
+ */
6
+ export const syncromspCredential = staticCredential({
7
+ id: "syncromsp",
8
+ auth: { kind: "queryKey", param: "api_key" },
9
+ local: { secret: "apiKey" },
10
+ targets: (config) => ({
11
+ api: {
12
+ baseUrl: `https://${hostLabel(config.subdomain)}.syncromsp.com/api/v1/`,
13
+ methods: ["GET", "POST", "PUT", "DELETE"],
14
+ },
15
+ }),
16
+ });