runline 0.33.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) 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 +21 -8
  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 +184 -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 +177 -10
  15. package/dist/index.d.ts +6 -5
  16. package/dist/index.js +3 -2
  17. package/dist/plugin/api.d.ts +7 -0
  18. package/dist/plugin/api.js +7 -0
  19. package/dist/plugin/schema.d.ts +16 -4
  20. package/dist/plugin/schema.js +28 -5
  21. package/dist/plugin/types.d.ts +20 -0
  22. package/dist/plugins/_shared/base64.js +30 -0
  23. package/dist/plugins/_shared/credentialAdapter.js +99 -15
  24. package/dist/plugins/_shared/credentials.js +416 -0
  25. package/dist/plugins/_shared/googleAuth.js +69 -39
  26. package/dist/plugins/_shared/googleCredentials.js +68 -14
  27. package/dist/plugins/_shared/localFile.js +40 -0
  28. package/dist/plugins/_shared/mediaFile.js +12 -12
  29. package/dist/plugins/_shared/microsoftAuth.js +31 -47
  30. package/dist/plugins/_shared/microsoftCredentials.js +42 -15
  31. package/dist/plugins/_shared/provider.js +2 -14
  32. package/dist/plugins/_shared/shiftCloud.js +16 -56
  33. package/dist/plugins/_shared/shiftCredentials.js +83 -0
  34. package/dist/plugins/_shared/shiftUpload.js +14 -10
  35. package/dist/plugins/actionNetwork/src/credentials.js +14 -0
  36. package/dist/plugins/actionNetwork/src/index.js +39 -50
  37. package/dist/plugins/activeCampaign/src/credentials.js +22 -0
  38. package/dist/plugins/activeCampaign/src/index.js +61 -132
  39. package/dist/plugins/adalo/src/credentials.js +16 -0
  40. package/dist/plugins/adalo/src/index.js +19 -43
  41. package/dist/plugins/affinity/src/credentials.js +19 -0
  42. package/dist/plugins/affinity/src/index.js +29 -54
  43. package/dist/plugins/agentMail/src/credentials.js +35 -0
  44. package/dist/plugins/agentMail/src/drafts.js +137 -0
  45. package/dist/plugins/agentMail/src/inboxes.js +95 -0
  46. package/dist/plugins/agentMail/src/index.js +35 -0
  47. package/dist/plugins/agentMail/src/messages.js +154 -0
  48. package/dist/plugins/agentMail/src/schemas.js +156 -0
  49. package/dist/plugins/agentMail/src/shared.js +203 -0
  50. package/dist/plugins/agentMail/src/threads.js +75 -0
  51. package/dist/plugins/agileCrm/src/credentials.js +16 -0
  52. package/dist/plugins/agileCrm/src/index.js +46 -112
  53. package/dist/plugins/airtable/src/credentials.js +19 -0
  54. package/dist/plugins/airtable/src/index.js +37 -50
  55. package/dist/plugins/airtop/src/credentials.js +20 -0
  56. package/dist/plugins/airtop/src/index.js +51 -75
  57. package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
  58. package/dist/plugins/apiTemplateIo/src/index.js +14 -31
  59. package/dist/plugins/asana/src/credentials.js +19 -0
  60. package/dist/plugins/asana/src/index.js +51 -72
  61. package/dist/plugins/autopilot/src/credentials.js +19 -0
  62. package/dist/plugins/autopilot/src/index.js +38 -45
  63. package/dist/plugins/bambooHr/src/credentials.js +16 -0
  64. package/dist/plugins/bambooHr/src/index.js +41 -67
  65. package/dist/plugins/bannerbear/src/credentials.js +19 -0
  66. package/dist/plugins/bannerbear/src/index.js +15 -27
  67. package/dist/plugins/baserow/src/credentials.js +17 -0
  68. package/dist/plugins/baserow/src/index.js +23 -49
  69. package/dist/plugins/beeminder/src/credentials.js +19 -0
  70. package/dist/plugins/beeminder/src/index.js +32 -54
  71. package/dist/plugins/bitly/src/credentials.js +19 -0
  72. package/dist/plugins/bitly/src/index.js +12 -26
  73. package/dist/plugins/bitwarden/src/credentials.js +62 -0
  74. package/dist/plugins/bitwarden/src/index.js +34 -80
  75. package/dist/plugins/box/src/credentials.js +19 -0
  76. package/dist/plugins/box/src/index.js +24 -49
  77. package/dist/plugins/brandfetch/src/credentials.js +13 -0
  78. package/dist/plugins/brandfetch/src/index.js +12 -17
  79. package/dist/plugins/brevo/src/credentials.js +19 -0
  80. package/dist/plugins/brevo/src/index.js +30 -51
  81. package/dist/plugins/bubble/src/credentials.js +28 -0
  82. package/dist/plugins/bubble/src/index.js +29 -65
  83. package/dist/plugins/chargebee/src/credentials.js +16 -0
  84. package/dist/plugins/chargebee/src/index.js +15 -45
  85. package/dist/plugins/circleci/src/credentials.js +19 -0
  86. package/dist/plugins/circleci/src/index.js +19 -39
  87. package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
  88. package/dist/plugins/ciscoWebex/src/index.js +43 -61
  89. package/dist/plugins/clearbit/src/credentials.js +22 -0
  90. package/dist/plugins/clearbit/src/index.js +11 -21
  91. package/dist/plugins/clickup/src/credentials.js +19 -0
  92. package/dist/plugins/clickup/src/index.js +85 -117
  93. package/dist/plugins/clockify/src/credentials.js +19 -0
  94. package/dist/plugins/clockify/src/index.js +46 -61
  95. package/dist/plugins/cloudflare/src/credentials.js +19 -0
  96. package/dist/plugins/cloudflare/src/index.js +19 -34
  97. package/dist/plugins/cockpit/src/credentials.js +17 -0
  98. package/dist/plugins/cockpit/src/index.js +18 -31
  99. package/dist/plugins/coda/src/credentials.js +19 -0
  100. package/dist/plugins/coda/src/index.js +33 -50
  101. package/dist/plugins/coingecko/src/credentials.js +20 -0
  102. package/dist/plugins/coingecko/src/index.js +24 -34
  103. package/dist/plugins/contentful/src/credentials.js +26 -0
  104. package/dist/plugins/contentful/src/index.js +19 -40
  105. package/dist/plugins/convertkit/src/credentials.js +26 -0
  106. package/dist/plugins/convertkit/src/index.js +27 -45
  107. package/dist/plugins/copper/src/credentials.js +17 -0
  108. package/dist/plugins/copper/src/index.js +25 -47
  109. package/dist/plugins/cortex/src/credentials.js +28 -0
  110. package/dist/plugins/cortex/src/index.js +26 -49
  111. package/dist/plugins/currents/src/credentials.js +19 -0
  112. package/dist/plugins/currents/src/index.js +46 -59
  113. package/dist/plugins/customerIo/src/credentials.js +52 -0
  114. package/dist/plugins/customerIo/src/index.js +30 -58
  115. package/dist/plugins/databricks/src/credentials.js +13 -0
  116. package/dist/plugins/databricks/src/index.js +51 -103
  117. package/dist/plugins/deepl/src/credentials.js +19 -0
  118. package/dist/plugins/deepl/src/index.js +13 -39
  119. package/dist/plugins/demio/src/credentials.js +26 -0
  120. package/dist/plugins/demio/src/index.js +17 -41
  121. package/dist/plugins/dhl/src/credentials.js +13 -0
  122. package/dist/plugins/dhl/src/index.js +8 -19
  123. package/dist/plugins/discord/src/credentials.js +19 -0
  124. package/dist/plugins/discord/src/index.js +30 -58
  125. package/dist/plugins/discourse/src/credentials.js +18 -0
  126. package/dist/plugins/discourse/src/index.js +36 -53
  127. package/dist/plugins/disqus/src/credentials.js +13 -0
  128. package/dist/plugins/disqus/src/index.js +14 -32
  129. package/dist/plugins/drift/src/credentials.js +13 -0
  130. package/dist/plugins/drift/src/index.js +16 -26
  131. package/dist/plugins/dropbox/src/credentials.js +13 -0
  132. package/dist/plugins/dropbox/src/index.js +23 -30
  133. package/dist/plugins/dropcontact/src/credentials.js +13 -0
  134. package/dist/plugins/dropcontact/src/index.js +13 -18
  135. package/dist/plugins/egoi/src/credentials.js +19 -0
  136. package/dist/plugins/egoi/src/index.js +23 -38
  137. package/dist/plugins/elasticsearch/src/credentials.js +18 -0
  138. package/dist/plugins/elasticsearch/src/index.js +27 -48
  139. package/dist/plugins/elevenlabs/src/credentials.js +30 -0
  140. package/dist/plugins/elevenlabs/src/index.js +4 -1
  141. package/dist/plugins/elevenlabs/src/schemas.js +2 -1
  142. package/dist/plugins/elevenlabs/src/shared.js +87 -62
  143. package/dist/plugins/elevenlabs/src/workflows.js +2 -2
  144. package/dist/plugins/emelia/src/credentials.js +14 -0
  145. package/dist/plugins/emelia/src/index.js +19 -23
  146. package/dist/plugins/erpnext/src/credentials.js +27 -0
  147. package/dist/plugins/erpnext/src/index.js +21 -42
  148. package/dist/plugins/facebookGraph/src/credentials.js +20 -0
  149. package/dist/plugins/facebookGraph/src/index.js +39 -37
  150. package/dist/plugins/fal/src/credentials.js +14 -0
  151. package/dist/plugins/fal/src/index.js +5 -3
  152. package/dist/plugins/fal/src/shared.js +58 -63
  153. package/dist/plugins/freshdesk/src/credentials.js +20 -0
  154. package/dist/plugins/freshdesk/src/index.js +25 -46
  155. package/dist/plugins/freshservice/src/credentials.js +16 -0
  156. package/dist/plugins/freshservice/src/index.js +37 -58
  157. package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
  158. package/dist/plugins/freshworksCrm/src/index.js +20 -39
  159. package/dist/plugins/getresponse/src/credentials.js +22 -0
  160. package/dist/plugins/getresponse/src/index.js +20 -32
  161. package/dist/plugins/gett/src/credentials.js +64 -0
  162. package/dist/plugins/gett/src/index.js +11 -6
  163. package/dist/plugins/gett/src/login.js +24 -0
  164. package/dist/plugins/gett/src/session.js +15 -38
  165. package/dist/plugins/gett/src/shared.js +41 -84
  166. package/dist/plugins/ghost/src/credentials.js +36 -0
  167. package/dist/plugins/ghost/src/index.js +18 -59
  168. package/dist/plugins/github/src/credentials.js +18 -0
  169. package/dist/plugins/github/src/index.js +55 -78
  170. package/dist/plugins/gitlab/src/credentials.js +24 -0
  171. package/dist/plugins/gitlab/src/index.js +29 -48
  172. package/dist/plugins/gmail/src/index.js +47 -108
  173. package/dist/plugins/gong/src/credentials.js +16 -0
  174. package/dist/plugins/gong/src/index.js +16 -32
  175. package/dist/plugins/googleAppsScript/src/index.js +109 -42
  176. package/dist/plugins/googleCalendar/src/index.js +20 -51
  177. package/dist/plugins/googleContacts/src/index.js +13 -40
  178. package/dist/plugins/googleDocs/src/index.js +3 -32
  179. package/dist/plugins/googleDocs/src/shared.js +2 -1
  180. package/dist/plugins/googleDrive/src/index.js +68 -97
  181. package/dist/plugins/googleImage/src/credentials.js +14 -0
  182. package/dist/plugins/googleImage/src/index.js +15 -26
  183. package/dist/plugins/googleSheets/src/index.js +27 -60
  184. package/dist/plugins/googleSlides/src/index.js +7 -35
  185. package/dist/plugins/googleTasks/src/index.js +14 -42
  186. package/dist/plugins/gotify/src/credentials.js +32 -0
  187. package/dist/plugins/gotify/src/index.js +14 -36
  188. package/dist/plugins/gotowebinar/src/credentials.js +13 -0
  189. package/dist/plugins/gotowebinar/src/index.js +52 -69
  190. package/dist/plugins/grafana/src/credentials.js +16 -0
  191. package/dist/plugins/grafana/src/index.js +34 -53
  192. package/dist/plugins/graphql/src/credentials.js +42 -0
  193. package/dist/plugins/graphql/src/index.js +21 -46
  194. package/dist/plugins/grist/src/credentials.js +30 -0
  195. package/dist/plugins/grist/src/index.js +14 -43
  196. package/dist/plugins/halopsa/src/credentials.js +56 -0
  197. package/dist/plugins/halopsa/src/index.js +20 -47
  198. package/dist/plugins/harvest/src/credentials.js +20 -0
  199. package/dist/plugins/harvest/src/index.js +24 -43
  200. package/dist/plugins/helpscout/src/credentials.js +13 -0
  201. package/dist/plugins/helpscout/src/index.js +26 -38
  202. package/dist/plugins/highlevel/src/credentials.js +19 -0
  203. package/dist/plugins/highlevel/src/index.js +42 -65
  204. package/dist/plugins/homeAssistant/src/credentials.js +27 -0
  205. package/dist/plugins/homeAssistant/src/index.js +34 -52
  206. package/dist/plugins/hubspot/src/credentials.js +16 -0
  207. package/dist/plugins/hubspot/src/index.js +29 -41
  208. package/dist/plugins/humanticAi/src/credentials.js +13 -0
  209. package/dist/plugins/humanticAi/src/index.js +15 -22
  210. package/dist/plugins/hunter/src/credentials.js +13 -0
  211. package/dist/plugins/hunter/src/index.js +18 -17
  212. package/dist/plugins/intercom/src/credentials.js +19 -0
  213. package/dist/plugins/intercom/src/index.js +25 -38
  214. package/dist/plugins/iterable/src/credentials.js +17 -0
  215. package/dist/plugins/iterable/src/index.js +26 -40
  216. package/dist/plugins/jenkins/src/credentials.js +16 -0
  217. package/dist/plugins/jenkins/src/index.js +22 -36
  218. package/dist/plugins/jira/src/credentials.js +16 -0
  219. package/dist/plugins/jira/src/index.js +35 -61
  220. package/dist/plugins/keap/src/credentials.js +19 -0
  221. package/dist/plugins/keap/src/index.js +43 -71
  222. package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
  223. package/dist/plugins/kobotoolbox/src/index.js +46 -84
  224. package/dist/plugins/lemlist/src/credentials.js +19 -0
  225. package/dist/plugins/lemlist/src/index.js +35 -47
  226. package/dist/plugins/linear/src/attachments.js +7 -7
  227. package/dist/plugins/linear/src/comments.js +7 -7
  228. package/dist/plugins/linear/src/credentials.js +17 -0
  229. package/dist/plugins/linear/src/cycles.js +5 -5
  230. package/dist/plugins/linear/src/index.js +2 -0
  231. package/dist/plugins/linear/src/initiatives.js +6 -6
  232. package/dist/plugins/linear/src/issues.js +14 -14
  233. package/dist/plugins/linear/src/labels.js +6 -6
  234. package/dist/plugins/linear/src/organization.js +2 -2
  235. package/dist/plugins/linear/src/projects.js +12 -12
  236. package/dist/plugins/linear/src/shared.js +34 -32
  237. package/dist/plugins/linear/src/states.js +3 -3
  238. package/dist/plugins/linear/src/teams.js +4 -4
  239. package/dist/plugins/linear/src/users.js +3 -3
  240. package/dist/plugins/linear/src/views.js +5 -5
  241. package/dist/plugins/linear/src/webhooks.js +5 -5
  242. package/dist/plugins/lingvanex/src/credentials.js +13 -0
  243. package/dist/plugins/lingvanex/src/index.js +7 -9
  244. package/dist/plugins/linkedin/src/credentials.js +17 -0
  245. package/dist/plugins/linkedin/src/index.js +13 -17
  246. package/dist/plugins/lonescale/src/credentials.js +13 -0
  247. package/dist/plugins/lonescale/src/index.js +16 -26
  248. package/dist/plugins/magento/src/credentials.js +16 -0
  249. package/dist/plugins/magento/src/index.js +67 -84
  250. package/dist/plugins/mailcheck/src/credentials.js +17 -0
  251. package/dist/plugins/mailcheck/src/index.js +7 -9
  252. package/dist/plugins/mailchimp/src/credentials.js +32 -0
  253. package/dist/plugins/mailchimp/src/index.js +36 -44
  254. package/dist/plugins/mailerlite/src/credentials.js +13 -0
  255. package/dist/plugins/mailerlite/src/index.js +19 -32
  256. package/dist/plugins/mailgun/src/credentials.js +21 -0
  257. package/dist/plugins/mailgun/src/index.js +15 -21
  258. package/dist/plugins/mailjet/src/credentials.js +38 -0
  259. package/dist/plugins/mailjet/src/index.js +60 -115
  260. package/dist/plugins/mandrill/src/credentials.js +17 -0
  261. package/dist/plugins/mandrill/src/index.js +11 -12
  262. package/dist/plugins/marketstack/src/credentials.js +16 -0
  263. package/dist/plugins/marketstack/src/index.js +18 -28
  264. package/dist/plugins/matrix/src/credentials.js +19 -0
  265. package/dist/plugins/matrix/src/index.js +23 -52
  266. package/dist/plugins/mattermost/src/credentials.js +19 -0
  267. package/dist/plugins/mattermost/src/index.js +41 -73
  268. package/dist/plugins/mautic/src/credentials.js +16 -0
  269. package/dist/plugins/mautic/src/index.js +46 -62
  270. package/dist/plugins/medium/src/credentials.js +20 -0
  271. package/dist/plugins/medium/src/index.js +18 -23
  272. package/dist/plugins/messagebird/src/credentials.js +22 -0
  273. package/dist/plugins/messagebird/src/index.js +13 -18
  274. package/dist/plugins/metabase/src/credentials.js +19 -0
  275. package/dist/plugins/metabase/src/index.js +24 -40
  276. package/dist/plugins/microsoftCalendar/src/index.js +49 -18
  277. package/dist/plugins/microsoftFiles/src/index.js +95 -31
  278. package/dist/plugins/microsoftMail/src/index.js +63 -21
  279. package/dist/plugins/misp/src/credentials.js +16 -0
  280. package/dist/plugins/misp/src/index.js +60 -71
  281. package/dist/plugins/mocean/src/credentials.js +17 -0
  282. package/dist/plugins/mocean/src/index.js +11 -23
  283. package/dist/plugins/monday/src/credentials.js +14 -0
  284. package/dist/plugins/monday/src/index.js +31 -44
  285. package/dist/plugins/monicaCrm/src/credentials.js +19 -0
  286. package/dist/plugins/monicaCrm/src/index.js +25 -42
  287. package/dist/plugins/msg91/src/credentials.js +10 -0
  288. package/dist/plugins/msg91/src/index.js +15 -11
  289. package/dist/plugins/nasa/src/credentials.js +22 -0
  290. package/dist/plugins/nasa/src/index.js +24 -28
  291. package/dist/plugins/netlify/src/credentials.js +19 -0
  292. package/dist/plugins/netlify/src/index.js +27 -51
  293. package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
  294. package/dist/plugins/netscalerAdc/src/index.js +16 -31
  295. package/dist/plugins/nextcloud/src/credentials.js +27 -0
  296. package/dist/plugins/nextcloud/src/index.js +55 -109
  297. package/dist/plugins/nocodb/src/credentials.js +16 -0
  298. package/dist/plugins/nocodb/src/index.js +19 -37
  299. package/dist/plugins/notion/src/credentials.js +21 -0
  300. package/dist/plugins/notion/src/index.js +25 -38
  301. package/dist/plugins/npm/src/credentials.js +19 -0
  302. package/dist/plugins/npm/src/index.js +22 -32
  303. package/dist/plugins/odoo/src/credentials.js +21 -0
  304. package/dist/plugins/odoo/src/index.js +53 -69
  305. package/dist/plugins/okta/src/credentials.js +23 -0
  306. package/dist/plugins/okta/src/index.js +30 -35
  307. package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
  308. package/dist/plugins/oneSimpleApi/src/index.js +19 -24
  309. package/dist/plugins/onfleet/src/credentials.js +23 -0
  310. package/dist/plugins/onfleet/src/index.js +42 -53
  311. package/dist/plugins/openai/src/credentials.js +13 -0
  312. package/dist/plugins/openai/src/index.js +16 -24
  313. package/dist/plugins/openweathermap/src/credentials.js +16 -0
  314. package/dist/plugins/openweathermap/src/index.js +22 -22
  315. package/dist/plugins/oura/src/credentials.js +19 -0
  316. package/dist/plugins/oura/src/index.js +13 -18
  317. package/dist/plugins/paddle/src/credentials.js +27 -0
  318. package/dist/plugins/paddle/src/index.js +20 -36
  319. package/dist/plugins/pagerduty/src/credentials.js +24 -0
  320. package/dist/plugins/pagerduty/src/index.js +30 -39
  321. package/dist/plugins/parallel/src/credentials.js +18 -0
  322. package/dist/plugins/parallel/src/index.js +16 -22
  323. package/dist/plugins/paypal/src/credentials.js +44 -0
  324. package/dist/plugins/paypal/src/index.js +14 -40
  325. package/dist/plugins/peekalink/src/credentials.js +16 -0
  326. package/dist/plugins/peekalink/src/index.js +10 -11
  327. package/dist/plugins/phantombuster/src/credentials.js +19 -0
  328. package/dist/plugins/phantombuster/src/index.js +19 -32
  329. package/dist/plugins/philipsHue/src/credentials.js +17 -0
  330. package/dist/plugins/philipsHue/src/index.js +15 -27
  331. package/dist/plugins/pipedrive/src/credentials.js +26 -0
  332. package/dist/plugins/pipedrive/src/index.js +43 -73
  333. package/dist/plugins/plaud/src/index.js +2 -1
  334. package/dist/plugins/plaud/src/shared.js +23 -19
  335. package/dist/plugins/plivo/src/credentials.js +20 -0
  336. package/dist/plugins/plivo/src/index.js +13 -19
  337. package/dist/plugins/posthog/src/credentials.js +18 -0
  338. package/dist/plugins/posthog/src/index.js +14 -20
  339. package/dist/plugins/profitwell/src/credentials.js +22 -0
  340. package/dist/plugins/profitwell/src/index.js +10 -17
  341. package/dist/plugins/pushbullet/src/credentials.js +19 -0
  342. package/dist/plugins/pushbullet/src/index.js +19 -27
  343. package/dist/plugins/pushcut/src/credentials.js +19 -0
  344. package/dist/plugins/pushcut/src/index.js +7 -8
  345. package/dist/plugins/pushover/src/credentials.js +14 -0
  346. package/dist/plugins/pushover/src/index.js +7 -12
  347. package/dist/plugins/quickbase/src/credentials.js +15 -0
  348. package/dist/plugins/quickbase/src/index.js +24 -34
  349. package/dist/plugins/quickbooks/src/credentials.js +22 -0
  350. package/dist/plugins/quickbooks/src/index.js +17 -46
  351. package/dist/plugins/raindrop/src/credentials.js +19 -0
  352. package/dist/plugins/raindrop/src/index.js +30 -32
  353. package/dist/plugins/recraft/src/credentials.js +13 -0
  354. package/dist/plugins/recraft/src/index.js +39 -28
  355. package/dist/plugins/reddit/src/credentials.js +26 -0
  356. package/dist/plugins/reddit/src/index.js +30 -34
  357. package/dist/plugins/replicate/src/credentials.js +23 -0
  358. package/dist/plugins/replicate/src/index.js +18 -28
  359. package/dist/plugins/rocketchat/src/credentials.js +17 -0
  360. package/dist/plugins/rocketchat/src/index.js +8 -19
  361. package/dist/plugins/rundeck/src/credentials.js +16 -0
  362. package/dist/plugins/rundeck/src/index.js +12 -28
  363. package/dist/plugins/salesforce/src/credentials.js +73 -0
  364. package/dist/plugins/salesforce/src/index.js +6 -0
  365. package/dist/plugins/salesforce/src/metadata.js +3 -16
  366. package/dist/plugins/salesforce/src/shared.js +25 -100
  367. package/dist/plugins/salesforce/src/sobjects.js +10 -9
  368. package/dist/plugins/salesmate/src/credentials.js +17 -0
  369. package/dist/plugins/salesmate/src/index.js +20 -37
  370. package/dist/plugins/securityScorecard/src/credentials.js +22 -0
  371. package/dist/plugins/securityScorecard/src/index.js +24 -37
  372. package/dist/plugins/segment/src/credentials.js +16 -0
  373. package/dist/plugins/segment/src/index.js +12 -16
  374. package/dist/plugins/sendgrid/src/credentials.js +13 -0
  375. package/dist/plugins/sendgrid/src/index.js +31 -35
  376. package/dist/plugins/sendy/src/credentials.js +18 -0
  377. package/dist/plugins/sendy/src/index.js +18 -24
  378. package/dist/plugins/sentry/src/credentials.js +16 -0
  379. package/dist/plugins/sentry/src/index.js +30 -98
  380. package/dist/plugins/servicenow/src/credentials.js +13 -0
  381. package/dist/plugins/servicenow/src/index.js +22 -41
  382. package/dist/plugins/shiftAtlas/src/graph.js +2 -2
  383. package/dist/plugins/shiftAtlas/src/index.js +2 -0
  384. package/dist/plugins/shiftAtlas/src/shared.js +3 -1
  385. package/dist/plugins/shiftBwm/src/index.js +4 -2
  386. package/dist/plugins/shiftBwm/src/shared.js +41 -16
  387. package/dist/plugins/shiftCrm/src/access.js +2 -2
  388. package/dist/plugins/shiftCrm/src/accounts.js +3 -3
  389. package/dist/plugins/shiftCrm/src/activities.js +3 -3
  390. package/dist/plugins/shiftCrm/src/credentials.js +6 -0
  391. package/dist/plugins/shiftCrm/src/index.js +2 -0
  392. package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
  393. package/dist/plugins/shiftCrm/src/people.js +3 -3
  394. package/dist/plugins/shiftCrm/src/records.js +2 -2
  395. package/dist/plugins/shiftCrm/src/shared.js +2 -1
  396. package/dist/plugins/shiftCrm/src/tasks.js +3 -3
  397. package/dist/plugins/shiftObjects/src/credentials.js +2 -0
  398. package/dist/plugins/shiftObjects/src/index.js +2 -0
  399. package/dist/plugins/shiftObjects/src/objects.js +4 -3
  400. package/dist/plugins/shiftOcr/src/credentials.js +8 -0
  401. package/dist/plugins/shiftOcr/src/index.js +14 -8
  402. package/dist/plugins/shiftPages/src/index.js +2 -0
  403. package/dist/plugins/shiftPages/src/pages.js +5 -3
  404. package/dist/plugins/shiftPages/src/shared.js +3 -1
  405. package/dist/plugins/shiftTranscription/src/index.js +2 -0
  406. package/dist/plugins/shiftTranscription/src/shared.js +11 -1
  407. package/dist/plugins/shiftTranscription/src/transcription.js +5 -5
  408. package/dist/plugins/shiftWork/src/index.js +2 -0
  409. package/dist/plugins/shiftWork/src/issue-views.js +5 -5
  410. package/dist/plugins/shiftWork/src/issues.js +11 -7
  411. package/dist/plugins/shiftWork/src/projects.js +3 -3
  412. package/dist/plugins/shiftWork/src/shared.js +3 -1
  413. package/dist/plugins/shopify/src/credentials.js +16 -0
  414. package/dist/plugins/shopify/src/index.js +32 -59
  415. package/dist/plugins/signl4/src/credentials.js +17 -0
  416. package/dist/plugins/signl4/src/index.js +28 -29
  417. package/dist/plugins/slack/src/credentials.js +19 -0
  418. package/dist/plugins/slack/src/index.js +51 -60
  419. package/dist/plugins/sms77/src/credentials.js +17 -0
  420. package/dist/plugins/sms77/src/index.js +11 -16
  421. package/dist/plugins/splunk/src/credentials.js +19 -0
  422. package/dist/plugins/splunk/src/index.js +32 -74
  423. package/dist/plugins/spotify/src/credentials.js +19 -0
  424. package/dist/plugins/spotify/src/index.js +40 -55
  425. package/dist/plugins/stackby/src/credentials.js +13 -0
  426. package/dist/plugins/stackby/src/index.js +14 -23
  427. package/dist/plugins/steel/src/auth.js +27 -0
  428. package/dist/plugins/steel/src/browser.js +4 -3
  429. package/dist/plugins/steel/src/captchas.js +4 -3
  430. package/dist/plugins/steel/src/extensions.js +3 -2
  431. package/dist/plugins/steel/src/files.js +9 -10
  432. package/dist/plugins/steel/src/index.js +2 -0
  433. package/dist/plugins/steel/src/page/tools.js +3 -3
  434. package/dist/plugins/steel/src/profiles.js +4 -3
  435. package/dist/plugins/steel/src/sessions.js +13 -13
  436. package/dist/plugins/steel/src/shared.js +21 -51
  437. package/dist/plugins/storyblok/src/credentials.js +37 -0
  438. package/dist/plugins/storyblok/src/index.js +22 -66
  439. package/dist/plugins/strapi/src/credentials.js +71 -0
  440. package/dist/plugins/strapi/src/index.js +36 -70
  441. package/dist/plugins/strava/src/credentials.js +19 -0
  442. package/dist/plugins/strava/src/index.js +16 -33
  443. package/dist/plugins/stripe/src/credentials.js +19 -0
  444. package/dist/plugins/stripe/src/index.js +44 -58
  445. package/dist/plugins/supabase/src/credentials.js +30 -0
  446. package/dist/plugins/supabase/src/index.js +18 -40
  447. package/dist/plugins/syncromsp/src/credentials.js +16 -0
  448. package/dist/plugins/syncromsp/src/index.js +37 -70
  449. package/dist/plugins/tapfiliate/src/credentials.js +13 -0
  450. package/dist/plugins/tapfiliate/src/index.js +21 -31
  451. package/dist/plugins/telegram/src/credentials.js +20 -0
  452. package/dist/plugins/telegram/src/index.js +31 -39
  453. package/dist/plugins/thehive/src/credentials.js +14 -0
  454. package/dist/plugins/thehive/src/index.js +33 -50
  455. package/dist/plugins/thehiveProject/src/credentials.js +16 -0
  456. package/dist/plugins/thehiveProject/src/index.js +53 -122
  457. package/dist/plugins/todoist/src/credentials.js +26 -0
  458. package/dist/plugins/todoist/src/index.js +49 -79
  459. package/dist/plugins/together/src/credentials.js +16 -0
  460. package/dist/plugins/together/src/index.js +31 -33
  461. package/dist/plugins/travisci/src/credentials.js +24 -0
  462. package/dist/plugins/travisci/src/index.js +16 -30
  463. package/dist/plugins/trello/src/credentials.js +29 -0
  464. package/dist/plugins/trello/src/index.js +49 -64
  465. package/dist/plugins/twake/src/credentials.js +16 -0
  466. package/dist/plugins/twake/src/index.js +8 -10
  467. package/dist/plugins/twilio/src/credentials.js +23 -0
  468. package/dist/plugins/twilio/src/index.js +12 -26
  469. package/dist/plugins/twist/src/credentials.js +13 -0
  470. package/dist/plugins/twist/src/index.js +32 -44
  471. package/dist/plugins/twitter/src/credentials.js +16 -0
  472. package/dist/plugins/twitter/src/index.js +25 -37
  473. package/dist/plugins/typesafe/src/credentials.js +28 -0
  474. package/dist/plugins/typesafe/src/index.js +3 -1
  475. package/dist/plugins/typesafe/src/shared.js +23 -35
  476. package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
  477. package/dist/plugins/unleashedSoftware/src/index.js +13 -37
  478. package/dist/plugins/uplead/src/credentials.js +16 -0
  479. package/dist/plugins/uplead/src/index.js +11 -16
  480. package/dist/plugins/uproc/src/credentials.js +14 -0
  481. package/dist/plugins/uproc/src/index.js +7 -10
  482. package/dist/plugins/uptimerobot/src/credentials.js +14 -0
  483. package/dist/plugins/uptimerobot/src/index.js +28 -39
  484. package/dist/plugins/urlscanio/src/credentials.js +13 -0
  485. package/dist/plugins/urlscanio/src/index.js +13 -22
  486. package/dist/plugins/vercel/src/credentials.js +19 -0
  487. package/dist/plugins/vercel/src/deployments.js +27 -11
  488. package/dist/plugins/vercel/src/env.js +31 -12
  489. package/dist/plugins/vercel/src/index.js +2 -0
  490. package/dist/plugins/vercel/src/projects.js +6 -3
  491. package/dist/plugins/vercel/src/shared.js +32 -37
  492. package/dist/plugins/vero/src/credentials.js +17 -0
  493. package/dist/plugins/vero/src/index.js +18 -21
  494. package/dist/plugins/vonage/src/credentials.js +17 -0
  495. package/dist/plugins/vonage/src/index.js +14 -18
  496. package/dist/plugins/wekan/src/credentials.js +16 -0
  497. package/dist/plugins/wekan/src/index.js +33 -46
  498. package/dist/plugins/wolt/src/account.js +6 -0
  499. package/dist/plugins/wolt/src/catalog.js +2 -2
  500. package/dist/plugins/wolt/src/credentials.js +64 -0
  501. package/dist/plugins/wolt/src/index.js +8 -3
  502. package/dist/plugins/wolt/src/orders.js +2 -2
  503. package/dist/plugins/wolt/src/public.js +91 -0
  504. package/dist/plugins/wolt/src/shared.js +49 -158
  505. package/dist/plugins/woocommerce/src/credentials.js +16 -0
  506. package/dist/plugins/woocommerce/src/index.js +19 -37
  507. package/dist/plugins/wordpress/src/credentials.js +16 -0
  508. package/dist/plugins/wordpress/src/index.js +23 -42
  509. package/dist/plugins/xai/src/credentials.js +13 -0
  510. package/dist/plugins/xai/src/index.js +32 -31
  511. package/dist/plugins/xero/src/credentials.js +17 -0
  512. package/dist/plugins/xero/src/index.js +19 -36
  513. package/dist/plugins/yourls/src/credentials.js +17 -0
  514. package/dist/plugins/yourls/src/index.js +13 -23
  515. package/dist/plugins/zammad/src/credentials.js +15 -0
  516. package/dist/plugins/zammad/src/index.js +27 -47
  517. package/dist/plugins/zendesk/src/credentials.js +26 -0
  518. package/dist/plugins/zendesk/src/index.js +29 -48
  519. package/dist/plugins/zoho/src/credentials.js +17 -0
  520. package/dist/plugins/zoho/src/index.js +18 -38
  521. package/dist/plugins/zoom/src/credentials.js +19 -0
  522. package/dist/plugins/zoom/src/index.js +15 -30
  523. package/dist/plugins/zulip/src/credentials.js +16 -0
  524. package/dist/plugins/zulip/src/index.js +36 -42
  525. package/dist/sdk.d.ts +8 -0
  526. package/dist/sdk.js +3 -0
  527. package/package.json +2 -1
  528. package/dist/plugins/_shared/authedFetch.js +0 -33
  529. package/dist/plugins/_shared/tokenRefresh.js +0 -41
  530. package/dist/tests/helpers/engine-harness.d.ts +0 -1
  531. package/dist/tests/helpers/engine-harness.js +0 -236
