runline 0.11.6 → 0.13.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 (256) 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/_shared/googleSchemas.js +23 -0
  7. package/dist/plugins/actionNetwork/src/index.js +23 -0
  8. package/dist/plugins/activeCampaign/src/index.js +48 -0
  9. package/dist/plugins/adalo/src/index.js +5 -0
  10. package/dist/plugins/affinity/src/index.js +16 -0
  11. package/dist/plugins/agileCrm/src/index.js +15 -0
  12. package/dist/plugins/airtable/src/index.js +10 -0
  13. package/dist/plugins/airtop/src/index.js +24 -0
  14. package/dist/plugins/apiTemplateIo/src/index.js +4 -0
  15. package/dist/plugins/asana/src/index.js +22 -0
  16. package/dist/plugins/autopilot/src/index.js +11 -0
  17. package/dist/plugins/bambooHr/src/index.js +11 -0
  18. package/dist/plugins/bannerbear/src/index.js +4 -0
  19. package/dist/plugins/baserow/src/index.js +8 -0
  20. package/dist/plugins/beeminder/src/index.js +18 -0
  21. package/dist/plugins/bitly/src/index.js +3 -0
  22. package/dist/plugins/bitwarden/src/index.js +19 -0
  23. package/dist/plugins/box/src/index.js +11 -0
  24. package/dist/plugins/brandfetch/src/index.js +5 -0
  25. package/dist/plugins/brevo/src/index.js +15 -0
  26. package/dist/plugins/bubble/src/index.js +5 -0
  27. package/dist/plugins/chargebee/src/index.js +5 -0
  28. package/dist/plugins/circleci/src/index.js +3 -0
  29. package/dist/plugins/ciscoWebex/src/index.js +10 -0
  30. package/dist/plugins/clearbit/src/index.js +3 -0
  31. package/dist/plugins/clickup/src/index.js +61 -0
  32. package/dist/plugins/clockify/src/index.js +25 -0
  33. package/dist/plugins/cloudflare/src/index.js +4 -0
  34. package/dist/plugins/cockpit/src/index.js +5 -0
  35. package/dist/plugins/coda/src/index.js +18 -0
  36. package/dist/plugins/coingecko/src/index.js +10 -0
  37. package/dist/plugins/contentful/src/index.js +7 -0
  38. package/dist/plugins/convertkit/src/index.js +16 -0
  39. package/dist/plugins/copper/src/index.js +7 -0
  40. package/dist/plugins/cortex/src/index.js +4 -0
  41. package/dist/plugins/currents/src/index.js +22 -0
  42. package/dist/plugins/customerIo/src/index.js +9 -0
  43. package/dist/plugins/databricks/src/index.js +34 -0
  44. package/dist/plugins/deepl/src/index.js +2 -0
  45. package/dist/plugins/demio/src/index.js +4 -0
  46. package/dist/plugins/dhl/src/index.js +1 -0
  47. package/dist/plugins/discord/src/index.js +13 -0
  48. package/dist/plugins/discourse/src/index.js +16 -0
  49. package/dist/plugins/disqus/src/index.js +4 -0
  50. package/dist/plugins/docker/src/index.js +5 -0
  51. package/dist/plugins/drift/src/index.js +5 -0
  52. package/dist/plugins/dropbox/src/index.js +9 -0
  53. package/dist/plugins/dropcontact/src/index.js +2 -0
  54. package/dist/plugins/egoi/src/index.js +4 -0
  55. package/dist/plugins/elasticsearch/src/index.js +9 -0
  56. package/dist/plugins/emelia/src/index.js +9 -0
  57. package/dist/plugins/erpnext/src/index.js +5 -0
  58. package/dist/plugins/facebookGraph/src/index.js +1 -0
  59. package/dist/plugins/freshdesk/src/index.js +10 -0
  60. package/dist/plugins/freshservice/src/index.js +7 -0
  61. package/dist/plugins/freshworksCrm/src/index.js +7 -0
  62. package/dist/plugins/getresponse/src/index.js +5 -0
  63. package/dist/plugins/ghost/src/index.js +5 -0
  64. package/dist/plugins/github/src/index.js +37 -0
  65. package/dist/plugins/gitlab/src/index.js +17 -0
  66. package/dist/plugins/gmail/src/index.js +200 -184
  67. package/dist/plugins/gong/src/index.js +4 -0
  68. package/dist/plugins/googleAppsScript/src/index.js +98 -43
  69. package/dist/plugins/googleCalendar/src/index.js +329 -250
  70. package/dist/plugins/googleContacts/src/index.js +144 -145
  71. package/dist/plugins/googleDocs/src/documents.js +31 -38
  72. package/dist/plugins/googleDocs/src/formatting.js +51 -47
  73. package/dist/plugins/googleDocs/src/images.js +23 -26
  74. package/dist/plugins/googleDocs/src/shared.js +55 -0
  75. package/dist/plugins/googleDocs/src/structure.js +111 -123
  76. package/dist/plugins/googleDocs/src/tables.js +103 -154
  77. package/dist/plugins/googleDocs/src/tabs.js +27 -23
  78. package/dist/plugins/googleDocs/src/text.js +106 -136
  79. package/dist/plugins/googleDrive/src/index.js +461 -408
  80. package/dist/plugins/googleImage/src/index.js +14 -16
  81. package/dist/plugins/googleSheets/src/index.js +527 -339
  82. package/dist/plugins/googleSlides/src/index.js +92 -72
  83. package/dist/plugins/googleTasks/src/index.js +94 -92
  84. package/dist/plugins/gotify/src/index.js +3 -0
  85. package/dist/plugins/gotowebinar/src/index.js +20 -0
  86. package/dist/plugins/grafana/src/index.js +17 -0
  87. package/dist/plugins/graphql/src/index.js +2 -0
  88. package/dist/plugins/grist/src/index.js +4 -0
  89. package/dist/plugins/hackernews/src/index.js +6 -0
  90. package/dist/plugins/halopsa/src/index.js +5 -0
  91. package/dist/plugins/harvest/src/index.js +14 -0
  92. package/dist/plugins/helpscout/src/index.js +13 -0
  93. package/dist/plugins/highlevel/src/index.js +17 -0
  94. package/dist/plugins/homeAssistant/src/index.js +13 -0
  95. package/dist/plugins/hubspot/src/index.js +14 -0
  96. package/dist/plugins/humanticAi/src/index.js +3 -0
  97. package/dist/plugins/hunter/src/index.js +3 -0
  98. package/dist/plugins/intercom/src/index.js +10 -0
  99. package/dist/plugins/iterable/src/index.js +6 -0
  100. package/dist/plugins/jenkins/src/index.js +11 -0
  101. package/dist/plugins/jira/src/index.js +16 -0
  102. package/dist/plugins/keap/src/index.js +28 -0
  103. package/dist/plugins/kobotoolbox/src/index.js +17 -0
  104. package/dist/plugins/lemlist/src/index.js +15 -0
  105. package/dist/plugins/linear/src/attachments.js +6 -0
  106. package/dist/plugins/linear/src/comments.js +5 -0
  107. package/dist/plugins/linear/src/cycles.js +2 -0
  108. package/dist/plugins/linear/src/initiatives.js +5 -0
  109. package/dist/plugins/linear/src/issues.js +14 -0
  110. package/dist/plugins/linear/src/labels.js +5 -0
  111. package/dist/plugins/linear/src/organization.js +1 -0
  112. package/dist/plugins/linear/src/projects.js +11 -0
  113. package/dist/plugins/linear/src/shared.js +2 -0
  114. package/dist/plugins/linear/src/states.js +2 -0
  115. package/dist/plugins/linear/src/teams.js +3 -0
  116. package/dist/plugins/linear/src/users.js +2 -0
  117. package/dist/plugins/linear/src/views.js +4 -0
  118. package/dist/plugins/linear/src/webhooks.js +4 -0
  119. package/dist/plugins/lingvanex/src/index.js +1 -0
  120. package/dist/plugins/linkedin/src/index.js +1 -0
  121. package/dist/plugins/lonescale/src/index.js +4 -0
  122. package/dist/plugins/magento/src/index.js +15 -0
  123. package/dist/plugins/mailcheck/src/index.js +1 -0
  124. package/dist/plugins/mailchimp/src/index.js +14 -0
  125. package/dist/plugins/mailerlite/src/index.js +4 -0
  126. package/dist/plugins/mailgun/src/index.js +1 -0
  127. package/dist/plugins/mailjet/src/index.js +3 -0
  128. package/dist/plugins/mandrill/src/index.js +2 -0
  129. package/dist/plugins/marketstack/src/index.js +3 -0
  130. package/dist/plugins/matrix/src/index.js +10 -0
  131. package/dist/plugins/mattermost/src/index.js +19 -0
  132. package/dist/plugins/mautic/src/index.js +20 -0
  133. package/dist/plugins/medium/src/index.js +3 -0
  134. package/dist/plugins/messagebird/src/index.js +2 -0
  135. package/dist/plugins/metabase/src/index.js +10 -0
  136. package/dist/plugins/microsoftCalendar/src/index.js +2 -0
  137. package/dist/plugins/microsoftFiles/src/index.js +5 -0
  138. package/dist/plugins/microsoftMail/src/index.js +4 -0
  139. package/dist/plugins/misp/src/index.js +44 -0
  140. package/dist/plugins/mocean/src/index.js +2 -0
  141. package/dist/plugins/monday/src/index.js +18 -0
  142. package/dist/plugins/monicaCrm/src/index.js +5 -0
  143. package/dist/plugins/msg91/src/index.js +1 -0
  144. package/dist/plugins/nasa/src/index.js +7 -0
  145. package/dist/plugins/netlify/src/index.js +7 -0
  146. package/dist/plugins/netscalerAdc/src/index.js +3 -0
  147. package/dist/plugins/nextcloud/src/index.js +13 -0
  148. package/dist/plugins/nocodb/src/index.js +5 -0
  149. package/dist/plugins/node/src/index.js +38 -0
  150. package/dist/plugins/notion/src/index.js +14 -0
  151. package/dist/plugins/npm/src/index.js +5 -0
  152. package/dist/plugins/odoo/src/index.js +6 -0
  153. package/dist/plugins/okta/src/index.js +5 -0
  154. package/dist/plugins/oneSimpleApi/src/index.js +10 -0
  155. package/dist/plugins/onfleet/src/index.js +24 -0
  156. package/dist/plugins/openThesaurus/src/index.js +1 -0
  157. package/dist/plugins/openai/src/index.js +1 -0
  158. package/dist/plugins/openweathermap/src/index.js +2 -0
  159. package/dist/plugins/oura/src/index.js +2 -0
  160. package/dist/plugins/paddle/src/index.js +9 -0
  161. package/dist/plugins/pagerduty/src/index.js +9 -0
  162. package/dist/plugins/parallel/src/index.js +1 -0
  163. package/dist/plugins/paypal/src/index.js +4 -0
  164. package/dist/plugins/peekalink/src/index.js +2 -0
  165. package/dist/plugins/phantombuster/src/index.js +5 -0
  166. package/dist/plugins/philipsHue/src/index.js +4 -0
  167. package/dist/plugins/pipedrive/src/index.js +14 -0
  168. package/dist/plugins/plivo/src/index.js +3 -0
  169. package/dist/plugins/postbin/src/index.js +6 -0
  170. package/dist/plugins/posthog/src/index.js +5 -0
  171. package/dist/plugins/profitwell/src/index.js +2 -0
  172. package/dist/plugins/pushbullet/src/index.js +4 -0
  173. package/dist/plugins/pushcut/src/index.js +1 -0
  174. package/dist/plugins/pushover/src/index.js +1 -0
  175. package/dist/plugins/quickbase/src/index.js +8 -0
  176. package/dist/plugins/quickbooks/src/index.js +5 -0
  177. package/dist/plugins/quickchart/src/index.js +1 -0
  178. package/dist/plugins/raindrop/src/index.js +13 -0
  179. package/dist/plugins/recraft/src/index.js +1 -0
  180. package/dist/plugins/reddit/src/index.js +10 -0
  181. package/dist/plugins/replicate/src/index.js +1 -0
  182. package/dist/plugins/rocketchat/src/index.js +1 -0
  183. package/dist/plugins/rundeck/src/index.js +2 -0
  184. package/dist/plugins/salesforce/src/metadata.js +4 -0
  185. package/dist/plugins/salesforce/src/query.js +5 -0
  186. package/dist/plugins/salesforce/src/sobjects.js +12 -0
  187. package/dist/plugins/salesmate/src/index.js +5 -0
  188. package/dist/plugins/securityScorecard/src/index.js +14 -0
  189. package/dist/plugins/segment/src/index.js +4 -0
  190. package/dist/plugins/sendgrid/src/index.js +10 -0
  191. package/dist/plugins/sendy/src/index.js +6 -0
  192. package/dist/plugins/sentry/src/index.js +24 -0
  193. package/dist/plugins/servicenow/src/index.js +10 -0
  194. package/dist/plugins/shiftLabs/src/index.js +6 -0
  195. package/dist/plugins/shiftLabs/src/issues.js +4 -0
  196. package/dist/plugins/shiftLabs/src/pages.js +10 -0
  197. package/dist/plugins/shiftLabs/src/shared.js +2 -0
  198. package/dist/plugins/shiftLabs/src/transcription.js +203 -0
  199. package/dist/plugins/shopify/src/index.js +10 -0
  200. package/dist/plugins/signl4/src/index.js +2 -0
  201. package/dist/plugins/slack/src/index.js +38 -0
  202. package/dist/plugins/sms77/src/index.js +2 -0
  203. package/dist/plugins/splunk/src/index.js +16 -0
  204. package/dist/plugins/spotify/src/index.js +30 -0
  205. package/dist/plugins/stackby/src/index.js +4 -0
  206. package/dist/plugins/steel/src/browser.js +7 -0
  207. package/dist/plugins/steel/src/captchas.js +3 -0
  208. package/dist/plugins/steel/src/credentials.js +4 -0
  209. package/dist/plugins/steel/src/extensions.js +5 -0
  210. package/dist/plugins/steel/src/files.js +10 -0
  211. package/dist/plugins/steel/src/profiles.js +4 -0
  212. package/dist/plugins/steel/src/sessions.js +11 -0
  213. package/dist/plugins/storyblok/src/index.js +7 -0
  214. package/dist/plugins/strapi/src/index.js +5 -0
  215. package/dist/plugins/strava/src/index.js +6 -0
  216. package/dist/plugins/stripe/src/index.js +20 -0
  217. package/dist/plugins/supabase/src/index.js +5 -0
  218. package/dist/plugins/syncromsp/src/index.js +20 -0
  219. package/dist/plugins/tapfiliate/src/index.js +11 -0
  220. package/dist/plugins/telegram/src/index.js +21 -0
  221. package/dist/plugins/thehive/src/index.js +23 -0
  222. package/dist/plugins/thehiveProject/src/index.js +31 -0
  223. package/dist/plugins/todoist/src/index.js +31 -0
  224. package/dist/plugins/together/src/index.js +1 -0
  225. package/dist/plugins/travisci/src/index.js +5 -0
  226. package/dist/plugins/trello/src/index.js +37 -0
  227. package/dist/plugins/twake/src/index.js +1 -0
  228. package/dist/plugins/twilio/src/index.js +2 -0
  229. package/dist/plugins/twist/src/index.js +22 -0
  230. package/dist/plugins/twitter/src/index.js +8 -0
  231. package/dist/plugins/unleashedSoftware/src/index.js +3 -0
  232. package/dist/plugins/uplead/src/index.js +2 -0
  233. package/dist/plugins/uproc/src/index.js +1 -0
  234. package/dist/plugins/uptimerobot/src/index.js +22 -0
  235. package/dist/plugins/urlscanio/src/index.js +3 -0
  236. package/dist/plugins/vercel/src/account.js +1 -0
  237. package/dist/plugins/vercel/src/deployments.js +5 -0
  238. package/dist/plugins/vercel/src/env.js +4 -0
  239. package/dist/plugins/vercel/src/projects.js +2 -0
  240. package/dist/plugins/vercel/src/shared.js +1 -0
  241. package/dist/plugins/vero/src/index.js +6 -0
  242. package/dist/plugins/vonage/src/index.js +1 -0
  243. package/dist/plugins/wekan/src/index.js +24 -0
  244. package/dist/plugins/woocommerce/src/index.js +5 -0
  245. package/dist/plugins/wordpress/src/index.js +10 -0
  246. package/dist/plugins/xai/src/index.js +1 -0
  247. package/dist/plugins/xero/src/index.js +8 -0
  248. package/dist/plugins/yourls/src/index.js +3 -0
  249. package/dist/plugins/zammad/src/index.js +12 -0
  250. package/dist/plugins/zendesk/src/index.js +18 -0
  251. package/dist/plugins/zoho/src/index.js +6 -0
  252. package/dist/plugins/zoom/src/index.js +5 -0
  253. package/dist/plugins/zulip/src/index.js +15 -0
  254. package/dist/sdk.d.ts +2 -1
  255. package/dist/sdk.js +1 -0
  256. package/package.json +1 -1
