gh-axi 0.1.27 → 0.1.29

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 CHANGED
@@ -85,6 +85,7 @@ gh-axi # dashboard - live state, no args needed
85
85
  gh-axi issue list # list issues in current repo
86
86
  gh-axi issue subissue list 16 # list sub-issues for issue #16
87
87
  gh-axi pr view 42 # view pull request #42
88
+ gh-axi issue edit 42 --add-label bug --add-label chore # repeat a flag per value
88
89
  gh-axi run list -R owner/repo # list workflow runs for a specific repo
89
90
  gh-axi issue list --hostname git.example.com # target a GitHub Enterprise host
90
91
  gh-axi run view 123456 --job 789012 # inspect a single job within a run
@@ -94,6 +95,17 @@ gh-axi project list --owner my-org # list Projects (v2) for an owner
94
95
  echo -n "sk-..." | gh-axi secret set OPENAI_API_KEY # set a secret from stdin
95
96
  echo -n "sk-..." | gh-axi secret set CSC_LINK --env production # scope a secret to an environment
96
97
  gh-axi variable set NODE_ENV --body production # set a variable from a flag
98
+ gh-axi gist list # list your gists
99
+ gh-axi gist list --public # list only public gists
100
+ gh-axi gist view <id> # view a gist's files and content
101
+ echo 'new content' | gh-axi gist edit <id> --filename notes.md # replace a file from stdin
102
+ gh-axi gist edit <id> --remove old.txt # remove a file
103
+ gh-axi gist rename <id> old.txt new.txt # rename a file
104
+ gh-axi gist create notes.md --public --desc "My notes" # create a public gist
105
+ gh-axi gist create --file a.py --file b.py --secret # create a secret multi-file gist
106
+ echo "content" | gh-axi gist create --filename hello.txt --public # create from piped content
107
+ gh-axi gist delete <id|url> # delete a gist (always confirmed non-interactively)
108
+ gh-axi gist clone <id|url> # clone a gist locally
97
109
  gh-axi setup hooks # install optional agent session hooks
98
110
  gh-axi update --check # check whether a newer release exists
99
111
  gh-axi update # upgrade a global install
@@ -103,10 +115,21 @@ For multi-line issue, PR, review, or comment text, write Markdown to a UTF-8 fil
103
115
  For releases, `--body` and `--body-file` are aliases for release notes, alongside `--notes` and `--notes-file`.
104
116
  For multi-line variable values, pipe stdin to `gh-axi variable set <name>`; `--body`/`-b` is for inline values only.
105
117
 
118
+ The label, assignee, reviewer, and project flags of `issue create`/`edit` and `pr create`/`edit` are repeatable: pass the flag once per value and every value reaches `gh`.
119
+ `issue list` and `pr list` accept repeated `--label` filters the same way.
120
+ A repeated flag with a missing or empty value (`--add-label` with nothing after it, or `--add-label=`) fails with a validation error instead of being silently dropped.
121
+
122
+ In `gh-axi issue list` and `gh-axi pr list`, the `count: N of M total` line counts only what the filters you passed (`--label`, `--assignee`, `--author`, and the other list filters) match, not every issue or PR in the repository.
123
+ When a total cannot be expressed faithfully — a numeric `--milestone`, since search matches milestone titles only, or a filter value containing a double quote, which search has no way to escape — gh-axi omits it and falls back to `showing first N` rather than printing a number that does not match the query.
124
+ A total smaller than the page it accompanies is dropped the same way, since GitHub's search index lags behind freshly created issues and pull requests and can undercount them.
125
+
106
126
  Long `run view --log` and `run view --log-failed` output shows the last 20,000 characters so CI failures stay visible.
107
127
  When truncation happens, gh-axi best-effort saves the complete log to a temp file, includes it as `full_log`, and prints a `help:` hint telling agents to grep that file for earlier context.
108
128
  `gh-axi run` manages existing workflow runs; use `gh-axi workflow run <name> --ref <ref>` to trigger (dispatch) a workflow.
109
129
 
