@frankzhang2026/opencode-android-orchestrator 0.8.0 → 0.8.1
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 +12 -0
- package/README.md +16 -11
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/installer/agents-config.d.ts +5 -0
- package/dist/installer/agents-config.d.ts.map +1 -1
- package/dist/installer/agents-config.js +44 -8
- package/dist/installer/agents-config.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +1 -1
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/opencode-config.d.ts +3 -3
- package/dist/installer/opencode-config.js +1 -1
- package/dist/installer/upgrade.d.ts.map +1 -1
- package/dist/installer/upgrade.js +117 -46
- package/dist/installer/upgrade.js.map +1 -1
- package/docs/MIGRATION.md +33 -25
- package/docs/SECURITY.md +18 -9
- package/docs/TROUBLESHOOTING.md +27 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.8.1 - 2026-09-07
|
|
4
|
+
|
|
5
|
+
- Allow `upgrade` to proceed when the active manifest, managed files, or
|
|
6
|
+
original backups have Unix-mode drift, while retaining regular-file,
|
|
7
|
+
symlink, existence, SHA-256, size, stale-plan, and transactional checks.
|
|
8
|
+
- Preserve the current user-owned content outside the single valid
|
|
9
|
+
Orchestrator block in `AGENTS.md`, replace only that managed block, and carry
|
|
10
|
+
the preserved content into the new uninstall backup lineage. If the markers
|
|
11
|
+
were removed, retain the whole current file before appending the new block.
|
|
12
|
+
- Add regression coverage for permission drift, changed and malformed AGENTS
|
|
13
|
+
files, successful upgrades, and exact rollback of pre-upgrade bytes/modes.
|
|
14
|
+
|
|
3
15
|
## 0.8.0 - 2026-09-07
|
|
4
16
|
|
|
5
17
|
- Bundle curated, namespaced derivatives of the five Superpowers v6.2.0
|
package/README.md
CHANGED
|
@@ -15,7 +15,9 @@ Version `0.7.0` adds repository-configured unit-test and lint verification
|
|
|
15
15
|
policies, while retaining the configurable 30-minute timeout and bounded
|
|
16
16
|
baseline-capture recovery path. Version `0.8.0` bundles the five workflow
|
|
17
17
|
skills used by the scheduled agents, registers them from the installed npm
|
|
18
|
-
package, and removes the runtime GitHub/Superpowers plugin dependency.
|
|
18
|
+
package, and removes the runtime GitHub/Superpowers plugin dependency. Version
|
|
19
|
+
`0.8.1` makes upgrades tolerant of permission-mode drift and preserves
|
|
20
|
+
project-specific `AGENTS.md` content outside the managed marker block.
|
|
19
21
|
|
|
20
22
|
## Documentation
|
|
21
23
|
|
|
@@ -50,8 +52,8 @@ project builds retain their configured cache behavior.
|
|
|
50
52
|
## Quick start
|
|
51
53
|
|
|
52
54
|
```sh
|
|
53
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
54
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
55
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 init .
|
|
56
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 doctor .
|
|
55
57
|
opencode --agent scheduled-planner .
|
|
56
58
|
```
|
|
57
59
|
|
|
@@ -61,7 +63,7 @@ a task contract without selecting a primary module. To intentionally restrict
|
|
|
61
63
|
generated contracts to one module, opt into primary-module scope:
|
|
62
64
|
|
|
63
65
|
```sh
|
|
64
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
66
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 init . \
|
|
65
67
|
--module-scope primary \
|
|
66
68
|
--primary-module :mobile
|
|
67
69
|
```
|
|
@@ -360,7 +362,7 @@ preparation alone as resource installation;
|
|
|
360
362
|
## Init
|
|
361
363
|
|
|
362
364
|
```sh
|
|
363
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
365
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 init .
|
|
364
366
|
opencode --agent scheduled-planner .
|
|
365
367
|
```
|
|
366
368
|
|
|
@@ -493,10 +495,12 @@ opencode-android-orchestrator upgrade . --module-scope all --json
|
|
|
493
495
|
```
|
|
494
496
|
|
|
495
497
|
`upgrade` accepts either the Git root or a directory below it. It first validates
|
|
496
|
-
the installed manifest,
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
498
|
+
the installed manifest, managed content, and original-backup content. Unix-mode
|
|
499
|
+
drift alone does not block an upgrade; the write transaction applies the target
|
|
500
|
+
package modes. It still refuses downgrades, user-modified ordinary managed
|
|
501
|
+
resources, damaged backup content, malformed or duplicate AGENTS markers,
|
|
502
|
+
ambiguous Android modules in restrictive `primary` scope, same-version resource
|
|
503
|
+
rewrites, and an unfinished upgrade marker before creating recovery state.
|
|
500
504
|
|
|
501
505
|
Upgrade preserves the installed module scope. Installations created before the
|
|
502
506
|
scope field existed are interpreted as `primary` so an upgrade cannot silently
|
|
@@ -505,8 +509,9 @@ opt in explicitly.
|
|
|
505
509
|
|
|
506
510
|
For an older healthy installation, the command:
|
|
507
511
|
|
|
508
|
-
1.
|
|
509
|
-
|
|
512
|
+
1. preserves current `AGENTS.md` content outside the old bounded marker block,
|
|
513
|
+
replaces that block with the target package content, and reconstructs the
|
|
514
|
+
OpenCode configuration from its verified pre-install file;
|
|
510
515
|
2. saves the exact old manifest and immediate pre-upgrade file snapshots below
|
|
511
516
|
`.automation-plugin/upgrades/<upgrade-id>/`;
|
|
512
517
|
3. carries the first installation's original backups into a new verified
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { DEFAULT_LONG_COMMAND_TIMEOUT_MS, LONG_RUNNING_AUTOMATION_SCRIPTS, MAXIM
|
|
|
4
4
|
export { ORCHESTRATOR_DOCTOR_TOOL_NAME, ORCHESTRATOR_STATUS_TOOL_NAME, READ_ONLY_TOOL_NAMES, ReadOnlyToolError, createReadOnlyTools, type DoctorRunner, type InstallationCheckRunner, type ReadOnlyToolErrorCode, type ReadOnlyToolName, type ReadOnlyTools, type ReadOnlyToolsOptions, type StatusRunner, type StatusRunnerInput, type StatusRunnerResult, } from "./tools/index.js";
|
|
5
5
|
export { CERTIFIED_OPENCODE_VERSIONS, MAXIMUM_OPENCODE_VERSION, MINIMUM_OPENCODE_VERSION, checkOpenCodeVersion, compareSemanticVersions, parseOpenCodeVersion, type OpenCodeVersionCheck, type OpenCodeVersionSupport, type ParsedSemanticVersion, } from "./compatibility/versions.js";
|
|
6
6
|
export { EXPECTED_MANAGED_FILE_COUNT, formatDoctorReport, inspectAndroidSdk, inspectOpenCode, inspectRequiredCommands, installationDoctorChecks, runCommand, runDoctor, type CommandResult, type CommandRunner, type DoctorCheck, type DoctorCheckStatus, type DoctorOptions, type DoctorReport, } from "./doctor/index.js";
|
|
7
|
-
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigText, planAgentsConfigMerge, type AgentsConfigMergeErrorCode, type AgentsConfigMergePlan, } from "./installer/agents-config.js";
|
|
7
|
+
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigForUpgradeText, mergeAgentsConfigText, planAgentsConfigMerge, type AgentsConfigMergeErrorCode, type AgentsConfigMergePlan, type AgentsConfigUpgradeMerge, } from "./installer/agents-config.js";
|
|
8
8
|
export { AdaptiveProjectTemplateError, DEFAULT_MODULE_SCOPE, isModuleScope, planAdaptiveProjectTemplates, type AdaptiveAndroidModuleConfiguration, type AdaptiveAndroidProjectConfiguration, type AdaptiveAutomationConfiguration, type AdaptiveProjectTemplateErrorCode, type AdaptiveProjectTemplateOptions, type AdaptiveProjectTemplatePlan, type AdaptiveTaskContractExample, type GradleVerificationConfiguration, type ModuleScope, } from "./installer/adaptive-templates.js";
|
|
9
9
|
export { detectAndroidProject, type AndroidModuleDetection, type AndroidModuleType, type AndroidProjectDetection, type GradleDsl, type GradleWrapperDetection, } from "./installer/android-project.js";
|
|
10
10
|
export { GRADLE_TASK_DISCOVERY_INIT_SCRIPT, GradleVerificationDiscoveryError, discoverGradleVerificationConfiguration, inferGradleVerificationConfiguration, parseGradleTaskPaths, type GradleVerificationDiscoveryErrorCode, type GradleVerificationDiscoveryOptions, type GradleVerificationProcessOptions, type GradleVerificationProcessRunner, } from "./installer/gradle-verification.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { DEFAULT_LONG_COMMAND_TIMEOUT_MS, LONG_RUNNING_AUTOMATION_SCRIPTS, MAXIM
|
|
|
4
4
|
export { ORCHESTRATOR_DOCTOR_TOOL_NAME, ORCHESTRATOR_STATUS_TOOL_NAME, READ_ONLY_TOOL_NAMES, ReadOnlyToolError, createReadOnlyTools, } from "./tools/index.js";
|
|
5
5
|
export { CERTIFIED_OPENCODE_VERSIONS, MAXIMUM_OPENCODE_VERSION, MINIMUM_OPENCODE_VERSION, checkOpenCodeVersion, compareSemanticVersions, parseOpenCodeVersion, } from "./compatibility/versions.js";
|
|
6
6
|
export { EXPECTED_MANAGED_FILE_COUNT, formatDoctorReport, inspectAndroidSdk, inspectOpenCode, inspectRequiredCommands, installationDoctorChecks, runCommand, runDoctor, } from "./doctor/index.js";
|
|
7
|
-
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigText, planAgentsConfigMerge, } from "./installer/agents-config.js";
|
|
7
|
+
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigForUpgradeText, mergeAgentsConfigText, planAgentsConfigMerge, } from "./installer/agents-config.js";
|
|
8
8
|
export { AdaptiveProjectTemplateError, DEFAULT_MODULE_SCOPE, isModuleScope, planAdaptiveProjectTemplates, } from "./installer/adaptive-templates.js";
|
|
9
9
|
export { detectAndroidProject, } from "./installer/android-project.js";
|
|
10
10
|
export { GRADLE_TASK_DISCOVERY_INIT_SCRIPT, GradleVerificationDiscoveryError, discoverGradleVerificationConfiguration, inferGradleVerificationConfiguration, parseGradleTaskPaths, } from "./installer/gradle-verification.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,GAMxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GAUpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GAIrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EACV,SAAS,GAOV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,GAMxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GAGzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GAUpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GAIrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EACV,SAAS,GAOV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,GAItB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,aAAa,EACb,4BAA4B,GAU7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,oBAAoB,GAMrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,uCAAuC,EACvC,oCAAoC,EACpC,oBAAoB,GAKrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,GAYzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,mCAAmC,EACnC,oCAAoC,EACpC,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,GAsB5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,GASlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,GASpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GAKtB,MAAM,gCAAgC,CAAC"}
|
|
@@ -14,6 +14,11 @@ export interface AgentsConfigMergePlan {
|
|
|
14
14
|
content: string;
|
|
15
15
|
changed: boolean;
|
|
16
16
|
}
|
|
17
|
+
export interface AgentsConfigUpgradeMerge {
|
|
18
|
+
content: string;
|
|
19
|
+
previousContent: string | null;
|
|
20
|
+
}
|
|
17
21
|
export declare function mergeAgentsConfigText(source: string): string;
|
|
22
|
+
export declare function mergeAgentsConfigForUpgradeText(currentContent: string, originalContent: string | null): AgentsConfigUpgradeMerge;
|
|
18
23
|
export declare function planAgentsConfigMerge(directory: string): AgentsConfigMergePlan;
|
|
19
24
|
//# sourceMappingURL=agents-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-config.d.ts","sourceRoot":"","sources":["../../src/installer/agents-config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,iDACS,CAAC;AACjD,eAAO,MAAM,wBAAwB,+CACS,CAAC;AAE/C,MAAM,MAAM,0BAA0B,GAClC,uBAAuB,GACvB,wBAAwB,GACxB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,kBAAkB,CAAC;AAEvB,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;gBAGlC,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,SAAS,MAAM,EAAO;CAOlC;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"agents-config.d.ts","sourceRoot":"","sources":["../../src/installer/agents-config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,iDACS,CAAC;AACjD,eAAO,MAAM,wBAAwB,+CACS,CAAC;AAE/C,MAAM,MAAM,0BAA0B,GAClC,uBAAuB,GACvB,wBAAwB,GACxB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,sBAAsB,GACtB,kBAAkB,CAAC;AAEvB,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;gBAGlC,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,SAAS,MAAM,EAAO;CAOlC;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA4ID,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,wBAAwB,CA6B1B;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CA8DvB"}
|
|
@@ -74,21 +74,31 @@ function appendManagedBlock(original, fragment) {
|
|
|
74
74
|
: `${ending}${ending}`;
|
|
75
75
|
return `${original}${separator}${convertedFragment}`;
|
|
76
76
|
}
|
|
77
|
-
function
|
|
78
|
-
const beginCount = markerCount(
|
|
79
|
-
const endCount = markerCount(
|
|
77
|
+
function managedBlockRange(content) {
|
|
78
|
+
const beginCount = markerCount(content, AGENTS_MANAGED_BLOCK_BEGIN);
|
|
79
|
+
const endCount = markerCount(content, AGENTS_MANAGED_BLOCK_END);
|
|
80
80
|
if (beginCount === 0 && endCount === 0) {
|
|
81
|
-
return
|
|
81
|
+
return null;
|
|
82
82
|
}
|
|
83
83
|
if (beginCount !== 1 || endCount !== 1) {
|
|
84
84
|
throw new AgentsConfigMergeError("AGENTS_MARKERS_INVALID", "AGENTS.md contains partial or duplicate orchestrator markers.");
|
|
85
85
|
}
|
|
86
|
-
const begin =
|
|
87
|
-
const
|
|
88
|
-
if (begin < 0 ||
|
|
86
|
+
const begin = content.indexOf(AGENTS_MANAGED_BLOCK_BEGIN);
|
|
87
|
+
const endMarker = content.indexOf(AGENTS_MANAGED_BLOCK_END);
|
|
88
|
+
if (begin < 0 || endMarker < begin) {
|
|
89
89
|
throw new AgentsConfigMergeError("AGENTS_MARKERS_INVALID", "AGENTS.md orchestrator markers are out of order.");
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
return {
|
|
92
|
+
begin,
|
|
93
|
+
end: endMarker + AGENTS_MANAGED_BLOCK_END.length,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function mergeAgentsContent(original, fragment) {
|
|
97
|
+
const range = managedBlockRange(original);
|
|
98
|
+
if (range === null) {
|
|
99
|
+
return appendManagedBlock(original, fragment);
|
|
100
|
+
}
|
|
101
|
+
const existingBlock = original.slice(range.begin, range.end);
|
|
92
102
|
const expectedBlock = convertLineEndings(fragment.trimEnd(), lineEnding(original));
|
|
93
103
|
if (existingBlock !== expectedBlock) {
|
|
94
104
|
throw new AgentsConfigMergeError("AGENTS_BLOCK_CONFLICT", "The existing orchestrator block in AGENTS.md differs from this package.", ["Refusing to overwrite a modified managed block."]);
|
|
@@ -98,6 +108,32 @@ function mergeAgentsContent(original, fragment) {
|
|
|
98
108
|
export function mergeAgentsConfigText(source) {
|
|
99
109
|
return mergeAgentsContent(source, packagedFragment());
|
|
100
110
|
}
|
|
111
|
+
export function mergeAgentsConfigForUpgradeText(currentContent, originalContent) {
|
|
112
|
+
const range = managedBlockRange(currentContent);
|
|
113
|
+
if (range === null) {
|
|
114
|
+
return {
|
|
115
|
+
content: mergeAgentsConfigText(currentContent),
|
|
116
|
+
previousContent: currentContent,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const ending = lineEnding(currentContent);
|
|
120
|
+
const blockEnd = currentContent.startsWith(ending, range.end)
|
|
121
|
+
? range.end + ending.length
|
|
122
|
+
: range.end;
|
|
123
|
+
const existingFragment = currentContent.slice(range.begin, blockEnd);
|
|
124
|
+
const original = originalContent ?? "";
|
|
125
|
+
if (currentContent === appendManagedBlock(original, existingFragment)) {
|
|
126
|
+
return {
|
|
127
|
+
content: mergeAgentsConfigText(original),
|
|
128
|
+
previousContent: originalContent,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
const previousContent = currentContent.slice(0, range.begin) + currentContent.slice(blockEnd);
|
|
132
|
+
return {
|
|
133
|
+
content: mergeAgentsConfigText(previousContent),
|
|
134
|
+
previousContent,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
101
137
|
export function planAgentsConfigMerge(directory) {
|
|
102
138
|
const targetDirectory = resolve(directory);
|
|
103
139
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-config.js","sourceRoot":"","sources":["../../src/installer/agents-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GACrC,8CAA8C,CAAC;AACjD,MAAM,CAAC,MAAM,wBAAwB,GACnC,4CAA4C,CAAC;AAW/C,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,CAA6B;IACjC,OAAO,CAAoB;IAEpC,YACE,IAAgC,EAChC,OAAe,EACf,UAA6B,EAAE;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"agents-config.js","sourceRoot":"","sources":["../../src/installer/agents-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export interface InstallerRequest {
|
|
|
3
3
|
command: InstallerCommand;
|
|
4
4
|
targetDirectory: string;
|
|
5
5
|
}
|
|
6
|
-
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigText, planAgentsConfigMerge, type AgentsConfigMergeErrorCode, type AgentsConfigMergePlan, } from "./agents-config.js";
|
|
6
|
+
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigForUpgradeText, mergeAgentsConfigText, planAgentsConfigMerge, type AgentsConfigMergeErrorCode, type AgentsConfigMergePlan, type AgentsConfigUpgradeMerge, } from "./agents-config.js";
|
|
7
7
|
export { AdaptiveProjectTemplateError, DEFAULT_MODULE_SCOPE, isModuleScope, planAdaptiveProjectTemplates, type AdaptiveAndroidModuleConfiguration, type AdaptiveAndroidProjectConfiguration, type AdaptiveAutomationConfiguration, type AdaptiveProjectTemplateErrorCode, type AdaptiveProjectTemplateOptions, type AdaptiveProjectTemplatePlan, type AdaptiveTargetTest, type AdaptiveTaskContractExample, type GradleVerificationConfiguration, type ModuleScope, } from "./adaptive-templates.js";
|
|
8
8
|
export { detectAndroidProject, type AndroidModuleDetection, type AndroidModuleType, type AndroidProjectDetection, type GradleDsl, type GradleWrapperDetection, } from "./android-project.js";
|
|
9
9
|
export { INITIAL_WORKTREE_ALLOWLIST_CONTENT, ProjectInitializationError, WORKTREE_ALLOWLIST_RELATIVE_PATH, formatProjectInitializationResult, planProjectInitialization, planProjectResourceInputs, runInitProcess, runProjectInitialization, verifyInitializedProject, type InitProcessOptions, type InitProcessRunner, type InitVerificationCheck, type InitVerificationReport, type InitVerificationStatus, type ProjectInitializationErrorCode, type ProjectInitializationOptions, type ProjectInitializationPlan, type ProjectInitializationResult, type ProjectResourceInputPlan, type WorktreeAllowlistInitializationStatus, } from "./init.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
|
package/dist/installer/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigText, planAgentsConfigMerge, } from "./agents-config.js";
|
|
1
|
+
export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigForUpgradeText, mergeAgentsConfigText, planAgentsConfigMerge, } from "./agents-config.js";
|
|
2
2
|
export { AdaptiveProjectTemplateError, DEFAULT_MODULE_SCOPE, isModuleScope, planAdaptiveProjectTemplates, } from "./adaptive-templates.js";
|
|
3
3
|
export { detectAndroidProject, } from "./android-project.js";
|
|
4
4
|
export { INITIAL_WORKTREE_ALLOWLIST_CONTENT, ProjectInitializationError, WORKTREE_ALLOWLIST_RELATIVE_PATH, formatProjectInitializationResult, planProjectInitialization, planProjectResourceInputs, runInitProcess, runProjectInitialization, verifyInitializedProject, } from "./init.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,GAItB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,aAAa,EACb,4BAA4B,GAW7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,GAMrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,gCAAgC,EAChC,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,GAYzB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,mCAAmC,EACnC,oCAAoC,EACpC,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,GAsB5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,GASlB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,GASpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GAKtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const ORCHESTRATOR_PACKAGE_NAME = "@frankzhang2026/opencode-android-orchestrator";
|
|
2
|
-
export declare const ORCHESTRATOR_PACKAGE_VERSION = "0.8.
|
|
3
|
-
export declare const ORCHESTRATOR_PLUGIN_REFERENCE = "@frankzhang2026/opencode-android-orchestrator@0.8.
|
|
2
|
+
export declare const ORCHESTRATOR_PACKAGE_VERSION = "0.8.1";
|
|
3
|
+
export declare const ORCHESTRATOR_PLUGIN_REFERENCE = "@frankzhang2026/opencode-android-orchestrator@0.8.1";
|
|
4
4
|
export declare const OPENCODE_CONFIG_SCHEMA_URL = "https://opencode.ai/config.json";
|
|
5
|
-
export declare const REQUIRED_PLUGIN_REFERENCES: readonly ["@frankzhang2026/opencode-android-orchestrator@0.8.
|
|
5
|
+
export declare const REQUIRED_PLUGIN_REFERENCES: readonly ["@frankzhang2026/opencode-android-orchestrator@0.8.1"];
|
|
6
6
|
export type OpenCodeConfigMergeErrorCode = "AMBIGUOUS_CONFIG" | "CONFIG_NOT_FILE" | "CONFIG_READ_FAILED" | "CONFIG_SYMLINK" | "DUPLICATE_PLUGIN" | "DUPLICATE_PROPERTY" | "INVALID_JSONC" | "INVALID_PLUGIN_ENTRY" | "PLUGIN_NOT_ARRAY" | "PLUGIN_VERSION_CONFLICT" | "ROOT_NOT_OBJECT" | "TARGET_NOT_DIRECTORY";
|
|
7
7
|
export declare class OpenCodeConfigMergeError extends Error {
|
|
8
8
|
readonly code: OpenCodeConfigMergeErrorCode;
|
|
@@ -2,7 +2,7 @@ import { lstatSync, readFileSync, statSync } from "node:fs";
|
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
3
|
import { applyEdits, findNodeAtLocation, getNodeValue, modify, parseTree, printParseErrorCode, } from "jsonc-parser";
|
|
4
4
|
export const ORCHESTRATOR_PACKAGE_NAME = "@frankzhang2026/opencode-android-orchestrator";
|
|
5
|
-
export const ORCHESTRATOR_PACKAGE_VERSION = "0.8.
|
|
5
|
+
export const ORCHESTRATOR_PACKAGE_VERSION = "0.8.1";
|
|
6
6
|
export const ORCHESTRATOR_PLUGIN_REFERENCE = `${ORCHESTRATOR_PACKAGE_NAME}@${ORCHESTRATOR_PACKAGE_VERSION}`;
|
|
7
7
|
export const OPENCODE_CONFIG_SCHEMA_URL = "https://opencode.ai/config.json";
|
|
8
8
|
export const REQUIRED_PLUGIN_REFERENCES = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/installer/upgrade.ts"],"names":[],"mappings":"AA4BA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/installer/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,17 @@ import { dirname, join, posix, resolve, } from "node:path";
|
|
|
4
4
|
import { compareSemanticVersions, parseOpenCodeVersion, } from "../compatibility/versions.js";
|
|
5
5
|
import { AUTOMATION_CONFIG_RELATIVE_PATH, matchesManifestModuloVerificationPolicy, } from "../config/verification-policy.js";
|
|
6
6
|
import { formatDoctorReport, runDoctor, } from "../doctor/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { mergeAgentsConfigForUpgradeText } from "./agents-config.js";
|
|
8
8
|
import { detectAndroidProject } from "./android-project.js";
|
|
9
|
-
import { INSTALLATION_BACKUPS_DIRECTORY, INSTALLATION_CONTROL_DIRECTORY, INSTALLATION_HISTORY_DIRECTORY, INSTALLATION_MANIFEST_RELATIVE_PATH, readInstallationManifest,
|
|
9
|
+
import { INSTALLATION_BACKUPS_DIRECTORY, INSTALLATION_CONTROL_DIRECTORY, INSTALLATION_HISTORY_DIRECTORY, INSTALLATION_MANIFEST_RELATIVE_PATH, readInstallationManifest, } from "./install-manifest.js";
|
|
10
10
|
import { planProjectResourceInputs, runInitProcess, verifyInitializedProject, } from "./init.js";
|
|
11
11
|
import { ORCHESTRATOR_PACKAGE_NAME, ORCHESTRATOR_PACKAGE_VERSION, mergeOpenCodeConfigText, } from "./opencode-config.js";
|
|
12
12
|
import { isModuleScope, } from "./adaptive-templates.js";
|
|
13
13
|
export const UPGRADE_MARKER_RELATIVE_PATH = `${INSTALLATION_CONTROL_DIRECTORY}/upgrade.json`;
|
|
14
14
|
export const UPGRADE_RECOVERY_DIRECTORY = `${INSTALLATION_CONTROL_DIRECTORY}/upgrades`;
|
|
15
15
|
const UNINSTALL_MARKER_RELATIVE_PATH = `${INSTALLATION_CONTROL_DIRECTORY}/uninstall.json`;
|
|
16
|
+
const AGENTS_MERGE_SOURCE = "generated/agents-managed-block-merge";
|
|
17
|
+
const OPENCODE_CONFIG_MERGE_SOURCE = "generated/opencode-config-merge";
|
|
16
18
|
export class ProjectUpgradeError extends Error {
|
|
17
19
|
code;
|
|
18
20
|
details;
|
|
@@ -170,6 +172,11 @@ function snapshotsMatch(left, right) {
|
|
|
170
172
|
left.size === right.size &&
|
|
171
173
|
left.mode === right.mode);
|
|
172
174
|
}
|
|
175
|
+
function snapshotContentMatches(left, right) {
|
|
176
|
+
return (left.existed === right.existed &&
|
|
177
|
+
left.sha256 === right.sha256 &&
|
|
178
|
+
left.size === right.size);
|
|
179
|
+
}
|
|
173
180
|
function snapshotMatchesDesired(snapshot, file) {
|
|
174
181
|
return (snapshot.existed &&
|
|
175
182
|
snapshot.sha256 === file.sha256 &&
|
|
@@ -190,16 +197,15 @@ function originalSnapshot(targetDirectory, file) {
|
|
|
190
197
|
throw new ProjectUpgradeError("INSTALLATION_INVALID", `Original backup metadata is incomplete: ${file.path}`);
|
|
191
198
|
}
|
|
192
199
|
const snapshot = snapshotFile(targetDirectory, file.previous.backupPath, true);
|
|
193
|
-
if (!
|
|
194
|
-
throw new ProjectUpgradeError("INSTALLATION_INVALID", `Original backup failed integrity verification: ${file.path}`);
|
|
200
|
+
if (!snapshotContentMatches(snapshot, file.previous)) {
|
|
201
|
+
throw new ProjectUpgradeError("INSTALLATION_INVALID", `Original backup failed content integrity verification: ${file.path}`);
|
|
195
202
|
}
|
|
196
203
|
return snapshot;
|
|
197
204
|
}
|
|
198
205
|
function manifestFileMatchesSnapshot(file, snapshot) {
|
|
199
206
|
return (snapshot.existed &&
|
|
200
207
|
snapshot.sha256 === file.sha256 &&
|
|
201
|
-
snapshot.size === file.size
|
|
202
|
-
snapshot.mode === file.mode);
|
|
208
|
+
snapshot.size === file.size);
|
|
203
209
|
}
|
|
204
210
|
function managedFileAcceptsSnapshot(file, snapshot) {
|
|
205
211
|
if (manifestFileMatchesSnapshot(file, snapshot)) {
|
|
@@ -208,7 +214,6 @@ function managedFileAcceptsSnapshot(file, snapshot) {
|
|
|
208
214
|
return (file.path === AUTOMATION_CONFIG_RELATIVE_PATH &&
|
|
209
215
|
snapshot.existed &&
|
|
210
216
|
snapshot.content !== null &&
|
|
211
|
-
snapshot.mode === file.mode &&
|
|
212
217
|
matchesManifestModuloVerificationPolicy(snapshot.content, {
|
|
213
218
|
sha256: file.sha256,
|
|
214
219
|
size: file.size,
|
|
@@ -220,9 +225,6 @@ function readStableManifest(targetDirectory) {
|
|
|
220
225
|
manifestSnapshotBefore.content === null) {
|
|
221
226
|
throw new ProjectUpgradeError("INSTALLATION_INVALID", "An installed manifest is required before upgrade.", ["Run init for a project that has never installed the orchestrator."]);
|
|
222
227
|
}
|
|
223
|
-
if (manifestSnapshotBefore.mode !== 0o600) {
|
|
224
|
-
throw new ProjectUpgradeError("INSTALLATION_INVALID", "The active installation manifest must have mode 0600.");
|
|
225
|
-
}
|
|
226
228
|
const content = Buffer.from(manifestSnapshotBefore.content).toString("utf8");
|
|
227
229
|
const manifest = readInstallationManifest(targetDirectory);
|
|
228
230
|
const manifestSnapshotAfter = snapshotFile(targetDirectory, INSTALLATION_MANIFEST_RELATIVE_PATH, true);
|
|
@@ -266,18 +268,47 @@ function assertInstalledIntegrity(targetDirectory, manifest, expectedManifestSha
|
|
|
266
268
|
if (manifest.package.name !== ORCHESTRATOR_PACKAGE_NAME) {
|
|
267
269
|
throw new ProjectUpgradeError("PACKAGE_MISMATCH", "The installed manifest belongs to a different package.", [manifest.package.name, ORCHESTRATOR_PACKAGE_NAME]);
|
|
268
270
|
}
|
|
269
|
-
const
|
|
271
|
+
const failures = [];
|
|
272
|
+
for (const file of manifest.files) {
|
|
273
|
+
let installed = "match";
|
|
274
|
+
try {
|
|
275
|
+
const snapshot = snapshotFile(targetDirectory, file.path);
|
|
276
|
+
const accepted = file.source === AGENTS_MERGE_SOURCE
|
|
277
|
+
? snapshot.existed && snapshot.content !== null
|
|
278
|
+
: managedFileAcceptsSnapshot(file, snapshot);
|
|
279
|
+
installed = !snapshot.existed
|
|
280
|
+
? "missing"
|
|
281
|
+
: accepted
|
|
282
|
+
? "match"
|
|
283
|
+
: "mismatch";
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
installed = "mismatch";
|
|
287
|
+
}
|
|
288
|
+
let backup = "not-required";
|
|
289
|
+
if (file.previous.existed && file.previous.backupPath !== null) {
|
|
290
|
+
try {
|
|
291
|
+
const snapshot = snapshotFile(targetDirectory, file.previous.backupPath, true);
|
|
292
|
+
backup = !snapshot.existed
|
|
293
|
+
? "missing"
|
|
294
|
+
: snapshotContentMatches(snapshot, file.previous)
|
|
295
|
+
? "match"
|
|
296
|
+
: "mismatch";
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
backup = "mismatch";
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (installed !== "match" || (backup !== "match" && backup !== "not-required")) {
|
|
303
|
+
failures.push(`${file.path}: installed=${installed}, backup=${backup}`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
270
306
|
const changedManifest = snapshotFile(targetDirectory, INSTALLATION_MANIFEST_RELATIVE_PATH, true);
|
|
271
307
|
if (changedManifest.sha256 !== expectedManifestSha256) {
|
|
272
308
|
throw new ProjectUpgradeError("PLAN_STALE", "The installation manifest changed during integrity verification.");
|
|
273
309
|
}
|
|
274
|
-
if (
|
|
275
|
-
throw new ProjectUpgradeError("INSTALLED_FILES_MODIFIED", "Upgrade refused because managed
|
|
276
|
-
.filter((check) => check.installed === "missing" ||
|
|
277
|
-
check.installed === "mismatch" ||
|
|
278
|
-
check.backup === "missing" ||
|
|
279
|
-
check.backup === "mismatch")
|
|
280
|
-
.map((check) => `${check.path}: installed=${check.installed}, backup=${check.backup}`));
|
|
310
|
+
if (failures.length > 0) {
|
|
311
|
+
throw new ProjectUpgradeError("INSTALLED_FILES_MODIFIED", "Upgrade refused because managed content or original backup content no longer matches the installed manifest.", failures);
|
|
281
312
|
}
|
|
282
313
|
}
|
|
283
314
|
function uniqueManifestFileBySource(manifest, source) {
|
|
@@ -344,25 +375,62 @@ function configuredAdaptiveOptions(targetDirectory, manifest) {
|
|
|
344
375
|
}
|
|
345
376
|
return configured;
|
|
346
377
|
}
|
|
347
|
-
function
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
378
|
+
function snapshotFromOptionalText(content, mode) {
|
|
379
|
+
if (content === null) {
|
|
380
|
+
return {
|
|
381
|
+
existed: false,
|
|
382
|
+
content: null,
|
|
383
|
+
sha256: null,
|
|
384
|
+
size: null,
|
|
385
|
+
mode: null,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
const value = bytes(content);
|
|
389
|
+
return {
|
|
390
|
+
existed: true,
|
|
391
|
+
content: value,
|
|
392
|
+
sha256: sha256(value),
|
|
393
|
+
size: value.byteLength,
|
|
394
|
+
mode,
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
function desiredMergePlan(targetDirectory, manifest) {
|
|
398
|
+
const agents = uniqueManifestFileBySource(manifest, AGENTS_MERGE_SOURCE);
|
|
399
|
+
const openCode = uniqueManifestFileBySource(manifest, OPENCODE_CONFIG_MERGE_SOURCE);
|
|
400
|
+
const currentAgents = snapshotFile(targetDirectory, agents.path);
|
|
401
|
+
if (!currentAgents.existed ||
|
|
402
|
+
currentAgents.content === null ||
|
|
403
|
+
currentAgents.mode === null) {
|
|
404
|
+
throw new ProjectUpgradeError("INSTALLED_FILES_MODIFIED", "AGENTS.md must remain a readable regular file before upgrade.");
|
|
405
|
+
}
|
|
406
|
+
const originalAgents = originalSnapshot(targetDirectory, agents);
|
|
407
|
+
const mergedAgents = mergeAgentsConfigForUpgradeText(Buffer.from(currentAgents.content).toString("utf8"), originalAgents.content === null
|
|
408
|
+
? null
|
|
409
|
+
: Buffer.from(originalAgents.content).toString("utf8"));
|
|
410
|
+
return {
|
|
411
|
+
inputs: [
|
|
412
|
+
{
|
|
413
|
+
path: agents.path,
|
|
414
|
+
source: agents.source,
|
|
415
|
+
strategy: "merge",
|
|
416
|
+
content: mergedAgents.content,
|
|
417
|
+
mode: currentAgents.mode,
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
path: openCode.path,
|
|
421
|
+
source: openCode.source,
|
|
422
|
+
strategy: "merge",
|
|
423
|
+
content: mergeOpenCodeConfigText(textFromOriginal(targetDirectory, openCode, "{}\n")).content,
|
|
424
|
+
mode: openCode.mode,
|
|
425
|
+
},
|
|
426
|
+
],
|
|
427
|
+
originalOverrides: new Map([
|
|
428
|
+
[
|
|
429
|
+
agents.path,
|
|
430
|
+
snapshotFromOptionalText(mergedAgents.previousContent, currentAgents.mode),
|
|
431
|
+
],
|
|
432
|
+
]),
|
|
433
|
+
};
|
|
366
434
|
}
|
|
367
435
|
function previousMetadata(upgradeId, path, original) {
|
|
368
436
|
return original.existed
|
|
@@ -381,7 +449,7 @@ function previousMetadata(upgradeId, path, original) {
|
|
|
381
449
|
backupPath: null,
|
|
382
450
|
};
|
|
383
451
|
}
|
|
384
|
-
function planDesiredFiles(targetDirectory, currentManifest, inputs, upgradeId) {
|
|
452
|
+
function planDesiredFiles(targetDirectory, currentManifest, inputs, upgradeId, originalOverrides = new Map()) {
|
|
385
453
|
const currentByPath = new Map(currentManifest.files.map((file) => [file.path, file]));
|
|
386
454
|
const seen = new Set();
|
|
387
455
|
return inputs
|
|
@@ -394,7 +462,9 @@ function planDesiredFiles(targetDirectory, currentManifest, inputs, upgradeId) {
|
|
|
394
462
|
const content = bytes(input.content);
|
|
395
463
|
const before = snapshotFile(targetDirectory, path);
|
|
396
464
|
const current = currentByPath.get(path);
|
|
397
|
-
if (current !== undefined &&
|
|
465
|
+
if (current !== undefined &&
|
|
466
|
+
current.source !== AGENTS_MERGE_SOURCE &&
|
|
467
|
+
!managedFileAcceptsSnapshot(current, before)) {
|
|
398
468
|
throw new ProjectUpgradeError("INSTALLED_FILES_MODIFIED", `Managed file changed before upgrade planning: ${path}`);
|
|
399
469
|
}
|
|
400
470
|
const mode = input.mode ?? current?.mode ?? before.mode ?? 0o644;
|
|
@@ -410,9 +480,10 @@ function planDesiredFiles(targetDirectory, currentManifest, inputs, upgradeId) {
|
|
|
410
480
|
before.mode === mode)) {
|
|
411
481
|
throw new ProjectUpgradeError("UPGRADE_CONFLICT", `A newly managed path already contains different user content: ${path}`);
|
|
412
482
|
}
|
|
413
|
-
const original =
|
|
414
|
-
|
|
415
|
-
|
|
483
|
+
const original = originalOverrides.get(path) ??
|
|
484
|
+
(current === undefined
|
|
485
|
+
? before
|
|
486
|
+
: originalSnapshot(targetDirectory, current));
|
|
416
487
|
return {
|
|
417
488
|
path,
|
|
418
489
|
source: input.source,
|
|
@@ -543,10 +614,11 @@ export function planProjectUpgrade(directory, options = {}) {
|
|
|
543
614
|
const preparedAt = validateTimestamp(options.preparedAt ?? new Date().toISOString());
|
|
544
615
|
const installedAt = validateTimestamp(options.installedAt ?? preparedAt);
|
|
545
616
|
const upgradeId = validateUpgradeId(options.upgradeId ?? defaultUpgradeId(preparedAt));
|
|
617
|
+
const merges = desiredMergePlan(requestedTarget, stable.manifest);
|
|
546
618
|
const desiredFiles = planDesiredFiles(requestedTarget, stable.manifest, [
|
|
547
619
|
...resources.inputs,
|
|
548
|
-
...
|
|
549
|
-
], upgradeId);
|
|
620
|
+
...merges.inputs,
|
|
621
|
+
], upgradeId, merges.originalOverrides);
|
|
550
622
|
const removedFiles = planRemovedFiles(requestedTarget, stable.manifest, desiredFiles);
|
|
551
623
|
const manifest = desiredManifest(upgradeId, preparedAt, installedAt, desiredFiles);
|
|
552
624
|
const paths = upgradeControlPaths(requestedTarget, upgradeId);
|
|
@@ -872,8 +944,7 @@ function prepareUpgrade(plan) {
|
|
|
872
944
|
function assertManifestUnchanged(plan) {
|
|
873
945
|
const current = snapshotFile(plan.targetDirectory, INSTALLATION_MANIFEST_RELATIVE_PATH, true);
|
|
874
946
|
if (!current.existed ||
|
|
875
|
-
current.sha256 !== plan.currentManifestSha256
|
|
876
|
-
current.mode !== 0o600) {
|
|
947
|
+
current.sha256 !== plan.currentManifestSha256) {
|
|
877
948
|
throw new ProjectUpgradeError("PLAN_STALE", "The active installation manifest changed during upgrade.");
|
|
878
949
|
}
|
|
879
950
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/installer/upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/installer/upgrade.ts"],"names":[],"mappings":"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"}
|
package/docs/MIGRATION.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Migration guide
|
|
2
2
|
|
|
3
3
|
This guide covers migration to
|
|
4
|
-
`@frankzhang2026/opencode-android-orchestrator@0.8.
|
|
4
|
+
`@frankzhang2026/opencode-android-orchestrator@0.8.1`. Pin the exact version and
|
|
5
5
|
prove the migration in a disposable clone before changing a long-lived
|
|
6
6
|
repository.
|
|
7
7
|
|
|
@@ -9,13 +9,13 @@ repository.
|
|
|
9
9
|
|
|
10
10
|
| Current state | Correct command after release | Important distinction |
|
|
11
11
|
| --- | --- | --- |
|
|
12
|
-
| No orchestrator files or manifest | `npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
12
|
+
| No orchestrator files or manifest | `npx @frankzhang2026/opencode-android-orchestrator@0.8.1 init .` | Normal new installation; all detected Android modules and registered debug verification tasks are discovered automatically. |
|
|
13
13
|
| Published `0.1.0` scaffold only | Remove any project-local `@0.1.0` plugin reference after review, then run `init`. | `0.1.0` did not create a usable managed installation and cannot be upgraded. |
|
|
14
|
-
|
|
|
14
|
+
| `0.2.0` through `0.8.0` manifest-managed installation with intact managed/backup content | Run the fixed `0.8.1` `upgrade`. | Existing module scope, verification tasks, policy values, and user-owned AGENTS content are preserved. Mode-only drift is accepted. The old managed Superpowers plugin reference is replaced by bundled skills. Pre-`0.6.1` configurations receive the 30-minute long-command timeout default. |
|
|
15
15
|
| Manually copied V3 files, no `.automation-plugin/manifest.json` | Finish active tasks, preserve historical evidence separately, then run `init`. | Exact files can be reused; differing managed files fail as conflicts. |
|
|
16
16
|
| Healthy older manifest-managed installation | Run `doctor`, then the fixed target version's `upgrade`. | `upgrade` requires a valid installed manifest and intact original backups. |
|
|
17
17
|
| Healthy current-version manifest | Run `doctor`; repeated `init` or same-version `upgrade` is verification-only and byte-idempotent. | Do not reinstall or delete the manifest. |
|
|
18
|
-
| Damaged manifest, managed-
|
|
18
|
+
| Damaged manifest, ordinary managed-content drift, or damaged backup content | Stop and investigate. | `init` and `upgrade` intentionally refuse to overwrite this state. AGENTS content outside its managed block and Unix-mode drift are handled by `0.8.1 upgrade`. |
|
|
19
19
|
|
|
20
20
|
`uninstall` is not an upgrade shortcut. It restores verified pre-install files,
|
|
21
21
|
removes unchanged plugin-created files, and retains drift for manual review.
|
|
@@ -33,13 +33,11 @@ removes unchanged plugin-created files, and retains drift for manual review.
|
|
|
33
33
|
`.opencode/`, `automation/`, and `scripts/automation/` for review. Never
|
|
34
34
|
include `.env`, signing keys, npm credentials, or `local.properties` in a
|
|
35
35
|
support bundle.
|
|
36
|
-
5. If a managed manifest already exists,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Do not proceed with `upgrade` unless the installation checks pass.
|
|
36
|
+
5. If a managed manifest already exists, the installed version's doctor may be
|
|
37
|
+
used to collect read-only evidence. A mode warning/failure or an AGENTS
|
|
38
|
+
content mismatch does not by itself prevent `0.8.1 upgrade`; the target
|
|
39
|
+
upgrade performs its own content-safe checks. Do not edit manifest hashes to
|
|
40
|
+
make doctor pass.
|
|
43
41
|
6. Prove the migration in a disposable clone or temporary Android fixture
|
|
44
42
|
before applying it to the intended repository.
|
|
45
43
|
|
|
@@ -52,14 +50,14 @@ scaffold, not as an older managed installation.
|
|
|
52
50
|
If the project OpenCode configuration contains an exact
|
|
53
51
|
`@frankzhang2026/opencode-android-orchestrator@0.1.0` entry, save the file and
|
|
54
52
|
remove only that obsolete entry in a reviewed Git change before running
|
|
55
|
-
`0.8.
|
|
53
|
+
`0.8.1 init`. The merger deliberately rejects a different version of the same
|
|
56
54
|
managed package; it will not silently replace the reference. A global npm
|
|
57
55
|
installation of `0.1.0` alone does not require project-file cleanup.
|
|
58
56
|
|
|
59
57
|
After release, initialize with the fixed version:
|
|
60
58
|
|
|
61
59
|
```sh
|
|
62
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
60
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 init .
|
|
63
61
|
```
|
|
64
62
|
|
|
65
63
|
New installations default to all-module scope, so multiple application modules
|
|
@@ -83,8 +81,9 @@ rules:
|
|
|
83
81
|
target is a `FILE_CONFLICT`; there is no force flag.
|
|
84
82
|
- Move legitimate local policy out of managed agent, command, skill, or Shell
|
|
85
83
|
files before installation. Put project rules in the unmanaged portion of
|
|
86
|
-
`AGENTS.md` and product behavior in normal project sources. Editing
|
|
87
|
-
|
|
84
|
+
`AGENTS.md` and product behavior in normal project sources. Editing ordinary
|
|
85
|
+
managed file content after installation creates drift and blocks a future
|
|
86
|
+
upgrade.
|
|
88
87
|
- `AGENTS.md` is merged through one bounded marker block. Existing content
|
|
89
88
|
outside that block remains user-owned.
|
|
90
89
|
- OpenCode JSON/JSONC is merged structurally. Existing fields, comments, plugin
|
|
@@ -105,15 +104,23 @@ installer to guess which customization should survive.
|
|
|
105
104
|
Use the lifecycle command selected by the active manifest:
|
|
106
105
|
|
|
107
106
|
```sh
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
npx --yes --registry=https://registry.npmjs.org/ \
|
|
108
|
+
@frankzhang2026/opencode-android-orchestrator@0.8.1 upgrade . --json
|
|
110
109
|
```
|
|
111
110
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
The command-level Registry option is useful when a company-wide npm Registry
|
|
112
|
+
points to an internal host that cannot serve the public package. It does not
|
|
113
|
+
change the saved npm configuration.
|
|
114
|
+
|
|
115
|
+
`upgrade` verifies the installed manifest, ordinary managed-file content, and
|
|
116
|
+
first-install backup content before it creates recovery state. It ignores
|
|
117
|
+
Unix-mode differences during this preflight, snapshots the actual bytes and
|
|
118
|
+
modes for rollback, and writes the target package modes. It reconstructs the
|
|
119
|
+
OpenCode merge from its original pre-install file. For `AGENTS.md`, it removes
|
|
120
|
+
the one well-formed old managed block, preserves all current content outside
|
|
121
|
+
that block, appends the new managed block, and carries the preserved user
|
|
122
|
+
content into the new uninstall backup. If both markers were removed, the whole
|
|
123
|
+
current file is preserved before the new block is appended.
|
|
117
124
|
|
|
118
125
|
Upgrade preserves an installed `androidProject.moduleScope`. A legacy
|
|
119
126
|
manifest-managed configuration without that field is treated as `primary`,
|
|
@@ -146,8 +153,9 @@ The command refuses:
|
|
|
146
153
|
|
|
147
154
|
- a downgrade or malformed semantic version;
|
|
148
155
|
- a missing, non-installed, foreign-package, or modified manifest;
|
|
149
|
-
- content
|
|
150
|
-
- missing or modified original backups;
|
|
156
|
+
- content or existence drift in ordinary managed files;
|
|
157
|
+
- missing or content-modified original backups;
|
|
158
|
+
- partial, out-of-order, or duplicate AGENTS markers;
|
|
151
159
|
- an unfinished upgrade or uninstall marker;
|
|
152
160
|
- a stale plan or changed file between planning and application.
|
|
153
161
|
|
|
@@ -159,7 +167,7 @@ the source of drift and use the recorded recovery data.
|
|
|
159
167
|
Run all checks from the detected Git root:
|
|
160
168
|
|
|
161
169
|
```sh
|
|
162
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
170
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 doctor .
|
|
163
171
|
opencode debug config
|
|
164
172
|
opencode debug skill
|
|
165
173
|
opencode debug agent scheduled-planner
|
package/docs/SECURITY.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Security model
|
|
2
2
|
|
|
3
3
|
This document describes the security properties of
|
|
4
|
-
`@frankzhang2026/opencode-android-orchestrator@0.8.
|
|
4
|
+
`@frankzhang2026/opencode-android-orchestrator@0.8.1`. The lifecycle foundation
|
|
5
5
|
completed the real OpenCode `1.14.22` and `1.15.13` release matrix in `0.2.0`;
|
|
6
|
-
`0.8.
|
|
6
|
+
`0.8.1` retains that compatibility boundary.
|
|
7
7
|
|
|
8
8
|
## Security goals and non-goals
|
|
9
9
|
|
|
@@ -116,8 +116,12 @@ Installation strategies are deliberately distinct:
|
|
|
116
116
|
|
|
117
117
|
OpenCode JSON/JSONC merging preserves unrelated fields, comments, order, and
|
|
118
118
|
plugin options. It rejects malformed/ambiguous files, duplicate identities,
|
|
119
|
-
different managed-plugin versions, and symlinks. AGENTS
|
|
120
|
-
marked block and rejects partial, duplicate, or modified markers.
|
|
119
|
+
different managed-plugin versions, and symlinks. AGENTS initialization owns
|
|
120
|
+
only one marked block and rejects partial, duplicate, or modified markers.
|
|
121
|
+
During upgrade, a single well-formed old block is replaced while every byte
|
|
122
|
+
outside it remains user-owned; if both markers are absent, the whole current
|
|
123
|
+
file is retained before the new block is appended. Partial or duplicate
|
|
124
|
+
markers still fail closed.
|
|
121
125
|
|
|
122
126
|
New installations generate task examples in `all` module scope: every detected
|
|
123
127
|
Android module's `src/main`, `src/test`, and `src/androidTest` path is eligible,
|
|
@@ -145,7 +149,10 @@ The installed manifest is `0600`. Installer control, backup, recovery, and
|
|
|
145
149
|
history directories are created with private `0700` defaults; backup files
|
|
146
150
|
preserve the original file mode where recovery requires it. Shell resources
|
|
147
151
|
must be exact packaged bytes with `0755`; other copied templates are
|
|
148
|
-
non-executable.
|
|
152
|
+
non-executable. Upgrade does not treat mode drift in the active manifest,
|
|
153
|
+
managed files, or original backups as content corruption. It snapshots and
|
|
154
|
+
rechecks the actual pre-upgrade mode for stale-plan and rollback safety, then
|
|
155
|
+
writes the target package modes.
|
|
149
156
|
|
|
150
157
|
## Transaction and recovery safety
|
|
151
158
|
|
|
@@ -155,10 +162,12 @@ run, verifies final hashes/modes, and only then marks the manifest installed.
|
|
|
155
162
|
Failure before completion restores originals and removes safely unchanged new
|
|
156
163
|
files.
|
|
157
164
|
|
|
158
|
-
`upgrade` requires a
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
165
|
+
`upgrade` requires a structurally valid installed manifest plus intact managed
|
|
166
|
+
and backup content; mode-only drift is accepted. It saves the exact old
|
|
167
|
+
manifest and immediate pre-upgrade snapshots, preserves current user-owned
|
|
168
|
+
AGENTS content, reconstructs the OpenCode merge from its first-install
|
|
169
|
+
original, writes the new version, and replaces the manifest only after
|
|
170
|
+
verification. Failure attempts a whole-version rollback.
|
|
162
171
|
|
|
163
172
|
`uninstall` restores an original or removes a plugin-created path only when the
|
|
164
173
|
current path still matches a safe known state. Content, permission, deletion,
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Troubleshooting
|
|
2
2
|
|
|
3
3
|
Use this guide for
|
|
4
|
-
`@frankzhang2026/opencode-android-orchestrator@0.8.
|
|
4
|
+
`@frankzhang2026/opencode-android-orchestrator@0.8.1`.
|
|
5
5
|
|
|
6
6
|
## Start with read-only evidence
|
|
7
7
|
|
|
@@ -11,7 +11,7 @@ From the repository root, capture:
|
|
|
11
11
|
git status --short --branch
|
|
12
12
|
git rev-parse HEAD
|
|
13
13
|
opencode --version
|
|
14
|
-
npx @frankzhang2026/opencode-android-orchestrator@0.8.
|
|
14
|
+
npx @frankzhang2026/opencode-android-orchestrator@0.8.1 doctor . --json
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
If installation never completed, doctor will correctly report a missing or
|
|
@@ -31,6 +31,24 @@ The CLI uses these exit codes:
|
|
|
31
31
|
`init`, `upgrade`, and `uninstall` structures successful results; thrown errors
|
|
32
32
|
remain human-readable on stderr with a stable code such as `[FILE_CONFLICT]`.
|
|
33
33
|
|
|
34
|
+
## Company npm Registry override
|
|
35
|
+
|
|
36
|
+
If `npm config get registry` reports an internal Registry and a request fails
|
|
37
|
+
against that internal hostname, verify and run the public package with a
|
|
38
|
+
command-scoped override:
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
npm --registry=https://registry.npmjs.org/ view \
|
|
42
|
+
@frankzhang2026/opencode-android-orchestrator@0.8.1 version
|
|
43
|
+
npx --yes --registry=https://registry.npmjs.org/ \
|
|
44
|
+
@frankzhang2026/opencode-android-orchestrator@0.8.1 upgrade . --json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This leaves the company's saved npm configuration unchanged. Use the option
|
|
48
|
+
placement shown above; it is also suitable when GitHub is unavailable because
|
|
49
|
+
the package contains its required workflow skills and does not fetch the old
|
|
50
|
+
Git-backed Superpowers plugin at runtime.
|
|
51
|
+
|
|
34
52
|
## Prerequisite and discovery failures
|
|
35
53
|
|
|
36
54
|
| Symptom | Likely cause | Safe response |
|
|
@@ -50,7 +68,7 @@ remain human-readable on stderr with a stable code such as `[FILE_CONFLICT]`.
|
|
|
50
68
|
| Invalid `--long-command-timeout-ms` | The value is not an integer from `120000` through `7200000`. | Use the `1800000` ms default or pass an intentional bounded value to `init`/`upgrade`; do not edit the generated config directly. |
|
|
51
69
|
| Android SDK failure | No valid explicit SDK, `ANDROID_HOME`, `ANDROID_SDK_ROOT`, or `local.properties` `sdk.dir` was found. | Configure one real SDK root containing `platforms/` and `build-tools/`. Do not publish `local.properties`. |
|
|
52
70
|
| Missing `git`, `jq`, `rg`, `shasum`, or Java | Required deterministic command is unavailable on `PATH`. | Install or restore the missing command, record its version, and rerun the read-only checks. |
|
|
53
|
-
| `Bundled Orchestrator skill is unavailable` | The installed `0.8.
|
|
71
|
+
| `Bundled Orchestrator skill is unavailable` | The installed `0.8.1` package is incomplete, damaged, or loaded from an unsupported partial copy. | Reinstall the exact package, inspect its `resources/third-party/superpowers-v6.2.0/skills/` entries, restart OpenCode, and rerun `opencode debug skill`. Do not add an external Superpowers plugin as a fallback. |
|
|
54
72
|
| The exact Superpowers v6.2.0 plugin remains after upgrade | That entry existed in the verified pre-install OpenCode file and is therefore user-owned. | Leave it in place or remove it as a separate reviewed configuration change. Upgrade only removes the old Orchestrator-managed entry. |
|
|
55
73
|
|
|
56
74
|
Version `0.6.0` always passes `--no-configuration-cache` to its temporary
|
|
@@ -64,7 +82,7 @@ least `1800000` milliseconds. A higher timeout already supplied by the caller
|
|
|
64
82
|
is preserved; unrelated Bash commands are unchanged. To configure one hour,
|
|
65
83
|
run `upgrade . --long-command-timeout-ms 3600000` on a healthy installation.
|
|
66
84
|
If a command still reports `120000 ms`, confirm that the project manifest and
|
|
67
|
-
OpenCode plugin reference are both `0.8.
|
|
85
|
+
OpenCode plugin reference are both `0.8.1`, restart the OpenCode session so the
|
|
68
86
|
plugin reloads, and rerun doctor before attempting recovery.
|
|
69
87
|
|
|
70
88
|
After installation, inspect OpenCode discovery separately:
|
|
@@ -119,7 +137,7 @@ Common fail-closed codes include:
|
|
|
119
137
|
| `PLUGIN_VERSION_CONFLICT` | The same managed package identity has another reference/version. | Review and remove or migrate only the obsolete entry; never let init silently replace it. |
|
|
120
138
|
| `DUPLICATE_PLUGIN` or `DUPLICATE_PROPERTY` | Configuration identity is ambiguous. | Correct the JSON/JSONC structure without discarding unrelated fields or comments. |
|
|
121
139
|
| `INVALID_JSONC` or `ROOT_NOT_OBJECT` | OpenCode configuration cannot be merged safely. | Repair the user-owned file and validate it before retrying. |
|
|
122
|
-
| `AGENTS_BLOCK_CONFLICT` or `AGENTS_MARKERS_INVALID` |
|
|
140
|
+
| `AGENTS_BLOCK_CONFLICT` or `AGENTS_MARKERS_INVALID` | During `init`, the bounded block was modified; or a lifecycle command found partial, out-of-order, or duplicate markers. | Keep project-specific instructions outside one valid marker pair. `0.8.1 upgrade` preserves marker-external changes and replaces the old managed block; malformed marker structure still requires manual repair. |
|
|
123
141
|
| `FILE_SYMLINK`, `TARGET_SYMLINK`, or `CONFIG_SYMLINK` | A managed target or ancestor is a symbolic link. | Replace it only after understanding ownership and destination. The installer intentionally does not follow it. |
|
|
124
142
|
| `PLAN_STALE` or `TARGET_MODIFIED` | A file changed between planning and application. | Stop concurrent edits, inspect the diff, and rerun from a stable state. |
|
|
125
143
|
|
|
@@ -138,8 +156,8 @@ configuration.
|
|
|
138
156
|
| --- | --- | --- |
|
|
139
157
|
| `MANIFEST_MISSING`, `MANIFEST_INVALID`, or `MANIFEST_STATE` | No trustworthy installed manifest is available. | Do not invent a manifest or copy one from another project. Determine whether this is an uninstalled/manual setup or an interrupted transaction. |
|
|
140
158
|
| `EXISTING_INSTALLATION_DIFFERENT` | `init` found another installed inventory/version. | Use `upgrade` for a healthy older manifest. |
|
|
141
|
-
| `EXISTING_INSTALLATION_INVALID` or `INSTALLATION_INVALID` | Manifest, installed files, or required backups failed validation. | Preserve the project and `.automation-plugin/`; inspect doctor details
|
|
142
|
-
| `INSTALLED_FILES_MODIFIED` | Upgrade found content
|
|
159
|
+
| `EXISTING_INSTALLATION_INVALID` or `INSTALLATION_INVALID` | Manifest, installed files, or required backups failed structural or content validation. In `0.8.0`, this also reported an active manifest whose mode was not exactly `0600`. | Preserve the project and `.automation-plugin/`; use `0.8.1 upgrade` for mode-only drift, and inspect other doctor details or recovery history. |
|
|
160
|
+
| `INSTALLED_FILES_MODIFIED` | Upgrade found content/existence drift in an ordinary managed file or missing/modified backup content. | Move intentional customization out of ordinary managed paths or choose manual recovery. `0.8.1` separately merges user-owned `AGENTS.md` content and does not reject mode-only drift. |
|
|
143
161
|
| `VERSION_DOWNGRADE_REFUSED` | Target package is older than the installed manifest. | Use a newer fixed package version; never edit the manifest version. |
|
|
144
162
|
| `UPGRADE_IN_PROGRESS` or `UNINSTALL_IN_PROGRESS` | `.automation-plugin/upgrade.json` or `uninstall.json` records an unfinished transaction. | Inspect the marker and matching recovery directory. Do not delete the marker merely to retry. |
|
|
145
163
|
| `POST_UPGRADE_VERIFICATION_FAILED` | New resources failed verification. | The implementation attempts a complete old-version rollback; verify the old manifest and inspect upgrade evidence. |
|
|
@@ -149,7 +167,8 @@ configuration.
|
|
|
149
167
|
|
|
150
168
|
Installer control paths are:
|
|
151
169
|
|
|
152
|
-
- active manifest: `.automation-plugin/manifest.json` (
|
|
170
|
+
- active manifest: `.automation-plugin/manifest.json` (new manifests are
|
|
171
|
+
written as `0600`; mode-only drift does not block `0.8.1 upgrade`);
|
|
153
172
|
- first-install/original backups: `.automation-plugin/backups/<id>/`;
|
|
154
173
|
- upgrade marker and snapshots: `.automation-plugin/upgrade.json` and
|
|
155
174
|
`.automation-plugin/upgrades/<id>/`;
|