@@ -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: {
@@ -84,6 +84,7 @@ export default function nextcloud(rl) {
84
84
  });
85
85
  // ── File/Folder operations (non-binary) ─────────────
86
86
  rl.registerAction("file.copy", {
87
+ access: "write",
87
88
  description: "Copy a file on Nextcloud",
88
89
  inputSchema: {
89
90
  path: {
@@ -107,6 +108,7 @@ export default function nextcloud(rl) {
107
108
  },
108
109
  });
109
110
  rl.registerAction("file.delete", {
111
+ access: "write",
110
112
  description: "Delete a file on Nextcloud",
111
113
  inputSchema: {
112
114
  path: {
@@ -122,6 +124,7 @@ export default function nextcloud(rl) {
122
124
  },
123
125
  });
124
126
  rl.registerAction("file.move", {
127
+ access: "write",
125
128
  description: "Move/rename a file on Nextcloud",
126
129
  inputSchema: {
127
130
  path: { type: "string", required: true, description: "Source file path" },
@@ -141,6 +144,7 @@ export default function nextcloud(rl) {
141
144
  },
142
145
  });
143
146
  rl.registerAction("file.share", {
147
+ access: "write",
144
148
  description: "Share a file or folder via Nextcloud sharing API",
145
149
  inputSchema: {
146
150
  path: {
@@ -185,6 +189,7 @@ export default function nextcloud(rl) {
185
189
  },
186
190
  });
187
191
  rl.registerAction("folder.create", {
192
+ access: "write",
188
193
  description: "Create a folder on Nextcloud",
189
194
  inputSchema: {
190
195
  path: {
@@ -200,6 +205,7 @@ export default function nextcloud(rl) {
200
205
  },
201
206
  });
202
207
  rl.registerAction("folder.delete", {
208
+ access: "write",
203
209
  description: "Delete a folder on Nextcloud",
204
210
  inputSchema: {
205
211
  path: {
@@ -215,6 +221,7 @@ export default function nextcloud(rl) {
215
221
  },
216
222
  });
217
223
  rl.registerAction("folder.copy", {
224
+ access: "write",
218
225
  description: "Copy a folder on Nextcloud",
219
226
  inputSchema: {
220
227
  path: {
@@ -238,6 +245,7 @@ export default function nextcloud(rl) {
238
245
  },
239
246
  });
240
247
  rl.registerAction("folder.move", {
248
+ access: "write",
241
249
  description: "Move/rename a folder on Nextcloud",
242
250
  inputSchema: {
243
251
  path: {
@@ -262,6 +270,7 @@ export default function nextcloud(rl) {
262
270
  });
263
271
  // ── User operations ─────────────────────────────────
264
272
  rl.registerAction("user.create", {
273
+ access: "write",
265
274
  description: "Create a user on Nextcloud",
266
275
  inputSchema: {
267
276
  userId: { type: "string", required: true, description: "Username" },
@@ -284,6 +293,7 @@ export default function nextcloud(rl) {
284
293
  },
285
294
  });
286
295
  rl.registerAction("user.delete", {
296
+ access: "write",
287
297
  description: "Delete a user on Nextcloud",
288
298
  inputSchema: {
289
299
  userId: { type: "string", required: true, description: "Username" },
@@ -295,6 +305,7 @@ export default function nextcloud(rl) {
295
305
  },
296
306
  });
297
307
  rl.registerAction("user.get", {
308
+ access: "read",
298
309
  description: "Get a user's information",
299
310
  inputSchema: {
300
311
  userId: { type: "string", required: true, description: "Username" },
@@ -306,6 +317,7 @@ export default function nextcloud(rl) {
306
317
  },
307
318
  });
308
319
  rl.registerAction("user.list", {
320
+ access: "read",
309
321
  description: "List all users",
310
322
  inputSchema: {
311
323
  limit: { type: "number", required: false, description: "Max results" },
@@ -326,6 +338,7 @@ export default function nextcloud(rl) {
326
338
  },
327
339
  });
328
340
  rl.registerAction("user.update", {
341
+ access: "write",
329
342
  description: "Update a user attribute (email, displayname, password, address, twitter, website)",
330
343
  inputSchema: {
331
344
  userId: { type: "string", required: true, description: "Username" },
@@ -59,6 +59,7 @@ export default function nocodb(rl) {
59
59
  },
60
60
  });
61
61
  rl.registerAction("row.create", {
62
+ access: "write",
62
63
  description: "Create one or more rows in a NocoDB table (v2 API)",
63
64
  inputSchema: {
64
65
  tableId: { type: "string", required: true, description: "Table ID" },
@@ -75,6 +76,7 @@ export default function nocodb(rl) {
75
76
  },
76
77
  });
77
78
  rl.registerAction("row.get", {
79
+ access: "read",
78
80
  description: "Get a single row by ID",
79
81
  inputSchema: {
80
82
  tableId: { type: "string", required: true, description: "Table ID" },
@@ -86,6 +88,7 @@ export default function nocodb(rl) {
86
88
  },
87
89
  });
88
90
  rl.registerAction("row.list", {
91
+ access: "read",
89
92
  description: "List rows from a NocoDB table",
90
93
  inputSchema: {
91
94
  tableId: { type: "string", required: true, description: "Table ID" },
@@ -144,6 +147,7 @@ export default function nocodb(rl) {
144
147
  },
145
148
  });
146
149
  rl.registerAction("row.update", {
150
+ access: "write",
147
151
  description: "Update one or more rows (include primary key in each row object)",
148
152
  inputSchema: {
149
153
  tableId: { type: "string", required: true, description: "Table ID" },
@@ -159,6 +163,7 @@ export default function nocodb(rl) {
159
163
  },
160
164
  });
161
165
  rl.registerAction("row.delete", {
166
+ access: "write",
162
167
  description: "Delete one or more rows by ID",
163
168
  inputSchema: {
164
169
  tableId: { type: "string", required: true, description: "Table ID" },
@@ -23,6 +23,7 @@ export default function node(rl) {
23
23
  const nodeActions = [
24
24
  // fs/promises-shaped actions
25
25
  action("fs.readFile", {
26
+ access: "read",
26
27
  description: "Read a file from the host filesystem",
27
28
  inputSchema: {
28
29
  path: { type: "string", required: true, description: "File path" },
@@ -38,6 +39,7 @@ const nodeActions = [
38
39
  },
39
40
  }),
40
41
  action("fs.writeFile", {
42
+ access: "write",
41
43
  description: "Write text data to a file on the host filesystem",
42
44
  inputSchema: {
43
45
  path: { type: "string", required: true, description: "File path" },
@@ -55,6 +57,7 @@ const nodeActions = [
55
57
  },
56
58
  }),
57
59
  action("fs.appendFile", {
60
+ access: "write",
58
61
  description: "Append text data to a file on the host filesystem",
59
62
  inputSchema: {
60
63
  path: { type: "string", required: true, description: "File path" },
@@ -76,6 +79,7 @@ const nodeActions = [
76
79
  },
77
80
  }),
78
81
  action("fs.readdir", {
82
+ access: "read",
79
83
  description: "List a directory",
80
84
  inputSchema: {
81
85
  ...pathInput("Directory path"),
@@ -99,6 +103,7 @@ const nodeActions = [
99
103
  },
100
104
  }),
101
105
  action("fs.stat", {
106
+ access: "read",
102
107
  description: "Stat a filesystem path",
103
108
  inputSchema: pathInput(),
104
109
  async execute(input) {
@@ -106,6 +111,7 @@ const nodeActions = [
106
111
  },
107
112
  }),
108
113
  action("fs.lstat", {
114
+ access: "read",
109
115
  description: "lstat a filesystem path",
110
116
  inputSchema: pathInput(),
111
117
  async execute(input) {
@@ -113,6 +119,7 @@ const nodeActions = [
113
119
  },
114
120
  }),
115
121
  action("fs.exists", {
122
+ access: "read",
116
123
  description: "Check whether a filesystem path exists",
117
124
  inputSchema: pathInput(),
118
125
  execute(input) {
@@ -120,6 +127,7 @@ const nodeActions = [
120
127
  },
121
128
  }),
122
129
  action("fs.access", {
130
+ access: "read",
123
131
  description: "Check file access",
124
132
  inputSchema: pathInput(),
125
133
  async execute(input) {
@@ -128,6 +136,7 @@ const nodeActions = [
128
136
  },
129
137
  }),
130
138
  action("fs.mkdir", {
139
+ access: "write",
131
140
  description: "Create a directory",
132
141
  inputSchema: {
133
142
  ...pathInput(),
@@ -144,6 +153,7 @@ const nodeActions = [
144
153
  },
145
154
  }),
146
155
  action("fs.rm", {
156
+ access: "write",
147
157
  description: "Remove a file or directory",
148
158
  inputSchema: {
149
159
  ...pathInput(),
@@ -165,6 +175,7 @@ const nodeActions = [
165
175
  },
166
176
  }),
167
177
  action("fs.unlink", {
178
+ access: "write",
168
179
  description: "Remove a file",
169
180
  inputSchema: pathInput(),
170
181
  async execute(input) {
@@ -174,6 +185,7 @@ const nodeActions = [
174
185
  },
175
186
  }),
176
187
  action("fs.rename", {
188
+ access: "write",
177
189
  description: "Rename a file or directory",
178
190
  inputSchema: {
179
191
  from: { type: "string", required: true, description: "Source path" },
@@ -186,6 +198,7 @@ const nodeActions = [
186
198
  },
187
199
  }),
188
200
  action("fs.copyFile", {
201
+ access: "write",
189
202
  description: "Copy a file",
190
203
  inputSchema: {
191
204
  from: { type: "string", required: true, description: "Source path" },
@@ -199,6 +212,7 @@ const nodeActions = [
199
212
  }),
200
213
  // path-shaped actions. Most accept either an array or { segments: string[] }.
201
214
  action("path.join", {
215
+ access: "read",
202
216
  description: "Join path segments",
203
217
  inputSchema: {
204
218
  segments: {
@@ -212,6 +226,7 @@ const nodeActions = [
212
226
  },
213
227
  }),
214
228
  action("path.resolve", {
229
+ access: "read",
215
230
  description: "Resolve path segments",
216
231
  inputSchema: {
217
232
  segments: {
@@ -225,6 +240,7 @@ const nodeActions = [
225
240
  },
226
241
  }),
227
242
  action("path.normalize", {
243
+ access: "read",
228
244
  description: "Normalize a path",
229
245
  inputSchema: pathInput(),
230
246
  execute(input) {
@@ -232,6 +248,7 @@ const nodeActions = [
232
248
  },
233
249
  }),
234
250
  action("path.dirname", {
251
+ access: "read",
235
252
  description: "Get a path dirname",
236
253
  inputSchema: pathInput(),
237
254
  execute(input) {
@@ -239,6 +256,7 @@ const nodeActions = [
239
256
  },
240
257
  }),
241
258
  action("path.basename", {
259
+ access: "read",
242
260
  description: "Get a path basename",
243
261
  inputSchema: {
244
262
  ...pathInput(),
@@ -254,6 +272,7 @@ const nodeActions = [
254
272
  },
255
273
  }),
256
274
  action("path.extname", {
275
+ access: "read",
257
276
  description: "Get a path extension",
258
277
  inputSchema: pathInput(),
259
278
  execute(input) {
@@ -261,6 +280,7 @@ const nodeActions = [
261
280
  },
262
281
  }),
263
282
  action("path.relative", {
283
+ access: "read",
264
284
  description: "Get a relative path",
265
285
  inputSchema: {
266
286
  from: { type: "string", required: true, description: "Source path" },
@@ -272,6 +292,7 @@ const nodeActions = [
272
292
  },
273
293
  }),
274
294
  action("path.isAbsolute", {
295
+ access: "read",
275
296
  description: "Check whether a path is absolute",
276
297
  inputSchema: pathInput(),
277
298
  execute(input) {
@@ -279,6 +300,7 @@ const nodeActions = [
279
300
  },
280
301
  }),
281
302
  action("path.parse", {
303
+ access: "read",
282
304
  description: "Parse a path into components",
283
305
  inputSchema: pathInput(),
284
306
  execute(input) {
@@ -286,6 +308,7 @@ const nodeActions = [
286
308
  },
287
309
  }),
288
310
  action("path.format", {
311
+ access: "read",
289
312
  description: "Format a path object into a path string",
290
313
  inputSchema: {
291
314
  pathObject: {
@@ -300,6 +323,7 @@ const nodeActions = [
300
323
  },
301
324
  }),
302
325
  action("path.constants", {
326
+ access: "read",
303
327
  description: "Get path separator constants",
304
328
  execute() {
305
329
  return { sep, delimiter };
@@ -307,6 +331,7 @@ const nodeActions = [
307
331
  }),
308
332
  // os/process/shell actions
309
333
  action("os.info", {
334
+ access: "read",
310
335
  description: "Get useful host OS information",
311
336
  execute() {
312
337
  return {
@@ -326,22 +351,27 @@ const nodeActions = [
326
351
  },
327
352
  }),
328
353
  action("os.platform", {
354
+ access: "read",
329
355
  description: "Get OS platform",
330
356
  execute: () => platform(),
331
357
  }),
332
358
  action("os.arch", {
359
+ access: "read",
333
360
  description: "Get OS architecture",
334
361
  execute: () => arch(),
335
362
  }),
336
363
  action("os.homedir", {
364
+ access: "read",
337
365
  description: "Get home directory",
338
366
  execute: () => homedir(),
339
367
  }),
340
368
  action("os.tmpdir", {
369
+ access: "read",
341
370
  description: "Get temp directory",
342
371
  execute: () => tmpdir(),
343
372
  }),
344
373
  action("os.userInfo", {
374
+ access: "read",
345
375
  description: "Get current user information",
346
376
  execute() {
347
377
  const info = userInfo();
@@ -355,10 +385,12 @@ const nodeActions = [
355
385
  },
356
386
  }),
357
387
  action("process.cwd", {
388
+ access: "read",
358
389
  description: "Get the current working directory",
359
390
  execute: () => process.cwd(),
360
391
  }),
361
392
  action("process.env", {
393
+ access: "read",
362
394
  description: "Read environment variables from the host process",
363
395
  inputSchema: {
364
396
  name: {
@@ -373,6 +405,7 @@ const nodeActions = [
373
405
  },
374
406
  }),
375
407
  action("process.exec", {
408
+ access: "write",
376
409
  description: "Run a shell command on the host",
377
410
  inputSchema: {
378
411
  command: {
@@ -402,6 +435,7 @@ const nodeActions = [
402
435
  },
403
436
  }),
404
437
  action("process.execFile", {
438
+ access: "write",
405
439
  description: "Run a host executable without a shell",
406
440
  inputSchema: {
407
441
  file: {
@@ -432,12 +466,14 @@ const nodeActions = [
432
466
  },
433
467
  }),
434
468
  action("crypto.randomUUID", {
469
+ access: "read",
435
470
  description: "Generate a random UUID using the host crypto runtime",
436
471
  execute() {
437
472
  return randomUUID();
438
473
  },
439
474
  }),
440
475
  action("crypto.randomBytes", {
476
+ access: "read",
441
477
  description: "Generate cryptographically strong random bytes as hex or base64",
442
478
  inputSchema: {
443
479
  size: {
@@ -457,6 +493,7 @@ const nodeActions = [
457
493
  },
458
494
  }),
459
495
  action("crypto.hash", {
496
+ access: "read",
460
497
  description: "Hash text data with a Node crypto digest algorithm",
461
498
  inputSchema: {
462
499
  algorithm: {
@@ -477,6 +514,7 @@ const nodeActions = [
477
514
  },
478
515
  }),
479
516
  action("fetch", {
517
+ access: "write",
480
518
  description: "Perform an HTTP fetch from the host runtime",
481
519
  inputSchema: {
482
520
  url: { type: "string", required: true, description: "Request URL" },