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.
- 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/_shared/googleSchemas.js +23 -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 +200 -184
- package/dist/plugins/gong/src/index.js +4 -0
- package/dist/plugins/googleAppsScript/src/index.js +98 -43
- package/dist/plugins/googleCalendar/src/index.js +329 -250
- package/dist/plugins/googleContacts/src/index.js +144 -145
- package/dist/plugins/googleDocs/src/documents.js +31 -38
- package/dist/plugins/googleDocs/src/formatting.js +51 -47
- package/dist/plugins/googleDocs/src/images.js +23 -26
- package/dist/plugins/googleDocs/src/shared.js +55 -0
- package/dist/plugins/googleDocs/src/structure.js +111 -123
- package/dist/plugins/googleDocs/src/tables.js +103 -154
- package/dist/plugins/googleDocs/src/tabs.js +27 -23
- package/dist/plugins/googleDocs/src/text.js +106 -136
- package/dist/plugins/googleDrive/src/index.js +461 -408
- package/dist/plugins/googleImage/src/index.js +14 -16
- package/dist/plugins/googleSheets/src/index.js +527 -339
- package/dist/plugins/googleSlides/src/index.js +92 -72
- package/dist/plugins/googleTasks/src/index.js +94 -92
- 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/index.js +6 -0
- package/dist/plugins/shiftLabs/src/issues.js +4 -0
- package/dist/plugins/shiftLabs/src/pages.js +10 -0
- package/dist/plugins/shiftLabs/src/shared.js +2 -0
- package/dist/plugins/shiftLabs/src/transcription.js +203 -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
|
@@ -6,6 +6,7 @@ export function registerInitiativeActions(rl) {
|
|
|
6
6
|
listAction("initiative.list", "List initiatives.", "initiatives", "InitiativeFilter", INITIATIVE_FIELDS);
|
|
7
7
|
getAction("initiative.get", "Get an initiative by ID or slug.", "initiative", INITIATIVE_FIELDS);
|
|
8
8
|
rl.registerAction("initiative.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create an initiative. Status: Planned | Active | Completed.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
name: t.String({ description: "The name of the initiative" }),
|
|
@@ -39,6 +40,7 @@ export function registerInitiativeActions(rl) {
|
|
|
39
40
|
},
|
|
40
41
|
});
|
|
41
42
|
rl.registerAction("initiative.update", {
|
|
43
|
+
access: "write",
|
|
42
44
|
description: "Update an initiative.",
|
|
43
45
|
inputSchema: t.Object({
|
|
44
46
|
id: t.String({
|
|
@@ -76,6 +78,7 @@ export function registerInitiativeActions(rl) {
|
|
|
76
78
|
},
|
|
77
79
|
});
|
|
78
80
|
rl.registerAction("initiative.delete", {
|
|
81
|
+
access: "write",
|
|
79
82
|
description: "Trash an initiative.",
|
|
80
83
|
inputSchema: t.Object({
|
|
81
84
|
id: t.String({
|
|
@@ -89,6 +92,7 @@ export function registerInitiativeActions(rl) {
|
|
|
89
92
|
},
|
|
90
93
|
});
|
|
91
94
|
rl.registerAction("initiative.addProject", {
|
|
95
|
+
access: "write",
|
|
92
96
|
description: "Associate a project with an initiative. Use this action for project-to-initiative linking; project.update does not accept initiativeId. Verify with initiative.get or the returned initiative.projects list.",
|
|
93
97
|
inputSchema: t.Object({
|
|
94
98
|
initiativeId: t.String({
|
|
@@ -109,6 +113,7 @@ export function registerInitiativeActions(rl) {
|
|
|
109
113
|
},
|
|
110
114
|
});
|
|
111
115
|
rl.registerAction("initiative.removeProject", {
|
|
116
|
+
access: "write",
|
|
112
117
|
description: "Remove a project from an initiative. Pass the link id returned by initiative.addProject, then verify with initiative.get.",
|
|
113
118
|
inputSchema: t.Object({
|
|
114
119
|
id: t.String({
|
|
@@ -2,6 +2,7 @@ import * as t from "typebox";
|
|
|
2
2
|
import { assertIssueInScope, buildConnArgs, COMMENT_FIELDS, ensureScopeLabelsOnCreateOrReplace, forbidScopeLabelRemoval, gql, ISSUE_FIELDS, ISSUE_LITE, issueHasScope, key, LIST_INPUT_SCHEMA, mergeIssueScopeFilter, } from "./shared.js";
|
|
3
3
|
export function registerIssueActions(rl) {
|
|
4
4
|
rl.registerAction("issue.create", {
|
|
5
|
+
access: "write",
|
|
5
6
|
description: "Create an issue. teamId is required; title is required unless a template is applied.",
|
|
6
7
|
inputSchema: t.Object({
|
|
7
8
|
teamId: t.String({
|
|
@@ -63,6 +64,7 @@ export function registerIssueActions(rl) {
|
|
|
63
64
|
},
|
|
64
65
|
});
|
|
65
66
|
rl.registerAction("issue.get", {
|
|
67
|
+
access: "read",
|
|
66
68
|
description: "Get an issue by ID or identifier (e.g. 'THE-154')",
|
|
67
69
|
inputSchema: t.Object({
|
|
68
70
|
issueId: t.String({
|
|
@@ -78,6 +80,7 @@ export function registerIssueActions(rl) {
|
|
|
78
80
|
},
|
|
79
81
|
});
|
|
80
82
|
rl.registerAction("issue.list", {
|
|
83
|
+
access: "read",
|
|
81
84
|
description: "List issues. Pass `filter` for state/label/project/etc. Default hides archived.",
|
|
82
85
|
inputSchema: t.Object({
|
|
83
86
|
...LIST_INPUT_SCHEMA,
|
|
@@ -100,6 +103,7 @@ export function registerIssueActions(rl) {
|
|
|
100
103
|
},
|
|
101
104
|
});
|
|
102
105
|
rl.registerAction("issue.update", {
|
|
106
|
+
access: "write",
|
|
103
107
|
description: "Update an issue. All fields optional; only provided fields are updated.",
|
|
104
108
|
inputSchema: t.Object({
|
|
105
109
|
issueId: t.String({
|
|
@@ -175,6 +179,7 @@ export function registerIssueActions(rl) {
|
|
|
175
179
|
},
|
|
176
180
|
});
|
|
177
181
|
rl.registerAction("issue.delete", {
|
|
182
|
+
access: "write",
|
|
178
183
|
description: "Trash (soft-delete) an issue. Pass permanentlyDelete=true to bypass 30d grace period (admin only).",
|
|
179
184
|
inputSchema: t.Object({
|
|
180
185
|
issueId: t.String(),
|
|
@@ -188,6 +193,7 @@ export function registerIssueActions(rl) {
|
|
|
188
193
|
},
|
|
189
194
|
});
|
|
190
195
|
rl.registerAction("issue.archive", {
|
|
196
|
+
access: "write",
|
|
191
197
|
description: "Archive an issue.",
|
|
192
198
|
inputSchema: t.Object({
|
|
193
199
|
issueId: t.String(),
|
|
@@ -201,6 +207,7 @@ export function registerIssueActions(rl) {
|
|
|
201
207
|
},
|
|
202
208
|
});
|
|
203
209
|
rl.registerAction("issue.unarchive", {
|
|
210
|
+
access: "write",
|
|
204
211
|
description: "Unarchive an issue.",
|
|
205
212
|
inputSchema: t.Object({ issueId: t.String() }),
|
|
206
213
|
async execute(input, ctx) {
|
|
@@ -211,6 +218,7 @@ export function registerIssueActions(rl) {
|
|
|
211
218
|
},
|
|
212
219
|
});
|
|
213
220
|
rl.registerAction("issue.search", {
|
|
221
|
+
access: "read",
|
|
214
222
|
description: "Search issues by text query using full-text and vector search. Rate-limited to 30 req/min.",
|
|
215
223
|
inputSchema: t.Object({
|
|
216
224
|
term: t.String({ description: "Search string to look for" }),
|
|
@@ -252,6 +260,7 @@ export function registerIssueActions(rl) {
|
|
|
252
260
|
},
|
|
253
261
|
});
|
|
254
262
|
rl.registerAction("issue.addLabel", {
|
|
263
|
+
access: "write",
|
|
255
264
|
description: "Add a single label to an issue.",
|
|
256
265
|
inputSchema: t.Object({
|
|
257
266
|
issueId: t.String(),
|
|
@@ -265,6 +274,7 @@ export function registerIssueActions(rl) {
|
|
|
265
274
|
},
|
|
266
275
|
});
|
|
267
276
|
rl.registerAction("issue.removeLabel", {
|
|
277
|
+
access: "write",
|
|
268
278
|
description: "Remove a single label from an issue.",
|
|
269
279
|
inputSchema: t.Object({
|
|
270
280
|
issueId: t.String(),
|
|
@@ -279,6 +289,7 @@ export function registerIssueActions(rl) {
|
|
|
279
289
|
},
|
|
280
290
|
});
|
|
281
291
|
rl.registerAction("issue.subscribe", {
|
|
292
|
+
access: "write",
|
|
282
293
|
description: "Subscribe a user to issue notifications (defaults to current user).",
|
|
283
294
|
inputSchema: t.Object({
|
|
284
295
|
issueId: t.String(),
|
|
@@ -295,6 +306,7 @@ export function registerIssueActions(rl) {
|
|
|
295
306
|
},
|
|
296
307
|
});
|
|
297
308
|
rl.registerAction("issue.unsubscribe", {
|
|
309
|
+
access: "write",
|
|
298
310
|
description: "Unsubscribe a user from issue notifications (defaults to current user).",
|
|
299
311
|
inputSchema: t.Object({
|
|
300
312
|
issueId: t.String(),
|
|
@@ -311,6 +323,7 @@ export function registerIssueActions(rl) {
|
|
|
311
323
|
},
|
|
312
324
|
});
|
|
313
325
|
rl.registerAction("issue.addLink", {
|
|
326
|
+
access: "write",
|
|
314
327
|
description: "Create a relation between two issues.",
|
|
315
328
|
inputSchema: t.Object({
|
|
316
329
|
issueId: t.String({
|
|
@@ -332,6 +345,7 @@ export function registerIssueActions(rl) {
|
|
|
332
345
|
},
|
|
333
346
|
});
|
|
334
347
|
rl.registerAction("issue.listComments", {
|
|
348
|
+
access: "read",
|
|
335
349
|
description: "List comments on an issue.",
|
|
336
350
|
inputSchema: t.Object({
|
|
337
351
|
issueId: t.String(),
|
|
@@ -6,6 +6,7 @@ export function registerLabelActions(rl) {
|
|
|
6
6
|
listAction("label.list", "List labels (workspace + team-scoped).", "issueLabels", "IssueLabelFilter", LABEL_FIELDS);
|
|
7
7
|
getAction("label.get", "Get a label by ID.", "issueLabel", LABEL_FIELDS);
|
|
8
8
|
rl.registerAction("label.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a label. Omit teamId for a workspace-level label.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
name: t.String({ description: "The name of the label" }),
|
|
@@ -36,6 +37,7 @@ export function registerLabelActions(rl) {
|
|
|
36
37
|
},
|
|
37
38
|
});
|
|
38
39
|
rl.registerAction("label.update", {
|
|
40
|
+
access: "write",
|
|
39
41
|
description: "Update a label.",
|
|
40
42
|
inputSchema: t.Object({
|
|
41
43
|
id: t.String({ description: "The identifier of the label to update" }),
|
|
@@ -59,6 +61,7 @@ export function registerLabelActions(rl) {
|
|
|
59
61
|
},
|
|
60
62
|
});
|
|
61
63
|
rl.registerAction("label.delete", {
|
|
64
|
+
access: "write",
|
|
62
65
|
description: "Delete a label.",
|
|
63
66
|
inputSchema: t.Object({
|
|
64
67
|
id: t.String({ description: "The identifier of the label to delete" }),
|
|
@@ -70,6 +73,7 @@ export function registerLabelActions(rl) {
|
|
|
70
73
|
},
|
|
71
74
|
});
|
|
72
75
|
rl.registerAction("label.retire", {
|
|
76
|
+
access: "write",
|
|
73
77
|
description: "Retire a label. Retired labels remain visible but cannot be applied to new issues.",
|
|
74
78
|
inputSchema: t.Object({
|
|
75
79
|
id: t.String({ description: "The identifier of the label to retire" }),
|
|
@@ -81,6 +85,7 @@ export function registerLabelActions(rl) {
|
|
|
81
85
|
},
|
|
82
86
|
});
|
|
83
87
|
rl.registerAction("label.restore", {
|
|
88
|
+
access: "write",
|
|
84
89
|
description: "Restore a previously retired label.",
|
|
85
90
|
inputSchema: t.Object({
|
|
86
91
|
id: t.String({ description: "The identifier of the label to restore" }),
|
|
@@ -2,6 +2,7 @@ import * as t from "typebox";
|
|
|
2
2
|
import { gql, key, ORG_FIELDS, requireUnscoped } from "./shared.js";
|
|
3
3
|
export function registerOrganizationActions(rl) {
|
|
4
4
|
rl.registerAction("org.get", {
|
|
5
|
+
access: "read",
|
|
5
6
|
description: "Get the authenticated workspace.",
|
|
6
7
|
inputSchema: t.Object({}),
|
|
7
8
|
async execute(_input, ctx) {
|
|
@@ -6,6 +6,7 @@ export function registerProjectActions(rl) {
|
|
|
6
6
|
listAction("project.list", "List projects.", "projects", "ProjectFilter", PROJECT_FIELDS);
|
|
7
7
|
getAction("project.get", "Get a project by ID or slug.", "project", PROJECT_FIELDS);
|
|
8
8
|
rl.registerAction("project.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a project. teamIds is required.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
name: t.String({ description: "The name of the project" }),
|
|
@@ -66,6 +67,7 @@ export function registerProjectActions(rl) {
|
|
|
66
67
|
},
|
|
67
68
|
});
|
|
68
69
|
rl.registerAction("project.update", {
|
|
70
|
+
access: "write",
|
|
69
71
|
description: "Update a project.",
|
|
70
72
|
inputSchema: t.Object({
|
|
71
73
|
id: t.String({
|
|
@@ -123,6 +125,7 @@ export function registerProjectActions(rl) {
|
|
|
123
125
|
},
|
|
124
126
|
});
|
|
125
127
|
rl.registerAction("project.delete", {
|
|
128
|
+
access: "write",
|
|
126
129
|
description: "Trash (soft-delete) a project. Restorable via project.unarchive.",
|
|
127
130
|
inputSchema: t.Object({
|
|
128
131
|
id: t.String({ description: "The identifier of the project to delete" }),
|
|
@@ -134,6 +137,7 @@ export function registerProjectActions(rl) {
|
|
|
134
137
|
},
|
|
135
138
|
});
|
|
136
139
|
rl.registerAction("project.unarchive", {
|
|
140
|
+
access: "write",
|
|
137
141
|
description: "Restore a previously trashed or archived project.",
|
|
138
142
|
inputSchema: t.Object({
|
|
139
143
|
id: t.String({
|
|
@@ -147,6 +151,7 @@ export function registerProjectActions(rl) {
|
|
|
147
151
|
},
|
|
148
152
|
});
|
|
149
153
|
rl.registerAction("project.search", {
|
|
154
|
+
access: "read",
|
|
150
155
|
description: "Search projects by text. Rate-limited to 30 req/min.",
|
|
151
156
|
inputSchema: t.Object({
|
|
152
157
|
term: t.String({ description: "Search string to look for" }),
|
|
@@ -179,6 +184,7 @@ export function registerProjectActions(rl) {
|
|
|
179
184
|
listAction("milestone.list", "List project milestones.", "projectMilestones", "ProjectMilestoneFilter", MILESTONE_FIELDS);
|
|
180
185
|
getAction("milestone.get", "Get a project milestone by ID.", "projectMilestone", MILESTONE_FIELDS);
|
|
181
186
|
rl.registerAction("milestone.create", {
|
|
187
|
+
access: "write",
|
|
182
188
|
description: "Create a project milestone.",
|
|
183
189
|
inputSchema: t.Object({
|
|
184
190
|
projectId: t.String({
|
|
@@ -206,6 +212,7 @@ export function registerProjectActions(rl) {
|
|
|
206
212
|
},
|
|
207
213
|
});
|
|
208
214
|
rl.registerAction("milestone.update", {
|
|
215
|
+
access: "write",
|
|
209
216
|
description: "Update a project milestone.",
|
|
210
217
|
inputSchema: t.Object({
|
|
211
218
|
id: t.String({
|
|
@@ -234,6 +241,7 @@ export function registerProjectActions(rl) {
|
|
|
234
241
|
},
|
|
235
242
|
});
|
|
236
243
|
rl.registerAction("milestone.delete", {
|
|
244
|
+
access: "write",
|
|
237
245
|
description: "Delete a project milestone.",
|
|
238
246
|
inputSchema: t.Object({
|
|
239
247
|
id: t.String({
|
|
@@ -249,6 +257,7 @@ export function registerProjectActions(rl) {
|
|
|
249
257
|
// Project updates
|
|
250
258
|
listAction("projectUpdate.list", "List project updates.", "projectUpdates", "ProjectUpdateFilter", PROJECT_UPDATE_FIELDS);
|
|
251
259
|
rl.registerAction("projectUpdate.create", {
|
|
260
|
+
access: "write",
|
|
252
261
|
description: "Post a status update on a project.",
|
|
253
262
|
inputSchema: t.Object({
|
|
254
263
|
projectId: t.String({
|
|
@@ -275,6 +284,7 @@ export function registerProjectActions(rl) {
|
|
|
275
284
|
},
|
|
276
285
|
});
|
|
277
286
|
rl.registerAction("projectUpdate.update", {
|
|
287
|
+
access: "write",
|
|
278
288
|
description: "Update a project status update.",
|
|
279
289
|
inputSchema: t.Object({
|
|
280
290
|
id: t.String({
|
|
@@ -299,6 +309,7 @@ export function registerProjectActions(rl) {
|
|
|
299
309
|
},
|
|
300
310
|
});
|
|
301
311
|
rl.registerAction("projectUpdate.archive", {
|
|
312
|
+
access: "write",
|
|
302
313
|
description: "Archive a project status update.",
|
|
303
314
|
inputSchema: t.Object({
|
|
304
315
|
id: t.String({
|
|
@@ -218,6 +218,7 @@ function requireRootFieldAvailable(ctx, action, rootField) {
|
|
|
218
218
|
}
|
|
219
219
|
export function registerListAction(rl, name, description, rootField, filterTypeName, selection) {
|
|
220
220
|
rl.registerAction(name, {
|
|
221
|
+
access: "read",
|
|
221
222
|
description,
|
|
222
223
|
inputSchema: t.Object(LIST_INPUT_SCHEMA),
|
|
223
224
|
async execute(input, ctx) {
|
|
@@ -232,6 +233,7 @@ export function registerListAction(rl, name, description, rootField, filterTypeN
|
|
|
232
233
|
}
|
|
233
234
|
export function registerGetAction(rl, name, description, rootField, selection) {
|
|
234
235
|
rl.registerAction(name, {
|
|
236
|
+
access: "read",
|
|
235
237
|
description,
|
|
236
238
|
inputSchema: t.Object({
|
|
237
239
|
id: t.String({ description: "Identifier or slug" }),
|
|
@@ -6,6 +6,7 @@ export function registerStateActions(rl) {
|
|
|
6
6
|
listAction("state.list", "List workflow states. Filter by team for team-scoped states.", "workflowStates", "WorkflowStateFilter", STATE_FIELDS);
|
|
7
7
|
getAction("state.get", "Get a workflow state by ID.", "workflowState", STATE_FIELDS);
|
|
8
8
|
rl.registerAction("state.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a workflow state in a team.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
teamId: t.String({ description: "The team associated with the state" }),
|
|
@@ -30,6 +31,7 @@ export function registerStateActions(rl) {
|
|
|
30
31
|
},
|
|
31
32
|
});
|
|
32
33
|
rl.registerAction("state.update", {
|
|
34
|
+
access: "write",
|
|
33
35
|
description: "Update a workflow state. Type cannot be changed after creation.",
|
|
34
36
|
inputSchema: t.Object({
|
|
35
37
|
id: t.String({ description: "The identifier of the state to update" }),
|
|
@@ -6,6 +6,7 @@ export function registerTeamActions(rl) {
|
|
|
6
6
|
listAction("team.list", "List teams whose issues you can access.", "teams", "TeamFilter", TEAM_FIELDS);
|
|
7
7
|
getAction("team.get", "Get a team by ID or key.", "team", TEAM_FIELDS);
|
|
8
8
|
rl.registerAction("team.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a team. Most settings have sensible defaults.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
name: t.String({ description: "The name of the team" }),
|
|
@@ -49,6 +50,7 @@ export function registerTeamActions(rl) {
|
|
|
49
50
|
},
|
|
50
51
|
});
|
|
51
52
|
rl.registerAction("team.update", {
|
|
53
|
+
access: "write",
|
|
52
54
|
description: "Update a team. Requires team owner or workspace admin permissions.",
|
|
53
55
|
inputSchema: t.Object({
|
|
54
56
|
id: t.String({ description: "The identifier of the team to update" }),
|
|
@@ -83,6 +85,7 @@ export function registerTeamActions(rl) {
|
|
|
83
85
|
},
|
|
84
86
|
});
|
|
85
87
|
rl.registerAction("team.members", {
|
|
88
|
+
access: "read",
|
|
86
89
|
description: "List members of a team.",
|
|
87
90
|
inputSchema: t.Object({
|
|
88
91
|
teamId: t.String({ description: "The identifier of the team" }),
|
|
@@ -6,6 +6,7 @@ export function registerUserActions(rl) {
|
|
|
6
6
|
listAction("user.list", "List users in the workspace.", "users", "UserFilter", USER_FIELDS);
|
|
7
7
|
getAction("user.get", "Get a user by ID. Use 'me' to reference the authenticated user.", "user", USER_FIELDS);
|
|
8
8
|
rl.registerAction("user.me", {
|
|
9
|
+
access: "read",
|
|
9
10
|
description: "Get the authenticated user.",
|
|
10
11
|
inputSchema: t.Object({}),
|
|
11
12
|
async execute(_input, ctx) {
|
|
@@ -14,6 +15,7 @@ export function registerUserActions(rl) {
|
|
|
14
15
|
},
|
|
15
16
|
});
|
|
16
17
|
rl.registerAction("user.update", {
|
|
18
|
+
access: "write",
|
|
17
19
|
description: "Update a user. Use id='me' to update the authenticated user.",
|
|
18
20
|
inputSchema: t.Object({
|
|
19
21
|
id: t.String({
|
|
@@ -6,6 +6,7 @@ export function registerViewActions(rl) {
|
|
|
6
6
|
const getAction = bindGetAction(rl);
|
|
7
7
|
function customViewConnectionAction(name, description, connectionField, filterTypeName, selection, includeSubTeamsDescription) {
|
|
8
8
|
rl.registerAction(name, {
|
|
9
|
+
access: "read",
|
|
9
10
|
description,
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
viewId: t.String({ description: "The custom view ID or slug" }),
|
|
@@ -44,6 +45,7 @@ export function registerViewActions(rl) {
|
|
|
44
45
|
listAction("view.list", "List custom views accessible to the user, including personal and shared workspace views. Linear excludes views scoped to a specific project or initiative from this root query.", "customViews", "CustomViewFilter", CUSTOM_VIEW_FIELDS);
|
|
45
46
|
getAction("view.get", "Get a custom view by ID or slug.", "customView", CUSTOM_VIEW_FIELDS);
|
|
46
47
|
rl.registerAction("view.create", {
|
|
48
|
+
access: "write",
|
|
47
49
|
description: "Create a custom view. Set filterData for issue views; projectFilterData, initiativeFilterData, or feedItemFilterData for other view types. Read matches back with view.issues/projects/initiatives/updates.",
|
|
48
50
|
inputSchema: t.Object({
|
|
49
51
|
name: t.String({ description: "The name of the custom view" }),
|
|
@@ -74,6 +76,7 @@ export function registerViewActions(rl) {
|
|
|
74
76
|
},
|
|
75
77
|
});
|
|
76
78
|
rl.registerAction("view.update", {
|
|
79
|
+
access: "write",
|
|
77
80
|
description: "Update a custom view. All fields optional; only provided fields are updated.",
|
|
78
81
|
inputSchema: t.Object({
|
|
79
82
|
id: t.String({
|
|
@@ -105,6 +108,7 @@ export function registerViewActions(rl) {
|
|
|
105
108
|
},
|
|
106
109
|
});
|
|
107
110
|
rl.registerAction("view.delete", {
|
|
111
|
+
access: "write",
|
|
108
112
|
description: "Delete a custom view.",
|
|
109
113
|
inputSchema: t.Object({
|
|
110
114
|
id: t.String({
|
|
@@ -6,6 +6,7 @@ export function registerWebhookActions(rl) {
|
|
|
6
6
|
listAction("webhook.list", "List webhooks for the current workspace.", "webhooks", null, WEBHOOK_FIELDS);
|
|
7
7
|
getAction("webhook.get", "Get a webhook by ID.", "webhook", WEBHOOK_FIELDS);
|
|
8
8
|
rl.registerAction("webhook.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a webhook. resourceTypes example: ['Issue','Comment','Project'].",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
url: t.String({
|
|
@@ -38,6 +39,7 @@ export function registerWebhookActions(rl) {
|
|
|
38
39
|
},
|
|
39
40
|
});
|
|
40
41
|
rl.registerAction("webhook.update", {
|
|
42
|
+
access: "write",
|
|
41
43
|
description: "Update a webhook. teamId and allPublicTeams cannot be changed after creation.",
|
|
42
44
|
inputSchema: t.Object({
|
|
43
45
|
id: t.String({ description: "The identifier of the webhook to update" }),
|
|
@@ -61,6 +63,7 @@ export function registerWebhookActions(rl) {
|
|
|
61
63
|
},
|
|
62
64
|
});
|
|
63
65
|
rl.registerAction("webhook.delete", {
|
|
66
|
+
access: "write",
|
|
64
67
|
description: "Delete a webhook.",
|
|
65
68
|
inputSchema: t.Object({
|
|
66
69
|
id: t.String({ description: "The identifier of the webhook to delete" }),
|
|
@@ -72,6 +75,7 @@ export function registerWebhookActions(rl) {
|
|
|
72
75
|
},
|
|
73
76
|
});
|
|
74
77
|
rl.registerAction("webhook.rotateSecret", {
|
|
78
|
+
access: "write",
|
|
75
79
|
description: "Rotate a webhook's signing secret. Returns the new secret.",
|
|
76
80
|
inputSchema: t.Object({
|
|
77
81
|
id: t.String({
|
|
@@ -41,6 +41,7 @@ export default function linkedin(rl) {
|
|
|
41
41
|
});
|
|
42
42
|
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
43
43
|
rl.registerAction("post.create", {
|
|
44
|
+
access: "write",
|
|
44
45
|
description: "Create a post on LinkedIn. Supports text-only, article shares, and text with commentary. Image uploads require binary data and are not supported in this plugin.",
|
|
45
46
|
inputSchema: {
|
|
46
47
|
postAs: {
|
|
@@ -34,6 +34,7 @@ export default function lonescale(rl) {
|
|
|
34
34
|
});
|
|
35
35
|
const key = (ctx) => ctx.connection.config.apiKey;
|
|
36
36
|
rl.registerAction("list.create", {
|
|
37
|
+
access: "write",
|
|
37
38
|
description: "Create a new list",
|
|
38
39
|
inputSchema: {
|
|
39
40
|
name: { type: "string", required: true, description: "List name" },
|
|
@@ -49,6 +50,7 @@ export default function lonescale(rl) {
|
|
|
49
50
|
},
|
|
50
51
|
});
|
|
51
52
|
rl.registerAction("list.list", {
|
|
53
|
+
access: "read",
|
|
52
54
|
description: "List all lists, optionally filtered by entity type",
|
|
53
55
|
inputSchema: {
|
|
54
56
|
entity: {
|
|
@@ -66,6 +68,7 @@ export default function lonescale(rl) {
|
|
|
66
68
|
},
|
|
67
69
|
});
|
|
68
70
|
rl.registerAction("item.addPerson", {
|
|
71
|
+
access: "write",
|
|
69
72
|
description: "Add a person (contact) to a list",
|
|
70
73
|
inputSchema: {
|
|
71
74
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -115,6 +118,7 @@ export default function lonescale(rl) {
|
|
|
115
118
|
},
|
|
116
119
|
});
|
|
117
120
|
rl.registerAction("item.addCompany", {
|
|
121
|
+
access: "write",
|
|
118
122
|
description: "Add a company to a list",
|
|
119
123
|
inputSchema: {
|
|
120
124
|
listId: { type: "string", required: true, description: "List ID" },
|
|
@@ -87,6 +87,7 @@ export default function magento(rl) {
|
|
|
87
87
|
});
|
|
88
88
|
// ── Customer ────────────────────────────────────────
|
|
89
89
|
rl.registerAction("customer.create", {
|
|
90
|
+
access: "write",
|
|
90
91
|
description: "Create a customer",
|
|
91
92
|
inputSchema: {
|
|
92
93
|
email: { type: "string", required: true },
|
|
@@ -130,6 +131,7 @@ export default function magento(rl) {
|
|
|
130
131
|
},
|
|
131
132
|
});
|
|
132
133
|
rl.registerAction("customer.get", {
|
|
134
|
+
access: "read",
|
|
133
135
|
description: "Get a customer by ID",
|
|
134
136
|
inputSchema: { customerId: { type: "number", required: true } },
|
|
135
137
|
async execute(input, ctx) {
|
|
@@ -138,6 +140,7 @@ export default function magento(rl) {
|
|
|
138
140
|
},
|
|
139
141
|
});
|
|
140
142
|
rl.registerAction("customer.list", {
|
|
143
|
+
access: "read",
|
|
141
144
|
description: "Search/list customers using Magento search_criteria",
|
|
142
145
|
inputSchema: {
|
|
143
146
|
searchCriteria: {
|
|
@@ -166,6 +169,7 @@ export default function magento(rl) {
|
|
|
166
169
|
},
|
|
167
170
|
});
|
|
168
171
|
rl.registerAction("customer.update", {
|
|
172
|
+
access: "write",
|
|
169
173
|
description: "Update a customer",
|
|
170
174
|
inputSchema: {
|
|
171
175
|
customerId: { type: "number", required: true },
|
|
@@ -204,6 +208,7 @@ export default function magento(rl) {
|
|
|
204
208
|
},
|
|
205
209
|
});
|
|
206
210
|
rl.registerAction("customer.delete", {
|
|
211
|
+
access: "write",
|
|
207
212
|
description: "Delete a customer",
|
|
208
213
|
inputSchema: { customerId: { type: "number", required: true } },
|
|
209
214
|
async execute(input, ctx) {
|
|
@@ -214,6 +219,7 @@ export default function magento(rl) {
|
|
|
214
219
|
});
|
|
215
220
|
// ── Invoice ─────────────────────────────────────────
|
|
216
221
|
rl.registerAction("invoice.create", {
|
|
222
|
+
access: "write",
|
|
217
223
|
description: "Create an invoice for an order",
|
|
218
224
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
219
225
|
async execute(input, ctx) {
|
|
@@ -224,6 +230,7 @@ export default function magento(rl) {
|
|
|
224
230
|
});
|
|
225
231
|
// ── Order ───────────────────────────────────────────
|
|
226
232
|
rl.registerAction("order.get", {
|
|
233
|
+
access: "read",
|
|
227
234
|
description: "Get an order by ID",
|
|
228
235
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
229
236
|
async execute(input, ctx) {
|
|
@@ -232,6 +239,7 @@ export default function magento(rl) {
|
|
|
232
239
|
},
|
|
233
240
|
});
|
|
234
241
|
rl.registerAction("order.list", {
|
|
242
|
+
access: "read",
|
|
235
243
|
description: "Search/list orders",
|
|
236
244
|
inputSchema: {
|
|
237
245
|
searchCriteria: {
|
|
@@ -256,6 +264,7 @@ export default function magento(rl) {
|
|
|
256
264
|
},
|
|
257
265
|
});
|
|
258
266
|
rl.registerAction("order.cancel", {
|
|
267
|
+
access: "write",
|
|
259
268
|
description: "Cancel an order",
|
|
260
269
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
261
270
|
async execute(input, ctx) {
|
|
@@ -265,6 +274,7 @@ export default function magento(rl) {
|
|
|
265
274
|
},
|
|
266
275
|
});
|
|
267
276
|
rl.registerAction("order.ship", {
|
|
277
|
+
access: "write",
|
|
268
278
|
description: "Ship an order",
|
|
269
279
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
270
280
|
async execute(input, ctx) {
|
|
@@ -275,6 +285,7 @@ export default function magento(rl) {
|
|
|
275
285
|
});
|
|
276
286
|
// ── Product ─────────────────────────────────────────
|
|
277
287
|
rl.registerAction("product.create", {
|
|
288
|
+
access: "write",
|
|
278
289
|
description: "Create a product",
|
|
279
290
|
inputSchema: {
|
|
280
291
|
sku: { type: "string", required: true },
|
|
@@ -311,6 +322,7 @@ export default function magento(rl) {
|
|
|
311
322
|
},
|
|
312
323
|
});
|
|
313
324
|
rl.registerAction("product.get", {
|
|
325
|
+
access: "read",
|
|
314
326
|
description: "Get a product by SKU",
|
|
315
327
|
inputSchema: { sku: { type: "string", required: true } },
|
|
316
328
|
async execute(input, ctx) {
|
|
@@ -319,6 +331,7 @@ export default function magento(rl) {
|
|
|
319
331
|
},
|
|
320
332
|
});
|
|
321
333
|
rl.registerAction("product.list", {
|
|
334
|
+
access: "read",
|
|
322
335
|
description: "Search/list products",
|
|
323
336
|
inputSchema: {
|
|
324
337
|
searchCriteria: { type: "object", required: false },
|
|
@@ -339,6 +352,7 @@ export default function magento(rl) {
|
|
|
339
352
|
},
|
|
340
353
|
});
|
|
341
354
|
rl.registerAction("product.update", {
|
|
355
|
+
access: "write",
|
|
342
356
|
description: "Update a product by SKU",
|
|
343
357
|
inputSchema: {
|
|
344
358
|
sku: { type: "string", required: true },
|
|
@@ -360,6 +374,7 @@ export default function magento(rl) {
|
|
|
360
374
|
},
|
|
361
375
|
});
|
|
362
376
|
rl.registerAction("product.delete", {
|
|
377
|
+
access: "write",
|
|
363
378
|
description: "Delete a product by SKU",
|
|
364
379
|
inputSchema: { sku: { type: "string", required: true } },
|
|
365
380
|
async execute(input, ctx) {
|