runline 0.11.5 → 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 (253) 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/index.js +15 -0
  193. package/dist/plugins/shiftLabs/src/issues.js +74 -0
  194. package/dist/plugins/shiftLabs/src/pages.js +148 -0
  195. package/dist/plugins/shiftLabs/src/shared.js +69 -0
  196. package/dist/plugins/shopify/src/index.js +10 -0
  197. package/dist/plugins/signl4/src/index.js +2 -0
  198. package/dist/plugins/slack/src/index.js +38 -0
  199. package/dist/plugins/sms77/src/index.js +2 -0
  200. package/dist/plugins/splunk/src/index.js +16 -0
  201. package/dist/plugins/spotify/src/index.js +30 -0
  202. package/dist/plugins/stackby/src/index.js +4 -0
  203. package/dist/plugins/steel/src/browser.js +7 -0
  204. package/dist/plugins/steel/src/captchas.js +3 -0
  205. package/dist/plugins/steel/src/credentials.js +4 -0
  206. package/dist/plugins/steel/src/extensions.js +5 -0
  207. package/dist/plugins/steel/src/files.js +10 -0
  208. package/dist/plugins/steel/src/profiles.js +4 -0
  209. package/dist/plugins/steel/src/sessions.js +11 -0
  210. package/dist/plugins/storyblok/src/index.js +7 -0
  211. package/dist/plugins/strapi/src/index.js +5 -0
  212. package/dist/plugins/strava/src/index.js +6 -0
  213. package/dist/plugins/stripe/src/index.js +20 -0
  214. package/dist/plugins/supabase/src/index.js +5 -0
  215. package/dist/plugins/syncromsp/src/index.js +20 -0
  216. package/dist/plugins/tapfiliate/src/index.js +11 -0
  217. package/dist/plugins/telegram/src/index.js +21 -0
  218. package/dist/plugins/thehive/src/index.js +23 -0
  219. package/dist/plugins/thehiveProject/src/index.js +31 -0
  220. package/dist/plugins/todoist/src/index.js +31 -0
  221. package/dist/plugins/together/src/index.js +1 -0
  222. package/dist/plugins/travisci/src/index.js +5 -0
  223. package/dist/plugins/trello/src/index.js +37 -0
  224. package/dist/plugins/twake/src/index.js +1 -0
  225. package/dist/plugins/twilio/src/index.js +2 -0
  226. package/dist/plugins/twist/src/index.js +22 -0
  227. package/dist/plugins/twitter/src/index.js +8 -0
  228. package/dist/plugins/unleashedSoftware/src/index.js +3 -0
  229. package/dist/plugins/uplead/src/index.js +2 -0
  230. package/dist/plugins/uproc/src/index.js +1 -0
  231. package/dist/plugins/uptimerobot/src/index.js +22 -0
  232. package/dist/plugins/urlscanio/src/index.js +3 -0
  233. package/dist/plugins/vercel/src/account.js +1 -0
  234. package/dist/plugins/vercel/src/deployments.js +5 -0
  235. package/dist/plugins/vercel/src/env.js +4 -0
  236. package/dist/plugins/vercel/src/projects.js +2 -0
  237. package/dist/plugins/vercel/src/shared.js +1 -0
  238. package/dist/plugins/vero/src/index.js +6 -0
  239. package/dist/plugins/vonage/src/index.js +1 -0
  240. package/dist/plugins/wekan/src/index.js +24 -0
  241. package/dist/plugins/woocommerce/src/index.js +5 -0
  242. package/dist/plugins/wordpress/src/index.js +10 -0
  243. package/dist/plugins/xai/src/index.js +1 -0
  244. package/dist/plugins/xero/src/index.js +8 -0
  245. package/dist/plugins/yourls/src/index.js +3 -0
  246. package/dist/plugins/zammad/src/index.js +12 -0
  247. package/dist/plugins/zendesk/src/index.js +18 -0
  248. package/dist/plugins/zoho/src/index.js +6 -0
  249. package/dist/plugins/zoom/src/index.js +5 -0
  250. package/dist/plugins/zulip/src/index.js +15 -0
  251. package/dist/sdk.d.ts +2 -1
  252. package/dist/sdk.js +1 -0
  253. package/package.json +1 -1
