codex-orchestrator 0.1.40 → 0.1.42

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 (101) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/src/cli.js +9 -0
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/config/schema.d.ts +6 -0
  5. package/dist/src/config/schema.d.ts.map +1 -1
  6. package/dist/src/config/schema.js +31 -0
  7. package/dist/src/config/schema.js.map +1 -1
  8. package/dist/src/git/worktree.d.ts +3 -1
  9. package/dist/src/git/worktree.d.ts.map +1 -1
  10. package/dist/src/git/worktree.js +51 -17
  11. package/dist/src/git/worktree.js.map +1 -1
  12. package/dist/src/github/gh-issue-adapter.d.ts +2 -0
  13. package/dist/src/github/gh-issue-adapter.d.ts.map +1 -1
  14. package/dist/src/github/gh-issue-adapter.js +7 -1
  15. package/dist/src/github/gh-issue-adapter.js.map +1 -1
  16. package/dist/src/github/issues.d.ts +3 -0
  17. package/dist/src/github/issues.d.ts.map +1 -1
  18. package/dist/src/github/issues.js +7 -1
  19. package/dist/src/github/issues.js.map +1 -1
  20. package/dist/src/index.d.ts +2 -0
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/runner/acceptance-proof-loop.d.ts +115 -0
  25. package/dist/src/runner/acceptance-proof-loop.d.ts.map +1 -0
  26. package/dist/src/runner/acceptance-proof-loop.js +401 -0
  27. package/dist/src/runner/acceptance-proof-loop.js.map +1 -0
  28. package/dist/src/runner/acceptance-proof-runner.d.ts +2 -20
  29. package/dist/src/runner/acceptance-proof-runner.d.ts.map +1 -1
  30. package/dist/src/runner/acceptance-proof-runner.js +9 -103
  31. package/dist/src/runner/acceptance-proof-runner.js.map +1 -1
  32. package/dist/src/runner/agent-attempt.d.ts +105 -0
  33. package/dist/src/runner/agent-attempt.d.ts.map +1 -0
  34. package/dist/src/runner/agent-attempt.js +235 -0
  35. package/dist/src/runner/agent-attempt.js.map +1 -0
  36. package/dist/src/runner/auto-visual-proof-command.d.ts.map +1 -1
  37. package/dist/src/runner/auto-visual-proof-command.js +6 -12
  38. package/dist/src/runner/auto-visual-proof-command.js.map +1 -1
  39. package/dist/src/runner/command-utils.d.ts +6 -2
  40. package/dist/src/runner/command-utils.d.ts.map +1 -1
  41. package/dist/src/runner/command-utils.js +34 -1
  42. package/dist/src/runner/command-utils.js.map +1 -1
  43. package/dist/src/runner/daemon-command.d.ts +3 -1
  44. package/dist/src/runner/daemon-command.d.ts.map +1 -1
  45. package/dist/src/runner/daemon-command.js +37 -0
  46. package/dist/src/runner/daemon-command.js.map +1 -1
  47. package/dist/src/runner/durable-run-summary.d.ts +19 -0
  48. package/dist/src/runner/durable-run-summary.d.ts.map +1 -1
  49. package/dist/src/runner/durable-run-summary.js +107 -2
  50. package/dist/src/runner/durable-run-summary.js.map +1 -1
  51. package/dist/src/runner/handoff-evidence.d.ts +1 -0
  52. package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
  53. package/dist/src/runner/handoff-evidence.js +2 -2
  54. package/dist/src/runner/handoff-evidence.js.map +1 -1
  55. package/dist/src/runner/hygiene-cleanup.d.ts +15 -0
  56. package/dist/src/runner/hygiene-cleanup.d.ts.map +1 -0
  57. package/dist/src/runner/hygiene-cleanup.js +25 -0
  58. package/dist/src/runner/hygiene-cleanup.js.map +1 -0
  59. package/dist/src/runner/issue-tree.d.ts +1 -1
  60. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  61. package/dist/src/runner/issue-tree.js +15 -6
  62. package/dist/src/runner/issue-tree.js.map +1 -1
  63. package/dist/src/runner/local-execution-session.d.ts.map +1 -1
  64. package/dist/src/runner/local-execution-session.js +84 -127
  65. package/dist/src/runner/local-execution-session.js.map +1 -1
  66. package/dist/src/runner/plan-auto-command.d.ts +3 -0
  67. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  68. package/dist/src/runner/plan-auto-command.js +319 -310
  69. package/dist/src/runner/plan-auto-command.js.map +1 -1
  70. package/dist/src/runner/plan-auto-recovery.d.ts +83 -0
  71. package/dist/src/runner/plan-auto-recovery.d.ts.map +1 -0
  72. package/dist/src/runner/plan-auto-recovery.js +303 -0
  73. package/dist/src/runner/plan-auto-recovery.js.map +1 -0
  74. package/dist/src/runner/review-gate-policy.d.ts +7 -1
  75. package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
  76. package/dist/src/runner/review-gate-policy.js +11 -123
  77. package/dist/src/runner/review-gate-policy.js.map +1 -1
  78. package/dist/src/runner/rework-policy.js +1 -1
  79. package/dist/src/runner/rework-policy.js.map +1 -1
  80. package/dist/src/runner/runner-handoff-decision.d.ts.map +1 -1
  81. package/dist/src/runner/runner-handoff-decision.js +22 -4
  82. package/dist/src/runner/runner-handoff-decision.js.map +1 -1
  83. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  84. package/dist/src/runner/scoped-auto-command.js +104 -221
  85. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  86. package/dist/src/runner/scoped-recovery.d.ts +13 -0
  87. package/dist/src/runner/scoped-recovery.d.ts.map +1 -1
  88. package/dist/src/runner/scoped-recovery.js +7 -7
  89. package/dist/src/runner/scoped-recovery.js.map +1 -1
  90. package/dist/src/runner/terminal-outcome.d.ts +58 -0
  91. package/dist/src/runner/terminal-outcome.d.ts.map +1 -0
  92. package/dist/src/runner/terminal-outcome.js +73 -0
  93. package/dist/src/runner/terminal-outcome.js.map +1 -0
  94. package/dist/src/runner/visual-proof-runner.d.ts +2 -0
  95. package/dist/src/runner/visual-proof-runner.d.ts.map +1 -1
  96. package/dist/src/runner/visual-proof-runner.js +30 -8
  97. package/dist/src/runner/visual-proof-runner.js.map +1 -1
  98. package/dist/src/setup/setup-command.js +1 -0
  99. package/dist/src/setup/setup-command.js.map +1 -1
  100. package/docs/deep-dive.md +26 -0
  101. package/package.json +1 -1