@@ -1,44 +1,21 @@
1
- async function apiRequest(baseUrl, token, method, endpoint, body, qs) {
2
- const url = new URL(`${baseUrl}/api${endpoint}`);
3
- if (qs) {
4
- for (const [k, v] of Object.entries(qs)) {
5
- if (v !== undefined && v !== null)
6
- url.searchParams.set(k, String(v));
7
- }
8
- }
9
- const opts = {
10
- method,
11
- headers: {
12
- Authorization: `Bearer ${token}`,
13
- "Content-Type": "application/json",
14
- },
15
- };
16
- if (body &&
17
- Object.keys(body).length > 0 &&
18
- method !== "GET" &&
19
- method !== "DELETE")
20
- opts.body = JSON.stringify(body);
21
- const res = await fetch(url.toString(), opts);
22
- if (!res.ok)
23
- throw new Error(`Home Assistant API error ${res.status}: ${await res.text()}`);
24
- return res.json();
25
- }
26
- function getConn(ctx) {
27
- const cfg = ctx.connection.config;
28
- const ssl = cfg.ssl === true || cfg.ssl === "true";
29
- const proto = ssl ? "https" : "http";
30
- return {
31
- baseUrl: `${proto}://${cfg.host}:${cfg.port ?? 8123}`,
32
- token: cfg.accessToken,
33
- };
34
- }
1
+ import { credentialJson, credentialOk, pathSegment, } from "../../_shared/credentials.js";
2
+ import { homeAssistantCredential } from "./credentials.js";
3
+ /** One Home Assistant call: every endpoint is a path beneath /api/. */
35
4
  function ha(ctx, method, endpoint, body, qs) {
36
- const { baseUrl, token } = getConn(ctx);
37
- return apiRequest(baseUrl, token, method, endpoint, body, qs);
5
+ return credentialJson(ctx, homeAssistantCredential, "homeAssistant", {
6
+ target: "api",
7
+ path: endpoint,
8
+ method,
9
+ query: qs,
10
+ ...(body && Object.keys(body).length > 0 && method !== "GET"
11
+ ? { json: body }
12
+ : {}),
13
+ });
38
14
  }
