runline 0.11.6 → 0.12.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 (251) hide show
  1. package/dist/commands/actions.js +3 -1
  2. package/dist/core/engine.js +3 -0
  3. package/dist/index.d.ts +1 -1
  4. package/dist/plugin/api.d.ts +2 -1
  5. package/dist/plugin/types.d.ts +2 -0
  6. package/dist/plugins/actionNetwork/src/index.js +23 -0
  7. package/dist/plugins/activeCampaign/src/index.js +48 -0
  8. package/dist/plugins/adalo/src/index.js +5 -0
  9. package/dist/plugins/affinity/src/index.js +16 -0
  10. package/dist/plugins/agileCrm/src/index.js +15 -0
  11. package/dist/plugins/airtable/src/index.js +10 -0
  12. package/dist/plugins/airtop/src/index.js +24 -0
  13. package/dist/plugins/apiTemplateIo/src/index.js +4 -0
  14. package/dist/plugins/asana/src/index.js +22 -0
  15. package/dist/plugins/autopilot/src/index.js +11 -0
  16. package/dist/plugins/bambooHr/src/index.js +11 -0
  17. package/dist/plugins/bannerbear/src/index.js +4 -0
  18. package/dist/plugins/baserow/src/index.js +8 -0
  19. package/dist/plugins/beeminder/src/index.js +18 -0
  20. package/dist/plugins/bitly/src/index.js +3 -0
  21. package/dist/plugins/bitwarden/src/index.js +19 -0
  22. package/dist/plugins/box/src/index.js +11 -0
  23. package/dist/plugins/brandfetch/src/index.js +5 -0
  24. package/dist/plugins/brevo/src/index.js +15 -0
  25. package/dist/plugins/bubble/src/index.js +5 -0
  26. package/dist/plugins/chargebee/src/index.js +5 -0
  27. package/dist/plugins/circleci/src/index.js +3 -0
  28. package/dist/plugins/ciscoWebex/src/index.js +10 -0
  29. package/dist/plugins/clearbit/src/index.js +3 -0
  30. package/dist/plugins/clickup/src/index.js +61 -0
  31. package/dist/plugins/clockify/src/index.js +25 -0
  32. package/dist/plugins/cloudflare/src/index.js +4 -0
  33. package/dist/plugins/cockpit/src/index.js +5 -0
  34. package/dist/plugins/coda/src/index.js +18 -0
  35. package/dist/plugins/coingecko/src/index.js +10 -0
  36. package/dist/plugins/contentful/src/index.js +7 -0
  37. package/dist/plugins/convertkit/src/index.js +16 -0
  38. package/dist/plugins/copper/src/index.js +7 -0
  39. package/dist/plugins/cortex/src/index.js +4 -0
  40. package/dist/plugins/currents/src/index.js +22 -0
  41. package/dist/plugins/customerIo/src/index.js +9 -0
  42. package/dist/plugins/databricks/src/index.js +34 -0
  43. package/dist/plugins/deepl/src/index.js +2 -0
  44. package/dist/plugins/demio/src/index.js +4 -0
  45. package/dist/plugins/dhl/src/index.js +1 -0
  46. package/dist/plugins/discord/src/index.js +13 -0
  47. package/dist/plugins/discourse/src/index.js +16 -0
  48. package/dist/plugins/disqus/src/index.js +4 -0
  49. package/dist/plugins/docker/src/index.js +5 -0
  50. package/dist/plugins/drift/src/index.js +5 -0
  51. package/dist/plugins/dropbox/src/index.js +9 -0
  52. package/dist/plugins/dropcontact/src/index.js +2 -0
  53. package/dist/plugins/egoi/src/index.js +4 -0
  54. package/dist/plugins/elasticsearch/src/index.js +9 -0
  55. package/dist/plugins/emelia/src/index.js +9 -0
  56. package/dist/plugins/erpnext/src/index.js +5 -0
  57. package/dist/plugins/facebookGraph/src/index.js +1 -0
  58. package/dist/plugins/freshdesk/src/index.js +10 -0
  59. package/dist/plugins/freshservice/src/index.js +7 -0
  60. package/dist/plugins/freshworksCrm/src/index.js +7 -0
  61. package/dist/plugins/getresponse/src/index.js +5 -0
  62. package/dist/plugins/ghost/src/index.js +5 -0
  63. package/dist/plugins/github/src/index.js +37 -0
  64. package/dist/plugins/gitlab/src/index.js +17 -0
  65. package/dist/plugins/gmail/src/index.js +32 -0
  66. package/dist/plugins/gong/src/index.js +4 -0
  67. package/dist/plugins/googleAppsScript/src/index.js +10 -0
  68. package/dist/plugins/googleCalendar/src/index.js +22 -0
  69. package/dist/plugins/googleContacts/src/index.js +10 -0
  70. package/dist/plugins/googleDocs/src/documents.js +4 -0
  71. package/dist/plugins/googleDocs/src/formatting.js +2 -0
  72. package/dist/plugins/googleDocs/src/images.js +2 -0
  73. package/dist/plugins/googleDocs/src/structure.js +13 -0
  74. package/dist/plugins/googleDocs/src/tables.js +11 -0
  75. package/dist/plugins/googleDocs/src/tabs.js +3 -0
  76. package/dist/plugins/googleDocs/src/text.js +9 -0
  77. package/dist/plugins/googleDrive/src/index.js +47 -0
  78. package/dist/plugins/googleImage/src/index.js +1 -0
  79. package/dist/plugins/googleSheets/src/index.js +23 -0
  80. package/dist/plugins/googleSlides/src/index.js +7 -0
  81. package/dist/plugins/googleTasks/src/index.js +12 -0
  82. package/dist/plugins/gotify/src/index.js +3 -0
  83. package/dist/plugins/gotowebinar/src/index.js +20 -0
  84. package/dist/plugins/grafana/src/index.js +17 -0
  85. package/dist/plugins/graphql/src/index.js +2 -0
  86. package/dist/plugins/grist/src/index.js +4 -0
  87. package/dist/plugins/hackernews/src/index.js +6 -0
  88. package/dist/plugins/halopsa/src/index.js +5 -0
  89. package/dist/plugins/harvest/src/index.js +14 -0
  90. package/dist/plugins/helpscout/src/index.js +13 -0
  91. package/dist/plugins/highlevel/src/index.js +17 -0
  92. package/dist/plugins/homeAssistant/src/index.js +13 -0
  93. package/dist/plugins/hubspot/src/index.js +14 -0
  94. package/dist/plugins/humanticAi/src/index.js +3 -0
  95. package/dist/plugins/hunter/src/index.js +3 -0
  96. package/dist/plugins/intercom/src/index.js +10 -0
  97. package/dist/plugins/iterable/src/index.js +6 -0
  98. package/dist/plugins/jenkins/src/index.js +11 -0
  99. package/dist/plugins/jira/src/index.js +16 -0
  100. package/dist/plugins/keap/src/index.js +28 -0
  101. package/dist/plugins/kobotoolbox/src/index.js +17 -0
  102. package/dist/plugins/lemlist/src/index.js +15 -0
  103. package/dist/plugins/linear/src/attachments.js +6 -0
  104. package/dist/plugins/linear/src/comments.js +5 -0
  105. package/dist/plugins/linear/src/cycles.js +2 -0
  106. package/dist/plugins/linear/src/initiatives.js +5 -0
  107. package/dist/plugins/linear/src/issues.js +14 -0
  108. package/dist/plugins/linear/src/labels.js +5 -0
  109. package/dist/plugins/linear/src/organization.js +1 -0
  110. package/dist/plugins/linear/src/projects.js +11 -0
  111. package/dist/plugins/linear/src/shared.js +2 -0
  112. package/dist/plugins/linear/src/states.js +2 -0
  113. package/dist/plugins/linear/src/teams.js +3 -0
  114. package/dist/plugins/linear/src/users.js +2 -0
  115. package/dist/plugins/linear/src/views.js +4 -0
  116. package/dist/plugins/linear/src/webhooks.js +4 -0
  117. package/dist/plugins/lingvanex/src/index.js +1 -0
  118. package/dist/plugins/linkedin/src/index.js +1 -0
  119. package/dist/plugins/lonescale/src/index.js +4 -0
  120. package/dist/plugins/magento/src/index.js +15 -0
  121. package/dist/plugins/mailcheck/src/index.js +1 -0
  122. package/dist/plugins/mailchimp/src/index.js +14 -0
  123. package/dist/plugins/mailerlite/src/index.js +4 -0
  124. package/dist/plugins/mailgun/src/index.js +1 -0
  125. package/dist/plugins/mailjet/src/index.js +3 -0
  126. package/dist/plugins/mandrill/src/index.js +2 -0
  127. package/dist/plugins/marketstack/src/index.js +3 -0
  128. package/dist/plugins/matrix/src/index.js +10 -0
  129. package/dist/plugins/mattermost/src/index.js +19 -0
  130. package/dist/plugins/mautic/src/index.js +20 -0
  131. package/dist/plugins/medium/src/index.js +3 -0
  132. package/dist/plugins/messagebird/src/index.js +2 -0
  133. package/dist/plugins/metabase/src/index.js +10 -0
  134. package/dist/plugins/microsoftCalendar/src/index.js +2 -0
  135. package/dist/plugins/microsoftFiles/src/index.js +5 -0
  136. package/dist/plugins/microsoftMail/src/index.js +4 -0
  137. package/dist/plugins/misp/src/index.js +44 -0
  138. package/dist/plugins/mocean/src/index.js +2 -0
  139. package/dist/plugins/monday/src/index.js +18 -0
  140. package/dist/plugins/monicaCrm/src/index.js +5 -0
  141. package/dist/plugins/msg91/src/index.js +1 -0
  142. package/dist/plugins/nasa/src/index.js +7 -0
  143. package/dist/plugins/netlify/src/index.js +7 -0
  144. package/dist/plugins/netscalerAdc/src/index.js +3 -0
  145. package/dist/plugins/nextcloud/src/index.js +13 -0
  146. package/dist/plugins/nocodb/src/index.js +5 -0
  147. package/dist/plugins/node/src/index.js +38 -0
  148. package/dist/plugins/notion/src/index.js +14 -0
  149. package/dist/plugins/npm/src/index.js +5 -0
  150. package/dist/plugins/odoo/src/index.js +6 -0
  151. package/dist/plugins/okta/src/index.js +5 -0
  152. package/dist/plugins/oneSimpleApi/src/index.js +10 -0
  153. package/dist/plugins/onfleet/src/index.js +24 -0
  154. package/dist/plugins/openThesaurus/src/index.js +1 -0
  155. package/dist/plugins/openai/src/index.js +1 -0
  156. package/dist/plugins/openweathermap/src/index.js +2 -0
  157. package/dist/plugins/oura/src/index.js +2 -0
  158. package/dist/plugins/paddle/src/index.js +9 -0
  159. package/dist/plugins/pagerduty/src/index.js +9 -0
  160. package/dist/plugins/parallel/src/index.js +1 -0
  161. package/dist/plugins/paypal/src/index.js +4 -0
  162. package/dist/plugins/peekalink/src/index.js +2 -0
  163. package/dist/plugins/phantombuster/src/index.js +5 -0
  164. package/dist/plugins/philipsHue/src/index.js +4 -0
  165. package/dist/plugins/pipedrive/src/index.js +14 -0
  166. package/dist/plugins/plivo/src/index.js +3 -0
  167. package/dist/plugins/postbin/src/index.js +6 -0
  168. package/dist/plugins/posthog/src/index.js +5 -0
  169. package/dist/plugins/profitwell/src/index.js +2 -0
  170. package/dist/plugins/pushbullet/src/index.js +4 -0
  171. package/dist/plugins/pushcut/src/index.js +1 -0
  172. package/dist/plugins/pushover/src/index.js +1 -0
  173. package/dist/plugins/quickbase/src/index.js +8 -0
  174. package/dist/plugins/quickbooks/src/index.js +5 -0
  175. package/dist/plugins/quickchart/src/index.js +1 -0
  176. package/dist/plugins/raindrop/src/index.js +13 -0
  177. package/dist/plugins/recraft/src/index.js +1 -0
  178. package/dist/plugins/reddit/src/index.js +10 -0
  179. package/dist/plugins/replicate/src/index.js +1 -0
  180. package/dist/plugins/rocketchat/src/index.js +1 -0
  181. package/dist/plugins/rundeck/src/index.js +2 -0
  182. package/dist/plugins/salesforce/src/metadata.js +4 -0
  183. package/dist/plugins/salesforce/src/query.js +5 -0
  184. package/dist/plugins/salesforce/src/sobjects.js +12 -0
  185. package/dist/plugins/salesmate/src/index.js +5 -0
  186. package/dist/plugins/securityScorecard/src/index.js +14 -0
  187. package/dist/plugins/segment/src/index.js +4 -0
  188. package/dist/plugins/sendgrid/src/index.js +10 -0
  189. package/dist/plugins/sendy/src/index.js +6 -0
  190. package/dist/plugins/sentry/src/index.js +24 -0
  191. package/dist/plugins/servicenow/src/index.js +10 -0
  192. package/dist/plugins/shiftLabs/src/issues.js +4 -0
  193. package/dist/plugins/shiftLabs/src/pages.js +10 -0
  194. package/dist/plugins/shopify/src/index.js +10 -0
  195. package/dist/plugins/signl4/src/index.js +2 -0
  196. package/dist/plugins/slack/src/index.js +38 -0
  197. package/dist/plugins/sms77/src/index.js +2 -0
  198. package/dist/plugins/splunk/src/index.js +16 -0
  199. package/dist/plugins/spotify/src/index.js +30 -0
  200. package/dist/plugins/stackby/src/index.js +4 -0
  201. package/dist/plugins/steel/src/browser.js +7 -0
  202. package/dist/plugins/steel/src/captchas.js +3 -0
  203. package/dist/plugins/steel/src/credentials.js +4 -0
  204. package/dist/plugins/steel/src/extensions.js +5 -0
  205. package/dist/plugins/steel/src/files.js +10 -0
  206. package/dist/plugins/steel/src/profiles.js +4 -0
  207. package/dist/plugins/steel/src/sessions.js +11 -0
  208. package/dist/plugins/storyblok/src/index.js +7 -0
  209. package/dist/plugins/strapi/src/index.js +5 -0
  210. package/dist/plugins/strava/src/index.js +6 -0
  211. package/dist/plugins/stripe/src/index.js +20 -0
  212. package/dist/plugins/supabase/src/index.js +5 -0
  213. package/dist/plugins/syncromsp/src/index.js +20 -0
  214. package/dist/plugins/tapfiliate/src/index.js +11 -0
  215. package/dist/plugins/telegram/src/index.js +21 -0
  216. package/dist/plugins/thehive/src/index.js +23 -0
  217. package/dist/plugins/thehiveProject/src/index.js +31 -0
  218. package/dist/plugins/todoist/src/index.js +31 -0
  219. package/dist/plugins/together/src/index.js +1 -0
  220. package/dist/plugins/travisci/src/index.js +5 -0
  221. package/dist/plugins/trello/src/index.js +37 -0
  222. package/dist/plugins/twake/src/index.js +1 -0
  223. package/dist/plugins/twilio/src/index.js +2 -0
  224. package/dist/plugins/twist/src/index.js +22 -0
  225. package/dist/plugins/twitter/src/index.js +8 -0
  226. package/dist/plugins/unleashedSoftware/src/index.js +3 -0
  227. package/dist/plugins/uplead/src/index.js +2 -0
  228. package/dist/plugins/uproc/src/index.js +1 -0
  229. package/dist/plugins/uptimerobot/src/index.js +22 -0
  230. package/dist/plugins/urlscanio/src/index.js +3 -0
  231. package/dist/plugins/vercel/src/account.js +1 -0
  232. package/dist/plugins/vercel/src/deployments.js +5 -0
  233. package/dist/plugins/vercel/src/env.js +4 -0
  234. package/dist/plugins/vercel/src/projects.js +2 -0
  235. package/dist/plugins/vercel/src/shared.js +1 -0
  236. package/dist/plugins/vero/src/index.js +6 -0
  237. package/dist/plugins/vonage/src/index.js +1 -0
  238. package/dist/plugins/wekan/src/index.js +24 -0
  239. package/dist/plugins/woocommerce/src/index.js +5 -0
  240. package/dist/plugins/wordpress/src/index.js +10 -0
  241. package/dist/plugins/xai/src/index.js +1 -0
  242. package/dist/plugins/xero/src/index.js +8 -0
  243. package/dist/plugins/yourls/src/index.js +3 -0
  244. package/dist/plugins/zammad/src/index.js +12 -0
  245. package/dist/plugins/zendesk/src/index.js +18 -0
  246. package/dist/plugins/zoho/src/index.js +6 -0
  247. package/dist/plugins/zoom/src/index.js +5 -0
  248. package/dist/plugins/zulip/src/index.js +15 -0
  249. package/dist/sdk.d.ts +2 -1
  250. package/dist/sdk.js +1 -0
  251. package/package.json +1 -1
