codex-orchestrator 2.0.4 → 2.0.5

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +29 -3
  3. package/dist/src/v2/acceptance-proof.d.ts +5 -0
  4. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  5. package/dist/src/v2/acceptance-proof.js +10 -2
  6. package/dist/src/v2/acceptance-proof.js.map +1 -1
  7. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts +7 -1
  8. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -1
  9. package/dist/src/v2/adapters/gh-pull-request-adapter.js +288 -0
  10. package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
  11. package/dist/src/v2/adapters/pull-requests.d.ts +69 -0
  12. package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/pull-requests.js +48 -0
  14. package/dist/src/v2/adapters/pull-requests.js.map +1 -1
  15. package/dist/src/v2/adapters/worktree.d.ts +1 -0
  16. package/dist/src/v2/adapters/worktree.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/worktree.js +10 -1
  18. package/dist/src/v2/adapters/worktree.js.map +1 -1
  19. package/dist/src/v2/cli.d.ts +9 -0
  20. package/dist/src/v2/cli.d.ts.map +1 -1
  21. package/dist/src/v2/cli.js +38 -11
  22. package/dist/src/v2/cli.js.map +1 -1
  23. package/dist/src/v2/config.d.ts +0 -1
  24. package/dist/src/v2/config.d.ts.map +1 -1
  25. package/dist/src/v2/config.js +0 -3
  26. package/dist/src/v2/config.js.map +1 -1
  27. package/dist/src/v2/containment.d.ts +11 -2
  28. package/dist/src/v2/containment.d.ts.map +1 -1
  29. package/dist/src/v2/containment.js +35 -7
  30. package/dist/src/v2/containment.js.map +1 -1
  31. package/dist/src/v2/direct-delivery.d.ts +1 -1
  32. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  33. package/dist/src/v2/direct-delivery.js +9 -3
  34. package/dist/src/v2/direct-delivery.js.map +1 -1
  35. package/dist/src/v2/review-feedback-coordinator.d.ts +54 -0
  36. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -0
  37. package/dist/src/v2/review-feedback-coordinator.js +245 -0
  38. package/dist/src/v2/review-feedback-coordinator.js.map +1 -0
  39. package/dist/src/v2/review-feedback.d.ts +127 -0
  40. package/dist/src/v2/review-feedback.d.ts.map +1 -0
  41. package/dist/src/v2/review-feedback.js +436 -0
  42. package/dist/src/v2/review-feedback.js.map +1 -0
  43. package/dist/src/v2/run-issue.d.ts +57 -0
  44. package/dist/src/v2/run-issue.d.ts.map +1 -1
  45. package/dist/src/v2/run-issue.js +701 -36
  46. package/dist/src/v2/run-issue.js.map +1 -1
  47. package/dist/src/v2/run-store.d.ts +45 -1
  48. package/dist/src/v2/run-store.d.ts.map +1 -1
  49. package/dist/src/v2/run-store.js +113 -4
  50. package/dist/src/v2/run-store.js.map +1 -1
  51. package/dist/src/v2/runtime.d.ts +37 -0
  52. package/dist/src/v2/runtime.d.ts.map +1 -1
  53. package/dist/src/v2/runtime.js +120 -5
  54. package/dist/src/v2/runtime.js.map +1 -1
  55. package/dist/src/v2/setup.js +1 -1
  56. package/dist/src/v2/setup.js.map +1 -1
  57. package/docs/deep-dive.md +61 -5
  58. package/internal-workflow/docs/agents/contract-test-ledger.md +11 -1
  59. package/internal-workflow/evals/coding-skill-evals.json +18 -0
  60. package/internal-workflow/manifest.json +1 -1
  61. package/internal-workflow/skills/code-debugger/SKILL.md +3 -3
  62. package/internal-workflow/skills/code-review/SKILL.md +18 -6
  63. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +1 -1
  64. package/internal-workflow/skills/spec-implementer/references/review-loop.md +7 -1
  65. package/internal-workflow/skills/tdd/SKILL.md +5 -4
  66. package/internal-workflow/skills/tdd/evals/evals.json +18 -0
  67. package/internal-workflow/skills/tdd/mocking.md +3 -42
  68. package/internal-workflow/skills/tdd/refactoring.md +6 -8
  69. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -6,7 +6,24 @@ The format is based on Keep a Changelog, and this project follows SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.5] - 2026-07-28
