@frankzhang2026/opencode-android-orchestrator 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +92 -55
  3. package/dist/cli.js +14 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config/android-sdk.d.ts +10 -0
  6. package/dist/config/android-sdk.d.ts.map +1 -0
  7. package/dist/config/android-sdk.js +50 -0
  8. package/dist/config/android-sdk.js.map +1 -0
  9. package/dist/config/commit-message-prefix.d.ts +31 -0
  10. package/dist/config/commit-message-prefix.d.ts.map +1 -0
  11. package/dist/config/commit-message-prefix.js +155 -0
  12. package/dist/config/commit-message-prefix.js.map +1 -0
  13. package/dist/config/queue-policy.d.ts +12 -0
  14. package/dist/config/queue-policy.d.ts.map +1 -0
  15. package/dist/config/queue-policy.js +18 -0
  16. package/dist/config/queue-policy.js.map +1 -0
  17. package/dist/config/verification-policy.d.ts +10 -3
  18. package/dist/config/verification-policy.d.ts.map +1 -1
  19. package/dist/config/verification-policy.js +66 -13
  20. package/dist/config/verification-policy.js.map +1 -1
  21. package/dist/doctor/index.d.ts.map +1 -1
  22. package/dist/doctor/index.js +3 -49
  23. package/dist/doctor/index.js.map +1 -1
  24. package/dist/doctor/installation.d.ts.map +1 -1
  25. package/dist/doctor/installation.js +81 -0
  26. package/dist/doctor/installation.js.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/installer/adaptive-templates.d.ts +8 -2
  32. package/dist/installer/adaptive-templates.d.ts.map +1 -1
  33. package/dist/installer/adaptive-templates.js +10 -0
  34. package/dist/installer/adaptive-templates.js.map +1 -1
  35. package/dist/installer/index.d.ts +1 -0
  36. package/dist/installer/index.d.ts.map +1 -1
  37. package/dist/installer/index.js +1 -0
  38. package/dist/installer/index.js.map +1 -1
  39. package/dist/installer/init.d.ts +4 -1
  40. package/dist/installer/init.d.ts.map +1 -1
  41. package/dist/installer/init.js +60 -9
  42. package/dist/installer/init.js.map +1 -1
  43. package/dist/installer/install-manifest.d.ts +1 -0
  44. package/dist/installer/install-manifest.d.ts.map +1 -1
  45. package/dist/installer/install-manifest.js +6 -1
  46. package/dist/installer/install-manifest.js.map +1 -1
  47. package/dist/installer/opencode-config.d.ts +3 -3
  48. package/dist/installer/opencode-config.js +1 -1
  49. package/dist/installer/uninstall.d.ts.map +1 -1
  50. package/dist/installer/uninstall.js +5 -0
  51. package/dist/installer/uninstall.js.map +1 -1
  52. package/dist/installer/upgrade.d.ts +5 -1
  53. package/dist/installer/upgrade.d.ts.map +1 -1
  54. package/dist/installer/upgrade.js +94 -11
  55. package/dist/installer/upgrade.js.map +1 -1
  56. package/dist/plugin/index.d.ts.map +1 -1
  57. package/dist/plugin/index.js +11 -5
  58. package/dist/plugin/index.js.map +1 -1
  59. package/dist/queue/approvals.d.ts +49 -0
  60. package/dist/queue/approvals.d.ts.map +1 -0
  61. package/dist/queue/approvals.js +68 -0
  62. package/dist/queue/approvals.js.map +1 -0
  63. package/dist/queue/cli.d.ts +3 -0
  64. package/dist/queue/cli.d.ts.map +1 -0
  65. package/dist/queue/cli.js +109 -0
  66. package/dist/queue/cli.js.map +1 -0
  67. package/dist/queue/executor.d.ts +24 -0
  68. package/dist/queue/executor.d.ts.map +1 -0
  69. package/dist/queue/executor.js +445 -0
  70. package/dist/queue/executor.js.map +1 -0
  71. package/dist/queue/lifecycle.d.ts +3 -0
  72. package/dist/queue/lifecycle.d.ts.map +1 -0
  73. package/dist/queue/lifecycle.js +24 -0
  74. package/dist/queue/lifecycle.js.map +1 -0
  75. package/dist/queue/queue.d.ts +154 -0
  76. package/dist/queue/queue.d.ts.map +1 -0
  77. package/dist/queue/queue.js +411 -0
  78. package/dist/queue/queue.js.map +1 -0
  79. package/dist/queue/service.d.ts +15 -0
  80. package/dist/queue/service.d.ts.map +1 -0
  81. package/dist/queue/service.js +152 -0
  82. package/dist/queue/service.js.map +1 -0
  83. package/dist/queue/storage.d.ts +30 -0
  84. package/dist/queue/storage.d.ts.map +1 -0
  85. package/dist/queue/storage.js +171 -0
  86. package/dist/queue/storage.js.map +1 -0
  87. package/dist/queue/tools.d.ts +12 -0
  88. package/dist/queue/tools.d.ts.map +1 -0
  89. package/dist/queue/tools.js +144 -0
  90. package/dist/queue/tools.js.map +1 -0
  91. package/docs/MIGRATION.md +47 -14
  92. package/docs/QUEUE.md +146 -0
  93. package/docs/SECURITY.md +48 -32
  94. package/docs/TROUBLESHOOTING.md +36 -11
  95. package/package.json +1 -1
  96. package/templates/.opencode/agents/scheduled-planner.md +60 -131
  97. package/templates/.opencode/commands/abort-task.md +6 -15
  98. package/templates/.opencode/commands/acceptance.md +6 -15
  99. package/templates/.opencode/commands/change.md +3 -1
  100. package/templates/.opencode/commands/resume-review.md +6 -14
  101. package/templates/.opencode/commands/resume-task.md +6 -23
  102. package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +69 -248
  103. package/templates/AGENTS.md.fragment +8 -0
  104. package/templates/README.md +9 -1
  105. package/templates/automation/config.json +9 -2
  106. package/templates/automation/config.schema.json +222 -45
  107. package/templates/scripts/automation/abort-task.sh +4 -2
  108. package/templates/scripts/automation/accept-and-integrate.sh +9 -2
  109. package/templates/scripts/automation/acceptance-report.sh +4 -2
  110. package/templates/scripts/automation/approve-and-run.sh +5 -0
  111. package/templates/scripts/automation/begin-review.sh +1 -0
  112. package/templates/scripts/automation/block-task.sh +1 -0
  113. package/templates/scripts/automation/claim-task.sh +1 -0
  114. package/templates/scripts/automation/lib.sh +186 -2
  115. package/templates/scripts/automation/orchestrate-task.sh +12 -0
  116. package/templates/scripts/automation/preflight.sh +25 -4
  117. package/templates/scripts/automation/prepare-contract-review.sh +4 -0
  118. package/templates/scripts/automation/quality-gate.sh +1 -0
  119. package/templates/scripts/automation/record-red.sh +1 -0
  120. package/templates/scripts/automation/resume-review-fix.sh +1 -0
  121. package/templates/scripts/automation/resume-review.sh +1 -0
  122. package/templates/scripts/automation/resume-task.sh +1 -0
  123. package/templates/scripts/automation/scope-gate.sh +10 -2
  124. package/templates/scripts/automation/show-acceptance-review.sh +3 -0
  125. package/templates/scripts/automation/submit-review.sh +8 -2
  126. package/templates/scripts/automation/tests/run-tests.sh +59 -4
  127. package/templates/scripts/automation/verify-task.sh +13 -0
