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
|
@@ -65,6 +65,7 @@ export default function jira(rl) {
|
|
|
65
65
|
});
|
|
66
66
|
// ── Issue ───────────────────────────────────────────
|
|
67
67
|
rl.registerAction("issue.create", {
|
|
68
|
+
access: "write",
|
|
68
69
|
description: "Create an issue",
|
|
69
70
|
inputSchema: {
|
|
70
71
|
projectKey: {
|
|
@@ -128,6 +129,7 @@ export default function jira(rl) {
|
|
|
128
129
|
},
|
|
129
130
|
});
|
|
130
131
|
rl.registerAction("issue.get", {
|
|
132
|
+
access: "read",
|
|
131
133
|
description: "Get an issue",
|
|
132
134
|
inputSchema: {
|
|
133
135
|
issueKey: {
|
|
@@ -157,6 +159,7 @@ export default function jira(rl) {
|
|
|
157
159
|
},
|
|
158
160
|
});
|
|
159
161
|
rl.registerAction("issue.search", {
|
|
162
|
+
access: "read",
|
|
160
163
|
description: "Search issues using JQL (uses /rest/api/3/search/jql; pagination is cursor-based via nextPageToken)",
|
|
161
164
|
inputSchema: {
|
|
162
165
|
jql: { type: "string", required: true, description: "JQL query" },
|
|
@@ -202,6 +205,7 @@ export default function jira(rl) {
|
|
|
202
205
|
},
|
|
203
206
|
});
|
|
204
207
|
rl.registerAction("issue.update", {
|
|
208
|
+
access: "write",
|
|
205
209
|
description: "Update an issue",
|
|
206
210
|
inputSchema: {
|
|
207
211
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -230,6 +234,7 @@ export default function jira(rl) {
|
|
|
230
234
|
},
|
|
231
235
|
});
|
|
232
236
|
rl.registerAction("issue.delete", {
|
|
237
|
+
access: "write",
|
|
233
238
|
description: "Delete an issue",
|
|
234
239
|
inputSchema: {
|
|
235
240
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -240,6 +245,7 @@ export default function jira(rl) {
|
|
|
240
245
|
},
|
|
241
246
|
});
|
|
242
247
|
rl.registerAction("issue.transition", {
|
|
248
|
+
access: "write",
|
|
243
249
|
description: "Transition an issue to a new status",
|
|
244
250
|
inputSchema: {
|
|
245
251
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -265,6 +271,7 @@ export default function jira(rl) {
|
|
|
265
271
|
},
|
|
266
272
|
});
|
|
267
273
|
rl.registerAction("issue.getTransitions", {
|
|
274
|
+
access: "read",
|
|
268
275
|
description: "Get available transitions for an issue",
|
|
269
276
|
inputSchema: {
|
|
270
277
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -274,6 +281,7 @@ export default function jira(rl) {
|
|
|
274
281
|
},
|
|
275
282
|
});
|
|
276
283
|
rl.registerAction("issue.getChangelog", {
|
|
284
|
+
access: "read",
|
|
277
285
|
description: "Get issue changelog",
|
|
278
286
|
inputSchema: {
|
|
279
287
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -283,6 +291,7 @@ export default function jira(rl) {
|
|
|
283
291
|
},
|
|
284
292
|
});
|
|
285
293
|
rl.registerAction("issue.notify", {
|
|
294
|
+
access: "write",
|
|
286
295
|
description: "Send notification about an issue",
|
|
287
296
|
inputSchema: {
|
|
288
297
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -305,6 +314,7 @@ export default function jira(rl) {
|
|
|
305
314
|
});
|
|
306
315
|
// ── Issue Comment ───────────────────────────────────
|
|
307
316
|
rl.registerAction("issueComment.add", {
|
|
317
|
+
access: "write",
|
|
308
318
|
description: "Add a comment to an issue",
|
|
309
319
|
inputSchema: {
|
|
310
320
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -318,6 +328,7 @@ export default function jira(rl) {
|
|
|
318
328
|
},
|
|
319
329
|
});
|
|
320
330
|
rl.registerAction("issueComment.get", {
|
|
331
|
+
access: "read",
|
|
321
332
|
description: "Get a comment",
|
|
322
333
|
inputSchema: {
|
|
323
334
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -329,6 +340,7 @@ export default function jira(rl) {
|
|
|
329
340
|
},
|
|
330
341
|
});
|
|
331
342
|
rl.registerAction("issueComment.list", {
|
|
343
|
+
access: "read",
|
|
332
344
|
description: "List comments on an issue",
|
|
333
345
|
inputSchema: {
|
|
334
346
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -338,6 +350,7 @@ export default function jira(rl) {
|
|
|
338
350
|
},
|
|
339
351
|
});
|
|
340
352
|
rl.registerAction("issueComment.update", {
|
|
353
|
+
access: "write",
|
|
341
354
|
description: "Update a comment",
|
|
342
355
|
inputSchema: {
|
|
343
356
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -352,6 +365,7 @@ export default function jira(rl) {
|
|
|
352
365
|
},
|
|
353
366
|
});
|
|
354
367
|
rl.registerAction("issueComment.delete", {
|
|
368
|
+
access: "write",
|
|
355
369
|
description: "Delete a comment",
|
|
356
370
|
inputSchema: {
|
|
357
371
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
@@ -365,6 +379,7 @@ export default function jira(rl) {
|
|
|
365
379
|
});
|
|
366
380
|
// ── User ────────────────────────────────────────────
|
|
367
381
|
rl.registerAction("user.get", {
|
|
382
|
+
access: "read",
|
|
368
383
|
description: "Get a user by account ID",
|
|
369
384
|
inputSchema: {
|
|
370
385
|
accountId: { type: "string", required: true, description: "Account ID" },
|
|
@@ -376,6 +391,7 @@ export default function jira(rl) {
|
|
|
376
391
|
},
|
|
377
392
|
});
|
|
378
393
|
rl.registerAction("user.search", {
|
|
394
|
+
access: "read",
|
|
379
395
|
description: "Search users",
|
|
380
396
|
inputSchema: {
|
|
381
397
|
query: { type: "string", required: true, description: "Search query" },
|
|
@@ -56,6 +56,7 @@ export default function keap(rl) {
|
|
|
56
56
|
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
57
57
|
// ── Company ─────────────────────────────────────────
|
|
58
58
|
rl.registerAction("company.create", {
|
|
59
|
+
access: "write",
|
|
59
60
|
description: "Create a company",
|
|
60
61
|
inputSchema: {
|
|
61
62
|
companyName: {
|
|
@@ -99,6 +100,7 @@ export default function keap(rl) {
|
|
|
99
100
|
},
|
|
100
101
|
});
|
|
101
102
|
rl.registerAction("company.list", {
|
|
103
|
+
access: "read",
|
|
102
104
|
description: "List companies",
|
|
103
105
|
inputSchema: {
|
|
104
106
|
limit: {
|
|
@@ -128,6 +130,7 @@ export default function keap(rl) {
|
|
|
128
130
|
});
|
|
129
131
|
// ── Contact ─────────────────────────────────────────
|
|
130
132
|
rl.registerAction("contact.upsert", {
|
|
133
|
+
access: "write",
|
|
131
134
|
description: "Create or update a contact (PUT). Duplicate matching is controlled by duplicate_option.",
|
|
132
135
|
inputSchema: {
|
|
133
136
|
duplicateOption: {
|
|
@@ -193,6 +196,7 @@ export default function keap(rl) {
|
|
|
193
196
|
},
|
|
194
197
|
});
|
|
195
198
|
rl.registerAction("contact.get", {
|
|
199
|
+
access: "read",
|
|
196
200
|
description: "Get a contact by ID",
|
|
197
201
|
inputSchema: {
|
|
198
202
|
contactId: { type: "number", required: true },
|
|
@@ -211,6 +215,7 @@ export default function keap(rl) {
|
|
|
211
215
|
},
|
|
212
216
|
});
|
|
213
217
|
rl.registerAction("contact.list", {
|
|
218
|
+
access: "read",
|
|
214
219
|
description: "List contacts",
|
|
215
220
|
inputSchema: {
|
|
216
221
|
limit: { type: "number", required: false },
|
|
@@ -250,6 +255,7 @@ export default function keap(rl) {
|
|
|
250
255
|
},
|
|
251
256
|
});
|
|
252
257
|
rl.registerAction("contact.delete", {
|
|
258
|
+
access: "write",
|
|
253
259
|
description: "Delete a contact",
|
|
254
260
|
inputSchema: { contactId: { type: "number", required: true } },
|
|
255
261
|
async execute(input, ctx) {
|
|
@@ -259,6 +265,7 @@ export default function keap(rl) {
|
|
|
259
265
|
});
|
|
260
266
|
// ── Contact Note ────────────────────────────────────
|
|
261
267
|
rl.registerAction("contactNote.create", {
|
|
268
|
+
access: "write",
|
|
262
269
|
description: "Create a note on a contact",
|
|
263
270
|
inputSchema: {
|
|
264
271
|
userId: {
|
|
@@ -291,6 +298,7 @@ export default function keap(rl) {
|
|
|
291
298
|
},
|
|
292
299
|
});
|
|
293
300
|
rl.registerAction("contactNote.get", {
|
|
301
|
+
access: "read",
|
|
294
302
|
description: "Get a note",
|
|
295
303
|
inputSchema: { noteId: { type: "number", required: true } },
|
|
296
304
|
async execute(input, ctx) {
|
|
@@ -298,6 +306,7 @@ export default function keap(rl) {
|
|
|
298
306
|
},
|
|
299
307
|
});
|
|
300
308
|
rl.registerAction("contactNote.list", {
|
|
309
|
+
access: "read",
|
|
301
310
|
description: "List notes (optionally filtered by contact_id, user_id)",
|
|
302
311
|
inputSchema: {
|
|
303
312
|
limit: { type: "number", required: false },
|
|
@@ -326,6 +335,7 @@ export default function keap(rl) {
|
|
|
326
335
|
},
|
|
327
336
|
});
|
|
328
337
|
rl.registerAction("contactNote.update", {
|
|
338
|
+
access: "write",
|
|
329
339
|
description: "Update a note",
|
|
330
340
|
inputSchema: {
|
|
331
341
|
noteId: { type: "number", required: true },
|
|
@@ -346,6 +356,7 @@ export default function keap(rl) {
|
|
|
346
356
|
},
|
|
347
357
|
});
|
|
348
358
|
rl.registerAction("contactNote.delete", {
|
|
359
|
+
access: "write",
|
|
349
360
|
description: "Delete a note",
|
|
350
361
|
inputSchema: { noteId: { type: "number", required: true } },
|
|
351
362
|
async execute(input, ctx) {
|
|
@@ -355,6 +366,7 @@ export default function keap(rl) {
|
|
|
355
366
|
});
|
|
356
367
|
// ── Contact Tag ─────────────────────────────────────
|
|
357
368
|
rl.registerAction("contactTag.add", {
|
|
369
|
+
access: "write",
|
|
358
370
|
description: "Apply tags to a contact",
|
|
359
371
|
inputSchema: {
|
|
360
372
|
contactId: { type: "number", required: true },
|
|
@@ -372,6 +384,7 @@ export default function keap(rl) {
|
|
|
372
384
|
},
|
|
373
385
|
});
|
|
374
386
|
rl.registerAction("contactTag.remove", {
|
|
387
|
+
access: "write",
|
|
375
388
|
description: "Remove tags from a contact",
|
|
376
389
|
inputSchema: {
|
|
377
390
|
contactId: { type: "number", required: true },
|
|
@@ -388,6 +401,7 @@ export default function keap(rl) {
|
|
|
388
401
|
},
|
|
389
402
|
});
|
|
390
403
|
rl.registerAction("contactTag.list", {
|
|
404
|
+
access: "read",
|
|
391
405
|
description: "List tags on a contact",
|
|
392
406
|
inputSchema: {
|
|
393
407
|
contactId: { type: "number", required: true },
|
|
@@ -404,6 +418,7 @@ export default function keap(rl) {
|
|
|
404
418
|
});
|
|
405
419
|
// ── E-commerce Order ────────────────────────────────
|
|
406
420
|
rl.registerAction("order.create", {
|
|
421
|
+
access: "write",
|
|
407
422
|
description: "Create an order",
|
|
408
423
|
inputSchema: {
|
|
409
424
|
contactId: { type: "number", required: true },
|
|
@@ -443,6 +458,7 @@ export default function keap(rl) {
|
|
|
443
458
|
},
|
|
444
459
|
});
|
|
445
460
|
rl.registerAction("order.get", {
|
|
461
|
+
access: "read",
|
|
446
462
|
description: "Get an order",
|
|
447
463
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
448
464
|
async execute(input, ctx) {
|
|
@@ -450,6 +466,7 @@ export default function keap(rl) {
|
|
|
450
466
|
},
|
|
451
467
|
});
|
|
452
468
|
rl.registerAction("order.list", {
|
|
469
|
+
access: "read",
|
|
453
470
|
description: "List orders",
|
|
454
471
|
inputSchema: {
|
|
455
472
|
limit: { type: "number", required: false },
|
|
@@ -473,6 +490,7 @@ export default function keap(rl) {
|
|
|
473
490
|
},
|
|
474
491
|
});
|
|
475
492
|
rl.registerAction("order.delete", {
|
|
493
|
+
access: "write",
|
|
476
494
|
description: "Delete an order",
|
|
477
495
|
inputSchema: { orderId: { type: "number", required: true } },
|
|
478
496
|
async execute(input, ctx) {
|
|
@@ -482,6 +500,7 @@ export default function keap(rl) {
|
|
|
482
500
|
});
|
|
483
501
|
// ── E-commerce Product ──────────────────────────────
|
|
484
502
|
rl.registerAction("product.create", {
|
|
503
|
+
access: "write",
|
|
485
504
|
description: "Create a product",
|
|
486
505
|
inputSchema: {
|
|
487
506
|
productName: { type: "string", required: true },
|
|
@@ -500,6 +519,7 @@ export default function keap(rl) {
|
|
|
500
519
|
},
|
|
501
520
|
});
|
|
502
521
|
rl.registerAction("product.get", {
|
|
522
|
+
access: "read",
|
|
503
523
|
description: "Get a product",
|
|
504
524
|
inputSchema: { productId: { type: "number", required: true } },
|
|
505
525
|
async execute(input, ctx) {
|
|
@@ -507,6 +527,7 @@ export default function keap(rl) {
|
|
|
507
527
|
},
|
|
508
528
|
});
|
|
509
529
|
rl.registerAction("product.list", {
|
|
530
|
+
access: "read",
|
|
510
531
|
description: "List products",
|
|
511
532
|
inputSchema: { limit: { type: "number", required: false } },
|
|
512
533
|
async execute(input, ctx) {
|
|
@@ -518,6 +539,7 @@ export default function keap(rl) {
|
|
|
518
539
|
},
|
|
519
540
|
});
|
|
520
541
|
rl.registerAction("product.delete", {
|
|
542
|
+
access: "write",
|
|
521
543
|
description: "Delete a product",
|
|
522
544
|
inputSchema: { productId: { type: "number", required: true } },
|
|
523
545
|
async execute(input, ctx) {
|
|
@@ -527,6 +549,7 @@ export default function keap(rl) {
|
|
|
527
549
|
});
|
|
528
550
|
// ── Email ───────────────────────────────────────────
|
|
529
551
|
rl.registerAction("email.createRecord", {
|
|
552
|
+
access: "write",
|
|
530
553
|
description: "Create an email record (log a sent email)",
|
|
531
554
|
inputSchema: {
|
|
532
555
|
sentFromAddress: { type: "string", required: true },
|
|
@@ -549,6 +572,7 @@ export default function keap(rl) {
|
|
|
549
572
|
},
|
|
550
573
|
});
|
|
551
574
|
rl.registerAction("email.delete", {
|
|
575
|
+
access: "write",
|
|
552
576
|
description: "Delete an email record",
|
|
553
577
|
inputSchema: { emailRecordId: { type: "number", required: true } },
|
|
554
578
|
async execute(input, ctx) {
|
|
@@ -557,6 +581,7 @@ export default function keap(rl) {
|
|
|
557
581
|
},
|
|
558
582
|
});
|
|
559
583
|
rl.registerAction("email.list", {
|
|
584
|
+
access: "read",
|
|
560
585
|
description: "List email records",
|
|
561
586
|
inputSchema: {
|
|
562
587
|
limit: { type: "number", required: false },
|
|
@@ -580,6 +605,7 @@ export default function keap(rl) {
|
|
|
580
605
|
},
|
|
581
606
|
});
|
|
582
607
|
rl.registerAction("email.send", {
|
|
608
|
+
access: "write",
|
|
583
609
|
description: "Queue an email to be sent",
|
|
584
610
|
inputSchema: {
|
|
585
611
|
userId: {
|
|
@@ -620,6 +646,7 @@ export default function keap(rl) {
|
|
|
620
646
|
});
|
|
621
647
|
// ── File ────────────────────────────────────────────
|
|
622
648
|
rl.registerAction("file.delete", {
|
|
649
|
+
access: "write",
|
|
623
650
|
description: "Delete a file",
|
|
624
651
|
inputSchema: { fileId: { type: "number", required: true } },
|
|
625
652
|
async execute(input, ctx) {
|
|
@@ -628,6 +655,7 @@ export default function keap(rl) {
|
|
|
628
655
|
},
|
|
629
656
|
});
|
|
630
657
|
rl.registerAction("file.list", {
|
|
658
|
+
access: "read",
|
|
631
659
|
description: "List files",
|
|
632
660
|
inputSchema: {
|
|
633
661
|
limit: { type: "number", required: false },
|
|
@@ -77,6 +77,7 @@ export default function kobotoolbox(rl) {
|
|
|
77
77
|
});
|
|
78
78
|
// ── Form ────────────────────────────────────────────
|
|
79
79
|
rl.registerAction("form.get", {
|
|
80
|
+
access: "read",
|
|
80
81
|
description: "Get a form (asset) by ID",
|
|
81
82
|
inputSchema: {
|
|
82
83
|
formId: { type: "string", required: true, description: "Form/asset UID" },
|
|
@@ -87,6 +88,7 @@ export default function kobotoolbox(rl) {
|
|
|
87
88
|
},
|
|
88
89
|
});
|
|
89
90
|
rl.registerAction("form.list", {
|
|
91
|
+
access: "read",
|
|
90
92
|
description: "List all forms/assets",
|
|
91
93
|
inputSchema: {
|
|
92
94
|
limit: { type: "number", required: false },
|
|
@@ -122,6 +124,7 @@ export default function kobotoolbox(rl) {
|
|
|
122
124
|
},
|
|
123
125
|
});
|
|
124
126
|
rl.registerAction("form.redeploy", {
|
|
127
|
+
access: "write",
|
|
125
128
|
description: "Redeploy a form",
|
|
126
129
|
inputSchema: { formId: { type: "string", required: true } },
|
|
127
130
|
async execute(input, ctx) {
|
|
@@ -131,6 +134,7 @@ export default function kobotoolbox(rl) {
|
|
|
131
134
|
});
|
|
132
135
|
// ── Submission ──────────────────────────────────────
|
|
133
136
|
rl.registerAction("submission.get", {
|
|
137
|
+
access: "read",
|
|
134
138
|
description: "Get a submission by ID",
|
|
135
139
|
inputSchema: {
|
|
136
140
|
formId: { type: "string", required: true },
|
|
@@ -151,6 +155,7 @@ export default function kobotoolbox(rl) {
|
|
|
151
155
|
},
|
|
152
156
|
});
|
|
153
157
|
rl.registerAction("submission.list", {
|
|
158
|
+
access: "read",
|
|
154
159
|
description: "List submissions for a form",
|
|
155
160
|
inputSchema: {
|
|
156
161
|
formId: { type: "string", required: true },
|
|
@@ -186,6 +191,7 @@ export default function kobotoolbox(rl) {
|
|
|
186
191
|
},
|
|
187
192
|
});
|
|
188
193
|
rl.registerAction("submission.delete", {
|
|
194
|
+
access: "write",
|
|
189
195
|
description: "Delete a submission",
|
|
190
196
|
inputSchema: {
|
|
191
197
|
formId: { type: "string", required: true },
|
|
@@ -199,6 +205,7 @@ export default function kobotoolbox(rl) {
|
|
|
199
205
|
},
|
|
200
206
|
});
|
|
201
207
|
rl.registerAction("submission.getValidation", {
|
|
208
|
+
access: "read",
|
|
202
209
|
description: "Get the validation status of a submission",
|
|
203
210
|
inputSchema: {
|
|
204
211
|
formId: { type: "string", required: true },
|
|
@@ -211,6 +218,7 @@ export default function kobotoolbox(rl) {
|
|
|
211
218
|
},
|
|
212
219
|
});
|
|
213
220
|
rl.registerAction("submission.setValidation", {
|
|
221
|
+
access: "write",
|
|
214
222
|
description: "Set the validation status of a submission",
|
|
215
223
|
inputSchema: {
|
|
216
224
|
formId: { type: "string", required: true },
|
|
@@ -229,6 +237,7 @@ export default function kobotoolbox(rl) {
|
|
|
229
237
|
});
|
|
230
238
|
// ── Hook ────────────────────────────────────────────
|
|
231
239
|
rl.registerAction("hook.get", {
|
|
240
|
+
access: "read",
|
|
232
241
|
description: "Get a hook by ID",
|
|
233
242
|
inputSchema: {
|
|
234
243
|
formId: { type: "string", required: true },
|
|
@@ -241,6 +250,7 @@ export default function kobotoolbox(rl) {
|
|
|
241
250
|
},
|
|
242
251
|
});
|
|
243
252
|
rl.registerAction("hook.list", {
|
|
253
|
+
access: "read",
|
|
244
254
|
description: "List hooks for a form",
|
|
245
255
|
inputSchema: {
|
|
246
256
|
formId: { type: "string", required: true },
|
|
@@ -255,6 +265,7 @@ export default function kobotoolbox(rl) {
|
|
|
255
265
|
},
|
|
256
266
|
});
|
|
257
267
|
rl.registerAction("hook.retryAll", {
|
|
268
|
+
access: "write",
|
|
258
269
|
description: "Retry all failed attempts for a hook",
|
|
259
270
|
inputSchema: {
|
|
260
271
|
formId: { type: "string", required: true },
|
|
@@ -267,6 +278,7 @@ export default function kobotoolbox(rl) {
|
|
|
267
278
|
},
|
|
268
279
|
});
|
|
269
280
|
rl.registerAction("hook.getLogs", {
|
|
281
|
+
access: "read",
|
|
270
282
|
description: "Get logs for a hook",
|
|
271
283
|
inputSchema: {
|
|
272
284
|
formId: { type: "string", required: true },
|
|
@@ -301,6 +313,7 @@ export default function kobotoolbox(rl) {
|
|
|
301
313
|
},
|
|
302
314
|
});
|
|
303
315
|
rl.registerAction("hook.retryOne", {
|
|
316
|
+
access: "write",
|
|
304
317
|
description: "Retry a single failed hook log entry",
|
|
305
318
|
inputSchema: {
|
|
306
319
|
formId: { type: "string", required: true },
|
|
@@ -315,6 +328,7 @@ export default function kobotoolbox(rl) {
|
|
|
315
328
|
});
|
|
316
329
|
// ── File ────────────────────────────────────────────
|
|
317
330
|
rl.registerAction("file.list", {
|
|
331
|
+
access: "read",
|
|
318
332
|
description: "List media files for a form",
|
|
319
333
|
inputSchema: { formId: { type: "string", required: true } },
|
|
320
334
|
async execute(input, ctx) {
|
|
@@ -323,6 +337,7 @@ export default function kobotoolbox(rl) {
|
|
|
323
337
|
},
|
|
324
338
|
});
|
|
325
339
|
rl.registerAction("file.get", {
|
|
340
|
+
access: "read",
|
|
326
341
|
description: "Get a file's metadata",
|
|
327
342
|
inputSchema: {
|
|
328
343
|
formId: { type: "string", required: true },
|
|
@@ -335,6 +350,7 @@ export default function kobotoolbox(rl) {
|
|
|
335
350
|
},
|
|
336
351
|
});
|
|
337
352
|
rl.registerAction("file.delete", {
|
|
353
|
+
access: "write",
|
|
338
354
|
description: "Delete a file",
|
|
339
355
|
inputSchema: {
|
|
340
356
|
formId: { type: "string", required: true },
|
|
@@ -347,6 +363,7 @@ export default function kobotoolbox(rl) {
|
|
|
347
363
|
},
|
|
348
364
|
});
|
|
349
365
|
rl.registerAction("file.createFromUrl", {
|
|
366
|
+
access: "write",
|
|
350
367
|
description: "Create a file from a URL (redirect-based media)",
|
|
351
368
|
inputSchema: {
|
|
352
369
|
formId: { type: "string", required: true },
|
|
@@ -52,6 +52,7 @@ export default function lemlist(rl) {
|
|
|
52
52
|
const key = (ctx) => ctx.connection.config.apiKey;
|
|
53
53
|
// ── Activity ────────────────────────────────────────
|
|
54
54
|
rl.registerAction("activity.list", {
|
|
55
|
+
access: "read",
|
|
55
56
|
description: "List activities",
|
|
56
57
|
inputSchema: {
|
|
57
58
|
limit: { type: "number", required: false, description: "Max results" },
|
|
@@ -89,6 +90,7 @@ export default function lemlist(rl) {
|
|
|
89
90
|
});
|
|
90
91
|
// ── Campaign ────────────────────────────────────────
|
|
91
92
|
rl.registerAction("campaign.list", {
|
|
93
|
+
access: "read",
|
|
92
94
|
description: "List campaigns",
|
|
93
95
|
inputSchema: {
|
|
94
96
|
limit: { type: "number", required: false },
|
|
@@ -103,6 +105,7 @@ export default function lemlist(rl) {
|
|
|
103
105
|
},
|
|
104
106
|
});
|
|
105
107
|
rl.registerAction("campaign.getStats", {
|
|
108
|
+
access: "read",
|
|
106
109
|
description: "Get campaign statistics",
|
|
107
110
|
inputSchema: {
|
|
108
111
|
campaignId: { type: "string", required: true },
|
|
@@ -129,6 +132,7 @@ export default function lemlist(rl) {
|
|
|
129
132
|
});
|
|
130
133
|
// ── Lead ────────────────────────────────────────────
|
|
131
134
|
rl.registerAction("lead.create", {
|
|
135
|
+
access: "write",
|
|
132
136
|
description: "Add a lead to a campaign",
|
|
133
137
|
inputSchema: {
|
|
134
138
|
campaignId: { type: "string", required: true },
|
|
@@ -165,6 +169,7 @@ export default function lemlist(rl) {
|
|
|
165
169
|
},
|
|
166
170
|
});
|
|
167
171
|
rl.registerAction("lead.get", {
|
|
172
|
+
access: "read",
|
|
168
173
|
description: "Get a lead by email",
|
|
169
174
|
inputSchema: { email: { type: "string", required: true } },
|
|
170
175
|
async execute(input, ctx) {
|
|
@@ -172,6 +177,7 @@ export default function lemlist(rl) {
|
|
|
172
177
|
},
|
|
173
178
|
});
|
|
174
179
|
rl.registerAction("lead.delete", {
|
|
180
|
+
access: "write",
|
|
175
181
|
description: "Remove a lead from a campaign (keeps lead in unsubscribe list)",
|
|
176
182
|
inputSchema: {
|
|
177
183
|
campaignId: { type: "string", required: true },
|
|
@@ -183,6 +189,7 @@ export default function lemlist(rl) {
|
|
|
183
189
|
},
|
|
184
190
|
});
|
|
185
191
|
rl.registerAction("lead.unsubscribe", {
|
|
192
|
+
access: "write",
|
|
186
193
|
description: "Unsubscribe a lead from a campaign",
|
|
187
194
|
inputSchema: {
|
|
188
195
|
campaignId: { type: "string", required: true },
|
|
@@ -195,12 +202,14 @@ export default function lemlist(rl) {
|
|
|
195
202
|
});
|
|
196
203
|
// ── Team ────────────────────────────────────────────
|
|
197
204
|
rl.registerAction("team.get", {
|
|
205
|
+
access: "read",
|
|
198
206
|
description: "Get team information",
|
|
199
207
|
async execute(_input, ctx) {
|
|
200
208
|
return apiRequest(key(ctx), "GET", "/team");
|
|
201
209
|
},
|
|
202
210
|
});
|
|
203
211
|
rl.registerAction("team.getCredits", {
|
|
212
|
+
access: "read",
|
|
204
213
|
description: "Get team credits",
|
|
205
214
|
async execute(_input, ctx) {
|
|
206
215
|
return apiRequest(key(ctx), "GET", "/team/credits");
|
|
@@ -208,6 +217,7 @@ export default function lemlist(rl) {
|
|
|
208
217
|
});
|
|
209
218
|
// ── Unsubscribe ─────────────────────────────────────
|
|
210
219
|
rl.registerAction("unsubscribe.add", {
|
|
220
|
+
access: "write",
|
|
211
221
|
description: "Add an email to the unsubscribe list",
|
|
212
222
|
inputSchema: { email: { type: "string", required: true } },
|
|
213
223
|
async execute(input, ctx) {
|
|
@@ -215,6 +225,7 @@ export default function lemlist(rl) {
|
|
|
215
225
|
},
|
|
216
226
|
});
|
|
217
227
|
rl.registerAction("unsubscribe.delete", {
|
|
228
|
+
access: "write",
|
|
218
229
|
description: "Remove an email from the unsubscribe list",
|
|
219
230
|
inputSchema: { email: { type: "string", required: true } },
|
|
220
231
|
async execute(input, ctx) {
|
|
@@ -222,6 +233,7 @@ export default function lemlist(rl) {
|
|
|
222
233
|
},
|
|
223
234
|
});
|
|
224
235
|
rl.registerAction("unsubscribe.list", {
|
|
236
|
+
access: "read",
|
|
225
237
|
description: "List all unsubscribed emails",
|
|
226
238
|
inputSchema: { limit: { type: "number", required: false } },
|
|
227
239
|
async execute(input, ctx) {
|
|
@@ -235,6 +247,7 @@ export default function lemlist(rl) {
|
|
|
235
247
|
});
|
|
236
248
|
// ── Enrichment ──────────────────────────────────────
|
|
237
249
|
rl.registerAction("enrich.get", {
|
|
250
|
+
access: "read",
|
|
238
251
|
description: "Get an enrichment result by ID",
|
|
239
252
|
inputSchema: { enrichId: { type: "string", required: true } },
|
|
240
253
|
async execute(input, ctx) {
|
|
@@ -242,6 +255,7 @@ export default function lemlist(rl) {
|
|
|
242
255
|
},
|
|
243
256
|
});
|
|
244
257
|
rl.registerAction("enrich.lead", {
|
|
258
|
+
access: "write",
|
|
245
259
|
description: "Enrich a lead by ID",
|
|
246
260
|
inputSchema: {
|
|
247
261
|
leadId: { type: "string", required: true },
|
|
@@ -261,6 +275,7 @@ export default function lemlist(rl) {
|
|
|
261
275
|
},
|
|
262
276
|
});
|
|
263
277
|
rl.registerAction("enrich.person", {
|
|
278
|
+
access: "write",
|
|
264
279
|
description: "Enrich a person (without existing lead)",
|
|
265
280
|
inputSchema: {
|
|
266
281
|
findEmail: { type: "boolean", required: true },
|
|
@@ -2,6 +2,7 @@ import * as t from "typebox";
|
|
|
2
2
|
import { ATTACHMENT_FIELDS, assertAttachmentInScope, assertIssueInScope, gql, key, requireUnscoped, } from "./shared.js";
|
|
3
3
|
export function registerAttachmentActions(rl) {
|
|
4
4
|
rl.registerAction("attachment.list", {
|
|
5
|
+
access: "read",
|
|
5
6
|
description: "List issue attachments. Disabled for scoped Linear connections.",
|
|
6
7
|
inputSchema: t.Object({ limit: t.Optional(t.Number()) }),
|
|
7
8
|
async execute(input, ctx) {
|
|
@@ -12,6 +13,7 @@ export function registerAttachmentActions(rl) {
|
|
|
12
13
|
},
|
|
13
14
|
});
|
|
14
15
|
rl.registerAction("attachment.get", {
|
|
16
|
+
access: "read",
|
|
15
17
|
description: "Get an attachment by ID.",
|
|
16
18
|
inputSchema: t.Object({ id: t.String() }),
|
|
17
19
|
async execute(input, ctx) {
|
|
@@ -22,6 +24,7 @@ export function registerAttachmentActions(rl) {
|
|
|
22
24
|
},
|
|
23
25
|
});
|
|
24
26
|
rl.registerAction("attachment.create", {
|
|
27
|
+
access: "write",
|
|
25
28
|
description: "Create an attachment on an issue.",
|
|
26
29
|
inputSchema: t.Object({
|
|
27
30
|
issueId: t.String({
|
|
@@ -54,6 +57,7 @@ export function registerAttachmentActions(rl) {
|
|
|
54
57
|
},
|
|
55
58
|
});
|
|
56
59
|
rl.registerAction("attachment.update", {
|
|
60
|
+
access: "write",
|
|
57
61
|
description: "Update an attachment. title is required.",
|
|
58
62
|
inputSchema: t.Object({
|
|
59
63
|
id: t.String({
|
|
@@ -74,6 +78,7 @@ export function registerAttachmentActions(rl) {
|
|
|
74
78
|
},
|
|
75
79
|
});
|
|
76
80
|
rl.registerAction("attachment.linkURL", {
|
|
81
|
+
access: "write",
|
|
77
82
|
description: "Link any URL to an issue. If a workspace integration matches the URL (Zendesk, GitHub, Slack, etc.) a rich attachment is created; otherwise a basic one.",
|
|
78
83
|
inputSchema: t.Object({
|
|
79
84
|
issueId: t.String({
|
|
@@ -95,6 +100,7 @@ export function registerAttachmentActions(rl) {
|
|
|
95
100
|
},
|
|
96
101
|
});
|
|
97
102
|
rl.registerAction("attachment.delete", {
|
|
103
|
+
access: "write",
|
|
98
104
|
description: "Delete an attachment.",
|
|
99
105
|
inputSchema: t.Object({
|
|
100
106
|
id: t.String({
|
|
@@ -2,6 +2,7 @@ import * as t from "typebox";
|
|
|
2
2
|
import { assertCommentInScope, assertIssueInScope, COMMENT_FIELDS, gql, key, requireUnscoped, } from "./shared.js";
|
|
3
3
|
export function registerCommentActions(rl) {
|
|
4
4
|
rl.registerAction("issue.addComment", {
|
|
5
|
+
access: "write",
|
|
5
6
|
description: "Add a comment to an issue. Pass parentId to nest as a reply.",
|
|
6
7
|
inputSchema: t.Object({
|
|
7
8
|
issueId: t.String({
|
|
@@ -26,6 +27,7 @@ export function registerCommentActions(rl) {
|
|
|
26
27
|
},
|
|
27
28
|
});
|
|
28
29
|
rl.registerAction("comment.list", {
|
|
30
|
+
access: "read",
|
|
29
31
|
description: "List comments. Pass issueId (UUID or identifier like 'LIN-123') to list one issue's comments; without it, lists workspace-wide (unscoped connections only).",
|
|
30
32
|
inputSchema: t.Object({
|
|
31
33
|
issueId: t.Optional(t.String({
|
|
@@ -46,6 +48,7 @@ export function registerCommentActions(rl) {
|
|
|
46
48
|
},
|
|
47
49
|
});
|
|
48
50
|
rl.registerAction("comment.get", {
|
|
51
|
+
access: "read",
|
|
49
52
|
description: "Get a comment by ID.",
|
|
50
53
|
inputSchema: t.Object({ id: t.String() }),
|
|
51
54
|
async execute(input, ctx) {
|
|
@@ -56,6 +59,7 @@ export function registerCommentActions(rl) {
|
|
|
56
59
|
},
|
|
57
60
|
});
|
|
58
61
|
rl.registerAction("comment.update", {
|
|
62
|
+
access: "write",
|
|
59
63
|
description: "Update a comment.",
|
|
60
64
|
inputSchema: t.Object({
|
|
61
65
|
id: t.String({ description: "The identifier of the comment to update" }),
|
|
@@ -72,6 +76,7 @@ export function registerCommentActions(rl) {
|
|
|
72
76
|
},
|
|
73
77
|
});
|
|
74
78
|
rl.registerAction("comment.delete", {
|
|
79
|
+
access: "write",
|
|
75
80
|
description: "Delete a comment.",
|
|
76
81
|
inputSchema: t.Object({ id: t.String() }),
|
|
77
82
|
async execute(input, ctx) {
|
|
@@ -6,6 +6,7 @@ export function registerCycleActions(rl) {
|
|
|
6
6
|
listAction("cycle.list", "List cycles. Use filter for isActive/isNext/isPrevious.", "cycles", "CycleFilter", CYCLE_FIELDS);
|
|
7
7
|
getAction("cycle.get", "Get a cycle by ID.", "cycle", CYCLE_FIELDS);
|
|
8
8
|
rl.registerAction("cycle.create", {
|
|
9
|
+
access: "write",
|
|
9
10
|
description: "Create a cycle for a team.",
|
|
10
11
|
inputSchema: t.Object({
|
|
11
12
|
teamId: t.String({ description: "The team to associate the cycle with" }),
|
|
@@ -31,6 +32,7 @@ export function registerCycleActions(rl) {
|
|
|
31
32
|
},
|
|
32
33
|
});
|
|
33
34
|
rl.registerAction("cycle.update", {
|
|
35
|
+
access: "write",
|
|
34
36
|
description: "Update a cycle.",
|
|
35
37
|
inputSchema: t.Object({
|
|
36
38
|
id: t.String({ description: "The identifier of the cycle to update" }),
|