@frankzhang2026/opencode-android-orchestrator 0.6.0 → 0.7.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +79 -25
  3. package/dist/cli.js +66 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/long-command-timeout.d.ts +20 -0
  6. package/dist/config/long-command-timeout.d.ts.map +1 -0
  7. package/dist/config/long-command-timeout.js +65 -0
  8. package/dist/config/long-command-timeout.js.map +1 -0
  9. package/dist/config/verification-policy.d.ts +20 -0
  10. package/dist/config/verification-policy.d.ts.map +1 -0
  11. package/dist/config/verification-policy.js +59 -0
  12. package/dist/config/verification-policy.js.map +1 -0
  13. package/dist/doctor/installation.d.ts +1 -1
  14. package/dist/doctor/installation.d.ts.map +1 -1
  15. package/dist/doctor/installation.js +49 -4
  16. package/dist/doctor/installation.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/installer/adaptive-templates.d.ts +10 -1
  22. package/dist/installer/adaptive-templates.d.ts.map +1 -1
  23. package/dist/installer/adaptive-templates.js +21 -0
  24. package/dist/installer/adaptive-templates.js.map +1 -1
  25. package/dist/installer/init.d.ts +1 -1
  26. package/dist/installer/init.d.ts.map +1 -1
  27. package/dist/installer/init.js +4 -1
  28. package/dist/installer/init.js.map +1 -1
  29. package/dist/installer/install-manifest.d.ts.map +1 -1
  30. package/dist/installer/install-manifest.js +13 -1
  31. package/dist/installer/install-manifest.js.map +1 -1
  32. package/dist/installer/opencode-config.d.ts +3 -3
  33. package/dist/installer/opencode-config.js +1 -1
  34. package/dist/installer/upgrade.d.ts +1 -0
  35. package/dist/installer/upgrade.d.ts.map +1 -1
  36. package/dist/installer/upgrade.js +41 -2
  37. package/dist/installer/upgrade.js.map +1 -1
  38. package/dist/plugin/index.d.ts.map +1 -1
  39. package/dist/plugin/index.js +5 -0
  40. package/dist/plugin/index.js.map +1 -1
  41. package/docs/MIGRATION.md +25 -13
  42. package/docs/SECURITY.md +25 -6
  43. package/docs/TROUBLESHOOTING.md +20 -2
  44. package/package.json +1 -1
  45. package/templates/.opencode/agents/scheduled-planner.md +5 -0
  46. package/templates/.opencode/commands/resume-task.md +28 -0
  47. package/templates/.opencode/skills/scheduled-quality-coder/SKILL.md +4 -3
  48. package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +38 -3
  49. package/templates/.opencode/skills/scheduled-quality-reviewer/SKILL.md +3 -2
  50. package/templates/README.md +7 -4
  51. package/templates/automation/config.json +5 -1
  52. package/templates/automation/config.schema.json +13 -2
  53. package/templates/automation/tasks/TASK-TEMPLATE.json.example +1 -1
  54. package/templates/scripts/automation/claim-task.sh +23 -8
  55. package/templates/scripts/automation/lib.sh +38 -0
  56. package/templates/scripts/automation/orchestrate-task.sh +1 -1
  57. package/templates/scripts/automation/preflight.sh +1 -0
  58. package/templates/scripts/automation/resume-task.sh +135 -0
  59. package/templates/scripts/automation/tests/run-tests.sh +64 -3
  60. package/templates/scripts/automation/verify-integration.sh +2 -9
  61. package/templates/scripts/automation/verify-task.sh +2 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0 - Unreleased
4
+
5
+ - Make unit-test and Android lint gates explicit, repository-configured
6
+ policies. `unitTestsEnabled` defaults to `true`, `lintEnabled` defaults to
7
+ `false`, and both are changed only in `automation/config.json`.
8
+ - Preserve supported verification-policy edits across upgrades and accept them
9
+ in doctor checks while keeping every other generated configuration field
10
+ protected by manifest integrity.
11
+ - Skip baseline/focused/full unit-test gates or `lintTasks` when their policy is
12
+ disabled, while retaining RED evidence and discovered task lists.
13
+ - Raise direct managed long-running automation commands through the certified
14
+ `tool.execute.before` hook to a 30-minute (`1800000` ms) default timeout,
15
+ while preserving any higher caller timeout and leaving unrelated commands
16
+ untouched.
17
+ - Add the bounded `longCommandTimeoutMs` configuration (`120000` through
18
+ `7200000` ms), expose it through `init` and `upgrade` as
19
+ `--long-command-timeout-ms`, and preserve an installed value during upgrade.
20
+ - Add `/resume-task` and `resume-task.sh` for one explicitly approved recovery
21
+ when baseline capture was interrupted before `baseline.json` existed. The
22
+ script proves both refs, HEAD, lease, transition history, sealed planning
23
+ hashes, zero product changes, and absent downstream evidence before routing
24
+ `BLOCKED -> PENDING` through the normal claim flow.
25
+ - Expand the managed inventory from 45 to 47 files, the executable Shell
26
+ inventory from 28 to 29 scripts, and the transaction suite from 42 to 44
27
+ cases.
28
+
3
29
  ## 0.6.0 - 2026-09-01
