codex-orchestrator 0.1.20 → 0.1.21

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 (51) hide show
  1. package/dist/src/git/worktree.d.ts.map +1 -1
  2. package/dist/src/git/worktree.js +1 -6
  3. package/dist/src/git/worktree.js.map +1 -1
  4. package/dist/src/path-policy.d.ts +27 -0
  5. package/dist/src/path-policy.d.ts.map +1 -0
  6. package/dist/src/path-policy.js +83 -0
  7. package/dist/src/path-policy.js.map +1 -0
  8. package/dist/src/runner/command-utils.d.ts +3 -2
  9. package/dist/src/runner/command-utils.d.ts.map +1 -1
  10. package/dist/src/runner/command-utils.js +10 -4
  11. package/dist/src/runner/command-utils.js.map +1 -1
  12. package/dist/src/runner/handoff-evidence.d.ts +105 -0
  13. package/dist/src/runner/handoff-evidence.d.ts.map +1 -0
  14. package/dist/src/runner/handoff-evidence.js +224 -0
  15. package/dist/src/runner/handoff-evidence.js.map +1 -0
  16. package/dist/src/runner/issue-tree.d.ts +4 -1
  17. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  18. package/dist/src/runner/issue-tree.js +75 -0
  19. package/dist/src/runner/issue-tree.js.map +1 -1
  20. package/dist/src/runner/local-execution-session.d.ts +45 -0
  21. package/dist/src/runner/local-execution-session.d.ts.map +1 -1
  22. package/dist/src/runner/local-execution-session.js +211 -0
  23. package/dist/src/runner/local-execution-session.js.map +1 -1
  24. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  25. package/dist/src/runner/plan-auto-command.js +122 -307
  26. package/dist/src/runner/plan-auto-command.js.map +1 -1
  27. package/dist/src/runner/prompt.d.ts.map +1 -1
  28. package/dist/src/runner/prompt.js +5 -45
  29. package/dist/src/runner/prompt.js.map +1 -1
  30. package/dist/src/runner/review-gate-policy.d.ts +24 -0
  31. package/dist/src/runner/review-gate-policy.d.ts.map +1 -0
  32. package/dist/src/runner/review-gate-policy.js +104 -0
  33. package/dist/src/runner/review-gate-policy.js.map +1 -0
  34. package/dist/src/runner/review-gates.d.ts +3 -8
  35. package/dist/src/runner/review-gates.d.ts.map +1 -1
  36. package/dist/src/runner/review-gates.js +16 -81
  37. package/dist/src/runner/review-gates.js.map +1 -1
  38. package/dist/src/runner/safety.d.ts.map +1 -1
  39. package/dist/src/runner/safety.js +5 -20
  40. package/dist/src/runner/safety.js.map +1 -1
  41. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  42. package/dist/src/runner/scoped-auto-command.js +50 -235
  43. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  44. package/dist/src/runner/visual-proof-runner.d.ts +2 -7
  45. package/dist/src/runner/visual-proof-runner.d.ts.map +1 -1
  46. package/dist/src/runner/visual-proof-runner.js +10 -11
  47. package/dist/src/runner/visual-proof-runner.js.map +1 -1
  48. package/dist/src/setup/setup-command.d.ts.map +1 -1
  49. package/dist/src/setup/setup-command.js +42 -0
  50. package/dist/src/setup/setup-command.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAOxG;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe,EAAE,CAKhG;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAU3G"}
