@frankzhang2026/opencode-android-orchestrator 0.1.0 → 0.2.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 (124) hide show
  1. package/CHANGELOG.md +75 -2
  2. package/LICENSE +21 -0
  3. package/README.md +391 -6
  4. package/THIRD_PARTY_NOTICES.md +119 -0
  5. package/dist/cli.js +243 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/compatibility/hooks.d.ts +23 -0
  8. package/dist/compatibility/hooks.d.ts.map +1 -0
  9. package/dist/compatibility/hooks.js +44 -0
  10. package/dist/compatibility/hooks.js.map +1 -0
  11. package/dist/compatibility/versions.d.ts +19 -0
  12. package/dist/compatibility/versions.d.ts.map +1 -1
  13. package/dist/compatibility/versions.js +116 -0
  14. package/dist/compatibility/versions.js.map +1 -1
  15. package/dist/doctor/index.d.ts +36 -0
  16. package/dist/doctor/index.d.ts.map +1 -0
  17. package/dist/doctor/index.js +289 -0
  18. package/dist/doctor/index.js.map +1 -0
  19. package/dist/doctor/installation.d.ts +4 -0
  20. package/dist/doctor/installation.d.ts.map +1 -0
  21. package/dist/doctor/installation.js +472 -0
  22. package/dist/doctor/installation.js.map +1 -0
  23. package/dist/index.d.ts +13 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +13 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/installer/adaptive-templates.d.ts +56 -0
  28. package/dist/installer/adaptive-templates.d.ts.map +1 -0
  29. package/dist/installer/adaptive-templates.js +167 -0
  30. package/dist/installer/adaptive-templates.js.map +1 -0
  31. package/dist/installer/agents-config.d.ts +19 -0
  32. package/dist/installer/agents-config.d.ts.map +1 -0
  33. package/dist/installer/agents-config.js +147 -0
  34. package/dist/installer/agents-config.js.map +1 -0
  35. package/dist/installer/android-project.d.ts +36 -0
  36. package/dist/installer/android-project.d.ts.map +1 -0
  37. package/dist/installer/android-project.js +418 -0
  38. package/dist/installer/android-project.js.map +1 -0
  39. package/dist/installer/index.d.ts +8 -0
  40. package/dist/installer/index.d.ts.map +1 -1
  41. package/dist/installer/index.js +8 -1
  42. package/dist/installer/index.js.map +1 -1
  43. package/dist/installer/init.d.ts +67 -0
  44. package/dist/installer/init.d.ts.map +1 -0
  45. package/dist/installer/init.js +389 -0
  46. package/dist/installer/init.js.map +1 -0
  47. package/dist/installer/install-manifest.d.ts +132 -0
  48. package/dist/installer/install-manifest.d.ts.map +1 -0
  49. package/dist/installer/install-manifest.js +1047 -0
  50. package/dist/installer/install-manifest.js.map +1 -0
  51. package/dist/installer/opencode-config.d.ts +31 -0
  52. package/dist/installer/opencode-config.d.ts.map +1 -0
  53. package/dist/installer/opencode-config.js +296 -0
  54. package/dist/installer/opencode-config.js.map +1 -0
  55. package/dist/installer/uninstall.d.ts +70 -0
  56. package/dist/installer/uninstall.d.ts.map +1 -0
  57. package/dist/installer/uninstall.js +770 -0
  58. package/dist/installer/uninstall.js.map +1 -0
  59. package/dist/installer/upgrade.d.ts +96 -0
  60. package/dist/installer/upgrade.d.ts.map +1 -0
  61. package/dist/installer/upgrade.js +1106 -0
  62. package/dist/installer/upgrade.js.map +1 -0
  63. package/dist/opencode-plugin.d.ts +2 -0
  64. package/dist/opencode-plugin.d.ts.map +1 -0
  65. package/dist/opencode-plugin.js +4 -0
  66. package/dist/opencode-plugin.js.map +1 -0
  67. package/dist/plugin/index.d.ts +7 -2
  68. package/dist/plugin/index.d.ts.map +1 -1
  69. package/dist/plugin/index.js +23 -6
  70. package/dist/plugin/index.js.map +1 -1
  71. package/dist/tools/index.d.ts +35 -1
  72. package/dist/tools/index.d.ts.map +1 -1
  73. package/dist/tools/index.js +197 -1
  74. package/dist/tools/index.js.map +1 -1
  75. package/docs/MIGRATION.md +173 -0
  76. package/docs/SECURITY.md +212 -0
  77. package/docs/TROUBLESHOOTING.md +172 -0
  78. package/package.json +23 -5
  79. package/templates/.opencode/agents/scheduled-coder.md +115 -0
  80. package/templates/.opencode/agents/scheduled-planner.md +166 -0
  81. package/templates/.opencode/agents/scheduled-reviewer.md +88 -0
  82. package/templates/.opencode/commands/abort-task.md +20 -0
  83. package/templates/.opencode/commands/acceptance.md +20 -0
  84. package/templates/.opencode/commands/change.md +23 -0
  85. package/templates/.opencode/commands/resume-review.md +19 -0
  86. package/templates/.opencode/skills/scheduled-quality-coder/SKILL.md +93 -0
  87. package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +216 -0
  88. package/templates/.opencode/skills/scheduled-quality-reviewer/SKILL.md +68 -0
  89. package/templates/AGENTS.md.fragment +19 -0
  90. package/templates/README.md +52 -9
  91. package/templates/automation/config.json +50 -0
  92. package/templates/automation/config.schema.json +163 -0
  93. package/templates/automation/task-contract.schema.json +71 -0
  94. package/templates/automation/tasks/TASK-TEMPLATE.json.example +53 -0
  95. package/templates/docs/plans/README.md +26 -0
  96. package/templates/installation-manifest.schema.json +201 -0
  97. package/templates/scripts/automation/abort-task.sh +171 -0
  98. package/templates/scripts/automation/accept-and-integrate.sh +263 -0
  99. package/templates/scripts/automation/acceptance-report.sh +132 -0
  100. package/templates/scripts/automation/approve-and-run.sh +175 -0
  101. package/templates/scripts/automation/begin-review.sh +18 -0
  102. package/templates/scripts/automation/block-task.sh +26 -0
  103. package/templates/scripts/automation/claim-task.sh +74 -0
  104. package/templates/scripts/automation/integration-scope-gate.sh +103 -0
  105. package/templates/scripts/automation/lib.sh +697 -0
  106. package/templates/scripts/automation/orchestrate-task.sh +119 -0
  107. package/templates/scripts/automation/preflight.sh +206 -0
  108. package/templates/scripts/automation/prepare-contract-review.sh +101 -0
  109. package/templates/scripts/automation/quality-gate.sh +72 -0
  110. package/templates/scripts/automation/queue-task.sh +35 -0
  111. package/templates/scripts/automation/record-red.sh +57 -0
  112. package/templates/scripts/automation/resume-review-fix.sh +32 -0
  113. package/templates/scripts/automation/resume-review.sh +120 -0
  114. package/templates/scripts/automation/scope-gate.sh +110 -0
  115. package/templates/scripts/automation/select-task.sh +34 -0
  116. package/templates/scripts/automation/shadow-run.sh +24 -0
  117. package/templates/scripts/automation/show-acceptance-review.sh +111 -0
  118. package/templates/scripts/automation/status.sh +125 -0
  119. package/templates/scripts/automation/submit-review.sh +73 -0
  120. package/templates/scripts/automation/tests/run-tests.sh +699 -0
  121. package/templates/scripts/automation/transition-state.sh +21 -0
  122. package/templates/scripts/automation/validate-contract.sh +87 -0
  123. package/templates/scripts/automation/verify-integration.sh +37 -0
  124. package/templates/scripts/automation/verify-task.sh +54 -0