@@ -59,6 +59,7 @@ export default function currents(rl) {
59
59
  });
60
60
  // ── Action ──────────────────────────────────────────
61
61
  rl.registerAction("action.create", {
62
+ access: "write",
62
63
  description: "Create a new action (skip, quarantine, or tag rule)",
63
64
  inputSchema: {
64
65
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -135,6 +136,7 @@ export default function currents(rl) {
135
136
  },
136
137
  });
137
138
  rl.registerAction("action.get", {
139
+ access: "read",
138
140
  description: "Get an action by ID",
139
141
  inputSchema: {
140
142
  actionId: { type: "string", required: true, description: "Action ID" },
@@ -144,6 +146,7 @@ export default function currents(rl) {
144
146
  },
145
147
  });
146
148
  rl.registerAction("action.list", {
149
+ access: "read",
147
150
  description: "List actions for a project",
148
151
  inputSchema: {
149
152
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -169,6 +172,7 @@ export default function currents(rl) {
169
172
  },
170
173
  });
171
174
  rl.registerAction("action.update", {
175
+ access: "write",
172
176
  description: "Update an action",
173
177
  inputSchema: {
174
178
  actionId: { type: "string", required: true, description: "Action ID" },
@@ -190,6 +194,7 @@ export default function currents(rl) {
190
194
  },
191
195
  });
192
196
  rl.registerAction("action.enable", {
197
+ access: "write",
193
198
  description: "Enable a disabled action",
194
199
  inputSchema: {
195
200
  actionId: { type: "string", required: true, description: "Action ID" },
@@ -199,6 +204,7 @@ export default function currents(rl) {
199
204
  },
200
205
  });
201
206
  rl.registerAction("action.disable", {
207
+ access: "write",
202
208
  description: "Disable an active action",
203
209
  inputSchema: {
204
210
  actionId: { type: "string", required: true, description: "Action ID" },
@@ -208,6 +214,7 @@ export default function currents(rl) {
208
214
  },
209
215
  });
210
216
  rl.registerAction("action.delete", {
217
+ access: "write",
211
218
  description: "Archive (soft delete) an action",
212
219
  inputSchema: {
213
220
  actionId: { type: "string", required: true, description: "Action ID" },
@@ -219,6 +226,7 @@ export default function currents(rl) {
219
226
  });
220
227
  // ── Instance ────────────────────────────────────────
221
228
  rl.registerAction("instance.get", {
229
+ access: "read",
222
230
  description: "Get a spec file execution instance with full test results",
223
231
  inputSchema: {
224
232
  instanceId: {
@@ -233,6 +241,7 @@ export default function currents(rl) {
233
241
  });
234
242
  // ── Project ─────────────────────────────────────────
235
243
  rl.registerAction("project.get", {
244
+ access: "read",
236
245
  description: "Get a project by ID",
237
246
  inputSchema: {
238
247
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -242,6 +251,7 @@ export default function currents(rl) {
242
251
  },
243
252
  });
244
253
  rl.registerAction("project.list", {
254
+ access: "read",
245
255
  description: "List projects",
246
256
  inputSchema: {
247
257
  limit: { type: "number", required: false, description: "Max results" },
@@ -255,6 +265,7 @@ export default function currents(rl) {
255
265
  },
256
266
  });
257
267
  rl.registerAction("project.getInsights", {
268
+ access: "read",
258
269
  description: "Get project insights and metrics",
259
270
  inputSchema: {
260
271
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -304,6 +315,7 @@ export default function currents(rl) {
304
315
  });
305
316
  // ── Run ─────────────────────────────────────────────
306
317
  rl.registerAction("run.get", {
318
+ access: "read",
307
319
  description: "Get a run by ID",
308
320
  inputSchema: {
309
321
  runId: { type: "string", required: true, description: "Run ID" },
@@ -313,6 +325,7 @@ export default function currents(rl) {
313
325
  },
314
326
  });
315
327
  rl.registerAction("run.list", {
328
+ access: "read",
316
329
  description: "List runs for a project",
317
330
  inputSchema: {
318
331
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -375,6 +388,7 @@ export default function currents(rl) {
375
388
  },
376
389
  });
377
390
  rl.registerAction("run.find", {
391
+ access: "read",
378
392
  description: "Find a run by project and filters",
379
393
  inputSchema: {
380
394
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -403,6 +417,7 @@ export default function currents(rl) {
403
417
  },
404
418
  });
405
419
  rl.registerAction("run.cancel", {
420
+ access: "write",
406
421
  description: "Cancel a run in progress",
407
422
  inputSchema: {
408
423
  runId: { type: "string", required: true, description: "Run ID" },
@@ -412,6 +427,7 @@ export default function currents(rl) {
412
427
  },
413
428
  });
414
429
  rl.registerAction("run.cancelGithub", {
430
+ access: "write",
415
431
  description: "Cancel a run by GitHub Actions workflow run ID",
416
432
  inputSchema: {
417
433
  githubRunId: {
@@ -441,6 +457,7 @@ export default function currents(rl) {
441
457
  },
442
458
  });
443
459
  rl.registerAction("run.reset", {
460
+ access: "write",
444
461
  description: "Reset failed specs for re-execution on specified machines",
445
462
  inputSchema: {
446
463
  runId: { type: "string", required: true, description: "Run ID" },
@@ -464,6 +481,7 @@ export default function currents(rl) {
464
481
  },
465
482
  });
466
483
  rl.registerAction("run.delete", {
484
+ access: "write",
467
485
  description: "Delete a run and all associated data",
468
486
  inputSchema: {
469
487
  runId: { type: "string", required: true, description: "Run ID" },
@@ -475,6 +493,7 @@ export default function currents(rl) {
475
493
  });
476
494
  // ── Signature ───────────────────────────────────────
477
495
  rl.registerAction("signature.generate", {
496
+ access: "write",
478
497
  description: "Generate a unique test signature",
479
498
  inputSchema: {
480
499
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -495,6 +514,7 @@ export default function currents(rl) {
495
514
  });
496
515
  // ── Spec File ───────────────────────────────────────
497
516
  rl.registerAction("specFile.list", {
517
+ access: "read",
498
518
  description: "Get aggregated spec file metrics for a project",
499
519
  inputSchema: {
500
520
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -537,6 +557,7 @@ export default function currents(rl) {
537
557
  });
538
558
  // ── Test ────────────────────────────────────────────
539
559
  rl.registerAction("test.list", {
560
+ access: "read",
540
561
  description: "Get aggregated test metrics for a project",
541
562
  inputSchema: {
542
563
  projectId: { type: "string", required: true, description: "Project ID" },
@@ -593,6 +614,7 @@ export default function currents(rl) {
593
614
  });
594
615
  // ── Test Result ─────────────────────────────────────
595
616
  rl.registerAction("testResult.list", {
617
+ access: "read",
596
618
  description: "Get historical test execution results for a test signature",
597
619
  inputSchema: {
598
620
  signature: {
@@ -75,6 +75,7 @@ export default function customerIo(rl) {
75
75
  });
76
76
  // ── Campaign ────────────────────────────────────────
77
77
  rl.registerAction("campaign.get", {
78
+ access: "read",
78
79
  description: "Get a campaign by ID",
79
80
  inputSchema: {
80
81
  campaignId: {
@@ -90,6 +91,7 @@ export default function customerIo(rl) {
90
91
  },
91
92
  });
92
93
  rl.registerAction("campaign.list", {
94
+ access: "read",
93
95
  description: "List all campaigns",
94
96
  async execute(_input, ctx) {
95
97
  const data = (await app(ctx, "GET", "/campaigns"));
@@ -97,6 +99,7 @@ export default function customerIo(rl) {
97
99
  },
98
100
  });
99
101
  rl.registerAction("campaign.getMetrics", {
102
+ access: "read",
100
103
  description: "Get campaign metrics",
101
104
  inputSchema: {
102
105
  campaignId: {
@@ -136,6 +139,7 @@ export default function customerIo(rl) {
136
139
  });
137
140
  // ── Customer ────────────────────────────────────────
138
141
  rl.registerAction("customer.upsert", {
142
+ access: "write",
139
143
  description: "Create or update a customer",
140
144
  inputSchema: {
141
145
  id: {
@@ -169,6 +173,7 @@ export default function customerIo(rl) {
169
173
  },
170
174
  });
171
175
  rl.registerAction("customer.delete", {
176
+ access: "write",
172
177
  description: "Delete a customer",
173
178
  inputSchema: {
174
179
  id: { type: "string", required: true, description: "Customer ID" },
@@ -181,6 +186,7 @@ export default function customerIo(rl) {
181
186
  });
182
187
  // ── Event ───────────────────────────────────────────
183
188
  rl.registerAction("event.track", {
189
+ access: "write",
184
190
  description: "Track an event for a customer",
185
191
  inputSchema: {
186
192
  customerId: {
@@ -215,6 +221,7 @@ export default function customerIo(rl) {
215
221
  },
216
222
  });
217
223
  rl.registerAction("event.trackAnonymous", {
224
+ access: "write",
218
225
  description: "Track an anonymous event (not tied to a customer)",
219
226
  inputSchema: {
220
227
  eventName: { type: "string", required: true, description: "Event name" },
@@ -235,6 +242,7 @@ export default function customerIo(rl) {
235
242
  });
236
243
  // ── Segment ─────────────────────────────────────────
237
244
  rl.registerAction("segment.addCustomers", {
245
+ access: "write",
238
246
  description: "Add customers to a manual segment",
239
247
  inputSchema: {
240
248
  segmentId: { type: "number", required: true, description: "Segment ID" },
@@ -253,6 +261,7 @@ export default function customerIo(rl) {
253
261
  },
254
262
  });
255
263
  rl.registerAction("segment.removeCustomers", {
264
+ access: "write",
256
265
  description: "Remove customers from a manual segment",
257
266
  inputSchema: {
258
267
  segmentId: { type: "number", required: true, description: "Segment ID" },
@@ -56,6 +56,7 @@ export default function databricks(rl) {
56
56
  });
57
57
  // ── Databricks SQL ──────────────────────────────────
58
58
  rl.registerAction("sql.executeQuery", {
59
+ access: "write",
59
60
  description: "Execute a SQL query on a warehouse and return results",
60
61
  inputSchema: {
61
62
  warehouseId: {
@@ -128,6 +129,7 @@ export default function databricks(rl) {
128
129
  });
129
130
  // ── Files ───────────────────────────────────────────
130
131
  rl.registerAction("files.createDirectory", {
132
+ access: "write",
131
133
  description: "Create a directory in a Unity Catalog volume",
132
134
  inputSchema: {
133
135
  volumePath: {
@@ -146,6 +148,7 @@ export default function databricks(rl) {
146
148
  },
147
149
  });
148
150
  rl.registerAction("files.deleteDirectory", {
151
+ access: "write",
149
152
  description: "Delete a directory in a volume",
150
153
  inputSchema: {
151
154
  volumePath: {
@@ -164,6 +167,7 @@ export default function databricks(rl) {
164
167
  },
165
168
  });
166
169
  rl.registerAction("files.deleteFile", {
170
+ access: "write",
167
171
  description: "Delete a file in a volume",
168
172
  inputSchema: {
169
173
  volumePath: {
@@ -182,6 +186,7 @@ export default function databricks(rl) {
182
186
  },
183
187
  });
184
188
  rl.registerAction("files.getFileInfo", {
189
+ access: "read",
185
190
  description: "Get file metadata (content-length, type, last-modified)",
186
191
  inputSchema: {
187
192
  volumePath: {
@@ -211,6 +216,7 @@ export default function databricks(rl) {
211
216
  },
212
217
  });
213
218
  rl.registerAction("files.listDirectory", {
219
+ access: "read",
214
220
  description: "List files in a volume directory",
215
221
  inputSchema: {
216
222
  volumePath: {
@@ -237,6 +243,7 @@ export default function databricks(rl) {
237
243
  });
238
244
  // ── Genie ───────────────────────────────────────────
239
245
  rl.registerAction("genie.startConversation", {
246
+ access: "write",
240
247
  description: "Start a new Genie conversation",
241
248
  inputSchema: {
242
249
  spaceId: { type: "string", required: true },
@@ -249,6 +256,7 @@ export default function databricks(rl) {
249
256
  },
250
257
  });
251
258
  rl.registerAction("genie.createMessage", {
259
+ access: "write",
252
260
  description: "Send a message in an existing Genie conversation",
253
261
  inputSchema: {
254
262
  spaceId: { type: "string", required: true },
@@ -262,6 +270,7 @@ export default function databricks(rl) {
262
270
  },
263
271
  });
264
272
  rl.registerAction("genie.getMessage", {
273
+ access: "read",
265
274
  description: "Get a specific message from a conversation",
266
275
  inputSchema: {
267
276
  spaceId: { type: "string", required: true },
@@ -275,6 +284,7 @@ export default function databricks(rl) {
275
284
  },
276
285
  });
277
286
  rl.registerAction("genie.getQueryResults", {
287
+ access: "read",
278
288
  description: "Get query results from a message attachment",
279
289
  inputSchema: {
280
290
  spaceId: { type: "string", required: true },
@@ -289,6 +299,7 @@ export default function databricks(rl) {
289
299
  },
290
300
  });
291
301
  rl.registerAction("genie.executeMessageQuery", {
302
+ access: "write",
292
303
  description: "Execute a query from a message attachment",
293
304
  inputSchema: {
294
305
  spaceId: { type: "string", required: true },
@@ -303,6 +314,7 @@ export default function databricks(rl) {
303
314
  },
304
315
  });
305
316
  rl.registerAction("genie.getSpace", {
317
+ access: "read",
306
318
  description: "Get a Genie space",
307
319
  inputSchema: { spaceId: { type: "string", required: true } },
308
320
  async execute(input, ctx) {
@@ -312,6 +324,7 @@ export default function databricks(rl) {
312
324
  });
313
325
  // ── Model Serving ───────────────────────────────────
314
326
  rl.registerAction("modelServing.queryEndpoint", {
327
+ access: "write",
315
328
  description: "Query a model serving endpoint",
316
329
  inputSchema: {
317
330
  endpointName: { type: "string", required: true },
@@ -330,6 +343,7 @@ export default function databricks(rl) {
330
343
  });
331
344
  // ── Unity Catalog: Catalogs ─────────────────────────
332
345
  rl.registerAction("catalog.create", {
346
+ access: "write",
333
347
  description: "Create a Unity Catalog catalog",
334
348
  inputSchema: {
335
349
  name: { type: "string", required: true },
@@ -345,6 +359,7 @@ export default function databricks(rl) {
345
359
  },
346
360
  });
347
361
  rl.registerAction("catalog.get", {
362
+ access: "read",
348
363
  description: "Get a catalog",
349
364
  inputSchema: { name: { type: "string", required: true } },
350
365
  async execute(input, ctx) {
@@ -353,6 +368,7 @@ export default function databricks(rl) {
353
368
  },
354
369
  });
355
370
  rl.registerAction("catalog.list", {
371
+ access: "read",
356
372
  description: "List all catalogs",
357
373
  inputSchema: {},
358
374
  async execute(_input, ctx) {
@@ -361,6 +377,7 @@ export default function databricks(rl) {
361
377
  },
362
378
  });
363
379
  rl.registerAction("catalog.update", {
380
+ access: "write",
364
381
  description: "Update a catalog's comment",
365
382
  inputSchema: {
366
383
  name: { type: "string", required: true },
@@ -373,6 +390,7 @@ export default function databricks(rl) {
373
390
  },
374
391
  });
375
392
  rl.registerAction("catalog.delete", {
393
+ access: "write",
376
394
  description: "Delete a catalog",
377
395
  inputSchema: { name: { type: "string", required: true } },
378
396
  async execute(input, ctx) {
@@ -383,6 +401,7 @@ export default function databricks(rl) {
383
401
  });
384
402
  // ── Unity Catalog: Tables ───────────────────────────
385
403
  rl.registerAction("table.create", {
404
+ access: "write",
386
405
  description: "Create an external Delta table",
387
406
  inputSchema: {
388
407
  catalogName: { type: "string", required: true },
@@ -415,6 +434,7 @@ export default function databricks(rl) {
415
434
  },
416
435
  });
417
436
  rl.registerAction("table.get", {
437
+ access: "read",
418
438
  description: "Get table info",
419
439
  inputSchema: {
420
440
  fullName: {
@@ -429,6 +449,7 @@ export default function databricks(rl) {
429
449
  },
430
450
  });
431
451
  rl.registerAction("table.list", {
452
+ access: "read",
432
453
  description: "List tables",
433
454
  inputSchema: {
434
455
  catalogName: { type: "string", required: false },
@@ -446,6 +467,7 @@ export default function databricks(rl) {
446
467
  },
447
468
  });
448
469
  rl.registerAction("table.delete", {
470
+ access: "write",
449
471
  description: "Delete a table",
450
472
  inputSchema: {
451
473
  fullName: {
@@ -462,6 +484,7 @@ export default function databricks(rl) {
462
484
  });
463
485
  // ── Unity Catalog: Volumes ──────────────────────────
464
486
  rl.registerAction("volume.create", {
487
+ access: "write",
465
488
  description: "Create a Unity Catalog volume",
466
489
  inputSchema: {
467
490
  catalogName: { type: "string", required: true },
@@ -498,6 +521,7 @@ export default function databricks(rl) {
498
521
  },
499
522
  });
500
523
  rl.registerAction("volume.get", {
524
+ access: "read",
501
525
  description: "Get a volume",
502
526
  inputSchema: {
503
527
  catalogName: { type: "string", required: true },
@@ -511,6 +535,7 @@ export default function databricks(rl) {
511
535
  },
512
536
  });
513
537
  rl.registerAction("volume.list", {
538
+ access: "read",
514
539
  description: "List volumes",
515
540
  inputSchema: {
516
541
  catalogName: { type: "string", required: false },
@@ -528,6 +553,7 @@ export default function databricks(rl) {
528
553
  },
529
554
  });
530
555
  rl.registerAction("volume.delete", {
556
+ access: "write",
531
557
  description: "Delete a volume",
532
558
  inputSchema: {
533
559
  catalogName: { type: "string", required: true },
@@ -543,6 +569,7 @@ export default function databricks(rl) {
543
569
  });
544
570
  // ── Unity Catalog: Functions ────────────────────────
545
571
  rl.registerAction("function.create", {
572
+ access: "write",
546
573
  description: "Create a Unity Catalog function",
547
574
  inputSchema: {
548
575
  catalogName: { type: "string", required: true },
@@ -601,6 +628,7 @@ export default function databricks(rl) {
601
628
  },
602
629
  });
603
630
  rl.registerAction("function.get", {
631
+ access: "read",
604
632
  description: "Get a function",
605
633
  inputSchema: {
606
634
  fullName: {
@@ -615,6 +643,7 @@ export default function databricks(rl) {
615
643
  },
616
644
  });
617
645
  rl.registerAction("function.list", {
646
+ access: "read",
618
647
  description: "List functions",
619
648
  inputSchema: {
620
649
  catalogName: { type: "string", required: false },
@@ -632,6 +661,7 @@ export default function databricks(rl) {
632
661
  },
633
662
  });
634
663
  rl.registerAction("function.delete", {
664
+ access: "write",
635
665
  description: "Delete a function",
636
666
  inputSchema: {
637
667
  fullName: {
@@ -648,6 +678,7 @@ export default function databricks(rl) {
648
678
  });
649
679
  // ── Vector Search ───────────────────────────────────
650
680
  rl.registerAction("vectorSearch.createIndex", {
681
+ access: "write",
651
682
  description: "Create a vector search index",
652
683
  inputSchema: {
653
684
  indexName: { type: "string", required: true },
@@ -686,6 +717,7 @@ export default function databricks(rl) {
686
717
  },
687
718
  });
688
719
  rl.registerAction("vectorSearch.getIndex", {
720
+ access: "read",
689
721
  description: "Get a vector search index",
690
722
  inputSchema: { indexName: { type: "string", required: true } },
691
723
  async execute(input, ctx) {
@@ -694,6 +726,7 @@ export default function databricks(rl) {
694
726
  },
695
727
  });
696
728
  rl.registerAction("vectorSearch.listIndexes", {
729
+ access: "read",
697
730
  description: "List vector search indexes for an endpoint",
698
731
  inputSchema: { endpointName: { type: "string", required: true } },
699
732
  async execute(input, ctx) {
@@ -705,6 +738,7 @@ export default function databricks(rl) {
705
738
  },
706
739
  });
707
740
  rl.registerAction("vectorSearch.queryIndex", {
741
+ access: "read",
708
742
  description: "Query a vector search index",
709
743
  inputSchema: {
710
744
  indexName: { type: "string", required: true },
@@ -54,6 +54,7 @@ export default function deepl(rl) {
54
54
  },
55
55
  });
56
56
  rl.registerAction("language.translate", {
57
+ access: "write",
57
58
  description: "Translate text to a target language",
58
59
  inputSchema: {
59
60
  text: {
@@ -90,6 +91,7 @@ export default function deepl(rl) {
90
91
  },
91
92
  });
92
93
  rl.registerAction("language.list", {
94
+ access: "read",
93
95
  description: "List available target languages",
94
96
  inputSchema: {
95
97
  type: {
@@ -50,6 +50,7 @@ export default function demio(rl) {
50
50
  },
51
51
  });
52
52
  rl.registerAction("event.get", {
53
+ access: "read",
53
54
  description: "Get an event (optionally a specific session/date)",
54
55
  inputSchema: {
55
56
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -69,6 +70,7 @@ export default function demio(rl) {
69
70
  },
70
71
  });
71
72
  rl.registerAction("event.list", {
73
+ access: "read",
72
74
  description: "List events",
73
75
  inputSchema: {
74
76
  type: {
@@ -91,6 +93,7 @@ export default function demio(rl) {
91
93
  },
92
94
  });
93
95
  rl.registerAction("event.register", {
96
+ access: "write",
94
97
  description: "Register a person for an event",
95
98
  inputSchema: {
96
99
  eventId: { type: "string", required: true, description: "Event ID" },
@@ -130,6 +133,7 @@ export default function demio(rl) {
130
133
  },
131
134
  });
132
135
  rl.registerAction("report.getParticipants", {
136
+ access: "read",
133
137
  description: "Get participants report for a session",
134
138
  inputSchema: {
135
139
  dateId: {
@@ -27,6 +27,7 @@ export default function dhl(rl) {
27
27
  },
28
28
  });
29
29
  rl.registerAction("shipment.track", {
30
+ access: "read",
30
31
  description: "Get tracking details for a shipment",
31
32
  inputSchema: {
32
33
  trackingNumber: {
@@ -52,6 +52,7 @@ export default function discord(rl) {
52
52
  });
53
53
  // ── Channel ─────────────────────────────────────────
54
54
  rl.registerAction("channel.create", {
55
+ access: "write",
55
56
  description: "Create a channel in the guild",
56
57
  inputSchema: {
57
58
  name: { type: "string", required: true, description: "Channel name" },
@@ -114,6 +115,7 @@ export default function discord(rl) {
114
115
  },
115
116
  });
116
117
  rl.registerAction("channel.get", {
118
+ access: "read",
117
119
  description: "Get a channel by ID",
118
120
  inputSchema: {
119
121
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -124,6 +126,7 @@ export default function discord(rl) {
124
126
  },
125
127
  });
126
128
  rl.registerAction("channel.list", {
129
+ access: "read",
127
130
  description: "List all channels in the guild",
128
131
  inputSchema: {
129
132
  limit: { type: "number", required: false, description: "Max results" },
@@ -146,6 +149,7 @@ export default function discord(rl) {
146
149
  },
147
150
  });
148
151
  rl.registerAction("channel.update", {
152
+ access: "write",
149
153
  description: "Update a channel",
150
154
  inputSchema: {
151
155
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -202,6 +206,7 @@ export default function discord(rl) {
202
206
  },
203
207
  });
204
208
  rl.registerAction("channel.delete", {
209
+ access: "write",
205
210
  description: "Delete a channel",
206
211
  inputSchema: {
207
212
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -213,6 +218,7 @@ export default function discord(rl) {
213
218
  });
214
219
  // ── Member ──────────────────────────────────────────
215
220
  rl.registerAction("member.list", {
221
+ access: "read",
216
222
  description: "List members in the guild",
217
223
  inputSchema: {
218
224
  limit: {
@@ -238,6 +244,7 @@ export default function discord(rl) {
238
244
  },
239
245
  });
240
246
  rl.registerAction("member.addRole", {
247
+ access: "write",
241
248
  description: "Add a role to a guild member",
242
249
  inputSchema: {
243
250
  userId: { type: "string", required: true, description: "User ID" },
@@ -251,6 +258,7 @@ export default function discord(rl) {
251
258
  },
252
259
  });
253
260
  rl.registerAction("member.removeRole", {
261
+ access: "write",
254
262
  description: "Remove a role from a guild member",
255
263
  inputSchema: {
256
264
  userId: { type: "string", required: true, description: "User ID" },
@@ -265,6 +273,7 @@ export default function discord(rl) {
265
273
  });
266
274
  // ── Message ─────────────────────────────────────────
267
275
  rl.registerAction("message.send", {
276
+ access: "write",
268
277
  description: "Send a message to a channel",
269
278
  inputSchema: {
270
279
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -299,6 +308,7 @@ export default function discord(rl) {
299
308
  },
300
309
  });
301
310
  rl.registerAction("message.get", {
311
+ access: "read",
302
312
  description: "Get a message by ID",
303
313
  inputSchema: {
304
314
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -311,6 +321,7 @@ export default function discord(rl) {
311
321
  },
312
322
  });
313
323
  rl.registerAction("message.list", {
324
+ access: "read",
314
325
  description: "List messages in a channel",
315
326
  inputSchema: {
316
327
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -352,6 +363,7 @@ export default function discord(rl) {
352
363
  },
353
364
  });
354
365
  rl.registerAction("message.delete", {
366
+ access: "write",
355
367
  description: "Delete a message",
356
368
  inputSchema: {
357
369
  channelId: { type: "string", required: true, description: "Channel ID" },
@@ -365,6 +377,7 @@ export default function discord(rl) {
365
377
  },
366
378
  });
367
379
  rl.registerAction("message.react", {
380
+ access: "write",
368
381
  description: "Add a reaction to a message",
369
382
  inputSchema: {
370
383
  channelId: { type: "string", required: true, description: "Channel ID" },