@@ -0,0 +1,155 @@
1
+ import { lstatSync, readFileSync, unlinkSync, writeFileSync, } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { TextDecoder } from "node:util";
4
+ export const COMMIT_MESSAGE_PREFIX_RELATIVE_PATH = "automation/automation-commit-prefix";
5
+ export const INITIAL_COMMIT_MESSAGE_PREFIX_CONTENT = [
6
+ "# 必填:请在下一行填写当前 Git 提交文案前缀",
7
+ "# 示例:XXX",
8
+ "",
9
+ ].join("\n");
10
+ export const COMMIT_MESSAGE_PREFIX_FILE_MAX_BYTES = 4_096;
11
+ export const COMMIT_MESSAGE_PREFIX_MAX_BYTES = 256;
12
+ export const DEFAULT_COMMIT_MESSAGE_PREFIX_MODE = "required";
13
+ export function isCommitMessagePrefixMode(value) {
14
+ return value === "required" || value === "disabled";
15
+ }
16
+ export class CommitMessagePrefixError extends Error {
17
+ code;
18
+ details;
19
+ constructor(code, message, details = []) {
20
+ super(message);
21
+ this.name = "CommitMessagePrefixError";
22
+ this.code = code;
23
+ this.details = details;
24
+ }
25
+ }
26
+ function filesystemErrorCode(error) {
27
+ if (typeof error === "object" &&
28
+ error !== null &&
29
+ "code" in error &&
30
+ typeof error.code === "string") {
31
+ return error.code;
32
+ }
33
+ return null;
34
+ }
35
+ function invalidInspection(path, mode, detail) {
36
+ return {
37
+ path,
38
+ mode,
39
+ status: "invalid",
40
+ prefix: null,
41
+ details: [detail],
42
+ };
43
+ }
44
+ export function inspectCommitMessagePrefix(targetDirectory, mode) {
45
+ const path = join(targetDirectory, ...COMMIT_MESSAGE_PREFIX_RELATIVE_PATH.split("/"));
46
+ if (mode === "disabled") {
47
+ return { path, mode, status: "disabled", prefix: null, details: [] };
48
+ }
49
+ let stats;
50
+ try {
51
+ stats = lstatSync(path);
52
+ }
53
+ catch (error) {
54
+ if (filesystemErrorCode(error) === "ENOENT") {
55
+ return { path, mode, status: "missing", prefix: null, details: [] };
56
+ }
57
+ return invalidInspection(path, mode, error instanceof Error ? error.message : String(error));
58
+ }
59
+ if (stats.isSymbolicLink() || !stats.isFile()) {
60
+ return invalidInspection(path, mode, "The commit-message prefix must be a regular file, not a symlink or directory.");
61
+ }
62
+ if (stats.size > COMMIT_MESSAGE_PREFIX_FILE_MAX_BYTES) {
63
+ return invalidInspection(path, mode, `The commit-message prefix file exceeds ${String(COMMIT_MESSAGE_PREFIX_FILE_MAX_BYTES)} bytes.`);
64
+ }
65
+ let content;
66
+ try {
67
+ content = new TextDecoder("utf-8", { fatal: true }).decode(readFileSync(path));
68
+ }
69
+ catch (error) {
70
+ return invalidInspection(path, mode, `The commit-message prefix file is unreadable or is not valid UTF-8: ${error instanceof Error ? error.message : String(error)}`);
71
+ }
72
+ const activeLines = content
73
+ .split(/\r?\n/)
74
+ .filter((line) => line.trim().length > 0 && !line.trimStart().startsWith("#"));
75
+ if (activeLines.length === 0) {
76
+ return { path, mode, status: "unconfigured", prefix: null, details: [] };
77
+ }
78
+ if (activeLines.length !== 1) {
79
+ return invalidInspection(path, mode, "The commit-message prefix file must contain exactly one non-comment line.");
80
+ }
81
+ const prefix = activeLines[0];
82
+ if (prefix !== prefix.trim()) {
83
+ return invalidInspection(path, mode, "The commit-message prefix must not have leading or trailing whitespace.");
84
+ }
85
+ if (/[\u0000-\u001f\u007f]/u.test(prefix)) {
86
+ return invalidInspection(path, mode, "The commit-message prefix must not contain control characters.");
87
+ }
88
+ if (Buffer.byteLength(prefix, "utf8") > COMMIT_MESSAGE_PREFIX_MAX_BYTES) {
89
+ return invalidInspection(path, mode, `The commit-message prefix exceeds ${String(COMMIT_MESSAGE_PREFIX_MAX_BYTES)} UTF-8 bytes.`);
90
+ }
91
+ return { path, mode, status: "configured", prefix, details: [] };
92
+ }
93
+ function assertUsableInspection(inspection) {
94
+ if (inspection.status === "invalid") {
95
+ throw new CommitMessagePrefixError("COMMIT_MESSAGE_PREFIX_INVALID", "The commit-message prefix file is invalid.", [inspection.path, ...inspection.details]);
96
+ }
97
+ }
98
+ export function initializeCommitMessagePrefix(targetDirectory, mode) {
99
+ const initial = inspectCommitMessagePrefix(targetDirectory, mode);
100
+ assertUsableInspection(initial);
101
+ if (initial.status === "disabled") {
102
+ return { path: initial.path, mode, status: "disabled" };
103
+ }
104
+ if (initial.status === "configured") {
105
+ return { path: initial.path, mode, status: "existing-configured" };
106
+ }
107
+ if (initial.status === "unconfigured") {
108
+ return { path: initial.path, mode, status: "existing-unconfigured" };
109
+ }
110
+ try {
111
+ writeFileSync(initial.path, INITIAL_COMMIT_MESSAGE_PREFIX_CONTENT, {
112
+ flag: "wx",
113
+ mode: 0o644,
114
+ });
115
+ return { path: initial.path, mode, status: "created-unconfigured" };
116
+ }
117
+ catch (error) {
118
+ if (filesystemErrorCode(error) === "EEXIST") {
119
+ const concurrent = inspectCommitMessagePrefix(targetDirectory, mode);
120
+ assertUsableInspection(concurrent);
121
+ if (concurrent.status === "configured") {
122
+ return { path: concurrent.path, mode, status: "existing-configured" };
123
+ }
124
+ if (concurrent.status === "unconfigured") {
125
+ return { path: concurrent.path, mode, status: "existing-unconfigured" };
126
+ }
127
+ }
128
+ throw new CommitMessagePrefixError("COMMIT_MESSAGE_PREFIX_WRITE_FAILED", `Unable to create the commit-message prefix file: ${initial.path}`, [error instanceof Error ? error.message : String(error)]);
129
+ }
130
+ }
131
+ export function rollbackCommitMessagePrefixInitialization(initialization) {
132
+ if (initialization.status !== "created-unconfigured") {
133
+ return;
134
+ }
135
+ try {
136
+ const stats = lstatSync(initialization.path);
137
+ const content = readFileSync(initialization.path, "utf8");
138
+ if (stats.isSymbolicLink() ||
139
+ !stats.isFile() ||
140
+ content !== INITIAL_COMMIT_MESSAGE_PREFIX_CONTENT) {
141
+ throw new Error("The automatically created prefix file changed and was preserved.");
142
+ }
143
+ unlinkSync(initialization.path);
144
+ }
145
+ catch (error) {
146
+ if (filesystemErrorCode(error) === "ENOENT") {
147
+ return;
148
+ }
149
+ throw new CommitMessagePrefixError("COMMIT_MESSAGE_PREFIX_ROLLBACK_FAILED", "The automatically created commit-message prefix file could not be rolled back safely.", [
150
+ error instanceof Error ? error.message : String(error),
151
+ `Preserved path: ${initialization.path}`,
152
+ ]);
153
+ }
154
+ }
155
+ //# sourceMappingURL=commit-message-prefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commit-message-prefix.js","sourceRoot":"","sources":["../../src/config/commit-message-prefix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface QueuePolicy {
2
+ workspaceStrategy: "inPlaceExclusive" | "isolatedWorktree";
3
+ commitPolicy: "humanApproval" | "autoCommit";
4
+ worktreeBase: string;
5
+ queue: {
6
+ scanIntervalMs: number;
7
+ maxWorkspaces: number;
8
+ maxWorkspaceBytes: number;
9
+ };
10
+ }
11
+ export declare function queuePolicy(value: Partial<Record<keyof QueuePolicy, unknown>>): QueuePolicy;
12
+ //# sourceMappingURL=queue-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-policy.d.ts","sourceRoot":"","sources":["../../src/config/queue-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IAC3D,YAAY,EAAE,eAAe,GAAG,YAAY,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAgB3F"}
@@ -0,0 +1,18 @@
1
+ export function queuePolicy(value) {
2
+ const workspaceStrategy = value.workspaceStrategy ?? "inPlaceExclusive";
3
+ const commitPolicy = value.commitPolicy ?? "humanApproval";
4
+ const worktreeBase = value.worktreeBase ?? "";
5
+ const settings = value.queue;
6
+ const queue = { scanIntervalMs: 5000, maxWorkspaces: 3, maxWorkspaceBytes: 20 * 1024 ** 3, ...settings };
7
+ if (!["inPlaceExclusive", "isolatedWorktree"].includes(String(workspaceStrategy)) ||
8
+ !["humanApproval", "autoCommit"].includes(String(commitPolicy)) ||
9
+ (workspaceStrategy === "isolatedWorktree" && commitPolicy === "autoCommit") ||
10
+ typeof worktreeBase !== "string" || !queue ||
11
+ !Number.isInteger(queue.scanIntervalMs) || queue.scanIntervalMs < 1000 || queue.scanIntervalMs > 60000 ||
12
+ !Number.isInteger(queue.maxWorkspaces) || queue.maxWorkspaces < 1 || queue.maxWorkspaces > 32 ||
13
+ !Number.isSafeInteger(queue.maxWorkspaceBytes) || queue.maxWorkspaceBytes < 1) {
14
+ throw new Error("Invalid queue/workspace policy; isolatedWorktree + autoCommit is unsupported");
15
+ }
16
+ return { workspaceStrategy, commitPolicy, worktreeBase, queue };
17
+ }
18
+ //# sourceMappingURL=queue-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-policy.js","sourceRoot":"","sources":["../../src/config/queue-policy.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CAAC,KAAkD;IAC5E,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC;IAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAkD,CAAC;IAC1E,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzG,IAAI,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC7E,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/D,CAAC,iBAAiB,KAAK,kBAAkB,IAAI,YAAY,KAAK,YAAY,CAAC;QAC3E,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK;QAC1C,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,KAAK,CAAC,cAAc,GAAG,KAAK;QACtG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,aAAa,GAAG,EAAE;QAC7F,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAiB,CAAC;AACjF,CAAC"}
@@ -1,19 +1,26 @@
1
+ import { type CommitMessagePrefixMode } from "./commit-message-prefix.js";
1
2
  export declare const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