4
30
 
5
31
  - Disable Gradle Configuration Cache only for the temporary `help` invocation
package/README.md CHANGED
@@ -11,6 +11,9 @@ including product flavors, without a separate JSON file and bootstraps the
11
11
  human-owned worktree allowlist when it is missing. Version `0.6.0` makes that
12
12
  discovery reliable in repositories that enable Gradle Configuration Cache by
13
13
  disabling the cache only for the temporary discovery invocation.
14
+ Version `0.7.0` adds repository-configured unit-test and lint verification
15
+ policies, while retaining the configurable 30-minute timeout and bounded
16
+ baseline-capture recovery path.
14
17
 
15
18
  ## Documentation
16
19
 
@@ -45,8 +48,8 @@ project builds retain their configured cache behavior.
45
48
  ## Quick start
46
49
 
47
50
  ```sh
48
- npx @frankzhang2026/opencode-android-orchestrator@0.6.0 init .
49
- npx @frankzhang2026/opencode-android-orchestrator@0.6.0 doctor .
51
+ npx @frankzhang2026/opencode-android-orchestrator@0.7.0 init .
52
+ npx @frankzhang2026/opencode-android-orchestrator@0.7.0 doctor .
50
53
  opencode --agent scheduled-planner .
51
54
  ```
52
55
 
@@ -56,7 +59,7 @@ a task contract without selecting a primary module. To intentionally restrict
56
59
  generated contracts to one module, opt into primary-module scope:
57
60
 
58
61
  ```sh
59
- npx @frankzhang2026/opencode-android-orchestrator@0.6.0 init . \
62
+ npx @frankzhang2026/opencode-android-orchestrator@0.7.0 init . \
60
63
  --module-scope primary \
61
64
  --primary-module :mobile
62
65
  ```
@@ -77,6 +80,51 @@ cacheable `help` invocation. `--gradle-verification-config` remains available
77
80
  only for an intentional nonstandard policy override and is not part of the
78
81
  normal quick start.
79
82
 
83
+ ### Configurable unit-test and lint verification
84
+
85
+ Verification policy lives in `automation/config.json`:
86
+
87
+ ```json
88
+ {
89
+ "unitTestsEnabled": true,
90
+ "lintEnabled": false
91
+ }
92
+ ```
93
+
94
+ Unit-test verification is enabled by default. Setting `unitTestsEnabled` to
95
+ `false` skips the baseline unit suite and the focused/full unit-test portions
96
+ of task, review, and integration gates. The mandatory TDD RED evidence step is
97
+ unchanged. Android lint is disabled by default; setting `lintEnabled` to `true`
98
+ runs the discovered `lintTasks` in those gates. Assemble, scope, evidence, and
99
+ required device-test checks are unaffected by either flag.
100
+
101
+ These two booleans are the operator-editable exceptions in the otherwise
102
+ managed configuration. Change their values in place and commit the file before
103
+ starting orchestration. Doctor accepts these policy changes and a later
104
+ upgrade preserves them. Do not reformat or edit unrelated generated fields.
105
+ Legacy installations without the fields receive `true` for unit tests and
106
+ `false` for lint during upgrade.
107
+
108
+ ### Managed long-command timeout
109
+
110
+ The plugin raises direct managed lifecycle commands such as `claim-task.sh`,
111
+ `approve-and-run.sh`, quality/review verification, recovery, and integration
112
+ to at least `1800000` milliseconds (30 minutes). It never shortens a larger
113
+ timeout supplied by the caller and does not alter unrelated Bash commands.
114
+
115
+ Configure a different bounded value during installation or upgrade:
116
+
117
+ ```sh
118
+ opencode-android-orchestrator init . --long-command-timeout-ms 3600000
119
+ opencode-android-orchestrator upgrade . --long-command-timeout-ms 3600000
120
+ ```
121
+
122
+ The accepted range is `120000` through `7200000` milliseconds. Upgrade
123
+ preserves an installed value; installations before `0.6.1` receive the
124
+ 30-minute default. Apart from the two verification-policy booleans, generated
125
+ `automation/config.json` fields remain managed, so use the lifecycle option
126
+ instead of editing the timeout directly.
127
+
80
128
  ### Allow intentional local worktree changes