1
+ {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAQxG;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe,EAAE,CAKhG;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAU3G"}
@@ -1,12 +1,14 @@
1
+ import { findDeniedPathMatch } from '../path-policy.js';
1
2
  /**
2
3
  * Supports exact path literals, `*` within one path segment, and `**` across path segments.
3
4
  */
4
5
  export function validateChangedPaths(paths, config) {
5
6
  const patterns = [...config.deny.secretFiles, ...config.deny.additionalPathGlobs];
6
7
  return paths.flatMap((path) => {
7
- const normalized = normalizePath(path);
8
- const matched = patterns.find((pattern) => globMatches(pattern, normalized));
9
- return matched ? [{ code: 'secret-file-change', message: `Changed path ${normalized} matches denied pattern ${matched}` }] : [];
8
+ const matched = findDeniedPathMatch(path, patterns);
9
+ return matched
10
+ ? [{ code: 'secret-file-change', message: `Changed path ${matched.path} matches denied pattern ${matched.pattern}` }]
11
+ : [];
10
12
  });
11
13
  }
12
14
  export function validateCompletionReportSafety(report) {
@@ -26,21 +28,4 @@ export function validateNoAgentOwnedGitPublication(beforeHead, afterHead) {
26
28
  }
27
29
  return [];
28
30
  }
29
- function globMatches(pattern, path) {
30
- const escaped = pattern
31
- .split('/')
32
- .map((segment) => {
33
- if (segment === '**') {
34
- return '.*';
35
- }
36
- return segment
37
- .replace(/[.+?^${}()|[\]\\]/g, '\\$&')
38
- .replaceAll('*', '[^/]*');
39
- })
40
- .join('/');
41
- return new RegExp(`^${escaped}$`).test(path);
42
- }
43
- function normalizePath(path) {
44
- return path.replaceAll('\\', '/').replace(/^\.\//, '');
45
- }
46
31
  //# sourceMappingURL=safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safety.js","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAe,EAAE,MAA+B;IACnF,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAA6B,EAAE,OAAO,EAAE,gBAAgB,UAAU,2BAA2B,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3I,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA8B;IAC3E,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,WAAW;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAAkB,EAAE,SAAiB;IACtF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL;gBACE,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,+DAA+D;aACzE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,IAAY;IAChD,MAAM,OAAO,GAAG,OAAO;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO;aACX,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;aACrC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"safety.js","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAexD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAe,EAAE,MAA+B;IACnF,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,OAAO;YACZ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAA6B,EAAE,OAAO,EAAE,gBAAgB,OAAO,CAAC,IAAI,2BAA2B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9H,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA8B;IAC3E,OAAO,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,WAAW;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,UAAkB,EAAE,SAAiB;IACtF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL;gBACE,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EAAE,+DAA+D;aACzE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIzH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAgD,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI/F,OAAO,EAA4B,KAAK,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAkB1G,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,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,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAyP9G"}
1
+ {"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIzH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAa/F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,8BAA8B,CAAC;AAWtC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,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,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqM9G"}
@@ -5,17 +5,14 @@ import { GhCliIssueAdapter } from '../github/gh-issue-adapter.js';
5
5
  import { GhCliPullRequestAdapter } from '../github/gh-pull-request-adapter.js';
6
6
  import { GitWorktreeManager, renderBranchTemplate } from '../git/worktree.js';
7
7
  import { defaultShellCommandExecutor } from '../process/command.js';
8
- import { bulletList, formatSessionTimestamp, mergeArtifacts, readRunnerConfig, renderCommitEvidence } from './command-utils.js';
8
+ import { formatSessionTimestamp, readRunnerConfig, } from './command-utils.js';
9
+ import { buildPromotionRequestReport, buildScopedBlockedReport, buildScopedPullRequestBody, buildScopedReviewReport, } from './handoff-evidence.js';
9
10
  import { claimIssue, discoverIssueWork } from './issue-state-machine.js';
10
- import { readScopedCompletionReport } from './completion-report.js';
11
- import { runLocalExecutionSession } from './local-execution-session.js';
11
+ import { runImplementationPublishabilityCheck, } from './local-execution-session.js';
12
12
  import { RunnerStateStore } from './local-state.js';
13
13
  import { buildScopedImplementationPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './prompt.js';
14
- import { evaluateReviewGates } from './review-gates.js';
15
14
  import { sessionLogPath } from './run-log.js';
16
- import { validateChangedPaths, validateCompletionReportSafety, validateNoAgentOwnedGitPublication, } from './safety.js';
17
15
  import { cleanupSessionCodexHome, sessionCodexHomePath } from './session-home.js';
18
- import { runRunnerVisualProof } from './visual-proof-runner.js';
19
16
  export async function runScopedAutoCommand(options) {
20
17
  const targetRoot = resolve(options.targetRoot);
21
18
  const now = options.now ?? new Date();
@@ -115,104 +112,57 @@ export async function runScopedAutoCommand(options) {
115
112
  await cleanupSessionCodexHome(isolatedHomePath);
116
113
  }
117
114
  const afterHead = await git.getHead(worktreePath);
118
- const publicationViolations = config.runner.allowAgentLocalCommits
119
- ? []
120
- : validateNoAgentOwnedGitPublication(beforeHead, afterHead);
121
- if (publicationViolations.length > 0) {
122
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, publicationViolations.map((violation) => violation.message), [], [], []);
123
- }
124
- if (codexResult.exitCode !== 0) {
125
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, [formatCodexExitReason(codexResult)], [], [], []);
126
- }
127
- let report;
128
- try {
129
- const reportResult = await readScopedCompletionReport(reportPath);
130
- if (reportResult.kind === 'missing') {
131
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, ['Codex did not write CODEX_ORCHESTRATOR_REPORT_FILE; runner cannot prove safety contract.'], [], [], []);
132
- }
133
- report = reportResult.report;
134
- }
135
- catch (error) {
136
- const message = error instanceof Error ? error.message : 'Invalid scoped completion report';
137
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, [message], [], [], []);
138
- }
139
- if (report.status === 'needs-promotion') {
140
- return finishPromotionRequested(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, report);
141
- }
142
- const localSession = await runLocalExecutionSession({
143
- worktreePath,
144
- phases: options.localPhases ?? [],
145
- executePhase: options.localPhaseExecutor ?? defaultPassingLocalPhaseExecutor,
146
- });
147
- if (!localSession.publishReady) {
148
- const blockedChangeSet = await git.collectSessionChangeSet({ worktreePath, baseHead: beforeHead });
149
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, localSessionBlockReasons(localSession.phaseResults), blockedChangeSet.changedPaths, report.skippedChecks, [...report.residualRisks, ...localSession.phaseResults.flatMap((phase) => phase.residualRisks)]);
150
- }
151
- report = {
152
- ...report,
153
- validation: [...report.validation, ...localSession.phaseResults.flatMap((phase) => phase.validation)],
154
- artifacts: mergeArtifacts(report.artifacts, localSession.phaseResults.flatMap((phase) => phase.artifacts)),
155
- residualRisks: [...report.residualRisks, ...localSession.phaseResults.flatMap((phase) => phase.residualRisks)],
156
- };
157
- let changeSet = await git.collectSessionChangeSet({ worktreePath, baseHead: beforeHead });
158
- let changedFiles = changeSet.changedPaths;
159
- if (changedFiles.length === 0) {
160
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, ['Codex completed without file changes'], [], report.skippedChecks, report.residualRisks);
161
- }
162
- const violations = [
163
- ...validateChangedPaths(changedFiles, config),
164
- ...validateCompletionReportSafety(report),
165
- ];
166
- if (violations.length > 0) {
167
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, violations.map((violation) => violation.message), changedFiles, report.skippedChecks, report.residualRisks);
168
- }
169
- let validation = await runConfiguredChecks(config, worktreePath, shellExecutor, report.validation);
170
- const runnerVisualProof = await runRunnerVisualProof({
115
+ const publishability = await runImplementationPublishabilityCheck({
171
116
  config,
172
117
  issue,
173
- issueNumber: options.issueNumber,
174
118
  worktreePath,
175
- changedFiles,
176
- report,
119
+ reportPath,
120
+ beforeHead,
121
+ afterHead,
122
+ codexResult,
123
+ git,
177
124
  shellExecutor,
125
+ commitMessage: `Codex: implement issue #${options.issueNumber}`,
126
+ localPhases: options.localPhases,
127
+ localPhaseExecutor: options.localPhaseExecutor,
178
128
  });
179
- validation = [...validation, ...runnerVisualProof.validation];
180
- report = {
181
- ...report,
182
- artifacts: mergeArtifacts(report.artifacts, runnerVisualProof.artifacts),
183
- };
184
- if (runnerVisualProof.artifacts.length > 0) {
185
- changeSet = await git.collectSessionChangeSet({ worktreePath, baseHead: beforeHead });
186
- changedFiles = changeSet.changedPaths;
187
- }
188
- const residualRisks = [...report.residualRisks];
189
- if (validation.some((line) => line.status === 'failed')) {
190
- residualRisks.push('One or more configured checks failed.');
191
- }
192
- const reviewGate = evaluateReviewGates({
193
- config,
194
- issue,
195
- changedFiles,
196
- validation,
197
- skippedChecks: report.skippedChecks,
198
- report,
199
- worktreePath,
200
- });
201
- if (!reviewGate.ok) {
202
- return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, reviewGate.reasons, changedFiles, report.skippedChecks, residualRisks);
129
+ if (publishability.status === 'promotion-requested') {
130
+ return finishPromotionRequested(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, publishability.report);
203
131
  }
204
- if (!(await git.isWorktreeClean(worktreePath))) {
205
- await git.commitAll({ worktreePath, message: `Codex: implement issue #${options.issueNumber}` });
206
- changeSet = await git.collectSessionChangeSet({ worktreePath, baseHead: beforeHead });
132
+ if (publishability.status === 'blocked') {
133
+ return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, publishability.reasons, publishability.changedFiles, publishability.skippedChecks, publishability.residualRisks);
207
134
  }
208
135
  await git.pushBranch({ worktreePath, branchName });
209
136
  pullRequest = await pullRequestAdapter.createDraftPullRequest({
210
137
  title: renderTemplate(config.pullRequests.scopedIssueTitle, options.issueNumber),
211
- body: buildPullRequestBody(config, branchName, options.issueNumber, changedFiles, validation, report.artifacts, report.skippedChecks, residualRisks, logPath, changeSet.commits),
138
+ body: buildScopedPullRequestBody({
139
+ config,
140
+ branchName,
141
+ issueNumber: options.issueNumber,
142
+ changedFiles: publishability.changedFiles,
143
+ validation: publishability.validation,
144
+ artifacts: publishability.artifacts,
145
+ skippedChecks: publishability.skippedChecks,
146
+ residualRisks: publishability.residualRisks,
147
+ logPath,
148
+ commits: publishability.commits,
149
+ }),
212
150
  headBranch: branchName,
213
151
  baseBranch: config.branches.base,
214
152
  });
215
- const reportComment = buildReviewReport(config, branchName, options.issueNumber, pullRequest, changedFiles, validation, report.artifacts, report.skippedChecks, residualRisks, logPath, changeSet.commits);
153
+ const reportComment = buildScopedReviewReport({
154
+ config,
155
+ branchName,
156
+ issueNumber: options.issueNumber,
157
+ pullRequest,
158
+ changedFiles: publishability.changedFiles,
159
+ validation: publishability.validation,
160
+ artifacts: publishability.artifacts,
161
+ skippedChecks: publishability.skippedChecks,
162
+ residualRisks: publishability.residualRisks,
163
+ logPath,
164
+ commits: publishability.commits,
165
+ });
216
166
  await issueAdapter.removeLabels(options.issueNumber, [config.github.labels.running.name]);
217
167
  await issueAdapter.addLabels(options.issueNumber, [config.github.labels.review.name]);
218
168
  await issueAdapter.postComment(options.issueNumber, reportComment);
@@ -243,124 +193,27 @@ async function readWorkflowPrompt(path) {
243
193
  throw error;
244
194
  }
245
195
  }
246
- async function runConfiguredChecks(config, worktreePath, shellExecutor, reportValidation) {
247
- const lines = [...reportValidation];
248
- for (const [name, command] of Object.entries(config.checks)) {
249
- const result = await shellExecutor(command, { cwd: worktreePath });
250
- lines.push({
251
- command,
252
- status: result.exitCode === 0 ? 'passed' : 'failed',
253
- summary: `${name}: ${result.exitCode === 0 ? 'passed' : result.stderr || result.stdout || `exit ${result.exitCode}`}`,
254
- });
255
- }
256
- return lines;
257
- }
258
- async function defaultPassingLocalPhaseExecutor(input) {
259
- return {
260
- phaseId: input.phaseId,
261
- status: 'passed',
262
- validation: [],
263
- artifacts: [],
264
- residualRisks: [],
265
- };
266
- }
267
- function localSessionBlockReasons(phaseResults) {
268
- return phaseResults.flatMap((phase) => {
269
- if (phase.status !== 'failed') {
270
- return [];
271
- }
272
- return [
273
- `Local phase ${phase.phaseId} failed`,
274
- ...phase.validation.map((line) => `${line.command}: ${line.status} - ${line.summary}`),
275
- ...phase.artifacts.map((artifact) => `${artifact.description}: ${artifact.url ?? artifact.path ?? 'missing-target'}`),
276
- ];
277
- });
278
- }
279
196
  async function finishBlocked(result, issueAdapter, config, reasons, changedFiles, skippedChecks, residualRisks) {
280
- const reportComment = [
281
- `codex-orchestrator blocked scoped execution for #${result.issueNumber}`,
282
- 'Reasons',
283
- ...bulletList(reasons),
284
- 'Changed Files',
285
- ...bulletList(changedFiles),
286
- 'Log',
287
- ...bulletList([result.logPath]),
288
- 'Skipped Checks',
289
- ...bulletList(skippedChecks),
290
- 'Residual Risks',
291
- ...bulletList(residualRisks),
292
- ].join('\n');
197
+ const reportComment = buildScopedBlockedReport({
198
+ issueNumber: result.issueNumber,
199
+ reasons,
200
+ changedFiles,
201
+ logPath: result.logPath,
202
+ skippedChecks,
203
+ residualRisks,
204
+ });
293
205
  await issueAdapter.removeLabels(result.issueNumber, [config.github.labels.running.name]);
294
206
  await issueAdapter.addLabels(result.issueNumber, [config.github.labels.blocked.name]);
295
207
  await issueAdapter.postComment(result.issueNumber, reportComment);
296
208
  return { ...result, status: 'blocked', reportComment };
297
209
  }
298
210
  async function finishPromotionRequested(result, issueAdapter, config, report) {
299
- const promotion = report.promotion;
300
- if (!promotion) {
301
- throw new Error('promotion is required for needs-promotion');
302
- }
303
- const reportComment = [
304
- `codex-orchestrator promotion requested for #${result.issueNumber}`,
305
- `Reason: ${promotion.reason}`,
306
- 'Criteria',
307
- ...bulletList(promotion.criteria),
308
- 'Evidence',
309
- ...bulletList(promotion.evidence),
310
- 'Review this evidence and replace agent:auto with agent:plan-auto when parent issue-tree orchestration is desired.',
311
- ].join('\n');
211
+ const reportComment = buildPromotionRequestReport({ issueNumber: result.issueNumber, report });
312
212
  await issueAdapter.removeLabels(result.issueNumber, [config.github.labels.running.name]);
313
213
  await issueAdapter.addLabels(result.issueNumber, [config.github.labels.blocked.name]);
314
214
  await issueAdapter.postComment(result.issueNumber, reportComment);
315
215
  return { ...result, status: 'promotion-requested', reportComment };
316
216
  }
317
- function buildReviewReport(config, branchName, issueNumber, pullRequest, changedFiles, validation, artifacts, skippedChecks, residualRisks, logPath, commits) {
318
- return [
319
- `codex-orchestrator review report for #${issueNumber}`,
320
- 'Pull Request',
321
- `- ${pullRequest.url}`,
322
- 'Changes',
323
- ...bulletList(changedFiles),
324
- 'Validation',
325
- ...validation.map((line) => `- ${line.command}: ${line.status} - ${line.summary}`),
326
- 'Proof Artifacts',
327
- ...renderProofArtifacts(config, branchName, artifacts),
328
- 'Log',
329
- ...bulletList([logPath]),
330
- 'Local Commits',
331
- ...renderCommitEvidence(commits),
332
- 'Skipped Checks',
333
- ...bulletList(skippedChecks),
334
- 'Residual Risks',
335
- ...bulletList(residualRisks),
336
- ].join('\n');
337
- }
338
- function buildPullRequestBody(config, branchName, issueNumber, changedFiles, validation, artifacts, skippedChecks, residualRisks, logPath, commits) {
339
- return [
340
- `Closes #${issueNumber}`,
341
- '',
342
- 'Changed files:',
343
- ...bulletList(changedFiles),
344
- '',
345
- 'Validation:',
346
- ...validation.map((line) => `- ${line.command}: ${line.status} - ${line.summary}`),
347
- '',
348
- 'Proof artifacts:',
349
- ...renderProofArtifacts(config, branchName, artifacts),
350
- '',
351
- 'Log:',
352
- ...bulletList([logPath]),
353
- '',
354
- 'Local commits:',
355
- ...renderCommitEvidence(commits),
356
- '',
357
- 'Skipped checks:',
358
- ...bulletList(skippedChecks),
359
- '',
360
- 'Residual risks:',
361
- ...bulletList(residualRisks),
362
- ].join('\n');
363
- }
364
217
  function baseResult(issueNumber, branchName, worktreePath, promptPath, reportPath, logPath) {
365
218
  return { issueNumber, branchName, worktreePath, promptPath, reportPath, logPath };
366
219
  }
@@ -378,42 +231,4 @@ function isMobileIssue(issue) {
378
231
  const text = `${issue.title}\n${issue.body}\n${labels}`;
379
232
  return /\b(?:android|flutter|ios|iphone|ipad|mobile|emulator|apk|aab|dart)\b/iu.test(text);
380
233
  }
381
- function formatCodexExitReason(result) {
382
- const output = [result.stderr, result.stdout]
383
- .map((value) => value.trim())
384
- .filter((value) => value.length > 0)
385
- .join('\n');
386
- const timeoutLine = output
387
- .split(/\r?\n/u)
388
- .map((line) => line.trim())
389
- .reverse()
390
- .find((line) => /timed out|timeout/iu.test(line));
391
- const detail = timeoutLine ?? truncate(output, 600);
392
- return detail
393
- ? `Codex exited with code ${result.exitCode}: ${truncate(detail, 600)}`
394
- : `Codex exited with code ${result.exitCode}`;
395
- }
396
- function truncate(value, maxLength) {
397
- if (value.length <= maxLength) {
398
- return value;
399
- }
400
- return `${value.slice(0, maxLength - 3)}...`;
401
- }
402
- function renderProofArtifacts(config, branchName, artifacts) {
403
- if (artifacts.length === 0) {
404
- return ['- none'];
405
- }
406
- return artifacts.map((artifact) => {
407
- const target = artifact.url ?? rawGitHubUrl(config, branchName, artifact.path ?? '');
408
- const label = `${artifact.type}: ${artifact.description}`;
409
- return artifact.type === 'screenshot' ? `- ![${escapeMarkdownAlt(label)}](${target})` : `- ${label}: ${target}`;
410
- });
411
- }
412
- function rawGitHubUrl(config, branchName, path) {
413
- const encodedPath = path.split('/').map(encodeURIComponent).join('/');
414
- return `https://raw.githubusercontent.com/${encodeURIComponent(config.github.owner)}/${encodeURIComponent(config.github.repo)}/${encodeURIComponent(branchName)}/${encodedPath}`;
415
- }
416
- function escapeMarkdownAlt(value) {
417
- return value.replace(/[\[\]]/g, '');
418
- }
419
234
  //# sourceMappingURL=scoped-auto-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-auto-command.js","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-auto-command.js","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,7 @@ import type { CodexOrchestratorConfig } from '../config/schema.js';
2
2
  import type { GitHubIssue } from '../github/issues.js';
3
3
  import type { ShellCommandExecutor } from '../process/command.js';
4
4
  import type { ScopedCompletionReport } from './completion-report.js';
5
- interface ValidationLine {
6
- command: string;
7
- status: 'passed' | 'failed' | 'skipped';
8
- summary: string;
9
- }
5
+ import type { RunnerValidationLine } from './handoff-evidence.js';
10
6
  export interface RunnerVisualProofInput {
11
7
  config: CodexOrchestratorConfig;
12
8
  issue: GitHubIssue;
@@ -17,9 +13,8 @@ export interface RunnerVisualProofInput {
17
13
  shellExecutor: ShellCommandExecutor;
18
14
  }
19
15
  export interface RunnerVisualProofResult {
20
- validation: ValidationLine[];
16
+ validation: RunnerValidationLine[];
21
17
  artifacts: ScopedCompletionReport['artifacts'];
22
18
  }
23
19
  export declare function runRunnerVisualProof(input: RunnerVisualProofInput): Promise<RunnerVisualProofResult>;
24
- export {};
25
20
  //# sourceMappingURL=visual-proof-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visual-proof-runner.d.ts","sourceRoot":"","sources":["../../../src/runner/visual-proof-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AASD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CAChD;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAgF1G"}
1
+ {"version":3,"file":"visual-proof-runner.d.ts","sourceRoot":"","sources":["../../../src/runner/visual-proof-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAUlE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CAChD;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAiF1G"}
@@ -2,13 +2,15 @@ import { mkdir, readFile, readdir, stat } from 'node:fs/promises';
2
2
  import { createHash } from 'node:crypto';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { dirname, isAbsolute, join, relative } from 'node:path';
5
- import { shouldApplyVisualProofGate } from './review-gates.js';
5
+ import { normalizePath } from '../path-policy.js';
6
+ import { runnerVisualProofPolicy, shouldApplyVisualProofGate } from './review-gate-policy.js';
6
7
  export async function runRunnerVisualProof(input) {
7
- const commandTemplate = input.config.reviewGates.visualProof.runnerValidationCommand?.trim();
8
+ const policy = runnerVisualProofPolicy(input.config);
9
+ const commandTemplate = policy.commandTemplate;
8
10
  if (!commandTemplate || !shouldApplyVisualProofGate(input)) {
9
11
  return { validation: [], artifacts: [] };
10
12
  }
11
- const proofDir = join(input.worktreePath, input.config.reviewGates.visualProof.artifactDir, `issue-${input.issueNumber}`);
13
+ const proofDir = join(input.worktreePath, policy.artifactDir, `issue-${input.issueNumber}`);
12
14
  const runtimeDir = runnerVisualProofRuntimeDir(input.worktreePath, input.issueNumber);
13
15
  const playwrightProfileDir = join(runtimeDir, 'playwright-profile');
14
16
  const playwrightBrowsersDir = join(runtimeDir, 'ms-playwright');
@@ -21,16 +23,16 @@ export async function runRunnerVisualProof(input) {
21
23
  cwd: input.worktreePath,
22
24
  env: {
23
25
  ...runnerCommandBaseEnv(),
24
- ...runnerPassthroughEnv(input.config.reviewGates.visualProof.envPassthrough ?? []),
26
+ ...runnerPassthroughEnv(policy.envPassthrough),
25
27
  CODEX_ORCHESTRATOR_ISSUE_NUMBER: String(input.issueNumber),
26
- CODEX_ORCHESTRATOR_ARTIFACT_DIR: input.config.reviewGates.visualProof.artifactDir,
28
+ CODEX_ORCHESTRATOR_ARTIFACT_DIR: policy.artifactDir,
27
29
  CODEX_ORCHESTRATOR_PROOF_DIR: proofDir,
28
30
  CODEX_ORCHESTRATOR_PLAYWRIGHT_PROFILE_DIR: playwrightProfileDir,
29
31
  CODEX_ORCHESTRATOR_WORKTREE_PATH: input.worktreePath,
30
32
  CODEX_ORCHESTRATOR_CHANGED_FILES: input.changedFiles.join('\n'),
31
33
  PLAYWRIGHT_BROWSERS_PATH: playwrightBrowsersDir,
32
34
  },
33
- timeoutMs: input.config.reviewGates.visualProof.runnerTimeoutMs,
35
+ timeoutMs: policy.timeoutMs,
34
36
  });
35
37
  const after = await listScreenshotArtifacts(input.worktreePath, proofDir);
36
38
  const produced = after.filter((artifact) => {
@@ -55,13 +57,13 @@ export async function runRunnerVisualProof(input) {
55
57
  artifacts,
56
58
  };
57
59
  }
58
- const requiredArtifactCount = input.config.reviewGates.visualProof.minScreenshotArtifacts;
60
+ const requiredArtifactCount = policy.minScreenshotArtifacts;
59
61
  if (artifacts.length < requiredArtifactCount) {
60
62
  return {
61
63
  validation: [{
62
64
  command,
63
65
  status: 'failed',
64
- summary: `runner visual proof failed: command completed but did not produce a screenshot artifact under ${input.config.reviewGates.visualProof.artifactDir}/issue-${input.issueNumber}; ${requiredArtifactCount} required.`,
66
+ summary: `runner visual proof failed: command completed but did not produce a screenshot artifact under ${policy.artifactDir}/issue-${input.issueNumber}; ${requiredArtifactCount} required.`,
65
67
  }],
66
68
  artifacts,
67
69
  };
@@ -162,9 +164,6 @@ async function listFiles(root) {
162
164
  }
163
165
  return files;
164
166
  }
165
- function normalizePath(path) {
166
- return path.replaceAll('\\', '/').replace(/^\.\//, '');
167
- }
168
167
  function isPathInside(parent, child) {
169
168
  const path = relative(parent, child);
170
169
  return path.length === 0 || (!path.startsWith('..') && !isAbsolute(path));
@@ -1 +1 @@
1
- {"version":3,"file":"visual-proof-runner.js","sourceRoot":"","sources":["../../../src/runner/visual-proof-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-proof-runner.js","sourceRoot":"","sources":["../../../src/runner/visual-proof-runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-command.d.ts","sourceRoot":"","sources":["../../../src/setup/setup-command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAcjE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiD/F"}
1
+ {"version":3,"file":"setup-command.d.ts","sourceRoot":"","sources":["../../../src/setup/setup-command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAcjE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkD/F"}