runline 0.11.3 → 0.11.4
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/plugins/googleDocs/src/documents.js +91 -0
- package/dist/plugins/googleDocs/src/formatting.js +126 -0
- package/dist/plugins/googleDocs/src/images.js +66 -0
- package/dist/plugins/googleDocs/src/index.js +45 -1008
- package/dist/plugins/googleDocs/src/shared.js +110 -0
- package/dist/plugins/googleDocs/src/structure.js +392 -0
- package/dist/plugins/googleDocs/src/tables.js +390 -0
- package/dist/plugins/googleDocs/src/tabs.js +77 -0
- package/dist/plugins/googleDocs/src/text.js +313 -0
- package/dist/plugins/linear/src/attachments.js +36 -12
- package/dist/plugins/linear/src/comments.js +20 -8
- package/dist/plugins/linear/src/cycles.js +22 -8
- package/dist/plugins/linear/src/initiatives.js +59 -19
- package/dist/plugins/linear/src/issues.js +118 -40
- package/dist/plugins/linear/src/labels.js +31 -11
- package/dist/plugins/linear/src/organization.js +1 -1
- package/dist/plugins/linear/src/projects.js +171 -57
- package/dist/plugins/linear/src/shared.js +16 -5
- package/dist/plugins/linear/src/states.js +14 -6
- package/dist/plugins/linear/src/teams.js +35 -12
- package/dist/plugins/linear/src/users.js +7 -3
- package/dist/plugins/linear/src/views.js +29 -10
- package/dist/plugins/linear/src/webhooks.js +39 -13
- package/dist/plugins/salesforce/src/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as t from "typebox";
|
|
2
|
-
import {
|
|
2
|
+
import { bindGetAction, bindListAction, buildConnArgs, CUSTOM_VIEW_FIELDS, FEED_ITEM_FIELDS, gql, INITIATIVE_FIELDS, ISSUE_LITE, key, LIST_INPUT_SCHEMA, mergeIssueScopeFilter, PROJECT_FIELDS, requireUnscoped, } from "./shared.js";
|
|
3
3
|
const ISSUE_FILTER_DESCRIPTION = "IssueFilter payload. Examples: label { labels: { id: { in: ['label-id'] } } }; project { project: { id: { eq: 'project-id' } } }; assignee { assignee: { id: { eq: 'user-id' } } }; state { state: { id: { eq: 'state-id' } } }; priority { priority: { eq: 1 } }; due window { dueDate: { gte: '2026-06-09', lte: '2026-06-16' } }; combine with and/or arrays.";
|
|
4
4
|
export function registerViewActions(rl) {
|
|
5
5
|
const listAction = bindListAction(rl);
|
|
@@ -11,7 +11,9 @@ export function registerViewActions(rl) {
|
|
|
11
11
|
viewId: t.String({ description: "The custom view ID or slug" }),
|
|
12
12
|
...LIST_INPUT_SCHEMA,
|
|
13
13
|
...(includeSubTeamsDescription
|
|
14
|
-
? {
|
|
14
|
+
? {
|
|
15
|
+
includeSubTeams: t.Optional(t.Boolean({ description: includeSubTeamsDescription })),
|
|
16
|
+
}
|
|
15
17
|
: {}),
|
|
16
18
|
}),
|
|
17
19
|
async execute(input, ctx) {
|
|
@@ -24,7 +26,8 @@ export function registerViewActions(rl) {
|
|
|
24
26
|
const { argsDecl, argsCall, vars } = buildConnArgs(scopedOpts, filterTypeName);
|
|
25
27
|
const declParts = ["$id: String!", argsDecl.slice(1, -1)];
|
|
26
28
|
const callParts = [argsCall.slice(1, -1)];
|
|
27
|
-
const includeSubTeamsSet = includeSubTeamsDescription !== undefined &&
|
|
29
|
+
const includeSubTeamsSet = includeSubTeamsDescription !== undefined &&
|
|
30
|
+
opts.includeSubTeams !== undefined;
|
|
28
31
|
if (includeSubTeamsSet) {
|
|
29
32
|
declParts.push("$includeSubTeams: Boolean");
|
|
30
33
|
callParts.push("includeSubTeams: $includeSubTeams");
|
|
@@ -47,16 +50,22 @@ export function registerViewActions(rl) {
|
|
|
47
50
|
description: t.Optional(t.String({ description: "The description of the custom view" })),
|
|
48
51
|
icon: t.Optional(t.String({ description: "The icon of the custom view" })),
|
|
49
52
|
color: t.Optional(t.String({ description: "The color of the custom view icon (hex)" })),
|
|
50
|
-
shared: t.Optional(t.Boolean({
|
|
53
|
+
shared: t.Optional(t.Boolean({
|
|
54
|
+
description: "false creates a personal view; true shares the view with the workspace or scoped container",
|
|
55
|
+
})),
|
|
51
56
|
filterData: t.Optional(t.Object({}, { description: ISSUE_FILTER_DESCRIPTION })),
|
|
52
57
|
projectFilterData: t.Optional(t.Object({}, { description: "ProjectFilter for project views" })),
|
|
53
58
|
initiativeFilterData: t.Optional(t.Object({}, { description: "InitiativeFilter for initiative views" })),
|
|
54
59
|
feedItemFilterData: t.Optional(t.Object({}, { description: "FeedItemFilter for update/feed item views" })),
|
|
55
60
|
teamId: t.Optional(t.String({ description: "Scope the view to a team" })),
|
|
56
61
|
projectId: t.Optional(t.String({ description: "Scope the view to a project-specific view" })),
|
|
57
|
-
initiativeId: t.Optional(t.String({
|
|
62
|
+
initiativeId: t.Optional(t.String({
|
|
63
|
+
description: "Scope the view to an initiative-specific view",
|
|
64
|
+
})),
|
|
58
65
|
ownerId: t.Optional(t.String({ description: "Set the user that owns the view" })),
|
|
59
|
-
id: t.Optional(t.String({
|
|
66
|
+
id: t.Optional(t.String({
|
|
67
|
+
description: "The identifier in UUID v4 format. If none is provided, the backend will generate one",
|
|
68
|
+
})),
|
|
60
69
|
}),
|
|
61
70
|
async execute(input, ctx) {
|
|
62
71
|
requireUnscoped(ctx, "view.create");
|
|
@@ -67,19 +76,25 @@ export function registerViewActions(rl) {
|
|
|
67
76
|
rl.registerAction("view.update", {
|
|
68
77
|
description: "Update a custom view. All fields optional; only provided fields are updated.",
|
|
69
78
|
inputSchema: t.Object({
|
|
70
|
-
id: t.String({
|
|
79
|
+
id: t.String({
|
|
80
|
+
description: "The identifier of the custom view to update",
|
|
81
|
+
}),
|
|
71
82
|
name: t.Optional(t.String({ description: "The name of the custom view" })),
|
|
72
83
|
description: t.Optional(t.String({ description: "The description of the custom view" })),
|
|
73
84
|
icon: t.Optional(t.String({ description: "The icon of the custom view" })),
|
|
74
85
|
color: t.Optional(t.String({ description: "The color of the custom view icon (hex)" })),
|
|
75
|
-
shared: t.Optional(t.Boolean({
|
|
86
|
+
shared: t.Optional(t.Boolean({
|
|
87
|
+
description: "false creates a personal view; true shares the view with the workspace or scoped container",
|
|
88
|
+
})),
|
|
76
89
|
filterData: t.Optional(t.Object({}, { description: ISSUE_FILTER_DESCRIPTION })),
|
|
77
90
|
projectFilterData: t.Optional(t.Object({}, { description: "ProjectFilter for project views" })),
|
|
78
91
|
initiativeFilterData: t.Optional(t.Object({}, { description: "InitiativeFilter for initiative views" })),
|
|
79
92
|
feedItemFilterData: t.Optional(t.Object({}, { description: "FeedItemFilter for update/feed item views" })),
|
|
80
93
|
teamId: t.Optional(t.String({ description: "Scope the view to a team" })),
|
|
81
94
|
projectId: t.Optional(t.String({ description: "Scope the view to a project-specific view" })),
|
|
82
|
-
initiativeId: t.Optional(t.String({
|
|
95
|
+
initiativeId: t.Optional(t.String({
|
|
96
|
+
description: "Scope the view to an initiative-specific view",
|
|
97
|
+
})),
|
|
83
98
|
ownerId: t.Optional(t.String({ description: "Set the user that owns the view" })),
|
|
84
99
|
}),
|
|
85
100
|
async execute(input, ctx) {
|
|
@@ -91,7 +106,11 @@ export function registerViewActions(rl) {
|
|
|
91
106
|
});
|
|
92
107
|
rl.registerAction("view.delete", {
|
|
93
108
|
description: "Delete a custom view.",
|
|
94
|
-
inputSchema: t.Object({
|
|
109
|
+
inputSchema: t.Object({
|
|
110
|
+
id: t.String({
|
|
111
|
+
description: "The identifier of the custom view to delete",
|
|
112
|
+
}),
|
|
113
|
+
}),
|
|
95
114
|
async execute(input, ctx) {
|
|
96
115
|
requireUnscoped(ctx, "view.delete");
|
|
97
116
|
const data = await gql(key(ctx), `mutation($id: String!) { customViewDelete(id: $id) { success } }`, { id: input.id });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as t from "typebox";
|
|
2
|
-
import {
|
|
2
|
+
import { bindGetAction, bindListAction, gql, key, requireUnscoped, WEBHOOK_FIELDS, } from "./shared.js";
|
|
3
3
|
export function registerWebhookActions(rl) {
|
|
4
4
|
const listAction = bindListAction(rl);
|
|
5
5
|
const getAction = bindGetAction(rl);
|
|
@@ -8,14 +8,28 @@ export function registerWebhookActions(rl) {
|
|
|
8
8
|
rl.registerAction("webhook.create", {
|
|
9
9
|
description: "Create a webhook. resourceTypes example: ['Issue','Comment','Project'].",
|
|
10
10
|
inputSchema: t.Object({
|
|
11
|
-
url: t.String({
|
|
12
|
-
|
|
11
|
+
url: t.String({
|
|
12
|
+
description: "The URL that will be called on data changes",
|
|
13
|
+
}),
|
|
14
|
+
resourceTypes: t.Array(t.String(), {
|
|
15
|
+
description: "List of resources the webhook should subscribe to (e.g. ['Issue','Comment'])",
|
|
16
|
+
}),
|
|
13
17
|
label: t.Optional(t.String({ description: "Label for the webhook" })),
|
|
14
|
-
teamId: t.Optional(t.String({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
teamId: t.Optional(t.String({
|
|
19
|
+
description: "The identifier or key of the team associated with the webhook. Omit and set allPublicTeams=true for workspace-wide",
|
|
20
|
+
})),
|
|
21
|
+
allPublicTeams: t.Optional(t.Boolean({
|
|
22
|
+
description: "Whether this webhook is enabled for all public teams",
|
|
23
|
+
})),
|
|
24
|
+
enabled: t.Optional(t.Boolean({
|
|
25
|
+
description: "Whether this webhook is enabled (default true)",
|
|
26
|
+
})),
|
|
27
|
+
secret: t.Optional(t.String({
|
|
28
|
+
description: "A secret token used to sign the webhook payload",
|
|
29
|
+
})),
|
|
30
|
+
id: t.Optional(t.String({
|
|
31
|
+
description: "The identifier in UUID v4 format. If none is provided, the backend will generate one",
|
|
32
|
+
})),
|
|
19
33
|
}),
|
|
20
34
|
async execute(input, ctx) {
|
|
21
35
|
requireUnscoped(ctx, "webhooks.*");
|
|
@@ -27,11 +41,17 @@ export function registerWebhookActions(rl) {
|
|
|
27
41
|
description: "Update a webhook. teamId and allPublicTeams cannot be changed after creation.",
|
|
28
42
|
inputSchema: t.Object({
|
|
29
43
|
id: t.String({ description: "The identifier of the webhook to update" }),
|
|
30
|
-
url: t.Optional(t.String({
|
|
31
|
-
|
|
44
|
+
url: t.Optional(t.String({
|
|
45
|
+
description: "The URL that will be called on data changes",
|
|
46
|
+
})),
|
|
47
|
+
resourceTypes: t.Optional(t.Array(t.String(), {
|
|
48
|
+
description: "List of resources the webhook should subscribe to",
|
|
49
|
+
})),
|
|
32
50
|
label: t.Optional(t.String({ description: "Label for the webhook" })),
|
|
33
51
|
enabled: t.Optional(t.Boolean({ description: "Whether this webhook is enabled" })),
|
|
34
|
-
secret: t.Optional(t.String({
|
|
52
|
+
secret: t.Optional(t.String({
|
|
53
|
+
description: "A secret token used to sign the webhook payload",
|
|
54
|
+
})),
|
|
35
55
|
}),
|
|
36
56
|
async execute(input, ctx) {
|
|
37
57
|
requireUnscoped(ctx, "webhooks.*");
|
|
@@ -42,7 +62,9 @@ export function registerWebhookActions(rl) {
|
|
|
42
62
|
});
|
|
43
63
|
rl.registerAction("webhook.delete", {
|
|
44
64
|
description: "Delete a webhook.",
|
|
45
|
-
inputSchema: t.Object({
|
|
65
|
+
inputSchema: t.Object({
|
|
66
|
+
id: t.String({ description: "The identifier of the webhook to delete" }),
|
|
67
|
+
}),
|
|
46
68
|
async execute(input, ctx) {
|
|
47
69
|
requireUnscoped(ctx, "webhooks.*");
|
|
48
70
|
const data = await gql(key(ctx), `mutation($id: String!) { webhookDelete(id: $id) { success } }`, { id: input.id });
|
|
@@ -51,7 +73,11 @@ export function registerWebhookActions(rl) {
|
|
|
51
73
|
});
|
|
52
74
|
rl.registerAction("webhook.rotateSecret", {
|
|
53
75
|
description: "Rotate a webhook's signing secret. Returns the new secret.",
|
|
54
|
-
inputSchema: t.Object({
|
|
76
|
+
inputSchema: t.Object({
|
|
77
|
+
id: t.String({
|
|
78
|
+
description: "The identifier of the webhook to rotate the secret for",
|
|
79
|
+
}),
|
|
80
|
+
}),
|
|
55
81
|
async execute(input, ctx) {
|
|
56
82
|
requireUnscoped(ctx, "webhooks.*");
|
|
57
83
|
const data = await gql(key(ctx), `mutation($id: String!) { webhookRotateSecret(id: $id) { success secret } }`, { id: input.id });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as t from "typebox";
|
|
2
2
|
import { registerMetadataActions } from "./metadata.js";
|
|
3
3
|
import { registerQueryActions } from "./query.js";
|
|
4
|
-
import { registerGenericSObjectActions, registerStandardSObjectActions } from "./sobjects.js";
|
|
4
|
+
import { registerGenericSObjectActions, registerStandardSObjectActions, } from "./sobjects.js";
|
|
5
5
|
export default function salesforce(rl) {
|
|
6
6
|
rl.setName("salesforce");
|
|
7
7
|
rl.setVersion("0.2.0");
|