runline 0.33.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 (515) 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 +19 -55
  28. package/dist/plugins/_shared/shiftCredentials.js +83 -0
  29. package/dist/plugins/actionNetwork/src/credentials.js +14 -0
  30. package/dist/plugins/actionNetwork/src/index.js +39 -50
  31. package/dist/plugins/activeCampaign/src/credentials.js +22 -0
  32. package/dist/plugins/activeCampaign/src/index.js +61 -132
  33. package/dist/plugins/adalo/src/credentials.js +16 -0
  34. package/dist/plugins/adalo/src/index.js +19 -43
  35. package/dist/plugins/affinity/src/credentials.js +19 -0
  36. package/dist/plugins/affinity/src/index.js +29 -54
  37. package/dist/plugins/agileCrm/src/credentials.js +16 -0
  38. package/dist/plugins/agileCrm/src/index.js +46 -112
  39. package/dist/plugins/airtable/src/credentials.js +19 -0
  40. package/dist/plugins/airtable/src/index.js +37 -50
  41. package/dist/plugins/airtop/src/credentials.js +20 -0
  42. package/dist/plugins/airtop/src/index.js +51 -75
  43. package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
  44. package/dist/plugins/apiTemplateIo/src/index.js +14 -31
  45. package/dist/plugins/asana/src/credentials.js +19 -0
  46. package/dist/plugins/asana/src/index.js +51 -72
  47. package/dist/plugins/autopilot/src/credentials.js +19 -0
  48. package/dist/plugins/autopilot/src/index.js +38 -45
  49. package/dist/plugins/bambooHr/src/credentials.js +16 -0
  50. package/dist/plugins/bambooHr/src/index.js +41 -67
  51. package/dist/plugins/bannerbear/src/credentials.js +19 -0
  52. package/dist/plugins/bannerbear/src/index.js +15 -27
  53. package/dist/plugins/baserow/src/credentials.js +17 -0
  54. package/dist/plugins/baserow/src/index.js +23 -49
  55. package/dist/plugins/beeminder/src/credentials.js +19 -0
  56. package/dist/plugins/beeminder/src/index.js +32 -54
  57. package/dist/plugins/bitly/src/credentials.js +19 -0
  58. package/dist/plugins/bitly/src/index.js +12 -26
  59. package/dist/plugins/bitwarden/src/credentials.js +62 -0
  60. package/dist/plugins/bitwarden/src/index.js +34 -80
  61. package/dist/plugins/box/src/credentials.js +19 -0
  62. package/dist/plugins/box/src/index.js +24 -49
  63. package/dist/plugins/brandfetch/src/credentials.js +13 -0
  64. package/dist/plugins/brandfetch/src/index.js +12 -17
  65. package/dist/plugins/brevo/src/credentials.js +19 -0
  66. package/dist/plugins/brevo/src/index.js +30 -51
  67. package/dist/plugins/bubble/src/credentials.js +28 -0
  68. package/dist/plugins/bubble/src/index.js +29 -65
  69. package/dist/plugins/chargebee/src/credentials.js +16 -0
  70. package/dist/plugins/chargebee/src/index.js +15 -45
  71. package/dist/plugins/circleci/src/credentials.js +19 -0
  72. package/dist/plugins/circleci/src/index.js +19 -39
  73. package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
  74. package/dist/plugins/ciscoWebex/src/index.js +43 -61
  75. package/dist/plugins/clearbit/src/credentials.js +22 -0
  76. package/dist/plugins/clearbit/src/index.js +11 -21
  77. package/dist/plugins/clickup/src/credentials.js +19 -0
  78. package/dist/plugins/clickup/src/index.js +85 -117
  79. package/dist/plugins/clockify/src/credentials.js +19 -0
  80. package/dist/plugins/clockify/src/index.js +46 -61
  81. package/dist/plugins/cloudflare/src/credentials.js +19 -0
  82. package/dist/plugins/cloudflare/src/index.js +19 -34
  83. package/dist/plugins/cockpit/src/credentials.js +17 -0
  84. package/dist/plugins/cockpit/src/index.js +18 -31
  85. package/dist/plugins/coda/src/credentials.js +19 -0
  86. package/dist/plugins/coda/src/index.js +33 -50
  87. package/dist/plugins/coingecko/src/credentials.js +20 -0
  88. package/dist/plugins/coingecko/src/index.js +24 -34
  89. package/dist/plugins/contentful/src/credentials.js +26 -0
  90. package/dist/plugins/contentful/src/index.js +19 -40
  91. package/dist/plugins/convertkit/src/credentials.js +26 -0
  92. package/dist/plugins/convertkit/src/index.js +27 -45
  93. package/dist/plugins/copper/src/credentials.js +17 -0
  94. package/dist/plugins/copper/src/index.js +25 -47
  95. package/dist/plugins/cortex/src/credentials.js +28 -0
  96. package/dist/plugins/cortex/src/index.js +26 -49
  97. package/dist/plugins/currents/src/credentials.js +19 -0
  98. package/dist/plugins/currents/src/index.js +46 -59
  99. package/dist/plugins/customerIo/src/credentials.js +52 -0
  100. package/dist/plugins/customerIo/src/index.js +30 -58
  101. package/dist/plugins/databricks/src/credentials.js +13 -0
  102. package/dist/plugins/databricks/src/index.js +51 -103
  103. package/dist/plugins/deepl/src/credentials.js +19 -0
  104. package/dist/plugins/deepl/src/index.js +13 -39
  105. package/dist/plugins/demio/src/credentials.js +26 -0
  106. package/dist/plugins/demio/src/index.js +17 -41
  107. package/dist/plugins/dhl/src/credentials.js +13 -0
  108. package/dist/plugins/dhl/src/index.js +8 -19
  109. package/dist/plugins/discord/src/credentials.js +19 -0
  110. package/dist/plugins/discord/src/index.js +30 -58
  111. package/dist/plugins/discourse/src/credentials.js +18 -0
  112. package/dist/plugins/discourse/src/index.js +36 -53
  113. package/dist/plugins/disqus/src/credentials.js +13 -0
  114. package/dist/plugins/disqus/src/index.js +14 -32
  115. package/dist/plugins/drift/src/credentials.js +13 -0
  116. package/dist/plugins/drift/src/index.js +16 -26
  117. package/dist/plugins/dropbox/src/credentials.js +13 -0
  118. package/dist/plugins/dropbox/src/index.js +23 -30
  119. package/dist/plugins/dropcontact/src/credentials.js +13 -0
  120. package/dist/plugins/dropcontact/src/index.js +13 -18
  121. package/dist/plugins/egoi/src/credentials.js +19 -0
  122. package/dist/plugins/egoi/src/index.js +23 -38
  123. package/dist/plugins/elasticsearch/src/credentials.js +18 -0
  124. package/dist/plugins/elasticsearch/src/index.js +27 -48
  125. package/dist/plugins/elevenlabs/src/credentials.js +30 -0
  126. package/dist/plugins/elevenlabs/src/index.js +4 -1
  127. package/dist/plugins/elevenlabs/src/schemas.js +2 -1
  128. package/dist/plugins/elevenlabs/src/shared.js +74 -35
  129. package/dist/plugins/elevenlabs/src/workflows.js +2 -2
  130. package/dist/plugins/emelia/src/credentials.js +14 -0
  131. package/dist/plugins/emelia/src/index.js +19 -23
  132. package/dist/plugins/erpnext/src/credentials.js +27 -0
  133. package/dist/plugins/erpnext/src/index.js +21 -42
  134. package/dist/plugins/facebookGraph/src/credentials.js +20 -0
  135. package/dist/plugins/facebookGraph/src/index.js +39 -37
  136. package/dist/plugins/fal/src/credentials.js +14 -0
  137. package/dist/plugins/fal/src/index.js +4 -2
  138. package/dist/plugins/fal/src/shared.js +58 -63
  139. package/dist/plugins/freshdesk/src/credentials.js +20 -0
  140. package/dist/plugins/freshdesk/src/index.js +25 -46
  141. package/dist/plugins/freshservice/src/credentials.js +16 -0
  142. package/dist/plugins/freshservice/src/index.js +37 -58
  143. package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
  144. package/dist/plugins/freshworksCrm/src/index.js +20 -39
  145. package/dist/plugins/getresponse/src/credentials.js +22 -0
  146. package/dist/plugins/getresponse/src/index.js +20 -32
  147. package/dist/plugins/gett/src/credentials.js +64 -0
  148. package/dist/plugins/gett/src/index.js +11 -6
  149. package/dist/plugins/gett/src/login.js +24 -0
  150. package/dist/plugins/gett/src/session.js +15 -38
  151. package/dist/plugins/gett/src/shared.js +41 -84
  152. package/dist/plugins/ghost/src/credentials.js +36 -0
  153. package/dist/plugins/ghost/src/index.js +18 -59
  154. package/dist/plugins/github/src/credentials.js +18 -0
  155. package/dist/plugins/github/src/index.js +55 -78
  156. package/dist/plugins/gitlab/src/credentials.js +24 -0
  157. package/dist/plugins/gitlab/src/index.js +29 -48
  158. package/dist/plugins/gmail/src/index.js +26 -24
  159. package/dist/plugins/gong/src/credentials.js +16 -0
  160. package/dist/plugins/gong/src/index.js +16 -32
  161. package/dist/plugins/googleAppsScript/src/index.js +108 -42
  162. package/dist/plugins/googleCalendar/src/index.js +15 -13
  163. package/dist/plugins/googleContacts/src/index.js +12 -9
  164. package/dist/plugins/googleDocs/src/index.js +2 -0
  165. package/dist/plugins/googleDocs/src/shared.js +2 -1
  166. package/dist/plugins/googleDrive/src/index.js +50 -53
  167. package/dist/plugins/googleImage/src/credentials.js +14 -0
  168. package/dist/plugins/googleImage/src/index.js +14 -25
  169. package/dist/plugins/googleSheets/src/index.js +26 -27
  170. package/dist/plugins/googleSlides/src/index.js +6 -4
  171. package/dist/plugins/googleTasks/src/index.js +13 -11
  172. package/dist/plugins/gotify/src/credentials.js +32 -0
  173. package/dist/plugins/gotify/src/index.js +14 -36
  174. package/dist/plugins/gotowebinar/src/credentials.js +13 -0
  175. package/dist/plugins/gotowebinar/src/index.js +52 -69
  176. package/dist/plugins/grafana/src/credentials.js +16 -0
  177. package/dist/plugins/grafana/src/index.js +34 -53
  178. package/dist/plugins/graphql/src/credentials.js +42 -0
  179. package/dist/plugins/graphql/src/index.js +21 -46
  180. package/dist/plugins/grist/src/credentials.js +30 -0
  181. package/dist/plugins/grist/src/index.js +14 -43
  182. package/dist/plugins/halopsa/src/credentials.js +56 -0
  183. package/dist/plugins/halopsa/src/index.js +20 -47
  184. package/dist/plugins/harvest/src/credentials.js +20 -0
  185. package/dist/plugins/harvest/src/index.js +24 -43
  186. package/dist/plugins/helpscout/src/credentials.js +13 -0
  187. package/dist/plugins/helpscout/src/index.js +26 -38
  188. package/dist/plugins/highlevel/src/credentials.js +19 -0
  189. package/dist/plugins/highlevel/src/index.js +34 -63
  190. package/dist/plugins/homeAssistant/src/credentials.js +27 -0
  191. package/dist/plugins/homeAssistant/src/index.js +34 -52
  192. package/dist/plugins/hubspot/src/credentials.js +16 -0
  193. package/dist/plugins/hubspot/src/index.js +29 -41
  194. package/dist/plugins/humanticAi/src/credentials.js +13 -0
  195. package/dist/plugins/humanticAi/src/index.js +15 -22
  196. package/dist/plugins/hunter/src/credentials.js +13 -0
  197. package/dist/plugins/hunter/src/index.js +18 -17
  198. package/dist/plugins/intercom/src/credentials.js +19 -0
  199. package/dist/plugins/intercom/src/index.js +25 -38
  200. package/dist/plugins/iterable/src/credentials.js +17 -0
  201. package/dist/plugins/iterable/src/index.js +26 -40
  202. package/dist/plugins/jenkins/src/credentials.js +16 -0
  203. package/dist/plugins/jenkins/src/index.js +22 -36
  204. package/dist/plugins/jira/src/credentials.js +16 -0
  205. package/dist/plugins/jira/src/index.js +35 -61
  206. package/dist/plugins/keap/src/credentials.js +19 -0
  207. package/dist/plugins/keap/src/index.js +43 -71
  208. package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
  209. package/dist/plugins/kobotoolbox/src/index.js +46 -84
  210. package/dist/plugins/lemlist/src/credentials.js +19 -0
  211. package/dist/plugins/lemlist/src/index.js +35 -47
  212. package/dist/plugins/linear/src/attachments.js +7 -7
  213. package/dist/plugins/linear/src/comments.js +7 -7
  214. package/dist/plugins/linear/src/credentials.js +17 -0
  215. package/dist/plugins/linear/src/cycles.js +5 -5
  216. package/dist/plugins/linear/src/index.js +2 -0
  217. package/dist/plugins/linear/src/initiatives.js +6 -6
  218. package/dist/plugins/linear/src/issues.js +14 -14
  219. package/dist/plugins/linear/src/labels.js +6 -6
  220. package/dist/plugins/linear/src/organization.js +2 -2
  221. package/dist/plugins/linear/src/projects.js +12 -12
  222. package/dist/plugins/linear/src/shared.js +34 -32
  223. package/dist/plugins/linear/src/states.js +3 -3
  224. package/dist/plugins/linear/src/teams.js +4 -4
  225. package/dist/plugins/linear/src/users.js +3 -3
  226. package/dist/plugins/linear/src/views.js +5 -5
  227. package/dist/plugins/linear/src/webhooks.js +5 -5
  228. package/dist/plugins/lingvanex/src/credentials.js +13 -0
  229. package/dist/plugins/lingvanex/src/index.js +7 -9
  230. package/dist/plugins/linkedin/src/credentials.js +17 -0
  231. package/dist/plugins/linkedin/src/index.js +13 -17
  232. package/dist/plugins/lonescale/src/credentials.js +13 -0
  233. package/dist/plugins/lonescale/src/index.js +16 -26
  234. package/dist/plugins/magento/src/credentials.js +16 -0
  235. package/dist/plugins/magento/src/index.js +67 -84
  236. package/dist/plugins/mailcheck/src/credentials.js +17 -0
  237. package/dist/plugins/mailcheck/src/index.js +7 -9
  238. package/dist/plugins/mailchimp/src/credentials.js +32 -0
  239. package/dist/plugins/mailchimp/src/index.js +36 -44
  240. package/dist/plugins/mailerlite/src/credentials.js +13 -0
  241. package/dist/plugins/mailerlite/src/index.js +19 -32
  242. package/dist/plugins/mailgun/src/credentials.js +21 -0
  243. package/dist/plugins/mailgun/src/index.js +15 -21
  244. package/dist/plugins/mailjet/src/credentials.js +38 -0
  245. package/dist/plugins/mailjet/src/index.js +60 -115
  246. package/dist/plugins/mandrill/src/credentials.js +17 -0
  247. package/dist/plugins/mandrill/src/index.js +11 -12
  248. package/dist/plugins/marketstack/src/credentials.js +16 -0
  249. package/dist/plugins/marketstack/src/index.js +18 -28
  250. package/dist/plugins/matrix/src/credentials.js +19 -0
  251. package/dist/plugins/matrix/src/index.js +23 -52
  252. package/dist/plugins/mattermost/src/credentials.js +19 -0
  253. package/dist/plugins/mattermost/src/index.js +41 -73
  254. package/dist/plugins/mautic/src/credentials.js +16 -0
  255. package/dist/plugins/mautic/src/index.js +46 -62
  256. package/dist/plugins/medium/src/credentials.js +20 -0
  257. package/dist/plugins/medium/src/index.js +18 -23
  258. package/dist/plugins/messagebird/src/credentials.js +22 -0
  259. package/dist/plugins/messagebird/src/index.js +13 -18
  260. package/dist/plugins/metabase/src/credentials.js +19 -0
  261. package/dist/plugins/metabase/src/index.js +24 -40
  262. package/dist/plugins/microsoftCalendar/src/index.js +48 -12
  263. package/dist/plugins/microsoftFiles/src/index.js +90 -25
  264. package/dist/plugins/microsoftMail/src/index.js +62 -15
  265. package/dist/plugins/misp/src/credentials.js +16 -0
  266. package/dist/plugins/misp/src/index.js +60 -71
  267. package/dist/plugins/mocean/src/credentials.js +17 -0
  268. package/dist/plugins/mocean/src/index.js +11 -23
  269. package/dist/plugins/monday/src/credentials.js +14 -0
  270. package/dist/plugins/monday/src/index.js +31 -44
  271. package/dist/plugins/monicaCrm/src/credentials.js +19 -0
  272. package/dist/plugins/monicaCrm/src/index.js +25 -42
  273. package/dist/plugins/msg91/src/credentials.js +10 -0
  274. package/dist/plugins/msg91/src/index.js +15 -11
  275. package/dist/plugins/nasa/src/credentials.js +22 -0
  276. package/dist/plugins/nasa/src/index.js +24 -28
  277. package/dist/plugins/netlify/src/credentials.js +19 -0
  278. package/dist/plugins/netlify/src/index.js +27 -51
  279. package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
  280. package/dist/plugins/netscalerAdc/src/index.js +16 -31
  281. package/dist/plugins/nextcloud/src/credentials.js +27 -0
  282. package/dist/plugins/nextcloud/src/index.js +55 -109
  283. package/dist/plugins/nocodb/src/credentials.js +16 -0
  284. package/dist/plugins/nocodb/src/index.js +19 -37
  285. package/dist/plugins/notion/src/credentials.js +21 -0
  286. package/dist/plugins/notion/src/index.js +25 -38
  287. package/dist/plugins/npm/src/credentials.js +19 -0
  288. package/dist/plugins/npm/src/index.js +22 -32
  289. package/dist/plugins/odoo/src/credentials.js +21 -0
  290. package/dist/plugins/odoo/src/index.js +53 -69
  291. package/dist/plugins/okta/src/credentials.js +23 -0
  292. package/dist/plugins/okta/src/index.js +30 -35
  293. package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
  294. package/dist/plugins/oneSimpleApi/src/index.js +19 -24
  295. package/dist/plugins/onfleet/src/credentials.js +23 -0
  296. package/dist/plugins/onfleet/src/index.js +42 -53
  297. package/dist/plugins/openai/src/credentials.js +13 -0
  298. package/dist/plugins/openai/src/index.js +15 -23
  299. package/dist/plugins/openweathermap/src/credentials.js +16 -0
  300. package/dist/plugins/openweathermap/src/index.js +22 -22
  301. package/dist/plugins/oura/src/credentials.js +19 -0
  302. package/dist/plugins/oura/src/index.js +13 -18
  303. package/dist/plugins/paddle/src/credentials.js +27 -0
  304. package/dist/plugins/paddle/src/index.js +20 -36
  305. package/dist/plugins/pagerduty/src/credentials.js +24 -0
  306. package/dist/plugins/pagerduty/src/index.js +30 -39
  307. package/dist/plugins/parallel/src/credentials.js +18 -0
  308. package/dist/plugins/parallel/src/index.js +16 -22
  309. package/dist/plugins/paypal/src/credentials.js +44 -0
  310. package/dist/plugins/paypal/src/index.js +14 -40
  311. package/dist/plugins/peekalink/src/credentials.js +16 -0
  312. package/dist/plugins/peekalink/src/index.js +10 -11
  313. package/dist/plugins/phantombuster/src/credentials.js +19 -0
  314. package/dist/plugins/phantombuster/src/index.js +19 -32
  315. package/dist/plugins/philipsHue/src/credentials.js +17 -0
  316. package/dist/plugins/philipsHue/src/index.js +15 -27
  317. package/dist/plugins/pipedrive/src/credentials.js +26 -0
  318. package/dist/plugins/pipedrive/src/index.js +43 -73
  319. package/dist/plugins/plaud/src/index.js +2 -1
  320. package/dist/plugins/plaud/src/shared.js +23 -19
  321. package/dist/plugins/plivo/src/credentials.js +20 -0
  322. package/dist/plugins/plivo/src/index.js +13 -19
  323. package/dist/plugins/posthog/src/credentials.js +18 -0
  324. package/dist/plugins/posthog/src/index.js +14 -20
  325. package/dist/plugins/profitwell/src/credentials.js +22 -0
  326. package/dist/plugins/profitwell/src/index.js +10 -17
  327. package/dist/plugins/pushbullet/src/credentials.js +19 -0
  328. package/dist/plugins/pushbullet/src/index.js +19 -27
  329. package/dist/plugins/pushcut/src/credentials.js +19 -0
  330. package/dist/plugins/pushcut/src/index.js +7 -8
  331. package/dist/plugins/pushover/src/credentials.js +14 -0
  332. package/dist/plugins/pushover/src/index.js +7 -12
  333. package/dist/plugins/quickbase/src/credentials.js +15 -0
  334. package/dist/plugins/quickbase/src/index.js +24 -34
  335. package/dist/plugins/quickbooks/src/credentials.js +22 -0
  336. package/dist/plugins/quickbooks/src/index.js +17 -46
  337. package/dist/plugins/raindrop/src/credentials.js +19 -0
  338. package/dist/plugins/raindrop/src/index.js +30 -32
  339. package/dist/plugins/recraft/src/credentials.js +13 -0
  340. package/dist/plugins/recraft/src/index.js +38 -27
  341. package/dist/plugins/reddit/src/credentials.js +26 -0
  342. package/dist/plugins/reddit/src/index.js +30 -34
  343. package/dist/plugins/replicate/src/credentials.js +23 -0
  344. package/dist/plugins/replicate/src/index.js +17 -27
  345. package/dist/plugins/rocketchat/src/credentials.js +17 -0
  346. package/dist/plugins/rocketchat/src/index.js +8 -19
  347. package/dist/plugins/rundeck/src/credentials.js +16 -0
  348. package/dist/plugins/rundeck/src/index.js +12 -28
  349. package/dist/plugins/salesforce/src/credentials.js +73 -0
  350. package/dist/plugins/salesforce/src/index.js +6 -0
  351. package/dist/plugins/salesforce/src/metadata.js +3 -16
  352. package/dist/plugins/salesforce/src/shared.js +25 -100
  353. package/dist/plugins/salesforce/src/sobjects.js +10 -9
  354. package/dist/plugins/salesmate/src/credentials.js +17 -0
  355. package/dist/plugins/salesmate/src/index.js +20 -37
  356. package/dist/plugins/securityScorecard/src/credentials.js +22 -0
  357. package/dist/plugins/securityScorecard/src/index.js +24 -37
  358. package/dist/plugins/segment/src/credentials.js +16 -0
  359. package/dist/plugins/segment/src/index.js +12 -16
  360. package/dist/plugins/sendgrid/src/credentials.js +13 -0
  361. package/dist/plugins/sendgrid/src/index.js +31 -35
  362. package/dist/plugins/sendy/src/credentials.js +18 -0
  363. package/dist/plugins/sendy/src/index.js +18 -24
  364. package/dist/plugins/sentry/src/credentials.js +16 -0
  365. package/dist/plugins/sentry/src/index.js +30 -98
  366. package/dist/plugins/servicenow/src/credentials.js +13 -0
  367. package/dist/plugins/servicenow/src/index.js +22 -41
  368. package/dist/plugins/shiftAtlas/src/graph.js +2 -2
  369. package/dist/plugins/shiftAtlas/src/index.js +2 -0
  370. package/dist/plugins/shiftAtlas/src/shared.js +3 -1
  371. package/dist/plugins/shiftBwm/src/index.js +4 -2
  372. package/dist/plugins/shiftBwm/src/shared.js +41 -16
  373. package/dist/plugins/shiftCrm/src/access.js +2 -2
  374. package/dist/plugins/shiftCrm/src/accounts.js +3 -3
  375. package/dist/plugins/shiftCrm/src/activities.js +3 -3
  376. package/dist/plugins/shiftCrm/src/credentials.js +6 -0
  377. package/dist/plugins/shiftCrm/src/index.js +2 -0
  378. package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
  379. package/dist/plugins/shiftCrm/src/people.js +3 -3
  380. package/dist/plugins/shiftCrm/src/records.js +2 -2
  381. package/dist/plugins/shiftCrm/src/shared.js +2 -1
  382. package/dist/plugins/shiftCrm/src/tasks.js +3 -3
  383. package/dist/plugins/shiftObjects/src/credentials.js +2 -0
  384. package/dist/plugins/shiftObjects/src/index.js +2 -0
  385. package/dist/plugins/shiftObjects/src/objects.js +3 -2
  386. package/dist/plugins/shiftOcr/src/credentials.js +8 -0
  387. package/dist/plugins/shiftOcr/src/index.js +6 -5
  388. package/dist/plugins/shiftPages/src/index.js +2 -0
  389. package/dist/plugins/shiftPages/src/pages.js +5 -3
  390. package/dist/plugins/shiftPages/src/shared.js +3 -1
  391. package/dist/plugins/shiftTranscription/src/index.js +2 -0
  392. package/dist/plugins/shiftTranscription/src/shared.js +11 -1
  393. package/dist/plugins/shiftTranscription/src/transcription.js +4 -4
  394. package/dist/plugins/shiftWork/src/index.js +2 -0
  395. package/dist/plugins/shiftWork/src/issue-views.js +5 -5
  396. package/dist/plugins/shiftWork/src/issues.js +11 -7
  397. package/dist/plugins/shiftWork/src/projects.js +3 -3
  398. package/dist/plugins/shiftWork/src/shared.js +3 -1
  399. package/dist/plugins/shopify/src/credentials.js +16 -0
  400. package/dist/plugins/shopify/src/index.js +32 -59
  401. package/dist/plugins/signl4/src/credentials.js +17 -0
  402. package/dist/plugins/signl4/src/index.js +28 -29
  403. package/dist/plugins/slack/src/credentials.js +19 -0
  404. package/dist/plugins/slack/src/index.js +51 -60
  405. package/dist/plugins/sms77/src/credentials.js +17 -0
  406. package/dist/plugins/sms77/src/index.js +11 -16
  407. package/dist/plugins/splunk/src/credentials.js +19 -0
  408. package/dist/plugins/splunk/src/index.js +32 -74
  409. package/dist/plugins/spotify/src/credentials.js +19 -0
  410. package/dist/plugins/spotify/src/index.js +40 -55
  411. package/dist/plugins/stackby/src/credentials.js +13 -0
  412. package/dist/plugins/stackby/src/index.js +14 -23
  413. package/dist/plugins/steel/src/auth.js +27 -0
  414. package/dist/plugins/steel/src/browser.js +4 -3
  415. package/dist/plugins/steel/src/captchas.js +4 -3
  416. package/dist/plugins/steel/src/extensions.js +3 -2
  417. package/dist/plugins/steel/src/files.js +9 -10
  418. package/dist/plugins/steel/src/index.js +2 -0
  419. package/dist/plugins/steel/src/page/tools.js +3 -3
  420. package/dist/plugins/steel/src/profiles.js +4 -3
  421. package/dist/plugins/steel/src/sessions.js +13 -13
  422. package/dist/plugins/steel/src/shared.js +21 -51
  423. package/dist/plugins/storyblok/src/credentials.js +37 -0
  424. package/dist/plugins/storyblok/src/index.js +22 -66
  425. package/dist/plugins/strapi/src/credentials.js +71 -0
  426. package/dist/plugins/strapi/src/index.js +36 -70
  427. package/dist/plugins/strava/src/credentials.js +19 -0
  428. package/dist/plugins/strava/src/index.js +16 -33
  429. package/dist/plugins/stripe/src/credentials.js +19 -0
  430. package/dist/plugins/stripe/src/index.js +44 -58
  431. package/dist/plugins/supabase/src/credentials.js +30 -0
  432. package/dist/plugins/supabase/src/index.js +18 -40
  433. package/dist/plugins/syncromsp/src/credentials.js +16 -0
  434. package/dist/plugins/syncromsp/src/index.js +37 -70
  435. package/dist/plugins/tapfiliate/src/credentials.js +13 -0
  436. package/dist/plugins/tapfiliate/src/index.js +21 -31
  437. package/dist/plugins/telegram/src/credentials.js +20 -0
  438. package/dist/plugins/telegram/src/index.js +31 -39
  439. package/dist/plugins/thehive/src/credentials.js +14 -0
  440. package/dist/plugins/thehive/src/index.js +33 -50
  441. package/dist/plugins/thehiveProject/src/credentials.js +16 -0
  442. package/dist/plugins/thehiveProject/src/index.js +53 -122
  443. package/dist/plugins/todoist/src/credentials.js +26 -0
  444. package/dist/plugins/todoist/src/index.js +49 -79
  445. package/dist/plugins/together/src/credentials.js +16 -0
  446. package/dist/plugins/together/src/index.js +30 -32
  447. package/dist/plugins/travisci/src/credentials.js +24 -0
  448. package/dist/plugins/travisci/src/index.js +16 -30
  449. package/dist/plugins/trello/src/credentials.js +29 -0
  450. package/dist/plugins/trello/src/index.js +49 -64
  451. package/dist/plugins/twake/src/credentials.js +16 -0
  452. package/dist/plugins/twake/src/index.js +8 -10
  453. package/dist/plugins/twilio/src/credentials.js +23 -0
  454. package/dist/plugins/twilio/src/index.js +12 -26
  455. package/dist/plugins/twist/src/credentials.js +13 -0
  456. package/dist/plugins/twist/src/index.js +32 -44
  457. package/dist/plugins/twitter/src/credentials.js +16 -0
  458. package/dist/plugins/twitter/src/index.js +25 -37
  459. package/dist/plugins/typesafe/src/credentials.js +28 -0
  460. package/dist/plugins/typesafe/src/index.js +3 -1
  461. package/dist/plugins/typesafe/src/shared.js +23 -35
  462. package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
  463. package/dist/plugins/unleashedSoftware/src/index.js +13 -37
  464. package/dist/plugins/uplead/src/credentials.js +16 -0
  465. package/dist/plugins/uplead/src/index.js +11 -16
  466. package/dist/plugins/uproc/src/credentials.js +14 -0
  467. package/dist/plugins/uproc/src/index.js +7 -10
  468. package/dist/plugins/uptimerobot/src/credentials.js +14 -0
  469. package/dist/plugins/uptimerobot/src/index.js +28 -39
  470. package/dist/plugins/urlscanio/src/credentials.js +13 -0
  471. package/dist/plugins/urlscanio/src/index.js +13 -22
  472. package/dist/plugins/vercel/src/credentials.js +19 -0
  473. package/dist/plugins/vercel/src/deployments.js +27 -11
  474. package/dist/plugins/vercel/src/env.js +31 -12
  475. package/dist/plugins/vercel/src/index.js +2 -0
  476. package/dist/plugins/vercel/src/projects.js +6 -3
  477. package/dist/plugins/vercel/src/shared.js +32 -37
  478. package/dist/plugins/vero/src/credentials.js +17 -0
  479. package/dist/plugins/vero/src/index.js +18 -21
  480. package/dist/plugins/vonage/src/credentials.js +17 -0
  481. package/dist/plugins/vonage/src/index.js +14 -18
  482. package/dist/plugins/wekan/src/credentials.js +16 -0
  483. package/dist/plugins/wekan/src/index.js +33 -46
  484. package/dist/plugins/wolt/src/account.js +6 -0
  485. package/dist/plugins/wolt/src/catalog.js +2 -2
  486. package/dist/plugins/wolt/src/credentials.js +64 -0
  487. package/dist/plugins/wolt/src/index.js +8 -3
  488. package/dist/plugins/wolt/src/orders.js +2 -2
  489. package/dist/plugins/wolt/src/public.js +91 -0
  490. package/dist/plugins/wolt/src/shared.js +49 -158
  491. package/dist/plugins/woocommerce/src/credentials.js +16 -0
  492. package/dist/plugins/woocommerce/src/index.js +19 -37
  493. package/dist/plugins/wordpress/src/credentials.js +16 -0
  494. package/dist/plugins/wordpress/src/index.js +23 -42
  495. package/dist/plugins/xai/src/credentials.js +13 -0
  496. package/dist/plugins/xai/src/index.js +31 -30
  497. package/dist/plugins/xero/src/credentials.js +17 -0
  498. package/dist/plugins/xero/src/index.js +19 -36
  499. package/dist/plugins/yourls/src/credentials.js +17 -0
  500. package/dist/plugins/yourls/src/index.js +13 -23
  501. package/dist/plugins/zammad/src/credentials.js +15 -0
  502. package/dist/plugins/zammad/src/index.js +27 -47
  503. package/dist/plugins/zendesk/src/credentials.js +26 -0
  504. package/dist/plugins/zendesk/src/index.js +29 -48
  505. package/dist/plugins/zoho/src/credentials.js +17 -0
  506. package/dist/plugins/zoho/src/index.js +18 -38
  507. package/dist/plugins/zoom/src/credentials.js +19 -0
  508. package/dist/plugins/zoom/src/index.js +15 -30
  509. package/dist/plugins/zulip/src/credentials.js +16 -0
  510. package/dist/plugins/zulip/src/index.js +36 -42
  511. package/dist/sdk.d.ts +8 -0
  512. package/dist/sdk.js +3 -0
  513. package/package.json +1 -1
  514. package/dist/plugins/_shared/authedFetch.js +0 -33
  515. package/dist/plugins/_shared/tokenRefresh.js +0 -41
