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 { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API token, sent as a bearer to Coda's one API origin. */
3
3
  export const codaCredential = staticCredential({
4
4
  id: "coda",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { codaCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, codaCredential, "coda", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * An optional demo API key, sent in the x-cg-demo-api-key header to
4
4
  * CoinGecko's public API; without one, requests go unsigned.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { coingeckoCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, path, query) {
4
4
  return credentialJson(ctx, coingeckoCredential, "coingecko", {
@@ -1,4 +1,4 @@
1
- import { configChoice, staticCredential } from "../../_shared/credentials.js";
1
+ import { configChoice, staticCredential, } from "runline";
2
2
  const delivery = staticCredential({
3
3
  id: "contentful",
4
4
  auth: { kind: "queryKey", param: "access_token" },
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { contentfulCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, path, qs) {
4
4
  return credentialJson(ctx, contentfulCredential, "contentful", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * The API secret, added by the transport as api_secret: a field of every
4
4
  * write's JSON body, and a query parameter on reads and deletes.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { convertkitCredential } from "./credentials.js";
3
3
  /** Every write carries a JSON body, the one the API secret travels in. */
4
4
  function apiRequest(ctx, method, path, body, query) {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * A user API key in the X-PW-AccessToken header. Its public companions —
4
4
  * X-PW-Application and the user's X-PW-UserEmail — ride as allowed headers.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { copperCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body) {
4
4
  return credentialJson(ctx, copperCredential, "copper", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * The longest report wait analyzer.execute accepts. The waiting target
4
4
  * declares that wait plus a 60 s allowance for the exchange itself, which
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { cortexCredential, MAX_WAIT_SECONDS } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, options = {}) {
4
4
  return credentialJson(ctx, cortexCredential, "cortex", {
@@ -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 Currents' one API origin. */
3
3
  export const currentsCredential = staticCredential({
4
4
  id: "currents",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { currentsCredential } from "./credentials.js";
3
3
  function api(ctx, method, path, body, qs) {
4
4
  // Currents expects array parameters as repeated `key[]` entries.
@@ -1,4 +1,4 @@
1
- import { configChoice, staticCredential } from "../../_shared/credentials.js";
1
+ import { configChoice, staticCredential } from "runline";
2
2
  /** The Track and App API bases of each region, keyed by its Track host. */
3
3
  const REGIONS = {
4
4
  "track.customer.io": {
@@ -1,4 +1,4 @@
1
- import { credentialOk, jsonOrAcknowledged, pathSegment, } from "../../_shared/credentials.js";
1
+ import { credentialOk, jsonOrAcknowledged, pathSegment, } from "runline";
2
2
  import { customerIoCredential } from "./credentials.js";
3
3
  /** A Customer.io call on the Track or App API. */
4
4
  async function apiRequest(ctx, target, method, path, body, query) {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /** A personal access token, sent as a bearer to the workspace host in config. */
3
3
  export const databricksCredential = staticCredential({
4
4
  id: "databricks",
@@ -1,4 +1,4 @@
1
- import { credentialJson, credentialOk, pathSegment, pathSegments, } from "../../_shared/credentials.js";
1
+ import { credentialJson, credentialOk, pathSegment, pathSegments, } from "runline";
2
2
  import { databricksCredential } from "./credentials.js";
3
3
  function api(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, databricksCredential, "databricks", {
@@ -1,4 +1,4 @@
1
- import { configChoice, staticCredential } from "../../_shared/credentials.js";
1
+ import { configChoice, staticCredential } from "runline";
2
2
  /**
3
3
  * An authentication key, sent as `Authorization: DeepL-Auth-Key {key}` to
4
4
  * the plan's API host: api.deepl.com for pro, api-free.deepl.com for free
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { deeplCredential } from "./credentials.js";
3
3
  async function apiRequest(ctx, method, endpoint, params) {
4
4
  const given = Object.values(params ?? {}).some((v) => v !== undefined && v !== null);
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key and secret, sent as the Api-Key and Api-Secret headers to Demio's one API origin. */
3
3
  export const demioCredential = staticCredential({
4
4
  id: "demio",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { demioCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, query) {
4
4
  return credentialJson(ctx, demioCredential, "demio", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key, sent as the DHL-API-Key header to DHL's EU API origin. */
3
3
  export const dhlCredential = staticCredential({
4
4
  id: "dhl",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson } from "runline";
2
2
  import { dhlCredential } from "./credentials.js";
3
3
  export default function dhl(rl) {
4
4
  rl.setName("dhl");
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** A bot token, sent as `Authorization: Bot {token}` to Discord's v10 API. */
3
3
  export const discordCredential = staticCredential({
4
4
  id: "discord",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { discordCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, discordCredential, "discord", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An admin API key, sent as the Api-Key header to the connection's own
4
4
  * Discourse instance. The public Api-Username companion header names the
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { discourseCredential } from "./credentials.js";
3
3
  function req(ctx, method, endpoint, body, qs) {
4
4
  // Public companion header naming the user the admin key acts as.
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An access token, sent as the api_key query parameter on read-only GETs. */
3
3
  export const disqusCredential = staticCredential({
4
4
  id: "disqus",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { disqusCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, endpoint, qs) {
4
4
  return credentialJson(ctx, disqusCredential, "disqus", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API access token, sent as a bearer to Drift's one API origin. */
3
3
  export const driftCredential = staticCredential({
4
4
  id: "drift",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { driftCredential } from "./credentials.js";
3
3
  async function apiRequest(ctx, method, endpoint, body) {
4
4
  return credentialJson(ctx, driftCredential, "drift", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An access token, sent as a bearer to Dropbox's RPC API origin. */
3
3
  export const dropboxCredential = staticCredential({
4
4
  id: "dropbox",
@@ -1,4 +1,4 @@
1
- import { credentialJson } from "../../_shared/credentials.js";
1
+ import { credentialJson, } from "runline";
2
2
  import { dropboxCredential } from "./credentials.js";
3
3
  async function apiRequest(ctx, endpoint, body) {
4
4
  return credentialJson(ctx, dropboxCredential, "dropbox", {
@@ -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-Access-Token header to Dropcontact's one API origin. */
3
3
  export const dropcontactCredential = staticCredential({
4
4
  id: "dropcontact",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { dropcontactCredential } from "./credentials.js";
3
3
  async function apiRequest(ctx, method, endpoint, body) {
4
4
  return credentialJson(ctx, dropcontactCredential, "dropcontact", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An account API key, sent as the Apikey header to E-goi's one API origin. */
3
3
  export const egoiCredential = staticCredential({
4
4
  id: "egoi",
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { egoiCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, egoiCredential, "egoi", {
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An optional username and password, sent as HTTP Basic to the cluster;
4
4
  * without them, requests go unsigned. The cluster URL is public config
@@ -1,4 +1,4 @@
1
- import { credentialOk, jsonOrAcknowledged, pathSegment, } from "../../_shared/credentials.js";
1
+ import { credentialOk, jsonOrAcknowledged, pathSegment, } from "runline";
2
2
  import { elasticsearchCredential } from "./credentials.js";
3
3
  async function req(ctx, method, path, body, query) {
4
4
  const res = await credentialOk(ctx, elasticsearchCredential, "elasticsearch", {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * The longest request deadline: the input schemas' `timeout` maximum and the
4
4
  * `audio` target's deadline, at the transport's default host ceiling.
@@ -1,11 +1,8 @@
1
- import { constants } from "node:fs";
2
- import { open } from "node:fs/promises";
3
1
  import { basename } from "node:path";
4
- import { AuthError } from "runline";
2
+ import { AuthError, brokerFor, multipartBody, pathSegment, responseFailed, } from "runline";
5
3
  import * as t from "typebox";
6
4
  import { Check } from "typebox/value";
7
- import { credentialBroker } from "../../_shared/credentialAdapter.js";
8
- import { errorIdentifier, failureMessage, multipartBody, pathSegment, } from "../../_shared/credentials.js";
5
+ import { readLocalFile } from "../../_shared/localFile.js";
9
6
  import { SEND_FILE_NOTE, writeMediaFile } from "../../_shared/mediaFile.js";
10
7
  import { obj, readBounded, readBoundedBytes } from "../../_shared/provider.js";
11
8
  import { elevenlabsCredential } from "./credentials.js";
@@ -50,7 +47,7 @@ async function request(ctx, target, path, init, timeoutMs, consume) {
50
47
  body = multipart.body;
51
48
  headers["content-type"] = multipart.contentType;
52
49
  }
53
- const response = await withDeadline(credentialBroker(ctx, elevenlabsCredential).request({
50
+ const response = await withDeadline(brokerFor(ctx, elevenlabsCredential).request({
54
51
  target,
55
52
  path: path.replace(/^\//, ""),
56
53
  method: init.method ?? "GET",
@@ -60,7 +57,7 @@ async function request(ctx, target, path, init, timeoutMs, consume) {
60
57
  requestId = response.headers.get("request-id");
61
58
  // Both JSON and audio errors use the provider's JSON error envelope.
62
59
  if (!response.ok)
63
- await json(response);
60
+ throw await responseFailed("elevenlabs", response, errorEnvelope);
64
61
  return await consume(response);
65
62
  }
66
63
  catch (error) {
@@ -73,6 +70,22 @@ async function request(ctx, target, path, init, timeoutMs, consume) {
73
70
  throw wrapped;
74
71
  }
75
72
  }
73
+ /**
74
+ * The error envelope's `detail`: a status code (or a bare code string), or
75
+ * the validation entries whose `loc` paths name the offending fields.
76
+ */
77
+ function errorEnvelope(body) {
78
+ const detail = obj(body).detail;
79
+ return {
80
+ code: typeof detail === "string" ? detail : obj(detail).status,
81
+ param: Array.isArray(detail)
82
+ ? detail.map((entry) => {
83
+ const loc = obj(entry).loc;
84
+ return Array.isArray(loc) ? loc.join(".") : loc;
85
+ })
86
+ : undefined,
87
+ };
88
+ }
76
89
  async function json(response, limit = JSON_LIMIT) {
77
90
  const text = await readBounded(response, limit, `elevenlabs: JSON exceeds ${limit / (1024 * 1024)} MiB`);
78
91
  let body;
@@ -80,27 +93,8 @@ async function json(response, limit = JSON_LIMIT) {
80
93
  body = text ? JSON.parse(text) : null;
81
94
  }
82
95
  catch {
83
- if (!response.ok)
84
- throw new Error(failureMessage("elevenlabs", response.status));
85
96
  throw new Error("elevenlabs: non-JSON response");
86
97
  }
87
- if (!response.ok) {
88
- // The error `status` code and the offending field paths, never the
89
- // provider's messages or the validated input.
90
- const detail = obj(body).detail;
91
- const params = Array.isArray(detail)
92
- ? detail
93
- .map((v) => {
94
- const loc = obj(v).loc;
95
- return errorIdentifier(Array.isArray(loc) ? loc.join(".") : loc);
96
- })
97
- .filter((param) => param !== undefined)
98
- : [];
99
- throw new Error(failureMessage("elevenlabs", response.status, {
100
- code: errorIdentifier(obj(detail).status) ?? errorIdentifier(detail),
101
- param: params.length ? params.join(", ") : undefined,
102
- }));
103
- }
104
98
  if (body === null || typeof body !== "object")
105
99
  throw new Error("elevenlabs: expected a JSON object or array");
106
100
  return body;
@@ -287,25 +281,15 @@ export async function voiceForm(input) {
287
281
  form.append("remove_background_noise", String(input.removeBackgroundNoise));
288
282
  return form;
289
283
  }
290
- /** Bound uploads before allocating; read through the same handle to avoid stat/read races. */
284
+ const UPLOAD_RULE = "elevenlabs: each input must be a nonempty regular file of at most 25 MiB";
285
+ /** A local upload as one form part, bounded and read by the shared reader. */
291
286
  export async function appendFile(form, field, path) {
292
- // Nonblocking open lets fstat reject FIFOs without waiting for a writer.
293
- const file = await open(path, constants.O_RDONLY | constants.O_NONBLOCK);
294
- try {
295
- const stat = await file.stat();
296
- if (!stat.isFile() || stat.size === 0 || stat.size > 25 * 1024 * 1024)
297
- throw new Error("elevenlabs: each input must be a nonempty regular file of at most 25 MiB");
298
- const bytes = Buffer.alloc(stat.size);
299
- let offset = 0;
300
- while (offset < bytes.length) {
301
- const { bytesRead } = await file.read(bytes, offset, bytes.length - offset, offset);
302
- if (!bytesRead)
303
- throw new Error("elevenlabs: input file changed while reading");
304
- offset += bytesRead;
305
- }
306
- form.append(field, new Blob([bytes]), basename(path));
307
- }
308
- finally {
309
- await file.close();
310
- }
287
+ const bytes = await readLocalFile(path, {
288
+ subject: `elevenlabs: ${field}`,
289
+ maxBytes: 25 * 1024 * 1024,
290
+ oversize: UPLOAD_RULE,
291
+ });
292
+ if (!bytes.length)
293
+ throw new Error(UPLOAD_RULE);
294
+ form.append(field, new Blob([bytes]), basename(path));
311
295
  }
@@ -1,5 +1,5 @@
1
+ import { pathSegment } from "runline";
1
2
  import * as t from "typebox";
2
- import { pathSegment } from "../../_shared/credentials.js";
3
3
  import { audioOptions, dictionaries, fileOptions, normalization, STRICT, seed, text, voiceSettings, } from "./schemas.js";
4
4
  import { appendFile, audioRequest, binaryRequest, jsonRequest, voiceForm, voicePath, } from "./shared.js";
5
5
  const dialogue = t.Object({
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key, sent raw (no scheme) on the Authorization header to Emelia's
3
3
  * one GraphQL endpoint. */
4
4
  export const emeliaCredential = staticCredential({
@@ -1,4 +1,4 @@
1
- import { credentialJson, graphqlFailed } from "../../_shared/credentials.js";
1
+ import { credentialJson, graphqlFailed, } from "runline";
2
2
  import { emeliaCredential } from "./credentials.js";
3
3
  async function gql(ctx, query, variables) {
4
4
  const body = { query };
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * The API key and secret joined as `token {apiKey}:{apiSecret}` in the
4
4
  * Authorization header, on the configured instance's own /api/ base. The
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { erpnextCredential } from "./credentials.js";
3
3
  /** One ERPNext call: every endpoint is a path beneath the instance's /api/. */
4
4
  function req(ctx, method, endpoint, body, qs) {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /**
3
3
  * A Meta access token, added by the transport as the access_token query
4
4
  * parameter on Meta's Graph API host and its video-upload host.
@@ -1,5 +1,4 @@
1
- import { AuthError } from "runline";
2
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { AuthError, credentialJson, pathSegment, } from "runline";
3
2
  import { facebookGraphCredential } from "./credentials.js";
4
3
  /** Meta's hosts, by the target each is declared as. */
5
4
  const HOSTS = {
@@ -1,4 +1,4 @@
1
- import { staticCredential } from "../../_shared/credentials.js";
1
+ import { staticCredential } from "runline";
2
2
  /** An API key, sent as `Authorization: Key {key}` to fal's queue origin.
3
3
  * CDN media downloads are credential-free and stay outside the broker. */
4
4
  export const falCredential = staticCredential({
@@ -109,7 +109,7 @@ export default function fal(rl) {
109
109
  inputSchema: editSchema,
110
110
  async execute(input, ctx) {
111
111
  const p = input;
112
- const image = readImageInput(p.imagePath, "fal");
112
+ const image = await readImageInput(p.imagePath, "fal");
113
113
  const key = p.imageInputKey ?? "image_url";
114
114
  return generate(ctx, p, p.model ?? EDIT_MODEL, {
115
115
  prompt: p.prompt,
@@ -1,7 +1,7 @@
1
1
  import { setTimeout as sleep } from "node:timers/promises";
2
+ import { credentialJson, pathSegment, } from "runline";
2
3
  import * as t from "typebox";
3
4
  import { Check } from "typebox/value";
4
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
5
5
  import { SEND_FILE_NOTE, writeMediaFile, } from "../../_shared/mediaFile.js";
6
6
  import { readBoundedBytes } from "../../_shared/provider.js";
7
7
  import { falCredential } from "./credentials.js";
@@ -1,4 +1,4 @@
1
- import { hostLabel, staticCredential } from "../../_shared/credentials.js";
1
+ import { hostLabel, staticCredential } from "runline";
2
2
  /** An agent API key as the Basic username, with the fixed dummy password "X",
3
3
  * to the account's own Freshdesk subdomain. */
4
4
  export const freshdeskCredential = staticCredential({
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { freshdeskCredential } from "./credentials.js";
3
3
  const STATUS = {
4
4
  open: 2,
@@ -1,4 +1,4 @@
1
- import { hostLabel, staticCredential } from "../../_shared/credentials.js";
1
+ import { hostLabel, staticCredential } from "runline";
2
2
  /**
3
3
  * An API key as the Basic username with Freshservice's fixed "X" password,
4
4
  * on the connection's own subdomain of freshservice.com.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { freshserviceCredential } from "./credentials.js";
3
3
  function req(ctx, method, path, body, qs) {
4
4
  return credentialJson(ctx, freshserviceCredential, "freshservice", {
@@ -1,4 +1,4 @@
1
- import { hostLabel, staticCredential } from "../../_shared/credentials.js";
1
+ import { hostLabel, staticCredential } from "runline";
2
2
  /**
3
3
  * The API key in Freshworks' `Token token=` Authorization scheme, sent to
4
4
  * the connection's own bundle domain.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { freshworksCrmCredential } from "./credentials.js";
3
3
  function req(ctx, method, endpoint, body, qs) {
4
4
  return credentialJson(ctx, freshworksCrmCredential, "freshworksCrm", {
@@ -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 `X-Auth-Token: api-key {key}` to GetResponse's v3
4
4
  * API base.
@@ -1,4 +1,4 @@
1
- import { credentialJson, pathSegment } from "../../_shared/credentials.js";
1
+ import { credentialJson, pathSegment, } from "runline";
2
2
  import { getresponseCredential } from "./credentials.js";
3
3
  function apiRequest(ctx, method, path, body, qs) {
4
4
  const json = body &&
@@ -1,5 +1,4 @@
1
- import { AuthError } from "runline";
2
- import { grantSchema, pathSegment } from "../../_shared/credentials.js";
1
+ import { AuthError, grantSchema, pathSegment, } from "runline";
3
2
  export const HOST = "b2cgateway.gett.com";
4
3
  export const APP_VERSION = "10.48.187";
5
4
  /** What the Android app sends on every call: its own identity, and the device's. */
@@ -1,5 +1,5 @@
1
+ import { refuseUnderHost, } from "runline";
1
2
  import * as t from "typebox";
2
- import { refuseUnderHost } from "../../_shared/credentials.js";
3
3
  import { gettCredential } from "./credentials.js";
4
4
  import { search } from "./places.js";
5
5
  import { book, optionsOf, plan, previewOf, quoteFor } from "./rides.js";
@@ -1,4 +1,4 @@
1
- import { refuseUnderHost } from "../../_shared/credentials.js";
1
+ import { refuseUnderHost } from "runline";
2
2
  import { readBounded } from "../../_shared/provider.js";
3
3
  import { appHeaders, HOST } from "./credentials.js";
4
4
  import { bodyOf, endpointOf } from "./shared.js";
@@ -1,4 +1,4 @@
1
- import { refuseUnderHost } from "../../_shared/credentials.js";
1
+ import { refuseUnderHost } from "runline";
2
2
  import { loginRequest } from "./login.js";
3
3
  import { APP_VERSION, accepted, arr, authed, cfgOf, DEF_LAT, DEF_LON, ensureDevice, expiresAt, normPhone, num, numOrNull, obj, pick, seg, } from "./shared.js";
4
4
  export async function requestCode(ctx, phone) {
@@ -1,6 +1,5 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { AuthError } from "runline";
3
- import { credentialRequest, pathSegment } from "../../_shared/credentials.js";
2
+ import { AuthError, credentialRequest, pathSegment, } from "runline";
4
3
  import { arr, num, numOrNull, obj, pick } from "../../_shared/provider.js";
5
4
  import { appHeaders, gettCredential } from "./credentials.js";
6
5
  export { APP_VERSION } from "./credentials.js";
@@ -1,4 +1,4 @@
1
- import { httpsBase, staticCredential } from "../../_shared/credentials.js";
1
+ import { httpsBase, staticCredential } from "runline";
2
2
  /**
3
3
  * An Admin API key (`<id>:<hex secret>`), from which the transport signs a
4
4
  * fresh five-minute JWT for every request, sent as `Authorization: Ghost