codex-orchestrator 0.1.51 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +45 -389
- package/dist/src/index.d.ts +16 -46
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -24
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +111 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -0
- package/dist/src/v2/acceptance-proof.js +427 -0
- package/dist/src/v2/acceptance-proof.js.map +1 -0
- package/dist/src/v2/adapters/command.d.ts.map +1 -0
- package/dist/src/v2/adapters/command.js.map +1 -0
- package/dist/src/v2/adapters/durable-atomic-file.d.ts.map +1 -0
- package/dist/src/v2/adapters/durable-atomic-file.js.map +1 -0
- package/dist/src/v2/adapters/gh-cli.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-cli.js.map +1 -0
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -0
- package/dist/src/v2/adapters/issues.d.ts.map +1 -0
- package/dist/src/v2/adapters/issues.js.map +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -0
- package/dist/src/v2/adapters/path-policy.d.ts.map +1 -0
- package/dist/src/v2/adapters/path-policy.js.map +1 -0
- package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -0
- package/dist/src/v2/adapters/pull-requests.js.map +1 -0
- package/dist/src/v2/adapters/target-activity-fence.d.ts.map +1 -0
- package/dist/src/{runner → v2/adapters}/target-activity-fence.js +1 -1
- package/dist/src/v2/adapters/target-activity-fence.js.map +1 -0
- package/dist/src/{git → v2/adapters}/worktree.d.ts +1 -1
- package/dist/src/v2/adapters/worktree.d.ts.map +1 -0
- package/dist/src/{git → v2/adapters}/worktree.js +2 -2
- package/dist/src/v2/adapters/worktree.js.map +1 -0
- package/dist/src/v2/atomic-store.d.ts +36 -0
- package/dist/src/v2/atomic-store.d.ts.map +1 -0
- package/dist/src/v2/atomic-store.js +328 -0
- package/dist/src/v2/atomic-store.js.map +1 -0
- package/dist/src/v2/candidate-cli.d.ts +22 -0
- package/dist/src/v2/candidate-cli.d.ts.map +1 -0
- package/dist/src/v2/candidate-cli.js +161 -0
- package/dist/src/v2/candidate-cli.js.map +1 -0
- package/dist/src/v2/checked-change.d.ts +49 -0
- package/dist/src/v2/checked-change.d.ts.map +1 -0
- package/dist/src/v2/checked-change.js +139 -0
- package/dist/src/v2/checked-change.js.map +1 -0
- package/dist/src/v2/cli-contract.d.ts +8 -0
- package/dist/src/v2/cli-contract.d.ts.map +1 -0
- package/dist/src/v2/cli-contract.js +32 -0
- package/dist/src/v2/cli-contract.js.map +1 -0
- package/dist/src/v2/codex-process.d.ts +71 -0
- package/dist/src/v2/codex-process.d.ts.map +1 -0
- package/dist/src/v2/codex-process.js +404 -0
- package/dist/src/v2/codex-process.js.map +1 -0
- package/dist/src/v2/config.d.ts +45 -0
- package/dist/src/v2/config.d.ts.map +1 -0
- package/dist/src/v2/config.js +139 -0
- package/dist/src/v2/config.js.map +1 -0
- package/dist/src/v2/containment.d.ts +55 -0
- package/dist/src/v2/containment.d.ts.map +1 -0
- package/dist/src/v2/containment.js +370 -0
- package/dist/src/v2/containment.js.map +1 -0
- package/dist/src/v2/implementation-report.d.ts +18 -0
- package/dist/src/v2/implementation-report.d.ts.map +1 -0
- package/dist/src/v2/implementation-report.js +147 -0
- package/dist/src/v2/implementation-report.js.map +1 -0
- package/dist/src/v2/legacy-cutover.d.ts +52 -0
- package/dist/src/v2/legacy-cutover.d.ts.map +1 -0
- package/dist/src/v2/legacy-cutover.js +87 -0
- package/dist/src/v2/legacy-cutover.js.map +1 -0
- package/dist/src/v2/mobile-lease.d.ts +97 -0
- package/dist/src/v2/mobile-lease.d.ts.map +1 -0
- package/dist/src/v2/mobile-lease.js +253 -0
- package/dist/src/v2/mobile-lease.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts +118 -0
- package/dist/src/v2/proof-report.d.ts.map +1 -0
- package/dist/src/v2/proof-report.js +703 -0
- package/dist/src/v2/proof-report.js.map +1 -0
- package/dist/src/v2/proof-store.d.ts +42 -0
- package/dist/src/v2/proof-store.d.ts.map +1 -0
- package/dist/src/v2/proof-store.js +180 -0
- package/dist/src/v2/proof-store.js.map +1 -0
- package/dist/src/v2/report-envelope.d.ts +4 -0
- package/dist/src/v2/report-envelope.d.ts.map +1 -0
- package/dist/src/v2/report-envelope.js +46 -0
- package/dist/src/v2/report-envelope.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +213 -0
- package/dist/src/v2/run-issue.d.ts.map +1 -0
- package/dist/src/v2/run-issue.js +906 -0
- package/dist/src/v2/run-issue.js.map +1 -0
- package/dist/src/v2/run-store.d.ts +136 -0
- package/dist/src/v2/run-store.d.ts.map +1 -0
- package/dist/src/v2/run-store.js +346 -0
- package/dist/src/v2/run-store.js.map +1 -0
- package/dist/src/v2/runtime-assets.d.ts +31 -0
- package/dist/src/v2/runtime-assets.d.ts.map +1 -0
- package/dist/src/v2/runtime-assets.js +473 -0
- package/dist/src/v2/runtime-assets.js.map +1 -0
- package/dist/src/v2/runtime.d.ts +137 -0
- package/dist/src/v2/runtime.d.ts.map +1 -0
- package/dist/src/v2/runtime.js +847 -0
- package/dist/src/v2/runtime.js.map +1 -0
- package/dist/src/v2/setup-cli.d.ts +5 -0
- package/dist/src/v2/setup-cli.d.ts.map +1 -0
- package/dist/src/v2/setup-cli.js +83 -0
- package/dist/src/v2/setup-cli.js.map +1 -0
- package/dist/src/v2/setup-runtime.d.ts +6 -0
- package/dist/src/v2/setup-runtime.d.ts.map +1 -0
- package/dist/src/v2/setup-runtime.js +213 -0
- package/dist/src/v2/setup-runtime.js.map +1 -0
- package/dist/src/v2/setup-store.d.ts +19 -0
- package/dist/src/v2/setup-store.d.ts.map +1 -0
- package/dist/src/v2/setup-store.js +208 -0
- package/dist/src/v2/setup-store.js.map +1 -0
- package/dist/src/v2/setup.d.ts +147 -0
- package/dist/src/v2/setup.d.ts.map +1 -0
- package/dist/src/v2/setup.js +529 -0
- package/dist/src/v2/setup.js.map +1 -0
- package/docs/deep-dive.md +54 -803
- package/internal-skills/acceptance-proof/SKILL.md +14 -0
- package/internal-skills/acceptance-proof/references/android.md +14 -0
- package/internal-skills/acceptance-proof/references/browser.md +13 -0
- package/internal-skills/acceptance-proof/references/ios.md +14 -0
- package/internal-skills/acceptance-proof/tools/android-lease.mjs +280 -0
- package/internal-skills/acceptance-proof/tools/ios-lease.mjs +288 -0
- package/internal-skills/agent-auto/SKILL.md +14 -0
- package/package.json +11 -18
- package/bridge-runtime.json +0 -2719
- package/dist/src/bridge-runtime.d.ts +0 -17
- package/dist/src/bridge-runtime.d.ts.map +0 -1
- package/dist/src/bridge-runtime.js +0 -170
- package/dist/src/bridge-runtime.js.map +0 -1
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -569
- package/dist/src/cli.js.map +0 -1
- package/dist/src/codex/command-adapter.d.ts +0 -47
- package/dist/src/codex/command-adapter.d.ts.map +0 -1
- package/dist/src/codex/command-adapter.js +0 -169
- package/dist/src/codex/command-adapter.js.map +0 -1
- package/dist/src/codex/mobile-device-guard.d.ts +0 -7
- package/dist/src/codex/mobile-device-guard.d.ts.map +0 -1
- package/dist/src/codex/mobile-device-guard.js +0 -63
- package/dist/src/codex/mobile-device-guard.js.map +0 -1
- package/dist/src/config/constants.d.ts +0 -6
- package/dist/src/config/constants.d.ts.map +0 -1
- package/dist/src/config/constants.js +0 -19
- package/dist/src/config/constants.js.map +0 -1
- package/dist/src/config/schema.d.ts +0 -234
- package/dist/src/config/schema.d.ts.map +0 -1
- package/dist/src/config/schema.js +0 -673
- package/dist/src/config/schema.js.map +0 -1
- package/dist/src/fs/durable-atomic-file.d.ts.map +0 -1
- package/dist/src/fs/durable-atomic-file.js.map +0 -1
- package/dist/src/git/base-branch.d.ts +0 -26
- package/dist/src/git/base-branch.d.ts.map +0 -1
- package/dist/src/git/base-branch.js +0 -45
- package/dist/src/git/base-branch.js.map +0 -1
- package/dist/src/git/worktree.d.ts.map +0 -1
- package/dist/src/git/worktree.js.map +0 -1
- package/dist/src/github/gh-cli.d.ts.map +0 -1
- package/dist/src/github/gh-cli.js.map +0 -1
- package/dist/src/github/gh-issue-adapter.d.ts.map +0 -1
- package/dist/src/github/gh-issue-adapter.js.map +0 -1
- package/dist/src/github/gh-pull-request-adapter.d.ts.map +0 -1
- package/dist/src/github/gh-pull-request-adapter.js.map +0 -1
- package/dist/src/github/issues.d.ts.map +0 -1
- package/dist/src/github/issues.js.map +0 -1
- package/dist/src/github/pull-requests.d.ts.map +0 -1
- package/dist/src/github/pull-requests.js.map +0 -1
- package/dist/src/package-info.d.ts +0 -6
- package/dist/src/package-info.d.ts.map +0 -1
- package/dist/src/package-info.js +0 -13
- package/dist/src/package-info.js.map +0 -1
- package/dist/src/path-policy.d.ts.map +0 -1
- package/dist/src/path-policy.js.map +0 -1
- package/dist/src/process/command.d.ts.map +0 -1
- package/dist/src/process/command.js.map +0 -1
- package/dist/src/review-handoff.d.ts +0 -3
- package/dist/src/review-handoff.d.ts.map +0 -1
- package/dist/src/review-handoff.js +0 -8
- package/dist/src/review-handoff.js.map +0 -1
- package/dist/src/runner/acceptance-proof-loop.d.ts +0 -97
- package/dist/src/runner/acceptance-proof-loop.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof-loop.js +0 -404
- package/dist/src/runner/acceptance-proof-loop.js.map +0 -1
- package/dist/src/runner/acceptance-proof-runner.d.ts +0 -24
- package/dist/src/runner/acceptance-proof-runner.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof-runner.js +0 -121
- package/dist/src/runner/acceptance-proof-runner.js.map +0 -1
- package/dist/src/runner/acceptance-proof.d.ts +0 -189
- package/dist/src/runner/acceptance-proof.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof.js +0 -594
- package/dist/src/runner/acceptance-proof.js.map +0 -1
- package/dist/src/runner/agent-attempt.d.ts +0 -105
- package/dist/src/runner/agent-attempt.d.ts.map +0 -1
- package/dist/src/runner/agent-attempt.js +0 -245
- package/dist/src/runner/agent-attempt.js.map +0 -1
- package/dist/src/runner/android-visual-proof-command.d.ts +0 -26
- package/dist/src/runner/android-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/android-visual-proof-command.js +0 -592
- package/dist/src/runner/android-visual-proof-command.js.map +0 -1
- package/dist/src/runner/auto-visual-proof-command.d.ts +0 -15
- package/dist/src/runner/auto-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/auto-visual-proof-command.js +0 -64
- package/dist/src/runner/auto-visual-proof-command.js.map +0 -1
- package/dist/src/runner/browser-proof-contract.d.ts +0 -134
- package/dist/src/runner/browser-proof-contract.d.ts.map +0 -1
- package/dist/src/runner/browser-proof-contract.js +0 -400
- package/dist/src/runner/browser-proof-contract.js.map +0 -1
- package/dist/src/runner/browser-visual-proof-command.d.ts +0 -101
- package/dist/src/runner/browser-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/browser-visual-proof-command.js +0 -532
- package/dist/src/runner/browser-visual-proof-command.js.map +0 -1
- package/dist/src/runner/command-utils.d.ts +0 -15
- package/dist/src/runner/command-utils.d.ts.map +0 -1
- package/dist/src/runner/command-utils.js +0 -228
- package/dist/src/runner/command-utils.js.map +0 -1
- package/dist/src/runner/completion-report.d.ts +0 -121
- package/dist/src/runner/completion-report.d.ts.map +0 -1
- package/dist/src/runner/completion-report.js +0 -381
- package/dist/src/runner/completion-report.js.map +0 -1
- package/dist/src/runner/context-snapshot.d.ts +0 -33
- package/dist/src/runner/context-snapshot.d.ts.map +0 -1
- package/dist/src/runner/context-snapshot.js +0 -99
- package/dist/src/runner/context-snapshot.js.map +0 -1
- package/dist/src/runner/daemon-command.d.ts +0 -30
- package/dist/src/runner/daemon-command.d.ts.map +0 -1
- package/dist/src/runner/daemon-command.js +0 -262
- package/dist/src/runner/daemon-command.js.map +0 -1
- package/dist/src/runner/doctor-command.d.ts +0 -41
- package/dist/src/runner/doctor-command.d.ts.map +0 -1
- package/dist/src/runner/doctor-command.js +0 -177
- package/dist/src/runner/doctor-command.js.map +0 -1
- package/dist/src/runner/durable-run-summary.d.ts +0 -80
- package/dist/src/runner/durable-run-summary.d.ts.map +0 -1
- package/dist/src/runner/durable-run-summary.js +0 -200
- package/dist/src/runner/durable-run-summary.js.map +0 -1
- package/dist/src/runner/flutter-sdk-discovery.d.ts +0 -5
- package/dist/src/runner/flutter-sdk-discovery.d.ts.map +0 -1
- package/dist/src/runner/flutter-sdk-discovery.js +0 -103
- package/dist/src/runner/flutter-sdk-discovery.js.map +0 -1
- package/dist/src/runner/fresh-context-review.d.ts +0 -22
- package/dist/src/runner/fresh-context-review.d.ts.map +0 -1
- package/dist/src/runner/fresh-context-review.js +0 -177
- package/dist/src/runner/fresh-context-review.js.map +0 -1
- package/dist/src/runner/handoff-evidence.d.ts +0 -141
- package/dist/src/runner/handoff-evidence.d.ts.map +0 -1
- package/dist/src/runner/handoff-evidence.js +0 -543
- package/dist/src/runner/handoff-evidence.js.map +0 -1
- package/dist/src/runner/hygiene-cleanup.d.ts +0 -15
- package/dist/src/runner/hygiene-cleanup.d.ts.map +0 -1
- package/dist/src/runner/hygiene-cleanup.js +0 -25
- package/dist/src/runner/hygiene-cleanup.js.map +0 -1
- package/dist/src/runner/ios-visual-proof-command.d.ts +0 -25
- package/dist/src/runner/ios-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/ios-visual-proof-command.js +0 -353
- package/dist/src/runner/ios-visual-proof-command.js.map +0 -1
- package/dist/src/runner/issue-state-machine.d.ts +0 -39
- package/dist/src/runner/issue-state-machine.d.ts.map +0 -1
- package/dist/src/runner/issue-state-machine.js +0 -124
- package/dist/src/runner/issue-state-machine.js.map +0 -1
- package/dist/src/runner/issue-tree.d.ts +0 -65
- package/dist/src/runner/issue-tree.d.ts.map +0 -1
- package/dist/src/runner/issue-tree.js +0 -474
- package/dist/src/runner/issue-tree.js.map +0 -1
- package/dist/src/runner/lifecycle-events.d.ts +0 -44
- package/dist/src/runner/lifecycle-events.d.ts.map +0 -1
- package/dist/src/runner/lifecycle-events.js +0 -108
- package/dist/src/runner/lifecycle-events.js.map +0 -1
- package/dist/src/runner/local-execution-session.d.ts +0 -112
- package/dist/src/runner/local-execution-session.d.ts.map +0 -1
- package/dist/src/runner/local-execution-session.js +0 -1064
- package/dist/src/runner/local-execution-session.js.map +0 -1
- package/dist/src/runner/local-state.d.ts +0 -44
- package/dist/src/runner/local-state.d.ts.map +0 -1
- package/dist/src/runner/local-state.js +0 -150
- package/dist/src/runner/local-state.js.map +0 -1
- package/dist/src/runner/mission-activation.d.ts +0 -29
- package/dist/src/runner/mission-activation.d.ts.map +0 -1
- package/dist/src/runner/mission-activation.js +0 -54
- package/dist/src/runner/mission-activation.js.map +0 -1
- package/dist/src/runner/mission-agent-broker.d.ts +0 -53
- package/dist/src/runner/mission-agent-broker.d.ts.map +0 -1
- package/dist/src/runner/mission-agent-broker.js +0 -182
- package/dist/src/runner/mission-agent-broker.js.map +0 -1
- package/dist/src/runner/mission-cancellation.d.ts +0 -77
- package/dist/src/runner/mission-cancellation.d.ts.map +0 -1
- package/dist/src/runner/mission-cancellation.js +0 -180
- package/dist/src/runner/mission-cancellation.js.map +0 -1
- package/dist/src/runner/mission-canonical-path.d.ts +0 -34
- package/dist/src/runner/mission-canonical-path.d.ts.map +0 -1
- package/dist/src/runner/mission-canonical-path.js +0 -121
- package/dist/src/runner/mission-canonical-path.js.map +0 -1
- package/dist/src/runner/mission-capability-kernel.d.ts +0 -34
- package/dist/src/runner/mission-capability-kernel.d.ts.map +0 -1
- package/dist/src/runner/mission-capability-kernel.js +0 -158
- package/dist/src/runner/mission-capability-kernel.js.map +0 -1
- package/dist/src/runner/mission-check-policy.d.ts +0 -17
- package/dist/src/runner/mission-check-policy.d.ts.map +0 -1
- package/dist/src/runner/mission-check-policy.js +0 -31
- package/dist/src/runner/mission-check-policy.js.map +0 -1
- package/dist/src/runner/mission-coordinator-lock.d.ts.map +0 -1
- package/dist/src/runner/mission-coordinator-lock.js.map +0 -1
- package/dist/src/runner/mission-deployment.d.ts +0 -21
- package/dist/src/runner/mission-deployment.d.ts.map +0 -1
- package/dist/src/runner/mission-deployment.js +0 -108
- package/dist/src/runner/mission-deployment.js.map +0 -1
- package/dist/src/runner/mission-evaluation.d.ts +0 -61
- package/dist/src/runner/mission-evaluation.d.ts.map +0 -1
- package/dist/src/runner/mission-evaluation.js +0 -183
- package/dist/src/runner/mission-evaluation.js.map +0 -1
- package/dist/src/runner/mission-executor-probe.d.ts +0 -10
- package/dist/src/runner/mission-executor-probe.d.ts.map +0 -1
- package/dist/src/runner/mission-executor-probe.js +0 -180
- package/dist/src/runner/mission-executor-probe.js.map +0 -1
- package/dist/src/runner/mission-git-contracts.d.ts +0 -75
- package/dist/src/runner/mission-git-contracts.d.ts.map +0 -1
- package/dist/src/runner/mission-git-contracts.js +0 -201
- package/dist/src/runner/mission-git-contracts.js.map +0 -1
- package/dist/src/runner/mission-git-runtime-owner-ref.d.ts +0 -13
- package/dist/src/runner/mission-git-runtime-owner-ref.d.ts.map +0 -1
- package/dist/src/runner/mission-git-runtime-owner-ref.js +0 -111
- package/dist/src/runner/mission-git-runtime-owner-ref.js.map +0 -1
- package/dist/src/runner/mission-git-transaction.d.ts +0 -97
- package/dist/src/runner/mission-git-transaction.d.ts.map +0 -1
- package/dist/src/runner/mission-git-transaction.js +0 -1009
- package/dist/src/runner/mission-git-transaction.js.map +0 -1
- package/dist/src/runner/mission-identifiers.d.ts +0 -31
- package/dist/src/runner/mission-identifiers.d.ts.map +0 -1
- package/dist/src/runner/mission-identifiers.js +0 -75
- package/dist/src/runner/mission-identifiers.js.map +0 -1
- package/dist/src/runner/mission-input-snapshot.d.ts +0 -21
- package/dist/src/runner/mission-input-snapshot.d.ts.map +0 -1
- package/dist/src/runner/mission-input-snapshot.js +0 -63
- package/dist/src/runner/mission-input-snapshot.js.map +0 -1
- package/dist/src/runner/mission-ownership.d.ts +0 -38
- package/dist/src/runner/mission-ownership.d.ts.map +0 -1
- package/dist/src/runner/mission-ownership.js +0 -88
- package/dist/src/runner/mission-ownership.js.map +0 -1
- package/dist/src/runner/mission-patch-audit.d.ts +0 -21
- package/dist/src/runner/mission-patch-audit.d.ts.map +0 -1
- package/dist/src/runner/mission-patch-audit.js +0 -186
- package/dist/src/runner/mission-patch-audit.js.map +0 -1
- package/dist/src/runner/mission-path-language.d.ts +0 -6
- package/dist/src/runner/mission-path-language.d.ts.map +0 -1
- package/dist/src/runner/mission-path-language.js +0 -106
- package/dist/src/runner/mission-path-language.js.map +0 -1
- package/dist/src/runner/mission-permit-authority.d.ts +0 -26
- package/dist/src/runner/mission-permit-authority.d.ts.map +0 -1
- package/dist/src/runner/mission-permit-authority.js +0 -145
- package/dist/src/runner/mission-permit-authority.js.map +0 -1
- package/dist/src/runner/mission-plan-parent-coordinator.d.ts +0 -87
- package/dist/src/runner/mission-plan-parent-coordinator.d.ts.map +0 -1
- package/dist/src/runner/mission-plan-parent-coordinator.js +0 -441
- package/dist/src/runner/mission-plan-parent-coordinator.js.map +0 -1
- package/dist/src/runner/mission-plan-parent.d.ts +0 -156
- package/dist/src/runner/mission-plan-parent.d.ts.map +0 -1
- package/dist/src/runner/mission-plan-parent.js +0 -589
- package/dist/src/runner/mission-plan-parent.js.map +0 -1
- package/dist/src/runner/mission-process-executor.d.ts +0 -25
- package/dist/src/runner/mission-process-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-process-executor.js +0 -182
- package/dist/src/runner/mission-process-executor.js.map +0 -1
- package/dist/src/runner/mission-publication-git.d.ts +0 -21
- package/dist/src/runner/mission-publication-git.d.ts.map +0 -1
- package/dist/src/runner/mission-publication-git.js +0 -61
- package/dist/src/runner/mission-publication-git.js.map +0 -1
- package/dist/src/runner/mission-publication.d.ts +0 -192
- package/dist/src/runner/mission-publication.d.ts.map +0 -1
- package/dist/src/runner/mission-publication.js +0 -1001
- package/dist/src/runner/mission-publication.js.map +0 -1
- package/dist/src/runner/mission-quarantine-patch-executor.d.ts +0 -29
- package/dist/src/runner/mission-quarantine-patch-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-quarantine-patch-executor.js +0 -121
- package/dist/src/runner/mission-quarantine-patch-executor.js.map +0 -1
- package/dist/src/runner/mission-repository-executor.d.ts +0 -54
- package/dist/src/runner/mission-repository-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-repository-executor.js +0 -192
- package/dist/src/runner/mission-repository-executor.js.map +0 -1
- package/dist/src/runner/mission-repository-observer.d.ts +0 -8
- package/dist/src/runner/mission-repository-observer.d.ts.map +0 -1
- package/dist/src/runner/mission-repository-observer.js +0 -24
- package/dist/src/runner/mission-repository-observer.js.map +0 -1
- package/dist/src/runner/mission-reservations.d.ts +0 -15
- package/dist/src/runner/mission-reservations.d.ts.map +0 -1
- package/dist/src/runner/mission-reservations.js +0 -116
- package/dist/src/runner/mission-reservations.js.map +0 -1
- package/dist/src/runner/mission-resolution-loop.d.ts +0 -172
- package/dist/src/runner/mission-resolution-loop.d.ts.map +0 -1
- package/dist/src/runner/mission-resolution-loop.js +0 -318
- package/dist/src/runner/mission-resolution-loop.js.map +0 -1
- package/dist/src/runner/mission-runtime-owner.d.ts +0 -36
- package/dist/src/runner/mission-runtime-owner.d.ts.map +0 -1
- package/dist/src/runner/mission-runtime-owner.js +0 -174
- package/dist/src/runner/mission-runtime-owner.js.map +0 -1
- package/dist/src/runner/mission-safe-executor.d.ts +0 -96
- package/dist/src/runner/mission-safe-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-safe-executor.js +0 -288
- package/dist/src/runner/mission-safe-executor.js.map +0 -1
- package/dist/src/runner/mission-sandbox.d.ts +0 -16
- package/dist/src/runner/mission-sandbox.d.ts.map +0 -1
- package/dist/src/runner/mission-sandbox.js +0 -91
- package/dist/src/runner/mission-sandbox.js.map +0 -1
- package/dist/src/runner/mission-scheduler.d.ts +0 -57
- package/dist/src/runner/mission-scheduler.d.ts.map +0 -1
- package/dist/src/runner/mission-scheduler.js +0 -205
- package/dist/src/runner/mission-scheduler.js.map +0 -1
- package/dist/src/runner/mission-scope-expansion.d.ts +0 -47
- package/dist/src/runner/mission-scope-expansion.d.ts.map +0 -1
- package/dist/src/runner/mission-scope-expansion.js +0 -147
- package/dist/src/runner/mission-scope-expansion.js.map +0 -1
- package/dist/src/runner/mission-state-machine.d.ts +0 -118
- package/dist/src/runner/mission-state-machine.d.ts.map +0 -1
- package/dist/src/runner/mission-state-machine.js +0 -316
- package/dist/src/runner/mission-state-machine.js.map +0 -1
- package/dist/src/runner/mission-state-store.d.ts +0 -70
- package/dist/src/runner/mission-state-store.d.ts.map +0 -1
- package/dist/src/runner/mission-state-store.js +0 -916
- package/dist/src/runner/mission-state-store.js.map +0 -1
- package/dist/src/runner/mobile-device-lease.d.ts +0 -11
- package/dist/src/runner/mobile-device-lease.d.ts.map +0 -1
- package/dist/src/runner/mobile-device-lease.js +0 -121
- package/dist/src/runner/mobile-device-lease.js.map +0 -1
- package/dist/src/runner/mobile-visual-proof-command.d.ts +0 -17
- package/dist/src/runner/mobile-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/mobile-visual-proof-command.js +0 -168
- package/dist/src/runner/mobile-visual-proof-command.js.map +0 -1
- package/dist/src/runner/plan-auto-command.d.ts +0 -35
- package/dist/src/runner/plan-auto-command.d.ts.map +0 -1
- package/dist/src/runner/plan-auto-command.js +0 -918
- package/dist/src/runner/plan-auto-command.js.map +0 -1
- package/dist/src/runner/plan-auto-recovery.d.ts +0 -83
- package/dist/src/runner/plan-auto-recovery.d.ts.map +0 -1
- package/dist/src/runner/plan-auto-recovery.js +0 -303
- package/dist/src/runner/plan-auto-recovery.js.map +0 -1
- package/dist/src/runner/prompt.d.ts +0 -68
- package/dist/src/runner/prompt.d.ts.map +0 -1
- package/dist/src/runner/prompt.js +0 -202
- package/dist/src/runner/prompt.js.map +0 -1
- package/dist/src/runner/proof-routing.d.ts +0 -73
- package/dist/src/runner/proof-routing.d.ts.map +0 -1
- package/dist/src/runner/proof-routing.js +0 -182
- package/dist/src/runner/proof-routing.js.map +0 -1
- package/dist/src/runner/proof-strategy.d.ts +0 -21
- package/dist/src/runner/proof-strategy.d.ts.map +0 -1
- package/dist/src/runner/proof-strategy.js +0 -26
- package/dist/src/runner/proof-strategy.js.map +0 -1
- package/dist/src/runner/recovery.d.ts +0 -25
- package/dist/src/runner/recovery.d.ts.map +0 -1
- package/dist/src/runner/recovery.js +0 -89
- package/dist/src/runner/recovery.js.map +0 -1
- package/dist/src/runner/review-gate-policy.d.ts +0 -13
- package/dist/src/runner/review-gate-policy.d.ts.map +0 -1
- package/dist/src/runner/review-gate-policy.js +0 -241
- package/dist/src/runner/review-gate-policy.js.map +0 -1
- package/dist/src/runner/review-gates.d.ts +0 -28
- package/dist/src/runner/review-gates.d.ts.map +0 -1
- package/dist/src/runner/review-gates.js +0 -328
- package/dist/src/runner/review-gates.js.map +0 -1
- package/dist/src/runner/rework-policy.d.ts +0 -48
- package/dist/src/runner/rework-policy.d.ts.map +0 -1
- package/dist/src/runner/rework-policy.js +0 -150
- package/dist/src/runner/rework-policy.js.map +0 -1
- package/dist/src/runner/run-log.d.ts +0 -18
- package/dist/src/runner/run-log.d.ts.map +0 -1
- package/dist/src/runner/run-log.js +0 -53
- package/dist/src/runner/run-log.js.map +0 -1
- package/dist/src/runner/runner-handoff-decision.d.ts +0 -48
- package/dist/src/runner/runner-handoff-decision.d.ts.map +0 -1
- package/dist/src/runner/runner-handoff-decision.js +0 -93
- package/dist/src/runner/runner-handoff-decision.js.map +0 -1
- package/dist/src/runner/safety.d.ts +0 -14
- package/dist/src/runner/safety.d.ts.map +0 -1
- package/dist/src/runner/safety.js +0 -31
- package/dist/src/runner/safety.js.map +0 -1
- package/dist/src/runner/scope-isolation-policy.d.ts +0 -17
- package/dist/src/runner/scope-isolation-policy.d.ts.map +0 -1
- package/dist/src/runner/scope-isolation-policy.js +0 -82
- package/dist/src/runner/scope-isolation-policy.js.map +0 -1
- package/dist/src/runner/scoped-auto-command.d.ts +0 -90
- package/dist/src/runner/scoped-auto-command.d.ts.map +0 -1
- package/dist/src/runner/scoped-auto-command.js +0 -561
- package/dist/src/runner/scoped-auto-command.js.map +0 -1
- package/dist/src/runner/scoped-recovery.d.ts +0 -78
- package/dist/src/runner/scoped-recovery.d.ts.map +0 -1
- package/dist/src/runner/scoped-recovery.js +0 -601
- package/dist/src/runner/scoped-recovery.js.map +0 -1
- package/dist/src/runner/session-home.d.ts +0 -8
- package/dist/src/runner/session-home.d.ts.map +0 -1
- package/dist/src/runner/session-home.js +0 -18
- package/dist/src/runner/session-home.js.map +0 -1
- package/dist/src/runner/status-command.d.ts +0 -38
- package/dist/src/runner/status-command.d.ts.map +0 -1
- package/dist/src/runner/status-command.js +0 -97
- package/dist/src/runner/status-command.js.map +0 -1
- package/dist/src/runner/target-activity-fence.d.ts.map +0 -1
- package/dist/src/runner/target-activity-fence.js.map +0 -1
- package/dist/src/runner/terminal-outcome.d.ts +0 -58
- package/dist/src/runner/terminal-outcome.d.ts.map +0 -1
- package/dist/src/runner/terminal-outcome.js +0 -73
- package/dist/src/runner/terminal-outcome.js.map +0 -1
- package/dist/src/runner/visual-proof-runner.d.ts +0 -27
- package/dist/src/runner/visual-proof-runner.d.ts.map +0 -1
- package/dist/src/runner/visual-proof-runner.js +0 -379
- package/dist/src/runner/visual-proof-runner.js.map +0 -1
- package/dist/src/runner/worktree-cleanup.d.ts +0 -27
- package/dist/src/runner/worktree-cleanup.d.ts.map +0 -1
- package/dist/src/runner/worktree-cleanup.js +0 -63
- package/dist/src/runner/worktree-cleanup.js.map +0 -1
- package/dist/src/setup/codex-command-resolver.d.ts +0 -10
- package/dist/src/setup/codex-command-resolver.d.ts.map +0 -1
- package/dist/src/setup/codex-command-resolver.js +0 -91
- package/dist/src/setup/codex-command-resolver.js.map +0 -1
- package/dist/src/setup/github-label-adapter.d.ts +0 -13
- package/dist/src/setup/github-label-adapter.d.ts.map +0 -1
- package/dist/src/setup/github-label-adapter.js +0 -28
- package/dist/src/setup/github-label-adapter.js.map +0 -1
- package/dist/src/setup/labels.d.ts +0 -27
- package/dist/src/setup/labels.d.ts.map +0 -1
- package/dist/src/setup/labels.js +0 -42
- package/dist/src/setup/labels.js.map +0 -1
- package/dist/src/setup/project-config.d.ts +0 -24
- package/dist/src/setup/project-config.d.ts.map +0 -1
- package/dist/src/setup/project-config.js +0 -678
- package/dist/src/setup/project-config.js.map +0 -1
- package/dist/src/setup/prompt-sync.d.ts +0 -14
- package/dist/src/setup/prompt-sync.d.ts.map +0 -1
- package/dist/src/setup/prompt-sync.js +0 -228
- package/dist/src/setup/prompt-sync.js.map +0 -1
- package/dist/src/setup/setup-command.d.ts +0 -29
- package/dist/src/setup/setup-command.d.ts.map +0 -1
- package/dist/src/setup/setup-command.js +0 -304
- package/dist/src/setup/setup-command.js.map +0 -1
- package/dist/src/setup/skill-runtime-v2-preparation.d.ts +0 -56
- package/dist/src/setup/skill-runtime-v2-preparation.d.ts.map +0 -1
- package/dist/src/setup/skill-runtime-v2-preparation.js +0 -304
- package/dist/src/setup/skill-runtime-v2-preparation.js.map +0 -1
- package/dist/src/setup/workflows.d.ts +0 -10
- package/dist/src/setup/workflows.d.ts.map +0 -1
- package/dist/src/setup/workflows.js +0 -41
- package/dist/src/setup/workflows.js.map +0 -1
- package/prompts/setup-skill.md +0 -12
- package/prompts/workflows/acceptance-proof.md +0 -29
- package/prompts/workflows/breakdown-review.md +0 -48
- package/prompts/workflows/issue-breakdown.md +0 -155
- package/prompts/workflows/issue-tree-orchestration.md +0 -163
- package/prompts/workflows/prd.md +0 -80
- package/prompts/workflows/scoped-implementation.md +0 -129
- package/prompts/workflows/triage.md +0 -149
- /package/dist/src/{process → v2/adapters}/command.d.ts +0 -0
- /package/dist/src/{process → v2/adapters}/command.js +0 -0
- /package/dist/src/{fs → v2/adapters}/durable-atomic-file.d.ts +0 -0
- /package/dist/src/{fs → v2/adapters}/durable-atomic-file.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-cli.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-cli.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-issue-adapter.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-issue-adapter.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.js +0 -0
- /package/dist/src/{github → v2/adapters}/issues.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/issues.js +0 -0
- /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.d.ts +0 -0
- /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.js +0 -0
- /package/dist/src/{path-policy.d.ts → v2/adapters/path-policy.d.ts} +0 -0
- /package/dist/src/{path-policy.js → v2/adapters/path-policy.js} +0 -0
- /package/dist/src/{github → v2/adapters}/pull-requests.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/pull-requests.js +0 -0
- /package/dist/src/{runner → v2/adapters}/target-activity-fence.d.ts +0 -0
|
@@ -1,381 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { reviewHandoffFlows } from '../review-handoff.js';
|
|
3
|
-
import { validatePlanGraph } from './issue-tree.js';
|
|
4
|
-
export const scopedArtifactTypes = ['screenshot', 'ui-dump', 'log', 'smoke-output', 'other'];
|
|
5
|
-
export const proofPlanModes = [
|
|
6
|
-
'none',
|
|
7
|
-
'non-visual-smoke',
|
|
8
|
-
'cli',
|
|
9
|
-
'api',
|
|
10
|
-
'worker',
|
|
11
|
-
'browser-visual',
|
|
12
|
-
'mobile-visual',
|
|
13
|
-
];
|
|
14
|
-
const invalidReportRawContentLimit = 8000;
|
|
15
|
-
export async function readScopedCompletionReportDetailed(reportPath) {
|
|
16
|
-
let content;
|
|
17
|
-
try {
|
|
18
|
-
content = await readFile(reportPath, 'utf8');
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
|
|
22
|
-
return { kind: 'missing' };
|
|
23
|
-
}
|
|
24
|
-
throw error;
|
|
25
|
-
}
|
|
26
|
-
let parsed;
|
|
27
|
-
try {
|
|
28
|
-
parsed = JSON.parse(content);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return invalidScopedReport('Invalid scoped completion report: report must be valid JSON', content);
|
|
32
|
-
}
|
|
33
|
-
if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) && !('artifacts' in parsed)) {
|
|
34
|
-
parsed.artifacts = [];
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
assertScopedCompletionReport(parsed);
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
if (error instanceof Error) {
|
|
41
|
-
return invalidScopedReport(error.message, content);
|
|
42
|
-
}
|
|
43
|
-
return invalidScopedReport('Invalid scoped completion report', content);
|
|
44
|
-
}
|
|
45
|
-
return { kind: 'valid', report: parsed };
|
|
46
|
-
}
|
|
47
|
-
export async function readScopedCompletionReport(reportPath) {
|
|
48
|
-
const result = await readScopedCompletionReportDetailed(reportPath);
|
|
49
|
-
if (result.kind === 'invalid') {
|
|
50
|
-
throw new Error(result.message);
|
|
51
|
-
}
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
export async function readPlanAutoCompletionReport(reportPath) {
|
|
55
|
-
let content;
|
|
56
|
-
try {
|
|
57
|
-
content = await readFile(reportPath, 'utf8');
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
|
|
61
|
-
return { kind: 'missing' };
|
|
62
|
-
}
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
let parsed;
|
|
66
|
-
try {
|
|
67
|
-
parsed = JSON.parse(content);
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
throw new Error('Invalid plan-auto completion report: report must be valid JSON');
|
|
71
|
-
}
|
|
72
|
-
assertPlanAutoCompletionReport(parsed);
|
|
73
|
-
return { kind: 'valid', report: parsed };
|
|
74
|
-
}
|
|
75
|
-
function invalidScopedReport(message, rawContent) {
|
|
76
|
-
return {
|
|
77
|
-
kind: 'invalid',
|
|
78
|
-
message,
|
|
79
|
-
errors: [message],
|
|
80
|
-
rawContent: rawContent.slice(0, invalidReportRawContentLimit),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
function assertScopedCompletionReport(value) {
|
|
84
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
85
|
-
throw new Error('Invalid scoped completion report: report must be an object');
|
|
86
|
-
}
|
|
87
|
-
const record = value;
|
|
88
|
-
if (record.status !== 'completed' && record.status !== 'needs-promotion') {
|
|
89
|
-
throw new Error('Invalid scoped completion report: status must be completed or needs-promotion');
|
|
90
|
-
}
|
|
91
|
-
assertStringArray(record.changes, 'changes');
|
|
92
|
-
assertValidation(record.validation);
|
|
93
|
-
assertProofPlan(record.proofPlan);
|
|
94
|
-
assertArtifacts(record.artifacts);
|
|
95
|
-
assertStringArray(record.skippedChecks, 'skippedChecks');
|
|
96
|
-
assertStringArray(record.residualRisks, 'residualRisks');
|
|
97
|
-
assertProhibitedActions(record.prohibitedActions);
|
|
98
|
-
if ('reviewHandoff' in record) {
|
|
99
|
-
assertReviewHandoff(record.reviewHandoff);
|
|
100
|
-
}
|
|
101
|
-
if (record.status === 'needs-promotion') {
|
|
102
|
-
assertPromotion(record.promotion);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
function assertProofPlan(value) {
|
|
106
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
107
|
-
throw new Error('Invalid scoped completion report: proofPlan must be an object');
|
|
108
|
-
}
|
|
109
|
-
const record = value;
|
|
110
|
-
if (typeof record.mode !== 'string' || !proofPlanModes.includes(record.mode)) {
|
|
111
|
-
throw new Error(`Invalid scoped completion report: proofPlan.mode must be one of ${proofPlanModes.join(', ')}`);
|
|
112
|
-
}
|
|
113
|
-
if (typeof record.reason !== 'string' || record.reason.trim().length === 0) {
|
|
114
|
-
throw new Error('Invalid scoped completion report: proofPlan.reason must be a non-empty string');
|
|
115
|
-
}
|
|
116
|
-
assertNonEmptyStringArray(record.validationCommands, 'proofPlan.validationCommands');
|
|
117
|
-
assertNonEmptyStringArray(record.requiredArtifacts, 'proofPlan.requiredArtifacts');
|
|
118
|
-
if ('visualTarget' in record && record.visualTarget !== 'browser' && record.visualTarget !== 'mobile') {
|
|
119
|
-
throw new Error('Invalid scoped completion report: proofPlan.visualTarget must be browser or mobile');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function assertReviewHandoff(value) {
|
|
123
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
124
|
-
throw new Error('Invalid scoped completion report: reviewHandoff must be an object');
|
|
125
|
-
}
|
|
126
|
-
const record = value;
|
|
127
|
-
const flows = new Set(reviewHandoffFlows);
|
|
128
|
-
const risks = new Set(['low', 'medium', 'high']);
|
|
129
|
-
if (typeof record.flowUsed !== 'string' || !flows.has(record.flowUsed)) {
|
|
130
|
-
throw new Error('Invalid scoped completion report: reviewHandoff.flowUsed is malformed');
|
|
131
|
-
}
|
|
132
|
-
if (typeof record.riskLevel !== 'string' || !risks.has(record.riskLevel)) {
|
|
133
|
-
throw new Error('Invalid scoped completion report: reviewHandoff.riskLevel is malformed');
|
|
134
|
-
}
|
|
135
|
-
assertStringArray(record.implementedContract, 'reviewHandoff.implementedContract');
|
|
136
|
-
assertStringArray(record.proofByAcceptanceCriteria, 'reviewHandoff.proofByAcceptanceCriteria');
|
|
137
|
-
assertStringArray(record.reviewFocus, 'reviewHandoff.reviewFocus');
|
|
138
|
-
if ('agentVerifiedChecks' in record) {
|
|
139
|
-
assertStringArray(record.agentVerifiedChecks, 'reviewHandoff.agentVerifiedChecks');
|
|
140
|
-
}
|
|
141
|
-
if ('maintainerOnlyChecks' in record) {
|
|
142
|
-
assertMaintainerOnlyChecks(record.maintainerOnlyChecks);
|
|
143
|
-
}
|
|
144
|
-
if ('humanReviewChecklist' in record) {
|
|
145
|
-
throw new Error('Invalid scoped completion report: reviewHandoff.humanReviewChecklist is not supported; use agentVerifiedChecks and maintainerOnlyChecks');
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
function assertMaintainerOnlyChecks(value) {
|
|
149
|
-
if (!Array.isArray(value)) {
|
|
150
|
-
throw new Error('Invalid scoped completion report: reviewHandoff.maintainerOnlyChecks must be an array');
|
|
151
|
-
}
|
|
152
|
-
value.forEach((item, index) => {
|
|
153
|
-
if (typeof item !== 'object' || item === null || Array.isArray(item)) {
|
|
154
|
-
throw new Error(`Invalid scoped completion report: reviewHandoff.maintainerOnlyChecks[${index}] must be an object`);
|
|
155
|
-
}
|
|
156
|
-
const record = item;
|
|
157
|
-
if (typeof record.check !== 'string' || record.check.trim().length === 0) {
|
|
158
|
-
throw new Error(`Invalid scoped completion report: reviewHandoff.maintainerOnlyChecks[${index}].check must be a non-empty string`);
|
|
159
|
-
}
|
|
160
|
-
if (typeof record.reasonAgentCouldNotVerify !== 'string' || record.reasonAgentCouldNotVerify.trim().length === 0) {
|
|
161
|
-
throw new Error(`Invalid scoped completion report: reviewHandoff.maintainerOnlyChecks[${index}].reasonAgentCouldNotVerify must be a non-empty string`);
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
function assertPlanAutoCompletionReport(value) {
|
|
166
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
167
|
-
throw new Error('Invalid plan-auto completion report: report must be an object');
|
|
168
|
-
}
|
|
169
|
-
const record = value;
|
|
170
|
-
if (record.status !== 'completed') {
|
|
171
|
-
throw new Error('Invalid plan-auto completion report: status must be completed');
|
|
172
|
-
}
|
|
173
|
-
assertPlanParent(record.parent);
|
|
174
|
-
assertPlanGraph(record.graph);
|
|
175
|
-
if ('sizeRisk' in record) {
|
|
176
|
-
assertPlanSizeRisk(record.sizeRisk);
|
|
177
|
-
}
|
|
178
|
-
if ('parentReviewHandoff' in record) {
|
|
179
|
-
assertParentReviewHandoff(record.parentReviewHandoff);
|
|
180
|
-
}
|
|
181
|
-
assertStringArray(record.residualRisks, 'residualRisks', 'Invalid plan-auto completion report');
|
|
182
|
-
const graphValidation = validatePlanGraph(record.graph);
|
|
183
|
-
if (!graphValidation.ok) {
|
|
184
|
-
throw new Error(`Invalid plan-auto completion report: ${graphValidation.errors.join('; ')}`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
function assertPlanSizeRisk(value) {
|
|
188
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
189
|
-
throw new Error('Invalid plan-auto completion report: sizeRisk must be an object');
|
|
190
|
-
}
|
|
191
|
-
const record = value;
|
|
192
|
-
assertStringArray(record.small, 'sizeRisk.small', 'Invalid plan-auto completion report');
|
|
193
|
-
assertStringArray(record.medium, 'sizeRisk.medium', 'Invalid plan-auto completion report');
|
|
194
|
-
assertStringArray(record.high, 'sizeRisk.high', 'Invalid plan-auto completion report');
|
|
195
|
-
}
|
|
196
|
-
function assertParentReviewHandoff(value) {
|
|
197
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
198
|
-
throw new Error('Invalid plan-auto completion report: parentReviewHandoff must be an object');
|
|
199
|
-
}
|
|
200
|
-
const record = value;
|
|
201
|
-
assertStringArray(record.risks, 'parentReviewHandoff.risks', 'Invalid plan-auto completion report');
|
|
202
|
-
assertStringArray(record.proofStrategy, 'parentReviewHandoff.proofStrategy', 'Invalid plan-auto completion report');
|
|
203
|
-
assertStringArray(record.humanReviewFocus, 'parentReviewHandoff.humanReviewFocus', 'Invalid plan-auto completion report');
|
|
204
|
-
}
|
|
205
|
-
function assertPlanParent(value) {
|
|
206
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
207
|
-
throw new Error('Invalid plan-auto completion report: parent must be an object');
|
|
208
|
-
}
|
|
209
|
-
const record = value;
|
|
210
|
-
if ('title' in record && typeof record.title !== 'string') {
|
|
211
|
-
throw new Error('Invalid plan-auto completion report: parent.title must be a string');
|
|
212
|
-
}
|
|
213
|
-
if (typeof record.body !== 'string' || record.body.trim().length === 0) {
|
|
214
|
-
throw new Error('Invalid plan-auto completion report: parent.body must be a non-empty string');
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
function assertPlanGraph(value) {
|
|
218
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
219
|
-
throw new Error('Invalid plan-auto completion report: graph must be an object');
|
|
220
|
-
}
|
|
221
|
-
const record = value;
|
|
222
|
-
if (!Array.isArray(record.nodes)) {
|
|
223
|
-
throw new Error('Invalid plan-auto completion report: graph.nodes must be an array');
|
|
224
|
-
}
|
|
225
|
-
if (!Array.isArray(record.edges)) {
|
|
226
|
-
throw new Error('Invalid plan-auto completion report: graph.edges must be an array');
|
|
227
|
-
}
|
|
228
|
-
if (record.specGate !== 'wave-level') {
|
|
229
|
-
throw new Error('Invalid plan-auto completion report: graph.specGate must be wave-level');
|
|
230
|
-
}
|
|
231
|
-
for (const item of record.nodes) {
|
|
232
|
-
assertPlanChildNode(item);
|
|
233
|
-
}
|
|
234
|
-
for (const item of record.edges) {
|
|
235
|
-
assertPlanDependencyEdge(item);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
function assertPlanChildNode(value) {
|
|
239
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
240
|
-
throw new Error('Invalid plan-auto completion report: graph node must be an object');
|
|
241
|
-
}
|
|
242
|
-
const record = value;
|
|
243
|
-
for (const key of ['stableId', 'title', 'body']) {
|
|
244
|
-
if (typeof record[key] !== 'string' || record[key].length === 0) {
|
|
245
|
-
throw new Error(`Invalid plan-auto completion report: graph node ${key} must be a non-empty string`);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
if ('issueNumber' in record && !Number.isInteger(record.issueNumber)) {
|
|
249
|
-
throw new Error('Invalid plan-auto completion report: graph node issueNumber must be an integer');
|
|
250
|
-
}
|
|
251
|
-
if (record.afkHitl !== 'afk' && record.afkHitl !== 'hitl') {
|
|
252
|
-
throw new Error('Invalid plan-auto completion report: graph node afkHitl must be afk or hitl');
|
|
253
|
-
}
|
|
254
|
-
assertStringArray(record.ownershipScope, 'ownershipScope', 'Invalid plan-auto completion report');
|
|
255
|
-
assertStringArray(record.dependsOn, 'dependsOn', 'Invalid plan-auto completion report');
|
|
256
|
-
assertStringArray(record.verification, 'verification', 'Invalid plan-auto completion report');
|
|
257
|
-
}
|
|
258
|
-
function assertPlanDependencyEdge(value) {
|
|
259
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
260
|
-
throw new Error('Invalid plan-auto completion report: graph edge must be an object');
|
|
261
|
-
}
|
|
262
|
-
const record = value;
|
|
263
|
-
for (const key of ['from', 'to', 'reason']) {
|
|
264
|
-
if (typeof record[key] !== 'string' || record[key].length === 0) {
|
|
265
|
-
throw new Error(`Invalid plan-auto completion report: graph edge ${key} must be a non-empty string`);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
function assertStringArray(value, key, prefix = 'Invalid scoped completion report') {
|
|
270
|
-
if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
|
|
271
|
-
throw new Error(`${prefix}: ${key} must be a string array`);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
function assertNonEmptyStringArray(value, key) {
|
|
275
|
-
assertStringArray(value, key);
|
|
276
|
-
if (value.some((item) => item.trim().length === 0)) {
|
|
277
|
-
throw new Error(`Invalid scoped completion report: ${key} must contain only non-empty strings`);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
function assertValidation(value) {
|
|
281
|
-
if (!Array.isArray(value)) {
|
|
282
|
-
throw new Error('Invalid scoped completion report: validation must be an array');
|
|
283
|
-
}
|
|
284
|
-
for (const item of value) {
|
|
285
|
-
if (typeof item !== 'object' || item === null || Array.isArray(item)) {
|
|
286
|
-
throw new Error('Invalid scoped completion report: validation item must be an object');
|
|
287
|
-
}
|
|
288
|
-
const record = item;
|
|
289
|
-
if (typeof record.command !== 'string'
|
|
290
|
-
|| record.command.trim().length === 0
|
|
291
|
-
|| !['passed', 'failed', 'skipped'].includes(String(record.status))
|
|
292
|
-
|| typeof record.summary !== 'string') {
|
|
293
|
-
throw new Error('Invalid scoped completion report: validation item is malformed');
|
|
294
|
-
}
|
|
295
|
-
if ('evidence' in record) {
|
|
296
|
-
assertValidationEvidence(record.evidence);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
function assertValidationEvidence(value) {
|
|
301
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
302
|
-
throw new Error('Invalid scoped completion report: validation evidence must be an object');
|
|
303
|
-
}
|
|
304
|
-
const record = value;
|
|
305
|
-
if (record.kind !== 'tdd-red-green') {
|
|
306
|
-
throw new Error('Invalid scoped completion report: validation evidence kind is unsupported');
|
|
307
|
-
}
|
|
308
|
-
assertTddEvidenceEndpoint(record.red, 'red', 'failed');
|
|
309
|
-
assertTddEvidenceEndpoint(record.green, 'green', 'passed');
|
|
310
|
-
}
|
|
311
|
-
function assertTddEvidenceEndpoint(value, key, expectedStatus) {
|
|
312
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
313
|
-
throw new Error(`Invalid scoped completion report: validation evidence ${key} must be an object`);
|
|
314
|
-
}
|
|
315
|
-
const record = value;
|
|
316
|
-
if (typeof record.command !== 'string' || record.command.trim().length === 0) {
|
|
317
|
-
throw new Error(`Invalid scoped completion report: validation evidence ${key} command must be non-empty`);
|
|
318
|
-
}
|
|
319
|
-
if (record.status !== expectedStatus) {
|
|
320
|
-
throw new Error(`Invalid scoped completion report: validation evidence ${key} status must be ${expectedStatus}`);
|
|
321
|
-
}
|
|
322
|
-
if (typeof record.summary !== 'string' || record.summary.trim().length === 0) {
|
|
323
|
-
throw new Error(`Invalid scoped completion report: validation evidence ${key} summary must be non-empty`);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
function assertArtifacts(value) {
|
|
327
|
-
if (!Array.isArray(value)) {
|
|
328
|
-
throw new Error('Invalid scoped completion report: artifacts must be an array');
|
|
329
|
-
}
|
|
330
|
-
for (const item of value) {
|
|
331
|
-
if (typeof item !== 'object' || item === null || Array.isArray(item)) {
|
|
332
|
-
throw new Error('Invalid scoped completion report: artifacts item must be an object');
|
|
333
|
-
}
|
|
334
|
-
const record = item;
|
|
335
|
-
if (typeof record.type !== 'string'
|
|
336
|
-
|| !scopedArtifactTypes.includes(record.type)
|
|
337
|
-
|| typeof record.description !== 'string'
|
|
338
|
-
|| record.description.trim().length === 0) {
|
|
339
|
-
throw new Error('Invalid scoped completion report: artifacts item is malformed');
|
|
340
|
-
}
|
|
341
|
-
if ('path' in record && typeof record.path !== 'string') {
|
|
342
|
-
throw new Error('Invalid scoped completion report: artifacts path must be a string');
|
|
343
|
-
}
|
|
344
|
-
if ('url' in record && typeof record.url !== 'string') {
|
|
345
|
-
throw new Error('Invalid scoped completion report: artifacts url must be a string');
|
|
346
|
-
}
|
|
347
|
-
if (!record.path && !record.url) {
|
|
348
|
-
throw new Error('Invalid scoped completion report: artifacts item must include path or url');
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
function assertProhibitedActions(value) {
|
|
353
|
-
const types = new Set(['secret-file-read', 'secret-file-change', 'destructive-db-or-cache', 'production-deploy-or-release']);
|
|
354
|
-
if (!Array.isArray(value)) {
|
|
355
|
-
throw new Error('Invalid scoped completion report: prohibitedActions must be an array');
|
|
356
|
-
}
|
|
357
|
-
for (const item of value) {
|
|
358
|
-
if (typeof item !== 'object' || item === null || Array.isArray(item)) {
|
|
359
|
-
throw new Error('Invalid scoped completion report: prohibitedActions item must be an object');
|
|
360
|
-
}
|
|
361
|
-
const record = item;
|
|
362
|
-
if (typeof record.type !== 'string' || !types.has(record.type) || typeof record.description !== 'string') {
|
|
363
|
-
throw new Error('Invalid scoped completion report: prohibitedActions item is malformed');
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
function assertPromotion(value) {
|
|
368
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
369
|
-
throw new Error('Invalid scoped completion report: promotion is required for needs-promotion');
|
|
370
|
-
}
|
|
371
|
-
const record = value;
|
|
372
|
-
if (typeof record.reason !== 'string' || record.reason.trim().length === 0) {
|
|
373
|
-
throw new Error('Invalid scoped completion report: promotion.reason must be non-empty');
|
|
374
|
-
}
|
|
375
|
-
assertStringArray(record.criteria, 'promotion.criteria');
|
|
376
|
-
assertStringArray(record.evidence, 'promotion.evidence');
|
|
377
|
-
if (record.criteria.length === 0 || record.evidence.length === 0) {
|
|
378
|
-
throw new Error('Invalid scoped completion report: promotion criteria and evidence must be non-empty');
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
//# sourceMappingURL=completion-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion-report.js","sourceRoot":"","sources":["../../../src/runner/completion-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { CodexOrchestratorConfig, CodexPhase } from '../config/schema.js';
|
|
2
|
-
import type { ResolvedBaseBranch } from '../git/base-branch.js';
|
|
3
|
-
import type { GitHubIssue } from '../github/issues.js';
|
|
4
|
-
import type { RunnerMode } from './issue-state-machine.js';
|
|
5
|
-
export interface WriteContextSnapshotInput {
|
|
6
|
-
targetRoot: string;
|
|
7
|
-
config: CodexOrchestratorConfig;
|
|
8
|
-
issue: GitHubIssue;
|
|
9
|
-
mode: RunnerMode;
|
|
10
|
-
phase: CodexPhase;
|
|
11
|
-
decision: string;
|
|
12
|
-
sessionId: string;
|
|
13
|
-
worktreePath: string;
|
|
14
|
-
promptPath: string;
|
|
15
|
-
reportPath: string;
|
|
16
|
-
logPath: string;
|
|
17
|
-
branchName: string;
|
|
18
|
-
baseBranch: string;
|
|
19
|
-
base?: ResolvedBaseBranch | {
|
|
20
|
-
branch: string;
|
|
21
|
-
sha?: string;
|
|
22
|
-
};
|
|
23
|
-
headSha?: string;
|
|
24
|
-
parentIssueNumber?: number;
|
|
25
|
-
blockedBy?: number[];
|
|
26
|
-
children?: number[];
|
|
27
|
-
createdAt?: Date;
|
|
28
|
-
}
|
|
29
|
-
export interface ContextSnapshotEvidence {
|
|
30
|
-
path: string;
|
|
31
|
-
}
|
|
32
|
-
export declare function writeContextSnapshot(input: WriteContextSnapshotInput): Promise<ContextSnapshotEvidence>;
|
|
33
|
-
//# sourceMappingURL=context-snapshot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-snapshot.d.ts","sourceRoot":"","sources":["../../../src/runner/context-snapshot.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAqE7G"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
|
-
import { mkdir, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { dirname, join } from 'node:path';
|
|
4
|
-
import { resolveCodexProfile } from '../codex/command-adapter.js';
|
|
5
|
-
export async function writeContextSnapshot(input) {
|
|
6
|
-
const snapshotPath = contextSnapshotPath(input);
|
|
7
|
-
const selectedProfile = resolveCodexProfile(input.config, input.phase);
|
|
8
|
-
const snapshot = {
|
|
9
|
-
version: 1,
|
|
10
|
-
createdAt: (input.createdAt ?? new Date()).toISOString(),
|
|
11
|
-
issue: {
|
|
12
|
-
number: input.issue.number,
|
|
13
|
-
title: input.issue.title,
|
|
14
|
-
bodySummary: summarize(input.issue.body),
|
|
15
|
-
labels: input.issue.labels.map((label) => label.name),
|
|
16
|
-
commentSummaries: input.issue.comments.slice(0, 3).map((comment) => ({
|
|
17
|
-
id: comment.id,
|
|
18
|
-
author: comment.author.login,
|
|
19
|
-
createdAt: comment.createdAt,
|
|
20
|
-
summary: summarize(comment.body),
|
|
21
|
-
})),
|
|
22
|
-
},
|
|
23
|
-
runner: {
|
|
24
|
-
mode: input.mode,
|
|
25
|
-
phase: input.phase,
|
|
26
|
-
decision: input.decision,
|
|
27
|
-
selectedProfile: {
|
|
28
|
-
phase: selectedProfile.phase,
|
|
29
|
-
command: selectedProfile.command,
|
|
30
|
-
args: selectedProfile.args,
|
|
31
|
-
timeoutMs: selectedProfile.timeoutMs,
|
|
32
|
-
idleTimeoutMs: selectedProfile.idleTimeoutMs,
|
|
33
|
-
envKeys: Object.keys(selectedProfile.env).sort(),
|
|
34
|
-
},
|
|
35
|
-
publicationBoundaries: [
|
|
36
|
-
'Runner owns GitHub labels, pushes, pull requests, and publication gates.',
|
|
37
|
-
'Codex may only work inside the runner-prepared workspace and write the configured report.',
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
repository: {
|
|
41
|
-
targetRoot: input.targetRoot,
|
|
42
|
-
baseBranch: input.baseBranch,
|
|
43
|
-
base: input.base
|
|
44
|
-
? serializeBase(input.base)
|
|
45
|
-
: undefined,
|
|
46
|
-
branchName: input.branchName,
|
|
47
|
-
headSha: input.headSha,
|
|
48
|
-
},
|
|
49
|
-
session: {
|
|
50
|
-
sessionId: input.sessionId,
|
|
51
|
-
worktreePath: input.worktreePath,
|
|
52
|
-
promptPath: input.promptPath,
|
|
53
|
-
reportPath: input.reportPath,
|
|
54
|
-
logPath: input.logPath,
|
|
55
|
-
},
|
|
56
|
-
dependencies: {
|
|
57
|
-
parentIssueNumber: input.parentIssueNumber,
|
|
58
|
-
blockedBy: input.blockedBy ?? [],
|
|
59
|
-
children: input.children ?? [],
|
|
60
|
-
},
|
|
61
|
-
config: {
|
|
62
|
-
version: input.config.version,
|
|
63
|
-
hash: createHash('sha256').update(JSON.stringify(input.config)).digest('hex').slice(0, 16),
|
|
64
|
-
},
|
|
65
|
-
artifacts: {
|
|
66
|
-
promptPath: input.promptPath,
|
|
67
|
-
reportPath: input.reportPath,
|
|
68
|
-
logPath: input.logPath,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
await mkdir(dirname(snapshotPath), { recursive: true });
|
|
72
|
-
await writeFile(snapshotPath, `${JSON.stringify(snapshot, null, 2)}\n`, 'utf8');
|
|
73
|
-
return { path: snapshotPath };
|
|
74
|
-
}
|
|
75
|
-
function serializeBase(base) {
|
|
76
|
-
if ('remoteRef' in base) {
|
|
77
|
-
return {
|
|
78
|
-
remote: base.remote,
|
|
79
|
-
branch: base.branch,
|
|
80
|
-
ref: base.remoteRef,
|
|
81
|
-
sha: base.sha,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
branch: base.branch,
|
|
86
|
-
sha: base.sha,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function contextSnapshotPath(input) {
|
|
90
|
-
return join(input.targetRoot, input.config.runner.stateDir, 'snapshots', `issue-${input.issue.number}-${input.sessionId}.json`);
|
|
91
|
-
}
|
|
92
|
-
function summarize(value) {
|
|
93
|
-
const normalized = value.replace(/\s+/g, ' ').trim();
|
|
94
|
-
if (normalized.length <= 500) {
|
|
95
|
-
return normalized;
|
|
96
|
-
}
|
|
97
|
-
return `${normalized.slice(0, 497)}...`;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=context-snapshot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-snapshot.js","sourceRoot":"","sources":["../../../src/runner/context-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA8BlE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAgC;IACzE,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;QACxD,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACrD,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACnE,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;SACJ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE;gBACf,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,aAAa,EAAE,eAAe,CAAC,aAAa;gBAC5C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;aACjD;YACD,qBAAqB,EAAE;gBACrB,0EAA0E;gBAC1E,2FAA2F;aAC5F;SACF;QACD,UAAU,EAAE;YACV,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBACd,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;QACD,YAAY,EAAE;YACZ,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;SAC/B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YAC7B,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC3F;QACD,SAAS,EAAE;YACT,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;KACF,CAAC;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAA2D;IAChF,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAgC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,CAAC;AAClI,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;AAC1C,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type GitHubIssueAdapter } from '../github/issues.js';
|
|
2
|
-
import type { GitHubPullRequestAdapter } from '../github/pull-requests.js';
|
|
3
|
-
import { GitWorktreeManager } from '../git/worktree.js';
|
|
4
|
-
import { type HygieneCleanupResult } from './hygiene-cleanup.js';
|
|
5
|
-
import { type WorktreeCleanupResult } from './worktree-cleanup.js';
|
|
6
|
-
export interface DaemonCommandOptions {
|
|
7
|
-
targetRoot: string;
|
|
8
|
-
issueAdapter?: GitHubIssueAdapter;
|
|
9
|
-
pullRequestAdapter?: GitHubPullRequestAdapter;
|
|
10
|
-
git?: GitWorktreeManager;
|
|
11
|
-
intervalMs?: number;
|
|
12
|
-
once?: boolean;
|
|
13
|
-
maxRuns?: number;
|
|
14
|
-
concurrency?: number;
|
|
15
|
-
sleep?: (milliseconds: number) => Promise<void>;
|
|
16
|
-
executeIssue?: (issueNumber: number) => Promise<{
|
|
17
|
-
reportComment: string;
|
|
18
|
-
}>;
|
|
19
|
-
cleanupHygiene?: () => Promise<HygieneCleanupResult>;
|
|
20
|
-
cleanupWorktrees?: () => Promise<WorktreeCleanupResult>;
|
|
21
|
-
onEvent?: (line: string) => void;
|
|
22
|
-
now?: () => Date;
|
|
23
|
-
}
|
|
24
|
-
export interface DaemonCommandResult {
|
|
25
|
-
output: string;
|
|
26
|
-
scanned: number;
|
|
27
|
-
executed: number[];
|
|
28
|
-
}
|
|
29
|
-
export declare function runDaemonCommand(options: DaemonCommandOptions): Promise<DaemonCommandResult>;
|
|
30
|
-
//# sourceMappingURL=daemon-command.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-command.d.ts","sourceRoot":"","sources":["../../../src/runner/daemon-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6C,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIpF,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG3F,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAWD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAelG"}
|