@@ -1,4 +1,4 @@
1
- import { graphRequest, microsoftSetupHelp, userBase } from "../../_shared/microsoftAuth.js";
1
+ import { graphRequest, microsoftCredential, microsoftSetupHelp, userBase, } from "../../_shared/microsoftAuth.js";
2
2
  const NAME = "microsoftMail";
3
3
  const SCOPES = [
4
4
  "https://graph.microsoft.com/Mail.Send",
@@ -11,7 +11,10 @@ const recipients = (addrs) => (Array.isArray(addrs) ? addrs : addrs ? [addrs] :
11
11
  function toMessage(input) {
12
12
  return {
13
13
  subject: input.subject,
14
- body: { contentType: input.html ? "HTML" : "Text", content: input.body ?? "" },
14
+ body: {
15
+ contentType: input.html ? "HTML" : "Text",
16
+ content: input.body ?? "",
17
+ },
15
18
  toRecipients: recipients(input.to),
16
19
  ccRecipients: recipients(input.cc),
17
20
  };
@@ -19,13 +22,43 @@ function toMessage(input) {
19
22
  export default function microsoftMail(rl) {
20
23
  rl.setName(NAME);
21
24
  rl.setVersion("1.0.0");
25
+ rl.setCredential(microsoftCredential(NAME, SCOPES));
22
26
  rl.setConnectionSchema({
23
- authMethod: { type: "string", required: false, description: "delegated or appOnly; legacy configs infer the method from existing credentials" },
24
- tenantId: { type: "string", required: false, env: "MS_GRAPH_TENANT_ID", description: "Entra tenant id (app-only) or omit for OAuth /common" },
25
- clientId: { type: "string", required: false, env: "MS_GRAPH_CLIENT_ID", description: "App (client) id" },
26
- clientSecret: { type: "string", required: false, env: "MS_GRAPH_CLIENT_SECRET", description: "Client secret VALUE" },
27
- refreshToken: { type: "string", required: false, env: "MICROSOFTMAIL_REFRESH_TOKEN", description: "OAuth2 refresh token (set by the login flow)" },
28
- userUpn: { type: "string", required: false, env: "MS_GRAPH_USER_UPN", description: "App-only only: target mailbox UPN (e.g. agent@contoso.com)" },
27
+ authMethod: {
28
+ type: "string",
29
+ required: false,
30
+ description: "delegated or appOnly; legacy configs infer the method from existing credentials",
31
+ },
32
+ tenantId: {
33
+ type: "string",
34
+ required: false,
35
+ env: "MS_GRAPH_TENANT_ID",
36
+ description: "Entra tenant id (app-only) or omit for OAuth /common",
37
+ },
38
+ clientId: {
39
+ type: "string",
40
+ required: false,
41
+ env: "MS_GRAPH_CLIENT_ID",
42
+ description: "App (client) id",
43
+ },
44
+ clientSecret: {
45
+ type: "string",
46
+ required: false,
47
+ env: "MS_GRAPH_CLIENT_SECRET",
48
+ description: "Client secret VALUE",
49
+ },
50
+ refreshToken: {
51
+ type: "string",
52
+ required: false,
53
+ env: "MICROSOFTMAIL_REFRESH_TOKEN",
54
+ description: "OAuth2 refresh token (set by the login flow)",
55
+ },
56
+ userUpn: {
57
+ type: "string",
58
+ required: false,
59
+ env: "MS_GRAPH_USER_UPN",
60
+ description: "App-only only: target mailbox UPN (e.g. agent@contoso.com)",
61
+ },
29
62
  });
30
63
  rl.setOAuth({
31
64
  authUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
@@ -37,11 +70,19 @@ export default function microsoftMail(rl) {
37
70
  access: "write",
38
71
  description: "Send an email as the connected mailbox. Returns {success}. Get user approval before sending external mail.",
39
72
  inputSchema: {
40
- to: { type: "array", required: true, description: "Recipient address(es)" },
73
+ to: {
74
+ type: "array",
75
+ required: true,
76
+ description: "Recipient address(es)",
77
+ },
41
78
  subject: { type: "string", required: true },
42
79
  body: { type: "string", required: true },
43
80
  cc: { type: "array", required: false },
44
- html: { type: "boolean", required: false, description: "Body is HTML (default plain text)" },
81
+ html: {
82
+ type: "boolean",
83
+ required: false,
84
+ description: "Body is HTML (default plain text)",
85
+ },
45
86
  },
46
87
  async execute(input, ctx) {
47
88
  await graphRequest(ctx, NAME, SCOPES, "POST", `${userBase(ctx)}/sendMail`, {
@@ -70,17 +111,22 @@ export default function microsoftMail(rl) {
70
111
  access: "read",
71
112
  description: "List recent messages. Optional KQL search. Returns [{id,subject,from,receivedDateTime,bodyPreview,hasAttachments}].",
72
113
  inputSchema: {
73
- search: { type: "string", required: false, description: "KQL search across the mailbox" },
114
+ search: {
115
+ type: "string",
116
+ required: false,
117
+ description: "KQL search across the mailbox",
118
+ },
74
119
  top: { type: "number", required: false, default: 20 },
75
120
  },
76
121
  async execute(input, ctx) {
122
+ const p = input;
77
123
  const qs = new URLSearchParams({
78
- $top: String(input.top ?? 20),
124
+ $top: String(p.top ?? 20),
79
125
  $select: "id,subject,from,receivedDateTime,bodyPreview,hasAttachments",
80
126
  $orderby: "receivedDateTime desc",
81
127
  });
82
- if (input.search)
83
- qs.set("$search", `"${input.search}"`);
128
+ if (p.search)
129
+ qs.set("$search", `"${p.search}"`);
84
130
  const r = await graphRequest(ctx, NAME, SCOPES, "GET", `${userBase(ctx)}/messages?${qs}`);
85
131
  return r.value;
86
132
  },
@@ -90,7 +136,8 @@ export default function microsoftMail(rl) {
90
136
  description: "Get one message with full body by id.",
91
137
  inputSchema: { id: { type: "string", required: true } },
92
138
  async execute(input, ctx) {
93
- return graphRequest(ctx, NAME, SCOPES, "GET", `${userBase(ctx)}/messages/${encodeURIComponent(input.id)}`);
139
+ const p = input;
140
+ return graphRequest(ctx, NAME, SCOPES, "GET", `${userBase(ctx)}/messages/${encodeURIComponent(p.id)}`);
94
141
  },
95
142
  });
96
143
  }
@@ -0,0 +1,16 @@
1
+ import { httpsBase, staticCredential } from "../../_shared/credentials.js";
2
+ /**
3
+ * A MISP automation key, sent raw in the Authorization header to the
4
+ * connection's own instance.
5
+ */
6
+ export const mispCredential = staticCredential({
7
+ id: "misp",
8
+ auth: { kind: "apiKey", header: "Authorization" },
9
+ local: { secret: "apiKey" },
10
+ targets: (config) => ({
11
+ api: {
12
+ baseUrl: httpsBase(config.baseUrl, ""),
13
+ methods: ["GET", "POST", "PUT", "DELETE"],
14
+ },
15
+ }),
16
+ });
@@ -1,25 +1,22 @@
1
- async function apiRequest(baseUrl, apiKey, method, endpoint, body) {
2
- const opts = {
1
+ import { credentialJson, pathSegment } from "../../_shared/credentials.js";
2
+ import { mispCredential } from "./credentials.js";
3
+ function req(ctx, method, path, body) {
4
+ return credentialJson(ctx, mispCredential, "misp", {
5
+ target: "api",
6
+ path,
3
7
  method,
4
- headers: {
5
- Authorization: apiKey,
6
- Accept: "application/json",
7
- "Content-Type": "application/json",
8
- },
9
- };
10
- if (body &&
11
- Object.keys(body).length > 0 &&
12
- method !== "GET" &&
13
- method !== "DELETE")
14
- opts.body = JSON.stringify(body);
15
- const res = await fetch(`${baseUrl}${endpoint}`, opts);
16
- if (!res.ok)
17
- throw new Error(`MISP API error ${res.status}: ${await res.text()}`);
18
- return res.json();
8
+ ...(body &&
9
+ Object.keys(body).length > 0 &&
10
+ method !== "GET" &&
11
+ method !== "DELETE"
12
+ ? { json: body }
13
+ : {}),
14
+ });
19
15
  }
20
16
  export default function misp(rl) {
21
17
  rl.setName("misp");
22
18
  rl.setVersion("0.1.0");
19
+ rl.setCredential(mispCredential);
23
20
  rl.setConnectionSchema({
24
21
  baseUrl: {
25
22
  type: "string",
@@ -34,14 +31,6 @@ export default function misp(rl) {
34
31
  env: "MISP_API_KEY",
35
32
  },
36
33
  });
37
- const conn = (ctx) => ({
38
- baseUrl: ctx.connection.config.baseUrl.replace(/\/$/, ""),
39
- apiKey: ctx.connection.config.apiKey,
40
- });
41
- const req = (ctx, method, ep, body) => {
42
- const c = conn(ctx);
43
- return apiRequest(c.baseUrl, c.apiKey, method, ep, body);
44
- };
45
34
  // ── Attribute ───────────────────────────────────────
46
35
  rl.registerAction("attribute.create", {
47
36
  access: "write",
@@ -65,7 +54,7 @@ export default function misp(rl) {
65
54
  const body = { type, value };
66
55
  if (additionalFields)
67
56
  Object.assign(body, additionalFields);
68
- const data = (await req(ctx, "POST", `/attributes/add/${eventId}`, body));
57
+ const data = (await req(ctx, "POST", `attributes/add/${pathSegment(eventId)}`, body));
69
58
  return data.Attribute;
70
59
  },
71
60
  });
@@ -74,7 +63,7 @@ export default function misp(rl) {
74
63
  description: "Get an attribute by ID",
75
64
  inputSchema: { attributeId: { type: "string", required: true } },
76
65
  async execute(input, ctx) {
77
- const data = (await req(ctx, "GET", `/attributes/view/${input.attributeId}`));
66
+ const data = (await req(ctx, "GET", `attributes/view/${pathSegment(input.attributeId)}`));
78
67
  return data.Attribute;
79
68
  },
80
69
  });
@@ -83,7 +72,7 @@ export default function misp(rl) {
83
72
  description: "List all attributes",
84
73
  inputSchema: { limit: { type: "number", required: false } },
85
74
  async execute(input, ctx) {
86
- let data = (await req(ctx, "GET", "/attributes"));
75
+ let data = (await req(ctx, "GET", "attributes"));
87
76
  if (input?.limit)
88
77
  data = data.slice(0, input.limit);
89
78
  return data;
@@ -105,7 +94,7 @@ export default function misp(rl) {
105
94
  const body = searchBody ?? {};
106
95
  if (value)
107
96
  body.value = value;
108
- const data = (await req(ctx, "POST", "/attributes/restSearch", body));
97
+ const data = (await req(ctx, "POST", "attributes/restSearch", body));
109
98
  return data.response?.Attribute ?? [];
110
99
  },
111
100
  });
@@ -118,7 +107,7 @@ export default function misp(rl) {
118
107
  },
119
108
  async execute(input, ctx) {
120
109
  const { attributeId, updateFields } = input;
121
- const data = (await req(ctx, "PUT", `/attributes/edit/${attributeId}`, updateFields));
110
+ const data = (await req(ctx, "PUT", `attributes/edit/${pathSegment(attributeId)}`, updateFields));
122
111
  return data.Attribute;
123
112
  },
124
113
  });
@@ -127,7 +116,7 @@ export default function misp(rl) {
127
116
  description: "Delete an attribute",
128
117
  inputSchema: { attributeId: { type: "string", required: true } },
129
118
  async execute(input, ctx) {
130
- return req(ctx, "DELETE", `/attributes/delete/${input.attributeId}`);
119
+ return req(ctx, "DELETE", `attributes/delete/${pathSegment(input.attributeId)}`);
131
120
  },
132
121
  });
133
122
  // ── Event ───────────────────────────────────────────
@@ -152,7 +141,7 @@ export default function misp(rl) {
152
141
  const body = { org_id: orgId, info };
153
142
  if (additionalFields)
154
143
  Object.assign(body, additionalFields);
155
- const data = (await req(ctx, "POST", "/events", body));
144
+ const data = (await req(ctx, "POST", "events", body));
156
145
  return data.Event;
157
146
  },
158
147
  });
@@ -161,7 +150,7 @@ export default function misp(rl) {
161
150
  description: "Get an event by ID",
162
151
  inputSchema: { eventId: { type: "string", required: true } },
163
152
  async execute(input, ctx) {
164
- const data = (await req(ctx, "GET", `/events/view/${input.eventId}`));
153
+ const data = (await req(ctx, "GET", `events/view/${pathSegment(input.eventId)}`));
165
154
  const event = data.Event;
166
155
  delete event.Attribute; // prevent excessive payload
167
156
  return event;
@@ -172,7 +161,7 @@ export default function misp(rl) {
172
161
  description: "List all events",
173
162
  inputSchema: { limit: { type: "number", required: false } },
174
163
  async execute(input, ctx) {
175
- let data = (await req(ctx, "GET", "/events"));
164
+ let data = (await req(ctx, "GET", "events"));
176
165
  if (input?.limit)
177
166
  data = data.slice(0, input.limit);
178
167
  return data;
@@ -194,7 +183,7 @@ export default function misp(rl) {
194
183
  const body = searchBody ?? {};
195
184
  if (value)
196
185
  body.value = value;
197
- const data = (await req(ctx, "POST", "/events/restSearch", body));
186
+ const data = (await req(ctx, "POST", "events/restSearch", body));
198
187
  const response = data.response;
199
188
  return response?.map((e) => e.Event) ?? [];
200
189
  },
@@ -208,7 +197,7 @@ export default function misp(rl) {
208
197
  },
209
198
  async execute(input, ctx) {
210
199
  const { eventId, updateFields } = input;
211
- const data = (await req(ctx, "PUT", `/events/edit/${eventId}`, updateFields));
200
+ const data = (await req(ctx, "PUT", `events/edit/${pathSegment(eventId)}`, updateFields));
212
201
  const event = data.Event;
213
202
  delete event.Attribute;
214
203
  return event;
@@ -219,7 +208,7 @@ export default function misp(rl) {
219
208
  description: "Publish an event",
220
209
  inputSchema: { eventId: { type: "string", required: true } },
221
210
  async execute(input, ctx) {
222
- return req(ctx, "POST", `/events/publish/${input.eventId}`);
211
+ return req(ctx, "POST", `events/publish/${pathSegment(input.eventId)}`);
223
212
  },
224
213
  });
225
214
  rl.registerAction("event.unpublish", {
@@ -227,7 +216,7 @@ export default function misp(rl) {
227
216
  description: "Unpublish an event",
228
217
  inputSchema: { eventId: { type: "string", required: true } },
229
218
  async execute(input, ctx) {
230
- return req(ctx, "POST", `/events/unpublish/${input.eventId}`);
219
+ return req(ctx, "POST", `events/unpublish/${pathSegment(input.eventId)}`);
231
220
  },
232
221
  });
233
222
  rl.registerAction("event.delete", {
@@ -235,7 +224,7 @@ export default function misp(rl) {
235
224
  description: "Delete an event",
236
225
  inputSchema: { eventId: { type: "string", required: true } },
237
226
  async execute(input, ctx) {
238
- return req(ctx, "DELETE", `/events/delete/${input.eventId}`);
227
+ return req(ctx, "DELETE", `events/delete/${pathSegment(input.eventId)}`);
239
228
  },
240
229
  });
241
230
  // ── Event Tag ───────────────────────────────────────
@@ -248,7 +237,7 @@ export default function misp(rl) {
248
237
  },
249
238
  async execute(input, ctx) {
250
239
  const { eventId, tagId } = input;
251
- return req(ctx, "POST", "/events/addTag", { event: eventId, tag: tagId });
240
+ return req(ctx, "POST", "events/addTag", { event: eventId, tag: tagId });
252
241
  },
253
242
  });
254
243
  rl.registerAction("eventTag.remove", {
@@ -260,7 +249,7 @@ export default function misp(rl) {
260
249
  },
261
250
  async execute(input, ctx) {
262
251
  const { eventId, tagId } = input;
263
- return req(ctx, "POST", `/events/removeTag/${eventId}/${tagId}`);
252
+ return req(ctx, "POST", `events/removeTag/${pathSegment(eventId)}/${pathSegment(tagId)}`);
264
253
  },
265
254
  });
266
255
  // ── Feed ────────────────────────────────────────────
@@ -282,7 +271,7 @@ export default function misp(rl) {
282
271
  const body = { name, provider, url };
283
272
  if (additionalFields)
284
273
  Object.assign(body, additionalFields);
285
- const data = (await req(ctx, "POST", "/feeds/add", body));
274
+ const data = (await req(ctx, "POST", "feeds/add", body));
286
275
  return data.Feed;
287
276
  },
288
277
  });
@@ -291,7 +280,7 @@ export default function misp(rl) {
291
280
  description: "Get a feed by ID",
292
281
  inputSchema: { feedId: { type: "string", required: true } },
293
282
  async execute(input, ctx) {
294
- const data = (await req(ctx, "GET", `/feeds/view/${input.feedId}`));
283
+ const data = (await req(ctx, "GET", `feeds/view/${pathSegment(input.feedId)}`));
295
284
  return data.Feed;
296
285
  },
297
286
  });
@@ -300,7 +289,7 @@ export default function misp(rl) {
300
289
  description: "List all feeds",
301
290
  inputSchema: { limit: { type: "number", required: false } },
302
291
  async execute(input, ctx) {
303
- let data = (await req(ctx, "GET", "/feeds"));
292
+ let data = (await req(ctx, "GET", "feeds"));
304
293
  data = data.map((e) => e.Feed);
305
294
  if (input?.limit)
306
295
  data = data.slice(0, input.limit);
@@ -316,7 +305,7 @@ export default function misp(rl) {
316
305
  },
317
306
  async execute(input, ctx) {
318
307
  const { feedId, updateFields } = input;
319
- const data = (await req(ctx, "PUT", `/feeds/edit/${feedId}`, updateFields));
308
+ const data = (await req(ctx, "PUT", `feeds/edit/${pathSegment(feedId)}`, updateFields));
320
309
  return data.Feed;
321
310
  },
322
311
  });
@@ -325,7 +314,7 @@ export default function misp(rl) {
325
314
  description: "Enable a feed",
326
315
  inputSchema: { feedId: { type: "string", required: true } },
327
316
  async execute(input, ctx) {
328
- return req(ctx, "POST", `/feeds/enable/${input.feedId}`);
317
+ return req(ctx, "POST", `feeds/enable/${pathSegment(input.feedId)}`);
329
318
  },
330
319
  });
331
320
  rl.registerAction("feed.disable", {
@@ -333,7 +322,7 @@ export default function misp(rl) {
333
322
  description: "Disable a feed",
334
323
  inputSchema: { feedId: { type: "string", required: true } },
335
324
  async execute(input, ctx) {
336
- return req(ctx, "POST", `/feeds/disable/${input.feedId}`);
325
+ return req(ctx, "POST", `feeds/disable/${pathSegment(input.feedId)}`);
337
326
  },
338
327
  });
339
328
  // ── Galaxy ──────────────────────────────────────────
@@ -342,7 +331,7 @@ export default function misp(rl) {
342
331
  description: "Get a galaxy by ID",
343
332
  inputSchema: { galaxyId: { type: "string", required: true } },
344
333
  async execute(input, ctx) {
345
- const data = (await req(ctx, "GET", `/galaxies/view/${input.galaxyId}`));
334
+ const data = (await req(ctx, "GET", `galaxies/view/${pathSegment(input.galaxyId)}`));
346
335
  return data.Galaxy;
347
336
  },
348
337
  });
@@ -351,7 +340,7 @@ export default function misp(rl) {
351
340
  description: "List all galaxies",
352
341
  inputSchema: { limit: { type: "number", required: false } },
353
342
  async execute(input, ctx) {
354
- let data = (await req(ctx, "GET", "/galaxies"));
343
+ let data = (await req(ctx, "GET", "galaxies"));
355
344
  data = data.map((e) => e.Galaxy);
356
345
  if (input?.limit)
357
346
  data = data.slice(0, input.limit);
@@ -363,7 +352,7 @@ export default function misp(rl) {
363
352
  description: "Delete a galaxy",
364
353
  inputSchema: { galaxyId: { type: "string", required: true } },
365
354
  async execute(input, ctx) {
366
- return req(ctx, "DELETE", `/galaxies/delete/${input.galaxyId}`);
355
+ return req(ctx, "DELETE", `galaxies/delete/${pathSegment(input.galaxyId)}`);
367
356
  },
368
357
  });
369
358
  // ── Noticelist ──────────────────────────────────────
@@ -372,7 +361,7 @@ export default function misp(rl) {
372
361
  description: "Get a noticelist by ID",
373
362
  inputSchema: { noticelistId: { type: "string", required: true } },
374
363
  async execute(input, ctx) {
375
- const data = (await req(ctx, "GET", `/noticelists/view/${input.noticelistId}`));
364
+ const data = (await req(ctx, "GET", `noticelists/view/${pathSegment(input.noticelistId)}`));
376
365
  return data.Noticelist;
377
366
  },
378
367
  });
@@ -381,7 +370,7 @@ export default function misp(rl) {
381
370
  description: "List all noticelists",
382
371
  inputSchema: { limit: { type: "number", required: false } },
383
372
  async execute(input, ctx) {
384
- let data = (await req(ctx, "GET", "/noticelists"));
373
+ let data = (await req(ctx, "GET", "noticelists"));
385
374
  data = data.map((e) => e.Noticelist);
386
375
  if (input?.limit)
387
376
  data = data.slice(0, input.limit);
@@ -401,7 +390,7 @@ export default function misp(rl) {
401
390
  const body = searchBody ?? {};
402
391
  if (value)
403
392
  body.value = value;
404
- const data = (await req(ctx, "POST", "/objects/restSearch", body));
393
+ const data = (await req(ctx, "POST", "objects/restSearch", body));
405
394
  const response = data.response;
406
395
  return response?.map((o) => o.Object) ?? [];
407
396
  },
@@ -423,7 +412,7 @@ export default function misp(rl) {
423
412
  const body = { name };
424
413
  if (additionalFields)
425
414
  Object.assign(body, additionalFields);
426
- const data = (await req(ctx, "POST", "/admin/organisations/add", body));
415
+ const data = (await req(ctx, "POST", "admin/organisations/add", body));
427
416
  return data.Organisation;
428
417
  },
429
418
  });
@@ -432,7 +421,7 @@ export default function misp(rl) {
432
421
  description: "Get an organisation by ID",
433
422
  inputSchema: { organisationId: { type: "string", required: true } },
434
423
  async execute(input, ctx) {
435
- const data = (await req(ctx, "GET", `/organisations/view/${input.organisationId}`));
424
+ const data = (await req(ctx, "GET", `organisations/view/${pathSegment(input.organisationId)}`));
436
425
  return data.Organisation;
437
426
  },
438
427
  });
@@ -441,7 +430,7 @@ export default function misp(rl) {
441
430
  description: "List all organisations",
442
431
  inputSchema: { limit: { type: "number", required: false } },
443
432
  async execute(input, ctx) {
444
- let data = (await req(ctx, "GET", "/organisations"));
433
+ let data = (await req(ctx, "GET", "organisations"));
445
434
  data = data.map((e) => e.Organisation);
446
435
  if (input?.limit)
447
436
  data = data.slice(0, input.limit);
@@ -457,7 +446,7 @@ export default function misp(rl) {
457
446
  },
458
447
  async execute(input, ctx) {
459
448
  const { organisationId, updateFields } = input;
460
- const data = (await req(ctx, "PUT", `/admin/organisations/edit/${organisationId}`, updateFields));
449
+ const data = (await req(ctx, "PUT", `admin/organisations/edit/${pathSegment(organisationId)}`, updateFields));
461
450
  return data.Organisation;
462
451
  },
463
452
  });
@@ -466,7 +455,7 @@ export default function misp(rl) {
466
455
  description: "Delete an organisation",
467
456
  inputSchema: { organisationId: { type: "string", required: true } },
468
457
  async execute(input, ctx) {
469
- return req(ctx, "DELETE", `/admin/organisations/delete/${input.organisationId}`);
458
+ return req(ctx, "DELETE", `admin/organisations/delete/${pathSegment(input.organisationId)}`);
470
459
  },
471
460
  });
472
461
  // ── Tag ─────────────────────────────────────────────
@@ -487,8 +476,8 @@ export default function misp(rl) {
487
476
  if (colour)
488
477
  body.colour = colour.startsWith("#")
489
478
  ? colour
490
- : `#${colour}`;
491
- const data = (await req(ctx, "POST", "/tags/add", body));
479
+ : `#${encodeURIComponent(colour)}`;
480
+ const data = (await req(ctx, "POST", "tags/add", body));
492
481
  return data.Tag;
493
482
  },
494
483
  });
@@ -497,7 +486,7 @@ export default function misp(rl) {
497
486
  description: "List all tags",
498
487
  inputSchema: { limit: { type: "number", required: false } },
499
488
  async execute(input, ctx) {
500
- const data = (await req(ctx, "GET", "/tags"));
489
+ const data = (await req(ctx, "GET", "tags"));
501
490
  let tags = data.Tag;
502
491
  if (input?.limit)
503
492
  tags = tags.slice(0, input.limit);
@@ -520,8 +509,8 @@ export default function misp(rl) {
520
509
  if (colour)
521
510
  body.colour = colour.startsWith("#")
522
511
  ? colour
523
- : `#${colour}`;
524
- const data = (await req(ctx, "POST", `/tags/edit/${tagId}`, body));
512
+ : `#${encodeURIComponent(colour)}`;
513
+ const data = (await req(ctx, "POST", `tags/edit/${pathSegment(tagId)}`, body));
525
514
  return data.Tag;
526
515
  },
527
516
  });
@@ -530,7 +519,7 @@ export default function misp(rl) {
530
519
  description: "Delete a tag",
531
520
  inputSchema: { tagId: { type: "string", required: true } },
532
521
  async execute(input, ctx) {
533
- return req(ctx, "POST", `/tags/delete/${input.tagId}`);
522
+ return req(ctx, "POST", `tags/delete/${pathSegment(input.tagId)}`);
534
523
  },
535
524
  });
536
525
  // ── User ────────────────────────────────────────────
@@ -551,7 +540,7 @@ export default function misp(rl) {
551
540
  const body = { email, role_id: roleId };
552
541
  if (additionalFields)
553
542
  Object.assign(body, additionalFields);
554
- const data = (await req(ctx, "POST", "/admin/users/add", body));
543
+ const data = (await req(ctx, "POST", "admin/users/add", body));
555
544
  return data.User;
556
545
  },
557
546
  });