81
129
 
82
130
  `init` automatically creates `.automation-worktree-allowlist` in the Git
@@ -95,7 +143,7 @@ file paths; directory entries and glob patterns are rejected. The control file
95
143
  itself is automatically ignored by orchestration, so it does not need a
96
144
  `.gitignore` rule merely to pass preflight.
97
145
 
98
- The file is bootstrapped but intentionally not part of the 45 managed-resource
146
+ The file is bootstrapped but intentionally not part of the 47 managed-resource
99
147
  hashes, so human edits do not create installation-integrity drift. Planning
100
148
  remains read-only, and a file newly created by `init` is removed if that
101
149
  installation later rolls back. Upgrade and uninstall preserve the file as
@@ -114,21 +162,23 @@ Task status exposes the effective snapshot to Coder and Reviewer sessions; an
114
162
  isolated task worktree receives an empty effective list so task-local edits are
115
163
  never hidden by source-worktree exclusions.
116
164
 
117
- The install transaction manages 45 project-local paths:
165
+ The install transaction manages 47 project-local paths:
118
166
 
119
167
  | Resource group | Count | Installation behavior |
120
168
  | --- | ---: | --- |
121
- | Scheduled agents, commands, and skills | 10 | Copy exact audited templates. |
122
- | Deterministic automation Shell files | 28 | Copy exact templates with `0755` modes. |
169
+ | Scheduled agents, commands, and skills | 11 | Copy exact audited templates. |
170
+ | Deterministic automation Shell files | 29 | Copy exact templates with `0755` modes. |
123
171
  | Schemas and plan authoring guide | 3 | Copy fixed supporting resources. |
124
172
  | Android automation config and task example | 2 | Generate from detected modules. |
125
173
  | `AGENTS.md` and OpenCode JSON/JSONC | 2 | Merge bounded content without replacing unrelated settings. |
126
174
 
127
175
  After installation, start the `scheduled-planner` and use its interactive flow.
128
- The `/acceptance <TASK-ID>`, `/resume-review <TASK-ID>`, and
129
- `/abort-task <TASK-ID>` commands are recovery/re-entry points; they do not
130
- replace the required fresh approval controls. The workflow never pushes and
131
- does not register Scheduler or launchd jobs.
176
+ The `/acceptance <TASK-ID>`, `/resume-task <TASK-ID>`,
177
+ `/resume-review <TASK-ID>`, and `/abort-task <TASK-ID>` commands are
178
+ recovery/re-entry points; they do not replace the required fresh approval
179
+ controls. `/resume-task` is limited to one baseline-only retry and rejects any
180
+ product diff or existing baseline/downstream evidence. The workflow never
181
+ pushes and does not register Scheduler or launchd jobs.
132
182
 
133
183
  ## Status
134
184
 
@@ -138,7 +188,9 @@ defaults and stronger verification contracts, and `0.4.0` adds the bounded
138
188
  worktree allowlist described above. Version `0.5.0` added automatic registered
139
189
  Gradle-task discovery and safe allowlist bootstrapping during `init`; version
140
190
  `0.6.0` makes discovery independent of the target project's Configuration
141
- Cache setting.
191
+ Cache setting, `0.6.1` adds configurable long-command timeouts plus bounded
192
+ baseline-interruption recovery, and `0.7.0` makes unit-test and lint gates
193
+ repository-configurable.
142
194
 
143
195
  The cross-version plugin entry, OpenCode version doctor, Android/Gradle project
144
196
  discovery, audited V3 resources, and all deterministic V3 Shell transactions
@@ -167,12 +219,13 @@ Implemented checks include:
167
219
  multi-module, custom `projectDir`, version-catalog plugin aliases, and Gradle
168
220
  Wrapper detection
169
221
  - one-pass, marker-bounded Gradle task discovery for unflavored and flavored
170
- debug unit, build, lint, and connected-device verification tasks
222
+ debug unit, build, lint, and connected-device verification tasks, with unit
223
+ and lint execution controlled independently by repository policy
171
224
  - a plugin compatibility boundary restricted to API fields and hooks shared
172
225
  by both certified OpenCode versions
173
- - project-independent templates for the three V3 agents, four commands, and
226
+ - project-independent templates for the three V3 agents, five commands, and
174
227
  three scheduled-quality skills
175
- - all 28 automation Bash files with their `0755` modes; scope and test-change
228
+ - all 29 automation Bash files with their `0755` modes; scope and test-change
176
229
  gates consume detected source-set paths instead of a fixed module name
