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
@@ -34,6 +34,7 @@ export default function lonescale(rl) {
34
34
  });
35
35
  const key = (ctx) => ctx.connection.config.apiKey;
36
36
  rl.registerAction("list.create", {
37
+ access: "write",
37
38
  description: "Create a new list",
38
39
  inputSchema: {
39
40
  name: { type: "string", required: true, description: "List name" },
@@ -49,6 +50,7 @@ export default function lonescale(rl) {
49
50
  },
50
51
  });
51
52
  rl.registerAction("list.list", {
53
+ access: "read",
52
54
  description: "List all lists, optionally filtered by entity type",
53
55
  inputSchema: {
54
56
  entity: {
@@ -66,6 +68,7 @@ export default function lonescale(rl) {
66
68
  },
67
69
  });
68
70
  rl.registerAction("item.addPerson", {
71
+ access: "write",
69
72
  description: "Add a person (contact) to a list",
70
73
  inputSchema: {
71
74
  listId: { type: "string", required: true, description: "List ID" },
@@ -115,6 +118,7 @@ export default function lonescale(rl) {
115
118
  },
116
119
  });
117
120
  rl.registerAction("item.addCompany", {
121
+ access: "write",
118
122
  description: "Add a company to a list",
119
123
  inputSchema: {
120
124
  listId: { type: "string", required: true, description: "List ID" },
@@ -87,6 +87,7 @@ export default function magento(rl) {
87
87
  });
88
88
  // ── Customer ────────────────────────────────────────
89
89
  rl.registerAction("customer.create", {
90
+ access: "write",
90
91
  description: "Create a customer",
91
92
  inputSchema: {
92
93
  email: { type: "string", required: true },
@@ -130,6 +131,7 @@ export default function magento(rl) {
130
131
  },
131
132
  });
132
133
  rl.registerAction("customer.get", {
134
+ access: "read",
133
135
  description: "Get a customer by ID",
134
136
  inputSchema: { customerId: { type: "number", required: true } },
135
137
  async execute(input, ctx) {
@@ -138,6 +140,7 @@ export default function magento(rl) {
138
140
  },
139
141
  });
140
142
  rl.registerAction("customer.list", {
143
+ access: "read",
141
144
  description: "Search/list customers using Magento search_criteria",
142
145
  inputSchema: {
143
146
  searchCriteria: {
@@ -166,6 +169,7 @@ export default function magento(rl) {
166
169
  },
167
170
  });
168
171
  rl.registerAction("customer.update", {
172
+ access: "write",
169
173
  description: "Update a customer",
170
174
  inputSchema: {
171
175
  customerId: { type: "number", required: true },
@@ -204,6 +208,7 @@ export default function magento(rl) {
204
208
  },
205
209
  });
206
210
  rl.registerAction("customer.delete", {
211
+ access: "write",
207
212
  description: "Delete a customer",
208
213
  inputSchema: { customerId: { type: "number", required: true } },
209
214
  async execute(input, ctx) {
@@ -214,6 +219,7 @@ export default function magento(rl) {
214
219
  });
215
220
  // ── Invoice ─────────────────────────────────────────
216
221
  rl.registerAction("invoice.create", {
222
+ access: "write",
217
223
  description: "Create an invoice for an order",
218
224
  inputSchema: { orderId: { type: "number", required: true } },
219
225
  async execute(input, ctx) {
@@ -224,6 +230,7 @@ export default function magento(rl) {
224
230
  });
225
231
  // ── Order ───────────────────────────────────────────
226
232
  rl.registerAction("order.get", {
233
+ access: "read",
227
234
  description: "Get an order by ID",
228
235
  inputSchema: { orderId: { type: "number", required: true } },
229
236
  async execute(input, ctx) {
@@ -232,6 +239,7 @@ export default function magento(rl) {
232
239
  },
233
240
  });
234
241
  rl.registerAction("order.list", {
242
+ access: "read",
235
243
  description: "Search/list orders",
236
244
  inputSchema: {
237
245
  searchCriteria: {
@@ -256,6 +264,7 @@ export default function magento(rl) {
256
264
  },
257
265
  });
258
266
  rl.registerAction("order.cancel", {
267
+ access: "write",
259
268
  description: "Cancel an order",
260
269
  inputSchema: { orderId: { type: "number", required: true } },
261
270
  async execute(input, ctx) {
@@ -265,6 +274,7 @@ export default function magento(rl) {
265
274
  },
266
275
  });
267
276
  rl.registerAction("order.ship", {
277
+ access: "write",
268
278
  description: "Ship an order",
269
279
  inputSchema: { orderId: { type: "number", required: true } },
270
280
  async execute(input, ctx) {
@@ -275,6 +285,7 @@ export default function magento(rl) {
275
285
  });
276
286
  // ── Product ─────────────────────────────────────────
277
287
  rl.registerAction("product.create", {
288
+ access: "write",
278
289
  description: "Create a product",
279
290
  inputSchema: {
280
291
  sku: { type: "string", required: true },
@@ -311,6 +322,7 @@ export default function magento(rl) {
311
322
  },
312
323
  });
313
324
  rl.registerAction("product.get", {
325
+ access: "read",
314
326
  description: "Get a product by SKU",
315
327
  inputSchema: { sku: { type: "string", required: true } },
316
328
  async execute(input, ctx) {
@@ -319,6 +331,7 @@ export default function magento(rl) {
319
331
  },
320
332
  });
321
333
  rl.registerAction("product.list", {
334
+ access: "read",
322
335
  description: "Search/list products",
323
336
  inputSchema: {
324
337
  searchCriteria: { type: "object", required: false },
@@ -339,6 +352,7 @@ export default function magento(rl) {
339
352
  },
340
353
  });
341
354
  rl.registerAction("product.update", {
355
+ access: "write",
342
356
  description: "Update a product by SKU",
343
357
  inputSchema: {
344
358
  sku: { type: "string", required: true },
@@ -360,6 +374,7 @@ export default function magento(rl) {
360
374
  },
361
375
  });
362
376
  rl.registerAction("product.delete", {
377
+ access: "write",
363
378
  description: "Delete a product by SKU",
364
379
  inputSchema: { sku: { type: "string", required: true } },
365
380
  async execute(input, ctx) {
@@ -10,6 +10,7 @@ export default function mailcheck(rl) {
10
10
  },
11
11
  });
12
12
  rl.registerAction("email.check", {
13
+ access: "write",
13
14
  description: "Verify an email address",
14
15
  inputSchema: {
15
16
  email: {
@@ -43,6 +43,7 @@ export default function mailchimp(rl) {
43
43
  const key = (ctx) => ctx.connection.config.apiKey;
44
44
  // ── Member ──────────────────────────────────────────
45
45
  rl.registerAction("member.create", {
46
+ access: "write",
46
47
  description: "Add a member to a list/audience",
47
48
  inputSchema: {
48
49
  listId: {
@@ -128,6 +129,7 @@ export default function mailchimp(rl) {
128
129
  },
129
130
  });
130
131
  rl.registerAction("member.get", {
132
+ access: "read",
131
133
  description: "Get a list member by email (used directly as subscriber hash)",
132
134
  inputSchema: {
133
135
  listId: { type: "string", required: true },
@@ -158,6 +160,7 @@ export default function mailchimp(rl) {
158
160
  },
159
161
  });
160
162
  rl.registerAction("member.list", {
163
+ access: "read",
161
164
  description: "List members in a list/audience",
162
165
  inputSchema: {
163
166
  listId: { type: "string", required: true },
@@ -215,6 +218,7 @@ export default function mailchimp(rl) {
215
218
  },
216
219
  });
217
220
  rl.registerAction("member.update", {
221
+ access: "write",
218
222
  description: "Update a list member (PUT — full replace)",
219
223
  inputSchema: {
220
224
  listId: { type: "string", required: true },
@@ -268,6 +272,7 @@ export default function mailchimp(rl) {
268
272
  },
269
273
  });
270
274
  rl.registerAction("member.delete", {
275
+ access: "write",
271
276
  description: "Permanently delete a list member",
272
277
  inputSchema: {
273
278
  listId: { type: "string", required: true },
@@ -281,6 +286,7 @@ export default function mailchimp(rl) {
281
286
  });
282
287
  // ── Member Tag ──────────────────────────────────────
283
288
  rl.registerAction("memberTag.add", {
289
+ access: "write",
284
290
  description: "Add tags to a member",
285
291
  inputSchema: {
286
292
  listId: { type: "string", required: true },
@@ -308,6 +314,7 @@ export default function mailchimp(rl) {
308
314
  },
309
315
  });
310
316
  rl.registerAction("memberTag.remove", {
317
+ access: "write",
311
318
  description: "Remove tags from a member",
312
319
  inputSchema: {
313
320
  listId: { type: "string", required: true },
@@ -332,6 +339,7 @@ export default function mailchimp(rl) {
332
339
  });
333
340
  // ── List Group ──────────────────────────────────────
334
341
  rl.registerAction("listGroup.list", {
342
+ access: "read",
335
343
  description: "List interests in a specific interest category for a list",
336
344
  inputSchema: {
337
345
  listId: { type: "string", required: true },
@@ -353,6 +361,7 @@ export default function mailchimp(rl) {
353
361
  });
354
362
  // ── Campaign ────────────────────────────────────────
355
363
  rl.registerAction("campaign.get", {
364
+ access: "read",
356
365
  description: "Get a campaign",
357
366
  inputSchema: { campaignId: { type: "string", required: true } },
358
367
  async execute(input, ctx) {
@@ -360,6 +369,7 @@ export default function mailchimp(rl) {
360
369
  },
361
370
  });
362
371
  rl.registerAction("campaign.list", {
372
+ access: "read",
363
373
  description: "List campaigns",
364
374
  inputSchema: {
365
375
  count: { type: "number", required: false, description: "Max results" },
@@ -440,6 +450,7 @@ export default function mailchimp(rl) {
440
450
  },
441
451
  });
442
452
  rl.registerAction("campaign.send", {
453
+ access: "write",
443
454
  description: "Send a campaign",
444
455
  inputSchema: { campaignId: { type: "string", required: true } },
445
456
  async execute(input, ctx) {
@@ -448,6 +459,7 @@ export default function mailchimp(rl) {
448
459
  },
449
460
  });
450
461
  rl.registerAction("campaign.replicate", {
462
+ access: "write",
451
463
  description: "Replicate a campaign",
452
464
  inputSchema: { campaignId: { type: "string", required: true } },
453
465
  async execute(input, ctx) {
@@ -455,6 +467,7 @@ export default function mailchimp(rl) {
455
467
  },
456
468
  });
457
469
  rl.registerAction("campaign.resend", {
470
+ access: "write",
458
471
  description: "Create a resend to non-openers",
459
472
  inputSchema: { campaignId: { type: "string", required: true } },
460
473
  async execute(input, ctx) {
@@ -462,6 +475,7 @@ export default function mailchimp(rl) {
462
475
  },
463
476
  });
464
477
  rl.registerAction("campaign.delete", {
478
+ access: "write",
465
479
  description: "Delete a campaign",
466
480
  inputSchema: { campaignId: { type: "string", required: true } },
467
481
  async execute(input, ctx) {
@@ -56,6 +56,7 @@ export default function mailerlite(rl) {
56
56
  });
57
57
  const tok = (ctx) => ctx.connection.config.apiKey;
58
58
  rl.registerAction("subscriber.create", {
59
+ access: "write",
59
60
  description: "Create a subscriber",
60
61
  inputSchema: {
61
62
  email: { type: "string", required: true },
@@ -97,6 +98,7 @@ export default function mailerlite(rl) {
97
98
  },
98
99
  });
99
100
  rl.registerAction("subscriber.get", {
101
+ access: "read",
100
102
  description: "Get a subscriber by ID or email",
101
103
  inputSchema: {
102
104
  subscriberId: {
@@ -111,6 +113,7 @@ export default function mailerlite(rl) {
111
113
  },
112
114
  });
113
115
  rl.registerAction("subscriber.list", {
116
+ access: "read",
114
117
  description: "List subscribers",
115
118
  inputSchema: {
116
119
  limit: { type: "number", required: false },
@@ -134,6 +137,7 @@ export default function mailerlite(rl) {
134
137
  },
135
138
  });
136
139
  rl.registerAction("subscriber.update", {
140
+ access: "write",
137
141
  description: "Update a subscriber",
138
142
  inputSchema: {
139
143
  subscriberId: {
@@ -23,6 +23,7 @@ export default function mailgun(rl) {
23
23
  },
24
24
  });
25
25
  rl.registerAction("email.send", {
26
+ access: "write",
26
27
  description: "Send an email via Mailgun",
27
28
  inputSchema: {
28
29
  to: {
@@ -31,6 +31,7 @@ export default function mailjet(rl) {
31
31
  const emailAuth = (ctx) => `Basic ${btoa(`${ctx.connection.config.apiKeyPublic}:${ctx.connection.config.apiKeyPrivate}`)}`;
32
32
  const sandbox = (ctx) => ctx.connection.config.sandboxMode ?? false;
33
33
  rl.registerAction("email.send", {
34
+ access: "write",
34
35
  description: "Send an email via Mailjet Send API v3.1",
35
36
  inputSchema: {
36
37
  fromEmail: { type: "string", required: true },
@@ -147,6 +148,7 @@ export default function mailjet(rl) {
147
148
  },
148
149
  });
149
150
  rl.registerAction("email.sendTemplate", {
151
+ access: "write",
150
152
  description: "Send an email using a Mailjet template",
151
153
  inputSchema: {
152
154
  fromEmail: { type: "string", required: true },
@@ -231,6 +233,7 @@ export default function mailjet(rl) {
231
233
  },
232
234
  });
233
235
  rl.registerAction("sms.send", {
236
+ access: "write",
234
237
  description: "Send an SMS via Mailjet SMS API",
235
238
  inputSchema: {
236
239
  from: {
@@ -160,6 +160,7 @@ export default function mandrill(rl) {
160
160
  },
161
161
  };
162
162
  rl.registerAction("message.sendHtml", {
163
+ access: "write",
163
164
  description: "Send an email with HTML/text content via Mandrill",
164
165
  inputSchema: messageInputSchema,
165
166
  async execute(input, ctx) {
@@ -174,6 +175,7 @@ export default function mandrill(rl) {
174
175
  },
175
176
  });
176
177
  rl.registerAction("message.sendTemplate", {
178
+ access: "write",
177
179
  description: "Send an email using a Mandrill template",
178
180
  inputSchema: {
179
181
  templateName: {
@@ -49,6 +49,7 @@ export default function marketstack(rl) {
49
49
  });
50
50
  // ── End-of-Day Data ─────────────────────────────────
51
51
  rl.registerAction("endOfDayData.list", {
52
+ access: "read",
52
53
  description: "Get end-of-day stock market closing data. Must specify exactly one of: latest, specificDate, or dateFrom+dateTo.",
53
54
  inputSchema: {
54
55
  symbols: {
@@ -112,6 +113,7 @@ export default function marketstack(rl) {
112
113
  });
113
114
  // ── Exchange ────────────────────────────────────────
114
115
  rl.registerAction("exchange.get", {
116
+ access: "read",
115
117
  description: "Get details about a stock exchange",
116
118
  inputSchema: {
117
119
  exchange: {
@@ -127,6 +129,7 @@ export default function marketstack(rl) {
127
129
  });
128
130
  // ── Ticker ──────────────────────────────────────────
129
131
  rl.registerAction("ticker.get", {
132
+ access: "read",
130
133
  description: "Get details about a stock ticker symbol",
131
134
  inputSchema: {
132
135
  symbol: {
@@ -49,6 +49,7 @@ export default function matrix(rl) {
49
49
  });
50
50
  // ── Account ─────────────────────────────────────────
51
51
  rl.registerAction("account.me", {
52
+ access: "read",
52
53
  description: "Get info about the authenticated user",
53
54
  async execute(_input, ctx) {
54
55
  const { homeserver, token } = conn(ctx);
@@ -57,6 +58,7 @@ export default function matrix(rl) {
57
58
  });
58
59
  // ── Room ────────────────────────────────────────────
59
60
  rl.registerAction("room.create", {
61
+ access: "write",
60
62
  description: "Create a new room",
61
63
  inputSchema: {
62
64
  name: { type: "string", required: true, description: "Room name" },
@@ -81,6 +83,7 @@ export default function matrix(rl) {
81
83
  },
82
84
  });
83
85
  rl.registerAction("room.join", {
86
+ access: "write",
84
87
  description: "Join a room",
85
88
  inputSchema: {
86
89
  roomIdOrAlias: {
@@ -95,6 +98,7 @@ export default function matrix(rl) {
95
98
  },
96
99
  });
97
100
  rl.registerAction("room.leave", {
101
+ access: "write",
98
102
  description: "Leave a room",
99
103
  inputSchema: { roomId: { type: "string", required: true } },
100
104
  async execute(input, ctx) {
@@ -103,6 +107,7 @@ export default function matrix(rl) {
103
107
  },
104
108
  });
105
109
  rl.registerAction("room.invite", {
110
+ access: "write",
106
111
  description: "Invite a user to a room",
107
112
  inputSchema: {
108
113
  roomId: { type: "string", required: true },
@@ -119,6 +124,7 @@ export default function matrix(rl) {
119
124
  },
120
125
  });
121
126
  rl.registerAction("room.kick", {
127
+ access: "write",
122
128
  description: "Kick a user from a room",
123
129
  inputSchema: {
124
130
  roomId: { type: "string", required: true },
@@ -140,6 +146,7 @@ export default function matrix(rl) {
140
146
  });
141
147
  // ── Message ─────────────────────────────────────────
142
148
  rl.registerAction("message.create", {
149
+ access: "write",
143
150
  description: "Send a message to a room",
144
151
  inputSchema: {
145
152
  roomId: { type: "string", required: true },
@@ -181,6 +188,7 @@ export default function matrix(rl) {
181
188
  },
182
189
  });
183
190
  rl.registerAction("message.list", {
191
+ access: "read",
184
192
  description: "Get messages from a room (newest first)",
185
193
  inputSchema: {
186
194
  roomId: { type: "string", required: true },
@@ -225,6 +233,7 @@ export default function matrix(rl) {
225
233
  });
226
234
  // ── Event ───────────────────────────────────────────
227
235
  rl.registerAction("event.get", {
236
+ access: "read",
228
237
  description: "Get a single event from a room",
229
238
  inputSchema: {
230
239
  roomId: { type: "string", required: true },
@@ -242,6 +251,7 @@ export default function matrix(rl) {
242
251
  });
243
252
  // ── Room Member ─────────────────────────────────────
244
253
  rl.registerAction("roomMember.list", {
254
+ access: "read",
245
255
  description: "List members of a room",
246
256
  inputSchema: {
247
257
  roomId: { type: "string", required: true },
@@ -58,6 +58,7 @@ export default function mattermost(rl) {
58
58
  });
59
59
  // ── Channel ─────────────────────────────────────────
60
60
  rl.registerAction("channel.create", {
61
+ access: "write",
61
62
  description: "Create a channel",
62
63
  inputSchema: {
63
64
  teamId: { type: "string", required: true },
@@ -89,6 +90,7 @@ export default function mattermost(rl) {
89
90
  },
90
91
  });
91
92
  rl.registerAction("channel.delete", {
93
+ access: "write",
92
94
  description: "Delete (archive) a channel",
93
95
  inputSchema: { channelId: { type: "string", required: true } },
94
96
  async execute(input, ctx) {
@@ -97,6 +99,7 @@ export default function mattermost(rl) {
97
99
  },
98
100
  });
99
101
  rl.registerAction("channel.addUser", {
102
+ access: "write",
100
103
  description: "Add a user to a channel",
101
104
  inputSchema: {
102
105
  channelId: { type: "string", required: true },
@@ -109,6 +112,7 @@ export default function mattermost(rl) {
109
112
  },
110
113
  });
111
114
  rl.registerAction("channel.members", {
115
+ access: "read",
112
116
  description: "List members of a channel",
113
117
  inputSchema: {
114
118
  channelId: { type: "string", required: true },
@@ -137,6 +141,7 @@ export default function mattermost(rl) {
137
141
  },
138
142
  });
139
143
  rl.registerAction("channel.restore", {
144
+ access: "write",
140
145
  description: "Restore (unarchive) a channel",
141
146
  inputSchema: { channelId: { type: "string", required: true } },
142
147
  async execute(input, ctx) {
@@ -145,6 +150,7 @@ export default function mattermost(rl) {
145
150
  },
146
151
  });
147
152
  rl.registerAction("channel.search", {
153
+ access: "read",
148
154
  description: "Search channels in a team",
149
155
  inputSchema: {
150
156
  teamId: { type: "string", required: true },
@@ -161,6 +167,7 @@ export default function mattermost(rl) {
161
167
  },
162
168
  });
163
169
  rl.registerAction("channel.statistics", {
170
+ access: "read",
164
171
  description: "Get channel statistics",
165
172
  inputSchema: { channelId: { type: "string", required: true } },
166
173
  async execute(input, ctx) {
@@ -170,6 +177,7 @@ export default function mattermost(rl) {
170
177
  });
171
178
  // ── Message ─────────────────────────────────────────
172
179
  rl.registerAction("message.post", {
180
+ access: "write",
173
181
  description: "Post a message to a channel",
174
182
  inputSchema: {
175
183
  channelId: { type: "string", required: true },
@@ -197,6 +205,7 @@ export default function mattermost(rl) {
197
205
  },
198
206
  });
199
207
  rl.registerAction("message.delete", {
208
+ access: "write",
200
209
  description: "Delete a message (post)",
201
210
  inputSchema: { postId: { type: "string", required: true } },
202
211
  async execute(input, ctx) {
@@ -205,6 +214,7 @@ export default function mattermost(rl) {
205
214
  },
206
215
  });
207
216
  rl.registerAction("message.postEphemeral", {
217
+ access: "write",
208
218
  description: "Post an ephemeral message (visible only to one user)",
209
219
  inputSchema: {
210
220
  channelId: { type: "string", required: true },
@@ -226,6 +236,7 @@ export default function mattermost(rl) {
226
236
  });
227
237
  // ── Reaction ────────────────────────────────────────
228
238
  rl.registerAction("reaction.create", {
239
+ access: "write",
229
240
  description: "Add a reaction to a post",
230
241
  inputSchema: {
231
242
  userId: { type: "string", required: true },
@@ -248,6 +259,7 @@ export default function mattermost(rl) {
248
259
  },
249
260
  });
250
261
  rl.registerAction("reaction.delete", {
262
+ access: "write",
251
263
  description: "Remove a reaction from a post",
252
264
  inputSchema: {
253
265
  userId: { type: "string", required: true },
@@ -262,6 +274,7 @@ export default function mattermost(rl) {
262
274
  },
263
275
  });
264
276
  rl.registerAction("reaction.list", {
277
+ access: "read",
265
278
  description: "List reactions on a post",
266
279
  inputSchema: {
267
280
  postId: { type: "string", required: true },
@@ -280,6 +293,7 @@ export default function mattermost(rl) {
280
293
  });
281
294
  // ── User ────────────────────────────────────────────
282
295
  rl.registerAction("user.create", {
296
+ access: "write",
283
297
  description: "Create a user",
284
298
  inputSchema: {
285
299
  username: { type: "string", required: true },
@@ -329,6 +343,7 @@ export default function mattermost(rl) {
329
343
  },
330
344
  });
331
345
  rl.registerAction("user.deactivate", {
346
+ access: "write",
332
347
  description: "Deactivate (delete) a user",
333
348
  inputSchema: { userId: { type: "string", required: true } },
334
349
  async execute(input, ctx) {
@@ -337,6 +352,7 @@ export default function mattermost(rl) {
337
352
  },
338
353
  });
339
354
  rl.registerAction("user.list", {
355
+ access: "read",
340
356
  description: "List users",
341
357
  inputSchema: {
342
358
  limit: { type: "number", required: false },
@@ -380,6 +396,7 @@ export default function mattermost(rl) {
380
396
  },
381
397
  });
382
398
  rl.registerAction("user.getByEmail", {
399
+ access: "read",
383
400
  description: "Get a user by email",
384
401
  inputSchema: { email: { type: "string", required: true } },
385
402
  async execute(input, ctx) {
@@ -388,6 +405,7 @@ export default function mattermost(rl) {
388
405
  },
389
406
  });
390
407
  rl.registerAction("user.getByIds", {
408
+ access: "read",
391
409
  description: "Get users by IDs",
392
410
  inputSchema: {
393
411
  userIds: {
@@ -411,6 +429,7 @@ export default function mattermost(rl) {
411
429
  },
412
430
  });
413
431
  rl.registerAction("user.invite", {
432
+ access: "write",
414
433
  description: "Invite users to a team by email",
415
434
  inputSchema: {
416
435
  teamId: { type: "string", required: true },