@blogic-cz/agent-tools 1.4.2 → 1.5.1
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/az-tool/config.d.ts.map +1 -1
- package/dist/az-tool/profile.d.ts.map +1 -1
- package/dist/az-tool/service.d.ts +2 -2
- package/dist/azdo-tool/build.d.ts +8 -8
- package/dist/azdo-tool/config.d.ts.map +1 -1
- package/dist/azdo-tool/service.d.ts +2 -2
- package/dist/credential-guard/index.d.ts.map +1 -1
- package/dist/db-tool/schema.d.ts.map +1 -1
- package/dist/db-tool/service.d.ts +1 -1
- package/dist/db-tool/sql-client.d.ts.map +1 -1
- package/dist/gh-tool/api.d.ts.map +1 -1
- package/dist/gh-tool/config.d.ts.map +1 -1
- package/dist/gh-tool/gist.d.ts.map +1 -1
- package/dist/gh-tool/issue/commands.d.ts +1 -1
- package/dist/gh-tool/issue/triage.d.ts +1 -1
- package/dist/gh-tool/issue/triage.d.ts.map +1 -1
- package/dist/gh-tool/pr/commands.d.ts +10 -10
- package/dist/gh-tool/pr/commands.d.ts.map +1 -1
- package/dist/gh-tool/pr/core.d.ts +19 -19
- package/dist/gh-tool/pr/core.d.ts.map +1 -1
- package/dist/gh-tool/pr/stack.d.ts +13 -13
- package/dist/gh-tool/repo.d.ts +1 -1
- package/dist/gh-tool/service.d.ts +1 -1
- package/dist/gh-tool/text-input.d.ts.map +1 -1
- package/dist/gh-tool/workflow.d.ts +7 -7
- package/dist/gh-tool/workflow.d.ts.map +1 -1
- package/dist/k8s-tool/context.d.ts.map +1 -1
- package/dist/k8s-tool/security.d.ts.map +1 -1
- package/dist/k8s-tool/service.d.ts +2 -2
- package/dist/logs-tool/index.d.ts +1 -1
- package/dist/logs-tool/index.d.ts.map +1 -1
- package/dist/logs-tool/service.d.ts.map +1 -1
- package/dist/observability-tool/shared.d.ts.map +1 -1
- package/dist/session-tool/claude-code.d.ts.map +1 -1
- package/dist/session-tool/codex.d.ts +3 -1
- package/dist/session-tool/codex.d.ts.map +1 -1
- package/dist/session-tool/index.d.ts +1 -1
- package/dist/session-tool/index.d.ts.map +1 -1
- package/dist/session-tool/pi.d.ts.map +1 -1
- package/dist/session-tool/service.d.ts.map +1 -1
- package/dist/session-tool/summaries.d.ts.map +1 -1
- package/dist/session-tool/types.d.ts.map +1 -1
- package/dist/shared/audit.d.ts.map +1 -1
- package/dist/shared/azure-credentials.d.ts.map +1 -1
- package/dist/shared/binary-preflight.d.ts.map +1 -1
- package/dist/shared/cli.d.ts.map +1 -1
- package/dist/shared/error-renderer.d.ts.map +1 -1
- package/dist/shared/exec.d.ts.map +1 -1
- package/dist/shared/format.d.ts.map +1 -1
- package/dist/shared/path.d.ts.map +1 -1
- package/dist/shared/poll-until-resolved.d.ts.map +1 -1
- package/dist/shared/prerequisites/driver-commands.d.ts.map +1 -1
- package/dist/shared/prerequisites/errors.d.ts.map +1 -1
- package/dist/shared/prerequisites/guardian.d.ts.map +1 -1
- package/dist/shared/prerequisites/runtime.d.ts.map +1 -1
- package/dist/shared/prerequisites/store.d.ts.map +1 -1
- package/dist/shared/retry-transient.d.ts.map +1 -1
- package/dist/shared/schema-dump.d.ts.map +1 -1
- package/dist/shared/throttle.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/audit-tool/index.ts +4 -4
- package/src/az-tool/index.ts +4 -4
- package/src/azdo-tool/index.ts +11 -11
- package/src/credential-guard/index.ts +54 -15
- package/src/db-tool/index.ts +12 -12
- package/src/gh-tool/branch.ts +4 -4
- package/src/gh-tool/gist.ts +20 -20
- package/src/gh-tool/issue/commands.ts +33 -33
- package/src/gh-tool/issue/triage.ts +5 -5
- package/src/gh-tool/pr/commands.ts +108 -112
- package/src/gh-tool/pr/core.ts +4 -6
- package/src/gh-tool/release.ts +30 -30
- package/src/gh-tool/repo.ts +7 -7
- package/src/gh-tool/workflow.ts +24 -24
- package/src/k8s-tool/index.ts +21 -21
- package/src/logs-tool/index.ts +7 -10
- package/src/logs-tool/transformers.ts +1 -1
- package/src/observability-tool/logs.ts +4 -4
- package/src/observability-tool/metrics.ts +4 -4
- package/src/observability-tool/shared.ts +2 -2
- package/src/observability-tool/trace.ts +10 -10
- package/src/session-tool/index.ts +8 -14
- package/src/shared/format.ts +1 -1
- package/src/shared/log-transform.ts +1 -1
package/src/db-tool/index.ts
CHANGED
|
@@ -60,19 +60,19 @@ const resolveEnv = (envOption: Option.Option<string>) =>
|
|
|
60
60
|
const sqlCommand = Command.make(
|
|
61
61
|
"sql",
|
|
62
62
|
{
|
|
63
|
-
env: Flag.optional(Flag.
|
|
63
|
+
env: Flag.optional(Flag.String("env")).pipe(
|
|
64
64
|
Flag.withDescription(
|
|
65
65
|
"Target database environment name (e.g. local, test, prod). Falls back to defaultEnvironment in config.",
|
|
66
66
|
),
|
|
67
67
|
),
|
|
68
|
-
sql: Flag.
|
|
69
|
-
limit: Flag.optional(Flag.
|
|
68
|
+
sql: Flag.String("sql").pipe(Flag.withDescription("SQL query to execute")),
|
|
69
|
+
limit: Flag.optional(Flag.Int("limit")).pipe(
|
|
70
70
|
Flag.withDescription(
|
|
71
71
|
"Max rows to return (default 50). Use 0 for no cap. Prefer a SQL LIMIT for large tables.",
|
|
72
72
|
),
|
|
73
73
|
),
|
|
74
74
|
format: formatOption,
|
|
75
|
-
profile: Flag.optional(Flag.
|
|
75
|
+
profile: Flag.optional(Flag.String("profile")).pipe(
|
|
76
76
|
Flag.withDescription("Database profile name from agent-tools.json5 (if multiple configured)"),
|
|
77
77
|
),
|
|
78
78
|
},
|
|
@@ -88,22 +88,22 @@ const sqlCommand = Command.make(
|
|
|
88
88
|
const schemaCommand = Command.make(
|
|
89
89
|
"schema",
|
|
90
90
|
{
|
|
91
|
-
env: Flag.optional(Flag.
|
|
91
|
+
env: Flag.optional(Flag.String("env")).pipe(
|
|
92
92
|
Flag.withDescription(
|
|
93
93
|
"Target database environment name (e.g. local, test, prod). Falls back to defaultEnvironment in config.",
|
|
94
94
|
),
|
|
95
95
|
),
|
|
96
|
-
mode: Flag.
|
|
96
|
+
mode: Flag.Literals("mode", ["tables", "columns", "full", "relationships"]).pipe(
|
|
97
97
|
Flag.withDescription(
|
|
98
98
|
"Schema introspection mode: tables (list all), columns (show columns for --table), full (all tables with columns), relationships (foreign keys)",
|
|
99
99
|
),
|
|
100
100
|
),
|
|
101
|
-
table: Flag.
|
|
101
|
+
table: Flag.String("table").pipe(
|
|
102
102
|
Flag.withDescription("Table name (required for --mode columns)"),
|
|
103
103
|
Flag.optional,
|
|
104
104
|
),
|
|
105
105
|
format: formatOption,
|
|
106
|
-
profile: Flag.optional(Flag.
|
|
106
|
+
profile: Flag.optional(Flag.String("profile")).pipe(
|
|
107
107
|
Flag.withDescription("Database profile name from agent-tools.json5 (if multiple configured)"),
|
|
108
108
|
),
|
|
109
109
|
},
|
|
@@ -124,7 +124,7 @@ const envsCommand = Command.make(
|
|
|
124
124
|
"envs",
|
|
125
125
|
{
|
|
126
126
|
format: formatOption,
|
|
127
|
-
profile: Flag.optional(Flag.
|
|
127
|
+
profile: Flag.optional(Flag.String("profile")).pipe(
|
|
128
128
|
Flag.withDescription("Database profile name from agent-tools.json5 (if multiple configured)"),
|
|
129
129
|
),
|
|
130
130
|
},
|
|
@@ -179,16 +179,16 @@ const makeDiagnosticCommand = (name: string, description: string, sql: string) =
|
|
|
179
179
|
Command.make(
|
|
180
180
|
name,
|
|
181
181
|
{
|
|
182
|
-
env: Flag.optional(Flag.
|
|
182
|
+
env: Flag.optional(Flag.String("env")).pipe(
|
|
183
183
|
Flag.withDescription(
|
|
184
184
|
"Target database environment name (e.g. local, test, prod). Falls back to defaultEnvironment in config.",
|
|
185
185
|
),
|
|
186
186
|
),
|
|
187
|
-
limit: Flag.optional(Flag.
|
|
187
|
+
limit: Flag.optional(Flag.Int("limit")).pipe(
|
|
188
188
|
Flag.withDescription("Max rows to return (default 50). Use 0 for no cap."),
|
|
189
189
|
),
|
|
190
190
|
format: formatOption,
|
|
191
|
-
profile: Flag.optional(Flag.
|
|
191
|
+
profile: Flag.optional(Flag.String("profile")).pipe(
|
|
192
192
|
Flag.withDescription(
|
|
193
193
|
"Database profile name from agent-tools.json5 (if multiple configured)",
|
|
194
194
|
),
|
package/src/gh-tool/branch.ts
CHANGED
|
@@ -63,14 +63,14 @@ export const renameBranch = Effect.fn("branch.renameBranch")(function* (opts: {
|
|
|
63
63
|
export const branchRenameCommand = Command.make(
|
|
64
64
|
"rename",
|
|
65
65
|
{
|
|
66
|
-
confirm: Flag.
|
|
66
|
+
confirm: Flag.Boolean("confirm").pipe(
|
|
67
67
|
Flag.withDescription("Actually rename (without this flag, only shows dry-run)"),
|
|
68
68
|
Flag.withDefault(false),
|
|
69
69
|
),
|
|
70
70
|
format: formatOption,
|
|
71
|
-
newName: Flag.
|
|
72
|
-
oldName: Flag.
|
|
73
|
-
repo: Flag.
|
|
71
|
+
newName: Flag.String("new-name").pipe(Flag.withDescription("New branch name")),
|
|
72
|
+
oldName: Flag.String("old-name").pipe(Flag.withDescription("Current branch name to rename")),
|
|
73
|
+
repo: Flag.String("repo").pipe(
|
|
74
74
|
Flag.withDescription("Target repository (owner/name). Defaults to current repo"),
|
|
75
75
|
Flag.optional,
|
|
76
76
|
),
|
package/src/gh-tool/gist.ts
CHANGED
|
@@ -402,11 +402,11 @@ export const gistListCommand = Command.make(
|
|
|
402
402
|
"list",
|
|
403
403
|
{
|
|
404
404
|
format: formatOption,
|
|
405
|
-
limit: Flag.
|
|
405
|
+
limit: Flag.Int("limit").pipe(
|
|
406
406
|
Flag.withDescription("Maximum number of gists to return"),
|
|
407
407
|
Flag.withDefault(10),
|
|
408
408
|
),
|
|
409
|
-
visibility: Flag.
|
|
409
|
+
visibility: Flag.Literals("visibility", ["public", "secret"]).pipe(
|
|
410
410
|
Flag.withDescription("Filter by visibility: public or secret"),
|
|
411
411
|
Flag.optional,
|
|
412
412
|
),
|
|
@@ -424,13 +424,13 @@ export const gistListCommand = Command.make(
|
|
|
424
424
|
export const gistViewCommand = Command.make(
|
|
425
425
|
"view",
|
|
426
426
|
{
|
|
427
|
-
filename: Flag.
|
|
427
|
+
filename: Flag.String("filename").pipe(
|
|
428
428
|
Flag.withDescription("Return only this file from the gist"),
|
|
429
429
|
Flag.optional,
|
|
430
430
|
),
|
|
431
431
|
format: formatOption,
|
|
432
|
-
id: Flag.
|
|
433
|
-
metadataOnly: Flag.
|
|
432
|
+
id: Flag.String("id").pipe(Flag.withDescription("Gist id or URL")),
|
|
433
|
+
metadataOnly: Flag.Boolean("metadata-only").pipe(
|
|
434
434
|
Flag.withDescription("Omit file contents"),
|
|
435
435
|
Flag.withDefault(false),
|
|
436
436
|
),
|
|
@@ -450,27 +450,27 @@ export const gistViewCommand = Command.make(
|
|
|
450
450
|
export const gistCreateCommand = Command.make(
|
|
451
451
|
"create",
|
|
452
452
|
{
|
|
453
|
-
body: Flag.
|
|
453
|
+
body: Flag.String("body").pipe(
|
|
454
454
|
Flag.withDescription("Inline gist content (requires --filename)"),
|
|
455
455
|
Flag.optional,
|
|
456
456
|
),
|
|
457
|
-
bodyFile: Flag.
|
|
457
|
+
bodyFile: Flag.String("body-file").pipe(
|
|
458
458
|
Flag.withDescription(
|
|
459
459
|
"Read gist content from a file path or '-' for stdin (requires --filename)",
|
|
460
460
|
),
|
|
461
461
|
Flag.optional,
|
|
462
462
|
),
|
|
463
|
-
desc: Flag.
|
|
464
|
-
filename: Flag.
|
|
463
|
+
desc: Flag.String("desc").pipe(Flag.withDescription("Gist description"), Flag.optional),
|
|
464
|
+
filename: Flag.String("filename").pipe(
|
|
465
465
|
Flag.withDescription("File name used for --body/--body-file content"),
|
|
466
466
|
Flag.optional,
|
|
467
467
|
),
|
|
468
|
-
files: Flag.
|
|
468
|
+
files: Flag.String("files").pipe(
|
|
469
469
|
Flag.withDescription("Comma-separated paths of existing files to upload"),
|
|
470
470
|
Flag.optional,
|
|
471
471
|
),
|
|
472
472
|
format: formatOption,
|
|
473
|
-
public: Flag.
|
|
473
|
+
public: Flag.Boolean("public").pipe(
|
|
474
474
|
Flag.withDescription("Publish as a public gist (gists are secret by default)"),
|
|
475
475
|
Flag.withDefault(false),
|
|
476
476
|
),
|
|
@@ -526,26 +526,26 @@ export const gistCreateCommand = Command.make(
|
|
|
526
526
|
export const gistEditCommand = Command.make(
|
|
527
527
|
"edit",
|
|
528
528
|
{
|
|
529
|
-
add: Flag.
|
|
529
|
+
add: Flag.String("add").pipe(
|
|
530
530
|
Flag.withDescription("Path of a new file to add to the gist"),
|
|
531
531
|
Flag.optional,
|
|
532
532
|
),
|
|
533
|
-
body: Flag.
|
|
533
|
+
body: Flag.String("body").pipe(
|
|
534
534
|
Flag.withDescription("Replacement content for --filename"),
|
|
535
535
|
Flag.optional,
|
|
536
536
|
),
|
|
537
|
-
bodyFile: Flag.
|
|
537
|
+
bodyFile: Flag.String("body-file").pipe(
|
|
538
538
|
Flag.withDescription("Read replacement content from a file path or '-' for stdin"),
|
|
539
539
|
Flag.optional,
|
|
540
540
|
),
|
|
541
|
-
desc: Flag.
|
|
542
|
-
filename: Flag.
|
|
541
|
+
desc: Flag.String("desc").pipe(Flag.withDescription("New gist description"), Flag.optional),
|
|
542
|
+
filename: Flag.String("filename").pipe(
|
|
543
543
|
Flag.withDescription("Gist file to replace with --body/--body-file"),
|
|
544
544
|
Flag.optional,
|
|
545
545
|
),
|
|
546
546
|
format: formatOption,
|
|
547
|
-
id: Flag.
|
|
548
|
-
remove: Flag.
|
|
547
|
+
id: Flag.String("id").pipe(Flag.withDescription("Gist id or URL")),
|
|
548
|
+
remove: Flag.String("remove").pipe(
|
|
549
549
|
Flag.withDescription("File name to remove from the gist"),
|
|
550
550
|
Flag.optional,
|
|
551
551
|
),
|
|
@@ -609,12 +609,12 @@ export const gistEditCommand = Command.make(
|
|
|
609
609
|
export const gistDeleteCommand = Command.make(
|
|
610
610
|
"delete",
|
|
611
611
|
{
|
|
612
|
-
confirm: Flag.
|
|
612
|
+
confirm: Flag.Boolean("confirm").pipe(
|
|
613
613
|
Flag.withDescription("Actually delete the gist (without this flag, only shows dry-run)"),
|
|
614
614
|
Flag.withDefault(false),
|
|
615
615
|
),
|
|
616
616
|
format: formatOption,
|
|
617
|
-
id: Flag.
|
|
617
|
+
id: Flag.String("id").pipe(Flag.withDescription("Gist id or URL")),
|
|
618
618
|
},
|
|
619
619
|
({ confirm, format, id }) =>
|
|
620
620
|
Effect.gen(function* () {
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./core";
|
|
21
21
|
import { GitHubService } from "#gh/service";
|
|
22
22
|
|
|
23
|
-
const repoOption = Flag.
|
|
23
|
+
const repoOption = Flag.String("repo").pipe(
|
|
24
24
|
Flag.withDescription("Target repository profile name or owner/name"),
|
|
25
25
|
Flag.optional,
|
|
26
26
|
);
|
|
@@ -35,16 +35,16 @@ export const issueListCommand = Command.make(
|
|
|
35
35
|
"list",
|
|
36
36
|
{
|
|
37
37
|
format: formatOption,
|
|
38
|
-
labels: Flag.
|
|
38
|
+
labels: Flag.String("labels").pipe(
|
|
39
39
|
Flag.withDescription("Filter by label (comma-separated)"),
|
|
40
40
|
Flag.optional,
|
|
41
41
|
),
|
|
42
|
-
limit: Flag.
|
|
42
|
+
limit: Flag.Int("limit").pipe(
|
|
43
43
|
Flag.withDescription("Maximum number of issues to return"),
|
|
44
44
|
Flag.withDefault(30),
|
|
45
45
|
),
|
|
46
46
|
repo: repoOption,
|
|
47
|
-
state: Flag.
|
|
47
|
+
state: Flag.Literals("state", ["open", "closed", "all"]).pipe(
|
|
48
48
|
Flag.withDescription("Filter by state: open, closed, all"),
|
|
49
49
|
Flag.withDefault("open"),
|
|
50
50
|
),
|
|
@@ -67,7 +67,7 @@ export const issueViewCommand = Command.make(
|
|
|
67
67
|
"view",
|
|
68
68
|
{
|
|
69
69
|
format: formatOption,
|
|
70
|
-
issue: Flag.
|
|
70
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number")),
|
|
71
71
|
repo: repoOption,
|
|
72
72
|
},
|
|
73
73
|
({ format, issue, repo }) =>
|
|
@@ -87,18 +87,18 @@ export const issueViewCommand = Command.make(
|
|
|
87
87
|
export const issueCommentsCommand = Command.make(
|
|
88
88
|
"comments",
|
|
89
89
|
{
|
|
90
|
-
author: Flag.
|
|
90
|
+
author: Flag.String("author").pipe(
|
|
91
91
|
Flag.withDescription("Filter by author login substring"),
|
|
92
92
|
Flag.optional,
|
|
93
93
|
),
|
|
94
|
-
bodyContains: Flag.
|
|
94
|
+
bodyContains: Flag.String("body-contains").pipe(
|
|
95
95
|
Flag.withDescription("Filter comments by body substring"),
|
|
96
96
|
Flag.optional,
|
|
97
97
|
),
|
|
98
98
|
format: formatOption,
|
|
99
|
-
issue: Flag.
|
|
99
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number")),
|
|
100
100
|
repo: repoOption,
|
|
101
|
-
since: Flag.
|
|
101
|
+
since: Flag.String("since").pipe(
|
|
102
102
|
Flag.withDescription("ISO timestamp to filter comments created after"),
|
|
103
103
|
Flag.optional,
|
|
104
104
|
),
|
|
@@ -121,18 +121,18 @@ export const issueCommentsCommand = Command.make(
|
|
|
121
121
|
export const issueCloseCommand = Command.make(
|
|
122
122
|
"close",
|
|
123
123
|
{
|
|
124
|
-
comment: Flag.
|
|
124
|
+
comment: Flag.String("comment").pipe(
|
|
125
125
|
Flag.withDescription("Comment to add when closing"),
|
|
126
126
|
Flag.optional,
|
|
127
127
|
),
|
|
128
|
-
commentFile: Flag.
|
|
128
|
+
commentFile: Flag.String("comment-file").pipe(
|
|
129
129
|
Flag.withDescription("Read close comment from a file path or '-' for stdin"),
|
|
130
130
|
Flag.optional,
|
|
131
131
|
),
|
|
132
132
|
format: formatOption,
|
|
133
|
-
issue: Flag.
|
|
133
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number to close")),
|
|
134
134
|
repo: repoOption,
|
|
135
|
-
reason: Flag.
|
|
135
|
+
reason: Flag.Literals("reason", ["completed", "not planned"]).pipe(
|
|
136
136
|
Flag.withDescription("Close reason: completed, not planned"),
|
|
137
137
|
Flag.withDefault("completed"),
|
|
138
138
|
),
|
|
@@ -163,16 +163,16 @@ export const issueCloseCommand = Command.make(
|
|
|
163
163
|
export const issueReopenCommand = Command.make(
|
|
164
164
|
"reopen",
|
|
165
165
|
{
|
|
166
|
-
comment: Flag.
|
|
166
|
+
comment: Flag.String("comment").pipe(
|
|
167
167
|
Flag.withDescription("Comment to add when reopening"),
|
|
168
168
|
Flag.optional,
|
|
169
169
|
),
|
|
170
|
-
commentFile: Flag.
|
|
170
|
+
commentFile: Flag.String("comment-file").pipe(
|
|
171
171
|
Flag.withDescription("Read reopen comment from a file path or '-' for stdin"),
|
|
172
172
|
Flag.optional,
|
|
173
173
|
),
|
|
174
174
|
format: formatOption,
|
|
175
|
-
issue: Flag.
|
|
175
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number to reopen")),
|
|
176
176
|
repo: repoOption,
|
|
177
177
|
},
|
|
178
178
|
({ comment, commentFile, format, issue, repo }) =>
|
|
@@ -200,26 +200,26 @@ export const issueReopenCommand = Command.make(
|
|
|
200
200
|
export const issueCreateCommand = Command.make(
|
|
201
201
|
"create",
|
|
202
202
|
{
|
|
203
|
-
assignee: Flag.
|
|
203
|
+
assignee: Flag.String("assignee").pipe(
|
|
204
204
|
Flag.withDescription("Assignee login (comma-separated for multiple)"),
|
|
205
205
|
Flag.optional,
|
|
206
206
|
),
|
|
207
|
-
body: Flag.
|
|
208
|
-
bodyFile: Flag.
|
|
207
|
+
body: Flag.String("body").pipe(Flag.withDescription("Issue body"), Flag.optional),
|
|
208
|
+
bodyFile: Flag.String("body-file").pipe(
|
|
209
209
|
Flag.withDescription("Read issue body from a file path or '-' for stdin"),
|
|
210
210
|
Flag.optional,
|
|
211
211
|
),
|
|
212
|
-
bodyStdin: Flag.
|
|
212
|
+
bodyStdin: Flag.Boolean("body-stdin").pipe(
|
|
213
213
|
Flag.withDescription("Read issue body from stdin"),
|
|
214
214
|
Flag.withDefault(false),
|
|
215
215
|
),
|
|
216
216
|
format: formatOption,
|
|
217
|
-
labels: Flag.
|
|
217
|
+
labels: Flag.String("labels").pipe(
|
|
218
218
|
Flag.withDescription("Labels to apply (comma-separated)"),
|
|
219
219
|
Flag.optional,
|
|
220
220
|
),
|
|
221
221
|
repo: repoOption,
|
|
222
|
-
title: Flag.
|
|
222
|
+
title: Flag.String("title").pipe(Flag.withDescription("Issue title")),
|
|
223
223
|
},
|
|
224
224
|
({ assignee, body, bodyFile, bodyStdin, format, labels, repo, title }) =>
|
|
225
225
|
withRepo(
|
|
@@ -251,13 +251,13 @@ export const issueCreateCommand = Command.make(
|
|
|
251
251
|
export const issueCommentCommand = Command.make(
|
|
252
252
|
"comment",
|
|
253
253
|
{
|
|
254
|
-
body: Flag.
|
|
255
|
-
bodyFile: Flag.
|
|
254
|
+
body: Flag.String("body").pipe(Flag.withDescription("Comment body text"), Flag.optional),
|
|
255
|
+
bodyFile: Flag.String("body-file").pipe(
|
|
256
256
|
Flag.withDescription("Read comment body from a file path or '-' for stdin"),
|
|
257
257
|
Flag.optional,
|
|
258
258
|
),
|
|
259
259
|
format: formatOption,
|
|
260
|
-
issue: Flag.
|
|
260
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number to comment on")),
|
|
261
261
|
repo: repoOption,
|
|
262
262
|
},
|
|
263
263
|
({ body, bodyFile, format, issue, repo }) =>
|
|
@@ -282,31 +282,31 @@ export const issueCommentCommand = Command.make(
|
|
|
282
282
|
export const issueEditCommand = Command.make(
|
|
283
283
|
"edit",
|
|
284
284
|
{
|
|
285
|
-
addAssignee: Flag.
|
|
285
|
+
addAssignee: Flag.String("add-assignee").pipe(
|
|
286
286
|
Flag.withDescription("Add assignee login (comma-separated for multiple)"),
|
|
287
287
|
Flag.optional,
|
|
288
288
|
),
|
|
289
|
-
addLabels: Flag.
|
|
289
|
+
addLabels: Flag.String("add-labels").pipe(
|
|
290
290
|
Flag.withDescription("Add labels (comma-separated)"),
|
|
291
291
|
Flag.optional,
|
|
292
292
|
),
|
|
293
|
-
body: Flag.
|
|
294
|
-
bodyFile: Flag.
|
|
293
|
+
body: Flag.String("body").pipe(Flag.withDescription("New issue body"), Flag.optional),
|
|
294
|
+
bodyFile: Flag.String("body-file").pipe(
|
|
295
295
|
Flag.withDescription("Read issue body from a file path or '-' for stdin"),
|
|
296
296
|
Flag.optional,
|
|
297
297
|
),
|
|
298
298
|
format: formatOption,
|
|
299
|
-
issue: Flag.
|
|
299
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number to edit")),
|
|
300
300
|
repo: repoOption,
|
|
301
|
-
removeAssignee: Flag.
|
|
301
|
+
removeAssignee: Flag.String("remove-assignee").pipe(
|
|
302
302
|
Flag.withDescription("Remove assignee login (comma-separated for multiple)"),
|
|
303
303
|
Flag.optional,
|
|
304
304
|
),
|
|
305
|
-
removeLabels: Flag.
|
|
305
|
+
removeLabels: Flag.String("remove-labels").pipe(
|
|
306
306
|
Flag.withDescription("Remove labels (comma-separated)"),
|
|
307
307
|
Flag.optional,
|
|
308
308
|
),
|
|
309
|
-
title: Flag.
|
|
309
|
+
title: Flag.String("title").pipe(Flag.withDescription("New issue title"), Flag.optional),
|
|
310
310
|
},
|
|
311
311
|
({
|
|
312
312
|
addAssignee,
|
|
@@ -9,7 +9,7 @@ import { fetchReviewTriage } from "#gh/pr/commands";
|
|
|
9
9
|
|
|
10
10
|
import { fetchIssueComments } from "./core";
|
|
11
11
|
|
|
12
|
-
const repoOption = Flag.
|
|
12
|
+
const repoOption = Flag.String("repo").pipe(
|
|
13
13
|
Flag.withDescription("Target repository profile name or owner/name"),
|
|
14
14
|
Flag.optional,
|
|
15
15
|
);
|
|
@@ -258,9 +258,9 @@ export const issueTriageCommand = Command.make(
|
|
|
258
258
|
"triage",
|
|
259
259
|
{
|
|
260
260
|
format: formatOption,
|
|
261
|
-
issue: Flag.
|
|
261
|
+
issue: Flag.Int("issue").pipe(Flag.withDescription("Issue number")),
|
|
262
262
|
repo: repoOption,
|
|
263
|
-
verbosity: Flag.
|
|
263
|
+
verbosity: Flag.Literals("verbosity", ["compact", "full"] as const).pipe(
|
|
264
264
|
Flag.withDescription("Output detail level: compact or full"),
|
|
265
265
|
Flag.withDefault("compact"),
|
|
266
266
|
),
|
|
@@ -281,8 +281,8 @@ export const issueSnapshotBatchCommand = Command.make(
|
|
|
281
281
|
"snapshot-batch",
|
|
282
282
|
{
|
|
283
283
|
format: formatOption,
|
|
284
|
-
issues: Flag.
|
|
285
|
-
owner: Flag.
|
|
284
|
+
issues: Flag.String("issues").pipe(Flag.withDescription("Comma-separated issue numbers")),
|
|
285
|
+
owner: Flag.String("owner").pipe(
|
|
286
286
|
Flag.withDescription("Automation owner login used to mark eligible issues"),
|
|
287
287
|
Flag.optional,
|
|
288
288
|
),
|