177
230
  - a portable automation configuration source, both Schemas, contract example,
178
231
  plan guide, and bounded AGENTS managed block
@@ -196,14 +249,14 @@ Implemented checks include:
196
249
  - read-only conflict reports with existing and desired hashes, sizes, modes,
197
250
  source, and strategy; installation planning fails closed before any write
198
251
  when `copy`/`generate` content or an existing file mode would be changed
199
- - a write-capable `init` transaction that installs 45 managed files, preserves
252
+ - a write-capable `init` transaction that installs 47 managed files, preserves
200
253
  Shell executable modes, merges OpenCode JSON/JSONC and one bounded AGENTS
201
254
  block, bootstraps the optional human-owned worktree allowlist when missing,
202
255
  and is byte-idempotent for an unchanged installed version
203
- - write-before-complete verification using the 42-case automation suite and a
256
+ - write-before-complete verification using the 44-case automation suite and a
204
257
  read-only shadow run; any failure restores original files before reporting
205
258
  the error
206
- - an installation-aware, read-only doctor that authenticates the 45-file
259
+ - an installation-aware, read-only doctor that authenticates the 47-file
207
260
  inventory against packaged templates, separates content and permission
208
261
  drift, verifies original-file backups, and semantically checks the OpenCode,
209
262
  AGENTS, adaptive Android, and task-example configuration
@@ -278,7 +331,7 @@ preparation alone as resource installation;
278
331
  ## Init
279
332
 
280
333
  ```sh
281
- npx @frankzhang2026/opencode-android-orchestrator@0.6.0 init .
334
+ npx @frankzhang2026/opencode-android-orchestrator@0.7.0 init .
282
335
  opencode --agent scheduled-planner .
283
336
  ```
284
337
 
@@ -306,7 +359,7 @@ Android Gradle project, an executable Gradle Wrapper, `git`, `jq`, `rg`,
306
359
  preserving any existing regular file;
307
360
  5. backs up every existing managed path and publishes a `prepared` manifest;
308
361
  6. writes missing or approved merged files with verified hashes and modes;
309
- 7. runs the 42 automation tests and `shadow-run.sh`;
362
+ 7. runs the 44 automation tests and `shadow-run.sh`;
310
363
  8. marks the manifest `installed` only after both checks pass.
311
364
 
312
365
  Verification failure automatically restores originals and records rollback
@@ -333,8 +386,8 @@ without detectable `platforms` or `build-tools` is reported as a warning.
333
386
  Installation checks are deliberately read-only and cover:
334
387
 
335
388
  - manifest schema, installed state, fixed package version, `0600` mode, exact
336
- 45-file inventory, sources, strategies, and packaged-template hashes;
337
- - each managed file's SHA-256, size, and mode, including all 28 executable
389
+ 47-file inventory, sources, strategies, and packaged-template hashes;
390
+ - each managed file's SHA-256, size, and mode, including all 29 executable
338
391
  automation scripts;
339
392
  - every original-file backup required for future recovery;
340
393
  - pinned OpenCode and Superpowers references, the exact bounded AGENTS block,
@@ -370,7 +423,7 @@ preflight verifies both resolved permissions and tool discovery.
370
423
  ### Phase 2 mutating-tool decision
371
424
 
372
425
  The 2026-08-25 evaluation remains **NO-GO for mutating custom tools in
373
- `0.6.0`**.
426
+ `0.7.0`**.
374
427
  The fixed Shell allowlist remains the only entry point for state transitions,
375
428
  Git mutations, and agent launches. OpenCode custom tools provide typed arguments
376
429
  and workspace context, but a normal permission prompt is not the workflow's
@@ -387,6 +440,7 @@ two-version common execution surface. See the OpenCode documentation for
387
440
  | `prepare-contract-review.sh` | Writes approval/origin evidence and initializes `CONTRACT_REVIEW` | Defer until a fresh proposal selection can produce a one-use receipt. |
388
441
  | `approve-and-run.sh` | Acquires a repository lease, creates or switches a task branch/worktree, and launches agents | Do not wrap without a contract-approval receipt and cancellable long-running execution. |
389
442
  | `show-acceptance-review.sh` | Reads sealed evidence but may regenerate `acceptance-report.json` | First split out a genuinely read-only, in-memory preview; that preview is the earliest suitable candidate. |
443
+ | `resume-task.sh` | Records one baseline-only resumption, changes a narrowly proven `BLOCKED` state to `PENDING`, and relaunches normal orchestration | Keep behind the fresh command question and fixed Shell allowlist; do not expose as a custom mutating tool without a one-use receipt. |
390
444
  | `resume-review.sh` | Records a bounded resumption, changes `BLOCKED` to `REVIEWING`, and launches Reviewer | Consider only after command-bound authorization and subprocess cancellation are proven on both versions. |