2
3
  export declare const DEFAULT_LINT_ENABLED = false;
3
4
  export declare const DEFAULT_UNIT_TESTS_ENABLED = true;
4
5
  export interface VerificationPolicy {
6
+ commitMessagePrefixMode: CommitMessagePrefixMode;
5
7
  lintEnabled: boolean;
6
8
  unitTestsEnabled: boolean;
7
9
  }
8
10
  interface ContentFingerprint {
9
11
  sha256: string;
10
12
  size: number;
13
+ queuePolicySha256?: string | undefined;
11
14
  }
15
+ /** Authenticate managed settings independently of operator-owned queue values. */
16
+ export declare function queuePolicyFingerprint(path: string, content: Uint8Array): {
17
+ queuePolicySha256?: string;
18
+ };
12
19
  /**
13
20
  * 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.
21
+ * changed only supported operator policy fields. New manifests authenticate
22
+ * managed content with queue values normalized; older manifests retain the
23
+ * finite-state fallback. Neither path ignores changes to protected settings.
17
24
  */
18
25
  export declare function matchesManifestModuloVerificationPolicy(content: Uint8Array, expected: ContentFingerprint): boolean;
19
26
  export {};
@@ -1 +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"}
1
+ {"version":3,"file":"verification-policy.d.ts","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAUD,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAOxG;AAyBD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CA+DT"}
@@ -1,4 +1,6 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { queuePolicy } from "./queue-policy.js";
3
+ import { DEFAULT_COMMIT_MESSAGE_PREFIX_MODE, isCommitMessagePrefixMode, } from "./commit-message-prefix.js";
2
4
  export const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
