gh-axi 0.1.13 → 0.1.14

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.
@@ -1,3 +1,3 @@
1
- import type { RepoContext } from '../context.js';
2
- export declare const PR_HELP = "usage: gh-axi pr <subcommand> [flags]\nsubcommands[15]:\n list, view <number>, create, edit <number>, close <number>, merge <number>, review <number>, checks <number>, diff <number>, checkout <number>, ready <number>, reopen <number>, comment <number>, update-branch <number>, revert <number>\nflags{list}:\n --state <open|closed|all>, --label, --assignee, --author, --base, --head, --draft, --limit <n> (default 30), --fields <a,b,c>\nflags{view}:\n --comments, --full (show complete body without truncation)\nflags{create}:\n --title <text> (required), --body, --base, --head, --draft, --assignee, --reviewer, --label, --milestone\nflags{merge}:\n --method <merge|squash|rebase>, --auto, --delete-branch, --body, --subject\nflags{review}:\n --approve, --request-changes, --comment, --body\nflags{checks}:\n (none)\nflags{diff}:\n --full (show complete diff without truncation)\nexamples:\n gh-axi pr list --state open --label bug\n gh-axi pr view 42 --comments\n gh-axi pr merge 42 --squash --delete-branch";
1
+ import type { RepoContext } from "../context.js";
2
+ export declare const PR_HELP = "usage: gh-axi pr <subcommand> [flags]\nsubcommands[15]:\n list, view <number>, create, edit <number>, close <number>, merge <number>, review <number>, checks <number>, diff <number>, checkout <number>, ready <number>, reopen <number>, comment <number>, update-branch <number>, revert <number>\nflags{list}:\n --state <open|closed|all>, --label, --assignee, --author, --base, --head, --draft, --limit <n> (default 30), --fields <a,b,c>\nflags{view}:\n --comments, --reviews (show review submissions and inline review comments), --full (show complete body without truncation)\nflags{create}:\n --title <text> (required), --body, --base, --head, --draft, --assignee, --reviewer, --label, --milestone\nflags{merge}:\n --method <merge|squash|rebase>, --auto, --delete-branch, --body, --subject\nflags{review}:\n --approve, --request-changes, --comment, --body\nflags{checks}:\n (none)\nflags{diff}:\n --full (show complete diff without truncation)\nexamples:\n gh-axi pr list --state open --label bug\n gh-axi pr view 42 --comments\n gh-axi pr view 42 --reviews\n gh-axi pr merge 42 --squash --delete-branch";
3
3
  export declare function prCommand(args: string[], ctx?: RepoContext): Promise<string>;
@@ -1,82 +1,118 @@
1
- import { encode } from '@toon-format/toon';
2
- import { ghJson, ghExec, ghRaw } from '../gh.js';
3
- import { AxiError } from '../errors.js';
4
- import { truncateBody } from '../body.js';
5
- import { formatCountLine } from '../format.js';
6
- import { getSuggestions } from '../suggestions.js';
7
- import { takeFlag, takeBoolFlag, takeNumber } from '../args.js';
8
- import { parseFields } from '../fields.js';
9
- import { field, pluck, lower, boolYesNo, mapEnum, relativeTime, joinArray, custom, renderList, renderDetail, renderHelp, renderError, renderOutput, } from '../toon.js';
1
+ import { encode } from "@toon-format/toon";
2
+ import { ghJson, ghExec, ghRaw } from "../gh.js";
3
+ import { AxiError } from "../errors.js";
4
+ import { truncateBody } from "../body.js";
5
+ import { formatCountLine } from "../format.js";
6
+ import { getSuggestions } from "../suggestions.js";
7
+ import { takeFlag, takeBoolFlag, takeNumber } from "../args.js";
8
+ import { parseFields } from "../fields.js";
9
+ import { field, pluck, lower, boolYesNo, mapEnum, relativeTime, joinArray, custom, renderList, renderDetail, renderHelp, renderError, renderOutput, } from "../toon.js";
10
10
  // ---------------------------------------------------------------------------
11
11
  // Helpers
12
12
  // ---------------------------------------------------------------------------
13
13
  /** Classify a CI check run into a simple status category. */
14
14
  function classifyCheck(c) {
15
- const conc = (c.conclusion ?? '').toUpperCase();
16
- const st = (c.state ?? c.status ?? '').toUpperCase();
17
- if (conc === 'SUCCESS' || conc === 'NEUTRAL')
18
- return 'pass';
19
- if (conc === 'FAILURE' || conc === 'TIMED_OUT' || conc === 'ACTION_REQUIRED')
20
- return 'fail';
21
- if (conc === 'SKIPPED' || conc === 'CANCELLED' || st === 'EXPECTED' || st === 'NEUTRAL')
22
- return 'skip';
23
- return 'pending';
15
+ const conc = (c.conclusion ?? "").toUpperCase();
16
+ const st = (c.state ?? c.status ?? "").toUpperCase();
17
+ if (conc === "SUCCESS" || conc === "NEUTRAL")
18
+ return "pass";
19
+ if (conc === "FAILURE" || conc === "TIMED_OUT" || conc === "ACTION_REQUIRED")
20
+ return "fail";
21
+ if (conc === "SKIPPED" ||
22
+ conc === "CANCELLED" ||
23
+ st === "EXPECTED" ||
24
+ st === "NEUTRAL")
25
+ return "skip";
26
+ return "pending";
27
+ }
28
+ function prRestPath(ctx, num, suffix) {
29
+ const repoPath = ctx
30
+ ? `repos/${ctx.owner}/${ctx.name}`
31
+ : "repos/{owner}/{repo}";
32
+ return `${repoPath}/pulls/${num}/${suffix}`;
33
+ }
34
+ function flattenPaginated(items) {
35
+ if (items.length > 0 && Array.isArray(items[0]))
36
+ return items.flat();
37
+ return items;
38
+ }
39
+ async function ghApiPaginatedArray(path) {
40
+ const pages = await ghJson([
41
+ "api",
42
+ path,
43
+ "--paginate",
44
+ "--slurp",
45
+ ]);
46
+ return flattenPaginated(pages);
24
47
  }
25
48
  // ---------------------------------------------------------------------------
26
49
  // Schemas
27
50
  // ---------------------------------------------------------------------------
28
51
  const REVIEW_MAP = {
29
- APPROVED: 'approved',
30
- CHANGES_REQUESTED: 'changes_requested',
31
- REVIEW_REQUIRED: 'required',
52
+ APPROVED: "approved",
53
+ CHANGES_REQUESTED: "changes_requested",
54
+ REVIEW_REQUIRED: "required",
55
+ };
56
+ const REVIEW_STATE_MAP = {
57
+ APPROVED: "approved",
58
+ CHANGES_REQUESTED: "changes_requested",
59
+ COMMENTED: "commented",
60
+ DISMISSED: "dismissed",
61
+ PENDING: "pending",
32
62
  };