391
445
  | `accept-and-integrate.sh` | Creates the combined commit, fast-forwards the original branch, removes a worktree, and deletes the task branch | Do not wrap until final acceptance is bound to task ID, sealed diff, branch, session, and a consumed nonce. |
392
446
  | `abort-task.sh` | Archives work, may create a recovery commit, switches/removes worktrees, and releases the lease | Do not wrap until an equally bound, one-use abort receipt exists. |
@@ -397,7 +451,7 @@ the immediately preceding `question` result and bind at least the approval
397
451
  kind, task ID, session, message, relevant sealed SHA/branch, timestamp, and
398
452
  nonce. It must also retain fixed-script authentication, strict state
399
453
  preconditions, project/worktree bounds, abort propagation that terminates child
400
- processes, bounded structured output, exact per-agent permissions, the 42-case
454
+ processes, bounded structured output, exact per-agent permissions, the 44-case
401
455
  transaction suite, and real `1.14.22`/`1.15.13` integration tests. Internal
402
456
  Coder/Reviewer transition scripts remain private orchestration details rather
403
457
  than public tools.
@@ -430,7 +484,7 @@ For an older healthy installation, the command:
430
484
  backup set;
431
485
  4. writes only changed managed resources and restores or removes resources no
432
486
  longer managed by the new version;
433
- 5. runs the 42 automation tests and a mutation-free shadow run before swapping
487
+ 5. runs the 44 automation tests and a mutation-free shadow run before swapping
434
488
  the active manifest;
435
489
  6. records upgrade history below `.automation-plugin/history/`.
436
490
 
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { readFileSync } from "node:fs";
3
3
  import { resolve } from "node:path";
4
4
  import process from "node:process";
5
+ import { DEFAULT_LONG_COMMAND_TIMEOUT_MS, isLongCommandTimeoutMs, } from "./config/long-command-timeout.js";
5
6
  import { INSTALLER_COMMANDS } from "./commands/index.js";
6
7
  import { formatDoctorReport, runDoctor } from "./doctor/index.js";
7
8
  import { formatProjectInitializationResult, runProjectInitialization, } from "./installer/init.js";
