@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.
- package/CHANGELOG.md +34 -0
- package/README.md +92 -55
- package/dist/cli.js +14 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/android-sdk.d.ts +10 -0
- package/dist/config/android-sdk.d.ts.map +1 -0
- package/dist/config/android-sdk.js +50 -0
- package/dist/config/android-sdk.js.map +1 -0
- package/dist/config/commit-message-prefix.d.ts +31 -0
- package/dist/config/commit-message-prefix.d.ts.map +1 -0
- package/dist/config/commit-message-prefix.js +155 -0
- package/dist/config/commit-message-prefix.js.map +1 -0
- package/dist/config/queue-policy.d.ts +12 -0
- package/dist/config/queue-policy.d.ts.map +1 -0
- package/dist/config/queue-policy.js +18 -0
- package/dist/config/queue-policy.js.map +1 -0
- package/dist/config/verification-policy.d.ts +10 -3
- package/dist/config/verification-policy.d.ts.map +1 -1
- package/dist/config/verification-policy.js +66 -13
- package/dist/config/verification-policy.js.map +1 -1
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +3 -49
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/installation.d.ts.map +1 -1
- package/dist/doctor/installation.js +81 -0
- package/dist/doctor/installation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/adaptive-templates.d.ts +8 -2
- package/dist/installer/adaptive-templates.d.ts.map +1 -1
- package/dist/installer/adaptive-templates.js +10 -0
- package/dist/installer/adaptive-templates.js.map +1 -1
- package/dist/installer/index.d.ts +1 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +1 -0
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/init.d.ts +4 -1
- package/dist/installer/init.d.ts.map +1 -1
- package/dist/installer/init.js +60 -9
- package/dist/installer/init.js.map +1 -1
- package/dist/installer/install-manifest.d.ts +1 -0
- package/dist/installer/install-manifest.d.ts.map +1 -1
- package/dist/installer/install-manifest.js +6 -1
- package/dist/installer/install-manifest.js.map +1 -1
- package/dist/installer/opencode-config.d.ts +3 -3
- package/dist/installer/opencode-config.js +1 -1
- package/dist/installer/uninstall.d.ts.map +1 -1
- package/dist/installer/uninstall.js +5 -0
- package/dist/installer/uninstall.js.map +1 -1
- package/dist/installer/upgrade.d.ts +5 -1
- package/dist/installer/upgrade.d.ts.map +1 -1
- package/dist/installer/upgrade.js +94 -11
- package/dist/installer/upgrade.js.map +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +11 -5
- package/dist/plugin/index.js.map +1 -1
- package/dist/queue/approvals.d.ts +49 -0
- package/dist/queue/approvals.d.ts.map +1 -0
- package/dist/queue/approvals.js +68 -0
- package/dist/queue/approvals.js.map +1 -0
- package/dist/queue/cli.d.ts +3 -0
- package/dist/queue/cli.d.ts.map +1 -0
- package/dist/queue/cli.js +109 -0
- package/dist/queue/cli.js.map +1 -0
- package/dist/queue/executor.d.ts +24 -0
- package/dist/queue/executor.d.ts.map +1 -0
- package/dist/queue/executor.js +445 -0
- package/dist/queue/executor.js.map +1 -0
- package/dist/queue/lifecycle.d.ts +3 -0
- package/dist/queue/lifecycle.d.ts.map +1 -0
- package/dist/queue/lifecycle.js +24 -0
- package/dist/queue/lifecycle.js.map +1 -0
- package/dist/queue/queue.d.ts +154 -0
- package/dist/queue/queue.d.ts.map +1 -0
- package/dist/queue/queue.js +411 -0
- package/dist/queue/queue.js.map +1 -0
- package/dist/queue/service.d.ts +15 -0
- package/dist/queue/service.d.ts.map +1 -0
- package/dist/queue/service.js +152 -0
- package/dist/queue/service.js.map +1 -0
- package/dist/queue/storage.d.ts +30 -0
- package/dist/queue/storage.d.ts.map +1 -0
- package/dist/queue/storage.js +171 -0
- package/dist/queue/storage.js.map +1 -0
- package/dist/queue/tools.d.ts +12 -0
- package/dist/queue/tools.d.ts.map +1 -0
- package/dist/queue/tools.js +144 -0
- package/dist/queue/tools.js.map +1 -0
- package/docs/MIGRATION.md +47 -14
- package/docs/QUEUE.md +146 -0
- package/docs/SECURITY.md +48 -32
- package/docs/TROUBLESHOOTING.md +36 -11
- package/package.json +1 -1
- package/templates/.opencode/agents/scheduled-planner.md +60 -131
- package/templates/.opencode/commands/abort-task.md +6 -15
- package/templates/.opencode/commands/acceptance.md +6 -15
- package/templates/.opencode/commands/change.md +3 -1
- package/templates/.opencode/commands/resume-review.md +6 -14
- package/templates/.opencode/commands/resume-task.md +6 -23
- package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +69 -248
- package/templates/AGENTS.md.fragment +8 -0
- package/templates/README.md +9 -1
- package/templates/automation/config.json +9 -2
- package/templates/automation/config.schema.json +222 -45
- package/templates/scripts/automation/abort-task.sh +4 -2
- package/templates/scripts/automation/accept-and-integrate.sh +9 -2
- package/templates/scripts/automation/acceptance-report.sh +4 -2
- package/templates/scripts/automation/approve-and-run.sh +5 -0
- package/templates/scripts/automation/begin-review.sh +1 -0
- package/templates/scripts/automation/block-task.sh +1 -0
- package/templates/scripts/automation/claim-task.sh +1 -0
- package/templates/scripts/automation/lib.sh +186 -2
- package/templates/scripts/automation/orchestrate-task.sh +12 -0
- package/templates/scripts/automation/preflight.sh +25 -4
- package/templates/scripts/automation/prepare-contract-review.sh +4 -0
- package/templates/scripts/automation/quality-gate.sh +1 -0
- package/templates/scripts/automation/record-red.sh +1 -0
- package/templates/scripts/automation/resume-review-fix.sh +1 -0
- package/templates/scripts/automation/resume-review.sh +1 -0
- package/templates/scripts/automation/resume-task.sh +1 -0
- package/templates/scripts/automation/scope-gate.sh +10 -2
- package/templates/scripts/automation/show-acceptance-review.sh +3 -0
- package/templates/scripts/automation/submit-review.sh +8 -2
- package/templates/scripts/automation/tests/run-tests.sh +59 -4
- 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
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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;
|
|
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
|
|
22
|
-
*
|
|
23
|
-
*
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/doctor/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
-
import { lstatSync
|
|
3
|
-
import {
|
|
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);
|
package/dist/doctor/index.js.map
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,oBAAoB,GAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAwC3B,MAAM,CAAC,MAAM,UAAU,GAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QAC9C,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,aAAa,CAAC,KAA2B;IAChD,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC9D,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACtE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,MAAM,IAAI,KAAK;QACnB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAC1C;SACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC;IAChD,MAAM,aAAa,GAKb;QACJ,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;IAEF,OAAO,aAAa,CAAC,GAAG,CAAc,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;aACrD,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,OAAO;YACL,EAAE;YACF,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChC,OAAO,EAAE,MAAM;gBACb,CAAC,CAAC,GAAG,UAAU,gBAAgB;gBAC/B,CAAC,CAAC,GAAG,UAAU,sCAAsC;YACvD,OAAO,EAAE,MAAM;gBACb,CAAC,CAAC,WAAW,KAAK,SAAS;oBACzB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,WAAW,CAAC;gBACjB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,eAAuB,EACvB,UAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EACL,4EAA4E;YAC9E,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mDAAmD,SAAS,CAAC,SAAS,EAAE;YACjF,OAAO,EAAE,CAAC,WAAW,SAAS,CAAC,MAAM,EAAE,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,MAAM,CAC3D,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CACtE,CAAC;IACF,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxD,OAAO,EACL,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC5B,CAAC,CAAC,wBAAwB,SAAS,CAAC,SAAS,GAAG;YAChD,CAAC,CAAC,2BAA2B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B;QAC1F,OAAO,EAAE;YACP,WAAW,SAAS,CAAC,MAAM,EAAE;YAC7B,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;SAC1C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,UAAyB,EAAE;IAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,UAAU,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjD,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qBAAqB,UAAU,GAAG;YAC3C,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO;YACL,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,UAAU,iCAAiC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;YAC/E,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC;QACnC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,OAAO,EACL,YAAY,CAAC,gBAAgB,KAAK,IAAI;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,wBAAwB,UAAU,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,UAAyB,EAAE;IACnD,MAAM,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,IAAI,cAAc,GAChB,OAAO,CAAC,eAAe,KAAK,SAAS;QACnC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,SAAS,GACb,OAAO,CAAC,uBAAuB;YAC/B,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QAChD,cAAc,GAAG,SAAS,CAAC,OAAO,IAAI,cAAc,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CACT,GAAG,uBAAuB,CAAC,OAAO,CAAC,EACnC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QACpD,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAkC;IAElC,MAAM,QAAQ,GAAgB,SAAS,CAAC,eAAe;QACrD,CAAC,CAAC;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS,SAAS,CAAC,OAAO,IAAI,EAAE,GAAG;YAC5C,OAAO,EAAE,EAAE;SACZ;QACH,CAAC,CAAC;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3B;SACF,CAAC;IAEN,MAAM,eAAe,GACnB,SAAS,CAAC,YAAY,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,MAAM,YAAY,GAAgB,eAAe;QAC/C,CAAC,CAAC;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,MAAM,4BAA4B,SAAS,CAAC,GAAG,OAAO;YAC7F,OAAO,EAAE;gBACP,aAAa,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE;gBAC3C,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,GAAG,CACzE;gBACD,GAAG,SAAS,CAAC,QAAQ;aACtB;SACF;QACH,CAAC,CAAC;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC;SACtD,CAAC;IAEN,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC;IACxC,MAAM,YAAY,GAChB,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU;QACxD,CAAC,CAAC;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oDAAoD;YAC7D,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B;QACH,CAAC,CAAC;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EACL,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,qCAAqC;gBACvC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBACjB,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,4BAA4B;YACpC,OAAO,EACL,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;SAC3C,CAAC;IAER,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAG,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;IAE3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CACR,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CACnE,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/doctor/installation.ts"],"names":[],"mappings":"
|
|
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"}
|