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
@@ -44,6 +44,7 @@ export default function misp(rl) {
44
44
  };
45
45
  // ── Attribute ───────────────────────────────────────
46
46
  rl.registerAction("attribute.create", {
47
+ access: "write",
47
48
  description: "Add an attribute to an event",
48
49
  inputSchema: {
49
50
  eventId: { type: "string", required: true },
@@ -69,6 +70,7 @@ export default function misp(rl) {
69
70
  },
70
71
  });
71
72
  rl.registerAction("attribute.get", {
73
+ access: "read",
72
74
  description: "Get an attribute by ID",
73
75
  inputSchema: { attributeId: { type: "string", required: true } },
74
76
  async execute(input, ctx) {
@@ -77,6 +79,7 @@ export default function misp(rl) {
77
79
  },
78
80
  });
79
81
  rl.registerAction("attribute.list", {
82
+ access: "read",
80
83
  description: "List all attributes",
81
84
  inputSchema: { limit: { type: "number", required: false } },
82
85
  async execute(input, ctx) {
@@ -87,6 +90,7 @@ export default function misp(rl) {
87
90
  },
88
91
  });
89
92
  rl.registerAction("attribute.search", {
93
+ access: "read",
90
94
  description: "Search attributes via restSearch",
91
95
  inputSchema: {
92
96
  value: { type: "string", required: false },
@@ -106,6 +110,7 @@ export default function misp(rl) {
106
110
  },
107
111
  });
108
112
  rl.registerAction("attribute.update", {
113
+ access: "write",
109
114
  description: "Update an attribute",
110
115
  inputSchema: {
111
116
  attributeId: { type: "string", required: true },
@@ -118,6 +123,7 @@ export default function misp(rl) {
118
123
  },
119
124
  });
120
125
  rl.registerAction("attribute.delete", {
126
+ access: "write",
121
127
  description: "Delete an attribute",
122
128
  inputSchema: { attributeId: { type: "string", required: true } },
123
129
  async execute(input, ctx) {
@@ -126,6 +132,7 @@ export default function misp(rl) {
126
132
  });
127
133
  // ── Event ───────────────────────────────────────────
128
134
  rl.registerAction("event.create", {
135
+ access: "write",
129
136
  description: "Create an event",
130
137
  inputSchema: {
131
138
  orgId: { type: "string", required: true, description: "Organisation ID" },
@@ -150,6 +157,7 @@ export default function misp(rl) {
150
157
  },
151
158
  });
152
159
  rl.registerAction("event.get", {
160
+ access: "read",
153
161
  description: "Get an event by ID",
154
162
  inputSchema: { eventId: { type: "string", required: true } },
155
163
  async execute(input, ctx) {
@@ -160,6 +168,7 @@ export default function misp(rl) {
160
168
  },
161
169
  });
162
170
  rl.registerAction("event.list", {
171
+ access: "read",
163
172
  description: "List all events",
164
173
  inputSchema: { limit: { type: "number", required: false } },
165
174
  async execute(input, ctx) {
@@ -170,6 +179,7 @@ export default function misp(rl) {
170
179
  },
171
180
  });
172
181
  rl.registerAction("event.search", {
182
+ access: "read",
173
183
  description: "Search events via restSearch",
174
184
  inputSchema: {
175
185
  value: { type: "string", required: false },
@@ -190,6 +200,7 @@ export default function misp(rl) {
190
200
  },
191
201
  });
192
202
  rl.registerAction("event.update", {
203
+ access: "write",
193
204
  description: "Update an event",
194
205
  inputSchema: {
195
206
  eventId: { type: "string", required: true },
@@ -204,6 +215,7 @@ export default function misp(rl) {
204
215
  },
205
216
  });
206
217
  rl.registerAction("event.publish", {
218
+ access: "write",
207
219
  description: "Publish an event",
208
220
  inputSchema: { eventId: { type: "string", required: true } },
209
221
  async execute(input, ctx) {
@@ -211,6 +223,7 @@ export default function misp(rl) {
211
223
  },
212
224
  });
213
225
  rl.registerAction("event.unpublish", {
226
+ access: "write",
214
227
  description: "Unpublish an event",
215
228
  inputSchema: { eventId: { type: "string", required: true } },
216
229
  async execute(input, ctx) {
@@ -218,6 +231,7 @@ export default function misp(rl) {
218
231
  },
219
232
  });
220
233
  rl.registerAction("event.delete", {
234
+ access: "write",
221
235
  description: "Delete an event",
222
236
  inputSchema: { eventId: { type: "string", required: true } },
223
237
  async execute(input, ctx) {
@@ -226,6 +240,7 @@ export default function misp(rl) {
226
240
  });
227
241
  // ── Event Tag ───────────────────────────────────────
228
242
  rl.registerAction("eventTag.add", {
243
+ access: "write",
229
244
  description: "Add a tag to an event",
230
245
  inputSchema: {
231
246
  eventId: { type: "string", required: true },
@@ -237,6 +252,7 @@ export default function misp(rl) {
237
252
  },
238
253
  });
239
254
  rl.registerAction("eventTag.remove", {
255
+ access: "write",
240
256
  description: "Remove a tag from an event",
241
257
  inputSchema: {
242
258
  eventId: { type: "string", required: true },
@@ -249,6 +265,7 @@ export default function misp(rl) {
249
265
  });
250
266
  // ── Feed ────────────────────────────────────────────
251
267
  rl.registerAction("feed.create", {
268
+ access: "write",
252
269
  description: "Create a feed",
253
270
  inputSchema: {
254
271
  name: { type: "string", required: true },
@@ -270,6 +287,7 @@ export default function misp(rl) {
270
287
  },
271
288
  });
272
289
  rl.registerAction("feed.get", {
290
+ access: "read",
273
291
  description: "Get a feed by ID",
274
292
  inputSchema: { feedId: { type: "string", required: true } },
275
293
  async execute(input, ctx) {
@@ -278,6 +296,7 @@ export default function misp(rl) {
278
296
  },
279
297
  });
280
298
  rl.registerAction("feed.list", {
299
+ access: "read",
281
300
  description: "List all feeds",
282
301
  inputSchema: { limit: { type: "number", required: false } },
283
302
  async execute(input, ctx) {
@@ -289,6 +308,7 @@ export default function misp(rl) {
289
308
  },
290
309
  });
291
310
  rl.registerAction("feed.update", {
311
+ access: "write",
292
312
  description: "Update a feed",
293
313
  inputSchema: {
294
314
  feedId: { type: "string", required: true },
@@ -301,6 +321,7 @@ export default function misp(rl) {
301
321
  },
302
322
  });
303
323
  rl.registerAction("feed.enable", {
324
+ access: "write",
304
325
  description: "Enable a feed",
305
326
  inputSchema: { feedId: { type: "string", required: true } },
306
327
  async execute(input, ctx) {
@@ -308,6 +329,7 @@ export default function misp(rl) {
308
329
  },
309
330
  });
310
331
  rl.registerAction("feed.disable", {
332
+ access: "write",
311
333
  description: "Disable a feed",
312
334
  inputSchema: { feedId: { type: "string", required: true } },
313
335
  async execute(input, ctx) {
@@ -316,6 +338,7 @@ export default function misp(rl) {
316
338
  });
317
339
  // ── Galaxy ──────────────────────────────────────────
318
340
  rl.registerAction("galaxy.get", {
341
+ access: "read",
319
342
  description: "Get a galaxy by ID",
320
343
  inputSchema: { galaxyId: { type: "string", required: true } },
321
344
  async execute(input, ctx) {
@@ -324,6 +347,7 @@ export default function misp(rl) {
324
347
  },
325
348
  });
326
349
  rl.registerAction("galaxy.list", {
350
+ access: "read",
327
351
  description: "List all galaxies",
328
352
  inputSchema: { limit: { type: "number", required: false } },
329
353
  async execute(input, ctx) {
@@ -335,6 +359,7 @@ export default function misp(rl) {
335
359
  },
336
360
  });
337
361
  rl.registerAction("galaxy.delete", {
362
+ access: "write",
338
363
  description: "Delete a galaxy",
339
364
  inputSchema: { galaxyId: { type: "string", required: true } },
340
365
  async execute(input, ctx) {
@@ -343,6 +368,7 @@ export default function misp(rl) {
343
368
  });
344
369
  // ── Noticelist ──────────────────────────────────────
345
370
  rl.registerAction("noticelist.get", {
371
+ access: "read",
346
372
  description: "Get a noticelist by ID",
347
373
  inputSchema: { noticelistId: { type: "string", required: true } },
348
374
  async execute(input, ctx) {
@@ -351,6 +377,7 @@ export default function misp(rl) {
351
377
  },
352
378
  });
353
379
  rl.registerAction("noticelist.list", {
380
+ access: "read",
354
381
  description: "List all noticelists",
355
382
  inputSchema: { limit: { type: "number", required: false } },
356
383
  async execute(input, ctx) {
@@ -363,6 +390,7 @@ export default function misp(rl) {
363
390
  });
364
391
  // ── Object ──────────────────────────────────────────
365
392
  rl.registerAction("object.search", {
393
+ access: "read",
366
394
  description: "Search objects via restSearch",
367
395
  inputSchema: {
368
396
  value: { type: "string", required: false },
@@ -380,6 +408,7 @@ export default function misp(rl) {
380
408
  });
381
409
  // ── Organisation ────────────────────────────────────
382
410
  rl.registerAction("organisation.create", {
411
+ access: "write",
383
412
  description: "Create an organisation",
384
413
  inputSchema: {
385
414
  name: { type: "string", required: true },
@@ -399,6 +428,7 @@ export default function misp(rl) {
399
428
  },
400
429
  });
401
430
  rl.registerAction("organisation.get", {
431
+ access: "read",
402
432
  description: "Get an organisation by ID",
403
433
  inputSchema: { organisationId: { type: "string", required: true } },
404
434
  async execute(input, ctx) {
@@ -407,6 +437,7 @@ export default function misp(rl) {
407
437
  },
408
438
  });
409
439
  rl.registerAction("organisation.list", {
440
+ access: "read",
410
441
  description: "List all organisations",
411
442
  inputSchema: { limit: { type: "number", required: false } },
412
443
  async execute(input, ctx) {
@@ -418,6 +449,7 @@ export default function misp(rl) {
418
449
  },
419
450
  });
420
451
  rl.registerAction("organisation.update", {
452
+ access: "write",
421
453
  description: "Update an organisation",
422
454
  inputSchema: {
423
455
  organisationId: { type: "string", required: true },
@@ -430,6 +462,7 @@ export default function misp(rl) {
430
462
  },
431
463
  });
432
464
  rl.registerAction("organisation.delete", {
465
+ access: "write",
433
466
  description: "Delete an organisation",
434
467
  inputSchema: { organisationId: { type: "string", required: true } },
435
468
  async execute(input, ctx) {
@@ -438,6 +471,7 @@ export default function misp(rl) {
438
471
  });
439
472
  // ── Tag ─────────────────────────────────────────────
440
473
  rl.registerAction("tag.create", {
474
+ access: "write",
441
475
  description: "Create a tag",
442
476
  inputSchema: {
443
477
  name: { type: "string", required: true },
@@ -459,6 +493,7 @@ export default function misp(rl) {
459
493
  },
460
494
  });
461
495
  rl.registerAction("tag.list", {
496
+ access: "read",
462
497
  description: "List all tags",
463
498
  inputSchema: { limit: { type: "number", required: false } },
464
499
  async execute(input, ctx) {
@@ -470,6 +505,7 @@ export default function misp(rl) {
470
505
  },
471
506
  });
472
507
  rl.registerAction("tag.update", {
508
+ access: "write",
473
509
  description: "Update a tag",
474
510
  inputSchema: {
475
511
  tagId: { type: "string", required: true },
@@ -490,6 +526,7 @@ export default function misp(rl) {
490
526
  },
491
527
  });
492
528
  rl.registerAction("tag.delete", {
529
+ access: "write",
493
530
  description: "Delete a tag",
494
531
  inputSchema: { tagId: { type: "string", required: true } },
495
532
  async execute(input, ctx) {
@@ -498,6 +535,7 @@ export default function misp(rl) {
498
535
  });
499
536
  // ── User ────────────────────────────────────────────
500
537
  rl.registerAction("user.create", {
538
+ access: "write",
501
539
  description: "Create a user",
502
540
  inputSchema: {
503
541
  email: { type: "string", required: true },
@@ -518,6 +556,7 @@ export default function misp(rl) {
518
556
  },
519
557
  });
520
558
  rl.registerAction("user.get", {
559
+ access: "read",
521
560
  description: "Get a user by ID",
522
561
  inputSchema: { userId: { type: "string", required: true } },
523
562
  async execute(input, ctx) {
@@ -526,6 +565,7 @@ export default function misp(rl) {
526
565
  },
527
566
  });
528
567
  rl.registerAction("user.list", {
568
+ access: "read",
529
569
  description: "List all users",
530
570
  inputSchema: { limit: { type: "number", required: false } },
531
571
  async execute(input, ctx) {
@@ -537,6 +577,7 @@ export default function misp(rl) {
537
577
  },
538
578
  });
539
579
  rl.registerAction("user.update", {
580
+ access: "write",
540
581
  description: "Update a user",
541
582
  inputSchema: {
542
583
  userId: { type: "string", required: true },
@@ -549,6 +590,7 @@ export default function misp(rl) {
549
590
  },
550
591
  });
551
592
  rl.registerAction("user.delete", {
593
+ access: "write",
552
594
  description: "Delete a user",
553
595
  inputSchema: { userId: { type: "string", required: true } },
554
596
  async execute(input, ctx) {
@@ -557,6 +599,7 @@ export default function misp(rl) {
557
599
  });
558
600
  // ── Warninglist ─────────────────────────────────────
559
601
  rl.registerAction("warninglist.get", {
602
+ access: "read",
560
603
  description: "Get a warninglist by ID",
561
604
  inputSchema: { warninglistId: { type: "string", required: true } },
562
605
  async execute(input, ctx) {
@@ -565,6 +608,7 @@ export default function misp(rl) {
565
608
  },
566
609
  });
567
610
  rl.registerAction("warninglist.list", {
611
+ access: "read",
568
612
  description: "List all warninglists",
569
613
  inputSchema: { limit: { type: "number", required: false } },
570
614
  async execute(input, ctx) {
@@ -38,6 +38,7 @@ export default function mocean(rl) {
38
38
  apiSecret: ctx.connection.config.apiSecret,
39
39
  });
40
40
  rl.registerAction("sms.send", {
41
+ access: "write",
41
42
  description: "Send an SMS message",
42
43
  inputSchema: {
43
44
  from: { type: "string", required: true, description: "Sender number" },
@@ -66,6 +67,7 @@ export default function mocean(rl) {
66
67
  },
67
68
  });
68
69
  rl.registerAction("voice.send", {
70
+ access: "write",
69
71
  description: "Make a voice call with text-to-speech",
70
72
  inputSchema: {
71
73
  from: { type: "string", required: true, description: "Caller number" },
@@ -29,6 +29,7 @@ export default function monday(rl) {
29
29
  const tok = (ctx) => ctx.connection.config.apiToken;
30
30
  // ── Board ───────────────────────────────────────────
31
31
  rl.registerAction("board.create", {
32
+ access: "write",
32
33
  description: "Create a board",
33
34
  inputSchema: {
34
35
  name: { type: "string", required: true },
@@ -49,6 +50,7 @@ export default function monday(rl) {
49
50
  },
50
51
  });
51
52
  rl.registerAction("board.archive", {
53
+ access: "write",
52
54
  description: "Archive a board",
53
55
  inputSchema: { boardId: { type: "string", required: true } },
54
56
  async execute(input, ctx) {
@@ -57,6 +59,7 @@ export default function monday(rl) {
57
59
  },
58
60
  });
59
61
  rl.registerAction("board.get", {
62
+ access: "read",
60
63
  description: "Get a board by ID",
61
64
  inputSchema: { boardId: { type: "string", required: true } },
62
65
  async execute(input, ctx) {
@@ -65,6 +68,7 @@ export default function monday(rl) {
65
68
  },
66
69
  });
67
70
  rl.registerAction("board.list", {
71
+ access: "read",
68
72
  description: "List boards",
69
73
  inputSchema: { limit: { type: "number", required: false } },
70
74
  async execute(input, ctx) {
@@ -75,6 +79,7 @@ export default function monday(rl) {
75
79
  });
76
80
  // ── Board Column ────────────────────────────────────
77
81
  rl.registerAction("boardColumn.create", {
82
+ access: "write",
78
83
  description: "Create a column on a board",
79
84
  inputSchema: {
80
85
  boardId: { type: "string", required: true },
@@ -100,6 +105,7 @@ export default function monday(rl) {
100
105
  },
101
106
  });
102
107
  rl.registerAction("boardColumn.list", {
108
+ access: "read",
103
109
  description: "List columns on a board",
104
110
  inputSchema: { boardId: { type: "string", required: true } },
105
111
  async execute(input, ctx) {
@@ -109,6 +115,7 @@ export default function monday(rl) {
109
115
  });
110
116
  // ── Board Group ─────────────────────────────────────
111
117
  rl.registerAction("boardGroup.create", {
118
+ access: "write",
112
119
  description: "Create a group on a board",
113
120
  inputSchema: {
114
121
  boardId: { type: "string", required: true },
@@ -121,6 +128,7 @@ export default function monday(rl) {
121
128
  },
122
129
  });
123
130
  rl.registerAction("boardGroup.delete", {
131
+ access: "write",
124
132
  description: "Delete a group from a board",
125
133
  inputSchema: {
126
134
  boardId: { type: "string", required: true },
@@ -133,6 +141,7 @@ export default function monday(rl) {
133
141
  },
134
142
  });
135
143
  rl.registerAction("boardGroup.list", {
144
+ access: "read",
136
145
  description: "List groups on a board",
137
146
  inputSchema: { boardId: { type: "string", required: true } },
138
147
  async execute(input, ctx) {
@@ -142,6 +151,7 @@ export default function monday(rl) {
142
151
  });
143
152
  // ── Board Item ──────────────────────────────────────
144
153
  rl.registerAction("boardItem.create", {
154
+ access: "write",
145
155
  description: "Create an item in a board group",
146
156
  inputSchema: {
147
157
  boardId: { type: "string", required: true },
@@ -167,6 +177,7 @@ export default function monday(rl) {
167
177
  },
168
178
  });
169
179
  rl.registerAction("boardItem.get", {
180
+ access: "read",
170
181
  description: "Get item(s) by ID",
171
182
  inputSchema: {
172
183
  itemIds: {
@@ -184,6 +195,7 @@ export default function monday(rl) {
184
195
  },
185
196
  });
186
197
  rl.registerAction("boardItem.list", {
198
+ access: "read",
187
199
  description: "List items in a board group",
188
200
  inputSchema: {
189
201
  boardId: { type: "string", required: true },
@@ -208,6 +220,7 @@ export default function monday(rl) {
208
220
  },
209
221
  });
210
222
  rl.registerAction("boardItem.delete", {
223
+ access: "write",
211
224
  description: "Delete an item",
212
225
  inputSchema: { itemId: { type: "string", required: true } },
213
226
  async execute(input, ctx) {
@@ -216,6 +229,7 @@ export default function monday(rl) {
216
229
  },
217
230
  });
218
231
  rl.registerAction("boardItem.move", {
232
+ access: "write",
219
233
  description: "Move an item to a different group",
220
234
  inputSchema: {
221
235
  itemId: { type: "string", required: true },
@@ -228,6 +242,7 @@ export default function monday(rl) {
228
242
  },
229
243
  });
230
244
  rl.registerAction("boardItem.addUpdate", {
245
+ access: "write",
231
246
  description: "Add an update (comment) to an item",
232
247
  inputSchema: {
233
248
  itemId: { type: "string", required: true },
@@ -244,6 +259,7 @@ export default function monday(rl) {
244
259
  },
245
260
  });
246
261
  rl.registerAction("boardItem.changeColumnValue", {
262
+ access: "write",
247
263
  description: "Change a single column value on an item",
248
264
  inputSchema: {
249
265
  boardId: { type: "string", required: true },
@@ -267,6 +283,7 @@ export default function monday(rl) {
267
283
  },
268
284
  });
269
285
  rl.registerAction("boardItem.changeMultipleColumnValues", {
286
+ access: "write",
270
287
  description: "Change multiple column values on an item",
271
288
  inputSchema: {
272
289
  boardId: { type: "string", required: true },
@@ -288,6 +305,7 @@ export default function monday(rl) {
288
305
  },
289
306
  });
290
307
  rl.registerAction("boardItem.getByColumnValue", {
308
+ access: "read",
291
309
  description: "Search items by column value",
292
310
  inputSchema: {
293
311
  boardId: { type: "string", required: true },
@@ -29,6 +29,7 @@ async function api(conn, method, endpoint, body, qs) {
29
29
  }
30
30
  function registerCrud(rl, resource, plural, conn, createSchema) {
31
31
  rl.registerAction(`${resource}.create`, {
32
+ access: "write",
32
33
  description: `Create a ${resource}`,
33
34
  inputSchema: createSchema,
34
35
  async execute(input, ctx) {
@@ -37,6 +38,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
37
38
  },
38
39
  });
39
40
  rl.registerAction(`${resource}.get`, {
41
+ access: "read",
40
42
  description: `Get a ${resource}`,
41
43
  inputSchema: { id: { type: "string", required: true } },
42
44
  async execute(input, ctx) {
@@ -45,6 +47,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
45
47
  },
46
48
  });
47
49
  rl.registerAction(`${resource}.list`, {
50
+ access: "read",
48
51
  description: `List ${plural}`,
49
52
  inputSchema: { limit: { type: "number", required: false } },
50
53
  async execute(input, ctx) {
@@ -56,6 +59,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
56
59
  },
57
60
  });
58
61
  rl.registerAction(`${resource}.update`, {
62
+ access: "write",
59
63
  description: `Update a ${resource}`,
60
64
  inputSchema: {
61
65
  id: { type: "string", required: true },
@@ -68,6 +72,7 @@ function registerCrud(rl, resource, plural, conn, createSchema) {
68
72
  },
69
73
  });
70
74
  rl.registerAction(`${resource}.delete`, {
75
+ access: "write",
71
76
  description: `Delete a ${resource}`,
72
77
  inputSchema: { id: { type: "string", required: true } },
73
78
  async execute(input, ctx) {
@@ -10,6 +10,7 @@ export default function msg91(rl) {
10
10
  },
11
11
  });
12
12
  rl.registerAction("sms.send", {
13
+ access: "write",
13
14
  description: "Send a transactional SMS via MSG91",
14
15
  inputSchema: {
15
16
  from: { type: "string", required: true, description: "Sender ID" },
@@ -32,6 +32,7 @@ export default function nasa(rl) {
32
32
  });
33
33
  const key = (ctx) => ctx.connection.config.apiKey;
34
34
  rl.registerAction("apod.get", {
35
+ access: "read",
35
36
  description: "Get the Astronomy Picture of the Day (returns metadata; image URL in 'hdurl' field)",
36
37
  inputSchema: {
37
38
  date: {
@@ -48,6 +49,7 @@ export default function nasa(rl) {
48
49
  },
49
50
  });
50
51
  rl.registerAction("asteroidNeoFeed.get", {
52
+ access: "read",
51
53
  description: "Get a list of asteroids based on closest approach date to Earth",
52
54
  inputSchema: {
53
55
  startDate: {
@@ -72,6 +74,7 @@ export default function nasa(rl) {
72
74
  },
73
75
  });
74
76
  rl.registerAction("asteroidNeoLookup.get", {
77
+ access: "read",
75
78
  description: "Look up an asteroid by its NASA SPK-ID",
76
79
  inputSchema: {
77
80
  asteroidId: { type: "string", required: true },
@@ -90,6 +93,7 @@ export default function nasa(rl) {
90
93
  },
91
94
  });
92
95
  rl.registerAction("asteroidNeoBrowse.list", {
96
+ access: "read",
93
97
  description: "Browse the overall asteroid dataset",
94
98
  inputSchema: {
95
99
  limit: {
@@ -151,6 +155,7 @@ export default function nasa(rl) {
151
155
  ];
152
156
  for (const ep of donkiEndpoints) {
153
157
  rl.registerAction(`donki.${ep.name}`, {
158
+ access: "read",
154
159
  description: ep.description,
155
160
  inputSchema: {
156
161
  startDate: {
@@ -176,6 +181,7 @@ export default function nasa(rl) {
176
181
  });
177
182
  }
178
183
  rl.registerAction("donki.interplanetaryShock", {
184
+ access: "read",
179
185
  description: "DONKI Interplanetary Shock data",
180
186
  inputSchema: {
181
187
  startDate: { type: "string", required: false },
@@ -207,6 +213,7 @@ export default function nasa(rl) {
207
213
  });
208
214
  // ── Earth ───────────────────────────────────────────
209
215
  rl.registerAction("earthAssets.get", {
216
+ access: "read",
210
217
  description: "Get Earth asset metadata for a location",
211
218
  inputSchema: {
212
219
  lat: { type: "number", required: true, description: "Latitude" },
@@ -65,6 +65,7 @@ export default function netlify(rl) {
65
65
  });
66
66
  // ── Deploy ──────────────────────────────────────────
67
67
  rl.registerAction("deploy.cancel", {
68
+ access: "write",
68
69
  description: "Cancel a deployment",
69
70
  inputSchema: {
70
71
  deployId: { type: "string", required: true, description: "Deploy ID" },
@@ -75,6 +76,7 @@ export default function netlify(rl) {
75
76
  },
76
77
  });
77
78
  rl.registerAction("deploy.create", {
79
+ access: "write",
78
80
  description: "Create a new deployment for a site",
79
81
  inputSchema: {
80
82
  siteId: { type: "string", required: true, description: "Site ID" },
@@ -97,6 +99,7 @@ export default function netlify(rl) {
97
99
  },
98
100
  });
99
101
  rl.registerAction("deploy.get", {
102
+ access: "read",
100
103
  description: "Get a deployment",
101
104
  inputSchema: {
102
105
  siteId: { type: "string", required: true, description: "Site ID" },
@@ -108,6 +111,7 @@ export default function netlify(rl) {
108
111
  },
109
112
  });
110
113
  rl.registerAction("deploy.list", {
114
+ access: "read",
111
115
  description: "List deployments for a site",
112
116
  inputSchema: {
113
117
  siteId: { type: "string", required: true, description: "Site ID" },
@@ -130,6 +134,7 @@ export default function netlify(rl) {
130
134
  });
131
135
  // ── Site ────────────────────────────────────────────
132
136
  rl.registerAction("site.delete", {
137
+ access: "write",
133
138
  description: "Delete a site",
134
139
  inputSchema: {
135
140
  siteId: { type: "string", required: true, description: "Site ID" },
@@ -140,6 +145,7 @@ export default function netlify(rl) {
140
145
  },
141
146
  });
142
147
  rl.registerAction("site.get", {
148
+ access: "read",
143
149
  description: "Get a site",
144
150
  inputSchema: {
145
151
  siteId: { type: "string", required: true, description: "Site ID" },
@@ -150,6 +156,7 @@ export default function netlify(rl) {
150
156
  },
151
157
  });
152
158
  rl.registerAction("site.list", {
159
+ access: "read",
153
160
  description: "List all sites",
154
161
  inputSchema: {
155
162
  limit: {
@@ -48,6 +48,7 @@ export default function netscalerAdc(rl) {
48
48
  },
49
49
  });
50
50
  rl.registerAction("certificate.create", {
51
+ access: "write",
51
52
  description: "Create an SSL certificate on the appliance",
52
53
  inputSchema: {
53
54
  certificateFileName: {
@@ -154,6 +155,7 @@ export default function netscalerAdc(rl) {
154
155
  },
155
156
  });
156
157
  rl.registerAction("certificate.install", {
158
+ access: "write",
157
159
  description: "Install an SSL certificate-key pair on the appliance",
158
160
  inputSchema: {
159
161
  certificateKeyPairName: {
@@ -222,6 +224,7 @@ export default function netscalerAdc(rl) {
222
224
  },
223
225
  });
224
226
  rl.registerAction("file.delete", {
227
+ access: "write",
225
228
  description: "Delete a file from the Netscaler ADC appliance",
226
229
  inputSchema: {
227
230
  fileName: {