@@ -21,10 +22,12 @@ function printHelp() {
21
22
  function printInitHelp() {
22
23
  process.stdout.write(`OpenCode Android Orchestrator init\n\n`);
23
24
  process.stdout.write(`Usage:\n`);
24
- process.stdout.write(` opencode-android-orchestrator init [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--json]\n`);
25
+ process.stdout.write(` opencode-android-orchestrator init [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--long-command-timeout-ms <milliseconds>] [--json]\n`);
25
26
  process.stdout.write(`\nDefault module scope: all\n`);
26
27
  process.stdout.write(`Default Gradle verification: auto-discovered; the JSON option is an explicit override.\n`);
28
+ process.stdout.write(`Verification policy: edit lintEnabled and unitTestsEnabled in automation/config.json after installation.\n`);
27
29
  process.stdout.write(`Worktree allowlist: created automatically when missing; an existing regular file is preserved.\n`);
30
+ process.stdout.write(`Default managed long-command timeout: ${DEFAULT_LONG_COMMAND_TIMEOUT_MS} ms (30 minutes).\n`);
28
31
  }
29
32
  function printDoctorHelp() {
30
33
  process.stdout.write(`OpenCode Android Orchestrator doctor\n\n`);
@@ -34,8 +37,17 @@ function printDoctorHelp() {
34
37
  function printUpgradeHelp() {
35
38
  process.stdout.write(`OpenCode Android Orchestrator upgrade\n\n`);
36
39
  process.stdout.write(`Usage:\n`);
37
- process.stdout.write(` opencode-android-orchestrator upgrade [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--json]\n`);
40
+ process.stdout.write(` opencode-android-orchestrator upgrade [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--long-command-timeout-ms <milliseconds>] [--json]\n`);
38
41
  process.stdout.write(`\nPreserves the installed module scope; legacy installations default to primary.\n`);
42
+ process.stdout.write(`Preserves verification policy from automation/config.json; legacy defaults are unit tests enabled and lint disabled.\n`);
43
+ process.stdout.write(`Preserves the installed long-command timeout; legacy installations default to ${DEFAULT_LONG_COMMAND_TIMEOUT_MS} ms.\n`);
44
+ }
45
+ function parseLongCommandTimeoutMs(value) {
46
+ if (!/^\d+$/.test(value)) {
47
+ return undefined;
48
+ }
49
+ const parsed = Number(value);
50
+ return isLongCommandTimeoutMs(parsed) ? parsed : undefined;
39
51
  }
40
52
  function printUninstallHelp() {
41
53
  process.stdout.write(`OpenCode Android Orchestrator uninstall\n\n`);
@@ -89,6 +101,7 @@ else if (command === "init") {
89
101
  let moduleScope;
90
102
  let primaryModule;
91
103
  let gradleVerificationConfigPath;
104
+ let longCommandTimeoutMs;
92
105
  let json = false;
93
106
  const unexpected = [];
94
107
  for (let index = 0; index < commandArguments.length; index += 1) {
@@ -158,6 +171,28 @@ else if (command === "init") {
158
171
  gradleVerificationConfigPath = value;
159
172
  }
160
173
  }
174
+ else if (argument === "--long-command-timeout-ms") {
175
+ const value = commandArguments[index + 1];
176
+ const parsed = value === undefined
177
+ ? undefined
178
+ : parseLongCommandTimeoutMs(value);
179
+ if (parsed === undefined) {
180
+ unexpected.push(value === undefined ? argument : `${argument} ${value}`);
181
+ }
182
+ else {
183
+ longCommandTimeoutMs = parsed;
184
+ index += 1;
185
+ }
186
+ }
187
+ else if (argument.startsWith("--long-command-timeout-ms=")) {
188
+ const parsed = parseLongCommandTimeoutMs(argument.slice("--long-command-timeout-ms=".length));
189
+ if (parsed === undefined) {
190
+ unexpected.push(argument);
191
+ }
192
+ else {
193
+ longCommandTimeoutMs = parsed;
194
+ }
195
+ }
161
196
  else if (argument.startsWith("-")) {
162
197
  unexpected.push(argument);
163
198
  }
@@ -184,6 +219,9 @@ else if (command === "init") {
184
219
  if (gradleVerificationConfigPath !== undefined) {
185
220
  options.gradleVerification = readGradleVerificationConfiguration(gradleVerificationConfigPath);
186
221
  }
222
+ if (longCommandTimeoutMs !== undefined) {
223
+ options.longCommandTimeoutMs = longCommandTimeoutMs;
224
+ }
187
225
  const result = runProjectInitialization(targetDirectory ?? process.cwd(), options);
188
226
  process.stdout.write(json
189
227
  ? `${JSON.stringify(result, null, 2)}\n`
@@ -207,6 +245,7 @@ else if (command === "upgrade") {
207
245
  let moduleScope;
208
246
  let primaryModule;
209
247
  let gradleVerificationConfigPath;
248
+ let longCommandTimeoutMs;
210
249
  let json = false;
211
250
  const unexpected = [];
212
251
  for (let index = 0; index < commandArguments.length; index += 1) {
@@ -276,6 +315,28 @@ else if (command === "upgrade") {
276
315
  gradleVerificationConfigPath = value;
277
316
  }
278
317
  }
318
+ else if (argument === "--long-command-timeout-ms") {
319
+ const value = commandArguments[index + 1];
320
+ const parsed = value === undefined
321
+ ? undefined
322
+ : parseLongCommandTimeoutMs(value);
323
+ if (parsed === undefined) {
324
+ unexpected.push(value === undefined ? argument : `${argument} ${value}`);
325
+ }
326
+ else {
327
+ longCommandTimeoutMs = parsed;
328
+ index += 1;
329
+ }
330
+ }
331
+ else if (argument.startsWith("--long-command-timeout-ms=")) {
332
+ const parsed = parseLongCommandTimeoutMs(argument.slice("--long-command-timeout-ms=".length));
333
+ if (parsed === undefined) {
334
+ unexpected.push(argument);
335
+ }
336
+ else {
337
+ longCommandTimeoutMs = parsed;
338
+ }
339
+ }
279
340
  else if (argument.startsWith("-")) {
280
341
  unexpected.push(argument);
281
342
  }
@@ -302,6 +363,9 @@ else if (command === "upgrade") {
302
363
  if (gradleVerificationConfigPath !== undefined) {
303
364
  options.gradleVerification = readGradleVerificationConfiguration(gradleVerificationConfigPath);
304
365
  }
366
+ if (longCommandTimeoutMs !== undefined) {
367
+ options.longCommandTimeoutMs = longCommandTimeoutMs;
368
+ }
305
369
  const result = runProjectUpgrade(targetDirectory ?? process.cwd(), options);
306
370
  process.stdout.write(json
307
371
  ? `${JSON.stringify(result, null, 2)}\n`
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const DEFAULT_LONG_COMMAND_TIMEOUT_MS: number;
2
+ export declare const MINIMUM_LONG_COMMAND_TIMEOUT_MS: number;
3
+ export declare const MAXIMUM_LONG_COMMAND_TIMEOUT_MS: number;
4
+ export declare const LONG_RUNNING_AUTOMATION_SCRIPTS: readonly ["accept-and-integrate.sh", "approve-and-run.sh", "claim-task.sh", "orchestrate-task.sh", "quality-gate.sh", "resume-review.sh", "resume-task.sh", "submit-review.sh", "verify-integration.sh", "verify-task.sh"];
5
+ export declare function isLongCommandTimeoutMs(value: unknown): value is number;
6
+ /**
7
+ * Runtime loading is deliberately fail-safe for legacy installations: schema
8
+ * validation remains the install-time authority, while a missing or malformed
9
+ * value can never restore OpenCode's shorter default for managed long runs.
10
+ */
11
+ export declare function readLongCommandTimeoutMs(worktree: string): number;
12
+ export interface ToolExecutionInput {
13
+ tool: string;
14
+ }
15
+ export interface ToolExecutionOutput {
16
+ args: unknown;
17
+ }
18
+ /** Raise, but never shorten, the timeout for a direct managed long command. */
19
+ export declare function applyLongCommandTimeout(input: ToolExecutionInput, output: ToolExecutionOutput, configuredTimeoutMs: number): void;
20
+ //# sourceMappingURL=long-command-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long-command-timeout.d.ts","sourceRoot":"","sources":["../../src/config/long-command-timeout.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAC/D,eAAO,MAAM,+BAA+B,QAAiB,CAAC;AAC9D,eAAO,MAAM,+BAA+B,QAAsB,CAAC;AAEnE,eAAO,MAAM,+BAA+B,4NAWlC,CAAC;AAEX,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAOtE;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYjE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;CACf;AAcD,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,mBAAmB,EAC3B,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAgBN"}
@@ -0,0 +1,65 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ export const DEFAULT_LONG_COMMAND_TIMEOUT_MS = 30 * 60 * 1_000;
4
+ export const MINIMUM_LONG_COMMAND_TIMEOUT_MS = 2 * 60 * 1_000;
5
+ export const MAXIMUM_LONG_COMMAND_TIMEOUT_MS = 2 * 60 * 60 * 1_000;
6
+ export const LONG_RUNNING_AUTOMATION_SCRIPTS = [
7
+ "accept-and-integrate.sh",
8
+ "approve-and-run.sh",
9
+ "claim-task.sh",
10
+ "orchestrate-task.sh",
11
+ "quality-gate.sh",
12
+ "resume-review.sh",
13
+ "resume-task.sh",
14
+ "submit-review.sh",
15
+ "verify-integration.sh",
16
+ "verify-task.sh",
17
+ ];
18
+ export function isLongCommandTimeoutMs(value) {
19
+ return (typeof value === "number" &&
20
+ Number.isInteger(value) &&
21
+ value >= MINIMUM_LONG_COMMAND_TIMEOUT_MS &&
22
+ value <= MAXIMUM_LONG_COMMAND_TIMEOUT_MS);
23
+ }
24
+ function isRecord(value) {
25
+ return typeof value === "object" && value !== null && !Array.isArray(value);
26
+ }
27
+ /**
28
+ * Runtime loading is deliberately fail-safe for legacy installations: schema
29
+ * validation remains the install-time authority, while a missing or malformed
30
+ * value can never restore OpenCode's shorter default for managed long runs.
31
+ */
32
+ export function readLongCommandTimeoutMs(worktree) {
33
+ try {
34
+ const config = JSON.parse(readFileSync(join(worktree, "automation", "config.json"), "utf8"));
35
+ if (isRecord(config) && isLongCommandTimeoutMs(config.longCommandTimeoutMs)) {
36
+ return config.longCommandTimeoutMs;
37
+ }
38
+ }
39
+ catch {
40
+ // The read-only plugin must still load so doctor can report installation issues.
41
+ }
42
+ return DEFAULT_LONG_COMMAND_TIMEOUT_MS;
43
+ }
44
+ function isManagedLongCommand(command) {
45
+ if (typeof command !== "string") {
46
+ return false;
47
+ }
48
+ const scriptNames = LONG_RUNNING_AUTOMATION_SCRIPTS.map((name) => name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|");
49
+ return new RegExp(`^\\s*\\./scripts/automation/(?:${scriptNames})(?:\\s|$)`).test(command);
50
+ }
51
+ /** Raise, but never shorten, the timeout for a direct managed long command. */
52
+ export function applyLongCommandTimeout(input, output, configuredTimeoutMs) {
53
+ if (input.tool !== "bash" ||
54
+ !isRecord(output.args) ||
55
+ !isManagedLongCommand(output.args.command)) {
56
+ return;
57
+ }
58
+ const existing = output.args.timeout;
59
+ if (typeof existing !== "number" ||
60
+ !Number.isFinite(existing) ||
61
+ existing < configuredTimeoutMs) {
62
+ output.args.timeout = configuredTimeoutMs;
63
+ }
64
+ }
65
+ //# sourceMappingURL=long-command-timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long-command-timeout.js","sourceRoot":"","sources":["../../src/config/long-command-timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAC/D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAC9D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAEnE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,yBAAyB;IACzB,oBAAoB;IACpB,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,uBAAuB;IACvB,gBAAgB;CACR,CAAC;AAEX,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,KAAK,IAAI,+BAA+B;QACxC,KAAK,IAAI,+BAA+B,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CACvD,CAAC;QACb,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC,oBAAoB,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;IACnF,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAUD,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAC5C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,MAAM,CACf,kCAAkC,WAAW,YAAY,CAC1D,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CACrC,KAAyB,EACzB,MAA2B,EAC3B,mBAA2B;IAE3B,IACE,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACtB,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1C,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACrC,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1B,QAAQ,GAAG,mBAAmB,EAC9B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC;IAC5C,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
2
+ export declare const DEFAULT_LINT_ENABLED = false;
3
+ export declare const DEFAULT_UNIT_TESTS_ENABLED = true;
4
+ export interface VerificationPolicy {
5
+ lintEnabled: boolean;
6
+ unitTestsEnabled: boolean;
7
+ }
8
+ interface ContentFingerprint {
9
+ sha256: string;
10
+ size: number;
11
+ }
12
+ /**
13
+ * Accept an otherwise byte-identical generated configuration when an operator
14
+ * changed only the two supported verification-policy booleans. Enumerating the
15
+ * previous boolean states lets upgrades authenticate the remaining managed
16
+ * content against the installed manifest without storing another file copy.
17
+ */
18
+ export declare function matchesManifestModuloVerificationPolicy(content: Uint8Array, expected: ContentFingerprint): boolean;
19
+ export {};
20
+ //# sourceMappingURL=verification-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-policy.d.ts","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAsBD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAwCT"}
@@ -0,0 +1,59 @@
1
+ import { createHash } from "node:crypto";
2
+ export const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
3
+ export const DEFAULT_LINT_ENABLED = false;
4
+ export const DEFAULT_UNIT_TESTS_ENABLED = true;
5
+ function isRecord(value) {
6
+ return typeof value === "object" && value !== null && !Array.isArray(value);
7
+ }
8
+ function sha256(content) {
9
+ return createHash("sha256").update(content).digest("hex");
10
+ }
11
+ function setOptionalBoolean(value, key, configured) {
12
+ if (configured === undefined) {
13
+ delete value[key];
14
+ }
15
+ else {
16
+ value[key] = configured;
17
+ }
18
+ }
19
+ /**
20
+ * Accept an otherwise byte-identical generated configuration when an operator
21
+ * changed only the two supported verification-policy booleans. Enumerating the
22
+ * previous boolean states lets upgrades authenticate the remaining managed
23
+ * content against the installed manifest without storing another file copy.
24
+ */
25
+ export function matchesManifestModuloVerificationPolicy(content, expected) {
26
+ if (content.byteLength === expected.size &&
27
+ sha256(content) === expected.sha256) {
28
+ return true;
29
+ }
30
+ let parsed;
31
+ try {
32
+ parsed = JSON.parse(Buffer.from(content).toString("utf8"));
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ if (!isRecord(parsed)) {
38
+ return false;
39
+ }
40
+ if (typeof parsed.lintEnabled !== "boolean" ||
41
+ typeof parsed.unitTestsEnabled !== "boolean") {
42
+ return false;
43
+ }
44
+ const states = [undefined, false, true];
45
+ for (const unitTestsEnabled of states) {
46
+ for (const lintEnabled of states) {
47
+ const candidate = { ...parsed };
48
+ setOptionalBoolean(candidate, "unitTestsEnabled", unitTestsEnabled);
49
+ setOptionalBoolean(candidate, "lintEnabled", lintEnabled);
50
+ const rendered = Buffer.from(`${JSON.stringify(candidate, null, 2)}\n`);
51
+ if (rendered.byteLength === expected.size &&
52
+ sha256(rendered) === expected.sha256) {
53
+ return true;
54
+ }
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ //# sourceMappingURL=verification-policy.js.map