@eyeauras/youtrack-cli 0.7.1 → 0.9.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/README.md +161 -50
- package/dist/src/access-catalog-commands.d.ts +2 -0
- package/dist/src/access-catalog-commands.d.ts.map +1 -0
- package/dist/src/access-catalog-commands.js +24 -0
- package/dist/src/access-catalog-commands.js.map +1 -0
- package/dist/src/access-catalog.d.ts +12 -0
- package/dist/src/access-catalog.d.ts.map +1 -0
- package/dist/src/access-catalog.js +44 -0
- package/dist/src/access-catalog.js.map +1 -0
- package/dist/src/agile-commands.d.ts.map +1 -1
- package/dist/src/agile-commands.js +14 -5
- package/dist/src/agile-commands.js.map +1 -1
- package/dist/src/agile.d.ts +11 -2
- package/dist/src/agile.d.ts.map +1 -1
- package/dist/src/agile.js +29 -2
- package/dist/src/agile.js.map +1 -1
- package/dist/src/article-extras-commands.d.ts +1 -0
- package/dist/src/article-extras-commands.d.ts.map +1 -1
- package/dist/src/article-extras-commands.js +23 -6
- package/dist/src/article-extras-commands.js.map +1 -1
- package/dist/src/article-extras.d.ts +15 -2
- package/dist/src/article-extras.d.ts.map +1 -1
- package/dist/src/article-extras.js +49 -2
- package/dist/src/article-extras.js.map +1 -1
- package/dist/src/articles-commands.d.ts.map +1 -1
- package/dist/src/articles-commands.js +11 -8
- package/dist/src/articles-commands.js.map +1 -1
- package/dist/src/articles.d.ts +7 -5
- package/dist/src/articles.d.ts.map +1 -1
- package/dist/src/articles.js +13 -7
- package/dist/src/articles.js.map +1 -1
- package/dist/src/backup-commands.d.ts +2 -0
- package/dist/src/backup-commands.d.ts.map +1 -0
- package/dist/src/backup-commands.js +16 -0
- package/dist/src/backup-commands.js.map +1 -0
- package/dist/src/backup.d.ts +7 -0
- package/dist/src/backup.d.ts.map +1 -0
- package/dist/src/backup.js +30 -0
- package/dist/src/backup.js.map +1 -0
- package/dist/src/bundle-values-commands.d.ts.map +1 -1
- package/dist/src/bundle-values-commands.js +27 -9
- package/dist/src/bundle-values-commands.js.map +1 -1
- package/dist/src/bundle-values.d.ts +31 -12
- package/dist/src/bundle-values.d.ts.map +1 -1
- package/dist/src/bundle-values.js +61 -1
- package/dist/src/bundle-values.js.map +1 -1
- package/dist/src/cli-support.d.ts +10 -6
- package/dist/src/cli-support.d.ts.map +1 -1
- package/dist/src/cli-support.js +40 -12
- package/dist/src/cli-support.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +25 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client.d.ts +29 -9
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +180 -52
- package/dist/src/client.js.map +1 -1
- package/dist/src/credential-alias.d.ts +7 -0
- package/dist/src/credential-alias.d.ts.map +1 -0
- package/dist/src/credential-alias.js +21 -0
- package/dist/src/credential-alias.js.map +1 -0
- package/dist/src/field-catalog-commands.d.ts.map +1 -1
- package/dist/src/field-catalog-commands.js +30 -8
- package/dist/src/field-catalog-commands.js.map +1 -1
- package/dist/src/field-catalog.d.ts +30 -11
- package/dist/src/field-catalog.d.ts.map +1 -1
- package/dist/src/field-catalog.js +56 -1
- package/dist/src/field-catalog.js.map +1 -1
- package/dist/src/group-directory-commands.d.ts.map +1 -1
- package/dist/src/group-directory-commands.js +18 -9
- package/dist/src/group-directory-commands.js.map +1 -1
- package/dist/src/group-directory.d.ts +13 -4
- package/dist/src/group-directory.d.ts.map +1 -1
- package/dist/src/group-directory.js +41 -2
- package/dist/src/group-directory.js.map +1 -1
- package/dist/src/index.d.ts +20 -15
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +19 -14
- package/dist/src/index.js.map +1 -1
- package/dist/src/issue-attachments-commands.d.ts.map +1 -1
- package/dist/src/issue-attachments-commands.js +7 -4
- package/dist/src/issue-attachments-commands.js.map +1 -1
- package/dist/src/issue-attachments.d.ts +5 -3
- package/dist/src/issue-attachments.d.ts.map +1 -1
- package/dist/src/issue-attachments.js +12 -3
- package/dist/src/issue-attachments.js.map +1 -1
- package/dist/src/issue-context-commands.d.ts.map +1 -1
- package/dist/src/issue-context-commands.js +42 -6
- package/dist/src/issue-context-commands.js.map +1 -1
- package/dist/src/issue-context.d.ts +20 -4
- package/dist/src/issue-context.d.ts.map +1 -1
- package/dist/src/issue-context.js +43 -3
- package/dist/src/issue-context.js.map +1 -1
- package/dist/src/issue-fields-commands.d.ts.map +1 -1
- package/dist/src/issue-fields-commands.js +26 -5
- package/dist/src/issue-fields-commands.js.map +1 -1
- package/dist/src/issue-fields.d.ts +30 -10
- package/dist/src/issue-fields.d.ts.map +1 -1
- package/dist/src/issue-fields.js +71 -9
- package/dist/src/issue-fields.js.map +1 -1
- package/dist/src/issue-query-commands.d.ts.map +1 -1
- package/dist/src/issue-query-commands.js +28 -6
- package/dist/src/issue-query-commands.js.map +1 -1
- package/dist/src/issue-query.d.ts +12 -1
- package/dist/src/issue-query.d.ts.map +1 -1
- package/dist/src/issue-query.js +24 -4
- package/dist/src/issue-query.js.map +1 -1
- package/dist/src/issue-reactions-commands.d.ts +2 -0
- package/dist/src/issue-reactions-commands.d.ts.map +1 -0
- package/dist/src/issue-reactions-commands.js +11 -0
- package/dist/src/issue-reactions-commands.js.map +1 -0
- package/dist/src/issue-reactions.d.ts +6 -0
- package/dist/src/issue-reactions.d.ts.map +1 -0
- package/dist/src/issue-reactions.js +15 -0
- package/dist/src/issue-reactions.js.map +1 -0
- package/dist/src/issue-relations-commands.d.ts.map +1 -1
- package/dist/src/issue-relations-commands.js +23 -10
- package/dist/src/issue-relations-commands.js.map +1 -1
- package/dist/src/issue-relations.d.ts +24 -13
- package/dist/src/issue-relations.d.ts.map +1 -1
- package/dist/src/issue-relations.js +50 -10
- package/dist/src/issue-relations.js.map +1 -1
- package/dist/src/issue-time-commands.d.ts.map +1 -1
- package/dist/src/issue-time-commands.js +20 -6
- package/dist/src/issue-time-commands.js.map +1 -1
- package/dist/src/issue-time.d.ts +18 -4
- package/dist/src/issue-time.d.ts.map +1 -1
- package/dist/src/issue-time.js +22 -4
- package/dist/src/issue-time.js.map +1 -1
- package/dist/src/organization-commands.d.ts +2 -0
- package/dist/src/organization-commands.d.ts.map +1 -0
- package/dist/src/organization-commands.js +14 -0
- package/dist/src/organization-commands.js.map +1 -0
- package/dist/src/organizations.d.ts +7 -0
- package/dist/src/organizations.d.ts.map +1 -0
- package/dist/src/organizations.js +16 -0
- package/dist/src/organizations.js.map +1 -0
- package/dist/src/presentation.d.ts +39 -1
- package/dist/src/presentation.d.ts.map +1 -1
- package/dist/src/presentation.js +254 -0
- package/dist/src/presentation.js.map +1 -1
- package/dist/src/server-settings-commands.d.ts +2 -0
- package/dist/src/server-settings-commands.d.ts.map +1 -0
- package/dist/src/server-settings-commands.js +95 -0
- package/dist/src/server-settings-commands.js.map +1 -0
- package/dist/src/server-settings.d.ts +18 -0
- package/dist/src/server-settings.d.ts.map +1 -0
- package/dist/src/server-settings.js +101 -0
- package/dist/src/server-settings.js.map +1 -0
- package/dist/src/time-settings-commands.d.ts.map +1 -1
- package/dist/src/time-settings-commands.js +15 -8
- package/dist/src/time-settings-commands.js.map +1 -1
- package/dist/src/time-settings.d.ts +15 -7
- package/dist/src/time-settings.d.ts.map +1 -1
- package/dist/src/time-settings.js +35 -1
- package/dist/src/time-settings.js.map +1 -1
- package/dist/src/user-directory-commands.d.ts.map +1 -1
- package/dist/src/user-directory-commands.js +80 -7
- package/dist/src/user-directory-commands.js.map +1 -1
- package/dist/src/user-directory.d.ts +26 -8
- package/dist/src/user-directory.d.ts.map +1 -1
- package/dist/src/user-directory.js +80 -1
- package/dist/src/user-directory.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { command } from "@eyeauras/cli-factory";
|
|
1
|
+
import { command, jsonParser } from "@eyeauras/cli-factory";
|
|
2
2
|
import { requiredText } from "./client.js";
|
|
3
|
-
import { pagedRead, projectedRead, readCommand, updateCommand, projectionOptions, readOptions } from "./cli-support.js";
|
|
4
|
-
import { applyCommands, assistCommands, assistSearch, countIssues, getSavedQuery, listSavedQueries, parseIssueSelection, } from "./issue-query.js";
|
|
5
|
-
import { commandApplied, countRecord, savedQueryTable, withView } from "./presentation.js";
|
|
3
|
+
import { projectedDelete, pagedRead, projectedBodyUpdate, projectedRead, readCommand, updateCommand, projectionOptions, readOptions, writeOptions, notificationOptions } from "./cli-support.js";
|
|
4
|
+
import { deleteSavedQuery, applyCommands, createSavedQuery, updateSavedQuery, assistCommands, assistSearch, countIssues, getSavedQuery, listSavedQueries, parseIssueSelection, } from "./issue-query.js";
|
|
5
|
+
import { mutationWritten, commandApplied, countRecord, savedQueryTable, savedQueryRecord, withView } from "./presentation.js";
|
|
6
6
|
const queryOptions = [
|
|
7
7
|
...projectionOptions,
|
|
8
8
|
{
|
|
@@ -39,7 +39,26 @@ function assistInput(options) {
|
|
|
39
39
|
}
|
|
40
40
|
export const queryRootCommands = [
|
|
41
41
|
command("commands", "Apply issue commands or get suggestions", [
|
|
42
|
-
withView(commandApplied, updateCommand("apply", "Apply a command to the selected issues", async (connection, { options }, context) => applyCommands(connection, String(options.query), options.issues,
|
|
42
|
+
withView(commandApplied, updateCommand("apply", "Apply a command to the selected issues", async (connection, { options }, context) => applyCommands(connection, String(options.query), options.issues, {
|
|
43
|
+
...writeOptions(options),
|
|
44
|
+
...(typeof options.comment === "string" ? { comment: options.comment } : {}),
|
|
45
|
+
...(options.visibility === undefined ? {} : { visibility: options.visibility }),
|
|
46
|
+
...(typeof options.caret === "number" ? { caret: options.caret } : {}),
|
|
47
|
+
...(typeof options.silent === "boolean" ? { silent: options.silent } : {}),
|
|
48
|
+
...(typeof options.runAs === "string" ? { runAs: options.runAs } : {}),
|
|
49
|
+
}), [...queryOptions, { ...issueOption, required: true }, ...notificationOptions,
|
|
50
|
+
...assistOptions.filter(option => option.flags.startsWith("--caret ")),
|
|
51
|
+
{ flags: "--comment <text>", description: "Add a comment with the command" },
|
|
52
|
+
{ flags: "--visibility <json>", description: "Set comment visibility", parse: jsonParser("The visibility must be valid JSON.") },
|
|
53
|
+
{ flags: "--run-as <login>", description: "Apply as a selected user" },
|
|
54
|
+
{ flags: "--silent [boolean]", description: "Apply silently (true or false)", parse(value) {
|
|
55
|
+
if (value === "true")
|
|
56
|
+
return true;
|
|
57
|
+
if (value === "false")
|
|
58
|
+
return false;
|
|
59
|
+
throw new Error("The silent control must be true or false.");
|
|
60
|
+
} },
|
|
61
|
+
])),
|
|
43
62
|
readCommand("assist", "Suggest command completions", async (connection, { options }, context) => assistCommands(connection, {
|
|
44
63
|
...assistInput(options),
|
|
45
64
|
...(options.issues === undefined ? {} : { issues: options.issues }),
|
|
@@ -48,7 +67,10 @@ export const queryRootCommands = [
|
|
|
48
67
|
command("search", "Inspect search suggestions", [
|
|
49
68
|
readCommand("assist", "Suggest search completions", async (connection, { options }, context) => assistSearch(connection, assistInput(options)), assistOptions),
|
|
50
69
|
]),
|
|
51
|
-
command("saved-queries", "Read saved searches", [
|
|
70
|
+
command("saved-queries", "Read and maintain saved searches", [
|
|
71
|
+
projectedDelete("delete <queryID>", "Delete a selected saved search", deleteSavedQuery, mutationWritten("Deleted saved search", "queryID")),
|
|
72
|
+
projectedBodyUpdate("create", "Create a saved search", createSavedQuery, undefined, savedQueryRecord),
|
|
73
|
+
projectedBodyUpdate("update <queryID>", "Update a saved search", updateSavedQuery, undefined, savedQueryRecord),
|
|
52
74
|
pagedRead("list", "List saved searches", listSavedQueries, savedQueryTable),
|
|
53
75
|
projectedRead("get <queryID>", "Show a saved search", getSavedQuery),
|
|
54
76
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-query-commands.js","sourceRoot":"","sources":["../../src/issue-query-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-query-commands.js","sourceRoot":"","sources":["../../src/issue-query-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,21 @@ export interface CommandAssistOptions extends AssistOptions {
|
|
|
7
7
|
issues?: readonly string[];
|
|
8
8
|
}
|
|
9
9
|
export declare function parseIssueSelection(value: string): string[];
|
|
10
|
-
export
|
|
10
|
+
export interface CommandApplyOptions extends ProjectionOptions {
|
|
11
|
+
muteUpdateNotifications?: boolean;
|
|
12
|
+
comment?: string | null;
|
|
13
|
+
visibility?: YouTrackObject;
|
|
14
|
+
caret?: number;
|
|
15
|
+
silent?: boolean;
|
|
16
|
+
runAs?: string | null;
|
|
17
|
+
}
|
|
18
|
+
export declare function applyCommands(connection: Connection, query: string, issues: readonly string[], options?: CommandApplyOptions): Promise<YouTrackObject | null>;
|
|
11
19
|
export declare function assistCommands(connection: Connection, options: CommandAssistOptions): Promise<YouTrackObject>;
|
|
12
20
|
export declare function assistSearch(connection: Connection, options: AssistOptions): Promise<YouTrackObject>;
|
|
13
21
|
export declare function countIssues(connection: Connection, query: string, options?: ProjectionOptions): Promise<YouTrackObject>;
|
|
14
22
|
export declare const listSavedQueries: (connection: Connection, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
15
23
|
export declare const getSavedQuery: (connection: Connection, queryID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
24
|
+
export declare function createSavedQuery(connection: Connection, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
25
|
+
export declare function updateSavedQuery(connection: Connection, queryID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
26
|
+
export declare function deleteSavedQuery(connection: Connection, queryID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
16
27
|
//# sourceMappingURL=issue-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-query.d.ts","sourceRoot":"","sources":["../../src/issue-query.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"issue-query.d.ts","sourceRoot":"","sources":["../../src/issue-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAkBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3D;AAsCD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AACD,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAClG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAUzB;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAED,eAAO,MAAM,gBAAgB,4GAAyD,CAAC;AACvF,eAAO,MAAM,aAAa,+GAGzB,CAAC;AAUF,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAE7G;AACD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAE9H;AAGD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE9G"}
|
package/dist/src/issue-query.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { encodedID, fields, mutate, page, readCollection, readCollectionAt, readObject, readObjectAt, requiredText, } from "./client.js";
|
|
1
|
+
import { deleteObject, encodedID, fields, mutate, mutationBody, nullableText, page, readCollection, readCollectionAt, readObject, readObjectAt, requiredText, } from "./client.js";
|
|
2
2
|
const suggestions = "suggestions(option,description,caret,completionStart,completionEnd)";
|
|
3
3
|
const savedQueryFields = "id,name,query,owner(id,login)";
|
|
4
4
|
function selectedIssues(ids) {
|
|
@@ -40,10 +40,15 @@ function suggestionsResult(value, options) {
|
|
|
40
40
|
return value;
|
|
41
41
|
}
|
|
42
42
|
export async function applyCommands(connection, query, issues, options = {}) {
|
|
43
|
+
if (options.silent !== undefined && typeof options.silent !== "boolean")
|
|
44
|
+
throw new Error("The silent control must be boolean.");
|
|
43
45
|
return mutate(connection, "api/commands", {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
...queryBody({ ...options, query }), issues: selectedIssues(issues),
|
|
47
|
+
...(options.comment === undefined ? {} : { comment: nullableText(options.comment, "comment") }),
|
|
48
|
+
...(options.visibility === undefined ? {} : { visibility: mutationBody(options.visibility) }),
|
|
49
|
+
...(options.silent === undefined ? {} : { silent: options.silent }),
|
|
50
|
+
...(options.runAs === undefined ? {} : { runAs: nullableText(options.runAs, "runAs") }),
|
|
51
|
+
}, fields(options, "query,issues(id,idReadable)"), options);
|
|
47
52
|
}
|
|
48
53
|
export async function assistCommands(connection, options) {
|
|
49
54
|
return suggestionsResult(await readObject(connection, "api/commands/assist", {
|
|
@@ -69,4 +74,19 @@ export async function countIssues(connection, query, options = {}) {
|
|
|
69
74
|
}
|
|
70
75
|
export const listSavedQueries = readCollectionAt("api/savedQueries", savedQueryFields);
|
|
71
76
|
export const getSavedQuery = readObjectAt((queryID) => `api/savedQueries/${encodedID(queryID, "saved query ID")}`, savedQueryFields);
|
|
77
|
+
function savedQueryBody(input, creating) {
|
|
78
|
+
const body = mutationBody(input);
|
|
79
|
+
return { ...body,
|
|
80
|
+
...(creating || Object.hasOwn(body, "name") ? { name: requiredText(body.name, "name") } : {}),
|
|
81
|
+
...(creating || Object.hasOwn(body, "query") ? { query: nullableText(body.query, "query") } : {}), };
|
|
82
|
+
}
|
|
83
|
+
export async function createSavedQuery(connection, input, options = {}) {
|
|
84
|
+
return mutate(connection, "api/savedQueries", savedQueryBody(input, true), fields(options, savedQueryFields));
|
|
85
|
+
}
|
|
86
|
+
export async function updateSavedQuery(connection, queryID, input, options = {}) {
|
|
87
|
+
return mutate(connection, `api/savedQueries/${encodedID(queryID, "saved query ID")}`, savedQueryBody(input, false), fields(options, savedQueryFields));
|
|
88
|
+
}
|
|
89
|
+
export async function deleteSavedQuery(connection, queryID, options = {}) {
|
|
90
|
+
return deleteObject(connection, `api/savedQueries/${encodedID(queryID, "saved query ID")}`, options);
|
|
91
|
+
}
|
|
72
92
|
//# sourceMappingURL=issue-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-query.js","sourceRoot":"","sources":["../../src/issue-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACJ,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,GAKb,MAAM,aAAa,CAAC;AAWrB,MAAM,WAAW,GAAG,qEAAqE,CAAC;AAC1F,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAEzD,SAAS,cAAc,CAAC,GAAsB;IAC5C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACpB,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7B,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,OAAsB;IACvC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,IACE,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,CACE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;YACpC,OAAO,CAAC,KAAK,GAAG,CAAC,aAAa;YAC9B,OAAO,CAAC,KAAK,GAAG,aAAa,CAC9B,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,KAAK;QACL,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAqB,EACrB,OAA0B;IAE1B,IACE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACrE,CACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;YACjC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACjE,CACF,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-query.js","sourceRoot":"","sources":["../../src/issue-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-reactions-commands.d.ts","sourceRoot":"","sources":["../../src/issue-reactions-commands.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,mDAQ/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { command } from "@eyeauras/cli-factory";
|
|
2
|
+
import { pagedRead, projectedRead, projectedBodyUpdate, updateCommand, projectionOptions, readOptions } from "./cli-support.js";
|
|
3
|
+
import { listIssueReactions, getIssueReaction, addIssueReaction, removeIssueReaction } from "./issue-reactions.js";
|
|
4
|
+
import { arg, done, reactionTable, reactionRecord, withView } from "./presentation.js";
|
|
5
|
+
export const issueReactionCommand = command("reaction", "Read and change comment reactions", [
|
|
6
|
+
pagedRead("list <issueID> <commentID>", "List comment reactions", listIssueReactions, reactionTable),
|
|
7
|
+
projectedRead("get <issueID> <commentID> <reactionID>", "Show a comment reaction", getIssueReaction, reactionRecord),
|
|
8
|
+
projectedBodyUpdate("add <issueID> <commentID>", "Add a comment reaction", addIssueReaction, undefined, reactionRecord),
|
|
9
|
+
withView(done(context => `Removed reaction ${arg(context, "reactionID")}.`), updateCommand("remove <issueID> <commentID> <reactionID>", "Remove a comment reaction", (client, { args, options }) => removeIssueReaction(client, args.issueID, args.commentID, args.reactionID, readOptions(options)), projectionOptions)),
|
|
10
|
+
]);
|
|
11
|
+
//# sourceMappingURL=issue-reactions-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-reactions-commands.js","sourceRoot":"","sources":["../../src/issue-reactions-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChI,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,mCAAmC,EAAE;IAC3F,SAAS,CAAC,4BAA4B,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,aAAa,CAAC;IACpG,aAAa,CAAC,wCAAwC,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,cAAc,CAAC;IACpH,mBAAmB,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,CAAC;IACvH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,aAAa,CACxF,2CAA2C,EAAE,2BAA2B,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACtG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,CACtH,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Connection, type ProjectionOptions } from "./client.js";
|
|
2
|
+
export declare const listIssueReactions: (connection: Connection, issueID: string, commentID: string, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
3
|
+
export declare const getIssueReaction: (connection: Connection, issueID: string, commentID: string, reactionID: string, options?: ProjectionOptions | undefined) => Promise<import("./client.js").YouTrackObject>;
|
|
4
|
+
export declare function addIssueReaction(connection: Connection, issueID: string, commentID: string, input: unknown, options?: ProjectionOptions): Promise<import("./client.js").YouTrackObject | null>;
|
|
5
|
+
export declare function removeIssueReaction(connection: Connection, issueID: string, commentID: string, reactionID: string, options?: ProjectionOptions): Promise<import("./client.js").YouTrackObject | null>;
|
|
6
|
+
//# sourceMappingURL=issue-reactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-reactions.d.ts","sourceRoot":"","sources":["../../src/issue-reactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAE2B,KAAK,UAAU,EAAE,KAAK,iBAAiB,EACxE,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,kBAAkB,sKAAiD,CAAC;AACjF,eAAO,MAAM,gBAAgB,4KAG5B,CAAC;AACF,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,wDAKjJ;AACD,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,wDAExJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { deleteObject, encodedID, fields, issuePath, mutate, mutationBody, nullableText, readCollectionAt, readObjectAt, } from "./client.js";
|
|
2
|
+
const reactionFields = "id,reaction,author(id,login)";
|
|
3
|
+
const reactionPath = (issueID, commentID) => `${issuePath(issueID)}/comments/${encodedID(commentID, "comment ID")}/reactions`;
|
|
4
|
+
export const listIssueReactions = readCollectionAt(reactionPath, reactionFields);
|
|
5
|
+
export const getIssueReaction = readObjectAt((issueID, commentID, reactionID) => `${reactionPath(issueID, commentID)}/${encodedID(reactionID, "reaction ID")}`, reactionFields);
|
|
6
|
+
export async function addIssueReaction(connection, issueID, commentID, input, options = {}) {
|
|
7
|
+
const body = mutationBody(input);
|
|
8
|
+
return mutate(connection, reactionPath(issueID, commentID), {
|
|
9
|
+
...body, reaction: nullableText(body.reaction, "reaction"),
|
|
10
|
+
}, fields(options, reactionFields));
|
|
11
|
+
}
|
|
12
|
+
export async function removeIssueReaction(connection, issueID, commentID, reactionID, options = {}) {
|
|
13
|
+
return deleteObject(connection, `${reactionPath(issueID, commentID)}/${encodedID(reactionID, "reaction ID")}`, options);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=issue-reactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-reactions.js","sourceRoot":"","sources":["../../src/issue-reactions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAC9E,gBAAgB,EAAE,YAAY,GAC/B,MAAM,aAAa,CAAC;AAErB,MAAM,cAAc,GAAG,8BAA8B,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE,CAC1D,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAC1C,CAAC,OAAe,EAAE,SAAiB,EAAE,UAAkB,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,EACzI,cAAc,CACf,CAAC;AACF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAsB,EAAE,OAAe,EAAE,SAAiB,EAAE,KAAc,EAAE,OAAO,GAAsB,EAAE;IAChJ,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAC1D,GAAG,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC3D,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAsB,EAAE,OAAe,EAAE,SAAiB,EAAE,UAAkB,EAAE,OAAO,GAAsB,EAAE;IACvJ,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1H,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-relations-commands.d.ts","sourceRoot":"","sources":["../../src/issue-relations-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issue-relations-commands.d.ts","sourceRoot":"","sources":["../../src/issue-relations-commands.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,qBAAqB,qDAqBjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,qDAgClC,CAAC"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import { command } from "@eyeauras/cli-factory";
|
|
2
|
-
import {
|
|
3
|
-
import { addIssueLink, addIssueTag, getIssueLink, getLinkType, getTag, listIssueLinks, listIssueTags, listLinkedIssues, listLinkTypes, listTags, removeIssueLink, removeIssueTag, } from "./issue-relations.js";
|
|
4
|
-
import { arg, done, issueLinked, issueTagList, linkGroupList, linkGroupRecord, linkTypeRecord, linkTypeTable, linkedIssueList, tagAdded, tagRecord, tagTable, withView, } from "./presentation.js";
|
|
2
|
+
import { projectedDelete, projectedBodyUpdate, pagedRead, projectedRead, updateCommand, notificationOptions, projectionOptions, readOptions } from "./cli-support.js";
|
|
3
|
+
import { listTagIssues, deleteTag, addIssueLink, addIssueTag, createTag, updateTag, getIssueLink, getLinkType, getTag, getIssueTag, listIssueLinks, listIssueTags, listLinkedIssues, createLinkType, updateLinkType, deleteLinkType, listLinkTypes, listTags, removeIssueLink, removeIssueTag, } from "./issue-relations.js";
|
|
4
|
+
import { issueTable, mutationWritten, arg, done, issueLinked, issueTagList, linkGroupList, linkGroupRecord, linkTypeRecord, linkTypeTable, linkedIssueList, tagAdded, tagRecord, tagTable, tagWritten, withView, } from "./presentation.js";
|
|
5
5
|
export const relationsRootCommands = [
|
|
6
|
-
command("link-types", "Inspect issue link types", [
|
|
6
|
+
command("link-types", "Inspect and manage issue link types", [
|
|
7
|
+
projectedBodyUpdate("create", "Create an issue link type", createLinkType, undefined, mutationWritten("Created link type")),
|
|
8
|
+
projectedBodyUpdate("update <type>", "Update a selected link type", updateLinkType, undefined, mutationWritten("Updated link type", "type")),
|
|
9
|
+
projectedDelete("delete <type>", "Delete a selected link type", deleteLinkType, mutationWritten("Deleted link type", "type")),
|
|
7
10
|
pagedRead("list", "List link types", listLinkTypes, linkTypeTable),
|
|
8
11
|
projectedRead("get <typeID>", "Show a link type", getLinkType, linkTypeRecord),
|
|
9
12
|
]),
|
|
10
|
-
command("tags", "Inspect tags", [
|
|
11
|
-
|
|
13
|
+
command("tags", "Inspect and maintain tags", [
|
|
14
|
+
projectedDelete("delete <tagID>", "Delete a selected tag", deleteTag, mutationWritten("Deleted tag", "tagID")),
|
|
15
|
+
command("issues", "Inspect issues using a tag", [
|
|
16
|
+
pagedRead("list <tagID>", "List issues using the tag", listTagIssues, issueTable, [{
|
|
17
|
+
flags: "--custom-field <name>", description: "Select a custom field (repeatable)",
|
|
18
|
+
parse: (value, previous) => [...(Array.isArray(previous) ? previous : []), value],
|
|
19
|
+
}]),
|
|
20
|
+
]),
|
|
21
|
+
projectedBodyUpdate("create", "Create a working tag", createTag, undefined, tagWritten),
|
|
22
|
+
projectedBodyUpdate("update <tagID>", "Update a working tag", updateTag, undefined, tagWritten),
|
|
23
|
+
pagedRead("list", "List visible tags", listTags, tagTable, [{ flags: "--query <query>", description: "Filter tags by query" }]),
|
|
12
24
|
projectedRead("get <tagID>", "Show a tag", getTag, tagRecord),
|
|
13
25
|
]),
|
|
14
26
|
];
|
|
@@ -17,13 +29,14 @@ export const relationsIssueChildren = [
|
|
|
17
29
|
pagedRead("list <issueID>", "List the issue's link groups", listIssueLinks, linkGroupList),
|
|
18
30
|
projectedRead("get <issueID> <linkID>", "Show a link group", getIssueLink, linkGroupRecord),
|
|
19
31
|
pagedRead("issues <issueID> <linkID>", "List the issues in a link group", listLinkedIssues, linkedIssueList),
|
|
20
|
-
|
|
21
|
-
withView(done((context) => `Unlinked ${arg(context, "targetIssueID")} from ${arg(context, "issueID")}.`), updateCommand("remove <issueID> <linkID> <targetIssueID>", "Unlink an issue", async (connection, { args }, context) => removeIssueLink(connection, args.issueID, args.linkID, args.targetIssueID))),
|
|
32
|
+
projectedBodyUpdate("add <issueID> <linkID>", "Link an issue by database id", addIssueLink, undefined, issueLinked, notificationOptions),
|
|
33
|
+
withView(done((context) => `Unlinked ${arg(context, "targetIssueID")} from ${arg(context, "issueID")}.`), updateCommand("remove <issueID> <linkID> <targetIssueID>", "Unlink an issue", async (connection, { args, options }, context) => removeIssueLink(connection, args.issueID, args.linkID, args.targetIssueID, readOptions(options)), projectionOptions)),
|
|
22
34
|
]),
|
|
23
35
|
command("tags", "Inspect and change the issue's tags", [
|
|
36
|
+
projectedRead("get <issueID> <tagID>", "Show an assigned tag", getIssueTag, tagRecord),
|
|
24
37
|
pagedRead("list <issueID>", "List the issue's tags", listIssueTags, issueTagList),
|
|
25
|
-
|
|
26
|
-
withView(done((context) => `Removed tag ${arg(context, "tagID")} from ${arg(context, "issueID")}.`), updateCommand("remove <issueID> <tagID>", "Remove a tag from the issue", async (connection, { args }, context) => removeIssueTag(connection, args.issueID, args.tagID))),
|
|
38
|
+
projectedBodyUpdate("add <issueID>", "Add a tag by database id", addIssueTag, undefined, tagAdded),
|
|
39
|
+
withView(done((context) => `Removed tag ${arg(context, "tagID")} from ${arg(context, "issueID")}.`), updateCommand("remove <issueID> <tagID>", "Remove a tag from the issue", async (connection, { args, options }, context) => removeIssueTag(connection, args.issueID, args.tagID, readOptions(options)), projectionOptions)),
|
|
27
40
|
]),
|
|
28
41
|
];
|
|
29
42
|
//# sourceMappingURL=issue-relations-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-relations-commands.js","sourceRoot":"","sources":["../../src/issue-relations-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"issue-relations-commands.js","sourceRoot":"","sources":["../../src/issue-relations-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
import { type Connection, type YouTrackObject } from "./client.js";
|
|
2
|
-
export declare const listLinkTypes: (connection: Connection, options?:
|
|
3
|
-
export declare const getLinkType: (connection: Connection, typeID: string, options?:
|
|
4
|
-
export declare const listIssueLinks: (connection: Connection, issueID: string, options?:
|
|
5
|
-
export declare const getIssueLink: (connection: Connection, issueID: string, linkID: string, options?:
|
|
6
|
-
export declare const listLinkedIssues: (connection: Connection, issueID: string, linkID: string, options?:
|
|
7
|
-
export declare function addIssueLink(connection: Connection, issueID: string, linkID: string, input: unknown): Promise<YouTrackObject | null>;
|
|
8
|
-
export declare function removeIssueLink(connection: Connection, issueID: string, linkID: string, targetIssueID: string): Promise<YouTrackObject | null>;
|
|
9
|
-
export declare
|
|
10
|
-
export declare const getTag: (connection: Connection, tagID: string, options?:
|
|
11
|
-
export declare const
|
|
12
|
-
export declare
|
|
13
|
-
export declare function
|
|
1
|
+
import { type Connection, type YouTrackObject, type IssueSearchOptions, type WriteOptions, type PageOptions, type ProjectionOptions } from "./client.js";
|
|
2
|
+
export declare const listLinkTypes: (connection: Connection, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
3
|
+
export declare const getLinkType: (connection: Connection, typeID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
4
|
+
export declare const listIssueLinks: (connection: Connection, issueID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
5
|
+
export declare const getIssueLink: (connection: Connection, issueID: string, linkID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
6
|
+
export declare const listLinkedIssues: (connection: Connection, issueID: string, linkID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
7
|
+
export declare function addIssueLink(connection: Connection, issueID: string, linkID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
8
|
+
export declare function removeIssueLink(connection: Connection, issueID: string, linkID: string, targetIssueID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
9
|
+
export declare function listTags(connection: Connection, options?: IssueSearchOptions): Promise<import("./client.js").YouTrackPage<YouTrackObject>>;
|
|
10
|
+
export declare const getTag: (connection: Connection, tagID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
11
|
+
export declare const getIssueTag: (connection: Connection, issueID: string, tagID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
12
|
+
export declare const listIssueTags: (connection: Connection, issueID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
13
|
+
export declare function addIssueTag(connection: Connection, issueID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
14
|
+
export declare function removeIssueTag(connection: Connection, issueID: string, tagID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
15
|
+
export declare function createTag(connection: Connection, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
16
|
+
export declare function updateTag(connection: Connection, tagID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
17
|
+
export interface TagIssueOptions extends PageOptions {
|
|
18
|
+
customFields?: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export declare function listTagIssues(connection: Connection, tagID: string, options?: TagIssueOptions): Promise<import("./client.js").YouTrackPage<YouTrackObject>>;
|
|
21
|
+
export declare function deleteTag(connection: Connection, tagID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
22
|
+
export declare function createLinkType(connection: Connection, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
23
|
+
export declare function updateLinkType(connection: Connection, typeID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
24
|
+
export declare function deleteLinkType(connection: Connection, typeID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
14
25
|
//# sourceMappingURL=issue-relations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-relations.d.ts","sourceRoot":"","sources":["../../src/issue-relations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"issue-relations.d.ts","sourceRoot":"","sources":["../../src/issue-relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAkBrB,eAAO,MAAM,aAAa,4GAAyD,CAAC;AACpF,eAAO,MAAM,WAAW,8GAGvB,CAAC;AACF,eAAO,MAAM,cAAc,6HAG1B,CAAC;AACF,eAAO,MAAM,YAAY,+HAAqC,CAAC;AAC/D,eAAO,MAAM,gBAAgB,6IAG5B,CAAC;AAEF,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEhC;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED,wBAAsB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB,+DAKtF;AACD,eAAO,MAAM,MAAM,6GAGlB,CAAC;AACF,eAAO,MAAM,WAAW,8HAGvB,CAAC;AACF,eAAO,MAAM,aAAa,6HAGzB,CAAC;AAEF,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEhC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEhC;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAEtG;AACD,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAErH;AAGD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AACD,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,+DAIvG;AACD,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAErG;AAUD,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAE3G;AACD,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAE3H;AACD,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE3G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deleteObject, encodedID, issuePath, mutate, mutationBody, narrative, readCollectionAt, readObjectAt, } from "./client.js";
|
|
1
|
+
import { customFieldQuery, issueListFields, deleteObject, encodedID, issuePath, mutate, mutationBody, namedMutationBody, narrative, nullableText, fields, page, readPage, requiredText, readCollectionAt, readObjectAt, } from "./client.js";
|
|
2
2
|
const linkTypeFields = "id,name,directed,sourceToTarget,targetToSource";
|
|
3
3
|
const linkFields = `id,direction,linkType(${linkTypeFields})`;
|
|
4
4
|
const linkedIssueFields = "id,idReadable,summary";
|
|
@@ -17,19 +17,59 @@ export const getLinkType = readObjectAt((typeID) => `api/issueLinkTypes/${encode
|
|
|
17
17
|
export const listIssueLinks = readCollectionAt((issueID) => `${issuePath(issueID)}/links`, linkFields);
|
|
18
18
|
export const getIssueLink = readObjectAt(linkPath, linkFields);
|
|
19
19
|
export const listLinkedIssues = readCollectionAt((issueID, linkID) => `${linkPath(issueID, linkID)}/issues`, linkedIssueFields);
|
|
20
|
-
export async function addIssueLink(connection, issueID, linkID, input) {
|
|
21
|
-
return mutate(connection, `${linkPath(issueID, linkID)}/issues`, targetBody(input), linkedIssueFields);
|
|
20
|
+
export async function addIssueLink(connection, issueID, linkID, input, options = {}) {
|
|
21
|
+
return mutate(connection, `${linkPath(issueID, linkID)}/issues`, targetBody(input), linkedIssueFields, options);
|
|
22
22
|
}
|
|
23
|
-
export async function removeIssueLink(connection, issueID, linkID, targetIssueID) {
|
|
24
|
-
return deleteObject(connection, `${linkPath(issueID, linkID)}/issues/${encodedID(targetIssueID, "target issue ID")}
|
|
23
|
+
export async function removeIssueLink(connection, issueID, linkID, targetIssueID, options = {}) {
|
|
24
|
+
return deleteObject(connection, `${linkPath(issueID, linkID)}/issues/${encodedID(targetIssueID, "target issue ID")}`, options);
|
|
25
|
+
}
|
|
26
|
+
export async function listTags(connection, options = {}) {
|
|
27
|
+
return readPage(connection, "api/tags", {
|
|
28
|
+
...page(options, tagFields),
|
|
29
|
+
...(options.query === undefined ? {} : { query: requiredText(options.query, "query") }),
|
|
30
|
+
});
|
|
25
31
|
}
|
|
26
|
-
export const listTags = readCollectionAt("api/tags", tagFields);
|
|
27
32
|
export const getTag = readObjectAt((tagID) => `api/tags/${encodedID(tagID, "tag ID")}`, tagFields);
|
|
33
|
+
export const getIssueTag = readObjectAt((issueID, tagID) => `${issuePath(issueID)}/tags/${encodedID(tagID, "tag ID")}`, tagFields);
|
|
28
34
|
export const listIssueTags = readCollectionAt((issueID) => `${issuePath(issueID)}/tags`, tagFields);
|
|
29
|
-
export async function addIssueTag(connection, issueID, input) {
|
|
30
|
-
return mutate(connection, `${issuePath(issueID)}/tags`, targetBody(input), tagFields);
|
|
35
|
+
export async function addIssueTag(connection, issueID, input, options = {}) {
|
|
36
|
+
return mutate(connection, `${issuePath(issueID)}/tags`, targetBody(input), fields(options, tagFields));
|
|
37
|
+
}
|
|
38
|
+
export async function removeIssueTag(connection, issueID, tagID, options = {}) {
|
|
39
|
+
return deleteObject(connection, `${issuePath(issueID)}/tags/${encodedID(tagID, "tag ID")}`, options);
|
|
40
|
+
}
|
|
41
|
+
export async function createTag(connection, input, options = {}) {
|
|
42
|
+
return mutate(connection, "api/tags", namedMutationBody(input, true), fields(options, tagFields));
|
|
43
|
+
}
|
|
44
|
+
export async function updateTag(connection, tagID, input, options = {}) {
|
|
45
|
+
return mutate(connection, `api/tags/${encodedID(tagID, "tag ID")}`, namedMutationBody(input, false), fields(options, tagFields));
|
|
46
|
+
}
|
|
47
|
+
export async function listTagIssues(connection, tagID, options = {}) {
|
|
48
|
+
return readPage(connection, `api/tags/${encodedID(tagID, "tag ID")}/issues`, {
|
|
49
|
+
...page(options, issueListFields), ...customFieldQuery(options.customFields),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export async function deleteTag(connection, tagID, options = {}) {
|
|
53
|
+
return deleteObject(connection, `api/tags/${encodedID(tagID, "tag ID")}`, options);
|
|
54
|
+
}
|
|
55
|
+
function linkTypeBody(input, creating) {
|
|
56
|
+
const body = namedMutationBody(input, creating);
|
|
57
|
+
if (creating || Object.hasOwn(body, "sourceToTarget"))
|
|
58
|
+
narrative(body.sourceToTarget, "sourceToTarget");
|
|
59
|
+
if (creating || Object.hasOwn(body, "targetToSource"))
|
|
60
|
+
nullableText(body.targetToSource, "targetToSource");
|
|
61
|
+
for (const key of ["directed", "aggregation", "readOnly"])
|
|
62
|
+
if (Object.hasOwn(body, key) && typeof body[key] !== "boolean")
|
|
63
|
+
throw new Error(`The ${key} must be boolean.`);
|
|
64
|
+
return body;
|
|
65
|
+
}
|
|
66
|
+
export async function createLinkType(connection, input, options = {}) {
|
|
67
|
+
return mutate(connection, "api/issueLinkTypes", linkTypeBody(input, true), fields(options, linkTypeFields));
|
|
68
|
+
}
|
|
69
|
+
export async function updateLinkType(connection, typeID, input, options = {}) {
|
|
70
|
+
return mutate(connection, `api/issueLinkTypes/${encodedID(typeID, "link type ID")}`, linkTypeBody(input, false), fields(options, linkTypeFields));
|
|
31
71
|
}
|
|
32
|
-
export async function
|
|
33
|
-
return deleteObject(connection,
|
|
72
|
+
export async function deleteLinkType(connection, typeID, options = {}) {
|
|
73
|
+
return deleteObject(connection, `api/issueLinkTypes/${encodedID(typeID, "link type ID")}`, options);
|
|
34
74
|
}
|
|
35
75
|
//# sourceMappingURL=issue-relations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-relations.js","sourceRoot":"","sources":["../../src/issue-relations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,MAAM,EACN,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"issue-relations.js","sourceRoot":"","sources":["../../src/issue-relations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-time-commands.d.ts","sourceRoot":"","sources":["../../src/issue-time-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issue-time-commands.d.ts","sourceRoot":"","sources":["../../src/issue-time-commands.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,gBAAgB,qDA0B5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,qDAc7B,CAAC"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { command } from "@eyeauras/cli-factory";
|
|
2
|
-
import { pagedRead, projectedBodyUpdate, projectedRead, readCommand, pageOptions, readOptions } from "./cli-support.js";
|
|
3
|
-
import { addWorkItem, getIssueWorkItem, getTimeTracking, getWorkItem, listIssueWorkItems, listWorkItems, updateWorkItem, } from "./issue-time.js";
|
|
4
|
-
import { withView, workItemTable } from "./presentation.js";
|
|
2
|
+
import { pagedRead, projectedBodyUpdate, projectedRead, readCommand, pageOptions, readOptions, notificationOptions, updateCommand, projectionOptions } from "./cli-support.js";
|
|
3
|
+
import { addWorkItem, deleteIssueWorkItem, getIssueWorkItem, getTimeTracking, getWorkItem, listIssueWorkItems, listWorkItems, updateWorkItem, } from "./issue-time.js";
|
|
4
|
+
import { withView, workItemTable, done, arg } from "./presentation.js";
|
|
5
5
|
export const timeRootCommands = [
|
|
6
6
|
command("work-items", "Inspect work items across issues", [
|
|
7
|
-
withView(workItemTable, readCommand("list", "List work items", async (connection, { options }, context) => listWorkItems(connection,
|
|
7
|
+
withView(workItemTable, readCommand("list", "List work items", async (connection, { options }, context) => listWorkItems(connection, {
|
|
8
|
+
...readOptions(options),
|
|
9
|
+
...(options.author === undefined ? {} : { author: options.author }),
|
|
10
|
+
...(options.creator === undefined ? {} : { creator: options.creator }),
|
|
11
|
+
...Object.fromEntries(["startDate", "endDate", "workStart", "workEnd", "createdStart", "createdEnd", "updatedStart", "updatedEnd"]
|
|
12
|
+
.filter(name => typeof options[name] === "string").map(name => [name, options[name]])),
|
|
13
|
+
}), [
|
|
8
14
|
...pageOptions,
|
|
15
|
+
...["author", "creator"].map(name => ({
|
|
16
|
+
flags: `--${name} <value>`, description: `Filter by ${name} (repeatable)`,
|
|
17
|
+
parse: (value, previous) => [...(Array.isArray(previous) ? previous : []), value],
|
|
18
|
+
})),
|
|
19
|
+
...["start-date", "end-date", "work-start", "work-end", "created-start", "created-end", "updated-start", "updated-end"].map(name => ({
|
|
20
|
+
flags: `--${name} <value>`, description: `Filter by ${name.replaceAll("-", " ")}`,
|
|
21
|
+
})),
|
|
9
22
|
{ flags: "--query <query>", description: "Issue search query" },
|
|
10
23
|
])),
|
|
11
24
|
projectedRead("get <itemID>", "Show a work item", getWorkItem),
|
|
@@ -16,10 +29,11 @@ export const timeIssueChildren = [
|
|
|
16
29
|
projectedRead("get <issueID>", "Show time-tracking status", getTimeTracking),
|
|
17
30
|
]),
|
|
18
31
|
command("work-items", "Inspect and record time spent", [
|
|
32
|
+
withView(done(context => `Deleted work item ${arg(context, "itemID")}.`), updateCommand("delete <issueID> <itemID>", "Delete a work item", (client, { args, options }) => deleteIssueWorkItem(client, args.issueID, args.itemID, readOptions(options)), projectionOptions)),
|
|
19
33
|
pagedRead("list <issueID>", "List the issue's work items", listIssueWorkItems, workItemTable),
|
|
20
34
|
projectedRead("get <issueID> <itemID>", "Show a work item", getIssueWorkItem),
|
|
21
|
-
projectedBodyUpdate("add <issueID>", "Add a work item", addWorkItem),
|
|
22
|
-
projectedBodyUpdate("update <issueID> <itemID>", "Update a work item", updateWorkItem),
|
|
35
|
+
projectedBodyUpdate("add <issueID>", "Add a work item", addWorkItem, undefined, undefined, notificationOptions),
|
|
36
|
+
projectedBodyUpdate("update <issueID> <itemID>", "Update a work item", updateWorkItem, undefined, undefined, notificationOptions),
|
|
23
37
|
]),
|
|
24
38
|
];
|
|
25
39
|
//# sourceMappingURL=issue-time-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-time-commands.js","sourceRoot":"","sources":["../../src/issue-time-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"issue-time-commands.js","sourceRoot":"","sources":["../../src/issue-time-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/src/issue-time.d.ts
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
import { type Connection, type IssueSearchOptions, type ProjectionOptions, type YouTrackObject } from "./client.js";
|
|
1
|
+
import { type Connection, type IssueSearchOptions, type ProjectionOptions, type WriteOptions, type YouTrackObject } from "./client.js";
|
|
2
2
|
export declare const getTimeTracking: (connection: Connection, issueID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
3
3
|
export declare const listIssueWorkItems: (connection: Connection, issueID: string, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
4
4
|
export declare const getIssueWorkItem: (connection: Connection, issueID: string, itemID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
5
|
-
export
|
|
5
|
+
export interface WorkItemOptions extends IssueSearchOptions {
|
|
6
|
+
author?: string | readonly string[];
|
|
7
|
+
creator?: string | readonly string[];
|
|
8
|
+
startDate?: string;
|
|
9
|
+
endDate?: string;
|
|
10
|
+
workStart?: string;
|
|
11
|
+
workEnd?: string;
|
|
12
|
+
createdStart?: string;
|
|
13
|
+
createdEnd?: string;
|
|
14
|
+
updatedStart?: string;
|
|
15
|
+
updatedEnd?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Values remain strings on the wire so a native Long need not fit a JS number. */
|
|
18
|
+
export declare function listWorkItems(connection: Connection, options?: WorkItemOptions): Promise<import("./client.js").YouTrackPage<YouTrackObject>>;
|
|
6
19
|
export declare const getWorkItem: (connection: Connection, itemID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
7
|
-
export declare function addWorkItem(connection: Connection, issueID: string, input: unknown, options?:
|
|
8
|
-
export declare function updateWorkItem(connection: Connection, issueID: string, itemID: string, input: unknown, options?:
|
|
20
|
+
export declare function addWorkItem(connection: Connection, issueID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
21
|
+
export declare function updateWorkItem(connection: Connection, issueID: string, itemID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
22
|
+
export declare function deleteIssueWorkItem(connection: Connection, issueID: string, itemID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
9
23
|
//# sourceMappingURL=issue-time.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue-time.d.ts","sourceRoot":"","sources":["../../src/issue-time.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"issue-time.d.ts","sourceRoot":"","sources":["../../src/issue-time.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAQrB,eAAO,MAAM,eAAe,+GAG3B,CAAC;AACF,eAAO,MAAM,kBAAkB,mJAAkD,CAAC;AAClF,eAAO,MAAM,gBAAgB,+HAI5B,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mFAAmF;AACnF,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,eAAoB,+DAiBxF;AAED,eAAO,MAAM,WAAW,8GAGvB,CAAC;AAuEF,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,kCAS3B;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,kCAS3B;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAEjI"}
|