33
63
  const listSchema = [
34
- field('number'),
35
- field('title'),
36
- lower('state'),
37
- pluck('author', 'login', 'author'),
38
- boolYesNo('isDraft', 'draft'),
39
- mapEnum('reviewDecision', REVIEW_MAP, 'none', 'review'),
64
+ field("number"),
65
+ field("title"),
66
+ lower("state"),
67
+ pluck("author", "login", "author"),
68
+ boolYesNo("isDraft", "draft"),
69
+ mapEnum("reviewDecision", REVIEW_MAP, "none", "review"),
40
70
  ];
41
- const LIST_JSON_FIELDS = 'number,title,state,author,isDraft,reviewDecision';
71
+ const LIST_JSON_FIELDS = "number,title,state,author,isDraft,reviewDecision";
42
72
  const PR_LIST_EXTRA_FIELDS = {
43
- body: { jsonKey: 'body', def: field('body') },
44
- createdAt: { jsonKey: 'createdAt', def: relativeTime('createdAt', 'created') },
45
- labels: { jsonKey: 'labels', def: joinArray('labels', 'name', 'labels') },
46
- milestone: { jsonKey: 'milestone', def: pluck('milestone', 'title', 'milestone') },
47
- mergedAt: { jsonKey: 'mergedAt', def: relativeTime('mergedAt', 'merged_at') },
48
- url: { jsonKey: 'url', def: field('url') },
73
+ body: { jsonKey: "body", def: field("body") },
74
+ createdAt: {
75
+ jsonKey: "createdAt",
76
+ def: relativeTime("createdAt", "created"),
77
+ },
78
+ labels: { jsonKey: "labels", def: joinArray("labels", "name", "labels") },
79
+ milestone: {
80
+ jsonKey: "milestone",
81
+ def: pluck("milestone", "title", "milestone"),
82
+ },
83
+ mergedAt: { jsonKey: "mergedAt", def: relativeTime("mergedAt", "merged_at") },
84
+ url: { jsonKey: "url", def: field("url") },
49
85
  };