3
5
  export const DEFAULT_LINT_ENABLED = false;
4
6
  export const DEFAULT_UNIT_TESTS_ENABLED = true;
@@ -8,6 +10,22 @@ function isRecord(value) {
8
10
  function sha256(content) {
9
11
  return createHash("sha256").update(content).digest("hex");
10
12
  }
13
+ /** Authenticate managed settings independently of operator-owned queue values. */
14
+ export function queuePolicyFingerprint(path, content) {
15
+ if (path !== AUTOMATION_CONFIG_RELATIVE_PATH)
16
+ return {};
17
+ let value;
18
+ try {
19
+ value = JSON.parse(Buffer.from(content).toString("utf8"));
20
+ }
21
+ catch {
22
+ return {};
23
+ }
24
+ if (!isRecord(value) || value.schemaVersion !== 6)
25
+ return {};
26
+ queuePolicy(value);
27
+ return { queuePolicySha256: sha256(Buffer.from(`${JSON.stringify({ ...value, ...queuePolicy({}) }, null, 2)}\n`)) };
28
+ }
11
29
  function setOptionalBoolean(value, key, configured) {
12
30
  if (configured === undefined) {
13
31
  delete value[key];
@@ -16,11 +34,19 @@ function setOptionalBoolean(value, key, configured) {
16
34
  value[key] = configured;
17
35
  }
18
36
  }
37
+ function setOptionalCommitMessagePrefixMode(value, configured) {
38
+ if (configured === undefined) {
39
+ delete value.commitMessagePrefixMode;
40
+ }
41
+ else {
42
+ value.commitMessagePrefixMode = configured;
43
+ }
44
+ }
19
45
  /**
20
46
  * 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.
47
+ * changed only supported operator policy fields. New manifests authenticate
48
+ * managed content with queue values normalized; older manifests retain the
49
+ * finite-state fallback. Neither path ignores changes to protected settings.
24
50
  */
25
51
  export function matchesManifestModuloVerificationPolicy(content, expected) {
26
52
  if (content.byteLength === expected.size &&
@@ -38,19 +64,46 @@ export function matchesManifestModuloVerificationPolicy(content, expected) {
38
64
  return false;
39
65
  }
40
66
  if (typeof parsed.lintEnabled !== "boolean" ||
41
- typeof parsed.unitTestsEnabled !== "boolean") {
67
+ typeof parsed.unitTestsEnabled !== "boolean" ||
68
+ (parsed.commitMessagePrefixMode !== undefined &&
69
+ !isCommitMessagePrefixMode(parsed.commitMessagePrefixMode))) {
42
70
  return false;
43
71
  }
44
72
  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;
73
+ if (parsed.schemaVersion === 6) {
74
+ try {
75
+ queuePolicy(parsed);
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ const queueCandidates = parsed.schemaVersion === 6
82
+ ? [parsed, ...["inPlaceExclusive", "isolatedWorktree"].flatMap(workspaceStrategy => ["humanApproval", "autoCommit"].flatMap(commitPolicy => [
83
+ { ...parsed, workspaceStrategy, commitPolicy },
84
+ { ...parsed, workspaceStrategy, commitPolicy, worktreeBase: "", queue: { scanIntervalMs: 5000, maxWorkspaces: 3, maxWorkspaceBytes: 20 * 1024 ** 3 } },
85
+ ]))]
86
+ : [parsed];
87
+ const prefixModes = [
88
+ undefined,
89
+ DEFAULT_COMMIT_MESSAGE_PREFIX_MODE,
90
+ "disabled",
91
+ ];
92
+ for (const policyCandidate of queueCandidates) {
93
+ for (const commitMessagePrefixMode of prefixModes) {
94
+ for (const unitTestsEnabled of states) {
95
+ for (const lintEnabled of states) {
96
+ const candidate = { ...policyCandidate };
97
+ setOptionalCommitMessagePrefixMode(candidate, commitMessagePrefixMode);
98
+ setOptionalBoolean(candidate, "unitTestsEnabled", unitTestsEnabled);
99
+ setOptionalBoolean(candidate, "lintEnabled", lintEnabled);
100
+ const rendered = Buffer.from(`${JSON.stringify(candidate, null, 2)}\n`);
101
+ if ((rendered.byteLength === expected.size && sha256(rendered) === expected.sha256) ||
102
+ (expected.queuePolicySha256 !== undefined &&
103
+ sha256(Buffer.from(`${JSON.stringify({ ...candidate, ...queuePolicy({}) }, null, 2)}\n`)) === expected.queuePolicySha256)) {
104
+ return true;
105
+ }
106
+ }
54
107
  }
55
108
  }
56
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAY/C,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,SAAS,MAAM,CAAC,OAAmB;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA8B,EAC9B,GAA6B,EAC7B,UAA+B;IAE/B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uCAAuC,CACrD,OAAmB,EACnB,QAA4B;IAE5B,IACE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,MAAM,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS;QACvC,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAqC,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1E,KAAK,MAAM,gBAAgB,IAAI,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAChC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YACpE,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxE,IACE,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI;gBACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,MAAM,EACpC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,aAAa,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,aAaxB,CAAC;AAuBF,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,aAAkB,GAC1B,SAAS,WAAW,EAAE,CAoCxB;AAuED,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAwCb;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAuCb;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA4BnE;AA4ED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAc/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,aAAa,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,UAAU,EAAE,aAaxB,CAAC;AAuBF,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,aAAkB,GAC1B,SAAS,WAAW,EAAE,CAoCxB;AAWD,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAwCb;AAED,wBAAgB,eAAe,CAC7B,OAAO,GAAE,aAAkB,GAC1B,WAAW,CAuCb;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,YAAY,CA4BnE;AA4ED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAc/D"}
@@ -1,10 +1,11 @@
1
1
  import { spawnSync } from "node:child_process";
2
- import { lstatSync, readFileSync } from "node:fs";
3
- import { isAbsolute, join, resolve } from "node:path";
2
+ import { lstatSync } from "node:fs";
3
+ import { join, resolve } from "node:path";
4
4
  import process from "node:process";
5
5
  import { checkOpenCodeVersion, } from "../compatibility/versions.js";
6
6
  import { detectAndroidProject, } from "../installer/android-project.js";
7
7
  import { installationDoctorChecks } from "./installation.js";
8
+ import { androidSdkCandidate } from "../config/android-sdk.js";
8
9
  export { EXPECTED_MANAGED_FILE_COUNT, installationDoctorChecks, } from "./installation.js";
9
10
  export const runCommand = (executable, args) => {
10
11
  const result = spawnSync(executable, [...args], {
@@ -67,53 +68,6 @@ export function inspectRequiredCommands(options = {}) {
67
68
  };
68
69
  });
69
70
  }
70
- function localPropertiesSdkDirectory(targetDirectory) {
71
- const localProperties = join(targetDirectory, "local.properties");
72
- try {
73
- const stats = lstatSync(localProperties);
74
- if (stats.isSymbolicLink() || !stats.isFile()) {
75
- return null;
76
- }
77
- const source = readFileSync(localProperties, "utf8");
78
- const value = source
79
- .split(/\r?\n/)
80
- .map((line) => /^\s*sdk\.dir\s*=\s*(.*?)\s*$/.exec(line)?.[1])
81
- .find((entry) => entry !== undefined && entry.length > 0);
82
- if (value === undefined) {
83
- return null;
84
- }
85
- const unescaped = value.replace(/\\([\\ :=])/g, "$1");
86
- return {
87
- directory: isAbsolute(unescaped)
88
- ? resolve(unescaped)
89
- : resolve(targetDirectory, unescaped),
90
- source: "local.properties sdk.dir",
91
- };
92
- }
93
- catch {
94
- return null;
95
- }
96
- }
97
- function androidSdkCandidate(targetDirectory, options) {
98
- if (options.androidSdkDirectory !== undefined &&
99
- options.androidSdkDirectory.trim().length > 0) {
100
- return {
101
- directory: resolve(options.androidSdkDirectory.trim()),
102
- source: "explicit option",
103
- };
104
- }
105
- const environment = options.environment ?? process.env;
106
- for (const name of ["ANDROID_HOME", "ANDROID_SDK_ROOT"]) {
107
- const value = environment[name];
108
- if (value !== undefined && value.trim().length > 0) {
109
- return {
110
- directory: resolve(value.trim()),
111
- source: name,
112
- };
113
- }
114
- }
115
- return localPropertiesSdkDirectory(targetDirectory);
116
- }
117
71
  function isSafeDirectory(path) {
118
72
  try {
119
73
  const stats = lstatSync(path);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doctor/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/doctor/installation.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA+mB9C,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,CA4DxB"}
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/doctor/installation.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAysB9C,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,CA6DxB"}