runline 0.11.6 → 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.
- package/dist/commands/actions.js +3 -1
- package/dist/core/engine.js +3 -0
- package/dist/index.d.ts +1 -1
- package/dist/plugin/api.d.ts +2 -1
- package/dist/plugin/types.d.ts +2 -0
- package/dist/plugins/actionNetwork/src/index.js +23 -0
- package/dist/plugins/activeCampaign/src/index.js +48 -0
- package/dist/plugins/adalo/src/index.js +5 -0
- package/dist/plugins/affinity/src/index.js +16 -0
- package/dist/plugins/agileCrm/src/index.js +15 -0
- package/dist/plugins/airtable/src/index.js +10 -0
- package/dist/plugins/airtop/src/index.js +24 -0
- package/dist/plugins/apiTemplateIo/src/index.js +4 -0
- package/dist/plugins/asana/src/index.js +22 -0
- package/dist/plugins/autopilot/src/index.js +11 -0
- package/dist/plugins/bambooHr/src/index.js +11 -0
- package/dist/plugins/bannerbear/src/index.js +4 -0
- package/dist/plugins/baserow/src/index.js +8 -0
- package/dist/plugins/beeminder/src/index.js +18 -0
- package/dist/plugins/bitly/src/index.js +3 -0
- package/dist/plugins/bitwarden/src/index.js +19 -0
- package/dist/plugins/box/src/index.js +11 -0
- package/dist/plugins/brandfetch/src/index.js +5 -0
- package/dist/plugins/brevo/src/index.js +15 -0
- package/dist/plugins/bubble/src/index.js +5 -0
- package/dist/plugins/chargebee/src/index.js +5 -0
- package/dist/plugins/circleci/src/index.js +3 -0
- package/dist/plugins/ciscoWebex/src/index.js +10 -0
- package/dist/plugins/clearbit/src/index.js +3 -0
- package/dist/plugins/clickup/src/index.js +61 -0
- package/dist/plugins/clockify/src/index.js +25 -0
- package/dist/plugins/cloudflare/src/index.js +4 -0
- package/dist/plugins/cockpit/src/index.js +5 -0
- package/dist/plugins/coda/src/index.js +18 -0
- package/dist/plugins/coingecko/src/index.js +10 -0
- package/dist/plugins/contentful/src/index.js +7 -0
- package/dist/plugins/convertkit/src/index.js +16 -0
- package/dist/plugins/copper/src/index.js +7 -0
- package/dist/plugins/cortex/src/index.js +4 -0
- package/dist/plugins/currents/src/index.js +22 -0
- package/dist/plugins/customerIo/src/index.js +9 -0
- package/dist/plugins/databricks/src/index.js +34 -0
- package/dist/plugins/deepl/src/index.js +2 -0
- package/dist/plugins/demio/src/index.js +4 -0
- package/dist/plugins/dhl/src/index.js +1 -0
- package/dist/plugins/discord/src/index.js +13 -0
- package/dist/plugins/discourse/src/index.js +16 -0
- package/dist/plugins/disqus/src/index.js +4 -0
- package/dist/plugins/docker/src/index.js +5 -0
- package/dist/plugins/drift/src/index.js +5 -0
- package/dist/plugins/dropbox/src/index.js +9 -0
- package/dist/plugins/dropcontact/src/index.js +2 -0
- package/dist/plugins/egoi/src/index.js +4 -0
- package/dist/plugins/elasticsearch/src/index.js +9 -0
- package/dist/plugins/emelia/src/index.js +9 -0
- package/dist/plugins/erpnext/src/index.js +5 -0
- package/dist/plugins/facebookGraph/src/index.js +1 -0
- package/dist/plugins/freshdesk/src/index.js +10 -0
- package/dist/plugins/freshservice/src/index.js +7 -0
- package/dist/plugins/freshworksCrm/src/index.js +7 -0
- package/dist/plugins/getresponse/src/index.js +5 -0
- package/dist/plugins/ghost/src/index.js +5 -0
- package/dist/plugins/github/src/index.js +37 -0
- package/dist/plugins/gitlab/src/index.js +17 -0
- package/dist/plugins/gmail/src/index.js +32 -0
- package/dist/plugins/gong/src/index.js +4 -0
- package/dist/plugins/googleAppsScript/src/index.js +10 -0
- package/dist/plugins/googleCalendar/src/index.js +22 -0
- package/dist/plugins/googleContacts/src/index.js +10 -0
- package/dist/plugins/googleDocs/src/documents.js +4 -0
- package/dist/plugins/googleDocs/src/formatting.js +2 -0
- package/dist/plugins/googleDocs/src/images.js +2 -0
- package/dist/plugins/googleDocs/src/structure.js +13 -0
- package/dist/plugins/googleDocs/src/tables.js +11 -0
- package/dist/plugins/googleDocs/src/tabs.js +3 -0
- package/dist/plugins/googleDocs/src/text.js +9 -0
- package/dist/plugins/googleDrive/src/index.js +47 -0
- package/dist/plugins/googleImage/src/index.js +1 -0
- package/dist/plugins/googleSheets/src/index.js +23 -0
- package/dist/plugins/googleSlides/src/index.js +7 -0
- package/dist/plugins/googleTasks/src/index.js +12 -0
- package/dist/plugins/gotify/src/index.js +3 -0
- package/dist/plugins/gotowebinar/src/index.js +20 -0
- package/dist/plugins/grafana/src/index.js +17 -0
- package/dist/plugins/graphql/src/index.js +2 -0
- package/dist/plugins/grist/src/index.js +4 -0
- package/dist/plugins/hackernews/src/index.js +6 -0
- package/dist/plugins/halopsa/src/index.js +5 -0
- package/dist/plugins/harvest/src/index.js +14 -0
- package/dist/plugins/helpscout/src/index.js +13 -0
- package/dist/plugins/highlevel/src/index.js +17 -0
- package/dist/plugins/homeAssistant/src/index.js +13 -0
- package/dist/plugins/hubspot/src/index.js +14 -0
- package/dist/plugins/humanticAi/src/index.js +3 -0
- package/dist/plugins/hunter/src/index.js +3 -0
- package/dist/plugins/intercom/src/index.js +10 -0
- package/dist/plugins/iterable/src/index.js +6 -0
- package/dist/plugins/jenkins/src/index.js +11 -0
- package/dist/plugins/jira/src/index.js +16 -0
- package/dist/plugins/keap/src/index.js +28 -0
- package/dist/plugins/kobotoolbox/src/index.js +17 -0
- package/dist/plugins/lemlist/src/index.js +15 -0
- package/dist/plugins/linear/src/attachments.js +6 -0
- package/dist/plugins/linear/src/comments.js +5 -0
- package/dist/plugins/linear/src/cycles.js +2 -0
- package/dist/plugins/linear/src/initiatives.js +5 -0
- package/dist/plugins/linear/src/issues.js +14 -0
- package/dist/plugins/linear/src/labels.js +5 -0
- package/dist/plugins/linear/src/organization.js +1 -0
- package/dist/plugins/linear/src/projects.js +11 -0
- package/dist/plugins/linear/src/shared.js +2 -0
- package/dist/plugins/linear/src/states.js +2 -0
- package/dist/plugins/linear/src/teams.js +3 -0
- package/dist/plugins/linear/src/users.js +2 -0
- package/dist/plugins/linear/src/views.js +4 -0
- package/dist/plugins/linear/src/webhooks.js +4 -0
- package/dist/plugins/lingvanex/src/index.js +1 -0
- package/dist/plugins/linkedin/src/index.js +1 -0
- package/dist/plugins/lonescale/src/index.js +4 -0
- package/dist/plugins/magento/src/index.js +15 -0
- package/dist/plugins/mailcheck/src/index.js +1 -0
- package/dist/plugins/mailchimp/src/index.js +14 -0
- package/dist/plugins/mailerlite/src/index.js +4 -0
- package/dist/plugins/mailgun/src/index.js +1 -0
- package/dist/plugins/mailjet/src/index.js +3 -0
- package/dist/plugins/mandrill/src/index.js +2 -0
- package/dist/plugins/marketstack/src/index.js +3 -0
- package/dist/plugins/matrix/src/index.js +10 -0
- package/dist/plugins/mattermost/src/index.js +19 -0
- package/dist/plugins/mautic/src/index.js +20 -0
- package/dist/plugins/medium/src/index.js +3 -0
- package/dist/plugins/messagebird/src/index.js +2 -0
- package/dist/plugins/metabase/src/index.js +10 -0
- package/dist/plugins/microsoftCalendar/src/index.js +2 -0
- package/dist/plugins/microsoftFiles/src/index.js +5 -0
- package/dist/plugins/microsoftMail/src/index.js +4 -0
- package/dist/plugins/misp/src/index.js +44 -0
- package/dist/plugins/mocean/src/index.js +2 -0
- package/dist/plugins/monday/src/index.js +18 -0
- package/dist/plugins/monicaCrm/src/index.js +5 -0
- package/dist/plugins/msg91/src/index.js +1 -0
- package/dist/plugins/nasa/src/index.js +7 -0
- package/dist/plugins/netlify/src/index.js +7 -0
- package/dist/plugins/netscalerAdc/src/index.js +3 -0
- package/dist/plugins/nextcloud/src/index.js +13 -0
- package/dist/plugins/nocodb/src/index.js +5 -0
- package/dist/plugins/node/src/index.js +38 -0
- package/dist/plugins/notion/src/index.js +14 -0
- package/dist/plugins/npm/src/index.js +5 -0
- package/dist/plugins/odoo/src/index.js +6 -0
- package/dist/plugins/okta/src/index.js +5 -0
- package/dist/plugins/oneSimpleApi/src/index.js +10 -0
- package/dist/plugins/onfleet/src/index.js +24 -0
- package/dist/plugins/openThesaurus/src/index.js +1 -0
- package/dist/plugins/openai/src/index.js +1 -0
- package/dist/plugins/openweathermap/src/index.js +2 -0
- package/dist/plugins/oura/src/index.js +2 -0
- package/dist/plugins/paddle/src/index.js +9 -0
- package/dist/plugins/pagerduty/src/index.js +9 -0
- package/dist/plugins/parallel/src/index.js +1 -0
- package/dist/plugins/paypal/src/index.js +4 -0
- package/dist/plugins/peekalink/src/index.js +2 -0
- package/dist/plugins/phantombuster/src/index.js +5 -0
- package/dist/plugins/philipsHue/src/index.js +4 -0
- package/dist/plugins/pipedrive/src/index.js +14 -0
- package/dist/plugins/plivo/src/index.js +3 -0
- package/dist/plugins/postbin/src/index.js +6 -0
- package/dist/plugins/posthog/src/index.js +5 -0
- package/dist/plugins/profitwell/src/index.js +2 -0
- package/dist/plugins/pushbullet/src/index.js +4 -0
- package/dist/plugins/pushcut/src/index.js +1 -0
- package/dist/plugins/pushover/src/index.js +1 -0
- package/dist/plugins/quickbase/src/index.js +8 -0
- package/dist/plugins/quickbooks/src/index.js +5 -0
- package/dist/plugins/quickchart/src/index.js +1 -0
- package/dist/plugins/raindrop/src/index.js +13 -0
- package/dist/plugins/recraft/src/index.js +1 -0
- package/dist/plugins/reddit/src/index.js +10 -0
- package/dist/plugins/replicate/src/index.js +1 -0
- package/dist/plugins/rocketchat/src/index.js +1 -0
- package/dist/plugins/rundeck/src/index.js +2 -0
- package/dist/plugins/salesforce/src/metadata.js +4 -0
- package/dist/plugins/salesforce/src/query.js +5 -0
- package/dist/plugins/salesforce/src/sobjects.js +12 -0
- package/dist/plugins/salesmate/src/index.js +5 -0
- package/dist/plugins/securityScorecard/src/index.js +14 -0
- package/dist/plugins/segment/src/index.js +4 -0
- package/dist/plugins/sendgrid/src/index.js +10 -0
- package/dist/plugins/sendy/src/index.js +6 -0
- package/dist/plugins/sentry/src/index.js +24 -0
- package/dist/plugins/servicenow/src/index.js +10 -0
- package/dist/plugins/shiftLabs/src/issues.js +4 -0
- package/dist/plugins/shiftLabs/src/pages.js +10 -0
- package/dist/plugins/shopify/src/index.js +10 -0
- package/dist/plugins/signl4/src/index.js +2 -0
- package/dist/plugins/slack/src/index.js +38 -0
- package/dist/plugins/sms77/src/index.js +2 -0
- package/dist/plugins/splunk/src/index.js +16 -0
- package/dist/plugins/spotify/src/index.js +30 -0
- package/dist/plugins/stackby/src/index.js +4 -0
- package/dist/plugins/steel/src/browser.js +7 -0
- package/dist/plugins/steel/src/captchas.js +3 -0
- package/dist/plugins/steel/src/credentials.js +4 -0
- package/dist/plugins/steel/src/extensions.js +5 -0
- package/dist/plugins/steel/src/files.js +10 -0
- package/dist/plugins/steel/src/profiles.js +4 -0
- package/dist/plugins/steel/src/sessions.js +11 -0
- package/dist/plugins/storyblok/src/index.js +7 -0
- package/dist/plugins/strapi/src/index.js +5 -0
- package/dist/plugins/strava/src/index.js +6 -0
- package/dist/plugins/stripe/src/index.js +20 -0
- package/dist/plugins/supabase/src/index.js +5 -0
- package/dist/plugins/syncromsp/src/index.js +20 -0
- package/dist/plugins/tapfiliate/src/index.js +11 -0
- package/dist/plugins/telegram/src/index.js +21 -0
- package/dist/plugins/thehive/src/index.js +23 -0
- package/dist/plugins/thehiveProject/src/index.js +31 -0
- package/dist/plugins/todoist/src/index.js +31 -0
- package/dist/plugins/together/src/index.js +1 -0
- package/dist/plugins/travisci/src/index.js +5 -0
- package/dist/plugins/trello/src/index.js +37 -0
- package/dist/plugins/twake/src/index.js +1 -0
- package/dist/plugins/twilio/src/index.js +2 -0
- package/dist/plugins/twist/src/index.js +22 -0
- package/dist/plugins/twitter/src/index.js +8 -0
- package/dist/plugins/unleashedSoftware/src/index.js +3 -0
- package/dist/plugins/uplead/src/index.js +2 -0
- package/dist/plugins/uproc/src/index.js +1 -0
- package/dist/plugins/uptimerobot/src/index.js +22 -0
- package/dist/plugins/urlscanio/src/index.js +3 -0
- package/dist/plugins/vercel/src/account.js +1 -0
- package/dist/plugins/vercel/src/deployments.js +5 -0
- package/dist/plugins/vercel/src/env.js +4 -0
- package/dist/plugins/vercel/src/projects.js +2 -0
- package/dist/plugins/vercel/src/shared.js +1 -0
- package/dist/plugins/vero/src/index.js +6 -0
- package/dist/plugins/vonage/src/index.js +1 -0
- package/dist/plugins/wekan/src/index.js +24 -0
- package/dist/plugins/woocommerce/src/index.js +5 -0
- package/dist/plugins/wordpress/src/index.js +10 -0
- package/dist/plugins/xai/src/index.js +1 -0
- package/dist/plugins/xero/src/index.js +8 -0
- package/dist/plugins/yourls/src/index.js +3 -0
- package/dist/plugins/zammad/src/index.js +12 -0
- package/dist/plugins/zendesk/src/index.js +18 -0
- package/dist/plugins/zoho/src/index.js +6 -0
- package/dist/plugins/zoom/src/index.js +5 -0
- package/dist/plugins/zulip/src/index.js +15 -0
- package/dist/sdk.d.ts +2 -1
- package/dist/sdk.js +1 -0
- package/package.json +1 -1
|
@@ -62,6 +62,7 @@ export default function discourse(rl) {
|
|
|
62
62
|
});
|
|
63
63
|
// ── Category ────────────────────────────────────────
|
|
64
64
|
rl.registerAction("category.create", {
|
|
65
|
+
access: "write",
|
|
65
66
|
description: "Create a category",
|
|
66
67
|
inputSchema: {
|
|
67
68
|
name: { type: "string", required: true, description: "Category name" },
|
|
@@ -87,6 +88,7 @@ export default function discourse(rl) {
|
|
|
87
88
|
},
|
|
88
89
|
});
|
|
89
90
|
rl.registerAction("category.list", {
|
|
91
|
+
access: "read",
|
|
90
92
|
description: "List all categories",
|
|
91
93
|
inputSchema: {
|
|
92
94
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -102,6 +104,7 @@ export default function discourse(rl) {
|
|
|
102
104
|
},
|
|
103
105
|
});
|
|
104
106
|
rl.registerAction("category.update", {
|
|
107
|
+
access: "write",
|
|
105
108
|
description: "Update a category",
|
|
106
109
|
inputSchema: {
|
|
107
110
|
categoryId: {
|
|
@@ -130,6 +133,7 @@ export default function discourse(rl) {
|
|
|
130
133
|
});
|
|
131
134
|
// ── Group ───────────────────────────────────────────
|
|
132
135
|
rl.registerAction("group.create", {
|
|
136
|
+
access: "write",
|
|
133
137
|
description: "Create a group",
|
|
134
138
|
inputSchema: {
|
|
135
139
|
name: { type: "string", required: true, description: "Group name" },
|
|
@@ -143,6 +147,7 @@ export default function discourse(rl) {
|
|
|
143
147
|
},
|
|
144
148
|
});
|
|
145
149
|
rl.registerAction("group.get", {
|
|
150
|
+
access: "read",
|
|
146
151
|
description: "Get a group by name",
|
|
147
152
|
inputSchema: {
|
|
148
153
|
name: { type: "string", required: true, description: "Group name" },
|
|
@@ -154,6 +159,7 @@ export default function discourse(rl) {
|
|
|
154
159
|
},
|
|
155
160
|
});
|
|
156
161
|
rl.registerAction("group.list", {
|
|
162
|
+
access: "read",
|
|
157
163
|
description: "List all groups",
|
|
158
164
|
inputSchema: {
|
|
159
165
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -168,6 +174,7 @@ export default function discourse(rl) {
|
|
|
168
174
|
},
|
|
169
175
|
});
|
|
170
176
|
rl.registerAction("group.update", {
|
|
177
|
+
access: "write",
|
|
171
178
|
description: "Update a group",
|
|
172
179
|
inputSchema: {
|
|
173
180
|
groupId: { type: "string", required: true, description: "Group ID" },
|
|
@@ -180,6 +187,7 @@ export default function discourse(rl) {
|
|
|
180
187
|
});
|
|
181
188
|
// ── Post ────────────────────────────────────────────
|
|
182
189
|
rl.registerAction("post.create", {
|
|
190
|
+
access: "write",
|
|
183
191
|
description: "Create a post (new topic or reply)",
|
|
184
192
|
inputSchema: {
|
|
185
193
|
title: {
|
|
@@ -223,6 +231,7 @@ export default function discourse(rl) {
|
|
|
223
231
|
},
|
|
224
232
|
});
|
|
225
233
|
rl.registerAction("post.get", {
|
|
234
|
+
access: "read",
|
|
226
235
|
description: "Get a post by ID",
|
|
227
236
|
inputSchema: {
|
|
228
237
|
postId: { type: "string", required: true, description: "Post ID" },
|
|
@@ -232,6 +241,7 @@ export default function discourse(rl) {
|
|
|
232
241
|
},
|
|
233
242
|
});
|
|
234
243
|
rl.registerAction("post.list", {
|
|
244
|
+
access: "read",
|
|
235
245
|
description: "List latest posts",
|
|
236
246
|
inputSchema: {
|
|
237
247
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -246,6 +256,7 @@ export default function discourse(rl) {
|
|
|
246
256
|
},
|
|
247
257
|
});
|
|
248
258
|
rl.registerAction("post.update", {
|
|
259
|
+
access: "write",
|
|
249
260
|
description: "Update a post",
|
|
250
261
|
inputSchema: {
|
|
251
262
|
postId: { type: "string", required: true, description: "Post ID" },
|
|
@@ -271,6 +282,7 @@ export default function discourse(rl) {
|
|
|
271
282
|
});
|
|
272
283
|
// ── User ────────────────────────────────────────────
|
|
273
284
|
rl.registerAction("user.create", {
|
|
285
|
+
access: "write",
|
|
274
286
|
description: "Create a user",
|
|
275
287
|
inputSchema: {
|
|
276
288
|
name: { type: "string", required: true, description: "Full name" },
|
|
@@ -292,6 +304,7 @@ export default function discourse(rl) {
|
|
|
292
304
|
},
|
|
293
305
|
});
|
|
294
306
|
rl.registerAction("user.get", {
|
|
307
|
+
access: "read",
|
|
295
308
|
description: "Get a user by username or external ID",
|
|
296
309
|
inputSchema: {
|
|
297
310
|
username: { type: "string", required: false, description: "Username" },
|
|
@@ -311,6 +324,7 @@ export default function discourse(rl) {
|
|
|
311
324
|
},
|
|
312
325
|
});
|
|
313
326
|
rl.registerAction("user.list", {
|
|
327
|
+
access: "read",
|
|
314
328
|
description: "List users (admin)",
|
|
315
329
|
inputSchema: {
|
|
316
330
|
flag: {
|
|
@@ -344,6 +358,7 @@ export default function discourse(rl) {
|
|
|
344
358
|
});
|
|
345
359
|
// ── User Group ──────────────────────────────────────
|
|
346
360
|
rl.registerAction("userGroup.add", {
|
|
361
|
+
access: "write",
|
|
347
362
|
description: "Add users to a group",
|
|
348
363
|
inputSchema: {
|
|
349
364
|
groupId: { type: "string", required: true, description: "Group ID" },
|
|
@@ -359,6 +374,7 @@ export default function discourse(rl) {
|
|
|
359
374
|
},
|
|
360
375
|
});
|
|
361
376
|
rl.registerAction("userGroup.remove", {
|
|
377
|
+
access: "write",
|
|
362
378
|
description: "Remove users from a group",
|
|
363
379
|
inputSchema: {
|
|
364
380
|
groupId: { type: "string", required: true, description: "Group ID" },
|
|
@@ -56,6 +56,7 @@ export default function disqus(rl) {
|
|
|
56
56
|
},
|
|
57
57
|
});
|
|
58
58
|
rl.registerAction("forum.get", {
|
|
59
|
+
access: "read",
|
|
59
60
|
description: "Get forum details",
|
|
60
61
|
inputSchema: {
|
|
61
62
|
forum: {
|
|
@@ -87,6 +88,7 @@ export default function disqus(rl) {
|
|
|
87
88
|
},
|
|
88
89
|
});
|
|
89
90
|
rl.registerAction("forum.listPosts", {
|
|
91
|
+
access: "read",
|
|
90
92
|
description: "List posts in a forum",
|
|
91
93
|
inputSchema: {
|
|
92
94
|
forum: {
|
|
@@ -142,6 +144,7 @@ export default function disqus(rl) {
|
|
|
142
144
|
},
|
|
143
145
|
});
|
|
144
146
|
rl.registerAction("forum.listCategories", {
|
|
147
|
+
access: "read",
|
|
145
148
|
description: "List categories in a forum",
|
|
146
149
|
inputSchema: {
|
|
147
150
|
forum: {
|
|
@@ -166,6 +169,7 @@ export default function disqus(rl) {
|
|
|
166
169
|
},
|
|
167
170
|
});
|
|
168
171
|
rl.registerAction("forum.listThreads", {
|
|
172
|
+
access: "read",
|
|
169
173
|
description: "List threads in a forum",
|
|
170
174
|
inputSchema: {
|
|
171
175
|
forum: {
|
|
@@ -8,6 +8,7 @@ export default function docker(rl) {
|
|
|
8
8
|
}
|
|
9
9
|
});
|
|
10
10
|
rl.registerAction("containers.list", {
|
|
11
|
+
access: "read",
|
|
11
12
|
description: "List Docker containers",
|
|
12
13
|
inputSchema: {
|
|
13
14
|
all: {
|
|
@@ -33,6 +34,7 @@ export default function docker(rl) {
|
|
|
33
34
|
},
|
|
34
35
|
});
|
|
35
36
|
rl.registerAction("containers.start", {
|
|
37
|
+
access: "write",
|
|
36
38
|
description: "Start a Docker container",
|
|
37
39
|
inputSchema: {
|
|
38
40
|
id: {
|
|
@@ -48,6 +50,7 @@ export default function docker(rl) {
|
|
|
48
50
|
},
|
|
49
51
|
});
|
|
50
52
|
rl.registerAction("containers.stop", {
|
|
53
|
+
access: "write",
|
|
51
54
|
description: "Stop a Docker container",
|
|
52
55
|
inputSchema: {
|
|
53
56
|
id: {
|
|
@@ -63,6 +66,7 @@ export default function docker(rl) {
|
|
|
63
66
|
},
|
|
64
67
|
});
|
|
65
68
|
rl.registerAction("images.list", {
|
|
69
|
+
access: "read",
|
|
66
70
|
description: "List Docker images",
|
|
67
71
|
execute() {
|
|
68
72
|
const { rows } = syncExec("docker", ["images", "--format", "{{json .}}", "--no-trunc"], { parser: "jsonlines" });
|
|
@@ -75,6 +79,7 @@ export default function docker(rl) {
|
|
|
75
79
|
},
|
|
76
80
|
});
|
|
77
81
|
rl.registerAction("images.pull", {
|
|
82
|
+
access: "write",
|
|
78
83
|
description: "Pull a Docker image",
|
|
79
84
|
inputSchema: {
|
|
80
85
|
image: {
|
|
@@ -33,6 +33,7 @@ export default function drift(rl) {
|
|
|
33
33
|
});
|
|
34
34
|
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
35
35
|
rl.registerAction("contact.create", {
|
|
36
|
+
access: "write",
|
|
36
37
|
description: "Create a contact",
|
|
37
38
|
inputSchema: {
|
|
38
39
|
email: { type: "string", required: true, description: "Email address" },
|
|
@@ -53,6 +54,7 @@ export default function drift(rl) {
|
|
|
53
54
|
},
|
|
54
55
|
});
|
|
55
56
|
rl.registerAction("contact.get", {
|
|
57
|
+
access: "read",
|
|
56
58
|
description: "Get a contact by ID",
|
|
57
59
|
inputSchema: {
|
|
58
60
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -63,6 +65,7 @@ export default function drift(rl) {
|
|
|
63
65
|
},
|
|
64
66
|
});
|
|
65
67
|
rl.registerAction("contact.update", {
|
|
68
|
+
access: "write",
|
|
66
69
|
description: "Update a contact",
|
|
67
70
|
inputSchema: {
|
|
68
71
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -84,6 +87,7 @@ export default function drift(rl) {
|
|
|
84
87
|
},
|
|
85
88
|
});
|
|
86
89
|
rl.registerAction("contact.delete", {
|
|
90
|
+
access: "write",
|
|
87
91
|
description: "Delete a contact",
|
|
88
92
|
inputSchema: {
|
|
89
93
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -94,6 +98,7 @@ export default function drift(rl) {
|
|
|
94
98
|
},
|
|
95
99
|
});
|
|
96
100
|
rl.registerAction("contact.getCustomAttributes", {
|
|
101
|
+
access: "read",
|
|
97
102
|
description: "List all custom contact attributes",
|
|
98
103
|
async execute(_input, ctx) {
|
|
99
104
|
const data = (await apiRequest(tok(ctx), "GET", "/contacts/attributes"));
|
|
@@ -60,6 +60,7 @@ export default function dropbox(rl) {
|
|
|
60
60
|
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
61
61
|
// ── File ────────────────────────────────────────────
|
|
62
62
|
rl.registerAction("file.copy", {
|
|
63
|
+
access: "write",
|
|
63
64
|
description: "Copy a file",
|
|
64
65
|
inputSchema: {
|
|
65
66
|
fromPath: {
|
|
@@ -82,6 +83,7 @@ export default function dropbox(rl) {
|
|
|
82
83
|
},
|
|
83
84
|
});
|
|
84
85
|
rl.registerAction("file.move", {
|
|
86
|
+
access: "write",
|
|
85
87
|
description: "Move a file",
|
|
86
88
|
inputSchema: {
|
|
87
89
|
fromPath: {
|
|
@@ -104,6 +106,7 @@ export default function dropbox(rl) {
|
|
|
104
106
|
},
|
|
105
107
|
});
|
|
106
108
|
rl.registerAction("file.delete", {
|
|
109
|
+
access: "write",
|
|
107
110
|
description: "Delete a file",
|
|
108
111
|
inputSchema: {
|
|
109
112
|
path: {
|
|
@@ -120,6 +123,7 @@ export default function dropbox(rl) {
|
|
|
120
123
|
});
|
|
121
124
|
// ── Folder ──────────────────────────────────────────
|
|
122
125
|
rl.registerAction("folder.create", {
|
|
126
|
+
access: "write",
|
|
123
127
|
description: "Create a folder",
|
|
124
128
|
inputSchema: {
|
|
125
129
|
path: {
|
|
@@ -135,6 +139,7 @@ export default function dropbox(rl) {
|
|
|
135
139
|
},
|
|
136
140
|
});
|
|
137
141
|
rl.registerAction("folder.list", {
|
|
142
|
+
access: "read",
|
|
138
143
|
description: "List contents of a folder",
|
|
139
144
|
inputSchema: {
|
|
140
145
|
path: {
|
|
@@ -166,6 +171,7 @@ export default function dropbox(rl) {
|
|
|
166
171
|
},
|
|
167
172
|
});
|
|
168
173
|
rl.registerAction("folder.copy", {
|
|
174
|
+
access: "write",
|
|
169
175
|
description: "Copy a folder",
|
|
170
176
|
inputSchema: {
|
|
171
177
|
fromPath: {
|
|
@@ -188,6 +194,7 @@ export default function dropbox(rl) {
|
|
|
188
194
|
},
|
|
189
195
|
});
|
|
190
196
|
rl.registerAction("folder.move", {
|
|
197
|
+
access: "write",
|
|
191
198
|
description: "Move a folder",
|
|
192
199
|
inputSchema: {
|
|
193
200
|
fromPath: {
|
|
@@ -210,6 +217,7 @@ export default function dropbox(rl) {
|
|
|
210
217
|
},
|
|
211
218
|
});
|
|
212
219
|
rl.registerAction("folder.delete", {
|
|
220
|
+
access: "write",
|
|
213
221
|
description: "Delete a folder",
|
|
214
222
|
inputSchema: {
|
|
215
223
|
path: {
|
|
@@ -226,6 +234,7 @@ export default function dropbox(rl) {
|
|
|
226
234
|
});
|
|
227
235
|
// ── Search ──────────────────────────────────────────
|
|
228
236
|
rl.registerAction("search.query", {
|
|
237
|
+
access: "read",
|
|
229
238
|
description: "Search for files and folders",
|
|
230
239
|
inputSchema: {
|
|
231
240
|
query: { type: "string", required: true, description: "Search query" },
|
|
@@ -28,6 +28,7 @@ export default function dropcontact(rl) {
|
|
|
28
28
|
});
|
|
29
29
|
const key = (ctx) => ctx.connection.config.apiKey;
|
|
30
30
|
rl.registerAction("contact.enrich", {
|
|
31
|
+
access: "write",
|
|
31
32
|
description: "Enrich contacts — find B2B emails from name and website",
|
|
32
33
|
inputSchema: {
|
|
33
34
|
contacts: {
|
|
@@ -57,6 +58,7 @@ export default function dropcontact(rl) {
|
|
|
57
58
|
},
|
|
58
59
|
});
|
|
59
60
|
rl.registerAction("contact.fetchRequest", {
|
|
61
|
+
access: "read",
|
|
60
62
|
description: "Fetch results of a previous enrich request by ID",
|
|
61
63
|
inputSchema: {
|
|
62
64
|
requestId: {
|
|
@@ -54,6 +54,7 @@ export default function egoi(rl) {
|
|
|
54
54
|
});
|
|
55
55
|
const key = (ctx) => ctx.connection.config.apiKey;
|
|
56
56
|
rl.registerAction("contact.create", {
|
|
57
|
+
access: "write",
|
|
57
58
|
description: "Create a contact in a list",
|
|
58
59
|
inputSchema: {
|
|
59
60
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -110,6 +111,7 @@ export default function egoi(rl) {
|
|
|
110
111
|
},
|
|
111
112
|
});
|
|
112
113
|
rl.registerAction("contact.get", {
|
|
114
|
+
access: "read",
|
|
113
115
|
description: "Get a contact by ID or email",
|
|
114
116
|
inputSchema: {
|
|
115
117
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -130,6 +132,7 @@ export default function egoi(rl) {
|
|
|
130
132
|
},
|
|
131
133
|
});
|
|
132
134
|
rl.registerAction("contact.list", {
|
|
135
|
+
access: "read",
|
|
133
136
|
description: "List contacts in a list",
|
|
134
137
|
inputSchema: {
|
|
135
138
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -141,6 +144,7 @@ export default function egoi(rl) {
|
|
|
141
144
|
},
|
|
142
145
|
});
|
|
143
146
|
rl.registerAction("contact.update", {
|
|
147
|
+
access: "write",
|
|
144
148
|
description: "Update a contact",
|
|
145
149
|
inputSchema: {
|
|
146
150
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -64,6 +64,7 @@ export default function elasticsearch(rl) {
|
|
|
64
64
|
});
|
|
65
65
|
// ── Document ────────────────────────────────────────
|
|
66
66
|
rl.registerAction("document.create", {
|
|
67
|
+
access: "write",
|
|
67
68
|
description: "Index (create) a document",
|
|
68
69
|
inputSchema: {
|
|
69
70
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -81,6 +82,7 @@ export default function elasticsearch(rl) {
|
|
|
81
82
|
},
|
|
82
83
|
});
|
|
83
84
|
rl.registerAction("document.get", {
|
|
85
|
+
access: "read",
|
|
84
86
|
description: "Get a document by ID",
|
|
85
87
|
inputSchema: {
|
|
86
88
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -92,6 +94,7 @@ export default function elasticsearch(rl) {
|
|
|
92
94
|
},
|
|
93
95
|
});
|
|
94
96
|
rl.registerAction("document.update", {
|
|
97
|
+
access: "write",
|
|
95
98
|
description: "Update a document",
|
|
96
99
|
inputSchema: {
|
|
97
100
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -108,6 +111,7 @@ export default function elasticsearch(rl) {
|
|
|
108
111
|
},
|
|
109
112
|
});
|
|
110
113
|
rl.registerAction("document.delete", {
|
|
114
|
+
access: "write",
|
|
111
115
|
description: "Delete a document",
|
|
112
116
|
inputSchema: {
|
|
113
117
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -119,6 +123,7 @@ export default function elasticsearch(rl) {
|
|
|
119
123
|
},
|
|
120
124
|
});
|
|
121
125
|
rl.registerAction("document.search", {
|
|
126
|
+
access: "read",
|
|
122
127
|
description: "Search documents in an index",
|
|
123
128
|
inputSchema: {
|
|
124
129
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -152,6 +157,7 @@ export default function elasticsearch(rl) {
|
|
|
152
157
|
});
|
|
153
158
|
// ── Index ───────────────────────────────────────────
|
|
154
159
|
rl.registerAction("index.create", {
|
|
160
|
+
access: "write",
|
|
155
161
|
description: "Create an index",
|
|
156
162
|
inputSchema: {
|
|
157
163
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -177,6 +183,7 @@ export default function elasticsearch(rl) {
|
|
|
177
183
|
},
|
|
178
184
|
});
|
|
179
185
|
rl.registerAction("index.get", {
|
|
186
|
+
access: "read",
|
|
180
187
|
description: "Get index details",
|
|
181
188
|
inputSchema: {
|
|
182
189
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -186,12 +193,14 @@ export default function elasticsearch(rl) {
|
|
|
186
193
|
},
|
|
187
194
|
});
|
|
188
195
|
rl.registerAction("index.list", {
|
|
196
|
+
access: "read",
|
|
189
197
|
description: "List all indices",
|
|
190
198
|
async execute(_input, ctx) {
|
|
191
199
|
return req(ctx, "GET", "/_cat/indices", undefined, { format: "json" });
|
|
192
200
|
},
|
|
193
201
|
});
|
|
194
202
|
rl.registerAction("index.delete", {
|
|
203
|
+
access: "write",
|
|
195
204
|
description: "Delete an index",
|
|
196
205
|
inputSchema: {
|
|
197
206
|
index: { type: "string", required: true, description: "Index name" },
|
|
@@ -32,6 +32,7 @@ export default function emelia(rl) {
|
|
|
32
32
|
const key = (ctx) => ctx.connection.config.apiKey;
|
|
33
33
|
// ── Campaign ────────────────────────────────────────
|
|
34
34
|
rl.registerAction("campaign.create", {
|
|
35
|
+
access: "write",
|
|
35
36
|
description: "Create a new campaign",
|
|
36
37
|
inputSchema: {
|
|
37
38
|
name: { type: "string", required: true, description: "Campaign name" },
|
|
@@ -45,6 +46,7 @@ export default function emelia(rl) {
|
|
|
45
46
|
},
|
|
46
47
|
});
|
|
47
48
|
rl.registerAction("campaign.get", {
|
|
49
|
+
access: "read",
|
|
48
50
|
description: "Get a campaign by ID",
|
|
49
51
|
inputSchema: {
|
|
50
52
|
campaignId: {
|
|
@@ -66,6 +68,7 @@ export default function emelia(rl) {
|
|
|
66
68
|
},
|
|
67
69
|
});
|
|
68
70
|
rl.registerAction("campaign.list", {
|
|
71
|
+
access: "read",
|
|
69
72
|
description: "List all campaigns",
|
|
70
73
|
inputSchema: {
|
|
71
74
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -86,6 +89,7 @@ export default function emelia(rl) {
|
|
|
86
89
|
},
|
|
87
90
|
});
|
|
88
91
|
rl.registerAction("campaign.addContact", {
|
|
92
|
+
access: "write",
|
|
89
93
|
description: "Add a contact to a campaign",
|
|
90
94
|
inputSchema: {
|
|
91
95
|
campaignId: {
|
|
@@ -119,6 +123,7 @@ export default function emelia(rl) {
|
|
|
119
123
|
},
|
|
120
124
|
});
|
|
121
125
|
rl.registerAction("campaign.start", {
|
|
126
|
+
access: "write",
|
|
122
127
|
description: "Start a campaign",
|
|
123
128
|
inputSchema: {
|
|
124
129
|
campaignId: {
|
|
@@ -133,6 +138,7 @@ export default function emelia(rl) {
|
|
|
133
138
|
},
|
|
134
139
|
});
|
|
135
140
|
rl.registerAction("campaign.pause", {
|
|
141
|
+
access: "write",
|
|
136
142
|
description: "Pause a campaign",
|
|
137
143
|
inputSchema: {
|
|
138
144
|
campaignId: {
|
|
@@ -147,6 +153,7 @@ export default function emelia(rl) {
|
|
|
147
153
|
},
|
|
148
154
|
});
|
|
149
155
|
rl.registerAction("campaign.duplicate", {
|
|
156
|
+
access: "write",
|
|
150
157
|
description: "Duplicate a campaign",
|
|
151
158
|
inputSchema: {
|
|
152
159
|
campaignId: {
|
|
@@ -198,6 +205,7 @@ export default function emelia(rl) {
|
|
|
198
205
|
});
|
|
199
206
|
// ── Contact List ────────────────────────────────────
|
|
200
207
|
rl.registerAction("contactList.list", {
|
|
208
|
+
access: "read",
|
|
201
209
|
description: "List all contact lists",
|
|
202
210
|
inputSchema: {
|
|
203
211
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -215,6 +223,7 @@ export default function emelia(rl) {
|
|
|
215
223
|
},
|
|
216
224
|
});
|
|
217
225
|
rl.registerAction("contactList.addContact", {
|
|
226
|
+
access: "write",
|
|
218
227
|
description: "Add a contact to a contact list",
|
|
219
228
|
inputSchema: {
|
|
220
229
|
contactListId: {
|
|
@@ -61,6 +61,7 @@ export default function erpnext(rl) {
|
|
|
61
61
|
},
|
|
62
62
|
});
|
|
63
63
|
rl.registerAction("document.get", {
|
|
64
|
+
access: "read",
|
|
64
65
|
description: "Get a document by DocType and name",
|
|
65
66
|
inputSchema: {
|
|
66
67
|
docType: {
|
|
@@ -81,6 +82,7 @@ export default function erpnext(rl) {
|
|
|
81
82
|
},
|
|
82
83
|
});
|
|
83
84
|
rl.registerAction("document.list", {
|
|
85
|
+
access: "read",
|
|
84
86
|
description: "List documents of a DocType",
|
|
85
87
|
inputSchema: {
|
|
86
88
|
docType: { type: "string", required: true, description: "Document type" },
|
|
@@ -125,6 +127,7 @@ export default function erpnext(rl) {
|
|
|
125
127
|
},
|
|
126
128
|
});
|
|
127
129
|
rl.registerAction("document.create", {
|
|
130
|
+
access: "write",
|
|
128
131
|
description: "Create a document",
|
|
129
132
|
inputSchema: {
|
|
130
133
|
docType: { type: "string", required: true, description: "Document type" },
|
|
@@ -141,6 +144,7 @@ export default function erpnext(rl) {
|
|
|
141
144
|
},
|
|
142
145
|
});
|
|
143
146
|
rl.registerAction("document.update", {
|
|
147
|
+
access: "write",
|
|
144
148
|
description: "Update a document",
|
|
145
149
|
inputSchema: {
|
|
146
150
|
docType: { type: "string", required: true, description: "Document type" },
|
|
@@ -162,6 +166,7 @@ export default function erpnext(rl) {
|
|
|
162
166
|
},
|
|
163
167
|
});
|
|
164
168
|
rl.registerAction("document.delete", {
|
|
169
|
+
access: "write",
|
|
165
170
|
description: "Delete a document",
|
|
166
171
|
inputSchema: {
|
|
167
172
|
docType: { type: "string", required: true, description: "Document type" },
|
|
@@ -10,6 +10,7 @@ export default function facebookGraph(rl) {
|
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
12
|
rl.registerAction("request", {
|
|
13
|
+
access: "write",
|
|
13
14
|
description: "Make a request to the Facebook Graph API. Supports GET, POST, DELETE against any node/edge combination.",
|
|
14
15
|
inputSchema: {
|
|
15
16
|
hostUrl: {
|
|
@@ -76,6 +76,7 @@ export default function freshdesk(rl) {
|
|
|
76
76
|
});
|
|
77
77
|
// ── Ticket ──────────────────────────────────────────
|
|
78
78
|
rl.registerAction("ticket.create", {
|
|
79
|
+
access: "write",
|
|
79
80
|
description: "Create a ticket",
|
|
80
81
|
inputSchema: {
|
|
81
82
|
email: {
|
|
@@ -191,6 +192,7 @@ export default function freshdesk(rl) {
|
|
|
191
192
|
},
|
|
192
193
|
});
|
|
193
194
|
rl.registerAction("ticket.get", {
|
|
195
|
+
access: "read",
|
|
194
196
|
description: "Get a ticket by ID",
|
|
195
197
|
inputSchema: {
|
|
196
198
|
ticketId: { type: "string", required: true, description: "Ticket ID" },
|
|
@@ -200,6 +202,7 @@ export default function freshdesk(rl) {
|
|
|
200
202
|
},
|
|
201
203
|
});
|
|
202
204
|
rl.registerAction("ticket.list", {
|
|
205
|
+
access: "read",
|
|
203
206
|
description: "List tickets",
|
|
204
207
|
inputSchema: {
|
|
205
208
|
limit: {
|
|
@@ -266,6 +269,7 @@ export default function freshdesk(rl) {
|
|
|
266
269
|
},
|
|
267
270
|
});
|
|
268
271
|
rl.registerAction("ticket.update", {
|
|
272
|
+
access: "write",
|
|
269
273
|
description: "Update a ticket",
|
|
270
274
|
inputSchema: {
|
|
271
275
|
ticketId: { type: "string", required: true, description: "Ticket ID" },
|
|
@@ -329,6 +333,7 @@ export default function freshdesk(rl) {
|
|
|
329
333
|
},
|
|
330
334
|
});
|
|
331
335
|
rl.registerAction("ticket.delete", {
|
|
336
|
+
access: "write",
|
|
332
337
|
description: "Delete a ticket",
|
|
333
338
|
inputSchema: {
|
|
334
339
|
ticketId: { type: "string", required: true, description: "Ticket ID" },
|
|
@@ -340,6 +345,7 @@ export default function freshdesk(rl) {
|
|
|
340
345
|
});
|
|
341
346
|
// ── Contact ─────────────────────────────────────────
|
|
342
347
|
rl.registerAction("contact.create", {
|
|
348
|
+
access: "write",
|
|
343
349
|
description: "Create a contact",
|
|
344
350
|
inputSchema: {
|
|
345
351
|
name: { type: "string", required: true, description: "Full name" },
|
|
@@ -386,6 +392,7 @@ export default function freshdesk(rl) {
|
|
|
386
392
|
},
|
|
387
393
|
});
|
|
388
394
|
rl.registerAction("contact.get", {
|
|
395
|
+
access: "read",
|
|
389
396
|
description: "Get a contact by ID",
|
|
390
397
|
inputSchema: {
|
|
391
398
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -395,6 +402,7 @@ export default function freshdesk(rl) {
|
|
|
395
402
|
},
|
|
396
403
|
});
|
|
397
404
|
rl.registerAction("contact.list", {
|
|
405
|
+
access: "read",
|
|
398
406
|
description: "List contacts",
|
|
399
407
|
inputSchema: {
|
|
400
408
|
email: {
|
|
@@ -441,6 +449,7 @@ export default function freshdesk(rl) {
|
|
|
441
449
|
},
|
|
442
450
|
});
|
|
443
451
|
rl.registerAction("contact.update", {
|
|
452
|
+
access: "write",
|
|
444
453
|
description: "Update a contact",
|
|
445
454
|
inputSchema: {
|
|
446
455
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -480,6 +489,7 @@ export default function freshdesk(rl) {
|
|
|
480
489
|
},
|
|
481
490
|
});
|
|
482
491
|
rl.registerAction("contact.delete", {
|
|
492
|
+
access: "write",
|
|
483
493
|
description: "Delete a contact",
|
|
484
494
|
inputSchema: {
|
|
485
495
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
@@ -46,6 +46,7 @@ function unwrap(data) {
|
|
|
46
46
|
}
|
|
47
47
|
function registerCrud(rl, resource, apiPath, singularKey, opts) {
|
|
48
48
|
rl.registerAction(`${resource}.create`, {
|
|
49
|
+
access: "write",
|
|
49
50
|
description: `Create a ${resource}`,
|
|
50
51
|
inputSchema: {
|
|
51
52
|
...(opts?.extraCreateFields ?? {}),
|
|
@@ -62,6 +63,7 @@ function registerCrud(rl, resource, apiPath, singularKey, opts) {
|
|
|
62
63
|
},
|
|
63
64
|
});
|
|
64
65
|
rl.registerAction(`${resource}.get`, {
|
|
66
|
+
access: "read",
|
|
65
67
|
description: `Get a ${resource} by ID`,
|
|
66
68
|
inputSchema: {
|
|
67
69
|
id: { type: "number", required: true, description: `${resource} ID` },
|
|
@@ -71,6 +73,7 @@ function registerCrud(rl, resource, apiPath, singularKey, opts) {
|
|
|
71
73
|
},
|
|
72
74
|
});
|
|
73
75
|
rl.registerAction(`${resource}.list`, {
|
|
76
|
+
access: "read",
|
|
74
77
|
description: `List ${resource}s`,
|
|
75
78
|
inputSchema: {
|
|
76
79
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -87,6 +90,7 @@ function registerCrud(rl, resource, apiPath, singularKey, opts) {
|
|
|
87
90
|
},
|
|
88
91
|
});
|
|
89
92
|
rl.registerAction(`${resource}.update`, {
|
|
93
|
+
access: "write",
|
|
90
94
|
description: `Update a ${resource}`,
|
|
91
95
|
inputSchema: {
|
|
92
96
|
id: { type: "number", required: true, description: `${resource} ID` },
|
|
@@ -103,6 +107,7 @@ function registerCrud(rl, resource, apiPath, singularKey, opts) {
|
|
|
103
107
|
});
|
|
104
108
|
if (!opts?.noDelete) {
|
|
105
109
|
rl.registerAction(`${resource}.delete`, {
|
|
110
|
+
access: "write",
|
|
106
111
|
description: `Delete a ${resource}`,
|
|
107
112
|
inputSchema: {
|
|
108
113
|
id: { type: "number", required: true, description: `${resource} ID` },
|
|
@@ -149,6 +154,7 @@ export default function freshservice(rl) {
|
|
|
149
154
|
registerCrud(rl, "ticket", "/tickets", "ticket");
|
|
150
155
|
// agentRole is read-only (get + list only)
|
|
151
156
|
rl.registerAction("agentRole.get", {
|
|
157
|
+
access: "read",
|
|
152
158
|
description: "Get an agent role by ID",
|
|
153
159
|
inputSchema: {
|
|
154
160
|
id: { type: "number", required: true, description: "Role ID" },
|
|
@@ -158,6 +164,7 @@ export default function freshservice(rl) {
|
|
|
158
164
|
},
|
|
159
165
|
});
|
|
160
166
|
rl.registerAction("agentRole.list", {
|
|
167
|
+
access: "read",
|
|
161
168
|
description: "List agent roles",
|
|
162
169
|
inputSchema: {
|
|
163
170
|
limit: { type: "number", required: false, description: "Max results" },
|