@blogic-cz/agent-tools 1.13.1 → 1.14.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/README.md CHANGED
@@ -407,6 +407,19 @@ Reruns preflight every target before mutation and fail closed with `evidence_una
407
407
 
408
408
  Zero reported checks is a state, not an error. `gh pr checks` exits nonzero on an empty result. `stack merge`, `review-triage`, and `checks-failed` preserve `none_reported` so they do not report a green or ready PR. `pr checks` batch output includes `checksStatus: "none_reported"` and a reason. `fetchCheckResults` still maps this state to `[]` for rerun, trigger, and watch flows that handle empty results. `pr trigger-checks` covers the case where GitHub dropped the `pull_request` event and no run exists at all. It dispatches the named `workflow_dispatch` workflow **on the PR head branch**, then compares the created run's `headSha` back to the PR head and reports `matchesPrHead`. A run dispatched on the wrong ref goes green for another branch and must never be read as PR evidence, so `workflow run` also returns the discovered `runId`/`headSha` instead of a bare `dispatched: true`.
409
409
 
410
+ `pr checks --watch` waits up to 600 seconds by default. On timeout, the error names the pending checks and the `--timeout <seconds>` option.
411
+
412
+ Use `pr wait` when a PR must reach a specific state before the next action:
413
+
414
+ ```bash
415
+ bun gh-tool pr wait --pr 123 --state merged --timeout 600000
416
+ bun gh-tool pr wait --pr 123 --state closed --timeout 600000
417
+ ```
418
+
419
+ The timeout is in milliseconds and includes API reads. The command reads fresh state every five seconds and returns one result. A timeout exits with code 124. `closed` means closed without a merge. `merged` requires a merge.
420
+
421
+ `workflow job-logs --failed-steps-only` puts the last `CHECK FAIL` line first. If there is no such line, it puts the first error or failure line first. Other lines follow. `pr checks-failed --with-logs` keeps that line first in its bounded summary. Job logs come from the job endpoint. The tool reuses the metadata read that resolved the job name.
422
+
410
423
  `pr checks-failed` returns `status: "none_reported"`, the reason, and a hint when GitHub reports no checks for the stable PR head. It does not return `no_failures` for that state.
411
424
 
412
425
  `pr feedback` returns the whole inventory by default. Narrow it with `--only visible-open|needs-human-reply|current-head` (narrowed filters drop issue comments), drop bots with `--exclude-authors github-actions,dependabot`, and read `omitted` for what each filter removed. Base64 report payloads in bodies are replaced with `[base64 payload omitted]`; pass `--raw-bodies` to keep them. `review-triage --omit reviews,inlineComments` trims a repeated snapshot to the verdict and check state, and lists what it left out in `omittedSections`.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=location-operands.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location-operands.test.d.ts","sourceRoot":"","sources":["../../src/credential-guard/location-operands.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/credential-guard/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/credential-guard/registry.ts"],"names":[],"mappings":"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"}
@@ -189,6 +189,13 @@ export declare const prListCommand: Command.Command<"list", {
189
189
  readonly limit: number;
190
190
  readonly repo: Option.Option<string>;
191
191
  }, {}, import("#gh/read/transport").GhError, GitHubService>;
192
+ export declare const prWaitCommand: Command.Command<"wait", {
193
+ readonly pr: number;
194
+ readonly state: "closed" | "merged";
195
+ readonly timeout: number;
196
+ readonly format: "json" | "toon";
197
+ readonly repo: Option.Option<string>;
198
+ }, {}, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
192
199
  export declare const prWaitMergeableCommand: Command.Command<"wait-mergeable", {
193
200
  readonly format: "json" | "toon";
194
201
  readonly pr: Option.Option<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/commands.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,11 @@ export declare const waitForMergeable: (pr: number | null, timeoutSeconds: numbe
151
151
  headSha: string | null;
152
152
  baseSha: string | null;
153
153
  }, import("#gh/read/transport").GhError, GitHubService>;
154
+ export declare const waitForPRState: (pr: number, state: "closed" | "merged", timeoutMs: number) => Effect.Effect<{
155
+ number: number;
156
+ state: string;
157
+ url: string;
158
+ }, GitHubTimeoutError | import("#gh/read/transport").GhError, GitHubService>;
154
159
  export declare const createPR: (opts: {
155
160
  base: string | null;
156
161
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/core.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { prChecksCommand, prChecksFailedCommand, prCloseCommand, prCommentCommand, prEditCommentCommand, prCommentsCommand, prCreateCommand, prDiscussionSummaryCommand, prDraftCommand, prEditCommand, prCheckboxCommand, prFeedbackCommand, prIssueCommentsCommand, prIssueCommentsLatestCommand, prLastHumanReviewerCommand, prListCommand, prMergeCommand, prReadyCommand, prStackCommand, prRequestReviewCommand, prReplyCommand, prRerunChecksCommand, prReplyAndResolveCommand, prResolveCommand, prReviewCommand, prReviewsCommand, prStatusCommand, prSubmitReviewCommand, prThreadsCommand, prTriggerChecksCommand, prWaitMergeableCommand, prReviewTriageCommand, prReviewTriageBatchCommand, prViewCommand, prWatchCommand, } from "./commands";
1
+ export { prChecksCommand, prChecksFailedCommand, prCloseCommand, prCommentCommand, prEditCommentCommand, prCommentsCommand, prCreateCommand, prDiscussionSummaryCommand, prDraftCommand, prEditCommand, prCheckboxCommand, prFeedbackCommand, prIssueCommentsCommand, prIssueCommentsLatestCommand, prLastHumanReviewerCommand, prListCommand, prMergeCommand, prReadyCommand, prStackCommand, prRequestReviewCommand, prReplyCommand, prRerunChecksCommand, prReplyAndResolveCommand, prResolveCommand, prReviewCommand, prReviewsCommand, prStatusCommand, prSubmitReviewCommand, prThreadsCommand, prTriggerChecksCommand, prWaitMergeableCommand, prWaitCommand, prReviewTriageCommand, prReviewTriageBatchCommand, prViewCommand, prWatchCommand, } from "./commands";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC"}
@@ -84,6 +84,7 @@ type StepTiming = {
84
84
  export declare const readJobLogApi: (path: string) => Effect.Effect<import("./read/transport").GhResult, import("./read/transport").GhError, GitHubService>;
85
85
  export declare function parseRawJobLogs(raw: string, steps?: ReadonlyArray<StepTiming>): LogEntry[];
86
86
  export declare function formatLogEntries(entries: LogEntry[]): string;
87
+ export declare function prioritizeFailureEntries(entries: LogEntry[]): LogEntry[];
87
88
  export declare const diagnoseLogEntries: (entries: readonly LogEntry[]) => LogDiagnosis;
88
89
  export declare const fetchJobLogs: (opts: {
89
90
  runId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIxC,OAAO,EAA2C,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAsC,YAAY,EAAE,MAAM,SAAS,CAAC;AAMhF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA4GF,eAAO,MAAM,aAAa;;;;;qDAwBxB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;qDAiBpB,CAAC;AAEH,eAAO,MAAM,gBAAgB;cACjB,MAAM;SACX,MAAM;YACH,aAAa,CAAC,MAAM,CAAC;UACvB,MAAM,GAAG,IAAI;;;;;;;qDAsBnB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAKF,eAAO,MAAM,kBAAkB;cACnB,MAAM;SACX,MAAM;UACL,MAAM,GAAG,IAAI;;;;;;;uDA2BnB,CAAC;AAKH,eAAO,MAAM,qBAAqB;cACtB,MAAM;SACX,MAAM;UACL,MAAM,GAAG,IAAI;iBACN,WAAW,CAAC,MAAM,CAAC;4FAShC,CAAC;AAMH,eAAO,MAAM,gBAAgB,UACpB,MAAM,cACD;IACV,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAClF,eACY,MAAM,GAAG,IAAI,UAClB,OAAO,kBACC,MAAM;;;;;;;;;;CAiBtB,CAAC;AA0GH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAOF,eAAO,MAAM,aAAa,yHAAY,CAAC;AAavC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,aAAa,CAAC,UAAU,CAAM,GAAG,QAAQ,EAAE,CAE9F;AA6CD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAa5D;AAgBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAYxE;AAED,eAAO,MAAM,kBAAkB,YAAa,SAAS,QAAQ,EAAE,KAAG,YAqDjE,CAAC;AAuCF,eAAO,MAAM,YAAY;WAEd,MAAM;SACR,MAAM;sBACO,SAAS,MAAM,EAAE,GAAG,IAAI;YAClC,aAAa,CAAC,UAAU,CAAC;qBAChB,OAAO;eACb,OAAO;YACV,MAAM;UACR,MAAM,GAAG,IAAI;;YACN,MAAM;YAAU,KAAK;;YAAe,MAAM,GAAG,IAAI;aAAW,KAAK;;;;;;;;;;;;;;;;;;;;;;qDAsFhF,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;;;;;yDA8C/B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;yDAaqD,CAAC;AAEtF,eAAO,MAAM,mBAAmB;;;;yDAa+C,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;yDAsB2D,CAAC;AAE5F,eAAO,MAAM,oBAAoB;;;;;yDAiBoD,CAAC;AAEtF,eAAO,MAAM,qBAAqB;;;;yDAamC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;;;yDAgD6C,CAAC;AAE7E,eAAO,MAAM,oBAAoB;;;;;;8EAqCiE,CAAC;AAEnG,eAAO,MAAM,sBAAsB;;;;;;;yDAwClC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;yDAyBtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blogic-cz/agent-tools",
3
- "version": "1.13.1",
3
+ "version": "1.14.1",
4
4
  "description": "CLI tools for AI coding agent workflows — GitHub, database, Kubernetes, Azure platform, Azure DevOps, logs, sessions, and audit",
5
5
  "keywords": [
6
6
  "agent",
@@ -0,0 +1,78 @@
1
+ /* eslint-disable eslint/no-template-curly-in-string -- Shell parameter syntax is literal test input. */
2
+ import { expect, it } from "vitest";
3
+ import { createCredentialGuard } from "./index";
4
+
5
+ const guard = createCredentialGuard();
6
+ const check = (command: string): void =>
7
+ guard.handleToolExecuteBefore({ tool: "Bash" }, { args: { command } });
8
+
9
+ it.each([
10
+ "tmutil isexcluded ~/op",
11
+ "tmutil addexclusion ~/op/worktrees",
12
+ "tmutil",
13
+ "tmutil version",
14
+ "tmutil help",
15
+ "tmutil listbackups",
16
+ "tmutil latestbackup",
17
+ "tmutil destinationinfo",
18
+ "tmutil status",
19
+ "tmutil currentphase",
20
+ "tmutil startbackup",
21
+ "tmutil unknown-subcommand public",
22
+ "sudo tmutil listbackups",
23
+ "tmutil listbackups | head",
24
+ 'mdfind -onlyin "$HOME/o""p" -count x',
25
+ 'for p in ~/projects ~/op; do tmutil isexcluded "$p"; done',
26
+ ])("accepts declared location operands: %s", (command) => {
27
+ expect(() => check(command)).not.toThrow();
28
+ });
29
+
30
+ it("keeps secret-source basenames as locations in declared path roles", () => {
31
+ for (const name of ["op", "bw", "pass", "security", "printenv"]) {
32
+ for (const command of [
33
+ `tmutil isexcluded ~/projects/${name}`,
34
+ `tmutil addexclusion -p ~/projects/${name}`,
35
+ `tmutil removeexclusion -v ~/projects/${name}`,
36
+ `tmutil compare -D 2 -I op ~/projects/${name} ~/other/${name}`,
37
+ `tmutil uniquesize ~/projects/${name}`,
38
+ `tmutil calculatedrift ~/projects/${name}`,
39
+ `mdfind -onlyin ~/projects/${name} -count x`,
40
+ ]) {
41
+ expect(() => check(command)).not.toThrow();
42
+ }
43
+ }
44
+ });
45
+
46
+ it.each([
47
+ "mdfind -onlyin ~/op -count x",
48
+ "mdfind op",
49
+ "mdfind -name .env -attr password -0 -live -literal -interpret op",
50
+ ])("keeps Spotlight query and attribute text as data: %s", (command) => {
51
+ expect(() => check(command)).not.toThrow();
52
+ });
53
+
54
+ it.each([
55
+ ["unknown-cli op read x", "secret-source"],
56
+ ["unknown-cli /usr/local/bin/op read op://a/b", "secret-source"],
57
+ ["unknown-cli ~/bin/op --account a item get x", "secret-source"],
58
+ ["unknown-cli -e ~/op read x", "secret-source"],
59
+ ["unknown-cli op", "secret-source"],
60
+ ["op item get x", "secret-source"],
61
+ ["op read op://a/b", "secret-source"],
62
+ ["launchctl asuser 501 /usr/bin/printenv", "secret-source"],
63
+ ["launchctl asuser 501 /usr/bin/security dump-keychain", "secret-source"],
64
+ ["tmutil unknown-subcommand ~/op", "secret-source"],
65
+ ["tmutil restore ~/.ssh/id_rsa /tmp/x", "sensitive-path"],
66
+ ["tmutil isexcluded ~/.ssh/id_rsa", "sensitive-path"],
67
+ ["tmutil addexclusion -p .env", "sensitive-path"],
68
+ ["tmutil compare .env public", "sensitive-path"],
69
+ ["tmutil isexcluded $(op read op://a/b)", "secret-source"],
70
+ ['tmutil isexcluded "$UNKNOWN"', "opaque-path"],
71
+ ["mdfind -onlyin ~/.ssh op", "sensitive-path"],
72
+ ['mdfind -onlyin "$UNKNOWN" x', "opaque-path"],
73
+ ["mdfind -onlyin", "opaque-path"],
74
+ ["mdfind -onlyin ~/.ssh x", "sensitive-path"],
75
+ ['mdfind "$(cat ~/.ssh/id_rsa)"', "sensitive-path"],
76
+ ] as const)("refuses with the expected rule for %s", (command, rule) => {
77
+ expect(() => check(command)).toThrow(rule);
78
+ });
@@ -1906,6 +1906,91 @@ export const EXECUTABLES: readonly ExecutableEntry[] = [
1906
1906
  semantics: "listing",
1907
1907
  },
1908
1908
  { name: "basename", aliases: ["dirname"], operands: [data] },
1909
+ {
1910
+ name: "tmutil",
1911
+ operands: [path],
1912
+ subcommands: {
1913
+ ...Object.fromEntries(
1914
+ [
1915
+ "setdestination",
1916
+ "destinationinfo",
1917
+ "setquota",
1918
+ "removedestination",
1919
+ "enable",
1920
+ "disable",
1921
+ "startbackup",
1922
+ "stopbackup",
1923
+ "verifychecksums",
1924
+ "restore",
1925
+ "delete",
1926
+ "deleteinprogress",
1927
+ "latestbackup",
1928
+ "listbackups",
1929
+ "machinedirectory",
1930
+ "inheritbackup",
1931
+ "associatedisk",
1932
+ "localsnapshot",
1933
+ "listlocalsnapshots",
1934
+ "listlocalsnapshotdates",
1935
+ "deletelocalsnapshots",
1936
+ "thinlocalsnapshots",
1937
+ "help",
1938
+ "version",
1939
+ "status",
1940
+ "currentphase",
1941
+ ].map((name) => [
1942
+ name,
1943
+ {
1944
+ operands: [path],
1945
+ effect:
1946
+ name === "restore" ? unknown("unmodeled Time Machine restore operation") : "none",
1947
+ } satisfies Omit<ExecutableEntry, "name">,
1948
+ ]),
1949
+ ),
1950
+ isexcluded: { operands: [path], options: flags("-X"), effect: "none" },
1951
+ addexclusion: { operands: [path], options: flags("-p", "-v"), effect: "none" },
1952
+ removeexclusion: { operands: [path], options: flags("-p", "-v"), effect: "none" },
1953
+ compare: {
1954
+ operands: [path],
1955
+ options: {
1956
+ ...flags(
1957
+ "-@",
1958
+ "-a",
1959
+ "-c",
1960
+ "-d",
1961
+ "-e",
1962
+ "-f",
1963
+ "-g",
1964
+ "-h",
1965
+ "-l",
1966
+ "-m",
1967
+ "-n",
1968
+ "-s",
1969
+ "-t",
1970
+ "-u",
1971
+ "-E",
1972
+ "-U",
1973
+ "-X",
1974
+ ),
1975
+ "-D": arg(data),
1976
+ "-I": arg(data),
1977
+ },
1978
+ effect: "none",
1979
+ },
1980
+ uniquesize: { operands: [path], effect: "none" },
1981
+ calculatedrift: { operands: [path], effect: "none" },
1982
+ },
1983
+ },
1984
+ {
1985
+ name: "mdfind",
1986
+ operands: [data],
1987
+ options: {
1988
+ "-onlyin": arg(path),
1989
+ "-name": arg(data),
1990
+ "-attr": arg(data),
1991
+ ...flags("-count", "-0", "-live", "-literal", "-interpret"),
1992
+ },
1993
+ },
1909
1994
  {
1910
1995
  name: "ls",
1911
1996
  options: {
@@ -55,6 +55,7 @@ import {
55
55
  prReviewTriageBatchCommand,
56
56
  prReviewTriageCommand,
57
57
  prWaitMergeableCommand,
58
+ prWaitCommand,
58
59
  prWatchCommand,
59
60
  } from "./pr/index";
60
61
  import { branchRenameCommand } from "./branch";
@@ -114,6 +115,7 @@ const prCommand = Command.make("pr", {}).pipe(
114
115
  prStackCommand,
115
116
  prRequestReviewCommand,
116
117
  prWaitMergeableCommand,
118
+ prWaitCommand,
117
119
  prThreadsCommand,
118
120
  prCommentsCommand,
119
121
  prReviewsCommand,
@@ -54,6 +54,7 @@ import {
54
54
  watchPRs,
55
55
  viewPR,
56
56
  waitForMergeable,
57
+ waitForPRState,
57
58
  } from "./core";
58
59
  import {
59
60
  createReview,
@@ -585,6 +586,41 @@ export const prListCommand = Command.make(
585
586
  ),
586
587
  );
587
588
 
589
+ export const prWaitCommand = Command.make(
590
+ "wait",
591
+ {
592
+ pr: Flag.Int("pr").pipe(
593
+ Flag.filter(
594
+ (n) => n > 0,
595
+ () => "--pr must be positive",
596
+ ),
597
+ ),
598
+ state: Flag.Literals("state", ["merged", "closed"]),
599
+ timeout: Flag.Int("timeout").pipe(
600
+ Flag.withDescription("Maximum wait in milliseconds, including API reads (default: 600000)"),
601
+ Flag.withDefault(600000),
602
+ Flag.filter(
603
+ (n) => n > 0,
604
+ () => "--timeout must be positive milliseconds",
605
+ ),
606
+ ),
607
+ format: formatOption,
608
+ repo: repoOption,
609
+ },
610
+ ({ pr, state, timeout, format, repo }) =>
611
+ withRepo(
612
+ repo,
613
+ Effect.gen(function* () {
614
+ const result = yield* waitForPRState(pr, state, timeout);
615
+ yield* logFormatted(result, format);
616
+ }),
617
+ ),
618
+ ).pipe(
619
+ Command.withDescription(
620
+ "Wait for a PR to be merged or closed without merging; --timeout is in milliseconds",
621
+ ),
622
+ );
623
+
588
624
  export const prWaitMergeableCommand = Command.make(
589
625
  "wait-mergeable",
590
626
  {
@@ -267,7 +267,9 @@ export type CheckReport =
267
267
  | { checksStatus: "none_reported"; reason: string; checks: null };
268
268
 
269
269
  const summarizeFailedStepEntries = (entries: Array<{ step: string; message: string }>) => {
270
+ const first = entries[0];
270
271
  const selected = entries
272
+ .slice(1)
271
273
  .map((entry, index) => ({
272
274
  entry,
273
275
  index,
@@ -278,13 +280,15 @@ const summarizeFailedStepEntries = (entries: Array<{ step: string; message: stri
278
280
  : 1,
279
281
  }))
280
282
  .toSorted((a, b) => a.rank - b.rank || b.index - a.index)
281
- .slice(0, 20)
283
+ .slice(0, 19)
282
284
  .toSorted((a, b) => a.index - b.index);
283
285
  const kept: Array<{ step: string; message: string }> = [];
284
286
  for (const { entry } of selected.toReversed()) {
285
287
  const clipped = { step: entry.step.slice(0, 80), message: entry.message.slice(0, 150) };
286
- if (formatLogEntries([clipped, ...kept]).length <= 3_900) kept.unshift(clipped);
288
+ if (formatLogEntries([clipped, ...kept]).length <= 2_800) kept.unshift(clipped);
287
289
  }
290
+ if (first !== undefined)
291
+ kept.unshift({ step: first.step.slice(0, 80), message: first.message.slice(0, 1000) });
288
292
  let output = formatLogEntries(kept);
289
293
  if (kept.length < entries.length)
290
294
  output += `\n… ${entries.length - kept.length} log lines omitted`;
@@ -741,6 +745,26 @@ export const waitForMergeable = Effect.fn("pr.waitForMergeable")(function* (
741
745
  return outcome.kind === "done" ? outcome.value : outcome.last;
742
746
  });
743
747
 
748
+ export const waitForPRState = Effect.fn("pr.waitForPRState")(function* (
749
+ pr: number,
750
+ state: "merged" | "closed",
751
+ timeoutMs: number,
752
+ ) {
753
+ const timeout = () =>
754
+ new GitHubTimeoutError({
755
+ message: `PR #${pr} did not reach ${state} within ${timeoutMs}ms. Increase --timeout to wait longer.`,
756
+ timeoutMs,
757
+ });
758
+ const outcome = yield* waits
759
+ .until(fetchPRView(pr, "origin"), (info) => info.state === state.toUpperCase(), {
760
+ intervalMs: 5000,
761
+ timeoutMs,
762
+ })
763
+ .pipe(Effect.timeoutOrElse({ duration: timeoutMs, orElse: () => Effect.fail(timeout()) }));
764
+ if (outcome.kind === "timedOut") return yield* timeout();
765
+ return { number: outcome.value.number, state: outcome.value.state, url: outcome.value.url };
766
+ });
767
+
744
768
  export const createPR = Effect.fn("pr.createPR")(function* (opts: {
745
769
  base: string | null;
746
770
  title: string;
@@ -1541,10 +1565,11 @@ export const fetchChecks = Effect.fn("pr.fetchChecks")(function* (
1541
1565
  (watchOutcome === null || watchOutcome.kind === "timedOut") &&
1542
1566
  results.some((check) => check.bucket === "pending")
1543
1567
  ) {
1544
- const pending = results.filter((check) => check.bucket === "pending").length;
1568
+ const pendingChecks = results.filter((check) => check.bucket === "pending");
1569
+ const pending = pendingChecks.length;
1545
1570
  yield* logFormatted(results, quiet ? "json" : "toon");
1546
1571
  return yield* new GitHubTimeoutError({
1547
- message: `Watch timed out, ${pending} pending after ${timeoutSeconds}s. This is not a CI verdict.`,
1572
+ message: `Watch timed out, ${pending} pending after ${timeoutSeconds}s: ${pendingChecks.map((check) => check.name).join(", ")}. Increase --timeout <seconds> to wait longer. This is not a CI verdict.`,
1548
1573
  timeoutMs: timeoutSeconds * 1000,
1549
1574
  });
1550
1575
  }
@@ -30,6 +30,7 @@ export {
30
30
  prThreadsCommand,
31
31
  prTriggerChecksCommand,
32
32
  prWaitMergeableCommand,
33
+ prWaitCommand,
33
34
  prReviewTriageCommand,
34
35
  prReviewTriageBatchCommand,
35
36
  prViewCommand,
@@ -506,6 +506,20 @@ const normalizeFingerprint = (message: string) =>
506
506
  .trim()
507
507
  .slice(0, 240);
508
508
 
509
+ export function prioritizeFailureEntries(entries: LogEntry[]): LogEntry[] {
510
+ const checkFail = entries.findLastIndex(({ message }) => /\bCHECK FAIL\b/.test(message));
511
+ const index =
512
+ checkFail >= 0
513
+ ? checkFail
514
+ : entries.findIndex(
515
+ ({ message }) =>
516
+ /\berror\b|\(fail\)|\bfatal\b|\bexception\b|\bfailed\b|\bfailure\b/i.test(message) &&
517
+ !/Process completed with exit code/i.test(message),
518
+ );
519
+ if (index <= 0) return entries;
520
+ return [entries[index], ...entries.slice(0, index), ...entries.slice(index + 1)];
521
+ }
522
+
509
523
  export const diagnoseLogEntries = (entries: readonly LogEntry[]): LogDiagnosis => {
510
524
  const fetchProgress =
511
525
  /^(?:\s*(?:\*\s+\[new branch\]|\[new branch\]|From\s+\S+|\*\s+\[new tag\]|\s*->\s+origin\/)|\s*\+?git fetch\b|.*refs\/(?:heads|remotes)\/)/i;
@@ -658,7 +672,9 @@ export const fetchJobLogs = Effect.fn("workflow.fetchJobLogs")(function* (
658
672
  const steps = !opts.failedStepsOnly
659
673
  ? []
660
674
  : (opts.steps ??
661
- (yield* listJobs(opts.runId, opts.repo)).find((j) => j.databaseId === jobId)?.steps ??
675
+ (job === null ? yield* listJobs(opts.runId, opts.repo) : [job]).find(
676
+ (j) => j.databaseId === jobId,
677
+ )?.steps ??
662
678
  []);
663
679
  const attributed = parseAttributedJobLogs(raw, steps);
664
680
  let entries: LogEntry[] = attributed.map(({ step, message }) => ({ step, message }));
@@ -676,6 +692,8 @@ export const fetchJobLogs = Effect.fn("workflow.fetchJobLogs")(function* (
676
692
  }
677
693
  }
678
694
 
695
+ if (opts.failedStepsOnly) entries = prioritizeFailureEntries(entries);
696
+
679
697
  if (opts.diagnose) {
680
698
  return { runId: opts.runId, job: opts.job, jobId, diagnosis: diagnoseLogEntries(entries) };
681
699
  }