10
+
11
+ ### Added
12
+ - Added durable continuation of successful direct runs from newly observed,
13
+ trusted unresolved pull-request feedback. The same run now freezes an
14
+ immutable batch, reuses affected Closure, reruns checks and Acceptance Proof,
15
+ and appends one fast-forward commit plus one marker-bound summary to the same
16
+ draft PR.
17
+
9
18
  ### Changed
19
+ - Removed the configured Codex CLI version pin. Setup and runtime now use the
20
+ installed `codex` command, while the containment canary binds its actual
21
+ version, canonical executable path and digest, plus the orchestrator package
22
+ version, and rejects a stale certificate after any of those identities change.
23
+ - The daemon now discovers both `agent:auto` and `agent:review` issues, while
24
+ suppressing unchanged `review-ready` output only within the current process.
25
+ - Run state now emits schema version 2 and losslessly reads version 1; migrated
26
+ `review-ready` runs baseline existing feedback without executing it.
10
27
  - Replaced overlapping legacy live-smoke profiles and scenario aliases with a
11
28
  single supplemental `v2-regression` matrix whose scenarios each exercise a
12
29
  distinct current V2 policy, recovery, diagnostics, proof, or quality gate.
@@ -31,6 +48,12 @@ The format is based on Keep a Changelog, and this project follows SemVer.
31
48
  planning artifacts. The repository and package now contain only the current
32
49
  V2 runtime and contracts.
33
50
 
51
+ ### Security
52
+ - Review bodies can authorize repair only when bound to the exact PR head and a
53
+ fresh immutable-user `write` or `admin` permission receipt. Source, permission,
54
+ ref, worktree, or publication drift fails closed; no thread-resolution or
55
+ force-push authority was added.
56
+
34
57
  ## [2.0.3] - 2026-07-18
35
58
 
36
59
  ### Changed
package/README.md CHANGED
@@ -19,7 +19,7 @@ Ordinary technical choices do not stop the run. A human question is reserved for
19
19
  - Node.js 18 or newer
20
20
  - `git`