@@ -560,7 +549,7 @@ export default function misp(rl) {
560
549
  description: "Get a user by ID",
561
550
  inputSchema: { userId: { type: "string", required: true } },
562
551
  async execute(input, ctx) {
563
- const data = (await req(ctx, "GET", `/admin/users/view/${input.userId}`));
552
+ const data = (await req(ctx, "GET", `admin/users/view/${pathSegment(input.userId)}`));
564
553
  return data.User;
565
554
  },
566
555
  });
@@ -569,7 +558,7 @@ export default function misp(rl) {
569
558
  description: "List all users",
570
559
  inputSchema: { limit: { type: "number", required: false } },
571
560
  async execute(input, ctx) {
572
- let data = (await req(ctx, "GET", "/admin/users"));
561
+ let data = (await req(ctx, "GET", "admin/users"));
573
562
  data = data.map((e) => e.User);
574
563
  if (input?.limit)
575
564
  data = data.slice(0, input.limit);
@@ -585,7 +574,7 @@ export default function misp(rl) {
585
574
  },
586
575
  async execute(input, ctx) {
587
576
  const { userId, updateFields } = input;
588
- const data = (await req(ctx, "PUT", `/admin/users/edit/${userId}`, updateFields));
577
+ const data = (await req(ctx, "PUT", `admin/users/edit/${pathSegment(userId)}`, updateFields));
589
578
  return data.User;
590
579
  },
591
580
  });
