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
@@ -37,6 +37,7 @@ export default function notion(rl) {
37
37
  const t = (ctx) => ctx.connection.config.apiKey;
38
38
  // ── Block ───────────────────────────────────────────
39
39
  rl.registerAction("block.append", {
40
+ access: "write",
40
41
  description: "Append children blocks to a block/page",
41
42
  inputSchema: {
42
43
  blockId: { type: "string", required: true },
@@ -54,6 +55,7 @@ export default function notion(rl) {
54
55
  },
55
56
  });
56
57
  rl.registerAction("block.getChildren", {
58
+ access: "read",
57
59
  description: "Get child blocks of a block/page",
58
60
  inputSchema: {
59
61
  blockId: { type: "string", required: true },
@@ -69,6 +71,7 @@ export default function notion(rl) {
69
71
  },
70
72
  });
71
73
  rl.registerAction("block.delete", {
74
+ access: "write",
72
75
  description: "Delete (archive) a block",
73
76
  inputSchema: { blockId: { type: "string", required: true } },
74
77
  async execute(input, ctx) {
@@ -77,6 +80,7 @@ export default function notion(rl) {
77
80
  });
78
81
  // ── Database ────────────────────────────────────────
79
82
  rl.registerAction("database.get", {
83
+ access: "read",
80
84
  description: "Get a database",
81
85
  inputSchema: { databaseId: { type: "string", required: true } },
82
86
  async execute(input, ctx) {
@@ -84,6 +88,7 @@ export default function notion(rl) {
84
88
  },
85
89
  });
86
90
  rl.registerAction("database.list", {
91
+ access: "read",
87
92
  description: "List all databases (via search)",
88
93
  inputSchema: { limit: { type: "number", required: false } },
89
94
  async execute(input, ctx) {
@@ -97,6 +102,7 @@ export default function notion(rl) {
97
102
  },
98
103
  });
99
104
  rl.registerAction("database.query", {
105
+ access: "read",
100
106
  description: "Query a database (list pages with filters)",
101
107
  inputSchema: {
102
108
  databaseId: { type: "string", required: true },
@@ -127,6 +133,7 @@ export default function notion(rl) {
127
133
  });
128
134
  // ── Page ────────────────────────────────────────────
129
135
  rl.registerAction("page.create", {
136
+ access: "write",
130
137
  description: "Create a page (in a database or under a page)",
131
138
  inputSchema: {
132
139
  parent: {
@@ -151,6 +158,7 @@ export default function notion(rl) {
151
158
  },
152
159
  });
153
160
  rl.registerAction("page.get", {
161
+ access: "read",
154
162
  description: "Get a page",
155
163
  inputSchema: { pageId: { type: "string", required: true } },
156
164
  async execute(input, ctx) {
@@ -158,6 +166,7 @@ export default function notion(rl) {
158
166
  },
159
167
  });
160
168
  rl.registerAction("page.update", {
169
+ access: "write",
161
170
  description: "Update page properties",
162
171
  inputSchema: {
163
172
  pageId: { type: "string", required: true },
@@ -171,6 +180,7 @@ export default function notion(rl) {
171
180
  },
172
181
  });
173
182
  rl.registerAction("page.archive", {
183
+ access: "write",
174
184
  description: "Archive a page",
175
185
  inputSchema: { pageId: { type: "string", required: true } },
176
186
  async execute(input, ctx) {
@@ -178,6 +188,7 @@ export default function notion(rl) {
178
188
  },
179
189
  });
180
190
  rl.registerAction("page.search", {
191
+ access: "read",
181
192
  description: "Search pages",
182
193
  inputSchema: {
183
194
  query: { type: "string", required: false },
@@ -196,6 +207,7 @@ export default function notion(rl) {
196
207
  });
197
208
  // ── User ────────────────────────────────────────────
198
209
  rl.registerAction("user.get", {
210
+ access: "read",
199
211
  description: "Get a user",
200
212
  inputSchema: { userId: { type: "string", required: true } },
201
213
  async execute(input, ctx) {
@@ -203,6 +215,7 @@ export default function notion(rl) {
203
215
  },
204
216
  });
205
217
  rl.registerAction("user.list", {
218
+ access: "read",
206
219
  description: "List all users",
207
220
  inputSchema: { limit: { type: "number", required: false } },
208
221
  async execute(input, ctx) {
@@ -214,6 +227,7 @@ export default function notion(rl) {
214
227
  },
215
228
  });
216
229
  rl.registerAction("user.me", {
230
+ access: "read",
217
231
  description: "Get the bot user",
218
232
  inputSchema: {},
219
233
  async execute(_input, ctx) {
@@ -39,6 +39,7 @@ export default function npm(rl) {
39
39
  },
40
40
  });
41
41
  rl.registerAction("package.getMetadata", {
42
+ access: "read",
42
43
  description: "Get metadata for a package at a specific version",
43
44
  inputSchema: {
44
45
  packageName: {
@@ -59,6 +60,7 @@ export default function npm(rl) {
59
60
  },
60
61
  });
61
62
  rl.registerAction("package.getVersions", {
63
+ access: "read",
62
64
  description: "Get all versions for a package with publish dates",
63
65
  inputSchema: {
64
66
  packageName: {
@@ -80,6 +82,7 @@ export default function npm(rl) {
80
82
  },
81
83
  });
82
84
  rl.registerAction("package.search", {
85
+ access: "read",
83
86
  description: "Search for packages on the npm registry",
84
87
  inputSchema: {
85
88
  query: { type: "string", required: true, description: "Search query" },
@@ -111,6 +114,7 @@ export default function npm(rl) {
111
114
  },
112
115
  });
113
116
  rl.registerAction("distTag.list", {
117
+ access: "read",
114
118
  description: "Get all dist-tags for a package",
115
119
  inputSchema: {
116
120
  packageName: {
@@ -125,6 +129,7 @@ export default function npm(rl) {
125
129
  },
126
130
  });
127
131
  rl.registerAction("distTag.update", {
132
+ access: "write",
128
133
  description: "Update a dist-tag for a package (requires auth)",
129
134
  inputSchema: {
130
135
  packageName: {
@@ -101,6 +101,7 @@ export default function odoo(rl) {
101
101
  return { url: c.url, db, uid, password: c.password };
102
102
  }
103
103
  rl.registerAction("record.create", {
104
+ access: "write",
104
105
  description: "Create a record in any Odoo model (contact, opportunity, note, or custom model name)",
105
106
  inputSchema: {
106
107
  model: {
@@ -122,6 +123,7 @@ export default function odoo(rl) {
122
123
  },
123
124
  });
124
125
  rl.registerAction("record.get", {
126
+ access: "read",
125
127
  description: "Read a record by ID",
126
128
  inputSchema: {
127
129
  model: {
@@ -144,6 +146,7 @@ export default function odoo(rl) {
144
146
  },
145
147
  });
146
148
  rl.registerAction("record.list", {
149
+ access: "read",
147
150
  description: "Search and read records from any Odoo model",
148
151
  inputSchema: {
149
152
  model: {
@@ -183,6 +186,7 @@ export default function odoo(rl) {
183
186
  },
184
187
  });
185
188
  rl.registerAction("record.update", {
189
+ access: "write",
186
190
  description: "Update a record by ID",
187
191
  inputSchema: {
188
192
  model: {
@@ -205,6 +209,7 @@ export default function odoo(rl) {
205
209
  },
206
210
  });
207
211
  rl.registerAction("record.delete", {
212
+ access: "write",
208
213
  description: "Delete a record by ID",
209
214
  inputSchema: {
210
215
  model: {
@@ -222,6 +227,7 @@ export default function odoo(rl) {
222
227
  },
223
228
  });
224
229
  rl.registerAction("model.getFields", {
230
+ access: "read",
225
231
  description: "Get field definitions for an Odoo model",
226
232
  inputSchema: {
227
233
  model: {
@@ -64,6 +64,7 @@ export default function okta(rl) {
64
64
  },
65
65
  });
66
66
  rl.registerAction("user.create", {
67
+ access: "write",
67
68
  description: "Create a new user in Okta",
68
69
  inputSchema: {
69
70
  firstName: { type: "string", required: true },
@@ -109,6 +110,7 @@ export default function okta(rl) {
109
110
  },
110
111
  });
111
112
  rl.registerAction("user.get", {
113
+ access: "read",
112
114
  description: "Get user details by ID or login",
113
115
  inputSchema: {
114
116
  userId: {
@@ -124,6 +126,7 @@ export default function okta(rl) {
124
126
  },
125
127
  });
126
128
  rl.registerAction("user.list", {
129
+ access: "read",
127
130
  description: "List users (with optional search query)",
128
131
  inputSchema: {
129
132
  search: {
@@ -152,6 +155,7 @@ export default function okta(rl) {
152
155
  },
153
156
  });
154
157
  rl.registerAction("user.update", {
158
+ access: "write",
155
159
  description: "Update a user's profile",
156
160
  inputSchema: {
157
161
  userId: { type: "string", required: true, description: "User ID" },
@@ -168,6 +172,7 @@ export default function okta(rl) {
168
172
  },
169
173
  });
170
174
  rl.registerAction("user.delete", {
175
+ access: "write",
171
176
  description: "Delete (deactivate and then delete) a user",
172
177
  inputSchema: {
173
178
  userId: { type: "string", required: true, description: "User ID" },
@@ -26,6 +26,7 @@ export default function oneSimpleApi(rl) {
26
26
  const key = (ctx) => ctx.connection.config.apiToken;
27
27
  // ── Website ─────────────────────────────────────────
28
28
  rl.registerAction("website.pdf", {
29
+ access: "write",
29
30
  description: "Generate a PDF from a webpage (returns URL to the PDF)",
30
31
  inputSchema: {
31
32
  url: { type: "string", required: true, description: "Webpage URL" },
@@ -50,6 +51,7 @@ export default function oneSimpleApi(rl) {
50
51
  },
51
52
  });
52
53
  rl.registerAction("website.screenshot", {
54
+ access: "write",
53
55
  description: "Take a screenshot of a webpage (returns URL to the image)",
54
56
  inputSchema: {
55
57
  url: { type: "string", required: true, description: "Webpage URL" },
@@ -80,6 +82,7 @@ export default function oneSimpleApi(rl) {
80
82
  },
81
83
  });
82
84
  rl.registerAction("website.seo", {
85
+ access: "read",
83
86
  description: "Get SEO information from a webpage",
84
87
  inputSchema: {
85
88
  url: { type: "string", required: true, description: "Webpage URL" },
@@ -99,6 +102,7 @@ export default function oneSimpleApi(rl) {
99
102
  });
100
103
  // ── Social Profile ──────────────────────────────────
101
104
  rl.registerAction("socialProfile.instagram", {
105
+ access: "read",
102
106
  description: "Get details about an Instagram profile",
103
107
  inputSchema: {
104
108
  profile: {
@@ -113,6 +117,7 @@ export default function oneSimpleApi(rl) {
113
117
  },
114
118
  });
115
119
  rl.registerAction("socialProfile.spotify", {
120
+ access: "read",
116
121
  description: "Get details about a Spotify artist",
117
122
  inputSchema: {
118
123
  profile: {
@@ -128,6 +133,7 @@ export default function oneSimpleApi(rl) {
128
133
  });
129
134
  // ── Information ─────────────────────────────────────
130
135
  rl.registerAction("information.exchangeRate", {
136
+ access: "read",
131
137
  description: "Convert a value between currencies",
132
138
  inputSchema: {
133
139
  value: {
@@ -156,6 +162,7 @@ export default function oneSimpleApi(rl) {
156
162
  },
157
163
  });
158
164
  rl.registerAction("information.imageMetadata", {
165
+ access: "read",
159
166
  description: "Get metadata from an image URL",
160
167
  inputSchema: {
161
168
  url: { type: "string", required: true, description: "Image URL" },
@@ -167,6 +174,7 @@ export default function oneSimpleApi(rl) {
167
174
  });
168
175
  // ── Utility ─────────────────────────────────────────
169
176
  rl.registerAction("utility.validateEmail", {
177
+ access: "read",
170
178
  description: "Validate an email address",
171
179
  inputSchema: {
172
180
  email: {
@@ -181,6 +189,7 @@ export default function oneSimpleApi(rl) {
181
189
  },
182
190
  });
183
191
  rl.registerAction("utility.expandUrl", {
192
+ access: "read",
184
193
  description: "Expand a shortened URL",
185
194
  inputSchema: {
186
195
  url: { type: "string", required: true, description: "Shortened URL" },
@@ -191,6 +200,7 @@ export default function oneSimpleApi(rl) {
191
200
  },
192
201
  });
193
202
  rl.registerAction("utility.qrCode", {
203
+ access: "write",
194
204
  description: "Generate a QR code (returns URL to the image)",
195
205
  inputSchema: {
196
206
  message: {
@@ -25,6 +25,7 @@ async function apiRequest(apiKey, method, endpoint, body, qs) {
25
25
  }
26
26
  function registerCrud(rl, resource, plural, key, createSchema) {
27
27
  rl.registerAction(`${resource}.create`, {
28
+ access: "write",
28
29
  description: `Create a ${resource}`,
29
30
  inputSchema: createSchema,
30
31
  async execute(input, ctx) {
@@ -32,6 +33,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
32
33
  },
33
34
  });
34
35
  rl.registerAction(`${resource}.get`, {
36
+ access: "read",
35
37
  description: `Get a ${resource} by ID`,
36
38
  inputSchema: { id: { type: "string", required: true } },
37
39
  async execute(input, ctx) {
@@ -39,6 +41,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
39
41
  },
40
42
  });
41
43
  rl.registerAction(`${resource}.list`, {
44
+ access: "read",
42
45
  description: `List ${plural}`,
43
46
  inputSchema: { limit: { type: "number", required: false } },
44
47
  async execute(input, ctx) {
@@ -48,6 +51,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
48
51
  },
49
52
  });
50
53
  rl.registerAction(`${resource}.update`, {
54
+ access: "write",
51
55
  description: `Update a ${resource}`,
52
56
  inputSchema: {
53
57
  id: { type: "string", required: true },
@@ -59,6 +63,7 @@ function registerCrud(rl, resource, plural, key, createSchema) {
59
63
  },
60
64
  });
61
65
  rl.registerAction(`${resource}.delete`, {
66
+ access: "write",
62
67
  description: `Delete a ${resource}`,
63
68
  inputSchema: { id: { type: "string", required: true } },
64
69
  async execute(input, ctx) {
@@ -81,6 +86,7 @@ export default function onfleet(rl) {
81
86
  const key = (ctx) => ctx.connection.config.apiKey;
82
87
  // ── Organization ────────────────────────────────────
83
88
  rl.registerAction("organization.get", {
89
+ access: "read",
84
90
  description: "Get organization details",
85
91
  inputSchema: {},
86
92
  async execute(_input, ctx) {
@@ -89,6 +95,7 @@ export default function onfleet(rl) {
89
95
  });
90
96
  // ── Task ────────────────────────────────────────────
91
97
  rl.registerAction("task.create", {
98
+ access: "write",
92
99
  description: "Create a task",
93
100
  inputSchema: {
94
101
  destination: {
@@ -118,6 +125,7 @@ export default function onfleet(rl) {
118
125
  },
119
126
  });
120
127
  rl.registerAction("task.get", {
128
+ access: "read",
121
129
  description: "Get a task by ID",
122
130
  inputSchema: { id: { type: "string", required: true } },
123
131
  async execute(input, ctx) {
@@ -127,6 +135,7 @@ export default function onfleet(rl) {
127
135
  },
128
136
  });
129
137
  rl.registerAction("task.list", {
138
+ access: "read",
130
139
  description: "List tasks",
131
140
  inputSchema: {
132
141
  from: { type: "number", required: false, description: "Unix ms start" },
@@ -148,6 +157,7 @@ export default function onfleet(rl) {
148
157
  },
149
158
  });
150
159
  rl.registerAction("task.update", {
160
+ access: "write",
151
161
  description: "Update a task",
152
162
  inputSchema: {
153
163
  id: { type: "string", required: true },
@@ -159,6 +169,7 @@ export default function onfleet(rl) {
159
169
  },
160
170
  });
161
171
  rl.registerAction("task.delete", {
172
+ access: "write",
162
173
  description: "Delete a task",
163
174
  inputSchema: { id: { type: "string", required: true } },
164
175
  async execute(input, ctx) {
@@ -167,6 +178,7 @@ export default function onfleet(rl) {
167
178
  },
168
179
  });
169
180
  rl.registerAction("task.complete", {
181
+ access: "write",
170
182
  description: "Force-complete a task",
171
183
  inputSchema: {
172
184
  id: { type: "string", required: true },
@@ -197,6 +209,7 @@ export default function onfleet(rl) {
197
209
  });
198
210
  // ── Hub ─────────────────────────────────────────────
199
211
  rl.registerAction("hub.create", {
212
+ access: "write",
200
213
  description: "Create a hub",
201
214
  inputSchema: {
202
215
  name: { type: "string", required: true },
@@ -207,6 +220,7 @@ export default function onfleet(rl) {
207
220
  },
208
221
  });
209
222
  rl.registerAction("hub.list", {
223
+ access: "read",
210
224
  description: "List hubs",
211
225
  inputSchema: { limit: { type: "number", required: false } },
212
226
  async execute(input, ctx) {
@@ -216,6 +230,7 @@ export default function onfleet(rl) {
216
230
  },
217
231
  });
218
232
  rl.registerAction("hub.update", {
233
+ access: "write",
219
234
  description: "Update a hub",
220
235
  inputSchema: {
221
236
  id: { type: "string", required: true },
@@ -242,6 +257,7 @@ export default function onfleet(rl) {
242
257
  });
243
258
  // ── Recipient ───────────────────────────────────────
244
259
  rl.registerAction("recipient.create", {
260
+ access: "write",
245
261
  description: "Create a recipient",
246
262
  inputSchema: {
247
263
  name: { type: "string", required: true },
@@ -253,6 +269,7 @@ export default function onfleet(rl) {
253
269
  },
254
270
  });
255
271
  rl.registerAction("recipient.get", {
272
+ access: "read",
256
273
  description: "Get a recipient by ID",
257
274
  inputSchema: { id: { type: "string", required: true } },
258
275
  async execute(input, ctx) {
@@ -260,6 +277,7 @@ export default function onfleet(rl) {
260
277
  },
261
278
  });
262
279
  rl.registerAction("recipient.update", {
280
+ access: "write",
263
281
  description: "Update a recipient",
264
282
  inputSchema: {
265
283
  id: { type: "string", required: true },
@@ -272,6 +290,7 @@ export default function onfleet(rl) {
272
290
  });
273
291
  // ── Container ────────────────────────────────────────
274
292
  rl.registerAction("container.get", {
293
+ access: "read",
275
294
  description: "Get a container by type and ID",
276
295
  inputSchema: {
277
296
  containerType: {
@@ -287,6 +306,7 @@ export default function onfleet(rl) {
287
306
  },
288
307
  });
289
308
  rl.registerAction("container.updateTasks", {
309
+ access: "write",
290
310
  description: "Update tasks in a container",
291
311
  inputSchema: {
292
312
  containerType: {
@@ -307,6 +327,7 @@ export default function onfleet(rl) {
307
327
  },
308
328
  });
309
329
  rl.registerAction("team.getTimeEstimates", {
330
+ access: "read",
310
331
  description: "Get driver time estimates for a team",
311
332
  inputSchema: {
312
333
  id: { type: "string", required: true },
@@ -327,6 +348,7 @@ export default function onfleet(rl) {
327
348
  },
328
349
  });
329
350
  rl.registerAction("team.autoDispatch", {
351
+ access: "write",
330
352
  description: "Auto-dispatch tasks for a team",
331
353
  inputSchema: {
332
354
  id: { type: "string", required: true },
@@ -339,6 +361,7 @@ export default function onfleet(rl) {
339
361
  });
340
362
  // ── Destination ─────────────────────────────────────
341
363
  rl.registerAction("destination.create", {
364
+ access: "write",
342
365
  description: "Create a destination",
343
366
  inputSchema: {
344
367
  address: {
@@ -352,6 +375,7 @@ export default function onfleet(rl) {
352
375
  },
353
376
  });
354
377
  rl.registerAction("destination.get", {
378
+ access: "read",
355
379
  description: "Get a destination by ID",
356
380
  inputSchema: { id: { type: "string", required: true } },
357
381
  async execute(input, ctx) {
@@ -3,6 +3,7 @@ export default function openThesaurus(rl) {
3
3
  rl.setVersion("0.1.0");
4
4
  rl.setConnectionSchema({});
5
5
  rl.registerAction("synonyms.get", {
6
+ access: "read",
6
7
  description: "Get synonyms for a German word (OpenThesaurus API, no auth required)",
7
8
  inputSchema: {
8
9
  text: {
@@ -36,6 +36,7 @@ export default function openai(rl) {
36
36
  },
37
37
  });
38
38
  rl.registerAction("image.create", {
39
+ access: "write",
39
40
  description: "Generate an image with OpenAI (GPT Image / DALL-E). Writes the PNG(s) to disk and returns their file `path`s (plus any revised prompt) — not base64. Deliver each image to the user with send_file using its `path`.",
40
41
  inputSchema: {
41
42
  prompt: {
@@ -59,6 +59,7 @@ export default function openWeatherMap(rl) {
59
59
  });
60
60
  const key = (ctx) => ctx.connection.config.apiKey;
61
61
  rl.registerAction("weather.current", {
62
+ access: "read",
62
63
  description: "Get current weather data for a location",
63
64
  inputSchema: locationSchema,
64
65
  async execute(input, ctx) {
@@ -71,6 +72,7 @@ export default function openWeatherMap(rl) {
71
72
  },
72
73
  });
73
74
  rl.registerAction("weather.forecast5day", {
75
+ access: "read",
74
76
  description: "Get 5-day / 3-hour weather forecast for a location",
75
77
  inputSchema: locationSchema,
76
78
  async execute(input, ctx) {
@@ -30,6 +30,7 @@ export default function oura(rl) {
30
30
  });
31
31
  const key = (ctx) => ctx.connection.config.accessToken;
32
32
  rl.registerAction("profile.get", {
33
+ access: "read",
33
34
  description: "Get the user's personal information",
34
35
  inputSchema: {},
35
36
  async execute(_input, ctx) {
@@ -55,6 +56,7 @@ export default function oura(rl) {
55
56
  ];
56
57
  for (const ep of summaryEndpoints) {
57
58
  rl.registerAction(ep.name, {
59
+ access: "read",
58
60
  description: ep.description,
59
61
  inputSchema: {
60
62
  startDate: {
@@ -62,6 +62,7 @@ export default function paddle(rl) {
62
62
  });
63
63
  // ── Coupon ──────────────────────────────────────────
64
64
  rl.registerAction("coupon.create", {
65
+ access: "write",
65
66
  description: "Create a coupon",
66
67
  inputSchema: {
67
68
  couponType: {
@@ -130,6 +131,7 @@ export default function paddle(rl) {
130
131
  },
131
132
  });
132
133
  rl.registerAction("coupon.list", {
134
+ access: "read",
133
135
  description: "List coupons for a product",
134
136
  inputSchema: {
135
137
  productId: { type: "string", required: true, description: "Product ID" },
@@ -144,6 +146,7 @@ export default function paddle(rl) {
144
146
  },
145
147
  });
146
148
  rl.registerAction("coupon.update", {
149
+ access: "write",
147
150
  description: "Update a coupon by code or group",
148
151
  inputSchema: {
149
152
  couponCode: {
@@ -193,6 +196,7 @@ export default function paddle(rl) {
193
196
  });
194
197
  // ── Payment ─────────────────────────────────────────
195
198
  rl.registerAction("payment.list", {
199
+ access: "read",
196
200
  description: "List subscription payments",
197
201
  inputSchema: {
198
202
  subscriptionId: { type: "number", required: false },
@@ -225,6 +229,7 @@ export default function paddle(rl) {
225
229
  },
226
230
  });
227
231
  rl.registerAction("payment.reschedule", {
232
+ access: "write",
228
233
  description: "Reschedule a payment",
229
234
  inputSchema: {
230
235
  paymentId: { type: "number", required: true },
@@ -244,6 +249,7 @@ export default function paddle(rl) {
244
249
  });
245
250
  // ── Plan ────────────────────────────────────────────
246
251
  rl.registerAction("plan.get", {
252
+ access: "read",
247
253
  description: "Get a subscription plan by ID",
248
254
  inputSchema: { planId: { type: "string", required: true } },
249
255
  async execute(input, ctx) {
@@ -254,6 +260,7 @@ export default function paddle(rl) {
254
260
  },
255
261
  });
256
262
  rl.registerAction("plan.list", {
263
+ access: "read",
257
264
  description: "List all subscription plans",
258
265
  inputSchema: { limit: { type: "number", required: false } },
259
266
  async execute(input, ctx) {
@@ -266,6 +273,7 @@ export default function paddle(rl) {
266
273
  });
267
274
  // ── Product ─────────────────────────────────────────
268
275
  rl.registerAction("product.list", {
276
+ access: "read",
269
277
  description: "List all products",
270
278
  inputSchema: { limit: { type: "number", required: false } },
271
279
  async execute(input, ctx) {
@@ -279,6 +287,7 @@ export default function paddle(rl) {
279
287
  });
280
288
  // ── User ────────────────────────────────────────────
281
289
  rl.registerAction("user.list", {
290
+ access: "read",
282
291
  description: "List subscription users",
283
292
  inputSchema: {
284
293
  state: {
@@ -52,6 +52,7 @@ export default function pagerduty(rl) {
52
52
  });
53
53
  // ── Incident ────────────────────────────────────────
54
54
  rl.registerAction("incident.create", {
55
+ access: "write",
55
56
  description: "Create a new incident",
56
57
  inputSchema: {
57
58
  title: { type: "string", required: true },
@@ -96,6 +97,7 @@ export default function pagerduty(rl) {
96
97
  },
97
98
  });
98
99
  rl.registerAction("incident.get", {
100
+ access: "read",
99
101
  description: "Get an incident by ID",
100
102
  inputSchema: { incidentId: { type: "string", required: true } },
101
103
  async execute(input, ctx) {
@@ -105,6 +107,7 @@ export default function pagerduty(rl) {
105
107
  },
106
108
  });
107
109
  rl.registerAction("incident.list", {
110
+ access: "read",
108
111
  description: "List incidents",
109
112
  inputSchema: {
110
113
  limit: { type: "number", required: false },
@@ -131,6 +134,7 @@ export default function pagerduty(rl) {
131
134
  },
132
135
  });
133
136
  rl.registerAction("incident.update", {
137
+ access: "write",
134
138
  description: "Update an incident",
135
139
  inputSchema: {
136
140
  incidentId: { type: "string", required: true },
@@ -177,6 +181,7 @@ export default function pagerduty(rl) {
177
181
  });
178
182
  // ── Incident Note ───────────────────────────────────
179
183
  rl.registerAction("incidentNote.create", {
184
+ access: "write",
180
185
  description: "Add a note to an incident",
181
186
  inputSchema: {
182
187
  incidentId: { type: "string", required: true },
@@ -193,6 +198,7 @@ export default function pagerduty(rl) {
193
198
  },
194
199
  });
195
200
  rl.registerAction("incidentNote.list", {
201
+ access: "read",
196
202
  description: "List notes for an incident",
197
203
  inputSchema: {
198
204
  incidentId: { type: "string", required: true },
@@ -209,6 +215,7 @@ export default function pagerduty(rl) {
209
215
  });
210
216
  // ── Log Entry ───────────────────────────────────────
211
217
  rl.registerAction("logEntry.get", {
218
+ access: "read",
212
219
  description: "Get a log entry by ID",
213
220
  inputSchema: { logEntryId: { type: "string", required: true } },
214
221
  async execute(input, ctx) {
@@ -218,6 +225,7 @@ export default function pagerduty(rl) {
218
225
  },
219
226
  });
220
227
  rl.registerAction("logEntry.list", {
228
+ access: "read",
221
229
  description: "List log entries",
222
230
  inputSchema: { limit: { type: "number", required: false } },
223
231
  async execute(input, ctx) {
@@ -231,6 +239,7 @@ export default function pagerduty(rl) {
231
239
  });
232
240
  // ── User ────────────────────────────────────────────
233
241
  rl.registerAction("user.get", {
242
+ access: "read",
234
243
  description: "Get a user by ID",
235
244
  inputSchema: { userId: { type: "string", required: true } },
236
245
  async execute(input, ctx) {