21
21
  - an authenticated [GitHub CLI](https://cli.github.com/) (`gh auth status`)
22
- - the configured Codex CLI version and an authenticated parent Codex installation
22
+ - an installed Codex CLI and an authenticated parent Codex installation
23
23
  - a GitHub repository with a usable `origin` remote
24
24
 
25
25
  The target path passed to every command must be absolute.
@@ -120,8 +120,34 @@ Run exactly one polling pass—for example from cron or another scheduler—with
120
120
  npx codex-orchestrator daemon --target "$PWD" --once
121
121
  ```
122
122
 
123
+ For a bounded one-shot daemon check of one discovered candidate, add
124
+ `--issue <number>` after `--once`. Continuous daemon mode intentionally has no
125
+ issue filter.
126
+
123
127
  The daemon uses the same lifecycle as `run`; it does not have a less strict execution path.
124
128
 
129
+ ### Continue from pull-request review feedback
130
+
131
+ After a direct-delivery run reaches `review-ready`, the daemon also polls issues
132
+ with `agent:review`. A quiet PR remains effect-free. When the same marker-bound,
133
+ same-repository draft PR receives a new unresolved inline thread root or a
134
+ non-empty `CHANGES_REQUESTED` review from a current repository writer or admin,
135
+ the Runner freezes that exact feedback batch and resumes the existing run.
136
+
137
+ The repair uses the existing implementation and affected Closure flow, then
138
+ reruns configured checks and Acceptance Proof against the repaired content. It
139
+ has a separate maximum of three feedback rounds and does not consume the
140
+ original five implementation cycles. Publication appends one fast-forward
141
+ commit to the existing branch and PR; divergence blocks without reset, rebase,
142
+ amend, or force-push recovery.
143
+
144
+ Feedback is re-read with fresh permission before workers and publication
145
+ effects. Edited, deleted, revoked, wrong-head, cross-repository, bot, resolved,
146
+ outdated, ordinary conversation, and read-only feedback cannot authorize work.
147
+ The Runner posts one marker-bound PR summary after success, but it never resolves
148
+ review threads or claims human approval. Thread resolution remains a reviewer
149
+ action.
150
+
125
151
  ## Labels and visible outcomes
126
152
 
127
153
  The default labels are:
@@ -138,7 +164,7 @@ Important command results:
138
164
 
139
165
  | Result | What to do |
140
166
  | --- | --- |
141
- | `review-ready` | Open the returned draft PR URL and review the change. |
167
+ | `review-ready` | Open the returned draft PR URL and review the change; later trusted unresolved feedback may resume the same run and PR. |
142
168
  | `spec-frozen` | Use the returned frozen specification receipt as the authority for a later implementation workflow. |
143
169
  | `awaiting-user` | Reply to the issue using the returned answer prefix. Re-run the command or let the daemon pick it up. |
144
170
  | `not-eligible` | Check that the issue is open, has only the appropriate authorization label, and has no existing open PR for its branch. |
@@ -159,7 +185,7 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
159
185
  - `deny.readPaths`: paths the worker must not read or modify.
160
186
  - `deny.commands`: absolute command paths that must not be exposed to the worker.
161
187
 
162
- `runner.maxCycles`, the branch template, required Codex version, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs.
188
+ `runner.maxCycles`, the branch template, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. There is no configured Codex version pin: the Runner uses the installed `codex` command, and the containment canary binds its actual version, canonical executable path and digest, plus the orchestrator package version in the certificate.
163
189
 
164
190
  ## Safety model in plain language
165
191
 
@@ -55,6 +55,10 @@ export declare class ProofQuiescenceError extends Error {
55
55
  readonly waitForAbsence: () => Promise<void>;
56
56
  constructor(pid: number, processGroupId: number, waitForAbsence: () => Promise<void>);
57
57
  }
58
+ export declare class ProofLaunchAuthorizationError extends Error {
59
+ readonly outcome: unknown;
60
+ constructor(outcome: unknown);
61
+ }
58
62
  export type ProveChangeResult = {
59
63
  status: 'passed';
60
64
  receipt: ProofReceipt;
@@ -101,6 +105,7 @@ export declare class AcceptanceProof {
101
105
  frozenCriteria: FrozenCriterion[];
102
106
  checkedChange: CheckedChange;
103
107
  workflowGeneration?: WorkflowGenerationReceipt;
108
+ beforeAgentLaunch?: () => Promise<void>;
104
109
  }): Promise<ProveChangeResult>;
105
110
  private execute;
106
111
  private validateArtifactsAndDiff;
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,13 @@ export class ProofQuiescenceError extends Error {
13
13
  this.waitForAbsence = waitForAbsence;
14
14
  }
15
15
  }
16
+ export class ProofLaunchAuthorizationError extends Error {
17
+ outcome;
18
+ constructor(outcome) {
19
+ super('proof launch authorization failed');
20
+ this.outcome = outcome;
21
+ }
22
+ }
16
23
  export class AcceptanceProof {
17
24
  dependencies;
18
25
  constructor(dependencies) {
@@ -40,7 +47,7 @@ export class AcceptanceProof {
40
47
  return result;
41
48
  }
42
49
  catch (error) {
43
- if (error instanceof ProofQuiescenceError)
50
+ if (error instanceof ProofQuiescenceError || error instanceof ProofLaunchAuthorizationError)
44
51
  throw error;
45
52
  return { status: 'internal-error', receipt: emptyReceipt(input.proofId, bindingSha256, 'Acceptance proof failed internally.') };
46
53
  }
@@ -97,6 +104,7 @@ export class AcceptanceProof {
97
104
  const purpose = state.attempts.at(-1).purpose;
98
105
  let agentResult;
99
106
  try {
107
+ await input.beforeAgentLaunch?.();
100
108
  agentResult = await this.dependencies.proofAgent.run({
101
109
  proofId: input.proofId,
102
110
  runId: input.payload.runId,
@@ -112,7 +120,7 @@ export class AcceptanceProof {
112
120
  });
113
121
  }
114
122
  catch (error) {
115
- if (error instanceof ProofQuiescenceError)
123
+ if (error instanceof ProofQuiescenceError || error instanceof ProofLaunchAuthorizationError)
116
124
  throw error;
117
125
  return this.persistOperationalTerminal(state, 'internal-error', input, 'Proof agent failed internally.');
118
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof.js","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance-proof.js","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CommandExecutor } from './gh-cli.js';
2
- import type { CreateDraftPullRequestInput, GitHubPullRequest, GitHubPullRequestAdapter, GitHubPullRequestDetails } from './pull-requests.js';
2
+ import type { CreateDraftPullRequestInput, GitHubPullRequest, GitHubPullRequestAdapter, GitHubPullRequestConversationComment, GitHubPullRequestDetails, GitHubPullRequestReviewTarget, GitHubPullRequestReviewThread, GitHubSubmittedPullRequestReview } from './pull-requests.js';
3
3
  export declare class GhCliPullRequestAdapter implements GitHubPullRequestAdapter {
4
4
  private readonly owner;
5
5
  private readonly repo;
@@ -10,5 +10,11 @@ export declare class GhCliPullRequestAdapter implements GitHubPullRequestAdapter
10
10
  getPullRequest(number: number): Promise<GitHubPullRequest | undefined>;
11
11
  findMergedPullRequestByHeadBranch(headBranch: string): Promise<GitHubPullRequest | undefined>;
12
12
  findOpenPullRequestByHeadAndBase(headBranch: string, baseBranch: string): Promise<GitHubPullRequest | undefined>;
13
+ getReviewTarget(number: number): Promise<GitHubPullRequestReviewTarget | undefined>;
14
+ listReviewThreads(number: number): Promise<GitHubPullRequestReviewThread[]>;
15
+ listSubmittedReviews(number: number): Promise<GitHubSubmittedPullRequestReview[]>;
16
+ listConversationComments(number: number): Promise<GitHubPullRequestConversationComment[]>;
17
+ postConversationComment(number: number, body: string): Promise<GitHubPullRequestConversationComment>;
18
+ private listBoundedRestCollection;
13
19
  }
14
20
  //# sourceMappingURL=gh-pull-request-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-pull-request-adapter.d.ts","sourceRoot":"","sources":["../../../../src/v2/adapters/gh-pull-request-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,uBAAwB,YAAW,wBAAwB;IACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAmC;IAMhF,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAe5E,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+BtF,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IActE,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA8B7F,gCAAgC,CAC3C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAoB1C"}
1
+ {"version":3,"file":"gh-pull-request-adapter.d.ts","sourceRoot":"","sources":["../../../../src/v2/adapters/gh-pull-request-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,oCAAoC,EACpC,wBAAwB,EAExB,6BAA6B,EAC7B,6BAA6B,EAE7B,gCAAgC,EACjC,MAAM,oBAAoB,CAAC;AAM5B,qBAAa,uBAAwB,YAAW,wBAAwB;IACtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAmC;IAMhF,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAe5E,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+BtF,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IActE,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IA8B7F,gCAAgC,CAC3C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAqB5B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC;IAyCnF,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IA8C3E,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;IAOjF,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,EAAE,CAAC;IAOzF,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oCAAoC,CAAC;YAYnG,yBAAyB;CAexC"}
@@ -1,4 +1,7 @@
1
1
  import { defaultGhExecutor } from './gh-cli.js';
2
+ const MAX_PAGES = 20;
3
+ const MAX_ITEMS = 2_000;
4
+ const MAX_TEXT_LENGTH = 131_072;
2
5
  export class GhCliPullRequestAdapter {
3
6
  owner;
4
7
  repo;
@@ -106,6 +109,285 @@ export class GhCliPullRequestAdapter {
106
109
  const pullRequests = JSON.parse(result.stdout);
107
110
  return pullRequests[0];
108
111
  }
112
+ async getReviewTarget(number) {
113
+ const result = await this.executor('gh', [
114
+ 'api', 'graphql',
115
+ '-f', `owner=${this.owner}`,
116
+ '-f', `repo=${this.repo.slice(this.owner.length + 1)}`,
117
+ '-F', `number=${number}`,
118
+ '-f', 'query=query($owner:String!,$repo:String!,$number:Int!){repository(owner:$owner,name:$repo){id name owner{id login} pullRequest(number:$number){id databaseId number url state isDraft isCrossRepository headRefName headRefOid baseRefName title body authorAssociation}}}',
119
+ ]);
120
+ const root = objectField(objectValue(JSON.parse(result.stdout), 'GitHub GraphQL response'), 'data');
121
+ const repositoryValue = root.repository;
122
+ if (repositoryValue === null)
123
+ return undefined;
124
+ const repository = objectValue(repositoryValue, 'GitHub GraphQL repository');
125
+ const pullRequestValue = repository.pullRequest;
126
+ if (pullRequestValue === null)
127
+ return undefined;
128
+ const pullRequest = objectValue(pullRequestValue, 'GitHub GraphQL pullRequest');
129
+ const owner = objectField(repository, 'owner');
130
+ const state = stringField(pullRequest, 'state');
131
+ if (!['OPEN', 'CLOSED', 'MERGED'].includes(state)) {
132
+ throw new Error('GitHub GraphQL pullRequest state is invalid');
133
+ }
134
+ return {
135
+ repository: {
136
+ nodeId: stringField(repository, 'id'),
137
+ name: stringField(repository, 'name'),
138
+ owner: { nodeId: stringField(owner, 'id'), login: stringField(owner, 'login') },
139
+ },
140
+ number: numberField(pullRequest, 'number'),
141
+ nodeId: stringField(pullRequest, 'id'),
142
+ url: stringField(pullRequest, 'url'),
143
+ state: state,
144
+ isDraft: booleanField(pullRequest, 'isDraft'),
145
+ isCrossRepository: booleanField(pullRequest, 'isCrossRepository'),
146
+ headRefName: stringField(pullRequest, 'headRefName'),
147
+ headRefOid: stringField(pullRequest, 'headRefOid'),
148
+ baseRefName: stringField(pullRequest, 'baseRefName'),
149
+ title: stringField(pullRequest, 'title'),
150
+ body: stringField(pullRequest, 'body'),
151
+ authorAssociation: stringField(pullRequest, 'authorAssociation'),
152
+ };
153
+ }
154
+ async listReviewThreads(number) {
155
+ const threads = [];
156
+ let cursor;
157
+ for (let page = 0; page < MAX_PAGES; page += 1) {
158
+ const result = await this.executor('gh', [
159
+ 'api', 'graphql',
160
+ '-f', `owner=${this.owner}`,
161
+ '-f', `repo=${this.repo.slice(this.owner.length + 1)}`,
162
+ '-F', `number=${number}`,
163
+ ...(cursor ? ['-f', `cursor=${cursor}`] : []),
164
+ '-f', 'query=query ReviewThreads($owner:String!,$repo:String!,$number:Int!,$cursor:String){repository(owner:$owner,name:$repo){pullRequest(number:$number){reviewThreads(first:100,after:$cursor){nodes{id isResolved isOutdated path line comments(first:100){nodes{id databaseId url body createdAt updatedAt author{__typename ... on User{id databaseId login} ... on Bot{id login}} commit{oid} originalCommit{oid}} pageInfo{hasNextPage endCursor}}} pageInfo{hasNextPage endCursor}}}}}',
165
+ ]);
166
+ const connection = reviewThreadsConnection(result.stdout);
167
+ for (const rawThread of arrayField(connection, 'nodes')) {
168
+ const thread = normalizeReviewThread(rawThread);
169
+ const raw = objectValue(rawThread, 'GitHub review thread');
170
+ const commentsConnection = objectField(raw, 'comments');
171
+ let comments = thread.comments;
172
+ let commentsPageInfo = pageInfo(commentsConnection, 'review thread comments');
173
+ let commentsCursor = commentsPageInfo.endCursor;
174
+ for (let commentPage = 1; commentsPageInfo.hasNextPage; commentPage += 1) {
175
+ if (commentPage >= MAX_PAGES || !commentsCursor) {
176
+ throw new Error('GitHub review thread comments pagination exceeded its bound or omitted endCursor');
177
+ }
178
+ const commentsResult = await this.executor('gh', [
179
+ 'api', 'graphql', '-f', `threadId=${thread.nodeId}`, '-f', `cursor=${commentsCursor}`,
180
+ '-f', 'query=query ReviewThreadComments($threadId:ID!,$cursor:String!){node(id:$threadId){... on PullRequestReviewThread{comments(first:100,after:$cursor){nodes{id databaseId url body createdAt updatedAt author{__typename ... on User{id databaseId login} ... on Bot{id login}} commit{oid} originalCommit{oid}} pageInfo{hasNextPage endCursor}}}}}',
181
+ ]);
182
+ const commentsRoot = objectField(graphqlData(commentsResult.stdout), 'node');
183
+ const nextConnection = objectField(commentsRoot, 'comments');
184
+ comments = comments.concat(arrayField(nextConnection, 'nodes').map(normalizeReviewComment));
185
+ requireItemBound(comments.length, 'review thread comments');
186
+ commentsPageInfo = pageInfo(nextConnection, 'review thread comments');
187
+ commentsCursor = commentsPageInfo.endCursor;
188
+ }
189
+ threads.push({ ...thread, comments });
190
+ requireItemBound(threads.length, 'review threads');
191
+ }
192
+ const info = pageInfo(connection, 'review threads');
193
+ if (!info.hasNextPage)
194
+ return threads;
195
+ if (!info.endCursor)
196
+ throw new Error('GitHub review threads pagination omitted endCursor');
197
+ cursor = info.endCursor;
198
+ }
199
+ throw new Error('GitHub review threads pagination exceeded its page bound');
200
+ }
201
+ async listSubmittedReviews(number) {
202
+ return (await this.listBoundedRestCollection(`repos/${this.repo}/pulls/${number}/reviews`, 'GitHub pull request reviews')).map(normalizeSubmittedReview);
203
+ }
204
+ async listConversationComments(number) {
205
+ return (await this.listBoundedRestCollection(`repos/${this.repo}/issues/${number}/comments`, 'GitHub pull request conversation comments')).map(normalizeConversationComment);
206
+ }
207
+ async postConversationComment(number, body) {
208
+ boundedText(body, 'pull request conversation comment body');
209
+ await this.executor('gh', [
210
+ 'api', '--method', 'POST', `repos/${this.repo}/issues/${number}/comments`, '-f', `body=${body}`,
211
+ ]);
212
+ const matches = (await this.listConversationComments(number)).filter((comment) => comment.body === body);
213
+ if (matches.length !== 1) {
214
+ throw new Error(`Posted pull request conversation comment read-back was ${matches.length === 0 ? 'missing' : 'ambiguous'}`);
215
+ }
216
+ return matches[0];
217
+ }
218
+ async listBoundedRestCollection(endpoint, description) {
219
+ const items = [];
220
+ for (let page = 1; page <= MAX_PAGES; page += 1) {
221
+ const result = await this.executor('gh', [
222
+ 'api', '--method', 'GET', endpoint,
223
+ '-f', 'per_page=100', '-f', `page=${page}`,
224
+ '--jq', '.[] | .id = (.id | tostring) | if .user then .user.id = (.user.id | tostring) else . end',
225
+ ]);
226
+ const next = parseJsonLines(result.stdout, description);
227
+ items.push(...next);
228
+ requireItemBound(items.length, description);
229
+ if (next.length < 100)
230
+ return items;
231
+ }
232
+ throw new Error(`${description} pagination exceeded its page bound`);
233
+ }
234
+ }
235
+ function reviewThreadsConnection(stdout) {
236
+ const repository = objectField(graphqlData(stdout), 'repository');
237
+ const pullRequest = objectField(repository, 'pullRequest');
238
+ return objectField(pullRequest, 'reviewThreads');
239
+ }
240
+ function graphqlData(stdout) {
241
+ return objectField(objectValue(JSON.parse(stdout), 'GitHub GraphQL response'), 'data');
242
+ }
243
+ function normalizeReviewThread(input) {
244
+ const value = objectValue(input, 'GitHub review thread');
245
+ const comments = objectField(value, 'comments');
246
+ return {
247
+ nodeId: stringField(value, 'id'),
248
+ isResolved: booleanField(value, 'isResolved'),
249
+ isOutdated: booleanField(value, 'isOutdated'),
250
+ path: boundedText(stringField(value, 'path'), 'review thread path'),
251
+ line: nullableIntegerField(value, 'line'),
252
+ comments: arrayField(comments, 'nodes').map(normalizeReviewComment),
253
+ };
254
+ }
255
+ function normalizeReviewComment(input) {
256
+ const value = objectValue(input, 'GitHub review comment');
257
+ const commitValue = value.originalCommit;
258
+ return {
259
+ nodeId: stringField(value, 'id'),
260
+ databaseId: decimalIdField(value, 'databaseId'),
261
+ url: stringField(value, 'url'),
262
+ body: boundedText(stringField(value, 'body'), 'review comment body'),
263
+ createdAt: timestampField(value, 'createdAt'),
264
+ updatedAt: timestampField(value, 'updatedAt'),
265
+ commitId: commitValue === null ? null : stringField(objectValue(commitValue, 'GitHub review comment commit'), 'oid'),
266
+ author: normalizeGraphqlActor(value.author),
267
+ };
268
+ }
269
+ function normalizeSubmittedReview(input) {
270
+ const value = objectValue(input, 'GitHub submitted pull request review');
271
+ const state = stringField(value, 'state').toUpperCase();
272
+ if (!['PENDING', 'COMMENTED', 'APPROVED', 'CHANGES_REQUESTED', 'DISMISSED'].includes(state)) {
273
+ throw new Error('GitHub pull request review state is invalid');
274
+ }
275
+ return {
276
+ nodeId: stringField(value, 'node_id'),
277
+ databaseId: decimalIdField(value, 'id'),
278
+ url: stringField(value, 'html_url'),
279
+ body: boundedText(nullableStringField(value, 'body'), 'pull request review body'),
280
+ state: state,
281
+ commitId: stringField(value, 'commit_id'),
282
+ submittedAt: nullableTimestampField(value, 'submitted_at'),
283
+ author: normalizeRestActor(value.user),
284
+ };
285
+ }
286
+ function normalizeConversationComment(input) {
287
+ const value = objectValue(input, 'GitHub pull request conversation comment');
288
+ return {
289
+ id: decimalIdField(value, 'id'),
290
+ url: stringField(value, 'html_url'),
291
+ body: boundedText(nullableStringField(value, 'body'), 'pull request conversation comment body'),
292
+ createdAt: timestampField(value, 'created_at'),
293
+ updatedAt: timestampField(value, 'updated_at'),
294
+ author: normalizeRestActor(value.user),
295
+ };
296
+ }
297
+ function normalizeGraphqlActor(input) {
298
+ if (input === null)
299
+ return null;
300
+ const value = objectValue(input, 'GitHub GraphQL actor');
301
+ const type = stringField(value, '__typename');
302
+ const login = stringField(value, 'login');
303
+ const nodeId = stringField(value, 'id');
304
+ return {
305
+ id: type === 'User' ? decimalIdField(value, 'databaseId') : nodeId,
306
+ nodeId,
307
+ login,
308
+ isBot: type === 'Bot' || login.endsWith('[bot]'),
309
+ };
310
+ }
311
+ function normalizeRestActor(input) {
312
+ if (input === null)
313
+ return null;
314
+ const value = objectValue(input, 'GitHub REST actor');
315
+ const login = stringField(value, 'login');
316
+ const type = stringField(value, 'type');
317
+ if (type !== 'User' && type !== 'Bot')
318
+ throw new Error('GitHub REST actor type is invalid');
319
+ return {
320
+ id: decimalIdField(value, 'id'),
321
+ login,
322
+ isBot: type === 'Bot' || login.endsWith('[bot]'),
323
+ };
324
+ }
325
+ function parseJsonLines(stdout, description) {
326
+ if (!stdout.trim())
327
+ return [];
328
+ return stdout.trim().split(/\r?\n/u).map((line, index) => {
329
+ try {
330
+ return JSON.parse(line);
331
+ }
332
+ catch {
333
+ throw new Error(`${description} line ${index + 1} is not valid JSON`);
334
+ }
335
+ });
336
+ }
337
+ function pageInfo(connection, description) {
338
+ const value = objectField(connection, 'pageInfo');
339
+ const hasNextPage = booleanField(value, 'hasNextPage');
340
+ const endCursor = value.endCursor;
341
+ if (endCursor !== null && typeof endCursor !== 'string') {
342
+ throw new Error(`${description} pageInfo endCursor must be null or a string`);
343
+ }
344
+ if (hasNextPage && !endCursor)
345
+ throw new Error(`${description} pagination omitted endCursor`);
346
+ return { hasNextPage, endCursor };
347
+ }
348
+ function arrayField(record, field) {
349
+ const value = record[field];
350
+ if (!Array.isArray(value))
351
+ throw new Error(`GitHub payload ${field} must be an array`);
352
+ return value;
353
+ }
354
+ function nullableIntegerField(record, field) {
355
+ const value = record[field];
356
+ if (value === null)
357
+ return null;
358
+ if (!Number.isSafeInteger(value))
359
+ throw new Error(`GitHub payload ${field} must be null or an integer`);
360
+ return value;
361
+ }
362
+ function nullableTimestampField(record, field) {
363
+ const value = record[field];
364
+ if (value === null)
365
+ return null;
366
+ return timestampField(record, field);
367
+ }
368
+ function timestampField(record, field) {
369
+ const value = stringField(record, field);
370
+ const parsed = Date.parse(value);
371
+ if (Number.isNaN(parsed))
372
+ throw new Error(`GitHub pull request payload ${field} must be a timestamp`);
373
+ return new Date(parsed).toISOString();
374
+ }
375
+ function decimalIdField(record, field) {
376
+ const value = record[field];
377
+ if (typeof value === 'string' && /^\d+$/u.test(value))
378
+ return value;
379
+ if (Number.isSafeInteger(value) && value >= 0)
380
+ return String(value);
381
+ throw new Error(`GitHub payload ${field} must be a decimal ID`);
382
+ }
383
+ function boundedText(value, description) {
384
+ if (value.length > MAX_TEXT_LENGTH)
385
+ throw new Error(`${description} exceeds the text bound`);
386
+ return value;
387
+ }
388
+ function requireItemBound(length, description) {
389
+ if (length > MAX_ITEMS)
390
+ throw new Error(`${description} exceeds the item bound`);
109
391
  }
110
392
  function normalizeDetailedPullRequest(input) {
111
393
  if (!input || typeof input !== 'object' || Array.isArray(input)) {
@@ -141,6 +423,12 @@ function objectField(record, field) {
141
423
  }
142
424
  return value;
143
425
  }
426
+ function objectValue(value, description) {
427
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
428
+ throw new Error(`${description} must be an object`);
429
+ }
430
+ return value;
431
+ }
144
432
  function stringField(record, field) {
145
433
  const value = record[field];
146
434
  if (typeof value !== 'string')