runline 0.34.0 → 0.36.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 (493) hide show
  1. package/dist/auth/errors.d.ts +3 -3
  2. package/dist/auth/errors.js +3 -3
  3. package/dist/core/engine.js +12 -8
  4. package/dist/credentials/aws-plugin.d.ts +79 -0
  5. package/dist/credentials/aws-plugin.js +179 -0
  6. package/dist/credentials/aws.d.ts +41 -0
  7. package/dist/credentials/aws.js +213 -0
  8. package/dist/credentials/broker.d.ts +11 -0
  9. package/dist/credentials/broker.js +222 -0
  10. package/dist/credentials/plugin.d.ts +255 -0
  11. package/dist/{plugins/_shared/credentials.js → credentials/plugin.js} +40 -12
  12. package/dist/credentials/policy.d.ts +11 -3
  13. package/dist/credentials/policy.js +22 -3
  14. package/dist/credentials/registry.d.ts +14 -0
  15. package/dist/credentials/registry.js +60 -2
  16. package/dist/credentials/sigv4.d.ts +47 -0
  17. package/dist/credentials/sigv4.js +145 -0
  18. package/dist/credentials/transport.d.ts +9 -0
  19. package/dist/credentials/transport.js +106 -26
  20. package/dist/credentials/types.d.ts +73 -4
  21. package/dist/index.d.ts +9 -2
  22. package/dist/index.js +6 -1
  23. package/dist/plugin/schema.d.ts +16 -4
  24. package/dist/plugin/schema.js +28 -5
  25. package/dist/plugin/types.d.ts +8 -0
  26. package/dist/plugins/_shared/base64.js +30 -0
  27. package/dist/plugins/_shared/googleAuth.js +65 -6
  28. package/dist/plugins/_shared/googleCredentials.js +41 -9
  29. package/dist/plugins/_shared/localFile.js +40 -0
  30. package/dist/plugins/_shared/mediaFile.js +16 -13
  31. package/dist/plugins/_shared/microsoftAuth.js +22 -9
  32. package/dist/plugins/_shared/microsoftCredentials.js +13 -9
  33. package/dist/plugins/_shared/shiftCloud.js +14 -19
  34. package/dist/plugins/_shared/shiftCredentials.js +1 -2
  35. package/dist/plugins/_shared/shiftUpload.js +14 -10
  36. package/dist/plugins/actionNetwork/src/credentials.js +1 -1
  37. package/dist/plugins/actionNetwork/src/index.js +1 -1
  38. package/dist/plugins/activeCampaign/src/credentials.js +1 -1
  39. package/dist/plugins/activeCampaign/src/index.js +1 -1
  40. package/dist/plugins/adalo/src/credentials.js +1 -1
  41. package/dist/plugins/adalo/src/index.js +1 -1
  42. package/dist/plugins/affinity/src/credentials.js +1 -1
  43. package/dist/plugins/affinity/src/index.js +1 -1
  44. package/dist/plugins/agentMail/src/credentials.js +35 -0
  45. package/dist/plugins/agentMail/src/drafts.js +137 -0
  46. package/dist/plugins/agentMail/src/inboxes.js +95 -0
  47. package/dist/plugins/agentMail/src/index.js +35 -0
  48. package/dist/plugins/agentMail/src/messages.js +154 -0
  49. package/dist/plugins/agentMail/src/schemas.js +156 -0
  50. package/dist/plugins/agentMail/src/shared.js +202 -0
  51. package/dist/plugins/agentMail/src/threads.js +75 -0
  52. package/dist/plugins/agileCrm/src/credentials.js +1 -1
  53. package/dist/plugins/agileCrm/src/index.js +1 -1
  54. package/dist/plugins/airtable/src/credentials.js +1 -1
  55. package/dist/plugins/airtable/src/index.js +1 -1
  56. package/dist/plugins/airtop/src/credentials.js +1 -1
  57. package/dist/plugins/airtop/src/index.js +1 -1
  58. package/dist/plugins/apiTemplateIo/src/credentials.js +1 -1
  59. package/dist/plugins/apiTemplateIo/src/index.js +1 -1
  60. package/dist/plugins/asana/src/credentials.js +1 -1
  61. package/dist/plugins/asana/src/index.js +1 -1
  62. package/dist/plugins/autopilot/src/credentials.js +1 -1
  63. package/dist/plugins/autopilot/src/index.js +1 -1
  64. package/dist/plugins/bambooHr/src/credentials.js +1 -1
  65. package/dist/plugins/bambooHr/src/index.js +1 -1
  66. package/dist/plugins/bannerbear/src/credentials.js +1 -1
  67. package/dist/plugins/bannerbear/src/index.js +1 -1
  68. package/dist/plugins/baserow/src/credentials.js +1 -1
  69. package/dist/plugins/baserow/src/index.js +1 -1
  70. package/dist/plugins/beeminder/src/credentials.js +1 -1
  71. package/dist/plugins/beeminder/src/index.js +1 -1
  72. package/dist/plugins/bitly/src/credentials.js +1 -1
  73. package/dist/plugins/bitly/src/index.js +1 -1
  74. package/dist/plugins/bitwarden/src/credentials.js +1 -1
  75. package/dist/plugins/bitwarden/src/index.js +1 -1
  76. package/dist/plugins/box/src/credentials.js +1 -1
  77. package/dist/plugins/box/src/index.js +1 -1
  78. package/dist/plugins/brandfetch/src/credentials.js +1 -1
  79. package/dist/plugins/brandfetch/src/index.js +1 -1
  80. package/dist/plugins/brevo/src/credentials.js +1 -1
  81. package/dist/plugins/brevo/src/index.js +1 -1
  82. package/dist/plugins/bubble/src/credentials.js +1 -1
  83. package/dist/plugins/bubble/src/index.js +1 -1
  84. package/dist/plugins/chargebee/src/credentials.js +1 -1
  85. package/dist/plugins/chargebee/src/index.js +1 -1
  86. package/dist/plugins/circleci/src/credentials.js +1 -1
  87. package/dist/plugins/circleci/src/index.js +1 -1
  88. package/dist/plugins/ciscoWebex/src/credentials.js +1 -1
  89. package/dist/plugins/ciscoWebex/src/index.js +1 -1
  90. package/dist/plugins/clearbit/src/credentials.js +1 -1
  91. package/dist/plugins/clearbit/src/index.js +1 -1
  92. package/dist/plugins/clickup/src/credentials.js +1 -1
  93. package/dist/plugins/clickup/src/index.js +1 -1
  94. package/dist/plugins/clockify/src/credentials.js +1 -1
  95. package/dist/plugins/clockify/src/index.js +1 -1
  96. package/dist/plugins/cloudflare/src/credentials.js +1 -1
  97. package/dist/plugins/cloudflare/src/index.js +1 -1
  98. package/dist/plugins/cockpit/src/credentials.js +1 -1
  99. package/dist/plugins/cockpit/src/index.js +1 -1
  100. package/dist/plugins/coda/src/credentials.js +1 -1
  101. package/dist/plugins/coda/src/index.js +1 -1
  102. package/dist/plugins/coingecko/src/credentials.js +1 -1
  103. package/dist/plugins/coingecko/src/index.js +1 -1
  104. package/dist/plugins/contentful/src/credentials.js +1 -1
  105. package/dist/plugins/contentful/src/index.js +1 -1
  106. package/dist/plugins/convertkit/src/credentials.js +1 -1
  107. package/dist/plugins/convertkit/src/index.js +1 -1
  108. package/dist/plugins/copper/src/credentials.js +1 -1
  109. package/dist/plugins/copper/src/index.js +1 -1
  110. package/dist/plugins/cortex/src/credentials.js +1 -1
  111. package/dist/plugins/cortex/src/index.js +1 -1
  112. package/dist/plugins/currents/src/credentials.js +1 -1
  113. package/dist/plugins/currents/src/index.js +1 -1
  114. package/dist/plugins/customerIo/src/credentials.js +1 -1
  115. package/dist/plugins/customerIo/src/index.js +1 -1
  116. package/dist/plugins/databricks/src/credentials.js +1 -1
  117. package/dist/plugins/databricks/src/index.js +1 -1
  118. package/dist/plugins/deepl/src/credentials.js +1 -1
  119. package/dist/plugins/deepl/src/index.js +1 -1
  120. package/dist/plugins/demio/src/credentials.js +1 -1
  121. package/dist/plugins/demio/src/index.js +1 -1
  122. package/dist/plugins/dhl/src/credentials.js +1 -1
  123. package/dist/plugins/dhl/src/index.js +1 -1
  124. package/dist/plugins/discord/src/credentials.js +1 -1
  125. package/dist/plugins/discord/src/index.js +1 -1
  126. package/dist/plugins/discourse/src/credentials.js +1 -1
  127. package/dist/plugins/discourse/src/index.js +1 -1
  128. package/dist/plugins/disqus/src/credentials.js +1 -1
  129. package/dist/plugins/disqus/src/index.js +1 -1
  130. package/dist/plugins/drift/src/credentials.js +1 -1
  131. package/dist/plugins/drift/src/index.js +1 -1
  132. package/dist/plugins/dropbox/src/credentials.js +1 -1
  133. package/dist/plugins/dropbox/src/index.js +1 -1
  134. package/dist/plugins/dropcontact/src/credentials.js +1 -1
  135. package/dist/plugins/dropcontact/src/index.js +1 -1
  136. package/dist/plugins/egoi/src/credentials.js +1 -1
  137. package/dist/plugins/egoi/src/index.js +1 -1
  138. package/dist/plugins/elasticsearch/src/credentials.js +1 -1
  139. package/dist/plugins/elasticsearch/src/index.js +1 -1
  140. package/dist/plugins/elevenlabs/src/credentials.js +1 -1
  141. package/dist/plugins/elevenlabs/src/shared.js +30 -46
  142. package/dist/plugins/elevenlabs/src/workflows.js +1 -1
  143. package/dist/plugins/emelia/src/credentials.js +1 -1
  144. package/dist/plugins/emelia/src/index.js +1 -1
  145. package/dist/plugins/erpnext/src/credentials.js +1 -1
  146. package/dist/plugins/erpnext/src/index.js +1 -1
  147. package/dist/plugins/facebookGraph/src/credentials.js +1 -1
  148. package/dist/plugins/facebookGraph/src/index.js +1 -2
  149. package/dist/plugins/fal/src/credentials.js +1 -1
  150. package/dist/plugins/fal/src/index.js +1 -1
  151. package/dist/plugins/fal/src/shared.js +1 -1
  152. package/dist/plugins/freshdesk/src/credentials.js +1 -1
  153. package/dist/plugins/freshdesk/src/index.js +1 -1
  154. package/dist/plugins/freshservice/src/credentials.js +1 -1
  155. package/dist/plugins/freshservice/src/index.js +1 -1
  156. package/dist/plugins/freshworksCrm/src/credentials.js +1 -1
  157. package/dist/plugins/freshworksCrm/src/index.js +1 -1
  158. package/dist/plugins/getresponse/src/credentials.js +1 -1
  159. package/dist/plugins/getresponse/src/index.js +1 -1
  160. package/dist/plugins/gett/src/credentials.js +1 -2
  161. package/dist/plugins/gett/src/index.js +1 -1
  162. package/dist/plugins/gett/src/login.js +1 -1
  163. package/dist/plugins/gett/src/session.js +1 -1
  164. package/dist/plugins/gett/src/shared.js +1 -2
  165. package/dist/plugins/ghost/src/credentials.js +1 -1
  166. package/dist/plugins/ghost/src/index.js +1 -1
  167. package/dist/plugins/github/src/credentials.js +1 -1
  168. package/dist/plugins/github/src/index.js +1 -1
  169. package/dist/plugins/gitlab/src/credentials.js +1 -1
  170. package/dist/plugins/gitlab/src/index.js +1 -1
  171. package/dist/plugins/gmail/src/index.js +23 -86
  172. package/dist/plugins/gong/src/credentials.js +1 -1
  173. package/dist/plugins/gong/src/index.js +1 -1
  174. package/dist/plugins/googleAppsScript/src/index.js +14 -2
  175. package/dist/plugins/googleCalendar/src/index.js +7 -40
  176. package/dist/plugins/googleContacts/src/index.js +3 -33
  177. package/dist/plugins/googleDocs/src/index.js +2 -33
  178. package/dist/plugins/googleDocs/src/shared.js +1 -1
  179. package/dist/plugins/googleDrive/src/index.js +20 -46
  180. package/dist/plugins/googleImage/src/credentials.js +1 -1
  181. package/dist/plugins/googleImage/src/index.js +2 -2
  182. package/dist/plugins/googleSheets/src/index.js +3 -35
  183. package/dist/plugins/googleSlides/src/index.js +3 -33
  184. package/dist/plugins/googleTasks/src/index.js +3 -33
  185. package/dist/plugins/gotify/src/credentials.js +1 -1
  186. package/dist/plugins/gotify/src/index.js +1 -1
  187. package/dist/plugins/gotowebinar/src/credentials.js +1 -1
  188. package/dist/plugins/gotowebinar/src/index.js +1 -1
  189. package/dist/plugins/grafana/src/credentials.js +1 -1
  190. package/dist/plugins/grafana/src/index.js +1 -1
  191. package/dist/plugins/graphql/src/credentials.js +1 -1
  192. package/dist/plugins/graphql/src/index.js +1 -1
  193. package/dist/plugins/grist/src/credentials.js +1 -1
  194. package/dist/plugins/grist/src/index.js +1 -1
  195. package/dist/plugins/halopsa/src/credentials.js +1 -2
  196. package/dist/plugins/halopsa/src/index.js +1 -1
  197. package/dist/plugins/harvest/src/credentials.js +1 -1
  198. package/dist/plugins/harvest/src/index.js +1 -1
  199. package/dist/plugins/helpscout/src/credentials.js +1 -1
  200. package/dist/plugins/helpscout/src/index.js +1 -1
  201. package/dist/plugins/highlevel/src/credentials.js +1 -1
  202. package/dist/plugins/highlevel/src/index.js +9 -3
  203. package/dist/plugins/homeAssistant/src/credentials.js +1 -1
  204. package/dist/plugins/homeAssistant/src/index.js +1 -1
  205. package/dist/plugins/hubspot/src/credentials.js +1 -1
  206. package/dist/plugins/hubspot/src/index.js +1 -1
  207. package/dist/plugins/humanticAi/src/credentials.js +1 -1
  208. package/dist/plugins/humanticAi/src/index.js +1 -1
  209. package/dist/plugins/hunter/src/credentials.js +1 -1
  210. package/dist/plugins/hunter/src/index.js +1 -1
  211. package/dist/plugins/intercom/src/credentials.js +1 -1
  212. package/dist/plugins/intercom/src/index.js +1 -1
  213. package/dist/plugins/iterable/src/credentials.js +1 -1
  214. package/dist/plugins/iterable/src/index.js +1 -1
  215. package/dist/plugins/jenkins/src/credentials.js +1 -1
  216. package/dist/plugins/jenkins/src/index.js +1 -1
  217. package/dist/plugins/jira/src/credentials.js +1 -1
  218. package/dist/plugins/jira/src/index.js +1 -1
  219. package/dist/plugins/keap/src/credentials.js +1 -1
  220. package/dist/plugins/keap/src/index.js +1 -1
  221. package/dist/plugins/kobotoolbox/src/credentials.js +1 -1
  222. package/dist/plugins/kobotoolbox/src/index.js +1 -1
  223. package/dist/plugins/lemlist/src/credentials.js +1 -1
  224. package/dist/plugins/lemlist/src/index.js +1 -1
  225. package/dist/plugins/linear/src/credentials.js +1 -1
  226. package/dist/plugins/linear/src/shared.js +1 -1
  227. package/dist/plugins/lingvanex/src/credentials.js +1 -1
  228. package/dist/plugins/lingvanex/src/index.js +1 -1
  229. package/dist/plugins/linkedin/src/credentials.js +1 -1
  230. package/dist/plugins/linkedin/src/index.js +1 -1
  231. package/dist/plugins/lonescale/src/credentials.js +1 -1
  232. package/dist/plugins/lonescale/src/index.js +1 -1
  233. package/dist/plugins/magento/src/credentials.js +1 -1
  234. package/dist/plugins/magento/src/index.js +1 -1
  235. package/dist/plugins/mailcheck/src/credentials.js +1 -1
  236. package/dist/plugins/mailcheck/src/index.js +1 -1
  237. package/dist/plugins/mailchimp/src/credentials.js +1 -1
  238. package/dist/plugins/mailchimp/src/index.js +1 -1
  239. package/dist/plugins/mailerlite/src/credentials.js +1 -1
  240. package/dist/plugins/mailerlite/src/index.js +1 -1
  241. package/dist/plugins/mailgun/src/credentials.js +1 -1
  242. package/dist/plugins/mailgun/src/index.js +1 -1
  243. package/dist/plugins/mailjet/src/credentials.js +1 -1
  244. package/dist/plugins/mailjet/src/index.js +1 -1
  245. package/dist/plugins/mandrill/src/credentials.js +1 -1
  246. package/dist/plugins/mandrill/src/index.js +1 -1
  247. package/dist/plugins/marketstack/src/credentials.js +1 -1
  248. package/dist/plugins/marketstack/src/index.js +1 -1
  249. package/dist/plugins/matrix/src/credentials.js +1 -1
  250. package/dist/plugins/matrix/src/index.js +1 -1
  251. package/dist/plugins/mattermost/src/credentials.js +1 -1
  252. package/dist/plugins/mattermost/src/index.js +1 -1
  253. package/dist/plugins/mautic/src/credentials.js +1 -1
  254. package/dist/plugins/mautic/src/index.js +1 -1
  255. package/dist/plugins/medium/src/credentials.js +1 -1
  256. package/dist/plugins/medium/src/index.js +1 -1
  257. package/dist/plugins/messagebird/src/credentials.js +1 -1
  258. package/dist/plugins/messagebird/src/index.js +1 -1
  259. package/dist/plugins/metabase/src/credentials.js +1 -1
  260. package/dist/plugins/metabase/src/index.js +1 -1
  261. package/dist/plugins/microsoftCalendar/src/index.js +2 -7
  262. package/dist/plugins/microsoftFiles/src/index.js +17 -9
  263. package/dist/plugins/microsoftMail/src/index.js +2 -7
  264. package/dist/plugins/misp/src/credentials.js +1 -1
  265. package/dist/plugins/misp/src/index.js +1 -1
  266. package/dist/plugins/mocean/src/credentials.js +1 -1
  267. package/dist/plugins/mocean/src/index.js +1 -1
  268. package/dist/plugins/monday/src/credentials.js +1 -1
  269. package/dist/plugins/monday/src/index.js +1 -1
  270. package/dist/plugins/monicaCrm/src/credentials.js +1 -1
  271. package/dist/plugins/monicaCrm/src/index.js +1 -1
  272. package/dist/plugins/msg91/src/credentials.js +1 -1
  273. package/dist/plugins/msg91/src/index.js +1 -1
  274. package/dist/plugins/nasa/src/credentials.js +1 -1
  275. package/dist/plugins/nasa/src/index.js +1 -1
  276. package/dist/plugins/netlify/src/credentials.js +1 -1
  277. package/dist/plugins/netlify/src/index.js +1 -1
  278. package/dist/plugins/netscalerAdc/src/credentials.js +1 -1
  279. package/dist/plugins/netscalerAdc/src/index.js +1 -1
  280. package/dist/plugins/nextcloud/src/credentials.js +1 -2
  281. package/dist/plugins/nextcloud/src/index.js +1 -1
  282. package/dist/plugins/nocodb/src/credentials.js +1 -1
  283. package/dist/plugins/nocodb/src/index.js +1 -1
  284. package/dist/plugins/notion/src/credentials.js +1 -1
  285. package/dist/plugins/notion/src/index.js +1 -1
  286. package/dist/plugins/npm/src/credentials.js +1 -1
  287. package/dist/plugins/npm/src/index.js +1 -1
  288. package/dist/plugins/odoo/src/credentials.js +1 -1
  289. package/dist/plugins/odoo/src/index.js +1 -2
  290. package/dist/plugins/okta/src/credentials.js +1 -1
  291. package/dist/plugins/okta/src/index.js +1 -2
  292. package/dist/plugins/oneSimpleApi/src/credentials.js +1 -1
  293. package/dist/plugins/oneSimpleApi/src/index.js +1 -1
  294. package/dist/plugins/onfleet/src/credentials.js +1 -1
  295. package/dist/plugins/onfleet/src/index.js +1 -1
  296. package/dist/plugins/openai/src/credentials.js +1 -1
  297. package/dist/plugins/openai/src/index.js +2 -2
  298. package/dist/plugins/openweathermap/src/credentials.js +1 -1
  299. package/dist/plugins/openweathermap/src/index.js +1 -1
  300. package/dist/plugins/oura/src/credentials.js +1 -1
  301. package/dist/plugins/oura/src/index.js +1 -1
  302. package/dist/plugins/paddle/src/credentials.js +1 -1
  303. package/dist/plugins/paddle/src/index.js +1 -1
  304. package/dist/plugins/pagerduty/src/credentials.js +1 -1
  305. package/dist/plugins/pagerduty/src/index.js +1 -1
  306. package/dist/plugins/parallel/src/credentials.js +1 -1
  307. package/dist/plugins/parallel/src/index.js +15 -1
  308. package/dist/plugins/paypal/src/credentials.js +1 -1
  309. package/dist/plugins/paypal/src/index.js +1 -1
  310. package/dist/plugins/peekalink/src/credentials.js +1 -1
  311. package/dist/plugins/peekalink/src/index.js +1 -1
  312. package/dist/plugins/phantombuster/src/credentials.js +1 -1
  313. package/dist/plugins/phantombuster/src/index.js +1 -1
  314. package/dist/plugins/philipsHue/src/credentials.js +1 -1
  315. package/dist/plugins/philipsHue/src/index.js +1 -1
  316. package/dist/plugins/pipedrive/src/credentials.js +1 -1
  317. package/dist/plugins/pipedrive/src/index.js +1 -1
  318. package/dist/plugins/plaud/src/shared.js +1 -2
  319. package/dist/plugins/plivo/src/credentials.js +1 -1
  320. package/dist/plugins/plivo/src/index.js +1 -1
  321. package/dist/plugins/posthog/src/credentials.js +1 -1
  322. package/dist/plugins/posthog/src/index.js +1 -1
  323. package/dist/plugins/profitwell/src/credentials.js +1 -1
  324. package/dist/plugins/profitwell/src/index.js +1 -1
  325. package/dist/plugins/pushbullet/src/credentials.js +1 -1
  326. package/dist/plugins/pushbullet/src/index.js +1 -1
  327. package/dist/plugins/pushcut/src/credentials.js +1 -1
  328. package/dist/plugins/pushcut/src/index.js +1 -1
  329. package/dist/plugins/pushover/src/credentials.js +1 -1
  330. package/dist/plugins/pushover/src/index.js +1 -1
  331. package/dist/plugins/quickbase/src/credentials.js +1 -1
  332. package/dist/plugins/quickbase/src/index.js +1 -1
  333. package/dist/plugins/quickbooks/src/credentials.js +1 -1
  334. package/dist/plugins/quickbooks/src/index.js +1 -1
  335. package/dist/plugins/raindrop/src/credentials.js +1 -1
  336. package/dist/plugins/raindrop/src/index.js +1 -1
  337. package/dist/plugins/recraft/src/credentials.js +1 -1
  338. package/dist/plugins/recraft/src/index.js +2 -2
  339. package/dist/plugins/reddit/src/credentials.js +1 -1
  340. package/dist/plugins/reddit/src/index.js +1 -1
  341. package/dist/plugins/replicate/src/credentials.js +1 -1
  342. package/dist/plugins/replicate/src/index.js +2 -2
  343. package/dist/plugins/rocketchat/src/credentials.js +1 -1
  344. package/dist/plugins/rocketchat/src/index.js +1 -1
  345. package/dist/plugins/rundeck/src/credentials.js +1 -1
  346. package/dist/plugins/rundeck/src/index.js +1 -1
  347. package/dist/plugins/salesforce/src/credentials.js +1 -2
  348. package/dist/plugins/salesforce/src/shared.js +1 -2
  349. package/dist/plugins/salesforce/src/sobjects.js +1 -1
  350. package/dist/plugins/salesmate/src/credentials.js +1 -1
  351. package/dist/plugins/salesmate/src/index.js +1 -1
  352. package/dist/plugins/securityScorecard/src/credentials.js +1 -1
  353. package/dist/plugins/securityScorecard/src/index.js +1 -1
  354. package/dist/plugins/segment/src/credentials.js +1 -1
  355. package/dist/plugins/segment/src/index.js +1 -1
  356. package/dist/plugins/sendgrid/src/credentials.js +1 -1
  357. package/dist/plugins/sendgrid/src/index.js +1 -2
  358. package/dist/plugins/sendy/src/credentials.js +1 -1
  359. package/dist/plugins/sendy/src/index.js +1 -1
  360. package/dist/plugins/sentry/src/credentials.js +1 -1
  361. package/dist/plugins/sentry/src/index.js +1 -1
  362. package/dist/plugins/servicenow/src/credentials.js +1 -1
  363. package/dist/plugins/servicenow/src/index.js +1 -1
  364. package/dist/plugins/shiftAtlas/src/graph.js +2 -1
  365. package/dist/plugins/shiftAtlas/src/shared.js +1 -1
  366. package/dist/plugins/shiftBwm/src/shared.js +2 -4
  367. package/dist/plugins/shiftCrm/src/access.js +2 -1
  368. package/dist/plugins/shiftCrm/src/accounts.js +2 -1
  369. package/dist/plugins/shiftCrm/src/imports.js +2 -1
  370. package/dist/plugins/shiftCrm/src/opportunities.js +2 -1
  371. package/dist/plugins/shiftCrm/src/people.js +2 -1
  372. package/dist/plugins/shiftCrm/src/records.js +2 -1
  373. package/dist/plugins/shiftCrm/src/shared.js +1 -1
  374. package/dist/plugins/shiftCrm/src/tasks.js +2 -1
  375. package/dist/plugins/shiftObjects/src/objects.js +3 -2
  376. package/dist/plugins/shiftOcr/src/index.js +10 -4
  377. package/dist/plugins/shiftPages/src/pages.js +2 -1
  378. package/dist/plugins/shiftPages/src/shared.js +3 -2
  379. package/dist/plugins/shiftTranscription/src/shared.js +1 -1
  380. package/dist/plugins/shiftTranscription/src/transcription.js +3 -2
  381. package/dist/plugins/shiftWork/src/issue-views.js +2 -1
  382. package/dist/plugins/shiftWork/src/issues.js +2 -1
  383. package/dist/plugins/shiftWork/src/projects.js +2 -1
  384. package/dist/plugins/shiftWork/src/shared.js +1 -1
  385. package/dist/plugins/shopify/src/credentials.js +1 -1
  386. package/dist/plugins/shopify/src/index.js +1 -1
  387. package/dist/plugins/signl4/src/credentials.js +1 -1
  388. package/dist/plugins/signl4/src/index.js +1 -1
  389. package/dist/plugins/slack/src/credentials.js +1 -1
  390. package/dist/plugins/slack/src/index.js +1 -1
  391. package/dist/plugins/sms77/src/credentials.js +1 -1
  392. package/dist/plugins/sms77/src/index.js +1 -1
  393. package/dist/plugins/splunk/src/credentials.js +1 -1
  394. package/dist/plugins/splunk/src/index.js +1 -1
  395. package/dist/plugins/spotify/src/credentials.js +1 -1
  396. package/dist/plugins/spotify/src/index.js +1 -1
  397. package/dist/plugins/stackby/src/credentials.js +1 -1
  398. package/dist/plugins/stackby/src/index.js +1 -1
  399. package/dist/plugins/steel/src/auth.js +1 -1
  400. package/dist/plugins/steel/src/browser.js +1 -1
  401. package/dist/plugins/steel/src/captchas.js +1 -1
  402. package/dist/plugins/steel/src/extensions.js +1 -1
  403. package/dist/plugins/steel/src/files.js +1 -1
  404. package/dist/plugins/steel/src/profiles.js +1 -1
  405. package/dist/plugins/steel/src/sessions.js +1 -1
  406. package/dist/plugins/steel/src/shared.js +1 -1
  407. package/dist/plugins/storyblok/src/credentials.js +1 -1
  408. package/dist/plugins/storyblok/src/index.js +1 -1
  409. package/dist/plugins/strapi/src/credentials.js +1 -1
  410. package/dist/plugins/strapi/src/index.js +1 -1
  411. package/dist/plugins/strava/src/credentials.js +1 -1
  412. package/dist/plugins/strava/src/index.js +1 -1
  413. package/dist/plugins/stripe/src/credentials.js +1 -1
  414. package/dist/plugins/stripe/src/index.js +1 -1
  415. package/dist/plugins/supabase/src/credentials.js +1 -1
  416. package/dist/plugins/supabase/src/index.js +1 -1
  417. package/dist/plugins/syncromsp/src/credentials.js +1 -1
  418. package/dist/plugins/syncromsp/src/index.js +1 -1
  419. package/dist/plugins/tapfiliate/src/credentials.js +1 -1
  420. package/dist/plugins/tapfiliate/src/index.js +1 -1
  421. package/dist/plugins/telegram/src/credentials.js +1 -1
  422. package/dist/plugins/telegram/src/index.js +1 -1
  423. package/dist/plugins/thehive/src/credentials.js +1 -1
  424. package/dist/plugins/thehive/src/index.js +1 -1
  425. package/dist/plugins/thehiveProject/src/credentials.js +1 -1
  426. package/dist/plugins/thehiveProject/src/index.js +1 -1
  427. package/dist/plugins/todoist/src/credentials.js +1 -1
  428. package/dist/plugins/todoist/src/index.js +1 -1
  429. package/dist/plugins/together/src/credentials.js +1 -1
  430. package/dist/plugins/together/src/index.js +2 -2
  431. package/dist/plugins/travisci/src/credentials.js +1 -1
  432. package/dist/plugins/travisci/src/index.js +1 -1
  433. package/dist/plugins/trello/src/credentials.js +1 -1
  434. package/dist/plugins/trello/src/index.js +1 -1
  435. package/dist/plugins/twake/src/credentials.js +1 -1
  436. package/dist/plugins/twake/src/index.js +1 -1
  437. package/dist/plugins/twilio/src/credentials.js +1 -1
  438. package/dist/plugins/twilio/src/index.js +1 -1
  439. package/dist/plugins/twist/src/credentials.js +1 -1
  440. package/dist/plugins/twist/src/index.js +1 -1
  441. package/dist/plugins/twitter/src/credentials.js +1 -1
  442. package/dist/plugins/twitter/src/index.js +1 -1
  443. package/dist/plugins/typesafe/src/credentials.js +1 -1
  444. package/dist/plugins/typesafe/src/shared.js +1 -1
  445. package/dist/plugins/unleashedSoftware/src/credentials.js +1 -1
  446. package/dist/plugins/unleashedSoftware/src/index.js +1 -1
  447. package/dist/plugins/uplead/src/credentials.js +1 -1
  448. package/dist/plugins/uplead/src/index.js +1 -1
  449. package/dist/plugins/uproc/src/credentials.js +1 -1
  450. package/dist/plugins/uproc/src/index.js +1 -1
  451. package/dist/plugins/uptimerobot/src/credentials.js +1 -1
  452. package/dist/plugins/uptimerobot/src/index.js +1 -1
  453. package/dist/plugins/urlscanio/src/credentials.js +1 -1
  454. package/dist/plugins/urlscanio/src/index.js +1 -1
  455. package/dist/plugins/vercel/src/credentials.js +1 -1
  456. package/dist/plugins/vercel/src/deployments.js +1 -1
  457. package/dist/plugins/vercel/src/env.js +1 -1
  458. package/dist/plugins/vercel/src/projects.js +1 -1
  459. package/dist/plugins/vercel/src/shared.js +1 -2
  460. package/dist/plugins/vero/src/credentials.js +1 -1
  461. package/dist/plugins/vero/src/index.js +1 -1
  462. package/dist/plugins/vonage/src/credentials.js +1 -1
  463. package/dist/plugins/vonage/src/index.js +1 -1
  464. package/dist/plugins/wekan/src/credentials.js +1 -1
  465. package/dist/plugins/wekan/src/index.js +1 -1
  466. package/dist/plugins/wolt/src/account.js +1 -1
  467. package/dist/plugins/wolt/src/credentials.js +1 -1
  468. package/dist/plugins/wolt/src/index.js +1 -1
  469. package/dist/plugins/wolt/src/shared.js +1 -2
  470. package/dist/plugins/woocommerce/src/credentials.js +1 -1
  471. package/dist/plugins/woocommerce/src/index.js +1 -1
  472. package/dist/plugins/wordpress/src/credentials.js +1 -1
  473. package/dist/plugins/wordpress/src/index.js +1 -1
  474. package/dist/plugins/xai/src/credentials.js +1 -1
  475. package/dist/plugins/xai/src/index.js +2 -2
  476. package/dist/plugins/xero/src/credentials.js +1 -1
  477. package/dist/plugins/xero/src/index.js +1 -1
  478. package/dist/plugins/yourls/src/credentials.js +1 -1
  479. package/dist/plugins/yourls/src/index.js +1 -1
  480. package/dist/plugins/zammad/src/credentials.js +1 -1
  481. package/dist/plugins/zammad/src/index.js +1 -1
  482. package/dist/plugins/zendesk/src/credentials.js +1 -1
  483. package/dist/plugins/zendesk/src/index.js +1 -1
  484. package/dist/plugins/zoho/src/credentials.js +1 -1
  485. package/dist/plugins/zoho/src/index.js +1 -1
  486. package/dist/plugins/zoom/src/credentials.js +1 -1
  487. package/dist/plugins/zoom/src/index.js +1 -1
  488. package/dist/plugins/zulip/src/credentials.js +1 -1
  489. package/dist/plugins/zulip/src/index.js +1 -1
  490. package/package.json +4 -2
  491. package/dist/plugins/_shared/credentialAdapter.js +0 -152
  492. package/dist/tests/helpers/engine-harness.d.ts +0 -1
  493. package/dist/tests/helpers/engine-harness.js +0 -236
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { matrixCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, matrixCredential, "matrix", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /** A personal access or bot token, sent as a bearer to the configured server. */
3
3
  export const mattermostCredential = staticCredential({
4
4
  id: "mattermost",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { mattermostCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, mattermostCredential, "mattermost", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * A Mautic user's Basic credentials, on the connection's own instance
4
4
  * beneath /api/.
@@ -1,4 +1,4 @@
1
- import { answerFailed, credentialJson, pathSegment, } from "../../_shared/credentials.js";
1
+ import { answerFailed, credentialJson, pathSegment, } from "runline";
2
2
  import { mauticCredential } from "./credentials.js";
3
3
  async function req(ctx, method, path, body, qs) {
4
4
  const data = (await credentialJson(ctx, mauticCredential, "mautic", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An integration token, sent as a bearer to Medium's one API origin. */
3
3
  export const mediumCredential = staticCredential({
4
4
  id: "medium",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { mediumCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, endpoint, body) {
4
4
  return credentialJson(ctx, mediumCredential, "medium", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An access key, sent as `Authorization: AccessKey {key}` to
4
4
  * MessageBird's REST origin.
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { messagebirdCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body) {
4
4
  return credentialJson(ctx, messagebirdCredential, "messagebird", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /** A session token, sent as X-Metabase-Session, to the instance's own /api/. */
3
3
  export const metabaseCredential = staticCredential({
4
4
  id: "metabase",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { metabaseCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, endpoint, body) {
4
4
  return credentialJson(ctx, metabaseCredential, "metabase", {
@@ -1,4 +1,4 @@
1
- import { graphRequest, microsoftCredential, microsoftSetupHelp, userBase, } from "../../_shared/microsoftAuth.js";
1
+ import { graphRequest, microsoftCredential, microsoftOAuth, userBase, } from "../../_shared/microsoftAuth.js";
2
2
  const NAME = "microsoftCalendar";
3
3
  const SCOPES = ["https://graph.microsoft.com/Calendars.Read"];
4
4
  export default function microsoftCalendar(rl) {
@@ -42,12 +42,7 @@ export default function microsoftCalendar(rl) {
42
42
  description: "App-only only: target user UPN",
43
43
  },
44
44
  });
45
- rl.setOAuth({
46
- authUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
47
- tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
48
- scopes: [...SCOPES, "offline_access"],
49
- setupHelp: microsoftSetupHelp("Calendars.Read"),
50
- });
45
+ rl.setOAuth(microsoftOAuth(SCOPES, "Calendars.Read"));
51
46
  rl.registerAction("calendar.list", {
52
47
  access: "read",
53
48
  description: "List calendar events in a date range. Returns [{id,subject,start,end,location,organizer,attendees}].",
@@ -1,5 +1,15 @@
1
- import { jsonAnswer, pathSegment, pathSegments, requestFailed, } from "../../_shared/credentials.js";
2
- import { graphRequest, graphResponse, microsoftCredential, microsoftDownload, microsoftDriveBase, microsoftSetupHelp, } from "../../_shared/microsoftAuth.js";
1
+ /**
2
+ * Microsoft OneDrive / SharePoint files plugin for runline (Microsoft Graph).
3
+ *
4
+ * Auth: the "microsoft" grant (delegated → /me/drive) or app-only
5
+ * (tenantId/clientId/clientSecret + userUpn → /users/{upn}/drive). Optionally
6
+ * target a SharePoint document library with siteId/driveId. See
7
+ * _shared/microsoftAuth.ts. Graph delegated scopes: Files.ReadWrite.All,
8
+ * Sites.ReadWrite.All (use the .Read.* variants if you only need reads).
9
+ */
10
+ import { jsonAnswer, pathSegment, pathSegments, requestFailed, } from "runline";
11
+ import { standardBase64 } from "../../_shared/base64.js";
12
+ import { graphRequest, graphResponse, microsoftCredential, microsoftDownload, microsoftDriveBase, microsoftOAuth, } from "../../_shared/microsoftAuth.js";
3
13
  const NAME = "microsoftFiles";
4
14
  const SCOPES = [
5
15
  "https://graph.microsoft.com/Files.ReadWrite.All",
@@ -65,12 +75,7 @@ export default function microsoftFiles(rl) {
65
75
  description: "Optional explicit drive id (overrides site/user)",
66
76
  },
67
77
  });
68
- rl.setOAuth({
69
- authUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
70
- tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
71
- scopes: [...SCOPES, "offline_access"],
72
- setupHelp: microsoftSetupHelp("Files.ReadWrite.All, Sites.ReadWrite.All"),
73
- });
78
+ rl.setOAuth(microsoftOAuth(SCOPES, "Files.ReadWrite.All, Sites.ReadWrite.All"));
74
79
  rl.registerAction("files.search", {
75
80
  access: "read",
76
81
  description: "Search the drive for files/folders by text. Returns [{id,name,size,lastModifiedDateTime,webUrl,folder?}].",
@@ -150,7 +155,10 @@ export default function microsoftFiles(rl) {
150
155
  },
151
156
  async execute(input, ctx) {
152
157
  const { path, base64 } = input;
153
- const bytes = Buffer.from(base64, "base64");
158
+ const content = standardBase64(base64);
159
+ if (content === undefined)
160
+ throw new Error(`${NAME}: base64 is not valid base64`);
161
+ const bytes = Buffer.from(content, "base64");
154
162
  const res = await binaryFetch(ctx, "PUT", `${driveBase(ctx)}/root:/${pathSegments(path)}:/content`, bytes);
155
163
  if (!res.ok)
156
164
  throw requestFailed(NAME, res.status);
@@ -1,4 +1,4 @@
1
- import { graphRequest, microsoftCredential, microsoftSetupHelp, userBase, } from "../../_shared/microsoftAuth.js";
1
+ import { graphRequest, microsoftCredential, microsoftOAuth, userBase, } from "../../_shared/microsoftAuth.js";
2
2
  const NAME = "microsoftMail";
3
3
  const SCOPES = [
4
4
  "https://graph.microsoft.com/Mail.Send",
@@ -60,12 +60,7 @@ export default function microsoftMail(rl) {
60
60
  description: "App-only only: target mailbox UPN (e.g. agent@contoso.com)",
61
61
  },
62
62
  });
63
- rl.setOAuth({
64
- authUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
65
- tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token",
66
- scopes: [...SCOPES, "offline_access"],
67
- setupHelp: microsoftSetupHelp("Mail.Send, Mail.ReadWrite, Mail.Read"),
68
- });
63
+ rl.setOAuth(microsoftOAuth(SCOPES, "Mail.Send, Mail.ReadWrite, Mail.Read"));
69
64
  rl.registerAction("mail.send", {
70
65
  access: "write",
71
66
  description: "Send an email as the connected mailbox. Returns {success}. Get user approval before sending external mail.",
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * A MISP automation key, sent raw in the Authorization header to the
4
4
  * connection's own instance.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { mispCredential } from "./credentials.js";
3
3
  function req(ctx, method, path, body) {
4
4
  return credentialJson(ctx, mispCredential, "misp", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
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
3
  export const moceanCredential = staticCredential({
4
4
  id: "mocean",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { moceanCredential } from "./credentials.js";
3
3
  /** A Mocean form call, answered in JSON. */
4
4
  function apiRequest(ctx, endpoint, body) {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API token, sent raw in the Authorization header to the GraphQL endpoint. */
3
3
  export const mondayCredential = staticCredential({
4
4
  id: "monday",
@@ -1,4 +1,4 @@
1
- import { credentialJson, graphqlFailed } from "../../_shared/credentials.js";
1
+ import { credentialJson, graphqlFailed, } from "runline";
2
2
  import { mondayCredential } from "./credentials.js";
3
3
  async function gql(ctx, query, variables = {}) {
4
4
  const data = (await credentialJson(ctx, mondayCredential, "monday", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /** An API token, sent as a bearer to the instance's own /api/ (hosted Monica by default). */
3
3
  export const monicaCrmCredential = staticCredential({
4
4
  id: "monicaCrm",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { monicaCrmCredential } from "./credentials.js";
3
3
  function api(ctx, method, endpoint, body, qs) {
4
4
  return credentialJson(ctx, monicaCrmCredential, "monicaCrm", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** The auth key, appended by the transport as the authkey query parameter. */
3
3
  export const msg91Credential = staticCredential({
4
4
  id: "msg91",
@@ -1,4 +1,4 @@
1
- import { credentialOk } from "../../_shared/credentials.js";
1
+ import { credentialOk } from "runline";
2
2
  import { msg91Credential } from "./credentials.js";
3
3
  export default function msg91(rl) {
4
4
  rl.setName("msg91");
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API key, appended by the transport as the api_key query parameter on
4
4
  * NASA's one API origin.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { nasaCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, path, qs = {}) {
4
4
  return credentialJson(ctx, nasaCredential, "nasa", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** A personal access token, sent as a bearer to Netlify's one API origin. */
3
3
  export const netlifyCredential = staticCredential({
4
4
  id: "netlify",
@@ -1,4 +1,4 @@
1
- import { credentialJson, credentialOk, jsonAnswer, pathSegment, } from "../../_shared/credentials.js";
1
+ import { credentialJson, credentialOk, jsonAnswer, pathSegment, } from "runline";
2
2
  import { netlifyCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, netlifyCredential, "netlify", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * The Nitro admin password, sent as the X-NITRO-PASS header to the
4
4
  * appliance's /nitro/v1/ base. The username is public config and rides
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { netscalerAdcCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, resource, body) {
4
4
  return credentialJson(ctx, netscalerAdcCredential, "netscalerAdc", {
@@ -1,5 +1,4 @@
1
- import { AuthError } from "runline";
2
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { AuthError, httpsBase, staticCredential } from "runline";
3
2
  /**
4
3
  * A username and password (or app token) as HTTP Basic, on two targets of
5
4
  * the connection's HTTPS server: the WebDAV base it names, and the OCS
@@ -1,4 +1,4 @@
1
- import { answerFailed, credentialJson, credentialOk, pathSegment, pathSegments, } from "../../_shared/credentials.js";
1
+ import { answerFailed, credentialJson, credentialOk, pathSegment, pathSegments, } from "runline";
2
2
  import { nextcloudCredential } from "./credentials.js";
3
3
  /** A file or folder path beneath the WebDAV base, each segment encoded. */
4
4
  function davPath(path) {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An API token, sent as the xc-token header to the connection's own NocoDB
4
4
  * instance beneath /api/v2/.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { nocodbCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, nocodbCredential, "nocodb", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  export const NOTION_VERSION = "2021-08-16";
3
3
  /** An integration token, sent as a bearer to Notion's one API origin. */
4
4
  export const notionCredential = staticCredential({
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { NOTION_VERSION, notionCredential } from "./credentials.js";
3
3
  function api(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, notionCredential, "notion", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An optional access token, sent as a bearer to the registry; without one,
4
4
  * public reads go unsigned. The registry URL is public config and must be
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment, slashEncodedSegment, } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, slashEncodedSegment, } from "runline";
2
2
  import { npmCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, options = {}) {
4
4
  return credentialJson(ctx, npmCredential, "npm", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * The user's password or API key, which Odoo's JSON-RPC takes as the third
4
4
  * argument of every call; the plugin leaves that slot null and the
@@ -1,5 +1,4 @@
1
- import { AuthError } from "runline";
2
- import { answerFailed, credentialJson } from "../../_shared/credentials.js";
1
+ import { AuthError, answerFailed, credentialJson, } from "runline";
3
2
  import { odooCredential } from "./credentials.js";
4
3
  /**
5
4
  * One JSON-RPC call. Every Odoo service takes the password as its third
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An SSWS API token, sent as `Authorization: SSWS {token}` to the
4
4
  * configured org's /api/v1/ base. The org URL is public config and must
@@ -1,5 +1,4 @@
1
- import { AuthError } from "runline";
2
- import { credentialOk, pathSegment } from "../../_shared/credentials.js";
1
+ import { AuthError, credentialOk, pathSegment, } from "runline";
3
2
  import { oktaCredential } from "./credentials.js";
4
3
  async function apiRequest(ctx, method, path, body, qs) {
5
4
  const res = await credentialOk(ctx, oktaCredential, "okta", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API token, appended by the transport as the token query parameter on
4
4
  * OneSimpleAPI's one origin.
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { oneSimpleApiCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, path, qs = {}) {
4
4
  return credentialJson(ctx, oneSimpleApiCredential, "oneSimpleApi", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API key as the Basic username, with an empty password, to Onfleet's
4
4
  * one API origin. The fixed User-Agent is a public companion header.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { onfleetCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, onfleetCredential, "onfleet", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key, sent as a bearer to OpenAI's images API base. */
3
3
  export const openaiCredential = staticCredential({
4
4
  id: "openai",
@@ -15,7 +15,7 @@
15
15
  * const { images } = await openai.image.create({ prompt: "a red bicycle on snow" })
16
16
  * // images[0].path -> "/tmp/openai-image-….png"
17
17
  */
18
- import { credentialJson, multipartBody } from "../../_shared/credentials.js";
18
+ import { credentialJson, multipartBody } from "runline";
19
19
  import { readImageInput, SEND_FILE_NOTE, writeImageFile, } from "../../_shared/mediaFile.js";
20
20
  import { openaiCredential } from "./credentials.js";
21
21
  /**
@@ -218,7 +218,7 @@ export default function openai(rl) {
218
218
  if (p.quality)
219
219
  form.append("quality", p.quality);
220
220
  for (const path of paths) {
221
- const img = readImageInput(path, "openai");
221
+ const img = await readImageInput(path, "openai");
222
222
  form.append("image[]", new Blob([img.bytes], { type: img.mimeType }), img.fileName);
223
223
  }
224
224
  const { body: formBytes, contentType } = await multipartBody(form);
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API key, appended by the transport as the APPID query parameter on
4
4
  * OpenWeatherMap's data API.
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { openweathermapCredential } from "./credentials.js";
3
3
  const locationSchema = {
4
4
  cityName: {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** A personal access token, sent as a bearer to Oura's one API origin. */
3
3
  export const ouraCredential = staticCredential({
4
4
  id: "oura",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { ouraCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, endpoint, qs = {}) {
4
4
  return credentialJson(ctx, ouraCredential, "oura", {
@@ -1,4 +1,4 @@
1
- import { configFlag, staticCredential } from "../../_shared/credentials.js";
1
+ import { configFlag, staticCredential } from "runline";
2
2
  /**
3
3
  * The vendor ID and auth code, added by the transport as the vendor_id and
4
4
  * vendor_auth_code fields of every JSON call. Stored together, so a code
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { paddleCredential } from "./credentials.js";
3
3
  /** A Paddle JSON call; an answer without success is a failure. */
4
4
  async function apiRequest(ctx, endpoint, body = {}) {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * A REST API token, sent as `Authorization: Token token={key}` to
4
4
  * PagerDuty's one API origin. From is the caller's attribution email on
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { pagerdutyCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs, extraHeaders) {
4
4
  return credentialJson(ctx, pagerdutyCredential, "pagerduty", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  export const DEFAULT_BASE = "https://api.parallel.ai";
3
3
  /**
4
4
  * An API key, sent as the x-api-key header to the configured Parallel.ai
@@ -1,4 +1,18 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ /**
2
+ * Parallel.ai web search/research plugin for runline.
3
+ *
4
+ * Wraps the Parallel Search API (https://api.parallel.ai/v1beta/search): give it
5
+ * an objective and/or explicit queries and it returns ranked, freshly-fetched
6
+ * web results with extracted excerpts — built for agents that need to ground an
7
+ * answer in the live web rather than training data.
8
+ *
9
+ * Auth: a Parallel API key (header `x-api-key`), via the `apiKey` connection
10
+ * field (env `PARALLEL_API_KEY`).
11
+ *
12
+ * await parallel.search({ objective: "latest Israel construction permit reform" })
13
+ * await parallel.search({ search_queries: ["tel aviv office vacancy rate 2026"], processor: "pro" })
14
+ */
15
+ import { credentialJson } from "runline";
2
16
  import { DEFAULT_BASE, parallelCredential } from "./credentials.js";
3
17
  const NAME = "parallel";
4
18
  export default function parallel(rl) {
@@ -1,4 +1,4 @@
1
- import { configChoice, grantSchema } from "../../_shared/credentials.js";
1
+ import { configChoice, grantSchema } from "runline";
2
2
  /**
3
3
  * A client-credentials OAuth grant against the environment's own token
4
4
  * endpoint. The env config field picks live or sandbox (the default);
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { paypalCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, paypalCredential, "paypal", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API key, sent as the X-API-Key header to Peekalink's origin. The
4
4
  * preview endpoint is the bare origin itself, so the target base is /.
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { peekalinkCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, path, body) {
4
4
  return credentialJson(ctx, peekalinkCredential, "peekalink", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key, sent as the X-Phantombuster-Key header to the v2 API. */
3
3
  export const phantombusterCredential = staticCredential({
4
4
  id: "phantombuster",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { phantombusterCredential } from "./credentials.js";
3
3
  function api(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, phantombusterCredential, "phantombuster", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An OAuth2 access token, sent as a bearer to the Hue remote API. The
4
4
  * bridge username is public config and rides in the request path beneath
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { philipsHueCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body) {
4
4
  return credentialJson(ctx, philipsHueCredential, "philipsHue", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An API token, appended by the transport as the api_token query parameter
4
4
  * on Pipedrive's v2 and v1 API bases.
@@ -1,4 +1,4 @@
1
- import { answerFailed, credentialJson, pathSegment, } from "../../_shared/credentials.js";
1
+ import { answerFailed, credentialJson, pathSegment, } from "runline";
2
2
  import { pipedriveCredential } from "./credentials.js";
3
3
  async function api(ctx, method, path, body, qs, version = "v2") {
4
4
  const json = (await credentialJson(ctx, pipedriveCredential, "pipedrive", {
@@ -1,5 +1,4 @@
1
- import { AuthError, downloadResource, } from "runline";
2
- import { credentialOk, grantSchema, pathSegment, } from "../../_shared/credentials.js";
1
+ import { AuthError, credentialOk, downloadResource, grantSchema, pathSegment, } from "runline";
3
2
  const BASE = "https://platform.plaud.ai/developer/api";
4
3
  /** Public client identifier and fixed callback published in Plaud's official CLI. */
5
4
  export const PLAUD_PUBLIC_CLIENT_ID = "client_f9e0b214-c11f-434b-8b95-c4497d1feb81";