@@ -0,0 +1,418 @@
1
+ import { existsSync, readFileSync, statSync, } from "node:fs";
2
+ import { basename, dirname, join, resolve, } from "node:path";
3
+ const androidPluginTypes = {
4
+ "com.android.application": "application",
5
+ "com.android.library": "library",
6
+ "com.android.dynamic-feature": "dynamic-feature",
7
+ "com.android.test": "test",
8
+ "com.android.asset-pack": "asset-pack",
9
+ };
10
+ function isDirectory(path) {
11
+ try {
12
+ return statSync(path).isDirectory();
13
+ }
14
+ catch {
15
+ return false;
16
+ }
17
+ }
18
+ function isRegularFile(path) {
19
+ try {
20
+ return statSync(path).isFile();
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ function readTextFile(path) {
27
+ try {
28
+ return readFileSync(path, "utf8");
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ function findGitRoot(startDirectory) {
35
+ let currentDirectory = startDirectory;
36
+ while (true) {
37
+ if (existsSync(join(currentDirectory, ".git"))) {
38
+ return currentDirectory;
39
+ }
40
+ const parentDirectory = dirname(currentDirectory);
41
+ if (parentDirectory === currentDirectory) {
42
+ return null;
43
+ }
44
+ currentDirectory = parentDirectory;
45
+ }
46
+ }
47
+ function findSettingsFile(startDirectory, boundaryDirectory, warnings) {
48
+ let currentDirectory = startDirectory;
49
+ while (true) {
50
+ const kotlinSettings = join(currentDirectory, "settings.gradle.kts");
51
+ const groovySettings = join(currentDirectory, "settings.gradle");
52
+ const hasKotlinSettings = isRegularFile(kotlinSettings);
53
+ const hasGroovySettings = isRegularFile(groovySettings);
54
+ if (hasKotlinSettings && hasGroovySettings) {
55
+ warnings.push(`Both settings.gradle.kts and settings.gradle exist in ${currentDirectory}; using settings.gradle.kts.`);
56
+ }
57
+ if (hasKotlinSettings) {
58
+ return kotlinSettings;
59
+ }
60
+ if (hasGroovySettings) {
61
+ return groovySettings;
62
+ }
63
+ if (currentDirectory === boundaryDirectory) {
64
+ return null;
65
+ }
66
+ const parentDirectory = dirname(currentDirectory);
67
+ if (parentDirectory === currentDirectory) {
68
+ return null;
69
+ }
70
+ currentDirectory = parentDirectory;
71
+ }
72
+ }
73
+ /** Remove Gradle comments while preserving quoted strings and line numbers. */
74
+ function stripComments(source) {
75
+ let result = "";
76
+ let state = "normal";
77
+ for (let index = 0; index < source.length; index += 1) {
78
+ const character = source[index] ?? "";
79
+ const nextCharacter = source[index + 1] ?? "";
80
+ if (state === "line") {
81
+ if (character === "\n") {
82
+ result += character;
83
+ state = "normal";
84
+ }
85
+ else {
86
+ result += " ";
87
+ }
88
+ continue;
89
+ }
90
+ if (state === "block") {
91
+ if (character === "*" && nextCharacter === "/") {
92
+ result += " ";
93
+ index += 1;
94
+ state = "normal";
95
+ }
96
+ else {
97
+ result += character === "\n" ? "\n" : " ";
98
+ }
99
+ continue;
100
+ }
101
+ if (state === "single" || state === "double") {
102
+ result += character;
103
+ if (character === "\\") {
104
+ result += nextCharacter;
105
+ index += 1;
106
+ }
107
+ else if ((state === "single" && character === "'") ||
108
+ (state === "double" && character === '"')) {
109
+ state = "normal";
110
+ }
111
+ continue;
112
+ }
113
+ if (character === "/" && nextCharacter === "/") {
114
+ result += " ";
115
+ index += 1;
116
+ state = "line";
117
+ }
118
+ else if (character === "/" && nextCharacter === "*") {
119
+ result += " ";
120
+ index += 1;
121
+ state = "block";
122
+ }
123
+ else {
124
+ result += character;
125
+ if (character === "'") {
126
+ state = "single";
127
+ }
128
+ else if (character === '"') {
129
+ state = "double";
130
+ }
131
+ }
132
+ }
133
+ return result;
134
+ }
135
+ function extractQuotedModules(value, modules) {
136
+ const quotedValuePattern = /["'](:[^"']+)["']/g;
137
+ for (const match of value.matchAll(quotedValuePattern)) {
138
+ const modulePath = match[1];
139
+ if (modulePath !== undefined) {
140
+ modules.add(modulePath);
141
+ }
142
+ }
143
+ }
144
+ function parseIncludedModules(settingsSource) {
145
+ const source = stripComments(settingsSource);
146
+ const modules = new Set();
147
+ for (const match of source.matchAll(/\binclude\s*\(([^)]*)\)/gs)) {
148
+ extractQuotedModules(match[1] ?? "", modules);
149
+ }
150
+ for (const match of source.matchAll(/^\s*include\s+([^\r\n]+)/gm)) {
151
+ extractQuotedModules(match[1] ?? "", modules);
152
+ }
153
+ return [...modules].sort();
154
+ }
155
+ function parseProjectName(settingsSource) {
156
+ const source = stripComments(settingsSource);
157
+ const projectName = /\brootProject\s*\.\s*name\s*=\s*["']([^"']+)["']/.exec(source)?.[1]?.trim();
158
+ return projectName === undefined || projectName.length === 0
159
+ ? null
160
+ : projectName;
161
+ }
162
+ function parseProjectDirectoryMappings(settingsSource, projectRoot) {
163
+ const source = stripComments(settingsSource);
164
+ const mappings = new Map();
165
+ const patterns = [
166
+ /project\s*\(\s*["'](:[^"']+)["']\s*\)\s*\.projectDir\s*=\s*(?:rootProject\.)?file\s*\(\s*["']([^"']+)["']\s*\)/g,
167
+ /project\s*\(\s*["'](:[^"']+)["']\s*\)\s*\.projectDir\s*=\s*(?:new\s+)?File\s*\(\s*(?:rootDir|settingsDir)\s*,\s*["']([^"']+)["']\s*\)/g,
168
+ ];
169
+ for (const pattern of patterns) {
170
+ for (const match of source.matchAll(pattern)) {
171
+ const modulePath = match[1];
172
+ const relativeDirectory = match[2];
173
+ if (modulePath !== undefined && relativeDirectory !== undefined) {
174
+ mappings.set(modulePath, resolve(projectRoot, relativeDirectory));
175
+ }
176
+ }
177
+ }
178
+ return mappings;
179
+ }
180
+ function pluginAliasAccessor(alias) {
181
+ return alias.split(/[._-]+/).filter(Boolean).join(".");
182
+ }
183
+ function parseAndroidPluginAliases(projectRoot) {
184
+ const catalogPath = join(projectRoot, "gradle", "libs.versions.toml");
185
+ if (!isRegularFile(catalogPath)) {
186
+ return new Map();
187
+ }
188
+ const catalog = readTextFile(catalogPath);
189
+ if (catalog === null) {
190
+ return new Map();
191
+ }
192
+ const aliases = new Map();
193
+ const pluginPattern = /^\s*([A-Za-z0-9_.-]+)\s*=\s*\{[^}\r\n]*\bid\s*=\s*["'](com\.android\.(?:application|library|dynamic-feature|test|asset-pack))["'][^}\r\n]*\}/gm;
194
+ for (const match of catalog.matchAll(pluginPattern)) {
195
+ const alias = match[1];
196
+ const pluginId = match[2];
197
+ if (alias !== undefined && pluginId !== undefined) {
198
+ aliases.set(`libs.plugins.${pluginAliasAccessor(alias)}`, pluginId);
199
+ }
200
+ }
201
+ return aliases;
202
+ }
203
+ function tokenIsApplied(source, token) {
204
+ let searchFrom = 0;
205
+ while (true) {
206
+ const tokenIndex = source.indexOf(token, searchFrom);
207
+ if (tokenIndex < 0) {
208
+ return false;
209
+ }
210
+ const lineStart = source.lastIndexOf("\n", tokenIndex) + 1;
211
+ const nextLineBreak = source.indexOf("\n", tokenIndex);
212
+ const lineEnd = nextLineBreak < 0 ? source.length : nextLineBreak;
213
+ const line = source.slice(lineStart, lineEnd);
214
+ if (!/\bapply\s+false\b/.test(line)) {
215
+ return true;
216
+ }
217
+ searchFrom = tokenIndex + token.length;
218
+ }
219
+ }
220
+ function detectAndroidPluginIds(buildSource, aliases) {
221
+ const source = stripComments(buildSource);
222
+ const pluginIds = new Set();
223
+ for (const pluginId of Object.keys(androidPluginTypes)) {
224
+ if (tokenIsApplied(source, pluginId)) {
225
+ pluginIds.add(pluginId);
226
+ }
227
+ }
228
+ for (const [aliasAccessor, pluginId] of aliases) {
229
+ if (tokenIsApplied(source, aliasAccessor)) {
230
+ pluginIds.add(pluginId);
231
+ }
232
+ }
233
+ return [...pluginIds].sort();
234
+ }
235
+ function moduleType(pluginIds) {
236
+ const priority = [
237
+ "com.android.application",
238
+ "com.android.library",
239
+ "com.android.dynamic-feature",
240
+ "com.android.test",
241
+ "com.android.asset-pack",
242
+ ];
243
+ const selectedPlugin = priority.find((pluginId) => pluginIds.includes(pluginId));
244
+ return selectedPlugin === undefined
245
+ ? "library"
246
+ : androidPluginTypes[selectedPlugin];
247
+ }
248
+ function parseAndroidStringProperty(buildSource, propertyName) {
249
+ const source = stripComments(buildSource);
250
+ const pattern = new RegExp(`\\b${propertyName}\\s*(?:=\\s*)?["']([^"']+)["']`);
251
+ const value = pattern.exec(source)?.[1]?.trim();
252
+ return value === undefined || value.length === 0 ? null : value;
253
+ }
254
+ function detectGradleWrapper(projectRoot) {
255
+ const script = join(projectRoot, "gradlew");
256
+ const properties = join(projectRoot, "gradle", "wrapper", "gradle-wrapper.properties");
257
+ const scriptPresent = isRegularFile(script);
258
+ const propertiesPresent = isRegularFile(properties);
259
+ const executable = scriptPresent && (statSync(script).mode & 0o111) !== 0;
260
+ return {
261
+ script,
262
+ properties,
263
+ scriptPresent,
264
+ propertiesPresent,
265
+ executable,
266
+ complete: scriptPresent && propertiesPresent,
267
+ };
268
+ }
269
+ function moduleDirectory(modulePath, projectRoot) {
270
+ return resolve(projectRoot, ...modulePath.slice(1).split(":").filter(Boolean));
271
+ }
272
+ function detectDsl(settingsFile, modules) {
273
+ const dialects = new Set([
274
+ settingsFile.endsWith(".kts") ? "kotlin" : "groovy",
275
+ ...modules.map((module) => module.dsl),
276
+ ]);
277
+ if (dialects.size > 1) {
278
+ return "mixed";
279
+ }
280
+ return [...dialects][0] ?? "unknown";
281
+ }
282
+ export function detectAndroidProject(targetDirectory) {
283
+ const requestedDirectory = resolve(targetDirectory);
284
+ const warnings = [];
285
+ const errors = [];
286
+ if (!isDirectory(requestedDirectory)) {
287
+ return {
288
+ requestedDirectory,
289
+ gitRoot: null,
290
+ projectRoot: null,
291
+ projectName: null,
292
+ settingsFile: null,
293
+ dsl: "unknown",
294
+ gradleWrapper: null,
295
+ modules: [],
296
+ isGitRepository: false,
297
+ isAndroidProject: false,
298
+ warnings,
299
+ errors: [
300
+ `Target directory does not exist or is not a directory: ${requestedDirectory}`,
301
+ ],
302
+ };
303
+ }
304
+ const gitRoot = findGitRoot(requestedDirectory);
305
+ if (gitRoot === null) {
306
+ errors.push("No Git root (.git directory or file) was found.");
307
+ }
308
+ const settingsFile = findSettingsFile(requestedDirectory, gitRoot, warnings);
309
+ if (settingsFile === null) {
310
+ errors.push("No settings.gradle.kts or settings.gradle file was found.");
311
+ return {
312
+ requestedDirectory,
313
+ gitRoot,
314
+ projectRoot: null,
315
+ projectName: null,
316
+ settingsFile: null,
317
+ dsl: "unknown",
318
+ gradleWrapper: null,
319
+ modules: [],
320
+ isGitRepository: gitRoot !== null,
321
+ isAndroidProject: false,
322
+ warnings,
323
+ errors,
324
+ };
325
+ }
326
+ const projectRoot = dirname(settingsFile);
327
+ const settingsSource = readTextFile(settingsFile);
328
+ if (settingsSource === null) {
329
+ errors.push(`Unable to read Gradle settings file: ${settingsFile}`);
330
+ return {
331
+ requestedDirectory,
332
+ gitRoot,
333
+ projectRoot,
334
+ projectName: null,
335
+ settingsFile,
336
+ dsl: settingsFile.endsWith(".kts") ? "kotlin" : "groovy",
337
+ gradleWrapper: detectGradleWrapper(projectRoot),
338
+ modules: [],
339
+ isGitRepository: gitRoot !== null,
340
+ isAndroidProject: false,
341
+ warnings,
342
+ errors,
343
+ };
344
+ }
345
+ const includedModules = parseIncludedModules(settingsSource);
346
+ const directoryMappings = parseProjectDirectoryMappings(settingsSource, projectRoot);
347
+ const aliases = parseAndroidPluginAliases(projectRoot);
348
+ const modules = [];
349
+ const rootBuildExists = isRegularFile(join(projectRoot, "build.gradle.kts")) ||
350
+ isRegularFile(join(projectRoot, "build.gradle"));
351
+ const candidateModules = rootBuildExists
352
+ ? [":", ...includedModules]
353
+ : includedModules;
354
+ for (const gradlePath of candidateModules) {
355
+ const directory = directoryMappings.get(gradlePath) ??
356
+ moduleDirectory(gradlePath, projectRoot);
357
+ const kotlinBuildFile = join(directory, "build.gradle.kts");
358
+ const groovyBuildFile = join(directory, "build.gradle");
359
+ const hasKotlinBuild = isRegularFile(kotlinBuildFile);
360
+ const hasGroovyBuild = isRegularFile(groovyBuildFile);
361
+ if (hasKotlinBuild && hasGroovyBuild) {
362
+ warnings.push(`Module ${gradlePath} has both build.gradle.kts and build.gradle; using build.gradle.kts.`);
363
+ }
364
+ const buildFile = hasKotlinBuild
365
+ ? kotlinBuildFile
366
+ : hasGroovyBuild
367
+ ? groovyBuildFile
368
+ : null;
369
+ if (buildFile === null) {
370
+ warnings.push(`Module ${gradlePath} has no Gradle build file at ${directory}.`);
371
+ continue;
372
+ }
373
+ const buildSource = readTextFile(buildFile);
374
+ if (buildSource === null) {
375
+ warnings.push(`Unable to read Gradle build file: ${buildFile}`);
376
+ continue;
377
+ }
378
+ const pluginIds = detectAndroidPluginIds(buildSource, aliases);
379
+ if (pluginIds.length === 0) {
380
+ continue;
381
+ }
382
+ modules.push({
383
+ gradlePath,
384
+ directory,
385
+ buildFile,
386
+ dsl: buildFile.endsWith(".kts") ? "kotlin" : "groovy",
387
+ type: moduleType(pluginIds),
388
+ pluginIds,
389
+ namespace: parseAndroidStringProperty(buildSource, "namespace"),
390
+ applicationId: parseAndroidStringProperty(buildSource, "applicationId"),
391
+ });
392
+ }
393
+ if (modules.length === 0) {
394
+ errors.push("No included Gradle module applying a supported com.android plugin was found.");
395
+ }
396
+ const gradleWrapper = detectGradleWrapper(projectRoot);
397
+ if (!gradleWrapper.complete) {
398
+ warnings.push("Gradle Wrapper is incomplete (gradlew and wrapper properties are required).");
399
+ }
400
+ else if (!gradleWrapper.executable) {
401
+ warnings.push("gradlew exists but is not executable.");
402
+ }
403
+ return {
404
+ requestedDirectory,
405
+ gitRoot,
406
+ projectRoot,
407
+ projectName: parseProjectName(settingsSource) ?? basename(projectRoot),
408
+ settingsFile,
409
+ dsl: detectDsl(settingsFile, modules),
410
+ gradleWrapper,
411
+ modules,
412
+ isGitRepository: gitRoot !== null,
413
+ isAndroidProject: gitRoot !== null && modules.length > 0,
414
+ warnings,
415
+ errors,
416
+ };
417
+ }
418
+ //# sourceMappingURL=android-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-project.js","sourceRoot":"","sources":["../../src/installer/android-project.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,OAAO,GACR,MAAM,WAAW,CAAC;AA6CnB,MAAM,kBAAkB,GAAG;IACzB,yBAAyB,EAAE,aAAa;IACxC,qBAAqB,EAAE,SAAS;IAChC,6BAA6B,EAAE,iBAAiB;IAChD,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,YAAY;CACc,CAAC;AAIvD,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,IAAI,gBAAgB,GAAG,cAAc,CAAC;IAEtC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,GAAG,eAAe,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,cAAsB,EACtB,iBAAgC,EAChC,QAAkB;IAElB,IAAI,gBAAgB,GAAG,cAAc,CAAC;IAEtC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,iBAAiB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;QAExD,IAAI,iBAAiB,IAAI,iBAAiB,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CACX,yDAAyD,gBAAgB,8BAA8B,CACxG,CAAC;QACJ,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,GAAG,eAAe,CAAC;IACrC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAsD,QAAQ,CAAC;IAExE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,SAAS,CAAC;gBACpB,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,IAAI,SAAS,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;gBAC/C,MAAM,IAAI,IAAI,CAAC;gBACf,KAAK,IAAI,CAAC,CAAC;gBACX,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5C,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,SAAS,CAAC;YACpB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IACL,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,KAAK,GAAG,CAAC;gBACzC,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,KAAK,GAAG,CAAC,EACzC,CAAC;gBACD,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;YAC/C,MAAM,IAAI,IAAI,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;YACtD,MAAM,IAAI,IAAI,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,KAAK,GAAG,OAAO,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,SAAS,CAAC;YACpB,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,OAAoB;IAC/D,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsB;IAClD,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACjE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAClE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,cAAsB;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,WAAW,GACf,kDAAkD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/E,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAC1D,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC;AAED,SAAS,6BAA6B,CACpC,cAAsB,EACtB,WAAmB;IAEnB,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,QAAQ,GAAG;QACf,iHAAiH;QACjH,wIAAwI;KACzI,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,UAAU,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAChE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,yBAAyB,CAChC,WAAmB;IAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACtE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,MAAM,aAAa,GACjB,gJAAgJ,CAAC;IAEnJ,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CACT,gBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAC5C,QAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,KAAa;IACnD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAAmB,EACnB,OAA6C;IAE7C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAsB,EAAE,CAAC;QAC5E,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,SAAqC;IACvD,MAAM,QAAQ,GAA+B;QAC3C,yBAAyB;QACzB,qBAAqB;QACrB,6BAA6B;QAC7B,kBAAkB;QAClB,wBAAwB;KACzB,CAAC;IACF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7B,CAAC;IACF,OAAO,cAAc,KAAK,SAAS;QACjC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,0BAA0B,CACjC,WAAmB,EACnB,YAA2C;IAE3C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,MAAM,YAAY,gCAAgC,CACnD,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAChD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CACrB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,2BAA2B,CAC5B,CAAC;IACF,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,UAAU,GACd,aAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO;QACL,MAAM;QACN,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,UAAU;QACV,QAAQ,EAAE,aAAa,IAAI,iBAAiB;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,WAAmB;IAC9D,OAAO,OAAO,CACZ,WAAW,EACX,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,YAAoB,EACpB,OAA0C;IAE1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAsB;QAC5C,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QACnD,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAuB;IAEvB,MAAM,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,kBAAkB;YAClB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,SAAS;YACd,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,KAAK;YACvB,QAAQ;YACR,MAAM,EAAE;gBACN,0DAA0D,kBAAkB,EAAE;aAC/E;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CACnC,kBAAkB,EAClB,OAAO,EACP,QAAQ,CACT,CAAC;IACF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;YACL,kBAAkB;YAClB,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,GAAG,EAAE,SAAS;YACd,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,OAAO,KAAK,IAAI;YACjC,gBAAgB,EAAE,KAAK;YACvB,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,kBAAkB;YAClB,OAAO;YACP,WAAW;YACX,WAAW,EAAE,IAAI;YACjB,YAAY;YACZ,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACxD,aAAa,EAAE,mBAAmB,CAAC,WAAW,CAAC;YAC/C,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,OAAO,KAAK,IAAI;YACjC,gBAAgB,EAAE,KAAK;YACvB,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,cAAc,EACd,WAAW,CACZ,CAAC;IACF,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,MAAM,eAAe,GACnB,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACpD,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,eAAe;QACtC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;QAC3B,CAAC,CAAC,eAAe,CAAC;IAEpB,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;QAC1C,MAAM,SAAS,GACb,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAEtD,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACX,UAAU,UAAU,sEAAsE,CAC3F,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,cAAc;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CACX,UAAU,UAAU,gCAAgC,SAAS,GAAG,CACjE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACX,UAAU;YACV,SAAS;YACT,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACrD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;YAC3B,SAAS;YACT,SAAS,EAAE,0BAA0B,CAAC,WAAW,EAAE,WAAW,CAAC;YAC/D,aAAa,EAAE,0BAA0B,CACvC,WAAW,EACX,eAAe,CAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CACT,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CACX,6EAA6E,CAC9E,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW,EAAE,gBAAgB,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC;QACtE,YAAY;QACZ,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;QACrC,aAAa;QACb,OAAO;QACP,eAAe,EAAE,OAAO,KAAK,IAAI;QACjC,gBAAgB,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACxD,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -3,4 +3,12 @@ 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";
7
+ export { AdaptiveProjectTemplateError, planAdaptiveProjectTemplates, type AdaptiveAndroidModuleConfiguration, type AdaptiveAndroidProjectConfiguration, type AdaptiveAutomationConfiguration, type AdaptiveProjectTemplateErrorCode, type AdaptiveProjectTemplateOptions, type AdaptiveProjectTemplatePlan, type AdaptiveTaskContractExample, } from "./adaptive-templates.js";
8
+ export { detectAndroidProject, type AndroidModuleDetection, type AndroidModuleType, type AndroidProjectDetection, type GradleDsl, type GradleWrapperDetection, } from "./android-project.js";
9
+ export { ProjectInitializationError, 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, } from "./init.js";
10
+ export { INSTALLATION_BACKUPS_DIRECTORY, INSTALLATION_CONTROL_DIRECTORY, INSTALLATION_HISTORY_DIRECTORY, INSTALLATION_MANIFEST_RELATIVE_PATH, INSTALLATION_MANIFEST_SCHEMA_VERSION, InstallationManifestError, applyInstallationPlan, completeInstallationManifest, detectInstallationConflicts, planInstallationPreparation, prepareInstallationBackup, readInstallationManifest, rollbackPreparedInstallation, verifyInstallationIntegrity, type AppliedInstallation, type InstallationApplyOptions, type InstallationCompletionOptions, type InstallationConflictKind, type InstallationConflictReport, type InstallationFileConflict, type InstallationFileInput, type InstallationFileStrategy, type InstallationIntegrityCheck, type InstallationIntegrityReport, type InstallationIntegrityStatus, type InstallationManifest, type InstallationManifestErrorCode, type InstallationManifestFile, type InstallationManifestState, type InstallationPreparationOptions, type InstallationPreparationPlan, type InstallationRollbackOptions, type PlannedInstallationFile, type PreparedInstallation, type PreviousInstallationFile, } from "./install-manifest.js";
11
+ export { UPGRADE_MARKER_RELATIVE_PATH, UPGRADE_RECOVERY_DIRECTORY, ProjectUpgradeError, applyProjectUpgrade, formatProjectUpgradeResult, planProjectUpgrade, runProjectUpgrade, type AppliedProjectUpgrade, type PlannedUpgradeFile, type PlannedUpgradeRemoval, type ProjectUpgradeErrorCode, type ProjectUpgradeOptions, type ProjectUpgradePlan, type ProjectUpgradeResult, type UpgradeFileSnapshot, } from "./upgrade.js";
12
+ export { UNINSTALL_MARKER_RELATIVE_PATH, UNINSTALL_RECOVERY_DIRECTORY, ProjectUninstallError, applyProjectUninstall, formatProjectUninstallResult, planProjectUninstall, runProjectUninstall, type AppliedProjectUninstall, type PlannedUninstallFile, type ProjectUninstallErrorCode, type ProjectUninstallOptions, type ProjectUninstallPlan, type ProjectUninstallResult, type UninstallFileDisposition, type UninstallFileSnapshot, } from "./uninstall.js";
13
+ export { ORCHESTRATOR_PACKAGE_NAME, ORCHESTRATOR_PACKAGE_VERSION, ORCHESTRATOR_PLUGIN_REFERENCE, REQUIRED_PLUGIN_REFERENCES, SUPERPOWERS_PLUGIN_REFERENCE, OpenCodeConfigMergeError, mergeOpenCodeConfigText, planOpenCodeConfigMerge, pluginPackageIdentity, type OpenCodeConfigMergeErrorCode, type OpenCodeConfigMergeOptions, type OpenCodeConfigMergePlan, type OpenCodeConfigMergeResult, } from "./opencode-config.js";
6
14
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ export { AGENTS_MANAGED_BLOCK_BEGIN, AGENTS_MANAGED_BLOCK_END, AgentsConfigMergeError, mergeAgentsConfigText, planAgentsConfigMerge, } from "./agents-config.js";
2
+ export { AdaptiveProjectTemplateError, planAdaptiveProjectTemplates, } from "./adaptive-templates.js";
3
+ export { detectAndroidProject, } from "./android-project.js";
4
+ export { ProjectInitializationError, formatProjectInitializationResult, planProjectInitialization, planProjectResourceInputs, runInitProcess, runProjectInitialization, verifyInitializedProject, } from "./init.js";
5
+ export { INSTALLATION_BACKUPS_DIRECTORY, INSTALLATION_CONTROL_DIRECTORY, INSTALLATION_HISTORY_DIRECTORY, INSTALLATION_MANIFEST_RELATIVE_PATH, INSTALLATION_MANIFEST_SCHEMA_VERSION, InstallationManifestError, applyInstallationPlan, completeInstallationManifest, detectInstallationConflicts, planInstallationPreparation, prepareInstallationBackup, readInstallationManifest, rollbackPreparedInstallation, verifyInstallationIntegrity, } from "./install-manifest.js";
6
+ export { UPGRADE_MARKER_RELATIVE_PATH, UPGRADE_RECOVERY_DIRECTORY, ProjectUpgradeError, applyProjectUpgrade, formatProjectUpgradeResult, planProjectUpgrade, runProjectUpgrade, } from "./upgrade.js";
7
+ export { UNINSTALL_MARKER_RELATIVE_PATH, UNINSTALL_RECOVERY_DIRECTORY, ProjectUninstallError, applyProjectUninstall, formatProjectUninstallResult, planProjectUninstall, runProjectUninstall, } from "./uninstall.js";
8
+ export { ORCHESTRATOR_PACKAGE_NAME, ORCHESTRATOR_PACKAGE_VERSION, ORCHESTRATOR_PLUGIN_REFERENCE, REQUIRED_PLUGIN_REFERENCES, SUPERPOWERS_PLUGIN_REFERENCE, OpenCodeConfigMergeError, mergeOpenCodeConfigText, planOpenCodeConfigMerge, pluginPackageIdentity, } from "./opencode-config.js";
2
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":""}
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,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAQ7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,GAMrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,GAWzB,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,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GAKtB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { type CommandResult, type DoctorReport } from "../doctor/index.js";
2
+ import { type AdaptiveProjectTemplateOptions, type AdaptiveProjectTemplatePlan } from "./adaptive-templates.js";
3
+ import { type AgentsConfigMergePlan } from "./agents-config.js";
4
+ import { type InstallationFileInput, type InstallationManifest, type InstallationPreparationPlan } from "./install-manifest.js";
5
+ import { type OpenCodeConfigMergePlan } from "./opencode-config.js";
6
+ export type ProjectInitializationErrorCode = "DOCTOR_FAILED" | "EXISTING_INSTALLATION_DIFFERENT" | "EXISTING_INSTALLATION_INVALID" | "POST_INSTALL_VERIFICATION_FAILED" | "TEMPLATE_INVALID";
7
+ export declare class ProjectInitializationError extends Error {
8
+ readonly code: ProjectInitializationErrorCode;
9
+ readonly details: readonly string[];
10
+ constructor(code: ProjectInitializationErrorCode, message: string, details?: readonly string[]);
11
+ }
12
+ export interface InitProcessOptions {
13
+ cwd: string;
14
+ timeoutMs: number;
15
+ }
16
+ export type InitProcessRunner = (executable: string, args: readonly string[], options: InitProcessOptions) => CommandResult;
17
+ export interface ProjectInitializationOptions extends AdaptiveProjectTemplateOptions {
18
+ androidSdkDirectory?: string;
19
+ installationId?: string;
20
+ preparedAt?: string;
21
+ installedAt?: string;
22
+ opencodeExecutable?: string;
23
+ processRunner?: InitProcessRunner;
24
+ }
25
+ export interface ProjectInitializationPlan {
26
+ targetDirectory: string;
27
+ adaptiveTemplates: AdaptiveProjectTemplatePlan;
28
+ agentsMerge: AgentsConfigMergePlan;
29
+ openCodeConfigMerge: OpenCodeConfigMergePlan;
30
+ installation: InstallationPreparationPlan;
31
+ }
32
+ export interface ProjectResourceInputPlan {
33
+ targetDirectory: string;
34
+ adaptiveTemplates: AdaptiveProjectTemplatePlan;
35
+ inputs: readonly InstallationFileInput[];
36
+ }
37
+ export type InitVerificationStatus = "pass" | "fail";
38
+ export interface InitVerificationCheck {
39
+ id: "automation-tests" | "shadow-run";
40
+ status: InitVerificationStatus;
41
+ summary: string;
42
+ details: readonly string[];
43
+ }
44
+ export interface InitVerificationReport {
45
+ ok: boolean;
46
+ checks: readonly InitVerificationCheck[];
47
+ }
48
+ export interface ProjectInitializationResult {
49
+ status: "installed" | "already-installed";
50
+ targetDirectory: string;
51
+ primaryModule: string;
52
+ manifestPath: string;
53
+ backupDirectory: string;
54
+ managedFileCount: number;
55
+ writtenFileCount: number;
56
+ reusedFileCount: number;
57
+ manifest: InstallationManifest;
58
+ doctor: DoctorReport;
59
+ verification: InitVerificationReport;
60
+ }
61
+ export declare const runInitProcess: InitProcessRunner;
62
+ export declare function planProjectResourceInputs(directory: string, options?: AdaptiveProjectTemplateOptions): ProjectResourceInputPlan;
63
+ export declare function planProjectInitialization(directory: string, options?: ProjectInitializationOptions): ProjectInitializationPlan;
64
+ export declare function verifyInitializedProject(targetDirectory: string, runner?: InitProcessRunner): InitVerificationReport;
65
+ export declare function runProjectInitialization(directory: string, options?: ProjectInitializationOptions): ProjectInitializationResult;
66
+ export declare function formatProjectInitializationResult(result: ProjectInitializationResult): string;
67
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/installer/init.ts"],"names":[],"mappings":"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"}