39
15
  export default function homeAssistant(rl) {
40
16
  rl.setName("homeAssistant");
41
17
  rl.setVersion("0.1.0");
18
+ rl.setCredential(homeAssistantCredential);
42
19
  rl.setConnectionSchema({
43
20
  host: {
44
21
  type: "string",
@@ -69,21 +46,21 @@ export default function homeAssistant(rl) {
69
46
  access: "read",
70
47
  description: "Get Home Assistant configuration",
71
48
  async execute(_input, ctx) {
72
- return ha(ctx, "GET", "/config");
49
+ return ha(ctx, "GET", "config");
73
50
  },
74
51
  });
75
52
  rl.registerAction("config.check", {
76
53
  access: "read",
77
54
  description: "Check if configuration is valid",
78
55
  async execute(_input, ctx) {
79
- return ha(ctx, "POST", "/config/core/check_config");
56
+ return ha(ctx, "POST", "config/core/check_config");
80
57
  },
81
58
  });
82
59
  rl.registerAction("service.list", {
83
60
  access: "read",
84
61
  description: "List available services",
85
62
  async execute(_input, ctx) {
86
- return ha(ctx, "GET", "/services");
63
+ return ha(ctx, "GET", "services");
87
64
  },
88
65
  });
89
66
  rl.registerAction("service.call", {
@@ -108,14 +85,14 @@ export default function homeAssistant(rl) {
108
85
  },
109
86
  async execute(input, ctx) {
110
87
  const { domain, service, serviceData } = input;
111
- return ha(ctx, "POST", `/services/${domain}/${service}`, serviceData ?? {});
88
+ return ha(ctx, "POST", `services/${pathSegment(domain)}/${pathSegment(service)}`, serviceData ?? {});
112
89
  },
113
90
  });
114
91
  rl.registerAction("state.list", {
115
92
  access: "read",
116
93
  description: "List all entity states",
117
94
  async execute(_input, ctx) {
118
- return ha(ctx, "GET", "/states");
95
+ return ha(ctx, "GET", "states");
119
96
  },
120
97
  });
121
98
  rl.registerAction("state.get", {
@@ -129,7 +106,7 @@ export default function homeAssistant(rl) {
129
106
  },
130
107
  },
131
108
  async execute(input, ctx) {
132
- return ha(ctx, "GET", `/states/${input.entityId}`);
109
+ return ha(ctx, "GET", `states/${pathSegment(input.entityId)}`);
133
110
  },
134
111
  });
135
112
  rl.registerAction("state.set", {
@@ -149,14 +126,14 @@ export default function homeAssistant(rl) {
149
126
  const body = { state };
150
127
  if (attributes)
151
128
  body.attributes = attributes;
152
- return ha(ctx, "POST", `/states/${entityId}`, body);
129
+ return ha(ctx, "POST", `states/${pathSegment(entityId)}`, body);
153
130
  },
154
131
  });
155
132
  rl.registerAction("event.list", {
156
133
  access: "read",
157
134
  description: "List event types",
158
135
  async execute(_input, ctx) {
159
- return ha(ctx, "GET", "/events");
136
+ return ha(ctx, "GET", "events");
160
137
  },
161
138
  });
162
139
  rl.registerAction("event.fire", {
@@ -168,14 +145,14 @@ export default function homeAssistant(rl) {
168
145
  },
169
146
  async execute(input, ctx) {
170
147
  const { eventType, eventData } = input;
171
- return ha(ctx, "POST", `/events/${eventType}`, eventData ?? {});
148
+ return ha(ctx, "POST", `events/${pathSegment(eventType)}`, eventData ?? {});
172
149
  },
173
150
  });
174
151
  rl.registerAction("log.getErrors", {
175
152
  access: "read",
176
153
  description: "Get error log",
177
154
  async execute(_input, ctx) {
178
- return ha(ctx, "GET", "/error_log");
155
+ return ha(ctx, "GET", "error_log");
179
156
  },
180
157
  });
181
158
  rl.registerAction("log.getLogbook", {
@@ -200,9 +177,9 @@ export default function homeAssistant(rl) {
200
177
  },
201
178
  async execute(input, ctx) {
202
179
  const { entityId, startTime, endTime } = (input ?? {});
203
- let endpoint = "/logbook";
180
+ let endpoint = "logbook";
204
181
  if (startTime)
205
- endpoint += `/${startTime}`;
182
+ endpoint += `/${pathSegment(startTime)}`;
206
183
  const qs = {};
207
184
  if (entityId)
208
185
  qs.entity = entityId;
@@ -222,9 +199,14 @@ export default function homeAssistant(rl) {
222
199
  },
223
200
  },
224
201
  async execute(input, ctx) {
225
- return ha(ctx, "POST", "/template", {
226
- template: input.template,
202
+ // /api/template answers the rendered value as plain text, not JSON.
203
+ const res = await credentialOk(ctx, homeAssistantCredential, "homeAssistant", {
204
+ target: "api",
205
+ path: "template",
206
+ method: "POST",
207
+ json: { template: input.template },
227
208
  });
209
+ return res.text();
228
210
  },
229
211
  });
230
212
  rl.registerAction("history.get", {
@@ -245,9 +227,9 @@ export default function homeAssistant(rl) {
245
227
  },
246
228
  async execute(input, ctx) {
247
229
  const { entityIds, startTime, endTime } = (input ?? {});
248
- let endpoint = "/history/period";
230
+ let endpoint = "history/period";
249
231
  if (startTime)
250
- endpoint += `/${startTime}`;
232
+ endpoint += `/${pathSegment(startTime)}`;
251
233
  const qs = {};
252
234
  if (entityIds)
253
235
  qs.filter_entity_id = entityIds;
@@ -0,0 +1,16 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * A private-app access token, sent as a bearer to HubSpot's one API
4
+ * origin: CRM v3 objects, legacy v1 lists and engagements, and forms.
5
+ */
6
+ export const hubspotCredential = staticCredential({
7
+ id: "hubspot",
8
+ auth: { kind: "bearer" },
9
+ local: { secret: "accessToken" },
10
+ targets: {
11
+ api: {
12
+ baseUrl: "https://api.hubapi.com/",
13
+ methods: ["GET", "POST", "PATCH", "DELETE"],
14
+ },
15
+ },
16
+ });
@@ -1,30 +1,18 @@
1
- const BASE_URL = "https://api.hubapi.com";
2
- async function apiRequest(token, method, endpoint, body, qs) {
3
- const url = new URL(`${BASE_URL}${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 opts = {
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { hubspotCredential } from "./credentials.js";
3
+ function apiRequest(ctx, method, path, body, query) {
4
+ return credentialJson(ctx, hubspotCredential, "hubspot", {
5
+ target: "api",
6
+ path,
11
7
  method,
12
- headers: {
13
- Authorization: `Bearer ${token}`,
14
- "Content-Type": "application/json",
15
- },
16
- };
17
- if (body &&
18
- Object.keys(body).length > 0 &&
19
- method !== "GET" &&
20
- method !== "DELETE")
21
- opts.body = JSON.stringify(body);
22
- const res = await fetch(url.toString(), opts);
23
- if (!res.ok)
24
- throw new Error(`HubSpot API error ${res.status}: ${await res.text()}`);
25
- if (res.status === 204)
26
- return { success: true };
27
- return res.json();
8
+ query,
9
+ ...(body &&
10
+ Object.keys(body).length > 0 &&
11
+ method !== "GET" &&
12
+ method !== "DELETE"
13
+ ? { json: body }
14
+ : {}),
15
+ });
28
16
  }
29
17
  export default function hubspot(rl) {
30
18
  rl.setName("hubspot");
@@ -37,7 +25,7 @@ export default function hubspot(rl) {
37
25
  env: "HUBSPOT_ACCESS_TOKEN",
38
26
  },
39
27
  });
40
- const tok = (ctx) => ctx.connection.config.accessToken;
28
+ rl.setCredential(hubspotCredential);
41
29
  // Helper for CRM objects (contacts, companies, deals, tickets)
42
30
  function registerCrmObject(resource, objectType) {
43
31
  rl.registerAction(`${resource}.create`, {
@@ -51,7 +39,7 @@ export default function hubspot(rl) {
51
39
  },
52
40
  },
53
41
  async execute(input, ctx) {
54
- return apiRequest(tok(ctx), "POST", `/crm/v3/objects/${objectType}`, {
42
+ return apiRequest(ctx, "POST", `crm/v3/objects/${objectType}`, {
55
43
  properties: input
56
44
  .properties,
57
45
  });
@@ -73,7 +61,7 @@ export default function hubspot(rl) {
73
61
  const qs = {};
74
62
  if (properties && Array.isArray(properties))
75
63
  qs.properties = properties.join(",");
76
- return apiRequest(tok(ctx), "GET", `/crm/v3/objects/${objectType}/${id}`, undefined, qs);
64
+ return apiRequest(ctx, "GET", `crm/v3/objects/${objectType}/${pathSegment(id)}`, undefined, qs);
77
65
  },
78
66
  });
79
67
  rl.registerAction(`${resource}.list`, {
@@ -105,7 +93,7 @@ export default function hubspot(rl) {
105
93
  qs.after = after;
106
94
  if (properties && Array.isArray(properties))
107
95
  qs.properties = properties.join(",");
108
- return apiRequest(tok(ctx), "GET", `/crm/v3/objects/${objectType}`, undefined, qs);
96
+ return apiRequest(ctx, "GET", `crm/v3/objects/${objectType}`, undefined, qs);
109
97
  },
110
98
  });
111
99
  rl.registerAction(`${resource}.update`, {
@@ -121,7 +109,7 @@ export default function hubspot(rl) {
121
109
  },
122
110
  async execute(input, ctx) {
123
111
  const { id, properties } = input;
124
- return apiRequest(tok(ctx), "PATCH", `/crm/v3/objects/${objectType}/${id}`, { properties });
112
+ return apiRequest(ctx, "PATCH", `crm/v3/objects/${objectType}/${pathSegment(id)}`, { properties });
125
113
  },
126
114
  });
127
115
  rl.registerAction(`${resource}.delete`, {
@@ -131,7 +119,7 @@ export default function hubspot(rl) {
131
119
  id: { type: "string", required: true, description: `${resource} ID` },
132
120
  },
133
121
  async execute(input, ctx) {
134
- await apiRequest(tok(ctx), "DELETE", `/crm/v3/objects/${objectType}/${input.id}`);
122
+ await apiRequest(ctx, "DELETE", `crm/v3/objects/${objectType}/${pathSegment(input.id)}`);
135
123
  return { success: true };
136
124
  },
137
125
  });
@@ -161,7 +149,7 @@ export default function hubspot(rl) {
161
149
  body.limit = limit;
162
150
  if (after)
163
151
  body.after = after;
164
- return apiRequest(tok(ctx), "POST", `/crm/v3/objects/${objectType}/search`, body);
152
+ return apiRequest(ctx, "POST", `crm/v3/objects/${objectType}/search`, body);
165
153
  },
166
154
  });
167
155
  }
@@ -183,7 +171,7 @@ export default function hubspot(rl) {
183
171
  },
184
172
  async execute(input, ctx) {
185
173
  const { listId, contactIds } = input;
186
- return apiRequest(tok(ctx), "POST", `/contacts/v1/lists/${listId}/add`, {
174
+ return apiRequest(ctx, "POST", `contacts/v1/lists/${pathSegment(listId)}/add`, {
187
175
  vids: contactIds,
188
176
  });
189
177
  },
@@ -201,7 +189,7 @@ export default function hubspot(rl) {
201
189
  },
202
190
  async execute(input, ctx) {
203
191
  const { listId, contactIds } = input;
204
- return apiRequest(tok(ctx), "POST", `/contacts/v1/lists/${listId}/remove`, { vids: contactIds });
192
+ return apiRequest(ctx, "POST", `contacts/v1/lists/${pathSegment(listId)}/remove`, { vids: contactIds });
205
193
  },
206
194
  });
207
195
  // ── Engagement ──────────────────────────────────────
@@ -232,7 +220,7 @@ export default function hubspot(rl) {
232
220
  };
233
221
  if (associations)
234
222
  body.associations = associations;
235
- return apiRequest(tok(ctx), "POST", "/engagements/v1/engagements", body);
223
+ return apiRequest(ctx, "POST", "engagements/v1/engagements", body);
236
224
  },
237
225
  });
238
226
  rl.registerAction("engagement.get", {
@@ -246,7 +234,7 @@ export default function hubspot(rl) {
246
234
  },
247
235
  },
248
236
  async execute(input, ctx) {
249
- return apiRequest(tok(ctx), "GET", `/engagements/v1/engagements/${input.engagementId}`);
237
+ return apiRequest(ctx, "GET", `engagements/v1/engagements/${pathSegment(input.engagementId)}`);
250
238
  },
251
239
  });
252
240
  rl.registerAction("engagement.list", {
@@ -263,7 +251,7 @@ export default function hubspot(rl) {
263
251
  qs.limit = limit;
264
252
  if (offset)
265
253
  qs.offset = offset;
266
- return apiRequest(tok(ctx), "GET", "/engagements/v1/engagements/paged", undefined, qs);
254
+ return apiRequest(ctx, "GET", "engagements/v1/engagements/paged", undefined, qs);
267
255
  },
268
256
  });
269
257
  rl.registerAction("engagement.delete", {
@@ -277,7 +265,7 @@ export default function hubspot(rl) {
277
265
  },
278
266
  },
279
267
  async execute(input, ctx) {
280
- await apiRequest(tok(ctx), "DELETE", `/engagements/v1/engagements/${input.engagementId}`);
268
+ await apiRequest(ctx, "DELETE", `engagements/v1/engagements/${pathSegment(input.engagementId)}`);
281
269
  return { success: true };
282
270
  },
283
271
  });
@@ -308,7 +296,7 @@ export default function hubspot(rl) {
308
296
  const body = { fields };
309
297
  if (context)
310
298
  body.context = context;
311
- return apiRequest(tok(ctx), "POST", `/submissions/v3/integration/secure/submit/${portalId}/${formId}`, body);
299
+ return apiRequest(ctx, "POST", `submissions/v3/integration/secure/submit/${pathSegment(portalId)}/${pathSegment(formId)}`, body);
312
300
  },
313
301
  });
314
302
  rl.registerAction("form.getFields", {
@@ -318,7 +306,7 @@ export default function hubspot(rl) {
318
306
  formId: { type: "string", required: true, description: "Form GUID" },
319
307
  },
320
308
  async execute(input, ctx) {
321
- return apiRequest(tok(ctx), "GET", `/forms/v2/fields/${input.formId}`);
309
+ return apiRequest(ctx, "GET", `forms/v2/fields/${pathSegment(input.formId)}`);
322
310
  },
323
311
  });
324
312
  }
@@ -0,0 +1,13 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An API key, appended by the transport as the apikey query parameter. */
3
+ export const humanticAiCredential = staticCredential({
4
+ id: "humanticAi",
5
+ auth: { kind: "queryKey", param: "apikey" },
6
+ local: { secret: "apiKey" },
7
+ targets: {
8
+ api: {
9
+ baseUrl: "https://api.humantic.ai/v1/",
10
+ methods: ["GET", "POST"],
11
+ },
12
+ },
13
+ });
@@ -1,27 +1,20 @@
1
- const BASE_URL = "https://api.humantic.ai/v1";
2
- async function apiRequest(apiKey, method, endpoint, body, qs) {
3
- const url = new URL(`${BASE_URL}${endpoint}`);
4
- url.searchParams.set("apikey", apiKey);
5
- if (qs) {
6
- for (const [k, v] of Object.entries(qs)) {
7
- if (v !== undefined && v !== null)
8
- url.searchParams.set(k, String(v));
9
- }
10
- }
11
- const opts = {
1
+ import { credentialJson } from "../../_shared/credentials.js";
2
+ import { humanticAiCredential } from "./credentials.js";
3
+ function apiRequest(ctx, method, path, body, qs) {
4
+ return credentialJson(ctx, humanticAiCredential, "humanticAi", {
5
+ target: "api",
6
+ path,
12
7
  method,
13
- headers: { "Content-Type": "application/json" },
14
- };
15
- if (body && Object.keys(body).length > 0 && method !== "GET")
16
- opts.body = JSON.stringify(body);
17
- const res = await fetch(url.toString(), opts);
18
- if (!res.ok)
19
- throw new Error(`Humantic AI error ${res.status}: ${await res.text()}`);
20
- return res.json();
8
+ query: qs,
9
+ ...(body && Object.keys(body).length > 0 && method !== "GET"
10
+ ? { json: body }
11
+ : {}),
12
+ });
21
13
  }
22
14
  export default function humanticAi(rl) {
23
15
  rl.setName("humanticAi");
24
16
  rl.setVersion("0.1.0");
17
+ rl.setCredential(humanticAiCredential);
25
18
  rl.setConnectionSchema({
26
19
  apiKey: {
27
20
  type: "string",
@@ -57,7 +50,7 @@ export default function humanticAi(rl) {
57
50
  body.linkedin_url = linkedinUrl;
58
51
  if (text)
59
52
  body.text = text;
60
- return apiRequest(ctx.connection.config.apiKey, "POST", "/user-profile/create", body);
53
+ return apiRequest(ctx, "POST", "user-profile/create", body);
61
54
  },
62
55
  });
63
56
  rl.registerAction("profile.get", {
@@ -80,7 +73,7 @@ export default function humanticAi(rl) {
80
73
  const qs = { userid: userId };
81
74
  if (persona)
82
75
  qs.persona = persona;
83
- return apiRequest(ctx.connection.config.apiKey, "GET", "/user-profile", undefined, qs);
76
+ return apiRequest(ctx, "GET", "user-profile", undefined, qs);
84
77
  },
85
78
  });
86
79
  rl.registerAction("profile.update", {
@@ -106,7 +99,7 @@ export default function humanticAi(rl) {
106
99
  body.text = text;
107
100
  if (linkedinUrl)
108
101
  body.linkedin_url = linkedinUrl;
109
- return apiRequest(ctx.connection.config.apiKey, "POST", "/user-profile/create", body);
102
+ return apiRequest(ctx, "POST", "user-profile/create", body);
110
103
  },
111
104
  });
112
105
  }
@@ -0,0 +1,13 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * An API key, appended by the transport as the api_key query parameter.
4
+ * Callers may never supply api_key themselves; every action is a GET read.
5
+ */
6
+ export const hunterCredential = staticCredential({
7
+ id: "hunter",
8
+ auth: { kind: "queryKey", param: "api_key" },
9
+ local: { secret: "apiKey" },
10
+ targets: {
11
+ api: { baseUrl: "https://api.hunter.io/v2/", methods: ["GET"] },
12
+ },
13
+ });
@@ -1,21 +1,16 @@
1
- const BASE_URL = "https://api.hunter.io/v2";
2
- async function apiRequest(apiKey, endpoint, qs) {
3
- const url = new URL(`${BASE_URL}${endpoint}`);
4
- url.searchParams.set("api_key", apiKey);
5
- if (qs) {
6
- for (const [k, v] of Object.entries(qs)) {
7
- if (v !== undefined && v !== null)
8
- url.searchParams.set(k, String(v));
9
- }
10
- }
11
- const res = await fetch(url.toString());
12
- if (!res.ok)
13
- throw new Error(`Hunter API error ${res.status}: ${await res.text()}`);
14
- return res.json();
1
+ import { credentialJson } from "../../_shared/credentials.js";
2
+ import { hunterCredential } from "./credentials.js";
3
+ function apiRequest(ctx, path, qs) {
4
+ return credentialJson(ctx, hunterCredential, "hunter", {
5
+ target: "api",
6
+ path,
7
+ query: qs,
8
+ });
15
9
  }
16
10
  export default function hunter(rl) {
17
11
  rl.setName("hunter");
18
12
  rl.setVersion("0.1.0");
13
+ rl.setCredential(hunterCredential);
19
14
  rl.setConnectionSchema({
20
15
  apiKey: {
21
16
  type: "string",
@@ -47,7 +42,7 @@ export default function hunter(rl) {
47
42
  qs.type = type;
48
43
  if (limit)
49
44
  qs.limit = limit;
50
- const data = (await apiRequest(ctx.connection.config.apiKey, "/domain-search", qs));
45
+ const data = (await apiRequest(ctx, "domain-search", qs));
51
46
  return data.data;
52
47
  },
53
48
  });
@@ -61,7 +56,11 @@ export default function hunter(rl) {
61
56
  },
62
57
  async execute(input, ctx) {
63
58
  const { domain, firstName, lastName } = input;
64
- const data = (await apiRequest(ctx.connection.config.apiKey, "/email-finder", { domain, first_name: firstName, last_name: lastName }));
59
+ const data = (await apiRequest(ctx, "email-finder", {
60
+ domain,
61
+ first_name: firstName,
62
+ last_name: lastName,
63
+ }));
65
64
  return data.data;
66
65
  },
67
66
  });
@@ -72,7 +71,9 @@ export default function hunter(rl) {
72
71
  email: { type: "string", required: true, description: "Email to verify" },
73
72
  },
74
73
  async execute(input, ctx) {
75
- const data = (await apiRequest(ctx.connection.config.apiKey, "/email-verifier", { email: input.email }));
74
+ const data = (await apiRequest(ctx, "email-verifier", {
75
+ email: input.email,
76
+ }));
76
77
  return data.data;
77
78
  },
78
79
  });
@@ -0,0 +1,19 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An access token, sent as a bearer to Intercom's one API origin. */
3
+ export const intercomCredential = staticCredential({
4
+ id: "intercom",
5
+ auth: { kind: "bearer" },
6
+ local: { secret: "accessToken" },
7
+ targets: {
8
+ api: {
9
+ baseUrl: "https://api.intercom.io/",
10
+ methods: ["GET", "POST", "PUT", "DELETE"],
11
+ },
12
+ },
13
+ probe: {
14
+ target: "api",
15
+ path: "me",
16
+ method: "GET",
17
+ acceptedStatuses: [200],
18
+ },
19
+ });