130
+ `gh-axi pr checks <number>` and the `checks` summary of `gh-axi pr view <number>` bucket every entry of the PR's status-check rollup as `pass`, `fail`, `skip`, or `pending`, covering both check runs (GitHub Actions and similar) and legacy commit statuses (Vercel, `ci/circleci`, and similar).
131
+ Cancelled, stale, timed-out, action-required, and startup-failure check runs count as failed, so a red PR is never reported as merely unfinished.
132
+
110
133
  `gh-axi secret set <name>` reads the value only from piped stdin because secret flags would be visible in the `gh-axi` process argv.
111
134
  `gh-axi secret list` never prints values, matching `gh secret list`.
112
135
  `gh-axi secret list`, `set`, and `delete` accept `--env`/`-e <environment>` to scope a secret to a deployment environment; without it the repository scope is used.
@@ -115,6 +138,14 @@ Other `gh secret` scopes (`--org`, `--user`, `--app`) are rejected with a clear
115
138
  `gh-axi project` wraps GitHub Projects (v2) and requires the `project` (or `read:project`) OAuth scope; if a call fails on a missing scope, gh-axi tells you the `gh auth refresh -s <scope>` command to run.
116
139
  `--owner` defaults to the current repo's owner, falling back to explicit `@me` for the authenticated user.
117
140
 
141
+ `gh-axi gist create` requires `--public` or `--secret` explicitly — passing neither (or both) is an error.
142
+ Gist visibility is fixed at creation; a secret gist is unlisted (anyone with the URL can read it), not private.
143
+ Two file-on-disk input forms are available: positional paths (`gist create a.py b.py`) or repeatable `--file` flags (`gist create --file a.py --file b.py`); mixing the two is an error.
144
+ To create a gist from piped content, use `--filename <name>` together with a pipe (`echo "..." | gh-axi gist create --filename foo.txt --public`).
145
+
146
+ `gh-axi api` accepts `--field`, `--header`, `--paginate`, `--jq <expression>`, and `--template <format>`; any other flag, an extra positional argument, or a repeated `--jq`/`--template` is rejected with a clear error instead of being silently dropped.
147
+ JSON responses are normally stripped of noisy fields before TOON encoding, but a response you shaped yourself with `--jq` or `--template` keeps every key and value verbatim — only over-long strings are still truncated so one field cannot flood an agent's context.
148
+
118
149
  ### Commands
119
150
 
120
151
  | Command | Description |
@@ -126,6 +157,7 @@ Other `gh secret` scopes (`--org`, `--user`, `--app`) are rejected with a clear
126
157
  | `release` | Releases — list, view, create, edit, delete |
127
158
  | `repo` | Repositories — list, view, create, edit, clone, fork |
128
159
  | `label` | Labels — list, create, edit, delete |
160
+ | `gist` | Gists — list, view, edit, rename, create, delete, clone |
129
161
  | `project` | Projects (v2) - list, view, create, edit, close, copy, items, fields |
130
162
  | `secret` | Actions secrets — list, set, delete |
131
163
  | `variable` | Actions variables — list, set, delete |
@@ -6,8 +6,16 @@ export declare function takeFlag(args: string[], flag: string): string | undefin
6
6
  export declare function hasFlag(args: string[], flag: string): boolean;
7
7
  /** Check if a boolean flag is present and remove it from args. */
8
8
  export declare function takeBoolFlag(args: string[], flag: string): boolean;
9
- /** Collect all values for a repeatable flag in --flag value or --flag=value form. */
9
+ /**
10
+ * Collect all values for a repeatable flag in --flag value or --flag=value form
11
+ * without modifying args. Throws VALIDATION_ERROR if any occurrence has a
12
+ * missing or blank value, rather than silently dropping it.
13
+ */
10
14
  export declare function getAllFlags(args: string[], flag: string): string[];
15
+ /** Like getAllFlags, but also removes every occurrence from args. */
16
+ export declare function takeAllFlags(args: string[], flag: string): string[];
17
+ /** Append a repeatable flag once per value onto a gh argv array. */
18
+ export declare function pushRepeated(ghArgs: string[], flag: string, values: string[]): void;
11
19
  /** Get the first positional arg (non-flag) starting from startIndex. */
12
20
  export declare function getPositional(args: string[], startIndex: number): string | undefined;
