@blogic-cz/agent-tools 1.7.2 → 1.7.3

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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAQF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD,CAAC;AAs9GF,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CA6hBrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UA7hID,SAAS,UAAU,UAAU,KAAK,IA6hIM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YA/hIC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IA+hIjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aAjiIE,MAAM,KAAK,OAiiIgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aAniIE,MAAM,KAAK,OAmiIgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YAriIC,MAAM,KAAK,OAqiI0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YAviIC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAuiIf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YAziIC,MAAM,KAAK,OAyiIsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YA3iIC,MAAM,KAAK,MAAM,GAAG,IA2iIa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAM5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAQF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD,CAAC;AAy+GF,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CA8hBrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UAjjID,SAAS,UAAU,UAAU,KAAK,IAijIM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YAnjIC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAmjIjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aArjIE,MAAM,KAAK,OAqjIgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aAvjIE,MAAM,KAAK,OAujIgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YAzjIC,MAAM,KAAK,OAyjI0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YA3jIC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IA2jIf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YA7jIC,MAAM,KAAK,OA6jIsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YA/jIC,MAAM,KAAK,MAAM,GAAG,IA+jIa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/gh-tool/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,eAAe,EAA2C,MAAM,UAAU,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAW/C,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAYF,eAAO,MAAM,kBAAkB,qDA6B7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAuFF,eAAO,MAAM,SAAS,GAAI,CAAC,QACnB,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAAc,CAqCjD,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/gh-tool/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIvC,OAAO,EAAE,eAAe,EAA2C,MAAM,UAAU,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAW/C,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAYF,eAAO,MAAM,kBAAkB,qDA6B7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAuHF,eAAO,MAAM,SAAS,GAAI,CAAC,QACnB,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,cAAc,CAyCjD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export declare const DEFAULT_MERGE_STRATEGY: "squash";
2
2
  export declare const DEFAULT_DELETE_BRANCH: true;
3
3
  export declare const CI_CHECK_WATCH_TIMEOUT_MS: 600000;
4
+ export declare const PR_WATCH_TIMEOUT_SECONDS: 1800;
4
5
  export declare const GRAPHQL_PAGE_SIZE: 100;
5
6
  export declare const GH_BINARY: "gh";
6
7
  export declare const MERGE_STRATEGIES: readonly ["squash", "merge", "rebase"];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/gh-tool/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAG,QAAiB,CAAC;AACxD,eAAO,MAAM,qBAAqB,MAAgB,CAAC;AACnD,eAAO,MAAM,yBAAyB,EAAG,MAAgB,CAAC;AAC1D,eAAO,MAAM,iBAAiB,EAAG,GAAY,CAAC;AAC9C,eAAO,MAAM,SAAS,EAAG,IAAa,CAAC;AAEvC,eAAO,MAAM,gBAAgB,YAAI,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAEvE,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAU,CAAC;AAChF,eAAO,MAAM,oBAAoB,EAAG,SAAkB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/gh-tool/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAG,QAAiB,CAAC;AACxD,eAAO,MAAM,qBAAqB,MAAgB,CAAC;AACnD,eAAO,MAAM,yBAAyB,EAAG,MAAgB,CAAC;AAC1D,eAAO,MAAM,wBAAwB,EAAG,IAAc,CAAC;AACvD,eAAO,MAAM,iBAAiB,EAAG,GAAY,CAAC;AAC9C,eAAO,MAAM,SAAS,EAAG,IAAa,CAAC;AAEvC,eAAO,MAAM,gBAAgB,YAAI,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAEvE,eAAO,MAAM,aAAa,YAAI,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAU,CAAC;AAChF,eAAO,MAAM,oBAAoB,EAAG,SAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Schema } from "effect";
1
+ import { Runtime, Schema } from "effect";
2
2
  declare const GitHubCommandError_base: Schema.Class<GitHubCommandError, Schema.TaggedStruct<"GitHubCommandError", {
3
3
  readonly message: Schema.String;
4
4
  readonly command: Schema.String;
@@ -45,6 +45,7 @@ declare const GitHubTimeoutError_base: Schema.Class<GitHubTimeoutError, Schema.T
45
45
  readonly retryable: Schema.optionalKey<Schema.Boolean>;
46
46
  }>, import("effect/Cause").YieldableError>;
47
47
  export declare class GitHubTimeoutError extends GitHubTimeoutError_base {
48
+ readonly [Runtime.errorExitCode] = 124;
48
49
  }
49
50
  export type GitHubServiceError = GitHubCommandError | GitHubNotFoundError | GitHubAuthError | GitHubMergeError | GitHubTimeoutError;
50
51
  export type GitHubApiError = GitHubCommandError | GitHubAuthError | GitHubNotFoundError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/gh-tool/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;AAEhC,qBAAa,kBAAmB,SAAQ,uBAWvC;CAAG;;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAUxC;CAAG;;;;;;;AAEJ,qBAAa,eAAgB,SAAQ,oBAKnC;CAAG;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAYpC;CAAG;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBASvC;CAAG;AAEJ,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/gh-tool/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;AAEzC,qBAAa,kBAAmB,SAAQ,uBAWvC;CAAG;;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAUxC;CAAG;;;;;;;AAEJ,qBAAa,eAAgB,SAAQ,oBAKnC;CAAG;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAYpC;CAAG;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBASvC;IACC,QAAQ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO;CACxC;AAED,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC"}
@@ -68,11 +68,11 @@ export declare const collectLinkedPullRequestNumbers: (body: string, comments: r
68
68
  export declare const fetchIssueSnapshot: (opts: {
69
69
  issue: number;
70
70
  owner: string | null;
71
- }) => Effect.Effect<IssueSnapshot, import("#gh/service").GhError, GitHubService>;
71
+ }) => Effect.Effect<IssueSnapshot, import("../errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
72
72
  export declare const fetchIssueSnapshotBatch: (opts: {
73
73
  issues: readonly number[];
74
74
  owner: string | null;
75
- }) => Effect.Effect<IssueSnapshot[], import("#gh/service").GhError, GitHubService>;
75
+ }) => Effect.Effect<IssueSnapshot[], import("../errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
76
76
  export declare const issueTriageCommand: Command.Command<"triage", {
77
77
  readonly format: "json" | "toon";
78
78
  readonly issue: number;
@@ -84,6 +84,6 @@ export declare const issueSnapshotBatchCommand: Command.Command<"snapshot-batch"
84
84
  readonly issues: string;
85
85
  readonly owner: Option.Option<string>;
86
86
  readonly repo: Option.Option<string>;
87
- }, {}, import("#gh/service").GhError, GitHubService>;
87
+ }, {}, import("../errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
88
88
  export {};
89
89
  //# sourceMappingURL=triage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/issue/triage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/issue/triage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Context } from "effect";
2
+ import type { CheckResult } from "#gh/types";
3
+ export declare const CheckStatusCacheDirectory: Context.Reference<string | undefined>;
4
+ export declare const readCheckStatusCache: (identity: string, repo: string, pr: number, headSha: string, now: number, watchPending?: boolean, directory?: string) => Promise<CheckResult[] | null>;
5
+ export declare const writeCheckStatusCache: (identity: string, repo: string, pr: number, headSha: string, checks: CheckResult[], fetchedAt: number, directory?: string) => Promise<void>;
6
+ //# sourceMappingURL=check-status-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-status-cache.d.ts","sourceRoot":"","sources":["../../../src/gh-tool/pr/check-status-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C,eAAO,MAAM,yBAAyB,uCAGrC,CAAC;AAqBF,eAAO,MAAM,oBAAoB,aACrB,MAAM,QACV,MAAM,MACR,MAAM,WACD,MAAM,OACV,MAAM,iDAGV,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CA+C9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,MAAM,QACV,MAAM,MACR,MAAM,WACD,MAAM,UACP,WAAW,EAAE,aACV,MAAM,yBAEhB,OAAO,CAAC,IAAI,CAwCd,CAAC"}
@@ -159,7 +159,7 @@ export declare const fetchReviewTriage: (prNumber: number | null, format?: "json
159
159
  unknown: number;
160
160
  };
161
161
  };