50
86
  const viewSchema = [
51
- field('number'),
52
- field('title'),
53
- lower('state'),
54
- pluck('author', 'login', 'author'),
55
- boolYesNo('isDraft', 'draft'),
56
- custom('merged', (item) => {
57
- if ((item.state ?? '').toUpperCase() === 'MERGED')
58
- return item.mergedAt ?? 'yes';
59
- return 'no';
87
+ field("number"),
88
+ field("title"),
89
+ lower("state"),
90
+ pluck("author", "login", "author"),
91
+ boolYesNo("isDraft", "draft"),
92
+ custom("merged", (item) => {
93
+ if ((item.state ?? "").toUpperCase() === "MERGED")
94
+ return item.mergedAt ?? "yes";
95
+ return "no";
60
96
  }),
61
- custom('checks', (item) => {
97
+ custom("checks", (item) => {
62
98
  const checks = item.statusCheckRollup;
63
99
  if (!Array.isArray(checks) || checks.length === 0)
64
- return '0 passed, 0 failed — this PR has no CI checks configured';
65
- const passed = checks.filter((c) => classifyCheck(c) === 'pass').length;
66
- const failed = checks.filter((c) => classifyCheck(c) === 'fail').length;
67
- const skipped = checks.filter((c) => classifyCheck(c) === 'skip').length;
100
+ return "0 passed, 0 failed — this PR has no CI checks configured";
101
+ const passed = checks.filter((c) => classifyCheck(c) === "pass").length;
102
+ const failed = checks.filter((c) => classifyCheck(c) === "fail").length;
103
+ const skipped = checks.filter((c) => classifyCheck(c) === "skip").length;
68
104
  const parts = [`${passed} passed`, `${failed} failed`];
69
105
  if (skipped > 0)
70
106
  parts.push(`${skipped} skipped`);
71
107
  parts.push(`${checks.length} total`);
72
- return parts.join(', ');
108
+ return parts.join(", ");
73
109
  }),
74
- custom('body', (item) => truncateBody(item.body, 500)),
110
+ custom("body", (item) => truncateBody(item.body, 500)),
75
111
  ];
76
- const viewSchemaFull = viewSchema.map(f => 'as' in f && f.as === 'body'
77
- ? custom('body', (item) => typeof item.body === 'string' ? item.body : '')
112
+ const viewSchemaFull = viewSchema.map((f) => "as" in f && f.as === "body"
113
+ ? custom("body", (item) => typeof item.body === "string" ? item.body : "")
78
114
  : f);
79
- const VIEW_JSON_FIELDS = 'number,title,state,author,isDraft,mergedAt,statusCheckRollup,body,comments';
115
+ const VIEW_JSON_FIELDS = "number,title,state,author,isDraft,mergedAt,statusCheckRollup,body,comments,reviews";
80
116
  // ---------------------------------------------------------------------------
81
117
  // Help
82
118
  // ---------------------------------------------------------------------------
@@ -86,7 +122,7 @@ subcommands[15]:
86
122
  flags{list}:
87
123
  --state <open|closed|all>, --label, --assignee, --author, --base, --head, --draft, --limit <n> (default 30), --fields <a,b,c>
88
124
  flags{view}:
89
- --comments, --full (show complete body without truncation)
125
+ --comments, --reviews (show review submissions and inline review comments), --full (show complete body without truncation)
90
126
  flags{create}:
91
127
  --title <text> (required), --body, --base, --head, --draft, --assignee, --reviewer, --label, --milestone
92
128
  flags{merge}:
@@ -100,38 +136,50 @@ flags{diff}:
100
136
  examples:
101
137
  gh-axi pr list --state open --label bug
102
138
  gh-axi pr view 42 --comments
139
+ gh-axi pr view 42 --reviews
103
140
  gh-axi pr merge 42 --squash --delete-branch`;
104
141
  // ---------------------------------------------------------------------------
105
142
  // Subcommands
106
143
  // ---------------------------------------------------------------------------
107
144
  async function prList(args, ctx) {
108
- if (args.includes('--search')) {
109
- throw new AxiError('pr list does not support --search. Use `gh-axi search prs "<query>"` instead for full-text search with total counts.', 'VALIDATION_ERROR');
145
+ if (args.includes("--search")) {
146
+ throw new AxiError('pr list does not support --search. Use `gh-axi search prs "<query>"` instead for full-text search with total counts.', "VALIDATION_ERROR");
110
147
  }
111
- const fieldsArg = takeFlag(args, '--fields');
148
+ const fieldsArg = takeFlag(args, "--fields");
112
149
  const { extraDefs, extraJsonKeys } = parseFields(fieldsArg, PR_LIST_EXTRA_FIELDS);
113
- const state = takeFlag(args, '--state') ?? 'open';
114
- const label = takeFlag(args, '--label');
115
- const assignee = takeFlag(args, '--assignee');
116
- const author = takeFlag(args, '--author');
117
- const base = takeFlag(args, '--base');
118
- const head = takeFlag(args, '--head');
119
- const draft = takeBoolFlag(args, '--draft');
120
- const limit = takeFlag(args, '--limit') ?? '30';
121
- const jsonFields = extraJsonKeys.length > 0 ? LIST_JSON_FIELDS + ',' + extraJsonKeys.join(',') : LIST_JSON_FIELDS;
122
- const ghArgs = ['pr', 'list', '--json', jsonFields, '--state', state, '--limit', limit];
150
+ const state = takeFlag(args, "--state") ?? "open";
151
+ const label = takeFlag(args, "--label");
152
+ const assignee = takeFlag(args, "--assignee");
153
+ const author = takeFlag(args, "--author");
154
+ const base = takeFlag(args, "--base");
155
+ const head = takeFlag(args, "--head");
156
+ const draft = takeBoolFlag(args, "--draft");
157
+ const limit = takeFlag(args, "--limit") ?? "30";
158
+ const jsonFields = extraJsonKeys.length > 0
159
+ ? LIST_JSON_FIELDS + "," + extraJsonKeys.join(",")
160
+ : LIST_JSON_FIELDS;
161
+ const ghArgs = [
162
+ "pr",
163
+ "list",
164
+ "--json",
165
+ jsonFields,
166
+ "--state",
167
+ state,
168
+ "--limit",
169
+ limit,
170
+ ];
123
171
  if (label)
124
- ghArgs.push('--label', label);
172
+ ghArgs.push("--label", label);
125
173
  if (assignee)
126
- ghArgs.push('--assignee', assignee);
174
+ ghArgs.push("--assignee", assignee);
127
175
  if (author)
128
- ghArgs.push('--author', author);
176
+ ghArgs.push("--author", author);
129
177
  if (base)
130
- ghArgs.push('--base', base);
178
+ ghArgs.push("--base", base);
131
179
  if (head)
132
- ghArgs.push('--head', head);
180
+ ghArgs.push("--head", head);
133
181
  if (draft)
134
- ghArgs.push('--draft');
182
+ ghArgs.push("--draft");
135
183
  const items = await ghJson(ghArgs, ctx);
136
184
  const isEmpty = items.length === 0;
137
185
  const limitNum = Number(limit);
@@ -140,233 +188,297 @@ async function prList(args, ctx) {
140
188
  if (items.length === limitNum && ctx) {
141
189
  try {
142
190
  const ghState = state.toUpperCase();
143
- const statesFilter = ghState === 'ALL' ? '' : `states:[${ghState === 'CLOSED' ? 'CLOSED,MERGED' : ghState}]`;
191
+ const statesFilter = ghState === "ALL"
192
+ ? ""
193
+ : `states:[${ghState === "CLOSED" ? "CLOSED,MERGED" : ghState}]`;
144
194
  const query = `{ repository(owner:"${ctx.owner}", name:"${ctx.name}") { pullRequests(${statesFilter}) { totalCount } } }`;
145
- const gqlResult = await ghRaw(['api', 'graphql', '-f', `query=${query}`]);
195
+ const gqlResult = await ghRaw(["api", "graphql", "-f", `query=${query}`]);
146
196
  if (gqlResult.exitCode === 0) {
147
197
  const parsed = JSON.parse(gqlResult.stdout);
148
- totalCount = parsed?.data?.repository?.pullRequests?.totalCount ?? undefined;
198
+ totalCount =
199
+ parsed?.data?.repository?.pullRequests?.totalCount ?? undefined;
149
200
  }
150
201
  }
151
202
  catch {
152
203
  // fall back to limit-based message
153
204
  }
154
205
  }
155
- const countLine = formatCountLine({ count: items.length, limit: limitNum, totalCount });
206
+ const countLine = formatCountLine({
207
+ count: items.length,
208
+ limit: limitNum,
209
+ totalCount,
210
+ });
156
211
  const extendedSchema = extraDefs.length > 0 ? [...listSchema, ...extraDefs] : listSchema;
157
212
  return renderOutput([
158
213
  countLine,
159
- renderList('pull_requests', items, extendedSchema),
160
- renderHelp(getSuggestions({ domain: 'pr', action: 'list', isEmpty, repo: ctx })),
214
+ renderList("pull_requests", items, extendedSchema),
215
+ renderHelp(getSuggestions({ domain: "pr", action: "list", isEmpty, repo: ctx })),
161
216
  ]);
162
217
  }
163
218
  async function prView(args, ctx) {
164
- const includeComments = takeBoolFlag(args, '--comments');
165
- const full = takeBoolFlag(args, '--full');
166
- const num = takeNumber(args, 'PR');
167
- // Always fetch comments (for count or full rendering)
168
- const ghArgs = ['pr', 'view', String(num), '--json', VIEW_JSON_FIELDS];
219
+ const includeComments = takeBoolFlag(args, "--comments");
220
+ const includeReviews = takeBoolFlag(args, "--reviews");
221
+ const full = takeBoolFlag(args, "--full");
222
+ const num = takeNumber(args, "PR");
223
+ // Always fetch comments + review summaries (for count or full rendering)
224
+ const ghArgs = ["pr", "view", String(num), "--json", VIEW_JSON_FIELDS];
169
225
  const pr = await ghJson(ghArgs, ctx);
170
226
  const schema = [...(full ? viewSchemaFull : viewSchema)];
171
227
  if (includeComments && Array.isArray(pr.comments)) {
172
- schema.push(custom('comments', (item) => (item.comments ?? []).map((c) => ({
173
- author: c.author?.login ?? 'unknown',
174
- body: c.body ?? '',
175
- created: c.createdAt ?? '',
228
+ schema.push(custom("comments", (item) => (item.comments ?? []).map((c) => ({
229
+ author: c.author?.login ?? "unknown",
230
+ body: c.body ?? "",
231
+ created: c.createdAt ?? "",
176
232
  }))));
177
233
  }
178
234
  else {
179
235
  const commentCount = Array.isArray(pr.comments) ? pr.comments.length : 0;
180
- schema.push(custom('comment_count', () => `${commentCount} — use --comments to see full comments`));
236
+ schema.push(custom("comment_count", () => `${commentCount} — use --comments to see full comments`));
181
237
  }
182
- return renderOutput([
183
- renderDetail('pull_request', pr, schema),
184
- ]);
238
+ if (includeReviews) {
239
+ // gh pr view --json reviews returns GraphQL node IDs, which don't match
240
+ // the numeric review IDs on inline review comments. Fetch both via REST
241
+ // so we can correlate inline comments back to their parent review.
242
+ const reviews = await ghApiPaginatedArray(prRestPath(ctx, num, "reviews"));
243
+ let inlineComments = [];
244
+ if (reviews.length > 0) {
245
+ inlineComments = await ghApiPaginatedArray(prRestPath(ctx, num, "comments"));
246
+ }
247
+ const commentsByReview = new Map();
248
+ for (const c of inlineComments) {
249
+ if (typeof c.pull_request_review_id === "number") {
250
+ const list = commentsByReview.get(c.pull_request_review_id) ?? [];
251
+ list.push(c);
252
+ commentsByReview.set(c.pull_request_review_id, list);
253
+ }
254
+ }
255
+ schema.push(custom("reviews", () => reviews.map((r) => {
256
+ const stateUpper = (r.state ?? "").toUpperCase();
257
+ const inline = commentsByReview.get(r.id) ?? [];
258
+ return {
259
+ author: r.user?.login ?? "unknown",
260
+ state: REVIEW_STATE_MAP[stateUpper] ??
261
+ stateUpper.toLowerCase() ??
262
+ "unknown",
263
+ submitted: r.submitted_at ?? "",
264
+ body: r.body ?? "",
265
+ inline_comments: inline.map((c) => ({
266
+ author: c.user?.login ?? "unknown",
267
+ path: c.path ?? "",
268
+ line: c.line ?? c.original_line ?? null,
269
+ body: c.body ?? "",
270
+ created: c.created_at ?? "",
271
+ })),
272
+ };
273
+ })));
274
+ }
275
+ else {
276
+ const reviewCount = Array.isArray(pr.reviews) ? pr.reviews.length : 0;
277
+ schema.push(custom("review_count", () => `${reviewCount} — use --reviews to see full reviews`));
278
+ }
279
+ return renderOutput([renderDetail("pull_request", pr, schema)]);
185
280
  }
186
281
  async function prCreate(args, ctx) {
187
- const title = takeFlag(args, '--title');
282
+ const title = takeFlag(args, "--title");
188
283
  if (!title)
189
- throw new AxiError('--title is required', 'VALIDATION_ERROR');
190
- const body = takeFlag(args, '--body');
191
- const base = takeFlag(args, '--base');
192
- const head = takeFlag(args, '--head');
193
- const draft = takeBoolFlag(args, '--draft');
194
- const assignee = takeFlag(args, '--assignee');
195
- const reviewer = takeFlag(args, '--reviewer');
196
- const label = takeFlag(args, '--label');
197
- const milestone = takeFlag(args, '--milestone');
198
- const project = takeFlag(args, '--project');
199
- const ghArgs = ['pr', 'create', '--title', title];
284
+ throw new AxiError("--title is required", "VALIDATION_ERROR");
285
+ const body = takeFlag(args, "--body");
286
+ const base = takeFlag(args, "--base");
287
+ const head = takeFlag(args, "--head");
288
+ const draft = takeBoolFlag(args, "--draft");
289
+ const assignee = takeFlag(args, "--assignee");
290
+ const reviewer = takeFlag(args, "--reviewer");
291
+ const label = takeFlag(args, "--label");
292
+ const milestone = takeFlag(args, "--milestone");
293
+ const project = takeFlag(args, "--project");
294
+ const ghArgs = ["pr", "create", "--title", title];
200
295
  if (body)
201
- ghArgs.push('--body', body);
296
+ ghArgs.push("--body", body);
202
297
  if (base)
203
- ghArgs.push('--base', base);
298
+ ghArgs.push("--base", base);
204
299
  if (head)
205
- ghArgs.push('--head', head);
300
+ ghArgs.push("--head", head);
206
301
  if (draft)
207
- ghArgs.push('--draft');
302
+ ghArgs.push("--draft");
208
303
  if (assignee)
209
- ghArgs.push('--assignee', assignee);
304
+ ghArgs.push("--assignee", assignee);
210
305
  if (reviewer)
211
- ghArgs.push('--reviewer', reviewer);
306
+ ghArgs.push("--reviewer", reviewer);
212
307
  if (label)
213
- ghArgs.push('--label', label);
308
+ ghArgs.push("--label", label);
214
309
  if (milestone)
215
- ghArgs.push('--milestone', milestone);
310
+ ghArgs.push("--milestone", milestone);
216
311
  if (project)
217
- ghArgs.push('--project', project);
312
+ ghArgs.push("--project", project);
218
313
  const stdout = await ghExec(ghArgs, ctx);
219
314
  // Parse PR number from URL: https://github.com/OWNER/REPO/pull/123
220
315
  const urlMatch = stdout.match(/\/pull\/(\d+)/);
221
316
  const num = urlMatch ? Number(urlMatch[1]) : undefined;
222
- const url = stdout.trim().split('\n').pop()?.trim() ?? '';
317
+ const url = stdout.trim().split("\n").pop()?.trim() ?? "";
223
318
  return renderOutput([
224
- renderDetail('created', { number: num ?? url, url }, [field('number'), field('url')]),
225
- renderHelp(getSuggestions({ domain: 'pr', action: 'create', id: num, repo: ctx })),
319
+ renderDetail("created", { number: num ?? url, url }, [
320
+ field("number"),
321
+ field("url"),
322
+ ]),
323
+ renderHelp(getSuggestions({ domain: "pr", action: "create", id: num, repo: ctx })),
226
324
  ]);
227
325
  }
228
326
  async function prEdit(args, ctx) {
229
- const num = takeNumber(args, 'PR');
230
- const title = takeFlag(args, '--title');
231
- const body = takeFlag(args, '--body');
232
- const addLabel = takeFlag(args, '--add-label');
233
- const removeLabel = takeFlag(args, '--remove-label');
234
- const addAssignee = takeFlag(args, '--add-assignee');
235
- const removeAssignee = takeFlag(args, '--remove-assignee');
236
- const addReviewer = takeFlag(args, '--add-reviewer');
237
- const removeReviewer = takeFlag(args, '--remove-reviewer');
238
- const milestone = takeFlag(args, '--milestone');
239
- const base = takeFlag(args, '--base');
240
- const ghArgs = ['pr', 'edit', String(num)];
327
+ const num = takeNumber(args, "PR");
328
+ const title = takeFlag(args, "--title");
329
+ const body = takeFlag(args, "--body");
330
+ const addLabel = takeFlag(args, "--add-label");
331
+ const removeLabel = takeFlag(args, "--remove-label");
332
+ const addAssignee = takeFlag(args, "--add-assignee");
333
+ const removeAssignee = takeFlag(args, "--remove-assignee");
334
+ const addReviewer = takeFlag(args, "--add-reviewer");
335
+ const removeReviewer = takeFlag(args, "--remove-reviewer");
336
+ const milestone = takeFlag(args, "--milestone");
337
+ const base = takeFlag(args, "--base");
338
+ const ghArgs = ["pr", "edit", String(num)];
241
339
  if (title)
242
- ghArgs.push('--title', title);
340
+ ghArgs.push("--title", title);
243
341
  if (body)
244
- ghArgs.push('--body', body);
342
+ ghArgs.push("--body", body);
245
343
  if (addLabel)
246
- ghArgs.push('--add-label', addLabel);
344
+ ghArgs.push("--add-label", addLabel);
247
345
  if (removeLabel)
248
- ghArgs.push('--remove-label', removeLabel);
346
+ ghArgs.push("--remove-label", removeLabel);
249
347
  if (addAssignee)
250
- ghArgs.push('--add-assignee', addAssignee);
348
+ ghArgs.push("--add-assignee", addAssignee);
251
349
  if (removeAssignee)
252
- ghArgs.push('--remove-assignee', removeAssignee);
350
+ ghArgs.push("--remove-assignee", removeAssignee);
253
351
  if (addReviewer)
254
- ghArgs.push('--add-reviewer', addReviewer);
352
+ ghArgs.push("--add-reviewer", addReviewer);
255
353
  if (removeReviewer)
256
- ghArgs.push('--remove-reviewer', removeReviewer);
354
+ ghArgs.push("--remove-reviewer", removeReviewer);
257
355
  if (milestone)
258
- ghArgs.push('--milestone', milestone);
356
+ ghArgs.push("--milestone", milestone);
259
357
  if (base)
260
- ghArgs.push('--base', base);
358
+ ghArgs.push("--base", base);
261
359
  await ghExec(ghArgs, ctx);
262
360
  return renderOutput([
263
- renderDetail('edited', { number: num, status: 'ok' }, [field('number'), field('status')]),
264
- renderHelp(getSuggestions({ domain: 'pr', action: 'edit', id: num, repo: ctx })),
361
+ renderDetail("edited", { number: num, status: "ok" }, [
362
+ field("number"),
363
+ field("status"),
364
+ ]),
365
+ renderHelp(getSuggestions({ domain: "pr", action: "edit", id: num, repo: ctx })),
265
366
  ]);
266
367
  }
267
368
  async function prClose(args, ctx) {
268
- const comment = takeFlag(args, '--comment');
269
- const num = takeNumber(args, 'PR');
369
+ const comment = takeFlag(args, "--comment");
370
+ const num = takeNumber(args, "PR");
270
371
  // Idempotent: check current state
271
- const pr = await ghJson(['pr', 'view', String(num), '--json', 'state'], ctx);
272
- const state = (pr.state ?? '').toUpperCase();
273
- if (state === 'CLOSED' || state === 'MERGED') {
372
+ const pr = await ghJson(["pr", "view", String(num), "--json", "state"], ctx);
373
+ const state = (pr.state ?? "").toUpperCase();
374
+ if (state === "CLOSED" || state === "MERGED") {
274
375
  return renderOutput([
275
- renderDetail('pull_request', { number: num, state: state.toLowerCase(), already: true }, [
276
- field('number'),
277
- field('state'),
278
- field('already'),
279
- ]),
280
- renderHelp(getSuggestions({ domain: 'pr', action: 'close', id: num, repo: ctx })),
376
+ renderDetail("pull_request", { number: num, state: state.toLowerCase(), already: true }, [field("number"), field("state"), field("already")]),
377
+ renderHelp(getSuggestions({ domain: "pr", action: "close", id: num, repo: ctx })),
281
378
  ]);
282
379
  }
283
- const ghArgs = ['pr', 'close', String(num)];
380
+ const ghArgs = ["pr", "close", String(num)];
284
381
  if (comment)
285
- ghArgs.push('--comment', comment);
382
+ ghArgs.push("--comment", comment);
286
383
  await ghExec(ghArgs, ctx);
287
384
  return renderOutput([
288
- renderDetail('closed', { number: num, status: 'ok' }, [field('number'), field('status')]),
289
- renderHelp(getSuggestions({ domain: 'pr', action: 'close', id: num, repo: ctx })),
385
+ renderDetail("closed", { number: num, status: "ok" }, [
386
+ field("number"),
387
+ field("status"),
388
+ ]),
389
+ renderHelp(getSuggestions({ domain: "pr", action: "close", id: num, repo: ctx })),
290
390
  ]);
291
391
  }
292
392
  async function prMerge(args, ctx) {
293
- const num = takeNumber(args, 'PR');
294
- const method = takeFlag(args, '--method');
295
- const auto = takeBoolFlag(args, '--auto');
296
- const deleteBranch = takeBoolFlag(args, '--delete-branch');
297
- const body = takeFlag(args, '--body');
298
- const subject = takeFlag(args, '--subject');
393
+ const num = takeNumber(args, "PR");
394
+ const method = takeFlag(args, "--method");
395
+ const auto = takeBoolFlag(args, "--auto");
396
+ const deleteBranch = takeBoolFlag(args, "--delete-branch");
397
+ const body = takeFlag(args, "--body");
398
+ const subject = takeFlag(args, "--subject");
299
399
  // Idempotent: check if already merged
300
- const pr = await ghJson(['pr', 'view', String(num), '--json', 'state,mergedBy,mergedAt'], ctx);
301
- if ((pr.state ?? '').toUpperCase() === 'MERGED') {
400
+ const pr = await ghJson(["pr", "view", String(num), "--json", "state,mergedBy,mergedAt"], ctx);
401
+ if ((pr.state ?? "").toUpperCase() === "MERGED") {
302
402
  return renderOutput([
303
- renderDetail('pull_request', {
403
+ renderDetail("pull_request", {
304
404
  number: num,
305
- state: 'merged',
405
+ state: "merged",
306
406
  merged_by: pr.mergedBy?.login ?? null,
307
407
  merged_at: pr.mergedAt ?? null,
308
- }, [field('number'), field('state'), field('merged_by'), field('merged_at')]),
309
- renderHelp(getSuggestions({ domain: 'pr', action: 'merge', id: num, repo: ctx })),
408
+ }, [
409
+ field("number"),
410
+ field("state"),
411
+ field("merged_by"),
412
+ field("merged_at"),
413
+ ]),
414
+ renderHelp(getSuggestions({ domain: "pr", action: "merge", id: num, repo: ctx })),
310
415
  ]);
311
416
  }
312
- const ghArgs = ['pr', 'merge', String(num)];
417
+ const ghArgs = ["pr", "merge", String(num)];
313
418
  if (method)
314
- ghArgs.push('--' + method);
419
+ ghArgs.push("--" + method);
315
420
  if (auto)
316
- ghArgs.push('--auto');
421
+ ghArgs.push("--auto");
317
422
  if (deleteBranch)
318
- ghArgs.push('--delete-branch');
423
+ ghArgs.push("--delete-branch");
319
424
  if (body)
320
- ghArgs.push('--body', body);
425
+ ghArgs.push("--body", body);
321
426
  if (subject)
322
- ghArgs.push('--subject', subject);
427
+ ghArgs.push("--subject", subject);
323
428
  await ghExec(ghArgs, ctx);
324
429
  return renderOutput([
325
- renderDetail('merged', { number: num, status: 'ok', method: method ?? 'default' }, [
326
- field('number'),
327
- field('status'),
328
- field('method'),
329
- ]),
330
- renderHelp(getSuggestions({ domain: 'pr', action: 'merge', id: num, repo: ctx })),
430
+ renderDetail("merged", { number: num, status: "ok", method: method ?? "default" }, [field("number"), field("status"), field("method")]),
431
+ renderHelp(getSuggestions({ domain: "pr", action: "merge", id: num, repo: ctx })),
331
432
  ]);
332
433
  }
333
434
  async function prReview(args, ctx) {
334
- const num = takeNumber(args, 'PR');
335
- const approve = takeBoolFlag(args, '--approve');
336
- const requestChanges = takeBoolFlag(args, '--request-changes');
337
- const commentFlag = takeBoolFlag(args, '--comment');
338
- const body = takeFlag(args, '--body');
339
- const ghArgs = ['pr', 'review', String(num)];
435
+ const num = takeNumber(args, "PR");
436
+ const approve = takeBoolFlag(args, "--approve");
437
+ const requestChanges = takeBoolFlag(args, "--request-changes");
438
+ const commentFlag = takeBoolFlag(args, "--comment");
439
+ const body = takeFlag(args, "--body");
440
+ const ghArgs = ["pr", "review", String(num)];
340
441
  if (approve)
341
- ghArgs.push('--approve');
442
+ ghArgs.push("--approve");
342
443
  else if (requestChanges)
343
- ghArgs.push('--request-changes');
444
+ ghArgs.push("--request-changes");
344
445
  else if (commentFlag)
345
- ghArgs.push('--comment');
446
+ ghArgs.push("--comment");
346
447
  if (body)
347
- ghArgs.push('--body', body);
448
+ ghArgs.push("--body", body);
348
449
  await ghExec(ghArgs, ctx);
349
- const action = approve ? 'approved' : requestChanges ? 'changes_requested' : 'commented';
450
+ const action = approve
451
+ ? "approved"
452
+ : requestChanges
453
+ ? "changes_requested"
454
+ : "commented";
350
455
  return renderOutput([
351
- renderDetail('review', { number: num, action }, [field('number'), field('action')]),
352
- renderHelp(getSuggestions({ domain: 'pr', action: 'review', id: num, repo: ctx })),
456
+ renderDetail("review", { number: num, action }, [
457
+ field("number"),
458
+ field("action"),
459
+ ]),
460
+ renderHelp(getSuggestions({ domain: "pr", action: "review", id: num, repo: ctx })),
353
461
  ]);
354
462
  }
355
463
  async function prChecks(args, ctx) {
356
- const num = takeNumber(args, 'PR');
464
+ const num = takeNumber(args, "PR");
357
465
  // Use pr view --json statusCheckRollup instead of pr checks --json which
358
466
  // can error on PRs with unusual check data
359
- const pr = await ghJson(['pr', 'view', String(num), '--json', 'statusCheckRollup'], ctx);
360
- const checks = Array.isArray(pr.statusCheckRollup) ? pr.statusCheckRollup : [];
467
+ const pr = await ghJson(["pr", "view", String(num), "--json", "statusCheckRollup"], ctx);
468
+ const checks = Array.isArray(pr.statusCheckRollup)
469
+ ? pr.statusCheckRollup
470
+ : [];
361
471
  if (checks.length === 0) {
362
472
  return renderOutput([
363
- encode({ checks: '0 passed, 0 failed — this PR has no CI checks configured' }),
473
+ encode({
474
+ checks: "0 passed, 0 failed — this PR has no CI checks configured",
475
+ }),
364
476
  ]);
365
477
  }
366
478
  // Pre-compute summary counts so agents don't have to count rows
367
- const passed = checks.filter((c) => classifyCheck(c) === 'pass').length;
368
- const failed = checks.filter((c) => classifyCheck(c) === 'fail').length;
369
- const skipped = checks.filter((c) => classifyCheck(c) === 'skip').length;
479
+ const passed = checks.filter((c) => classifyCheck(c) === "pass").length;
480
+ const failed = checks.filter((c) => classifyCheck(c) === "fail").length;
481
+ const skipped = checks.filter((c) => classifyCheck(c) === "skip").length;
370
482
  const pending = checks.length - passed - failed - skipped;
371
483
  const summaryParts = [`${passed} passed`, `${failed} failed`];
372
484
  if (skipped > 0)
@@ -375,20 +487,20 @@ async function prChecks(args, ctx) {
375
487
  summaryParts.push(`${pending} pending`);
376
488
  summaryParts.push(`${checks.length} total`);
377
489
  const checksSchema = [
378
- custom('name', (c) => c.name ?? c.context ?? 'check'),
379
- custom('conclusion', (c) => classifyCheck(c)),
490
+ custom("name", (c) => c.name ?? c.context ?? "check"),
491
+ custom("conclusion", (c) => classifyCheck(c)),
380
492
  ];
381
493
  return renderOutput([
382
- encode({ summary: summaryParts.join(', ') }),
383
- renderList('checks', checks, checksSchema),
384
- renderHelp(getSuggestions({ domain: 'pr', action: 'checks', id: num, repo: ctx })),
494
+ encode({ summary: summaryParts.join(", ") }),
495
+ renderList("checks", checks, checksSchema),
496
+ renderHelp(getSuggestions({ domain: "pr", action: "checks", id: num, repo: ctx })),
385
497
  ]);
386
498
  }
387
499
  const DIFF_TRUNCATE_LIMIT = 4000;
388
500
  async function prDiff(args, ctx) {
389
- const full = takeBoolFlag(args, '--full');
390
- const num = takeNumber(args, 'PR');
391
- const diff = await ghExec(['pr', 'diff', String(num)], ctx);
501
+ const full = takeBoolFlag(args, "--full");
502
+ const num = takeNumber(args, "PR");
503
+ const diff = await ghExec(["pr", "diff", String(num)], ctx);
392
504
  const shouldTruncate = !full && diff.length > DIFF_TRUNCATE_LIMIT;
393
505
  const prDiffBlock = {
394
506
  number: num,
@@ -398,9 +510,14 @@ async function prDiff(args, ctx) {
398
510
  prDiffBlock.truncated = true;
399
511
  prDiffBlock.original_length = diff.length;
400
512
  }
401
- const suggestions = getSuggestions({ domain: 'pr', action: 'diff', id: num, repo: ctx });
513
+ const suggestions = getSuggestions({
514
+ domain: "pr",
515
+ action: "diff",
516
+ id: num,
517
+ repo: ctx,
518
+ });
402
519
  if (shouldTruncate) {
403
- const repoArg = ctx && ctx.source !== 'git' ? ` -R ${ctx.nwo}` : '';
520
+ const repoArg = ctx && ctx.source !== "git" ? ` -R ${ctx.nwo}` : "";
404
521
  suggestions.unshift(`Run \`gh-axi${repoArg} pr diff ${num} --full\` to see the complete diff`);
405
522
  }
406
523
  return renderOutput([
@@ -409,101 +526,111 @@ async function prDiff(args, ctx) {
409
526
  ]);
410
527
  }
411
528
  async function prCheckout(args, ctx) {
412
- const num = takeNumber(args, 'PR');
413
- const stdout = await ghExec(['pr', 'checkout', String(num)], ctx);
529
+ const num = takeNumber(args, "PR");
530
+ const stdout = await ghExec(["pr", "checkout", String(num)], ctx);
414
531
  // Extract branch name from output
415
532
  const branchMatch = stdout.match(/Switched to branch '([^']+)'/);
416
533
  const branch = branchMatch ? branchMatch[1] : stdout.trim();
417
534
  return renderOutput([
418
- renderDetail('checkout', { number: num, branch, status: 'ok' }, [
419
- field('number'),
420
- field('branch'),
421
- field('status'),
535
+ renderDetail("checkout", { number: num, branch, status: "ok" }, [
536
+ field("number"),
537
+ field("branch"),
538
+ field("status"),
422
539
  ]),
423
- renderHelp(getSuggestions({ domain: 'pr', action: 'checkout', id: num, repo: ctx })),
540
+ renderHelp(getSuggestions({ domain: "pr", action: "checkout", id: num, repo: ctx })),
424
541
  ]);
425
542
  }
426
543
  async function prReady(args, ctx) {
427
- const num = takeNumber(args, 'PR');
544
+ const num = takeNumber(args, "PR");
428
545
  // Idempotent: check if already not a draft
429
- const pr = await ghJson(['pr', 'view', String(num), '--json', 'isDraft'], ctx);
546
+ const pr = await ghJson(["pr", "view", String(num), "--json", "isDraft"], ctx);
430
547
  if (!pr.isDraft) {
431
548
  return renderOutput([
432
- renderDetail('pull_request', { number: num, draft: 'no', already: true }, [
433
- field('number'),
434
- field('draft'),
435
- field('already'),
436
- ]),
437
- renderHelp(getSuggestions({ domain: 'pr', action: 'ready', id: num, repo: ctx })),
549
+ renderDetail("pull_request", { number: num, draft: "no", already: true }, [field("number"), field("draft"), field("already")]),
550
+ renderHelp(getSuggestions({ domain: "pr", action: "ready", id: num, repo: ctx })),
438
551
  ]);
439
552
  }
440
- await ghExec(['pr', 'ready', String(num)], ctx);
553
+ await ghExec(["pr", "ready", String(num)], ctx);
441
554
  return renderOutput([
442
- renderDetail('ready', { number: num, status: 'ok' }, [field('number'), field('status')]),
443
- renderHelp(getSuggestions({ domain: 'pr', action: 'ready', id: num, repo: ctx })),
555
+ renderDetail("ready", { number: num, status: "ok" }, [
556
+ field("number"),
557
+ field("status"),
558
+ ]),
559
+ renderHelp(getSuggestions({ domain: "pr", action: "ready", id: num, repo: ctx })),
444
560
  ]);
445
561
  }
446
562
  async function prReopen(args, ctx) {
447
- const num = takeNumber(args, 'PR');
563
+ const num = takeNumber(args, "PR");
448
564
  // Idempotent: check current state
449
- const pr = await ghJson(['pr', 'view', String(num), '--json', 'state'], ctx);
450
- const state = (pr.state ?? '').toUpperCase();
451
- if (state === 'OPEN') {
565
+ const pr = await ghJson(["pr", "view", String(num), "--json", "state"], ctx);
566
+ const state = (pr.state ?? "").toUpperCase();
567
+ if (state === "OPEN") {
452
568
  return renderOutput([
453
- renderDetail('pull_request', { number: num, state: 'open', already: true }, [
454
- field('number'),
455
- field('state'),
456
- field('already'),
457
- ]),
458
- renderHelp(getSuggestions({ domain: 'pr', action: 'reopen', id: num, repo: ctx })),
569
+ renderDetail("pull_request", { number: num, state: "open", already: true }, [field("number"), field("state"), field("already")]),
570
+ renderHelp(getSuggestions({ domain: "pr", action: "reopen", id: num, repo: ctx })),
459
571
  ]);
460
572
  }
461
- await ghExec(['pr', 'reopen', String(num)], ctx);
573
+ await ghExec(["pr", "reopen", String(num)], ctx);
462
574
  return renderOutput([
463
- renderDetail('reopened', { number: num, status: 'ok' }, [field('number'), field('status')]),
464
- renderHelp(getSuggestions({ domain: 'pr', action: 'reopen', id: num, repo: ctx })),
575
+ renderDetail("reopened", { number: num, status: "ok" }, [
576
+ field("number"),
577
+ field("status"),
578
+ ]),
579
+ renderHelp(getSuggestions({ domain: "pr", action: "reopen", id: num, repo: ctx })),
465
580
  ]);
466
581
  }
467
582
  async function prComment(args, ctx) {
468
- const num = takeNumber(args, 'PR');
469
- const body = takeFlag(args, '--body');
583
+ const num = takeNumber(args, "PR");
584
+ const body = takeFlag(args, "--body");
470
585
  if (!body)
471
- throw new AxiError('--body is required', 'VALIDATION_ERROR');
472
- await ghExec(['pr', 'comment', String(num), '--body', body], ctx);
586
+ throw new AxiError("--body is required", "VALIDATION_ERROR");
587
+ await ghExec(["pr", "comment", String(num), "--body", body], ctx);
473
588
  return renderOutput([
474
- renderDetail('commented', { number: num, status: 'ok' }, [field('number'), field('status')]),
475
- renderHelp(getSuggestions({ domain: 'pr', action: 'comment', id: num, repo: ctx })),
589
+ renderDetail("commented", { number: num, status: "ok" }, [
590
+ field("number"),
591
+ field("status"),
592
+ ]),
593
+ renderHelp(getSuggestions({ domain: "pr", action: "comment", id: num, repo: ctx })),
476
594
  ]);
477
595
  }
478
596
  async function prUpdateBranch(args, ctx) {
479
- const num = takeNumber(args, 'PR');
480
- await ghExec(['pr', 'update-branch', String(num)], ctx);
597
+ const num = takeNumber(args, "PR");
598
+ await ghExec(["pr", "update-branch", String(num)], ctx);
481
599
  return renderOutput([
482
- renderDetail('updated', { number: num, status: 'ok' }, [field('number'), field('status')]),
483
- renderHelp(getSuggestions({ domain: 'pr', action: 'update-branch', id: num, repo: ctx })),
600
+ renderDetail("updated", { number: num, status: "ok" }, [
601
+ field("number"),
602
+ field("status"),
603
+ ]),
604
+ renderHelp(getSuggestions({
605
+ domain: "pr",
606
+ action: "update-branch",
607
+ id: num,
608
+ repo: ctx,
609
+ })),
484
610
  ]);
485
611
  }
486
612
  async function prRevert(args, ctx) {
487
- const num = takeNumber(args, 'PR');
613
+ const num = takeNumber(args, "PR");
488
614
  // gh pr revert may not exist in all gh versions; fall back to API
489
- const result = await ghRaw(['pr', 'revert', String(num)], ctx);
615
+ const result = await ghRaw(["pr", "revert", String(num)], ctx);
490
616
  if (result.exitCode === 0) {
491
617
  // Try to extract the new PR number/URL from stdout
492
618
  const urlMatch = result.stdout.match(/\/pull\/(\d+)/);
493
619
  const newNum = urlMatch ? Number(urlMatch[1]) : null;
494
620
  return renderOutput([
495
- renderDetail('reverted', { number: num, revert_pr: newNum, status: 'ok' }, [
496
- field('number'),
497
- field('revert_pr'),
498
- field('status'),
499
- ]),
500
- renderHelp(getSuggestions({ domain: 'pr', action: 'revert', id: newNum ?? num, repo: ctx })),
621
+ renderDetail("reverted", { number: num, revert_pr: newNum, status: "ok" }, [field("number"), field("revert_pr"), field("status")]),
622
+ renderHelp(getSuggestions({
623
+ domain: "pr",
624
+ action: "revert",
625
+ id: newNum ?? num,
626
+ repo: ctx,
627
+ })),
501
628
  ]);
502
629
  }
503
630
  // Fallback: use gh api to create a revert via the REST API
504
- const apiResult = await ghRaw(['api', `repos/{owner}/{repo}/pulls/${num}/revert`, '--method', 'POST'], ctx);
631
+ const apiResult = await ghRaw(["api", `repos/{owner}/{repo}/pulls/${num}/revert`, "--method", "POST"], ctx);
505
632
  if (apiResult.exitCode !== 0) {
506
- throw new AxiError(apiResult.stderr.trim().split('\n')[0] || `Failed to revert PR #${num}`, 'UNKNOWN');
633
+ throw new AxiError(apiResult.stderr.trim().split("\n")[0] || `Failed to revert PR #${num}`, "UNKNOWN");
507
634
  }
508
635
  let revertData;
509
636
  try {
@@ -513,13 +640,18 @@ async function prRevert(args, ctx) {
513
640
  revertData = {};
514
641
  }
515
642
  return renderOutput([
516
- renderDetail('reverted', {
643
+ renderDetail("reverted", {
517
644
  number: num,
518
645
  revert_pr: revertData.number ?? null,
519
646
  url: revertData.html_url ?? null,
520
- status: 'ok',
521
- }, [field('number'), field('revert_pr'), field('url'), field('status')]),
522
- renderHelp(getSuggestions({ domain: 'pr', action: 'revert', id: revertData.number ?? num, repo: ctx })),
647
+ status: "ok",
648
+ }, [field("number"), field("revert_pr"), field("url"), field("status")]),
649
+ renderHelp(getSuggestions({
650
+ domain: "pr",
651
+ action: "revert",
652
+ id: revertData.number ?? num,
653
+ repo: ctx,
654
+ })),
523
655
  ]);
524
656
  }
525
657
  // ---------------------------------------------------------------------------
@@ -529,44 +661,44 @@ export async function prCommand(args, ctx) {
529
661
  const sub = args[0];
530
662
  const rest = args.slice(1);
531
663
  switch (sub) {
532
- case 'list':
664
+ case "list":
533
665
  return prList(rest, ctx);
534
- case 'view':
666
+ case "view":
535
667
  return prView(rest, ctx);
536
- case 'create':
668
+ case "create":
537
669
  return prCreate(rest, ctx);
538
- case 'edit':
670
+ case "edit":
539
671
  return prEdit(rest, ctx);
540
- case 'close':
672
+ case "close":
541
673
  return prClose(rest, ctx);
542
- case 'merge':
674
+ case "merge":
543
675
  return prMerge(rest, ctx);
544
- case 'review':
676
+ case "review":
545
677
  return prReview(rest, ctx);
546
- case 'checks':
678
+ case "checks":
547
679
  return prChecks(rest, ctx);
548
- case 'diff':
680
+ case "diff":
549
681
  return prDiff(rest, ctx);
550
- case 'checkout':
682
+ case "checkout":
551
683
  return prCheckout(rest, ctx);
552
- case 'ready':
684
+ case "ready":
553
685
  return prReady(rest, ctx);
554
- case 'reopen':
686
+ case "reopen":
555
687
  return prReopen(rest, ctx);
556
- case 'comment':
688
+ case "comment":
557
689
  return prComment(rest, ctx);
558
- case 'update-branch':
690
+ case "update-branch":
559
691
  return prUpdateBranch(rest, ctx);
560
- case 'revert':
692
+ case "revert":
561
693
  return prRevert(rest, ctx);
562
- case '--help':
563
- case '-h':
564
- case 'help':
694
+ case "--help":
695
+ case "-h":
696
+ case "help":
565
697
  case undefined:
566
698
  return PR_HELP;
567
699
  default:
568
- return renderError(`Unknown pr subcommand: ${sub}`, 'VALIDATION_ERROR', [
569
- 'Run `gh-axi pr --help` to see available subcommands',
700
+ return renderError(`Unknown pr subcommand: ${sub}`, "VALIDATION_ERROR", [
701
+ "Run `gh-axi pr --help` to see available subcommands",
570
702
  ]);
571
703
  }
572
704
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/pr.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gh-axi",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "AXI-compliant gh CLI wrapper — token-efficient TOON output, contextual suggestions, idempotent mutations",
5
5
  "type": "module",
6
6
  "repository": {