@@ -1,10 +1,9 @@
1
- import { mkdir, readFile } from 'node:fs/promises';
1
+ import { readFile } from 'node:fs/promises';
2
2
  import { hostname } from 'node:os';
3
- import { dirname, join, resolve } from 'node:path';
3
+ import { join, resolve } from 'node:path';
4
4
  import { CodexCommandAdapter } from '../codex/command-adapter.js';
5
5
  import { GhCliIssueAdapter } from '../github/gh-issue-adapter.js';
6
6
  import { GhCliPullRequestAdapter } from '../github/gh-pull-request-adapter.js';
7
- import { verifyPullRequestRefs } from '../github/pull-requests.js';
8
7
  import { resolveBaseBranch } from '../git/base-branch.js';
9
8
  import { GitWorktreeManager, renderBranchTemplate } from '../git/worktree.js';
10
9
  import { defaultShellCommandExecutor } from '../process/command.js';
@@ -13,15 +12,12 @@ import { buildPromotionRequestReport, buildScopedBlockedReport, buildScopedPullR
13
12
  import { writeDurableRunSummary } from './durable-run-summary.js';
14
13
  import { runFreshContextReviewIfEnabled } from './fresh-context-review.js';
15
14
  import { claimIssue, discoverIssueWork } from './issue-state-machine.js';
16
- import { writeContextSnapshot } from './context-snapshot.js';
17
- import { runImplementationPublishabilityCheck, } from './local-execution-session.js';
18
15
  import { RunnerStateStore } from './local-state.js';
19
16
  import { RunnerLifecycleEventStore } from './lifecycle-events.js';
20
- import { buildScopedImplementationPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './prompt.js';
21
- import { decideImplementationRework } from './rework-policy.js';
17
+ import { buildScopedImplementationPrompt, } from './prompt.js';
18
+ import { runAgentAttemptLoop } from './agent-attempt.js';
22
19
  import { buildBlockedHandoffEvidence, buildPromotionRequestedHandoffEvidence, buildReviewReadyHandoffEvidence, } from './runner-handoff-decision.js';
23
- import { sessionLogPath } from './run-log.js';
24
- import { cleanupSessionCodexHome, sessionCodexHomePath } from './session-home.js';
20
+ import { finishBlockedTerminalOutcome, finishPromotionRequestedTerminalOutcome, finishReviewReadyTerminalOutcome, } from './terminal-outcome.js';
25
21
  export async function runScopedAutoCommand(options) {
26
22
  return runScopedAutoCommandInternal(options);
27
23
  }
@@ -99,190 +95,75 @@ async function runScopedAutoCommandInternal(options, recovery) {
99
95
  allowResume: true,
100
96
  });
101
97
  const maxReworkAttempts = Math.max(config.loopPolicy.rework.maxAttempts, config.reviewGates.acceptanceProof.maxIterations - 1);
102
- let rework = recovery?.initialRework;
103
- let publishability;
104
- const reworkAttempts = [];
105
- for (let attempt = recovery?.startAttempt ?? 0; attempt <= maxReworkAttempts; attempt++) {
106
- const attemptNow = attempt === 0 ? now : new Date(now.getTime() + attempt);
107
- sessionId = `issue-${options.issueNumber}-${formatSessionTimestamp(attemptNow)}${attempt === 0 ? '' : `-attempt-${attempt}`}`;
108
- promptPath = sessionPromptPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
109
- reportPath = sessionReportPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
110
- logPath = sessionLogPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
111
- const isolatedHomePath = sessionCodexHomePath({ targetRoot, sessionId });
112
- await mkdir(dirname(reportPath), { recursive: true });
113
- await mkdir(isolatedHomePath, { recursive: true });
114
- const promptText = buildScopedImplementationPrompt({
98
+ const attemptLoop = await runAgentAttemptLoop({
99
+ targetRoot,
100
+ config,
101
+ issue,
102
+ issueNumber: options.issueNumber,
103
+ mode: 'scoped-issue',
104
+ phase: 'scoped-issue',
105
+ branchName,
106
+ worktreePath,
107
+ baseBranch: resolvedBase.prBaseBranch,
108
+ base: resolvedBase,
109
+ createdAt: now,
110
+ firstAttempt: recovery?.startAttempt,
111
+ initialRework: recovery?.initialRework,
112
+ buildSessionId: ({ attempt, attemptNow }) => `issue-${options.issueNumber}-${formatSessionTimestamp(attemptNow)}${attempt === 0 ? '' : `-attempt-${attempt}`}`,
113
+ buildPrompt: ({ promptPath: attemptPromptPath, reportPath: attemptReportPath, rework }) => buildScopedImplementationPrompt({
115
114
  issue,
116
115
  config,
117
116
  workflowPromptText,
118
- promptPath,
119
- reportPath,
117
+ promptPath: attemptPromptPath,
118
+ reportPath: attemptReportPath,
120
119
  branchName,
121
120
  worktreePath,
122
121
  rework,
123
- });
124
- await writeDurablePrompt({
125
- targetRoot,
126
- config,
127
- issueNumber: options.issueNumber,
128
- sessionId,
129
- promptText,
130
- });
131
- const snapshot = await writeContextSnapshot({
122
+ }),
123
+ buildSnapshotDecision: () => 'has configured auto label and no blocking state labels',
124
+ startedSummary: () => 'Starting scoped Codex implementation session.',
125
+ reworkScheduledSummary: ({ nextAttempt }) => `Runner scheduled scoped rework attempt #${nextAttempt}.`,
126
+ reworkEventPhase: 'quality-review',
127
+ missingPublishabilityMessage: 'Runner internal error: missing publishability result',
128
+ codexAdapter,
129
+ codexTimeoutMs,
130
+ git,
131
+ shellExecutor,
132
+ commitMessage: `Codex: implement issue #${options.issueNumber}`,
133
+ events,
134
+ localPhases: options.localPhases,
135
+ localPhaseExecutor: options.localPhaseExecutor,
136
+ acceptanceProof: {
132
137
  targetRoot,
133
- config,
134
- issue,
135
- mode: 'scoped-issue',
136
- phase: 'scoped-issue',
137
- decision: 'has configured auto label and no blocking state labels',
138
- sessionId,
139
- worktreePath,
140
- promptPath,
141
- reportPath,
142
- logPath,
143
- branchName,
144
- baseBranch: resolvedBase.prBaseBranch,
145
- base: resolvedBase,
146
- createdAt: attemptNow,
147
- });
148
- snapshotPath = snapshot.path;
149
- await store.upsertRun({
138
+ workflowPromptText: acceptanceProofWorkflowText,
139
+ codexAdapter,
140
+ },
141
+ onAcceptanceProofAttemptEvent: ({ sessionId: attemptSessionId, event }) => appendAcceptanceProofEvent({
142
+ events,
150
143
  issueNumber: options.issueNumber,
151
144
  mode: 'scoped-issue',
152
- workspacePath: worktreePath,
153
- sessionId,
154
- branchName,
155
- promptPath,
156
- reportPath,
157
- logPath,
158
- retryCount: attempt,
159
- createdAt: now.toISOString(),
160
- updatedAt: attemptNow.toISOString(),
145
+ sessionId: attemptSessionId,
146
+ event,
147
+ }),
148
+ runMetadata: ({ attemptNow }) => ({
161
149
  ownerPid: process.pid,
162
150
  host: hostname(),
163
151
  leaseUpdatedAt: attemptNow.toISOString(),
164
- attemptStartedAt: attemptNow.toISOString(),
165
152
  baseSha: resolvedBase.sha,
166
- snapshotPath,
167
- });
168
- await safeAppendEvent(events, {
169
- timestamp: attemptNow,
170
- issueNumber: options.issueNumber,
171
- mode: 'scoped-issue',
172
- sessionId,
173
- phase: 'scoped-issue',
174
- status: 'started',
175
- summary: 'Starting scoped Codex implementation session.',
176
- artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
177
- });
178
- const beforeHead = await git.getHead(worktreePath);
179
- let codexResult;
180
- try {
181
- codexResult = await codexAdapter.run({
182
- targetRoot,
183
- config,
184
- worktreePath,
185
- promptPath,
186
- promptText,
187
- reportPath,
188
- isolatedHomePath,
189
- issueNumber: options.issueNumber,
190
- sessionId,
191
- branchName,
192
- phase: 'scoped-issue',
193
- timeoutMs: codexTimeoutMs,
194
- logPath,
195
- disableOptionalFigmaMcp: rework?.disableOptionalFigmaMcp,
196
- });
197
- }
198
- finally {
199
- await cleanupSessionCodexHome(isolatedHomePath);
200
- }
201
- const afterHead = await git.getHead(worktreePath);
202
- publishability = await runImplementationPublishabilityCheck({
203
- config,
204
- issue,
205
- targetRoot,
206
- worktreePath,
207
- reportPath,
208
- beforeHead,
209
- afterHead,
210
- codexResult,
211
- git,
212
- shellExecutor,
213
- commitMessage: `Codex: implement issue #${options.issueNumber}`,
214
- localPhases: options.localPhases,
215
- localPhaseExecutor: options.localPhaseExecutor,
216
- acceptanceProof: {
217
- targetRoot,
218
- sessionId,
219
- branchName,
220
- workflowPromptText: acceptanceProofWorkflowText,
221
- codexAdapter,
222
- onAttemptEvent: (event) => appendAcceptanceProofEvent({
223
- events,
224
- issueNumber: options.issueNumber,
225
- mode: 'scoped-issue',
226
- sessionId,
227
- event,
228
- }),
229
- },
230
- });
231
- await safeAppendEvent(events, {
232
- issueNumber: options.issueNumber,
233
- mode: 'scoped-issue',
234
- sessionId,
153
+ }),
154
+ publishabilityEvent: ({ publishability }) => ({
235
155
  phase: 'quality-review',
236
156
  status: publishability.status === 'blocked' ? 'blocked' : 'completed',
237
157
  summary: `Runner publishability gate returned ${publishability.status}.`,
238
- artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
239
- });
240
- if (publishability.status === 'blocked') {
241
- const reworkDecision = decideImplementationRework({
242
- reasons: publishability.reasons,
243
- config,
244
- attempt,
245
- });
246
- reworkAttempts.push({
247
- attempt,
248
- maxAttempts: 'maxAttempts' in reworkDecision ? reworkDecision.maxAttempts : undefined,
249
- decisionKind: reworkDecision.kind,
250
- reasons: publishability.reasons,
251
- promptPath,
252
- reportPath,
253
- logPath,
254
- snapshotPath,
255
- });
256
- if (reworkDecision.kind === 'retry') {
257
- rework = reworkDecision.rework;
258
- await safeAppendEvent(events, {
259
- timestamp: attemptNow,
260
- issueNumber: options.issueNumber,
261
- mode: 'scoped-issue',
262
- sessionId,
263
- phase: 'quality-review',
264
- status: 'needs-rework',
265
- summary: `Runner scheduled scoped rework attempt #${reworkDecision.nextAttempt}.`,
266
- artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
267
- });
268
- continue;
269
- }
270
- await safeAppendEvent(events, {
271
- timestamp: attemptNow,
272
- issueNumber: options.issueNumber,
273
- mode: 'scoped-issue',
274
- sessionId,
275
- phase: 'quality-review',
276
- status: 'blocked',
277
- summary: `Runner rework decision: ${reworkDecision.kind}.`,
278
- artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
279
- });
280
- }
281
- break;
282
- }
283
- if (!publishability) {
284
- throw new Error('Runner internal error: missing publishability result');
285
- }
158
+ }),
159
+ });
160
+ const publishability = attemptLoop.publishability;
161
+ sessionId = attemptLoop.sessionId;
162
+ promptPath = attemptLoop.promptPath;
163
+ reportPath = attemptLoop.reportPath;
164
+ logPath = attemptLoop.logPath;
165
+ snapshotPath = attemptLoop.snapshotPath;
166
+ const reworkAttempts = attemptLoop.reworkAttempts;
286
167
  if (publishability.status === 'promotion-requested') {
287
168
  const evidence = buildPromotionRequestedHandoffEvidence({
288
169
  publishability,
@@ -549,38 +430,10 @@ async function finishBlocked(result, issueAdapter, config, reasons, changedFiles
549
430
  return { ...result, status: 'blocked', reportComment: handoff.reportComment };
550
431
  }
551
432
  export async function finishScopedReviewReadyHandoff(input) {
552
- await input.git.pushBranch({ worktreePath: input.worktreePath, branchName: input.branchName });
553
- let pullRequest = await input.pullRequestAdapter.findOpenPullRequestByHeadAndBase(input.branchName, input.baseBranch);
554
- if (!pullRequest) {
555
- pullRequest = await input.pullRequestAdapter.createDraftPullRequest({
556
- title: renderTemplate(input.config.pullRequests.scopedIssueTitle, input.issueNumber),
557
- body: buildScopedPullRequestBody({
558
- config: input.config,
559
- branchName: input.branchName,
560
- issueNumber: input.issueNumber,
561
- changedFiles: input.publishability.changedFiles,
562
- validation: input.publishability.validation,
563
- artifacts: input.publishability.artifacts,
564
- skippedChecks: input.publishability.skippedChecks,
565
- residualRisks: input.publishability.residualRisks,
566
- reviewHandoff: input.publishability.report.reviewHandoff,
567
- logPath: input.logPath,
568
- commits: input.publishability.commits,
569
- freshContextReview: input.freshContextReview,
570
- durableRunSummary: input.durableRunSummary,
571
- acceptanceProof: input.acceptanceProof,
572
- }),
573
- headBranch: input.branchName,
574
- baseBranch: input.baseBranch,
575
- });
576
- }
577
- pullRequest = await verifyPullRequestRefs(input.pullRequestAdapter, pullRequest, input.branchName, input.baseBranch);
578
- input.onPullRequestReady?.(pullRequest);
579
- const reportComment = buildScopedReviewReport({
433
+ const pullRequestBody = buildScopedPullRequestBody({
580
434
  config: input.config,
581
435
  branchName: input.branchName,
582
436
  issueNumber: input.issueNumber,
583
- pullRequest,
584
437
  changedFiles: input.publishability.changedFiles,
585
438
  validation: input.publishability.validation,
586
439
  artifacts: input.publishability.artifacts,
@@ -593,10 +446,38 @@ export async function finishScopedReviewReadyHandoff(input) {
593
446
  durableRunSummary: input.durableRunSummary,
594
447
  acceptanceProof: input.acceptanceProof,
595
448
  });
596
- await input.issueAdapter.removeLabels(input.issueNumber, [input.config.github.labels.running.name]);
597
- await input.issueAdapter.addLabels(input.issueNumber, [input.config.github.labels.review.name]);
598
- await input.issueAdapter.postComment(input.issueNumber, reportComment);
599
- return { pullRequest, reportComment };
449
+ return finishReviewReadyTerminalOutcome({
450
+ issueNumber: input.issueNumber,
451
+ branchName: input.branchName,
452
+ baseBranch: input.baseBranch,
453
+ worktreePath: input.worktreePath,
454
+ config: input.config,
455
+ git: input.git,
456
+ pullRequestAdapter: input.pullRequestAdapter,
457
+ issueAdapter: input.issueAdapter,
458
+ pullRequest: {
459
+ title: renderTemplate(input.config.pullRequests.scopedIssueTitle, input.issueNumber),
460
+ body: pullRequestBody,
461
+ },
462
+ reportComment: (pullRequest) => buildScopedReviewReport({
463
+ config: input.config,
464
+ branchName: input.branchName,
465
+ issueNumber: input.issueNumber,
466
+ pullRequest,
467
+ changedFiles: input.publishability.changedFiles,
468
+ validation: input.publishability.validation,
469
+ artifacts: input.publishability.artifacts,
470
+ skippedChecks: input.publishability.skippedChecks,
471
+ residualRisks: input.publishability.residualRisks,
472
+ reviewHandoff: input.publishability.report.reviewHandoff,
473
+ logPath: input.logPath,
474
+ commits: input.publishability.commits,
475
+ freshContextReview: input.freshContextReview,
476
+ durableRunSummary: input.durableRunSummary,
477
+ acceptanceProof: input.acceptanceProof,
478
+ }),
479
+ onPullRequestReady: input.onPullRequestReady,
480
+ });
600
481
  }
601
482
  export async function finishScopedBlockedHandoff(input) {
602
483
  const reportComment = [
@@ -614,20 +495,22 @@ export async function finishScopedBlockedHandoff(input) {
614
495
  acceptanceProof: input.acceptanceProof,
615
496
  }),
616
497
  ].filter(Boolean).join('\n');
617
- await input.issueAdapter.removeLabels(input.issueNumber, [input.config.github.labels.running.name]);
618
- await input.issueAdapter.addLabels(input.issueNumber, [input.config.github.labels.blocked.name]);
619
- const issue = input.skipCommentIfIncludes ? await input.issueAdapter.getIssue(input.issueNumber) : undefined;
620
- const alreadyPosted = Boolean(input.skipCommentIfIncludes && issue?.comments.some((comment) => comment.body.includes(input.skipCommentIfIncludes ?? '')));
621
- if (!alreadyPosted) {
622
- await input.issueAdapter.postComment(input.issueNumber, reportComment);
623
- }
624
- return { reportComment, postedComment: !alreadyPosted };
498
+ return finishBlockedTerminalOutcome({
499
+ issueNumber: input.issueNumber,
500
+ config: input.config,
501
+ issueAdapter: input.issueAdapter,
502
+ reportComment,
503
+ skipCommentIfIncludes: input.skipCommentIfIncludes,
504
+ });
625
505
  }
626
506
  async function finishPromotionRequested(result, issueAdapter, config, report, durableRunSummary) {
627
507
  const reportComment = buildPromotionRequestReport({ issueNumber: result.issueNumber, report, durableRunSummary });
628
- await issueAdapter.removeLabels(result.issueNumber, [config.github.labels.running.name]);
629
- await issueAdapter.addLabels(result.issueNumber, [config.github.labels.blocked.name]);
630
- await issueAdapter.postComment(result.issueNumber, reportComment);
508
+ await finishPromotionRequestedTerminalOutcome({
509
+ issueNumber: result.issueNumber,
510
+ config,
511
+ issueAdapter,
512
+ reportComment,
513
+ });
631
514
  return { ...result, status: 'promotion-requested', reportComment };
632
515
  }
633
516
  function baseResult(issueNumber, branchName, worktreePath, promptPath, reportPath, logPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-auto-command.js","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAyD,MAAM,6BAA6B,CAAC;AAEzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAA6B,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAA8B,MAAM,0BAA0B,CAAC;AAC9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,oCAAoC,GAGrC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAA0B,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAqClF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAiC;IAC1E,OAAO,4BAA4B,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAmC;IAC9E,OAAO,4BAA4B,CAAC,OAAO,EAAE;QAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAiC,EACjC,QAQC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9H,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,2BAA2B,CAAC;IAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAElF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,WAAW,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,MAAM,iCAAiC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClF,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,WAAW,qDAAqD,MAAM,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC;IACtE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACxE,MAAM,2BAA2B,GAAG,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC;IAChF,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,2BAA2B,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAA0C,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACjF,MAAM,eAAe,CAAC,MAAM,EAAE;YAC5B,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,2CAA2C;SACrD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,mBAAmB,CAAC;YAC5B,UAAU;YACV,aAAa,EAAE,YAAY;YAC3B,UAAU;YACV,UAAU,EAAE,YAAY,CAAC,GAAG;YAC5B,eAAe,EAAE,YAAY,CAAC,GAAG;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EACpC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,GAAG,CAAC,CACrD,CAAC;QACF,IAAI,MAAM,GAAiG,QAAQ,EAAE,aAAa,CAAC;QACnI,IAAI,cAA4F,CAAC;QACjG,MAAM,cAAc,GAA4B,EAAE,CAAC;QAEnD,KAAK,IAAI,OAAO,GAAG,QAAQ,EAAE,YAAY,IAAI,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;YACxF,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;YAC3E,SAAS,GAAG,SAAS,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC,UAAU,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,EAAE,CAAC;YAC9H,UAAU,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YACpG,UAAU,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YACpG,OAAO,GAAG,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9F,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACzE,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,+BAA+B,CAAC;gBACjD,KAAK;gBACL,MAAM;gBACN,kBAAkB;gBAClB,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,YAAY;gBACZ,MAAM;aACP,CAAC,CAAC;YACH,MAAM,kBAAkB,CAAC;gBACvB,UAAU;gBACV,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;gBAC1C,UAAU;gBACV,MAAM;gBACN,KAAK;gBACL,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,wDAAwD;gBAClE,SAAS;gBACT,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,OAAO;gBACP,UAAU;gBACV,UAAU,EAAE,YAAY,CAAC,YAAY;gBACrC,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC7B,MAAM,KAAK,CAAC,SAAS,CAAC;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,aAAa,EAAE,YAAY;gBAC3B,SAAS;gBACT,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,OAAO;gBACP,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC5B,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE,OAAO,CAAC,GAAG;gBACrB,IAAI,EAAE,QAAQ,EAAE;gBAChB,cAAc,EAAE,UAAU,CAAC,WAAW,EAAE;gBACxC,gBAAgB,EAAE,UAAU,CAAC,WAAW,EAAE;gBAC1C,OAAO,EAAE,YAAY,CAAC,GAAG;gBACzB,YAAY;aACb,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,SAAS,EAAE,UAAU;gBACrB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,+CAA+C;gBACxD,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;aAC3E,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,WAAkC,CAAC;YACvC,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC;oBACnC,UAAU;oBACV,MAAM;oBACN,YAAY;oBACZ,UAAU;oBACV,UAAU;oBACV,UAAU;oBACV,gBAAgB;oBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,SAAS;oBACT,UAAU;oBACV,KAAK,EAAE,cAAc;oBACrB,SAAS,EAAE,cAAc;oBACzB,OAAO;oBACP,uBAAuB,EAAE,MAAM,EAAE,uBAAuB;iBACzD,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAClD,cAAc,GAAG,MAAM,oCAAoC,CAAC;gBAC1D,MAAM;gBACN,KAAK;gBACL,UAAU;gBACV,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,SAAS;gBACT,WAAW;gBACX,GAAG;gBACH,aAAa;gBACb,aAAa,EAAE,2BAA2B,OAAO,CAAC,WAAW,EAAE;gBAC/D,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,eAAe,EAAE;oBACf,UAAU;oBACV,SAAS;oBACT,UAAU;oBACV,kBAAkB,EAAE,2BAA2B;oBAC/C,YAAY;oBACZ,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,0BAA0B,CAAC;wBACpD,MAAM;wBACN,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,IAAI,EAAE,cAAc;wBACpB,SAAS;wBACT,KAAK;qBACN,CAAC;iBACH;aACF,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBACrE,OAAO,EAAE,uCAAuC,cAAc,CAAC,MAAM,GAAG;gBACxE,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;aAC3E,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,cAAc,GAAG,0BAA0B,CAAC;oBAChD,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBACH,cAAc,CAAC,IAAI,CAAC;oBAClB,OAAO;oBACP,WAAW,EAAE,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBACrF,YAAY,EAAE,cAAc,CAAC,IAAI;oBACjC,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,UAAU;oBACV,UAAU;oBACV,OAAO;oBACP,YAAY;iBACb,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACpC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;oBAC/B,MAAM,eAAe,CAAC,MAAM,EAAE;wBAC5B,SAAS,EAAE,UAAU;wBACrB,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,IAAI,EAAE,cAAc;wBACpB,SAAS;wBACT,KAAK,EAAE,gBAAgB;wBACvB,MAAM,EAAE,cAAc;wBACtB,OAAO,EAAE,2CAA2C,cAAc,CAAC,WAAW,GAAG;wBACjF,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;qBAC3E,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,MAAM,eAAe,CAAC,MAAM,EAAE;oBAC5B,SAAS,EAAE,UAAU;oBACrB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,cAAc;oBACpB,SAAS;oBACT,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,2BAA2B,cAAc,CAAC,IAAI,GAAG;oBAC1D,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;YAED,MAAM;QACR,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,sCAAsC,CAAC;gBACtD,cAAc;gBACd,UAAU,EAAE,wGAAwG;aACrH,CAAC,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;gBACrD,UAAU;gBACV,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO;gBACP,UAAU;aACX,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,0EAA0E;gBACnF,SAAS,EAAE,gBAAgB,CACzB,UAAU,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,iBAAiB,EAAE,IAAI,CACxB;aACF,CAAC,CAAC;YACH,OAAO,wBAAwB,CAC7B,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAC1F,YAAY,EACZ,MAAM,EACN,cAAc,CAAC,MAAM,EACrB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;gBAC3C,cAAc;gBACd,UAAU,EAAE,gFAAgF;aAC7F,CAAC,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;gBACrD,UAAU;gBACV,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO;gBACP,UAAU;gBACV,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,cAAc;aACf,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,wDAAwD;gBACjE,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC;aACpG,CAAC,CAAC;YACH,OAAO,aAAa,CAClB,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAC1F,YAAY,EACZ,MAAM,EACN,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,aAAa,EACtB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,QAAQ,CAAC,eAAe,CACzB,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,8BAA8B,CAAC;YAC9D,UAAU;YACV,MAAM;YACN,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,iBAAiB,EAAE,SAAS,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC,eAAe;YACzI,UAAU;YACV,cAAc;SACf,CAAC,CAAC;QACH,IAAI,kBAAkB,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,2BAA2B,CAAC;gBAC3C,cAAc;gBACd,kBAAkB;gBAClB,UAAU,EAAE,kEAAkE;aAC/E,CAAC,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;gBACrD,UAAU;gBACV,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,SAAS;gBACT,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;gBAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO;gBACP,UAAU;gBACV,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,cAAc;aACf,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,kDAAkD;gBAC3D,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC;aACpG,CAAC,CAAC;YACH,OAAO,aAAa,CAClB,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAC1F,YAAY,EACZ,MAAM,EACN,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,aAAa,EACtB,QAAQ,CAAC,aAAa,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,QAAQ,CAAC,eAAe,CACzB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,cAAc;YACd,kBAAkB;YAClB,UAAU,EAAE,6CAA6C;SAC1D,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;YACrD,UAAU;YACV,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS;YACT,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO;YACP,UAAU;YACV,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,cAAc;SACf,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU;YACV,UAAU,EAAE,YAAY,CAAC,YAAY;YACrC,YAAY;YACZ,OAAO;YACP,MAAM;YACN,GAAG;YACH,kBAAkB;YAClB,YAAY;YACZ,cAAc;YACd,kBAAkB;YAClB,iBAAiB;YACjB,eAAe,EAAE,cAAc,CAAC,sBAAsB;YACtD,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,EAAE;gBACzC,WAAW,GAAG,kBAAkB,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClC,MAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,eAAe,CAAC,MAAM,EAAE;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,cAAc;YACpB,SAAS;YACT,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,2EAA2E;YACpF,SAAS,EAAE;gBACT,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,IAAI,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC;gBAC/H,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,oBAAoB,EAAE;aACxE;SACF,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;YAC7F,MAAM,EAAE,cAAc;YACtB,WAAW;YACX,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACnF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,oDAAoD,OAAO,EAAE;gBACtE,SAAS,EAAE;oBACT,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;oBAClE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,oBAAoB,EAAE;iBACxE;aACF,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,oDAAoD,WAAW,CAAC,GAAG,iCAAiC,OAAO,EAAE,CAAC,CAAC;QACjI,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,SAAS,IAAI,SAAS;YACjC,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,oDAAoD,OAAO,EAAE;YACtE,SAAS,EAAE,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC;SAC3E,CAAC,CAAC;QACH,OAAO,aAAa,CAClB,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAC1F,YAAY,EACZ,MAAM,EACN,CAAC,OAAO,CAAC,EACT,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAkB,EAClB,UAAkB,EAClB,OAAe,EACf,YAAqB,EACrB,kBAA2B;IAE3B,MAAM,SAAS,GAAyC;QACtD,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS;QACpG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS;QACjG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS;QACjG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS;QACrF,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS;KAC3H,CAAC;IACF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAiC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAgC,EAChC,KAAyD;IAEzD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,wFAAwF;IAC1F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,KASzC;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtC,MAAM,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAC1E,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YACvC,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,sCAAsC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG;QAC/D,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC1F,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC1F,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,CAAC;SACtH,CAAC,CAAC,CAAC,SAAS;KACd,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,sDAAsD,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAiE,EACjE,YAAgC,EAChC,MAA+B,EAC/B,OAAiB,EACjB,YAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,kBAA+C,EAC/C,iBAAsE,EACtE,cAAwC,EACxC,eAAgD;IAEhD,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY;QACZ,MAAM;QACN,OAAO;QACP,YAAY;QACZ,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;AAChF,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAA0C;IAE1C,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/F,IAAI,WAAW,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACtH,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;YAClE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC;YACpF,IAAI,EAAE,0BAA0B,CAAC;gBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY;gBAC/C,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU;gBAC3C,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;gBACzC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa;gBACjD,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa;gBACjD,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa;gBACxD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO;gBACrC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,KAAK,CAAC,eAAe;aACvC,CAAC;YACF,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,WAAW,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrH,KAAK,CAAC,kBAAkB,EAAE,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW;QACX,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY;QAC/C,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU;QAC3C,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;QACzC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa;QACjD,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa;QACjD,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa;QACxD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO;QACrC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACvE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AACxC,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAsC;IAEtC,MAAM,aAAa,GAAG;QACpB,KAAK,CAAC,aAAa;QACnB,wBAAwB,CAAC;YACvB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;KACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG,MAAM,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1J,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,MAAiE,EACjE,YAAgC,EAChC,MAA+B,EAC/B,MAA8B,EAC9B,iBAAsE;IAEtE,MAAM,aAAa,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClH,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAClE,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,UAAU,CACjB,WAAmB,EACnB,UAAkB,EAClB,YAAoB,EACpB,UAAkB,EAClB,UAAkB,EAClB,OAAe;IAEf,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,WAAmB;IAC3D,OAAO,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA+B,EAAE,KAAkB;IAC/E,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,KAAkB;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IACxD,OAAO,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"scoped-auto-command.js","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,13 @@ export type ScopedRecoveryRunResult = {
54
54
  recovered: true;
55
55
  classification: ScopedRecoveryClassification;
56
56
  });
57
+ export interface RecoveryOwnershipState {
58
+ kind: 'same-host' | 'cross-host' | 'legacy' | 'unknown';
59
+ stale: boolean;
60
+ process: ProcessProbeResult;
61
+ localHost?: string;
62
+ remoteHost?: string;
63
+ }
57
64
  export declare function classifyScopedRecoveryRun(input: ClassifyScopedRecoveryRunInput): Promise<ScopedRecoveryClassification>;
58
65
  export declare function recoverScopedRun(input: RecoverScopedRunInput): Promise<ScopedRecoveryRunResult>;
59
66
  export declare function defaultProcessProbe(pid: number): ProcessProbeResult;
@@ -62,4 +69,10 @@ export declare function buildRecoveredCodexResult(reportPath: string): {
62
69
  stderr: string;
63
70
  exitCode: number;
64
71
  };
72
+ export declare function classifyRecoveryOwnership(input: {
73
+ run: RunnerProcessMetadata;
74
+ now: Date;
75
+ hostname?: () => string;
76
+ processProbe?: (pid: number) => Promise<ProcessProbeResult> | ProcessProbeResult;
77
+ }): Promise<RecoveryOwnershipState>;
65
78
  //# sourceMappingURL=scoped-recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-recovery.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-recovery.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-recovery.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAqB,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK/F,OAAO,EAAwC,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQhF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAMlC,eAAO,MAAM,8BAA8B,QAAiB,CAAC;AAC7D,eAAO,MAAM,qCAAqC,6CAA6C,CAAC;AAEhG,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,oBAAoB,GACpB,2BAA2B,GAC3B,sBAAsB,CAAC;AAE3B,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;CACtE;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,wBAAwB,CAAC;IACrC,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;CAClF;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,GAAG,UAAU,CAAC;IAClC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,YAAY,CAAC,EAAE;QAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAAE,CAAC;IACpF,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;CAClF;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,cAAc,EAAE,4BAA4B,CAAA;CAAE,GAC3E,CAAC,uBAAuB,GAAG;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAC;AAElG,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CAoDvC;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqGrG;AAkED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAenE;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAMlH;AAmSD,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,GAAG,EAAE,qBAAqB,CAAC;IAC3B,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;CAClF,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwBlC"}
@@ -29,7 +29,7 @@ export async function classifyScopedRecoveryRun(input) {
29
29
  if (!beforeHead) {
30
30
  return classification(input.run, 'unknown-or-foreign', 'deterministic base evidence is missing', false, undefined, reportState);
31
31
  }
32
- const ownership = await classifyOwnership(input);
32
+ const ownership = await classifyRecoveryOwnership(input);
33
33
  if (ownership.kind === 'unknown') {
34
34
  return classification(input.run, 'unknown-or-foreign', 'lease ownership evidence is invalid or from the future', false, beforeHead, reportState);
35
35
  }
@@ -457,7 +457,7 @@ function basicInvalidReason(run, issue, config) {
457
457
  }
458
458
  return undefined;
459
459
  }
460
- async function classifyOwnership(input) {
460
+ export async function classifyRecoveryOwnership(input) {
461
461
  const localHost = (input.hostname ?? osHostname)();
462
462
  const timestamp = input.run.leaseUpdatedAt ? Date.parse(input.run.leaseUpdatedAt) : Number.NaN;
463
463
  const hasLease = Number.isFinite(timestamp);
@@ -465,20 +465,20 @@ async function classifyOwnership(input) {
465
465
  ? input.now.getTime() - timestamp >= SCOPED_RECOVERY_LEASE_STALE_MS
466
466
  : false;
467
467
  if (hasLease && timestamp > input.now.getTime()) {
468
- return { kind: 'unknown', stale: false, process: 'unknown' };
468
+ return { kind: 'unknown', stale: false, process: 'unknown', localHost };
469
469
  }
470
470
  if (!input.run.host && !input.run.ownerPid && !input.run.leaseUpdatedAt) {
471
- return { kind: 'legacy', stale: false, process: 'unknown' };
471
+ return { kind: 'legacy', stale: false, process: 'unknown', localHost };
472
472
  }
473
473
  const ownerPid = input.run.ownerPid;
474
474
  if (!input.run.host || typeof ownerPid !== 'number' || !Number.isInteger(ownerPid) || !hasLease) {
475
- return { kind: 'unknown', stale: false, process: 'unknown' };
475
+ return { kind: 'unknown', stale: false, process: 'unknown', localHost, remoteHost: input.run.host };
476
476
  }
477
477
  if (input.run.host !== localHost) {
478
- return { kind: 'cross-host', stale, process: 'unknown' };
478
+ return { kind: 'cross-host', stale, process: 'unknown', localHost, remoteHost: input.run.host };
479
479
  }
480
480
  const probe = input.processProbe ?? defaultProcessProbe;
481
- return { kind: 'same-host', stale, process: await probe(ownerPid) };
481
+ return { kind: 'same-host', stale, process: await probe(ownerPid), localHost, remoteHost: input.run.host };
482
482
  }
483
483
  async function readReportState(run) {
484
484
  if (!run.reportPath) {