162
- }, import("#gh/service").GhError, GitHubService>;
162
+ }, import("#gh/errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
163
163
  export declare const prViewCommand: Command.Command<"view", {
164
164
  readonly format: "json" | "toon";
165
165
  readonly pr: Option.Option<number>;
@@ -243,12 +243,13 @@ export declare const prChecksCommand: Command.Command<"checks", {
243
243
  readonly repo: Option.Option<string>;
244
244
  readonly timeout: number;
245
245
  readonly watch: boolean;
246
- }, {}, import("#gh/errors").GitHubAuthError | GitHubCommandError | import("#gh/errors").GitHubNotFoundError, GitHubService>;
246
+ }, {}, import("#gh/errors").GitHubAuthError | GitHubCommandError | import("#gh/errors").GitHubNotFoundError | import("#gh/errors").GitHubTimeoutError, GitHubService>;
247
247
  export declare const prChecksFailedCommand: Command.Command<"checks-failed", {
248
248
  readonly format: "json" | "toon";
249
249
  readonly pr: Option.Option<number>;
250
250
  readonly repo: Option.Option<string>;
251
251
  readonly withLogs: boolean;
252
+ readonly fullLogs: boolean;
252
253
  }, {}, import("#gh/service").GhError, GitHubService>;
253
254
  export declare const prWatchCommand: Command.Command<"watch", {
254
255
  readonly prs: string;
@@ -257,7 +258,7 @@ export declare const prWatchCommand: Command.Command<"watch", {
257
258
  readonly interval: number;
258
259
  readonly timeout: number;
259
260
  readonly repo: Option.Option<string>;
260
- }, {}, "timeout" | import("#gh/service").GhError, GitHubService>;
261
+ }, {}, "timeout" | import("#gh/errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
261
262
  export declare const prRerunChecksCommand: Command.Command<"rerun-checks", {
262
263
  readonly format: "json" | "toon";
263
264
  readonly pr: Option.Option<number>;
@@ -386,7 +387,7 @@ export declare const prReviewTriageCommand: Command.Command<"review-triage", {
386
387
  readonly omit: Option.Option<string>;
387
388
  readonly pr: Option.Option<number>;
388
389
  readonly repo: Option.Option<string>;
389
- }, {}, import("#gh/service").GhError, GitHubService>;
390
+ }, {}, import("#gh/errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
390
391
  export declare const prRequestReviewCommand: Command.Command<"request-review", {
391
392
  readonly format: "json" | "toon";
392
393
  readonly pr: number;
@@ -397,7 +398,7 @@ export declare const prReviewTriageBatchCommand: Command.Command<"review-triage-
397
398
  readonly format: "json" | "toon";
398
399
  readonly prs: string;
399
400
  readonly repo: Option.Option<string>;
400
- }, {}, import("#gh/service").GhError, GitHubService>;
401
+ }, {}, import("#gh/errors").GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
401
402
  export declare const prReplyAndResolveCommand: Command.Command<"reply-and-resolve", {
402
403
  readonly body: Option.Option<string>;
403
404
  readonly bodyFile: Option.Option<string>;
@@ -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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"}
@@ -1,10 +1,13 @@
1
1
  import { Effect } from "effect";
2
2
  import type { BranchPRDetail, CheckResult, FailedCheckDetail, MergeResult, MergeStrategy, PRInfo, RerunChecksReport } from "#gh/types";
3
3
  import type { GitHubAuthError, GitHubNotFoundError } from "#gh/errors";
4
- import { GitHubCommandError, GitHubMergeError } from "#gh/errors";
4
+ import { GitHubCommandError, GitHubMergeError, GitHubTimeoutError } from "#gh/errors";
5
5
  import { GitHubService } from "#gh/service";
6
6
  export declare const NO_CHECKS_REPORTED_RE: RegExp;
7
- export declare const fetchCheckResults: (pr: number | null) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError, GitHubService>;
7
+ export declare const fetchCheckResults: (pr: number | null, cache?: {
8
+ headSha: string;
9
+ watchPending?: boolean;
10
+ } | undefined) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError, GitHubService>;
8
11
  export declare const fetchPRView: (prNumber: number | null) => Effect.Effect<{
9
12
  number: number;
10
13
  url: string;
@@ -219,7 +222,7 @@ export declare const editPR: (opts: {
219
222
  headSha: string | null;
220
223
  baseSha: string | null;
221
224
  }, import("#gh/service").GhError, GitHubService>;
222
- export declare const fetchChecks: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError, GitHubService>;
225
+ export declare const fetchChecks: (pr: number | null, watch: boolean, failFast: boolean, timeoutSeconds: number, quiet?: any) => Effect.Effect<CheckResult[], GitHubAuthError | GitHubCommandError | GitHubNotFoundError | GitHubTimeoutError, GitHubService>;
223
226
  export declare const triggerChecks: (pr: number | null, workflow: string, fields: readonly string[]) => Effect.Effect<{
224
227
  triggered: false;
225
228
  pr: number;
@@ -249,7 +252,7 @@ export declare const collectWithStableState: <S, A, E1, R1, E2, R2>(initial: S,
249
252
  state: S;
250
253
  value: A;
251
254
  } | null, E1 | E2, R1 | R2>;
252
- export declare const fetchFailedChecks: (pr: number | null, withLogs?: any) => Effect.Effect<{
255
+ export declare const fetchFailedChecks: (pr: number | null, withLogs?: any, fullLogs?: any) => Effect.Effect<{
253
256
  evidence: {
254
257
  headSha: string | null;
255
258
  baseSha: string | null;
@@ -284,12 +287,12 @@ export declare const fetchChecksForCommand: (pr: number | null, watch: boolean,
284
287
  pendingChecks: CheckResult[];
285
288
  hint: string;
286
289
  nextCommands: string[];
287
- }, GitHubAuthError | GitHubCommandError | GitHubNotFoundError, GitHubService>;
290
+ }, GitHubAuthError | GitHubCommandError | GitHubNotFoundError | GitHubTimeoutError, GitHubService>;
288
291
  export declare const watchPRs: (prs: readonly number[], options: {
289
292
  intervalSeconds: number;
290
293
  timeoutSeconds: number;
291
294
  until?: "terminal";
292
- }, emit: (event: Record<string, unknown>) => Effect.Effect<void>) => Effect.Effect<undefined, "timeout" | import("#gh/service").GhError, GitHubService>;
295
+ }, emit: (event: Record<string, unknown>) => Effect.Effect<void>) => Effect.Effect<undefined, "timeout" | GitHubTimeoutError | import("#gh/service").GhError, GitHubService>;
293
296
  export declare const rerunChecks: (pr: number | null, failedOnly: boolean, options?: {
294
297
  watch?: boolean;
295
298
  timeoutSeconds?: number;
@@ -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":"AAAA,OAAO,EAA4B,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAG1E,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EAEjB,WAAW,EACX,aAAa,EACb,MAAM,EAGN,iBAAiB,EAIlB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuP5C,eAAO,MAAM,qBAAqB,QAAwB,CAAC;AAkC3D,eAAO,MAAM,iBAAiB;aAET,MAAM;mBAAiB,OAAO;yHAoEjD,CAAC;AAoKH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;iBAYuC,MAAM;;;;gDAOnE,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;iBAT4C,MAAM;;;;gDAwBnE,CAAC;AAEH,eAAO,MAAM,cAAc;UAiBf,MAAM;cACI,cAAc,EAAE;;;;;UAkI1B,QAAQ;QACK,MAAM;;;;;UAKrB,UAAU;;kGAGlB,CAAC;AAEH,eAAO,MAAM,OAAO;WACX,MAAM;WACN,MAAM;YACL,MAAM,GAAG,IAAI;UACf,MAAM,GAAG,IAAI;UACb,MAAM,GAAG,IAAI;YACX,MAAM,GAAG,IAAI;2EAkBrB,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBAvNkC,MAAM;;;;gDAsPnE,CAAC;AAEH,eAAO,MAAM,QAAQ;UACb,MAAM,GAAG,IAAI;WACZ,MAAM;UACP,MAAM;WACL,OAAO;UACR,MAAM,GAAG,IAAI;qBACF,OAAO;;;;;;;;;;;;;;;;iBA9PqC,MAAM;;;;;4HAyZnE,CAAC;AAkFH,eAAO,MAAM,OAAO;QACd,MAAM;cACA,aAAa;kBACT,OAAO;aACZ,OAAO;sBACE,MAAM;iGA0WxB,CAAC;AAEH,eAAO,MAAM,OAAO;QACd,MAAM;aACD,MAAM,GAAG,IAAI;kBACR,OAAO;;;;;;;;;;;;;;;;iBA/1BwC,MAAM;;;;gDAg3BnE,CAAC;AAEH,eAAO,MAAM,OAAO;QAAkD,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;iBAl3BpB,MAAM;;;;;gDAi4BnE,CAAC;AAEH,eAAO,MAAM,OAAO;QAAkD,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;iBAn4BpB,MAAM;;;;;gDAg5BnE,CAAC;AAEH,eAAO,MAAM,MAAM;QACb,MAAM;WACH,MAAM,GAAG,IAAI;UACd,MAAM,GAAG,IAAI;UACb,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;iBAt5B0C,MAAM;;;;gDA88BnE,CAAC;AAEH,eAAO,MAAM,WAAW,6NA4FtB,CAAC;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;gDA2DxB,CAAC;AAEH,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,WAChD,CAAC,WACD,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WACtC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,aACpC,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,KAC1C,MAAM,CAAC,MAAM,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAU5D,CAAC;AAEL,eAAO,MAAM,iBAAiB;;iBAtyCJ,MAAM,GAAG,IAAI;iBAAW,MAAM,GAAG,IAAI;;;;;QAgJzD,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;;;;;;gDAkrCV,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAv0CR,MAAM,GAAG,IAAI;iBAAW,MAAM,GAAG,IAAI;;;;;QAgJzD,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;;;;;;kGAotCV,CAAC;AAqBH,eAAO,MAAM,QAAQ;qBAES,MAAM;oBAAkB,MAAM;YAAU,UAAU;iBAChE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,4GAoO7D,CAAC;AAkEH,eAAO,MAAM,WAAW;YAGH,OAAO;qBAAmB,MAAM;gGAwLnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/gh-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,aAAa,EAA4C,MAAM,SAAS,CAAC;AA4DlF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC;;oBAK7D,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;wBAChD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;yBAC/C,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;yBACf,CAAC,CAAC,EACrB,IAAI,EAAE,gBAAgB,KACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;4BACzB,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,KAAK,CAAC;0BAC1D,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;6BACnC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,CAAC;;AAjBpD,qBAAa,aAAc,SAAQ,kBAmBF;IAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,6FA0RnB;CACH"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/gh-tool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,aAAa,EAA4C,MAAM,SAAS,CAAC;AA4DlF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC;;oBAK7D,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;wBAChD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC;yBAC/C,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;yBACf,CAAC,CAAC,EACrB,IAAI,EAAE,gBAAgB,KACnB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;4BACzB,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAAE,KAAK,CAAC;0BAC1D,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;6BACnC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,CAAC;;AAjBpD,qBAAa,aAAc,SAAQ,kBAmBF;IAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,6FAuTnB;CACH"}
@@ -114,6 +114,7 @@ export type FailedCheckJob = {
114
114
  export type FailedCheckRunContext = {
115
115
  runId: number;
116
116
  attempt: number | null;
117
+ headSha: string | null;
117
118
  url: string | null;
118
119
  workflowName: string | null;
119
120
  status: string;
@@ -200,6 +201,7 @@ export type FailedChecksReport = {
200
201
  export type WorkflowRunDetail = {
201
202
  databaseId: number;
202
203
  attempt: number | null;
204
+ headSha: string | null;
203
205
  url: string;
204
206
  workflowName: string | null;
205
207
  status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gh-tool/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gh-tool/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAY,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIlD,OAAO,EAAsB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAsC,YAAY,EAAE,MAAM,SAAS,CAAC;AAwChF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqKF,eAAO,MAAM,gBAAgB;cACjB,MAAM;SACX,MAAM;YACH,aAAa,CAAC,MAAM,CAAC;UACvB,MAAM,GAAG,IAAI;;;;;;;8CAsBnB,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;6GAyBnB,CAAC;AAKH,eAAO,MAAM,qBAAqB;cACtB,MAAM;SACX,MAAM;UACL,MAAM,GAAG,IAAI;iBACN,WAAW,CAAC,MAAM,CAAC;kHAShC,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;AAmHH,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,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AAOF,eAAO,MAAM,aAAa,2GAWxB,CAAC;AAaH,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,eAAO,MAAM,kBAAkB,YAAa,SAAS,QAAQ,EAAE,KAAG,YA6CjE,CAAC;AAuCF,eAAO,MAAM,YAAY;WAChB,MAAM;SACR,MAAM;YACH,MAAM,GAAG,IAAI;sBACH,SAAS,MAAM,EAAE,GAAG,IAAI;YAClC,aAAa,CAAC,UAAU,CAAC;qBAChB,OAAO;eACb,OAAO;YACV,MAAM;UACR,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;8CAsEnB,CAAC;AAMH,eAAO,MAAM,mBAAmB;;;;;;;kDA8C/B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;kDAaqD,CAAC;AAEtF,eAAO,MAAM,mBAAmB;;;;kDAa+C,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;kDAsB2D,CAAC;AAE5F,eAAO,MAAM,oBAAoB;;;;;kDAiBoD,CAAC;AAEtF,eAAO,MAAM,qBAAqB;;;;kDAamC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;;;kDAgD6C,CAAC;AAE7E,eAAO,MAAM,oBAAoB;;;;;;kDA6BiE,CAAC;AAEnG,eAAO,MAAM,sBAAsB;;;;;;;kDAwClC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;kDAyBtC,CAAC"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gh-tool/workflow.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export declare const retryTransient: <A, E, R>(opts: {
3
3
  attempt: () => Effect.Effect<A, E, R>;
4
4
  isTransient: (error: E) => boolean;
5
5
  maxRetries: number;
6
+ retryDelayMs?: (error: E, attempt: number, fallbackMs: number) => number;
6
7
  }) => Effect.Effect<A, E, R>;
7
8
  //# sourceMappingURL=retry-transient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry-transient.d.ts","sourceRoot":"","sources":["../../src/shared/retry-transient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI1C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ;IAC5C,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAexB,CAAC"}
1
+ {"version":3,"file":"retry-transient.d.ts","sourceRoot":"","sources":["../../src/shared/retry-transient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI1C,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ;IAC5C,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1E,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAkBxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blogic-cz/agent-tools",
3
- "version": "1.7.2",
3
+ "version": "1.7.3",
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",
@@ -1174,6 +1174,24 @@ function hasProvedPythonCompileInvocation(command: string): boolean {
1174
1174
  );
1175
1175
  }
1176
1176
 
1177
+ /** Only literal navigation may precede an unqualified writer; shell state can change what runs. */
1178
+ function isLiteralWriterHeader(command: string, pipelines: string[][][]): boolean {
1179
+ const commands = pipelines.flat();
1180
+ const writer = commands.at(-1);
1181
+ return (
1182
+ !command.includes("\r") &&
1183
+ pipelines.at(-1)?.length === 1 &&
1184
+ (writer?.[0] === "cat" || writer?.[0] === "tee") &&
1185
+ commands
1186
+ .slice(0, -1)
1187
+ .every(
1188
+ (words) =>
1189
+ (words[0] === "cd" && isStaticNavigationCommand(words)) ||
1190
+ (words.length === 1 && words[0] === "pwd"),
1191
+ )
1192
+ );
1193
+ }
1194
+
1177
1195
  /** Move a complete, literal Python stdin program into the existing inline argv boundary. */
1178
1196
  function normalizeProgramHeredocs(command: string, depth = 0): string {
1179
1197
  if (depth >= 32 || new TextEncoder().encode(command).byteLength > 65_536) return command;
@@ -1185,8 +1203,9 @@ function normalizeProgramHeredocs(command: string, depth = 0): string {
1185
1203
  const last = parsed.pipelines.at(-1)?.at(-1);
1186
1204
  const argv = last ? unwrapStaticCommand(last) : [];
1187
1205
  const name = argv[0]?.split("/").at(-1);
1206
+ // A quoted delimiter disables expansion, so a first cat/tee body is data too.
1188
1207
  if (
1189
- depth > 0 &&
1208
+ (depth > 0 || (heredoc.quoted && isLiteralWriterHeader(command, parsed.pipelines))) &&
1190
1209
  ((name === "cat" && argv.slice(1).every((arg) => arg === "--" || !arg.startsWith("-"))) ||
1191
1210
  (name === "tee" &&
1192
1211
  argv
@@ -3896,6 +3915,7 @@ export function createCredentialGuard(config?: CredentialGuardConfig): Credentia
3896
3915
  }
3897
3916
 
3898
3917
  function detectSleepPolling(command: string): string | null {
3918
+ command = normalizeProgramHeredocs(command);
3899
3919
  if (!/\bsleep\s+\d+/.test(command)) return null;
3900
3920
 
3901
3921
  for (const { pattern, suggestion } of DEFAULT_POLLING_DETECTION_RULES) {
@@ -1,4 +1,4 @@
1
- import { Effect } from "effect";
1
+ import { Clock, Effect } from "effect";
2
2
 
3
3
  import { retryTransient } from "#shared/retry-transient";
4
4
 
@@ -68,6 +68,8 @@ export type GitHubApiRequest = {
68
68
  };
69
69
 
70
70
  const MAX_API_RETRIES = 2;
71
+ const MAX_RATE_LIMIT_WAIT_MS = 60_000;
72
+ const rateLimitRetryDelays = new WeakMap<GitHubCommandError, number>();
71
73
 
72
74
  // Traverse only parsed JSON, never the caller's getters or toJSON hooks.
73
75
  const decodedBodyText = (value: unknown): string => {
@@ -142,13 +144,43 @@ const githubApiAttempt = Effect.fn("gh.githubApiAttempt")(function* <T>(
142
144
  });
143
145
  }
144
146
 
145
- return yield* new GitHubCommandError({
146
- message: apiErrorMessage(parsed, response.status),
147
+ const now = yield* Clock.currentTimeMillis;
148
+ const resetSeconds = Number(response.headers.get("x-ratelimit-reset"));
149
+ const resetDelay =
150
+ Number.isFinite(resetSeconds) && resetSeconds > 0
151
+ ? Math.max(0, resetSeconds * 1000 - now + 1000)
152
+ : undefined;
153
+ const retryAfter = response.headers.get("retry-after");
154
+ const retryAfterMs =
155
+ retryAfter === null
156
+ ? undefined
157
+ : /^\d+(?:\.\d+)?$/.test(retryAfter)
158
+ ? Number(retryAfter) * 1000
159
+ : Date.parse(retryAfter) - now;
160
+ const waitMs =
161
+ retryAfterMs !== undefined && Number.isFinite(retryAfterMs) && retryAfterMs >= 0
162
+ ? retryAfterMs
163
+ : resetDelay;
164
+ const canWait = waitMs !== undefined && waitMs <= MAX_RATE_LIMIT_WAIT_MS;
165
+ const rateLimit =
166
+ response.status === 429 ||
167
+ (response.status === 403 &&
168
+ (response.headers.get("x-ratelimit-remaining") === "0" ||
169
+ /rate limit|secondary rate limit|abuse detection/i.test(
170
+ apiErrorMessage(parsed, response.status),
171
+ )));
172
+
173
+ const error = new GitHubCommandError({
174
+ message: rateLimit
175
+ ? `${apiErrorMessage(parsed, response.status)}; reset time: ${resetDelay === undefined ? "unavailable" : new Date(resetSeconds * 1000).toISOString()}; remaining quota: ${response.headers.get("x-ratelimit-remaining") ?? "unavailable"}`
176
+ : apiErrorMessage(parsed, response.status),
147
177
  command: `${method} ${opts.path}`,
148
178
  exitCode: response.status,
149
179
  stderr: text,
150
- ...(response.status >= 500 ? { retryable: true } : {}),
180
+ ...(response.status >= 500 || (rateLimit && canWait) ? { retryable: true } : {}),
151
181
  });
182
+ if (rateLimit && canWait && waitMs !== undefined) rateLimitRetryDelays.set(error, waitMs);
183
+ return yield* error;
152
184
  });
153
185
 
154
186
  // Mirrors GitHubService.runGh: replay a transient failure, and only for an idempotent read.
@@ -190,6 +222,10 @@ export const githubApi = <T>(
190
222
  isTransient: (error) =>
191
223
  error._tag === "GitHubCommandError" && error.retryable === true && request.method === "GET",
192
224
  maxRetries: MAX_API_RETRIES,
225
+ retryDelayMs: (error, _attempt, fallbackMs) =>
226
+ error instanceof GitHubCommandError
227
+ ? Math.max(fallbackMs, rateLimitRetryDelays.get(error) ?? 0)
228
+ : fallbackMs,
193
229
  });
194
230
  });
195
231
 
@@ -1,6 +1,7 @@
1
1
  export const DEFAULT_MERGE_STRATEGY = "squash" as const;
2
2
  export const DEFAULT_DELETE_BRANCH = true as const;
3
3
  export const CI_CHECK_WATCH_TIMEOUT_MS = 600_000 as const; // 10 minutes
4
+ export const PR_WATCH_TIMEOUT_SECONDS = 1_800 as const;
4
5
  export const GRAPHQL_PAGE_SIZE = 100 as const;
5
6
  export const GH_BINARY = "gh" as const;
6
7
 
@@ -1,4 +1,4 @@
1
- import { Schema } from "effect";
1
+ import { Runtime, Schema } from "effect";
2
2
 
3
3
  export class GitHubCommandError extends Schema.TaggedError<GitHubCommandError>()(
4
4
  "GitHubCommandError",
@@ -55,7 +55,9 @@ export class GitHubTimeoutError extends Schema.TaggedError<GitHubTimeoutError>()
55
55
  nextCommand: Schema.optionalKey(Schema.String),
56
56
  retryable: Schema.optionalKey(Schema.Boolean),
57
57
  },
58
- ) {}
58
+ ) {
59
+ readonly [Runtime.errorExitCode] = 124;
60
+ }
59
61
 
60
62
  export type GitHubServiceError =
61
63
  | GitHubCommandError
@@ -0,0 +1,142 @@
1
+ import { Context } from "effect";
2
+ import { createHash, randomUUID } from "node:crypto";
3
+ import { chmod, mkdir, readFile, readdir, rename, rm, writeFile } from "node:fs/promises";
4
+ import { homedir } from "node:os";
5
+ import { join } from "node:path";
6
+
7
+ import type { CheckResult } from "#gh/types";
8
+
9
+ const CACHE_TTL_MS = 30_000;
10
+ const WATCH_PENDING_TTL_MS = 5_000;
11
+ const CACHE_DIR = join(homedir(), ".cache", "agent-tools", "gh-check-status-v1");
12
+
13
+ export const CheckStatusCacheDirectory = Context.Reference<string | undefined>(
14
+ "@agent-tools/CheckStatusCacheDirectory",
15
+ { defaultValue: () => CACHE_DIR },
16
+ );
17
+
18
+ type CacheEntry = { fetchedAt: number; checks: CheckResult[] };
19
+
20
+ const keyFor = (identity: string, repo: string, pr: number, headSha: string) =>
21
+ createHash("sha256")
22
+ .update(`${identity}\n${repo.toLowerCase()}\n${pr}\n${headSha}`)
23
+ .digest("hex");
24
+
25
+ const validChecks = (value: unknown): value is CheckResult[] =>
26
+ Array.isArray(value) &&
27
+ value.every(
28
+ (item) =>
29
+ item !== null &&
30
+ typeof item === "object" &&
31
+ typeof item.name === "string" &&
32
+ typeof item.state === "string" &&
33
+ typeof item.bucket === "string" &&
34
+ typeof item.link === "string",
35
+ );
36
+
37
+ export const readCheckStatusCache = async (
38
+ identity: string,
39
+ repo: string,
40
+ pr: number,
41
+ headSha: string,
42
+ now: number,
43
+ watchPending = false,
44
+ directory = CACHE_DIR,
45
+ ): Promise<CheckResult[] | null> => {
46
+ try {
47
+ const prefix = keyFor(identity, repo, pr, headSha);
48
+ const files = (await readdir(directory)).filter((name) => name.startsWith(`${prefix}.`));
49
+ let latest: CacheEntry | null = null;
50
+ const entries = await Promise.all(
51
+ files.map(async (name) => {
52
+ try {
53
+ return {
54
+ name,
55
+ value: JSON.parse(await readFile(join(directory, name), "utf8")) as unknown,
56
+ };
57
+ } catch {
58
+ return { name, value: null };
59
+ }
60
+ }),
61
+ );
62
+ const staleFiles: string[] = [];
63
+ for (const { name, value: entry } of entries) {
64
+ if (!name.endsWith(".json")) continue;
65
+ if (entry === null || typeof entry !== "object") continue;
66
+ const candidate = entry as Partial<CacheEntry>;
67
+ const fetchedAt = candidate.fetchedAt;
68
+ if (
69
+ typeof fetchedAt !== "number" ||
70
+ !Number.isFinite(fetchedAt) ||
71
+ !validChecks(candidate.checks) ||
72
+ candidate.checks.length === 0
73
+ ) {
74
+ staleFiles.push(join(directory, name));
75
+ continue;
76
+ }
77
+ if (fetchedAt > now || now - fetchedAt > CACHE_TTL_MS) {
78
+ staleFiles.push(join(directory, name));
79
+ continue;
80
+ }
81
+ if (watchPending && !candidate.checks.some((check) => check.bucket === "pending")) continue;
82
+ if (latest === null || fetchedAt > latest.fetchedAt)
83
+ latest = { fetchedAt, checks: candidate.checks };
84
+ }
85
+ await Promise.all(staleFiles.map((path) => rm(path, { force: true }).catch(() => undefined)));
86
+ if (latest === null || (watchPending && now - latest.fetchedAt > WATCH_PENDING_TTL_MS))
87
+ return null;
88
+ return latest.checks;
89
+ } catch {
90
+ return null;
91
+ }
92
+ };
93
+
94
+ export const writeCheckStatusCache = async (
95
+ identity: string,
96
+ repo: string,
97
+ pr: number,
98
+ headSha: string,
99
+ checks: CheckResult[],
100
+ fetchedAt: number,
101
+ directory = CACHE_DIR,
102
+ ): Promise<void> => {
103
+ if (checks.length === 0) return;
104
+ try {
105
+ await mkdir(directory, { recursive: true, mode: 0o700 });
106
+ await chmod(directory, 0o700);
107
+ await Promise.all(
108
+ (await readdir(directory))
109
+ .filter((name) => name.endsWith(".json"))
110
+ .map(async (name) => {
111
+ const path = join(directory, name);
112
+ try {
113
+ const entry: unknown = JSON.parse(await readFile(path, "utf8"));
114
+ if (
115
+ entry !== null &&
116
+ typeof entry === "object" &&
117
+ "fetchedAt" in entry &&
118
+ typeof entry.fetchedAt === "number" &&
119
+ Number.isFinite(entry.fetchedAt) &&
120
+ fetchedAt - entry.fetchedAt <= CACHE_TTL_MS
121
+ )
122
+ return;
123
+ await rm(path, { force: true });
124
+ } catch {
125
+ /* Another writer can remove a stale snapshot first. */
126
+ }
127
+ }),
128
+ );
129
+ const prefix = keyFor(identity, repo, pr, headSha);
130
+ const temporary = join(directory, `${prefix}.${process.pid}.${randomUUID()}.tmp`);
131
+ const destination = join(
132
+ directory,
133
+ `${prefix}.${fetchedAt}.${process.pid}.${randomUUID()}.json`,
134
+ );
135
+ await writeFile(temporary, JSON.stringify({ fetchedAt, checks } satisfies CacheEntry), {
136
+ mode: 0o600,
137
+ });
138
+ await rename(temporary, destination);
139
+ } catch {
140
+ // A cache write must never replace a successful GitHub response with an error.
141
+ }
142
+ };
@@ -22,6 +22,7 @@ import {
22
22
  } from "#gh/text-input";
23
23
  import {
24
24
  CI_CHECK_WATCH_TIMEOUT_MS,
25
+ PR_WATCH_TIMEOUT_SECONDS,
25
26
  DEFAULT_DELETE_BRANCH,
26
27
  DEFAULT_MERGE_STRATEGY,
27
28
  DEFAULT_REVIEW_EVENT,
@@ -913,18 +914,20 @@ export const prChecksFailedCommand = Command.make(
913
914
  ),
914
915
  repo: repoOption,
915
916
  withLogs: Flag.Boolean("with-logs").pipe(
916
- Flag.withDescription(
917
- "Inline the failed-step logs for each failed check so no follow-up job-logs call is needed",
918
- ),
917
+ Flag.withDescription("Inline a short summary from each failed step"),
918
+ Flag.withDefault(false),
919
+ ),
920
+ fullLogs: Flag.Boolean("full-logs").pipe(
921
+ Flag.withDescription("Inline all failed-step log lines; implies --with-logs"),
919
922
  Flag.withDefault(false),
920
923
  ),
921
924
  },
922
- ({ format, pr, repo, withLogs }) =>
925
+ ({ format, pr, repo, withLogs, fullLogs }) =>
923
926
  withRepo(
924
927
  repo,
925
928
  Effect.gen(function* () {
926
929
  const prNumber = Option.getOrNull(pr);
927
- const checks = yield* fetchFailedChecks(prNumber, withLogs);
930
+ const checks = yield* fetchFailedChecks(prNumber, withLogs, fullLogs);
928
931
  yield* logFormatted(checks, format);
929
932
  }),
930
933
  ),
@@ -938,13 +941,17 @@ export const prWatchCommand = Command.make(
938
941
  format: Flag.Literals("format", ["jsonl"]).pipe(Flag.withDefault("jsonl")),
939
942
  interval: Flag.Int("interval").pipe(
940
943
  Flag.withDefault(5),
944
+ Flag.withDescription("Polling interval in seconds (default: 5, range: 1..86400)"),
941
945
  Flag.filter(
942
- (n) => n >= 1 && n <= 60,
943
- () => "--interval must be 1..60 seconds",
946
+ (n) => n >= 1 && n <= 86400,
947
+ () => "--interval must be 1..86400 seconds",
944
948
  ),
945
949
  ),
946
950
  timeout: Flag.Int("timeout").pipe(
947
- Flag.withDefault(CI_CHECK_WATCH_TIMEOUT_MS / 1000),
951
+ Flag.withDefault(PR_WATCH_TIMEOUT_SECONDS),
952
+ Flag.withDescription(
953
+ "Timeout in seconds (default: 1800, minimum 1); timeout is not a CI verdict",
954
+ ),
948
955
  Flag.filter(
949
956
  (n) => n >= 1,
950
957
  () => "--timeout must be at least 1 second",
@@ -1,4 +1,5 @@
1
1
  import { Clock, Console, Duration, Effect, Option, Result } from "effect";
2
+ import { createHash } from "node:crypto";
2
3
 
3
4
  import type {
4
5
  BranchPRDetail,
@@ -17,10 +18,11 @@ import type {
17
18
  } from "#gh/types";
18
19
 
19
20
  import type { GitHubAuthError, GitHubNotFoundError } from "#gh/errors";
20
- import { GitHubCommandError, GitHubMergeError } from "#gh/errors";
21
+ import { GitHubCommandError, GitHubMergeError, GitHubTimeoutError } from "#gh/errors";
21
22
  import { GitHubService } from "#gh/service";
23
+ import { resolveGitHubToken } from "#gh/api";
22
24
  import type { GhResult } from "#gh/service";
23
- import { logText } from "#shared";
25
+ import { logFormatted, logText } from "#shared";
24
26
  import { redactSensitiveText } from "#shared/content-security";
25
27
 
26
28
  import type { ButStatusJson, PRViewJsonResult } from "./helpers";
@@ -37,6 +39,11 @@ import {
37
39
  parseRawJobLogs,
38
40
  readJobLogApi,
39
41
  } from "#gh/workflow";
42
+ import {
43
+ CheckStatusCacheDirectory,
44
+ readCheckStatusCache,
45
+ writeCheckStatusCache,
46
+ } from "./check-status-cache";
40
47
 
41
48
  const CHECK_JSON_FIELDS = "name,state,bucket,link";
42
49
  const LONG_LIVED_BRANCHES = new Set(["main", "master", "develop", "staging", "production"]);
@@ -219,7 +226,7 @@ const fetchWorkflowRunFailureContext = Effect.fn("pr.fetchWorkflowRunFailureCont
219
226
  "view",
220
227
  String(runId),
221
228
  "--json",
222
- "databaseId,attempt,url,workflowName,status,conclusion,jobs",
229
+ "databaseId,attempt,headSha,url,workflowName,status,conclusion,jobs",
223
230
  ])
224
231
  .pipe(Effect.catchTag("GitHubCommandError", () => Effect.succeed(null)));
225
232
 
@@ -245,6 +252,7 @@ const fetchWorkflowRunFailureContext = Effect.fn("pr.fetchWorkflowRunFailureCont
245
252
  const context: FailedCheckRunContext = {
246
253
  runId: run.databaseId,
247
254
  attempt: run.attempt ?? null,
255
+ headSha: run.headSha ?? null,
248
256
  url: run.url,
249
257
  workflowName: run.workflowName,
250
258
  status: run.status,
@@ -267,7 +275,35 @@ export const NO_CHECKS_REPORTED_RE = /no checks reported/i;
267
275
  const CHECK_REGISTRATION_POLL_SECONDS = 5;
268
276
  const CHECK_REGISTRATION_GRACE_SECONDS = 60;
269
277
 
270
- export const fetchCheckResults = Effect.fn("pr.fetchCheckResults")(function* (pr: number | null) {
278
+ const summarizeFailedStepEntries = (entries: Array<{ step: string; message: string }>) => {
279
+ const selected = entries
280
+ .map((entry, index) => ({
281
+ entry,
282
+ index,
283
+ rank: /assert|expected|received|actual|failed|failure|error|exception|fatal/i.test(
284
+ entry.message,
285
+ )
286
+ ? 0
287
+ : 1,
288
+ }))
289
+ .toSorted((a, b) => a.rank - b.rank || b.index - a.index)
290
+ .slice(0, 20)
291
+ .toSorted((a, b) => a.index - b.index);
292
+ const kept: Array<{ step: string; message: string }> = [];
293
+ for (const { entry } of selected.toReversed()) {
294
+ const clipped = { step: entry.step.slice(0, 80), message: entry.message.slice(0, 150) };
295
+ if (formatLogEntries([clipped, ...kept]).length <= 3_900) kept.unshift(clipped);
296
+ }
297
+ let output = formatLogEntries(kept);
298
+ if (kept.length < entries.length)
299
+ output += `\n… ${entries.length - kept.length} log lines omitted`;
300
+ return output;
301
+ };
302
+
303
+ export const fetchCheckResults = Effect.fn("pr.fetchCheckResults")(function* (
304
+ pr: number | null,
305
+ cache?: { headSha: string; watchPending?: boolean },
306
+ ) {
271
307
  const gh = yield* GitHubService;
272
308
 
273
309
  const args = ["pr", "checks"];
@@ -275,7 +311,43 @@ export const fetchCheckResults = Effect.fn("pr.fetchCheckResults")(function* (pr
275
311
  args.push(String(pr));
276
312
  }
277
313
 
278
- return yield* gh
314
+ const directory = yield* CheckStatusCacheDirectory;
315
+ const now = yield* Clock.currentTimeMillis;
316
+ let repo: string | null = null;
317
+ let identity: string | null = null;
318
+ if (cache !== undefined && pr !== null && directory !== undefined) {
319
+ const repoInfo = yield* gh.getRepoInfo().pipe(Effect.result);
320
+ const token = yield* resolveGitHubToken().pipe(Effect.result);
321
+ if (Result.isSuccess(repoInfo) && Result.isSuccess(token)) {
322
+ const host = yield* Effect.try({
323
+ try: () => new URL(repoInfo.success.url).host,
324
+ catch: () => "",
325
+ }).pipe(Effect.orElseSucceed(() => ""));
326
+ if (host.length > 0) {
327
+ const cacheRepo = `${host}/${repoInfo.success.owner}/${repoInfo.success.name}`;
328
+ const cacheIdentity = createHash("sha256").update(token.success).digest("hex");
329
+ const cached = yield* Effect.tryPromise({
330
+ try: () =>
331
+ readCheckStatusCache(
332
+ cacheIdentity,
333
+ cacheRepo,
334
+ pr,
335
+ cache.headSha,
336
+ now,
337
+ cache.watchPending,
338
+ directory,
339
+ ),
340
+ catch: () => null,
341
+ }).pipe(Effect.orElseSucceed(() => null));
342
+ if (cached !== null) return cached;
343
+ repo = cacheRepo;
344
+ identity = cacheIdentity;
345
+ }
346
+ }
347
+ }
348
+
349
+ const fetchedAt = yield* Clock.currentTimeMillis;
350
+ const checks = yield* gh
279
351
  .runGhJson<CheckResult[]>([...args, "--json", CHECK_JSON_FIELDS])
280
352
  .pipe(
281
353
  Effect.catchTag("GitHubCommandError", (error) =>
@@ -284,6 +356,20 @@ export const fetchCheckResults = Effect.fn("pr.fetchCheckResults")(function* (pr
284
356
  : Effect.fail(error),
285
357
  ),
286
358
  );
359
+ if (
360
+ cache !== undefined &&
361
+ pr !== null &&
362
+ repo !== null &&
363
+ identity !== null &&
364
+ checks.length > 0
365
+ ) {
366
+ yield* Effect.tryPromise({
367
+ try: () =>
368
+ writeCheckStatusCache(identity, repo, pr, cache.headSha, checks, fetchedAt, directory),
369
+ catch: () => undefined,
370
+ }).pipe(Effect.orElseSucceed(() => undefined));
371
+ }
372
+ return checks;
287
373
  });
288
374
 
289
375
  const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function* (
@@ -291,6 +377,7 @@ const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function
291
377
  checks: CheckResult[],
292
378
  options: {
293
379
  withLogs: boolean;
380
+ fullLogs?: boolean;
294
381
  evidence?: { headSha: string | null; baseSha: string | null } | null;
295
382
  } = { withLogs: false },
296
383
  ) {
@@ -354,12 +441,20 @@ const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function
354
441
  if (failedStepLogs === null || !("entries" in failedStepLogs) || !failedStepLogs.entries) {
355
442
  return detail;
356
443
  }
357
- const formatted = formatLogEntries(failedStepLogs.entries);
444
+ const formatted = options.fullLogs
445
+ ? formatLogEntries(failedStepLogs.entries)
446
+ : summarizeFailedStepEntries(failedStepLogs.entries);
358
447
  return formatted.length > 0
359
448
  ? {
360
449
  ...detail,
361
450
  failedStepLogs: formatted,
362
- diagnosis: diagnoseLogEntries(failedStepLogs.entries),
451
+ ...(run?.headSha !== null &&
452
+ run?.headSha !== undefined &&
453
+ evidence?.headSha !== null &&
454
+ evidence?.headSha !== undefined &&
455
+ run.headSha !== evidence.headSha
456
+ ? {}
457
+ : { diagnosis: diagnoseLogEntries(failedStepLogs.entries) }),
363
458
  }
364
459
  : detail;
365
460
  }),
@@ -375,10 +470,12 @@ const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function
375
470
  }
376
471
 
377
472
  const commands = [`bun agent-tools-gh workflow view --run ${check.runId}`];
378
- const firstFailedJob = check.run?.failedJobs[0];
379
- if (firstFailedJob) {
473
+ const matchedJob = check.run
474
+ ? matchFailedJobForCheck(check.name, check.run.failedJobs)
475
+ : null;
476
+ if (matchedJob) {
380
477
  commands.push(
381
- `bun agent-tools-gh workflow job-logs --run ${check.runId} --job ${JSON.stringify(firstFailedJob.name)} --failed-steps-only`,
478
+ `bun agent-tools-gh workflow job-logs --run ${check.runId} --job ${JSON.stringify(matchedJob.name)} --failed-steps-only`,
382
479
  );
383
480
  }
384
481
 
@@ -397,6 +494,20 @@ const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function
397
494
  ? `Detected ${failedChecks.length} failed check(s) while ${pendingChecks.length} check(s) are still running.`
398
495
  : `Detected ${failedChecks.length} failed check(s).`;
399
496
 
497
+ let remainingLogCharacters = 16_000;
498
+ const reportFailedChecks = options.fullLogs
499
+ ? enrichedFailedChecks
500
+ : enrichedFailedChecks.map((check) => {
501
+ if (check.failedStepLogs === undefined) return check;
502
+ const limit = Math.max(0, remainingLogCharacters);
503
+ remainingLogCharacters -= check.failedStepLogs.length;
504
+ return check.failedStepLogs.length <= limit
505
+ ? check
506
+ : Object.assign({}, check, {
507
+ failedStepLogs: `${check.failedStepLogs.slice(0, Math.max(0, limit - 40))}\n… report log summary omitted`,
508
+ });
509
+ });
510
+
400
511
  const hint =
401
512
  failedChecks.length === 0
402
513
  ? pendingChecks.length > 0
@@ -416,7 +527,7 @@ const buildFailedChecksReport = Effect.fn("pr.buildFailedChecksReport")(function
416
527
  pending: pendingChecks.length,
417
528
  passed: passedChecks.length,
418
529
  },
419
- failedChecks: enrichedFailedChecks,
530
+ failedChecks: reportFailedChecks,
420
531
  pendingChecks,
421
532
  hint,
422
533
  nextCommands,
@@ -1431,13 +1542,8 @@ export const fetchChecks = Effect.fn("pr.fetchChecks")(function* (
1431
1542
  watchArgs.push("--fail-fast");
1432
1543
  }
1433
1544
 
1434
- // Block for the caller's requested --timeout (no artificial cap — blocking isn't the problem;
1435
- // --timeout is validated >= 1s at the CLI boundary). On timeout return a snapshot, never
1436
- // nothing — that was the actual token-wasting bug.
1437
- // A push registers its checks a moment after the ref lands, and `gh pr checks --watch`
1438
- // exits non-zero in that window. A watch was asked to wait, so keep waiting: the outer
1439
- // timeout still bounds it, and a PR that genuinely has no checks returns an empty
1440
- // snapshot at that deadline rather than an error.
1545
+ // A push can register checks after the ref lands. Wait through that window
1546
+ // within the caller's timeout, then report the final snapshot.
1441
1547
  let watchResult: GhResult | null = null;
1442
1548
  let registered = false;
1443
1549
  let graceExpired = false;
@@ -1488,12 +1594,14 @@ export const fetchChecks = Effect.fn("pr.fetchChecks")(function* (
1488
1594
  `likely dropped, and re-watching will find nothing again — dispatch them on the PR ` +
1489
1595
  `head instead:\n agent-tools-gh pr trigger-checks --pr ${prRef} --workflow <file.yml>`,
1490
1596
  );
1491
- } else if (!quiet && watchOutcome === null && results.some((c) => c.bucket === "pending")) {
1492
- const pending = results.filter((c) => c.bucket === "pending").length;
1493
- yield* Console.warn(
1494
- `ℹ️ Watch timed out after ${timeoutSeconds}s; ${pending} check(s) still pending (snapshot returned). ` +
1495
- `Re-run to keep watching:\n ${buildChecksCommand(pr, true)}`,
1496
- );
1597
+ }
1598
+ if (watchOutcome === null && results.some((check) => check.bucket === "pending")) {
1599
+ const pending = results.filter((check) => check.bucket === "pending").length;
1600
+ yield* logFormatted(results, quiet ? "json" : "toon");
1601
+ return yield* new GitHubTimeoutError({
1602
+ message: `Watch timed out, ${pending} pending after ${timeoutSeconds}s. This is not a CI verdict.`,
1603
+ timeoutMs: timeoutSeconds * 1000,
1604
+ });
1497
1605
  }
1498
1606
  return results;
1499
1607
  }
@@ -1591,6 +1699,7 @@ export const collectWithStableState = <S, A, E1, R1, E2, R2>(
1591
1699
  export const fetchFailedChecks = Effect.fn("pr.fetchFailedChecks")(function* (
1592
1700
  pr: number | null,
1593
1701
  withLogs = false,
1702
+ fullLogs = false,
1594
1703
  ) {
1595
1704
  const initial = yield* viewPR(pr);
1596
1705
  const snapshot = yield* collectWithStableState(
@@ -1604,7 +1713,8 @@ export const fetchFailedChecks = Effect.fn("pr.fetchFailedChecks")(function* (
1604
1713
  );
1605
1714
  if (snapshot !== null) {
1606
1715
  return yield* buildFailedChecksReport(snapshot.state.number, snapshot.value, {
1607
- withLogs,
1716
+ withLogs: withLogs || fullLogs,
1717
+ fullLogs,
1608
1718
  evidence: { headSha: snapshot.state.headSha, baseSha: snapshot.state.baseSha },
1609
1719
  });
1610
1720
  }
@@ -1710,7 +1820,14 @@ export const watchPRs = Effect.fn("pr.watchPRs")(function* (
1710
1820
  const initial = yield* watchPRState(pr);
1711
1821
  const stableResult = yield* collectWithStableState(
1712
1822
  initial,
1713
- () => requireDeadline.pipe(Effect.andThen(fetchCheckResults(pr))),
1823
+ (state) =>
1824
+ requireDeadline.pipe(
1825
+ Effect.andThen(
1826
+ state.headRefOid
1827
+ ? fetchCheckResults(pr, { headSha: state.headRefOid, watchPending: true })
1828
+ : fetchCheckResults(pr),
1829
+ ),
1830
+ ),
1714
1831
  () => requireDeadline.pipe(Effect.andThen(watchPRState(pr))),
1715
1832
  (before, after) => before.headRefOid === after.headRefOid && before.state === after.state,
1716
1833
  ).pipe(Effect.result);
@@ -1769,7 +1886,13 @@ export const watchPRs = Effect.fn("pr.watchPRs")(function* (
1769
1886
  timedOut = true;
1770
1887
  break;
1771
1888
  }
1772
- const state = yield* snapshot(number);
1889
+ const remainingMs = Math.max(1, deadline - Number(yield* Clock.currentTimeMillis));
1890
+ const state = yield* snapshot(number).pipe(
1891
+ Effect.timeoutOrElse({
1892
+ duration: remainingMs,
1893
+ orElse: () => Effect.succeed("timeout" as const),
1894
+ }),
1895
+ );
1773
1896
  if (state === "timeout") {
1774
1897
  timedOut = true;
1775
1898
  break;
@@ -1869,12 +1992,27 @@ export const watchPRs = Effect.fn("pr.watchPRs")(function* (
1869
1992
  }),
1870
1993
  step: () => undefined,
1871
1994
  });
1995
+ const watcherTimedOut = terminal.size < prs.length;
1872
1996
  yield* emit({
1873
1997
  type: "watcher_terminal",
1874
1998
  repo: `${repo.owner}/${repo.name}`,
1875
- status: terminal.size === prs.length ? "terminal" : "timeout",
1999
+ status: watcherTimedOut ? "timeout" : "terminal",
1876
2000
  terminal: [...terminal].toSorted((a, b) => a - b),
2001
+ ...(watcherTimedOut
2002
+ ? {
2003
+ verdict: null,
2004
+ message: `Watch timed out, ${prs.length - terminal.size} pending. This is not a CI verdict.`,
2005
+ timeoutSeconds: options.timeoutSeconds,
2006
+ pending: prs.filter((number) => !terminal.has(number)).toSorted((a, b) => a - b),
2007
+ }
2008
+ : {}),
1877
2009
  });
2010
+ if (watcherTimedOut) {
2011
+ return yield* new GitHubTimeoutError({
2012
+ message: `Watch timed out, ${prs.length - terminal.size} pending. This is not a CI verdict.`,
2013
+ timeoutMs: options.timeoutSeconds * 1000,
2014
+ });
2015
+ }
1878
2016
  });
1879
2017
 
1880
2018
  type RerunDiscovery = RerunCheckAttempt & { status?: string };
@@ -224,6 +224,35 @@ export class GitHubService extends Context.Service<
224
224
  });
225
225
  }
226
226
 
227
+ if (/rate limit|abuse detection|HTTP 429/i.test(result.stderr)) {
228
+ const resource =
229
+ args[0] === "api"
230
+ ? args[1]?.replace(/^\//, "") === "graphql"
231
+ ? "graphql"
232
+ : args[1]?.replace(/^\//, "").startsWith("search/")
233
+ ? "search"
234
+ : "core"
235
+ : undefined;
236
+ const quotaFilter =
237
+ resource === undefined
238
+ ? '.resources | to_entries[] | "\\(.key): reset time: \\(.value.reset | todateiso8601); remaining quota: \\(.value.remaining)"'
239
+ : `.resources.${resource} | "reset time: \\(.reset | todateiso8601); remaining quota: \\(.remaining)"`;
240
+ const quota = yield* executeGh(["api", "rate_limit", "--jq", quotaFilter]).pipe(
241
+ Effect.orElseSucceed(() => null),
242
+ );
243
+ const detail =
244
+ quota?.exitCode === 0 && quota.stdout.trim()
245
+ ? quota.stdout.trim()
246
+ : "reset time: unavailable; remaining quota: unavailable (quota lookup failed)";
247
+ return yield* new GitHubCommandError({
248
+ message: `${result.stderr.trim()}; ${detail}`,
249
+ command: `gh ${args.join(" ")}`,
250
+ exitCode: result.exitCode,
251
+ stderr: result.stderr,
252
+ hint: "Wait until the quota resets before you retry. The failed command was not replayed.",
253
+ });
254
+ }
255
+
227
256
  // Transient network/5xx — flag retryable so the wrapper below can replay safe reads.
228
257
  if (NETWORK_ERROR_RE.test(result.stderr)) {
229
258
  return yield* new GitHubCommandError({
@@ -121,6 +121,7 @@ export type FailedCheckJob = {
121
121
  export type FailedCheckRunContext = {
122
122
  runId: number;
123
123
  attempt: number | null;
124
+ headSha: string | null;
124
125
  url: string | null;
125
126
  workflowName: string | null;
126
127
  status: string;
@@ -226,6 +227,7 @@ export type FailedChecksReport = {
226
227
  export type WorkflowRunDetail = {
227
228
  databaseId: number;
228
229
  attempt: number | null;
230
+ headSha: string | null;
229
231
  url: string;
230
232
  workflowName: string | null;
231
233
  status: string;
@@ -567,7 +567,15 @@ const normalizeFingerprint = (message: string) =>
567
567
  .slice(0, 240);
568
568
 
569
569
  export const diagnoseLogEntries = (entries: readonly LogEntry[]): LogDiagnosis => {
570
- const lines = entries.map((entry) => entry.message);
570
+ const fetchProgress =
571
+ /^(?:\s*(?:\*\s+\[new branch\]|\[new branch\]|From\s+\S+|\*\s+\[new tag\]|\s*->\s+origin\/)|\s*\+?git fetch\b|.*refs\/(?:heads|remotes)\/)/i;
572
+ const lines = entries
573
+ .filter(
574
+ ({ message }) =>
575
+ /fatal:|error:|failed|exception|could not resolve|connection|timed out/i.test(message) ||
576
+ !fetchProgress.test(message),
577
+ )
578
+ .map((entry) => entry.message);
571
579
  const text = lines.join("\n");
572
580
  const find = (pattern: RegExp) => lines.find((line) => pattern.test(line)) ?? null;
573
581
  const testsStarted =
@@ -6,6 +6,7 @@ export const retryTransient = <A, E, R>(opts: {
6
6
  attempt: () => Effect.Effect<A, E, R>;
7
7
  isTransient: (error: E) => boolean;
8
8
  maxRetries: number;
9
+ retryDelayMs?: (error: E, attempt: number, fallbackMs: number) => number;
9
10
  }): Effect.Effect<A, E, R> => {
10
11
  const loop = (attempt: number): Effect.Effect<A, E, R> =>
11
12
  opts
@@ -13,9 +14,12 @@ export const retryTransient = <A, E, R>(opts: {
13
14
  .pipe(
14
15
  Effect.catch((error: E) =>
15
16
  opts.isTransient(error) && attempt < opts.maxRetries
16
- ? Effect.sleep(Duration.millis(BASE_DELAY_MS * 2 ** attempt)).pipe(
17
- Effect.flatMap(() => loop(attempt + 1)),
18
- )
17
+ ? Effect.sleep(
18
+ Duration.millis(
19
+ opts.retryDelayMs?.(error, attempt, BASE_DELAY_MS * 2 ** attempt) ??
20
+ BASE_DELAY_MS * 2 ** attempt,
21
+ ),
22
+ ).pipe(Effect.flatMap(() => loop(attempt + 1)))
19
23
  : Effect.fail(error),
20
24
  ),
21
25
  );