@@ -78,6 +78,7 @@ export default function mautic(rl) {
78
78
  };
79
79
  // ── Company ─────────────────────────────────────────
80
80
  rl.registerAction("company.create", {
81
+ access: "write",
81
82
  description: "Create a company",
82
83
  inputSchema: {
83
84
  companyname: { type: "string", required: true },
@@ -97,6 +98,7 @@ export default function mautic(rl) {
97
98
  },
98
99
  });
99
100
  rl.registerAction("company.update", {
101
+ access: "write",
100
102
  description: "Update a company",
101
103
  inputSchema: {
102
104
  companyId: { type: "string", required: true },
@@ -113,6 +115,7 @@ export default function mautic(rl) {
113
115
  },
114
116
  });
115
117
  rl.registerAction("company.get", {
118
+ access: "read",
116
119
  description: "Get a company by ID",
117
120
  inputSchema: { companyId: { type: "string", required: true } },
118
121
  async execute(input, ctx) {
@@ -121,6 +124,7 @@ export default function mautic(rl) {
121
124
  },
122
125
  });
123
126
  rl.registerAction("company.list", {
127
+ access: "read",
124
128
  description: "List companies",
125
129
  inputSchema: {
126
130
  limit: { type: "number", required: false },
@@ -151,6 +155,7 @@ export default function mautic(rl) {
151
155
  },
152
156
  });
153
157
  rl.registerAction("company.delete", {
158
+ access: "write",
154
159
  description: "Delete a company",
155
160
  inputSchema: { companyId: { type: "string", required: true } },
156
161
  async execute(input, ctx) {
@@ -160,6 +165,7 @@ export default function mautic(rl) {
160
165
  });
161
166
  // ── Contact ─────────────────────────────────────────
162
167
  rl.registerAction("contact.create", {
168
+ access: "write",
163
169
  description: "Create a contact",
164
170
  inputSchema: {
165
171
  email: { type: "string", required: false },
@@ -199,6 +205,7 @@ export default function mautic(rl) {
199
205
  },
200
206
  });
201
207
  rl.registerAction("contact.update", {
208
+ access: "write",
202
209
  description: "Update a contact",
203
210
  inputSchema: {
204
211
  contactId: { type: "string", required: true },
@@ -215,6 +222,7 @@ export default function mautic(rl) {
215
222
  },
216
223
  });
217
224
  rl.registerAction("contact.get", {
225
+ access: "read",
218
226
  description: "Get a contact by ID",
219
227
  inputSchema: { contactId: { type: "string", required: true } },
220
228
  async execute(input, ctx) {
@@ -223,6 +231,7 @@ export default function mautic(rl) {
223
231
  },
224
232
  });
225
233
  rl.registerAction("contact.list", {
234
+ access: "read",
226
235
  description: "List contacts",
227
236
  inputSchema: {
228
237
  limit: { type: "number", required: false },
@@ -257,6 +266,7 @@ export default function mautic(rl) {
257
266
  },
258
267
  });
259
268
  rl.registerAction("contact.delete", {
269
+ access: "write",
260
270
  description: "Delete a contact",
261
271
  inputSchema: { contactId: { type: "string", required: true } },
262
272
  async execute(input, ctx) {
@@ -265,6 +275,7 @@ export default function mautic(rl) {
265
275
  },
266
276
  });
267
277
  rl.registerAction("contact.sendEmail", {
278
+ access: "write",
268
279
  description: "Send a campaign/template email to a contact",
269
280
  inputSchema: {
270
281
  contactId: { type: "string", required: true },
@@ -280,6 +291,7 @@ export default function mautic(rl) {
280
291
  },
281
292
  });
282
293
  rl.registerAction("contact.editDoNotContact", {
294
+ access: "write",
283
295
  description: "Add or remove a contact from the Do Not Contact list",
284
296
  inputSchema: {
285
297
  contactId: { type: "string", required: true },
@@ -312,6 +324,7 @@ export default function mautic(rl) {
312
324
  },
313
325
  });
314
326
  rl.registerAction("contact.editPoints", {
327
+ access: "write",
315
328
  description: "Add or subtract points from a contact",
316
329
  inputSchema: {
317
330
  contactId: { type: "string", required: true },
@@ -330,6 +343,7 @@ export default function mautic(rl) {
330
343
  });
331
344
  // ── Contact Segment ─────────────────────────────────
332
345
  rl.registerAction("contactSegment.add", {
346
+ access: "write",
333
347
  description: "Add a contact to a segment",
334
348
  inputSchema: {
335
349
  segmentId: { type: "string", required: true },
@@ -341,6 +355,7 @@ export default function mautic(rl) {
341
355
  },
342
356
  });
343
357
  rl.registerAction("contactSegment.remove", {
358
+ access: "write",
344
359
  description: "Remove a contact from a segment",
345
360
  inputSchema: {
346
361
  segmentId: { type: "string", required: true },
@@ -353,6 +368,7 @@ export default function mautic(rl) {
353
368
  });
354
369
  // ── Campaign Contact ────────────────────────────────
355
370
  rl.registerAction("campaignContact.add", {
371
+ access: "write",
356
372
  description: "Add a contact to a campaign",
357
373
  inputSchema: {
358
374
  campaignId: { type: "string", required: true },
@@ -364,6 +380,7 @@ export default function mautic(rl) {
364
380
  },
365
381
  });
366
382
  rl.registerAction("campaignContact.remove", {
383
+ access: "write",
367
384
  description: "Remove a contact from a campaign",
368
385
  inputSchema: {
369
386
  campaignId: { type: "string", required: true },
@@ -376,6 +393,7 @@ export default function mautic(rl) {
376
393
  });
377
394
  // ── Company Contact ─────────────────────────────────
378
395
  rl.registerAction("companyContact.add", {
396
+ access: "write",
379
397
  description: "Add a contact to a company",
380
398
  inputSchema: {
381
399
  companyId: { type: "string", required: true },
@@ -387,6 +405,7 @@ export default function mautic(rl) {
387
405
  },
388
406
  });
389
407
  rl.registerAction("companyContact.remove", {
408
+ access: "write",
390
409
  description: "Remove a contact from a company",
391
410
  inputSchema: {
392
411
  companyId: { type: "string", required: true },
@@ -399,6 +418,7 @@ export default function mautic(rl) {
399
418
  });
400
419
  // ── Segment Email ───────────────────────────────────
401
420
  rl.registerAction("segmentEmail.send", {
421
+ access: "write",
402
422
  description: "Send a segment (list) email",
403
423
  inputSchema: {
404
424
  emailId: {
@@ -29,6 +29,7 @@ export default function medium(rl) {
29
29
  });
30
30
  const tok = (ctx) => ctx.connection.config.accessToken;
31
31
  rl.registerAction("post.create", {
32
+ access: "write",
32
33
  description: "Create a post on Medium. Posts under the authenticated user by default, or under a publication if publicationId is provided.",
33
34
  inputSchema: {
34
35
  title: {
@@ -105,6 +106,7 @@ export default function medium(rl) {
105
106
  },
106
107
  });
107
108
  rl.registerAction("publication.list", {
109
+ access: "read",
108
110
  description: "List publications for the authenticated user",
109
111
  inputSchema: { limit: { type: "number", required: false } },
110
112
  async execute(input, ctx) {
@@ -119,6 +121,7 @@ export default function medium(rl) {
119
121
  },
120
122
  });
121
123
  rl.registerAction("me", {
124
+ access: "read",
122
125
  description: "Get the authenticated user's profile",
123
126
  async execute(_input, ctx) {
124
127
  const resp = (await apiRequest(tok(ctx), "GET", "/me"));
@@ -28,6 +28,7 @@ export default function messagebird(rl) {
28
28
  });
29
29
  const key = (ctx) => ctx.connection.config.accessKey;
30
30
  rl.registerAction("sms.send", {
31
+ access: "write",
31
32
  description: "Send an SMS message",
32
33
  inputSchema: {
33
34
  originator: {
@@ -114,6 +115,7 @@ export default function messagebird(rl) {
114
115
  },
115
116
  });
116
117
  rl.registerAction("balance.get", {
118
+ access: "read",
117
119
  description: "Get current account balance",
118
120
  async execute(_input, ctx) {
119
121
  return apiRequest(key(ctx), "GET", "/balance");
@@ -39,6 +39,7 @@ export default function metabase(rl) {
39
39
  });
40
40
  // ── Question (Card) ─────────────────────────────────
41
41
  rl.registerAction("question.get", {
42
+ access: "read",
42
43
  description: "Get a specific question/card",
43
44
  inputSchema: { questionId: { type: "number", required: true } },
44
45
  async execute(input, ctx) {
@@ -47,6 +48,7 @@ export default function metabase(rl) {
47
48
  },
48
49
  });
49
50
  rl.registerAction("question.list", {
51
+ access: "read",
50
52
  description: "List all questions/cards",
51
53
  async execute(_input, ctx) {
52
54
  const { baseUrl, token } = conn(ctx);
@@ -54,6 +56,7 @@ export default function metabase(rl) {
54
56
  },
55
57
  });
56
58
  rl.registerAction("question.getResults", {
59
+ access: "read",
57
60
  description: "Get the results of a question as JSON",
58
61
  inputSchema: {
59
62
  questionId: { type: "number", required: true },
@@ -71,6 +74,7 @@ export default function metabase(rl) {
71
74
  });
72
75
  // ── Alert ───────────────────────────────────────────
73
76
  rl.registerAction("alert.get", {
77
+ access: "read",
74
78
  description: "Get a specific alert",
75
79
  inputSchema: { alertId: { type: "number", required: true } },
76
80
  async execute(input, ctx) {
@@ -79,6 +83,7 @@ export default function metabase(rl) {
79
83
  },
80
84
  });
81
85
  rl.registerAction("alert.list", {
86
+ access: "read",
82
87
  description: "List all alerts",
83
88
  async execute(_input, ctx) {
84
89
  const { baseUrl, token } = conn(ctx);
@@ -87,6 +92,7 @@ export default function metabase(rl) {
87
92
  });
88
93
  // ── Database ────────────────────────────────────────
89
94
  rl.registerAction("database.list", {
95
+ access: "read",
90
96
  description: "List all databases",
91
97
  async execute(_input, ctx) {
92
98
  const { baseUrl, token } = conn(ctx);
@@ -95,6 +101,7 @@ export default function metabase(rl) {
95
101
  },
96
102
  });
97
103
  rl.registerAction("database.getFields", {
104
+ access: "read",
98
105
  description: "Get fields from a database",
99
106
  inputSchema: { databaseId: { type: "number", required: true } },
100
107
  async execute(input, ctx) {
@@ -103,6 +110,7 @@ export default function metabase(rl) {
103
110
  },
104
111
  });
105
112
  rl.registerAction("database.add", {
113
+ access: "write",
106
114
  description: "Add a new database/datasource",
107
115
  inputSchema: {
108
116
  name: { type: "string", required: true, description: "Display name" },
@@ -158,6 +166,7 @@ export default function metabase(rl) {
158
166
  });
159
167
  // ── Metric ──────────────────────────────────────────
160
168
  rl.registerAction("metric.get", {
169
+ access: "read",
161
170
  description: "Get a specific metric",
162
171
  inputSchema: { metricId: { type: "number", required: true } },
163
172
  async execute(input, ctx) {
@@ -166,6 +175,7 @@ export default function metabase(rl) {
166
175
  },
167
176
  });
168
177
  rl.registerAction("metric.list", {
178
+ access: "read",
169
179
  description: "List all metrics",
170
180
  async execute(_input, ctx) {
171
181
  const { baseUrl, token } = conn(ctx);
@@ -18,6 +18,7 @@ export default function microsoftCalendar(rl) {
18
18
  setupHelp: microsoftSetupHelp("Calendars.Read"),
19
19
  });
20
20
  rl.registerAction("calendar.list", {
21
+ access: "read",
21
22
  description: "List calendar events in a date range. Returns [{id,subject,start,end,location,organizer,attendees}].",
22
23
  inputSchema: {
23
24
  start: { type: "string", required: true, description: "ISO start datetime, e.g. 2026-05-01T00:00:00Z" },
@@ -37,6 +38,7 @@ export default function microsoftCalendar(rl) {
37
38
  },
38
39
  });
39
40
  rl.registerAction("event.get", {
41
+ access: "read",
40
42
  description: "Get one calendar event by id (full details incl. body).",
41
43
  inputSchema: { id: { type: "string", required: true } },
42
44
  async execute(input, ctx) {
@@ -45,6 +45,7 @@ export default function microsoftFiles(rl) {
45
45
  setupHelp: microsoftSetupHelp("Files.ReadWrite.All, Sites.ReadWrite.All"),
46
46
  });
47
47
  rl.registerAction("files.search", {
48
+ access: "read",
48
49
  description: "Search the drive for files/folders by text. Returns [{id,name,size,lastModifiedDateTime,webUrl,folder?}].",
49
50
  inputSchema: {
50
51
  query: { type: "string", required: true },
@@ -61,6 +62,7 @@ export default function microsoftFiles(rl) {
61
62
  },
62
63
  });
63
64
  rl.registerAction("files.list", {
65
+ access: "read",
64
66
  description: "List children of a folder (default the drive root, or pass folderId).",
65
67
  inputSchema: {
66
68
  folderId: { type: "string", required: false, description: "Folder item id; omit for root" },
@@ -77,6 +79,7 @@ export default function microsoftFiles(rl) {
77
79
  },
78
80
  });
79
81
  rl.registerAction("files.get", {
82
+ access: "read",
80
83
  description: "Download a file by id. Returns {id,name,size,contentType,base64}. base64 is the file bytes.",
81
84
  inputSchema: { id: { type: "string", required: true } },
82
85
  async execute(input, ctx) {
@@ -95,6 +98,7 @@ export default function microsoftFiles(rl) {
95
98
  },
96
99
  });
97
100
  rl.registerAction("files.upload", {
101
+ access: "write",
98
102
  description: "Upload a file (base64) to a path in the drive, e.g. a dedicated output folder. Returns the created item. For files up to ~4MB.",
99
103
  inputSchema: {
100
104
  path: { type: "string", required: true, description: "Drive-relative path incl. filename, e.g. 'Agent Output/report.docx'" },
@@ -110,6 +114,7 @@ export default function microsoftFiles(rl) {
110
114
  },
111
115
  });
112
116
  rl.registerAction("folder.create", {
117
+ access: "write",
113
118
  description: "Create a folder (e.g. a dedicated agent output folder) under the drive root or a parent.",
114
119
  inputSchema: {
115
120
  name: { type: "string", required: true },
@@ -33,6 +33,7 @@ export default function microsoftMail(rl) {
33
33
  setupHelp: microsoftSetupHelp("Mail.Send, Mail.ReadWrite, Mail.Read"),
34
34
  });
35
35
  rl.registerAction("mail.send", {
36
+ access: "write",
36
37
  description: "Send an email as the connected mailbox. Returns {success}. Get user approval before sending external mail.",
37
38
  inputSchema: {
38
39
  to: { type: "array", required: true, description: "Recipient address(es)" },
@@ -50,6 +51,7 @@ export default function microsoftMail(rl) {
50
51
  },
51
52
  });
52
53
  rl.registerAction("mail.draft", {
54
+ access: "write",
53
55
  description: "Create a draft email (not sent). Returns {id, webLink}.",
54
56
  inputSchema: {
55
57
  to: { type: "array", required: false },
@@ -64,6 +66,7 @@ export default function microsoftMail(rl) {
64
66
  },
65
67
  });
66
68
  rl.registerAction("mail.list", {
69
+ access: "read",
67
70
  description: "List recent messages. Optional KQL search. Returns [{id,subject,from,receivedDateTime,bodyPreview,hasAttachments}].",
68
71
  inputSchema: {
69
72
  search: { type: "string", required: false, description: "KQL search across the mailbox" },
@@ -82,6 +85,7 @@ export default function microsoftMail(rl) {
82
85
  },
83
86
  });
84
87
  rl.registerAction("mail.get", {
88
+ access: "read",
85
89
  description: "Get one message with full body by id.",
86
90
  inputSchema: { id: { type: "string", required: true } },
87
91
  async execute(input, ctx) {