13
21
  /** Parse and validate a required numeric argument. */
package/dist/src/args.js CHANGED
@@ -48,22 +48,54 @@ export function takeBoolFlag(args, flag) {
48
48
  args.splice(idx, 1);
49
49
  return true;
50
50
  }
51
- /** Collect all values for a repeatable flag in --flag value or --flag=value form. */
52
- export function getAllFlags(args, flag) {
51
+ function requireFlagValue(value, flag) {
52
+ if (value.trim() === "")
53
+ throw new AxiError(`${flag} requires a value`, "VALIDATION_ERROR");
54
+ return value;
55
+ }
56
+ function collectAllFlags(args, flag, consume) {
53
57
  const result = [];
54
58
  const equalsPrefix = flagEqualsPrefix(flag);
55
- for (let i = 0; i < args.length; i++) {
59
+ let i = 0;
60
+ while (i < args.length) {
56
61
  const arg = args[i];
57
- if (arg === flag && i + 1 < args.length) {
58
- result.push(args[i + 1]);
59
- i++;
62
+ if (arg === flag) {
63
+ result.push(requireFlagValue(args[i + 1] ?? "", flag));
64
+ if (consume)
65
+ args.splice(i, 2);
66
+ else
67
+ i += 2;
60
68
  }
61
69
  else if (arg.startsWith(equalsPrefix)) {
62
- result.push(arg.slice(equalsPrefix.length));
70
+ result.push(requireFlagValue(arg.slice(equalsPrefix.length), flag));
71
+ if (consume)
72
+ args.splice(i, 1);
73
+ else
74
+ i++;
75
+ }
76
+ else {
77
+ i++;
63
78
  }
64
79
  }
65
80
  return result;
66
81
  }
82
+ /**
83
+ * Collect all values for a repeatable flag in --flag value or --flag=value form
84
+ * without modifying args. Throws VALIDATION_ERROR if any occurrence has a
85
+ * missing or blank value, rather than silently dropping it.
86
+ */
87
+ export function getAllFlags(args, flag) {
88
+ return collectAllFlags(args, flag, false);
89
+ }
90
+ /** Like getAllFlags, but also removes every occurrence from args. */
91
+ export function takeAllFlags(args, flag) {
92
+ return collectAllFlags(args, flag, true);
93
+ }
94
+ /** Append a repeatable flag once per value onto a gh argv array. */
95
+ export function pushRepeated(ghArgs, flag, values) {
96
+ for (const value of values)
97
+ ghArgs.push(flag, value);
98
+ }
67
99
  /** Get the first positional arg (non-flag) starting from startIndex. */
68
100
  export function getPositional(args, startIndex) {
69
101
  for (let i = startIndex; i < args.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,IAAY;IAClD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC3C,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,IAAY;IACnD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,IAAY;IAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,IAAY;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QACrB,MAAM,IAAI,QAAQ,CAAC,GAAG,IAAI,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CACtB,IAAc,EACd,IAAY,EACZ,OAAgB;IAEhB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBAC1B,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACpE,IAAI,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBAC1B,CAAC,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,IAAY;IACtD,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,IAAY;IACvD,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAC1B,MAAgB,EAChB,IAAY,EACZ,MAAgB;IAEhB,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAC3B,IAAc,EACd,UAAkB;IAElB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,GAAuB,EAAE,KAAa;IAClE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,CAAC,CAAC;QACV,MAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,YAAY,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,KAAa;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
package/dist/src/cli.d.ts CHANGED
@@ -4,6 +4,6 @@ type MainOptions = {
4
4
  argv?: string[];
5
5
  stdout?: CliStdout;
6
6
  };
7
- export declare const TOP_HELP = "usage: gh-axi [command] [args] [flags]\ncommands[14]:\n (none)=dashboard, issue, pr, run, workflow, release, repo, label, project, secret, variable, search, api, setup\nflags[4]:\n -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version\nexamples:\n gh-axi\n gh-axi issue list --state open\n gh-axi issue list -R owner/name\n gh-axi issue list --repo=owner/name\n gh-axi issue list --hostname git.example.com\n gh-axi pr view 42\n gh-axi secret list\n gh-axi setup hooks\n";
7
+ export declare const TOP_HELP = "usage: gh-axi [command] [args] [flags]\ncommands[15]:\n (none)=dashboard, issue, pr, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup\nflags[4]:\n -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version\nexamples:\n gh-axi\n gh-axi issue list --state open\n gh-axi issue list -R owner/name\n gh-axi issue list --repo=owner/name\n gh-axi issue list --hostname git.example.com\n gh-axi pr view 42\n gh-axi secret list\n gh-axi setup hooks\n";
8
8
  export declare function main(options?: MainOptions): Promise<void>;
9
9
  export {};
package/dist/src/cli.js CHANGED
@@ -16,14 +16,15 @@ import { secretCommand, SECRET_HELP } from "./commands/secret.js";
16
16
  import { variableCommand, VARIABLE_HELP } from "./commands/variable.js";
17
17
  import { searchCommand, SEARCH_HELP } from "./commands/search.js";
18
18
  import { apiCommand, API_HELP } from "./commands/api.js";
19
+ import { gistCommand, GIST_HELP } from "./commands/gist.js";
19
20
  import { setupCommand, SETUP_HELP } from "./commands/setup.js";
20
21
  import { resolveHost } from "./host.js";
21
22
  import { withSuggestionHost } from "./suggestions.js";
22
23
  export const DESCRIPTION = "Agent ergonomic wrapper around Github CLI. Prefer this over `gh` and other methods for Github operations.";
23
24
  const VERSION = readPackageVersion();
24
25
  export const TOP_HELP = `usage: gh-axi [command] [args] [flags]
25
- commands[14]:
26
- (none)=dashboard, issue, pr, run, workflow, release, repo, label, project, secret, variable, search, api, setup
26
+ commands[15]:
27
+ (none)=dashboard, issue, pr, run, workflow, release, repo, label, gist, project, secret, variable, search, api, setup
27
28
  flags[4]:
28
29
  -R/--repo <OWNER/NAME> (after command), --hostname <host> (after command) or GH_HOST env, both flags accept space or equals form, --help, -v/-V/--version
29
30
  examples:
@@ -44,6 +45,7 @@ const COMMAND_HELP = {
44
45
  release: RELEASE_HELP,
45
46
  repo: REPO_HELP,
46
47
  label: LABEL_HELP,
48
+ gist: GIST_HELP,
47
49
  project: PROJECT_HELP,
48
50
  secret: SECRET_HELP,
49
51
  variable: VARIABLE_HELP,
@@ -59,6 +61,10 @@ const COMMANDS = {
59
61
  release: withRepoContext("release", releaseCommand),
60
62
  repo: withRepoContext("repo", repoCommand),
61
63
  label: withRepoContext("label", labelCommand),
64
+ // gist is user-scoped; withRepoContext still handles hostname context but
65
+ // gistCommand itself never forwards ctx to ghJson — see AGENTS.md
66
+ // "User-scoped commands" section for the owner-scoped pattern.
67
+ gist: withRepoContext("gist", gistCommand),
62
68
  project: withRepoContext("project", projectCommand),
63
69
  secret: withRepoContext("secret", secretCommand),
64
70
  variable: withRepoContext("variable", variableCommand),
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GACtB,2GAA2G,CAAC;AAC9G,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;AASrC,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;CAcvB,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,UAAU;IACjB,EAAE,EAAE,OAAO;IACX,GAAG,EAAE,QAAQ;IACb,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,WAAW;IACnB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAOF,MAAM,QAAQ,GAAqC;IACjD,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC;IAC7C,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC;IACpC,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;IACvC,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC;IACnD,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC;IAC1C,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC;IAC7C,0EAA0E;IAC1E,kEAAkE;IAClE,+DAA+D;IAC/D,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC;IACnD,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC;IAChD,QAAQ,EAAE,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC;IACtD,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC;IAChD,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;IACvC,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAuB,EAAE;IAClD,MAAM,SAAS,CAAyB;QACtC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,QAAQ;QACtB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,EAAE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC;QAC7C,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;QAClD,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnE,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,yEAAyE;YACzE,oCAAoC;YACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;YACpC,CAAC;YACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,SAAS,IAAI;QACtB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;KACvC,EAAE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAEzD,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,eAAe,CACtB,OAA2B,EAC3B,OAAkB;IAElB,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACnB,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CACjC,OAAO,CACL,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,YAAY,EAChD,WAAW,CAAC,GAAG,CAAC,CACjB,CACF,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,GAAgB;IACnC,OAAO,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA2B,EAC3B,IAAc;IAMd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,QAA4B,CAAC;IACjC,IAAI,QAA4B,CAAC;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE9B,QAAQ,GAAG,KAAK,CAAC;YAEjB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;YAED,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/D,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEvC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,SAAS;QACX,CAAC;QAED,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,GAAG,KAAK,YAAY,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACpD,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;YACvE,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACxD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { RepoContext } from '../context.js';
2
- export declare const API_HELP = "usage: gh-axi api [<method>] <path>\ndescription: Make an authenticated GitHub API request. Defaults to GET if no method specified.\nmethods[6]:\n GET, POST, PUT, PATCH, DELETE, HEAD\nflags[3]:\n --field <key=value> (repeatable), --header <key:value> (repeatable), --paginate\nexamples:\n gh-axi api /repos/{owner}/{repo}\n gh-axi api POST /repos/{owner}/{repo}/issues --field title=\"Bug report\"\n gh-axi api /repos/{owner}/{repo}/pulls --paginate";
2
+ export declare const API_HELP = "usage: gh-axi api [<method>] <path>\ndescription: Make an authenticated GitHub API request. Defaults to GET if no method specified.\nmethods[6]:\n GET, POST, PUT, PATCH, DELETE, HEAD\nflags[5]:\n --field <key=value> (repeatable), --header <key:value> (repeatable), --paginate, --jq <expression>, --template <format>\nexamples:\n gh-axi api /repos/{owner}/{repo}\n gh-axi api POST /repos/{owner}/{repo}/issues --field title=\"Bug report\"\n gh-axi api /repos/{owner}/{repo}/pulls --paginate\n gh-axi api /repos/{owner}/{repo}/issues/1 --jq '[.labels[].name]'";
3
3
  export declare function apiCommand(args: string[], ctx?: RepoContext): Promise<string>;
@@ -1,19 +1,100 @@
1
1
  import { encode } from '@toon-format/toon';
2
2
  import { ghExec } from '../gh.js';
3
3
  import { AxiError } from '../errors.js';
4
- import { hasFlag, getAllFlags } from '../args.js';
5
4
  import { cleanBody } from '../body.js';
6
5
  export const API_HELP = `usage: gh-axi api [<method>] <path>
7
6
  description: Make an authenticated GitHub API request. Defaults to GET if no method specified.
8
7
  methods[6]:
9
8
  GET, POST, PUT, PATCH, DELETE, HEAD
10
- flags[3]:
11
- --field <key=value> (repeatable), --header <key:value> (repeatable), --paginate
9
+ flags[5]:
10
+ --field <key=value> (repeatable), --header <key:value> (repeatable), --paginate, --jq <expression>, --template <format>
12
11
  examples:
13
12
  gh-axi api /repos/{owner}/{repo}
14
13
  gh-axi api POST /repos/{owner}/{repo}/issues --field title="Bug report"
15
- gh-axi api /repos/{owner}/{repo}/pulls --paginate`;
14
+ gh-axi api /repos/{owner}/{repo}/pulls --paginate
15
+ gh-axi api /repos/{owner}/{repo}/issues/1 --jq '[.labels[].name]'`;
16
16
  const HTTP_METHODS = new Set(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD']);
17
+ /** Value flags that may be given more than once, each occurrence forwarded to gh. */
18
+ const REPEATABLE_VALUE_FLAGS = new Set(['--field', '--header']);
19
+ /** Value flags that gh accepts only one of, so a repeat is a caller mistake. */
20
+ const SINGLE_VALUE_FLAGS = new Set(['--jq', '--template']);
21
+ /** Flags that stand alone and must not consume the following argument. */
22
+ const BOOL_FLAGS = new Set(['--paginate']);
23
+ const SUPPORTED_FLAGS = [...REPEATABLE_VALUE_FLAGS, ...SINGLE_VALUE_FLAGS, ...BOOL_FLAGS];
24
+ /** The flag's name without any `=value` suffix, so errors never echo a value. */
25
+ function flagName(arg) {
26
+ const equals = arg.indexOf('=');
27
+ return equals === -1 ? arg : arg.slice(0, equals);
28
+ }
29
+ /**
30
+ * Walk args once, collecting positionals and flag values and rejecting anything
31
+ * unrecognised.
32
+ *
33
+ * Unknown flags used to be skipped along with the following argument, so a flag
34
+ * `gh-axi api` did not implement — `--jq` above all — silently vanished together
35
+ * with its value and the caller got an unfiltered response that looked plausible.
36
+ * Only flags known to take a value consume the next argument, which also keeps
37
+ * `--paginate <path>` from swallowing the path.
38
+ *
39
+ * This single pass is also the only place that decides which flags consume a
40
+ * value: re-scanning args afterwards gave a second, value-blind notion of the
41
+ * same thing, so `--header --jq=.x` both consumed `--jq=.x` as the header value
42
+ * and forwarded it as a jq expression.
43
+ */
44
+ function parseArgs(args) {
45
+ const parsed = {
46
+ positionals: [],
47
+ fields: [],
48
+ headers: [],
49
+ paginate: false,
50
+ };
51
+ for (let i = 0; i < args.length; i++) {
52
+ const arg = args[i];
53
+ if (!arg.startsWith('-')) {
54
+ parsed.positionals.push(arg);
55
+ continue;
56
+ }
57
+ const name = flagName(arg);
58
+ if (BOOL_FLAGS.has(name)) {
59
+ if (name !== arg)
60
+ throw new AxiError(`${name} does not take a value`, 'VALIDATION_ERROR');
61
+ parsed.paginate = true;
62
+ continue;
63
+ }
64
+ if (!REPEATABLE_VALUE_FLAGS.has(name) && !SINGLE_VALUE_FLAGS.has(name)) {
65
+ throw new AxiError(`unknown flag ${name} for gh-axi api. Supported flags: ${SUPPORTED_FLAGS.join(', ')}`, 'VALIDATION_ERROR');
66
+ }
67
+ // `--flag=value` carries its own value; `--flag value` consumes the next arg.
68
+ let value;
69
+ if (name === arg) {
70
+ if (i + 1 >= args.length)
71
+ throw new AxiError(`${name} requires a value`, 'VALIDATION_ERROR');
72
+ value = args[++i];
73
+ }
74
+ else {
75
+ value = arg.slice(name.length + 1);
76
+ }
77
+ if (name === '--field') {
78
+ parsed.fields.push(value);
79
+ }
80
+ else if (name === '--header') {
81
+ parsed.headers.push(value);
82
+ }
83
+ else {
84
+ // gh takes the last occurrence; discarding the earlier expression silently
85
+ // is the same failure this parser exists to prevent, so reject instead.
86
+ const key = name === '--jq' ? 'jq' : 'template';
87
+ if (parsed[key] !== undefined)
88
+ throw new AxiError(`${name} may only be given once`, 'VALIDATION_ERROR');
89
+ // An empty value (an unset shell variable) is a no-op filter for gh that
90
+ // would still suppress the default field stripping here.
91
+ if (value.trim() === '')
92
+ throw new AxiError(`${name} requires a value`, 'VALIDATION_ERROR');
93
+ parsed[key] = value;
94
+ }
95
+ }
96
+ return parsed;
97
+ }
17
98
  /** Maximum length for raw (non-JSON) API output before truncation. */
18
99
  const RAW_OUTPUT_TRUNCATION_LIMIT = 4000;
19
100
  /** Strings longer than this threshold are cleaned up (image/URL stripping). */
@@ -23,46 +104,43 @@ const STRING_VALUE_TRUNCATION_LIMIT = 2000;
23
104
  export async function apiCommand(args, ctx) {
24
105
  if (args[0] === '--help' || args.length === 0)
25
106
  return API_HELP;
26
- // Parse method and path from positional args
27
- const positionals = [];
28
- for (let i = 0; i < args.length; i++) {
29
- if (args[i].startsWith('--')) {
30
- i++; // skip flag value
31
- }
32
- else {
33
- positionals.push(args[i]);
34
- }
35
- }
36
- let method;
37
- let path;
38
- if (positionals.length >= 2 && HTTP_METHODS.has(positionals[0].toUpperCase())) {
39
- method = positionals[0].toUpperCase();
40
- path = positionals[1];
41
- }
42
- else if (positionals.length >= 1) {
43
- method = 'GET';
44
- path = positionals[0];
45
- }
46
- else {
47
- throw new AxiError('API path is required: gh-axi api [<method>] <path>', 'VALIDATION_ERROR');
107
+ const { positionals, fields, headers, jq, template, paginate } = parseArgs(args);
108
+ const pathRequired = new AxiError('API path is required: gh-axi api [<method>] <path>', 'VALIDATION_ERROR');
109
+ if (positionals.length === 0)
110
+ throw pathRequired;
111
+ // A positional the command cannot place is a caller typo, and dropping it
112
+ // silently requests a different endpoint than the one that was asked for.
113
+ const methodGiven = HTTP_METHODS.has(positionals[0].toUpperCase());
114
+ if (positionals.length > (methodGiven ? 2 : 1)) {
115
+ throw new AxiError('too many arguments for gh-axi api: expected [<method>] <path>', 'VALIDATION_ERROR');
48
116
  }
117
+ if (methodGiven && positionals.length < 2)
118
+ throw pathRequired;
119
+ const method = methodGiven ? positionals[0].toUpperCase() : 'GET';
120
+ const path = methodGiven ? positionals[1] : positionals[0];
49
121
  const ghArgs = ['api', path, '--method', method];
50
- const fields = getAllFlags(args, '--field');
51
122
  for (const f of fields) {
52
123
  ghArgs.push('--field', f);
53
124
  }
54
- const headers = getAllFlags(args, '--header');
55
125
  for (const h of headers) {
56
126
  ghArgs.push('--header', h);
57
127
  }
58
- if (hasFlag(args, '--paginate'))
128
+ if (paginate)
59
129
  ghArgs.push('--paginate');
130
+ if (jq !== undefined)
131
+ ghArgs.push('--jq', jq);
132
+ if (template !== undefined)
133
+ ghArgs.push('--template', template);
134
+ // A caller who wrote a jq expression or template already chose the exact shape
135
+ // they want, so noisy-field stripping would silently delete fields they asked
136
+ // for by name (`url`, `node_id`, ...). The length clamp still applies, so a
137
+ // selected field cannot blow the caller's context with an unbounded blob.
138
+ const callerShapedOutput = jq !== undefined || template !== undefined;
60
139
  // Try to parse as JSON, strip noisy fields, encode to TOON; fall back to raw output
61
140
  const raw = await ghExec(ghArgs, ctx);
62
141
  try {
63
142
  const data = JSON.parse(raw);
64
- const cleaned = stripNoisyFields(data);
65
- return encode(cleaned);
143
+ return encode(shapeOutput(data, !callerShapedOutput));
66
144
  }
67
145
  catch {
68
146
  // Not JSON — wrap in TOON envelope with truncation metadata
@@ -114,16 +192,40 @@ function collapseRepo(obj) {
114
192
  }
115
193
  return obj;
116
194
  }
117
- function stripNoisyFields(obj, depth = 0) {
195
+ /** Bound a string value's length, leaving its content untouched. */
196
+ function truncateString(value) {
197
+ if (value.length <= STRING_VALUE_TRUNCATION_LIMIT)
198
+ return value;
199
+ return value.slice(0, STRING_VALUE_TRUNCATION_LIMIT) + '... (truncated)';
200
+ }
201
+ /** Clean and truncate a long string value (e.g. bodies, comments, blobs). */
202
+ function clampString(value) {
203
+ if (value.length <= LONG_STRING_CLEANUP_THRESHOLD)
204
+ return value;
205
+ return truncateString(cleanBody(value));
206
+ }
207
+ /**
208
+ * Walk a decoded API response, bounding every string value.
209
+ *
210
+ * With `stripNoisyKeys` the noisy keys are dropped and long strings are cleaned
211
+ * as well. Output the caller shaped with --jq/--template keeps both its keys and
212
+ * its content verbatim and is only length-bounded, since rewriting a field they
213
+ * selected by name is the same silent mutation as deleting it.
214
+ */
215
+ function shapeOutput(obj, stripNoisyKeys, depth = 0) {
118
216
  if (depth > 8)
119
217
  return obj;
120
218
  if (Array.isArray(obj)) {
121
- return obj.map((item) => stripNoisyFields(item, depth + 1));
219
+ return obj.map((item) => shapeOutput(item, stripNoisyKeys, depth + 1));
122
220
  }
123
221
  if (obj !== null && typeof obj === 'object') {
124
222
  const record = obj;
125
223
  const result = {};
126
224
  for (const [key, value] of Object.entries(record)) {
225
+ if (!stripNoisyKeys) {
226
+ result[key] = shapeOutput(value, stripNoisyKeys, depth + 1);
227
+ continue;
228
+ }
127
229
  if (NOISY_KEYS.has(key))
128
230
  continue;
129
231
  if (isTemplateUrlKey(key))
@@ -138,18 +240,12 @@ function stripNoisyFields(obj, depth = 0) {
138
240
  result[key] = collapseRepo(value);
139
241
  continue;
140
242
  }
141
- result[key] = stripNoisyFields(value, depth + 1);
243
+ result[key] = shapeOutput(value, stripNoisyKeys, depth + 1);
142
244
  }
143
245
  return result;
144
246
  }
145
- // Clean and truncate long string values (e.g. bodies, comments)
146
- if (typeof obj === 'string' && obj.length > LONG_STRING_CLEANUP_THRESHOLD) {
147
- const s = cleanBody(obj);
148
- if (s.length > STRING_VALUE_TRUNCATION_LIMIT) {
149
- return s.slice(0, STRING_VALUE_TRUNCATION_LIMIT) + '... (truncated)';
150
- }
151
- return s;
152
- }
247
+ if (typeof obj === 'string')
248
+ return stripNoisyKeys ? clampString(obj) : truncateString(obj);
153
249
  return obj;
154
250
  }
155
251
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/commands/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const GIST_HELP = "usage: gh-axi gist <subcommand> [flags]\nsubcommands[7]:\n list, view <id|url>, edit <id|url>, rename <id|url> <old> <new>, create, delete <id|url>, clone <id|url>\nflags{list}:\n --limit <n> (default 100), --public, --secret, --fields <field,...>\nflags{view}:\n --files (file names only), -f/--filename <name> (single file), --full (no truncation), -r/--raw (no-op), -w/--web (rejected)\nflags{edit}:\n --filename/-f <name> (replace from piped stdin), --add/-a <path> (from disk) or --add/-a <name> - (from piped stdin), --remove/-r <name>, --desc/-d <text>\nflags{create}:\n --public (required, mutually exclusive with --secret)\n --secret (required, mutually exclusive with --public)\n --file <path> (repeatable), --filename <name> (for piped content)\n -d/--desc <text>\nexamples:\n gh-axi gist list\n gh-axi gist list --public --limit 20\n gh-axi gist list --fields url,owner,created\n gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f\n gh-axi gist view https://gist.github.com/octocat/5b0e0062eb8e9654adad7bb1d81cc75f\n gh-axi gist view 5b0e0062eb8e9654adad7bb1d81cc75f --files\n echo 'new content' | gh-axi gist edit <id|url> --filename notes.md\n echo 'new file' | gh-axi gist edit <id|url> --add new.txt -\n gh-axi gist edit <id|url> --add ./local.txt\n gh-axi gist edit <id|url> --remove old-file.txt --desc \"updated description\"\n gh-axi gist rename <id|url> old.txt new.txt\n gh-axi gist create notes.md --public --desc \"My notes\"\n gh-axi gist create --file a.py --file b.py --secret\n echo \"content\" | gh-axi gist create --filename hello.txt --public\n gh-axi gist delete <id|url>\n gh-axi gist clone <id|url>";
2
+ export declare function gistCommand(args: string[]): Promise<string>;