@@ -594,7 +583,7 @@ export default function misp(rl) {
594
583
  description: "Delete a user",
595
584
  inputSchema: { userId: { type: "string", required: true } },
596
585
  async execute(input, ctx) {
597
- return req(ctx, "DELETE", `/admin/users/delete/${input.userId}`);
586
+ return req(ctx, "DELETE", `admin/users/delete/${pathSegment(input.userId)}`);
598
587
  },
599
588
  });
600
589
  // ── Warninglist ─────────────────────────────────────
@@ -603,7 +592,7 @@ export default function misp(rl) {
603
592
  description: "Get a warninglist by ID",
604
593
  inputSchema: { warninglistId: { type: "string", required: true } },
605
594
  async execute(input, ctx) {
606
- const data = (await req(ctx, "GET", `/warninglists/view/${input.warninglistId}`));
595
+ const data = (await req(ctx, "GET", `warninglists/view/${pathSegment(input.warninglistId)}`));
607
596
  return data.Warninglist;
608
597
  },
609
598
  });
@@ -612,7 +601,7 @@ export default function misp(rl) {
612
601
  description: "List all warninglists",
613
602
  inputSchema: { limit: { type: "number", required: false } },
614
603
  async execute(input, ctx) {
615
- const data = (await req(ctx, "GET", "/warninglists"));
604
+ const data = (await req(ctx, "GET", "warninglists"));
616
605
  let lists = (data.Warninglists ?? []).map((e) => e.Warninglist);
617
606
  if (input?.limit)
618
607
  lists = lists.slice(0, input.limit);
@@ -0,0 +1,17 @@
1
+ import { staticCredential } from "../../_shared/credentials.js";
2
+ /** An API key and secret, added by the transport as the mocean-api-key and mocean-api-secret fields of every Mocean form. */
3
+ export const moceanCredential = staticCredential({
4
+ id: "mocean",
5
+ auth: {
6
+ kind: "static",
7
+ parts: ["key", "secret"],
8
+ placements: [
9
+ { in: "body", part: "key", name: "mocean-api-key" },
10
+ { in: "body", part: "secret", name: "mocean-api-secret" },
11
+ ],
12
+ },
13
+ local: { key: "apiKey", secret: "apiSecret" },
14
+ targets: {
15
+ api: { baseUrl: "https://rest.moceanapi.com/rest/2/", methods: ["POST"] },
16
+ },
17
+ });