@frankzhang2026/opencode-android-orchestrator 0.1.0 → 0.3.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 +92 -2
  2. package/LICENSE +21 -0
  3. package/README.md +402 -6
  4. package/THIRD_PARTY_NOTICES.md +119 -0
  5. package/dist/cli.js +360 -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 +497 -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 +78 -0
  28. package/dist/installer/adaptive-templates.d.ts.map +1 -0
  29. package/dist/installer/adaptive-templates.js +233 -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 +68 -0
  44. package/dist/installer/init.d.ts.map +1 -0
  45. package/dist/installer/init.js +398 -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 +32 -0
  52. package/dist/installer/opencode-config.d.ts.map +1 -0
  53. package/dist/installer/opencode-config.js +302 -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 +101 -0
  60. package/dist/installer/upgrade.d.ts.map +1 -0
  61. package/dist/installer/upgrade.js +1140 -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 +184 -0
  76. package/docs/SECURITY.md +219 -0
  77. package/docs/TROUBLESHOOTING.md +171 -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 +55 -9
  91. package/templates/automation/config.json +67 -0
  92. package/templates/automation/config.schema.json +194 -0
  93. package/templates/automation/task-contract.schema.json +92 -0
  94. package/templates/automation/tasks/TASK-TEMPLATE.json.example +56 -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 +815 -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 +55 -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 +716 -0
  121. package/templates/scripts/automation/transition-state.sh +21 -0
  122. package/templates/scripts/automation/validate-contract.sh +98 -0
  123. package/templates/scripts/automation/verify-integration.sh +38 -0
  124. package/templates/scripts/automation/verify-task.sh +39 -0
package/dist/cli.js CHANGED
@@ -1,6 +1,13 @@
1
1
  #!/usr/bin/env node
2
+ import { readFileSync } from "node:fs";
3
+ import { resolve } from "node:path";
2
4
  import process from "node:process";
3
5
  import { INSTALLER_COMMANDS } from "./commands/index.js";
6
+ import { formatDoctorReport, runDoctor } from "./doctor/index.js";
7
+ import { formatProjectInitializationResult, runProjectInitialization, } from "./installer/init.js";
8
+ import { isModuleScope, } from "./installer/adaptive-templates.js";
9
+ import { formatProjectUpgradeResult, runProjectUpgrade, } from "./installer/upgrade.js";
10
+ import { formatProjectUninstallResult, runProjectUninstall, } from "./installer/uninstall.js";
4
11
  function printHelp() {
5
12
  process.stdout.write(`OpenCode Android Orchestrator\n\n`);
6
13
  process.stdout.write(`Usage:\n`);
@@ -11,10 +18,362 @@ function printHelp() {
11
18
  process.stdout.write(` upgrade Upgrade unchanged managed resources\n`);
12
19
  process.stdout.write(` uninstall Remove unchanged managed resources\n`);
13
20
  }
14
- const [command] = process.argv.slice(2);
21
+ function printInitHelp() {
22
+ process.stdout.write(`OpenCode Android Orchestrator init\n\n`);
23
+ process.stdout.write(`Usage:\n`);
24
+ process.stdout.write(` opencode-android-orchestrator init [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--json]\n`);
25
+ process.stdout.write(`\nDefault module scope: all\n`);
26
+ }
27
+ function printDoctorHelp() {
28
+ process.stdout.write(`OpenCode Android Orchestrator doctor\n\n`);
29
+ process.stdout.write(`Usage:\n`);
30
+ process.stdout.write(` opencode-android-orchestrator doctor [directory] [--json]\n`);
31
+ }
32
+ function printUpgradeHelp() {
33
+ process.stdout.write(`OpenCode Android Orchestrator upgrade\n\n`);
34
+ process.stdout.write(`Usage:\n`);
35
+ process.stdout.write(` opencode-android-orchestrator upgrade [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--json]\n`);
36
+ process.stdout.write(`\nPreserves the installed module scope; legacy installations default to primary.\n`);
37
+ }
38
+ function printUninstallHelp() {
39
+ process.stdout.write(`OpenCode Android Orchestrator uninstall\n\n`);
40
+ process.stdout.write(`Usage:\n`);
41
+ process.stdout.write(` opencode-android-orchestrator uninstall [directory] [--json]\n`);
42
+ }
43
+ function errorDetails(error) {
44
+ if (typeof error === "object" &&
45
+ error !== null &&
46
+ "details" in error &&
47
+ Array.isArray(error.details) &&
48
+ error.details.every((detail) => typeof detail === "string")) {
49
+ return error.details;
50
+ }
51
+ return [];
52
+ }
53
+ function printCommandError(error) {
54
+ const code = typeof error === "object" &&
55
+ error !== null &&
56
+ "code" in error &&
57
+ typeof error.code === "string"
58
+ ? ` [${error.code}]`
59
+ : "";
60
+ const message = error instanceof Error ? error.message : String(error);
61
+ process.stderr.write(`Error${code}: ${message}\n`);
62
+ for (const detail of errorDetails(error)) {
63
+ process.stderr.write(` ${detail}\n`);
64
+ }
65
+ }
66
+ function readGradleVerificationConfiguration(path) {
67
+ const absolutePath = resolve(path);
68
+ try {
69
+ return JSON.parse(readFileSync(absolutePath, "utf8"));
70
+ }
71
+ catch (error) {
72
+ const detail = error instanceof Error ? error.message : String(error);
73
+ throw new Error(`Unable to read Gradle verification configuration ${absolutePath}: ${detail}`);
74
+ }
75
+ }
76
+ const [command, ...commandArguments] = process.argv.slice(2);
15
77
  if (command === undefined || command === "--help" || command === "-h") {
16
78
  printHelp();
17
79
  }
80
+ else if (command === "init") {
81
+ if (commandArguments.includes("--help") || commandArguments.includes("-h")) {
82
+ printInitHelp();
83
+ process.exitCode = 0;
84
+ }
85
+ else {
86
+ let targetDirectory;
87
+ let moduleScope;
88
+ let primaryModule;
89
+ let gradleVerificationConfigPath;
90
+ let json = false;
91
+ const unexpected = [];
92
+ for (let index = 0; index < commandArguments.length; index += 1) {
93
+ const argument = commandArguments[index] ?? "";
94
+ if (argument === "--json") {
95
+ json = true;
96
+ }
97
+ else if (argument === "--module-scope") {
98
+ const value = commandArguments[index + 1];
99
+ if (value === undefined || value.startsWith("-")) {
100
+ unexpected.push(argument);
101
+ }
102
+ else {
103
+ if (isModuleScope(value)) {
104
+ moduleScope = value;
105
+ }
106
+ else {
107
+ unexpected.push(`${argument} ${value}`);
108
+ }
109
+ index += 1;
110
+ }
111
+ }
112
+ else if (argument.startsWith("--module-scope=")) {
113
+ const value = argument.slice("--module-scope=".length);
114
+ if (isModuleScope(value)) {
115
+ moduleScope = value;
116
+ }
117
+ else {
118
+ unexpected.push(argument);
119
+ }
120
+ }
121
+ else if (argument === "--primary-module") {
122
+ const value = commandArguments[index + 1];
123
+ if (value === undefined || value.startsWith("-")) {
124
+ unexpected.push(argument);
125
+ }
126
+ else {
127
+ primaryModule = value;
128
+ index += 1;
129
+ }
130
+ }
131
+ else if (argument.startsWith("--primary-module=")) {
132
+ const value = argument.slice("--primary-module=".length);
133
+ if (value.length === 0) {
134
+ unexpected.push(argument);
135
+ }
136
+ else {
137
+ primaryModule = value;
138
+ }
139
+ }
140
+ else if (argument === "--gradle-verification-config") {
141
+ const value = commandArguments[index + 1];
142
+ if (value === undefined || value.startsWith("-")) {
143
+ unexpected.push(argument);
144
+ }
145
+ else {
146
+ gradleVerificationConfigPath = value;
147
+ index += 1;
148
+ }
149
+ }
150
+ else if (argument.startsWith("--gradle-verification-config=")) {
151
+ const value = argument.slice("--gradle-verification-config=".length);
152
+ if (value.length === 0) {
153
+ unexpected.push(argument);
154
+ }
155
+ else {
156
+ gradleVerificationConfigPath = value;
157
+ }
158
+ }
159
+ else if (argument.startsWith("-")) {
160
+ unexpected.push(argument);
161
+ }
162
+ else if (targetDirectory === undefined) {
163
+ targetDirectory = argument;
164
+ }
165
+ else {
166
+ unexpected.push(argument);
167
+ }
168
+ }
169
+ if (unexpected.length > 0) {
170
+ process.stderr.write(`Unexpected init argument(s): ${unexpected.join(", ")}\n`);
171
+ process.exitCode = 2;
172
+ }
173
+ else {
174
+ try {
175
+ const options = {};
176
+ if (moduleScope !== undefined) {
177
+ options.moduleScope = moduleScope;
178
+ }
179
+ if (primaryModule !== undefined) {
180
+ options.primaryModule = primaryModule;
181
+ }
182
+ if (gradleVerificationConfigPath !== undefined) {
183
+ options.gradleVerification = readGradleVerificationConfiguration(gradleVerificationConfigPath);
184
+ }
185
+ const result = runProjectInitialization(targetDirectory ?? process.cwd(), options);
186
+ process.stdout.write(json
187
+ ? `${JSON.stringify(result, null, 2)}\n`
188
+ : formatProjectInitializationResult(result));
189
+ process.exitCode = 0;
190
+ }
191
+ catch (error) {
192
+ printCommandError(error);
193
+ process.exitCode = 1;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ else if (command === "upgrade") {
199
+ if (commandArguments.includes("--help") || commandArguments.includes("-h")) {
200
+ printUpgradeHelp();
201
+ process.exitCode = 0;
202
+ }
203
+ else {
204
+ let targetDirectory;
205
+ let moduleScope;
206
+ let primaryModule;
207
+ let gradleVerificationConfigPath;
208
+ let json = false;
209
+ const unexpected = [];
210
+ for (let index = 0; index < commandArguments.length; index += 1) {
211
+ const argument = commandArguments[index] ?? "";
212
+ if (argument === "--json") {
213
+ json = true;
214
+ }
215
+ else if (argument === "--module-scope") {
216
+ const value = commandArguments[index + 1];
217
+ if (value === undefined || value.startsWith("-")) {
218
+ unexpected.push(argument);
219
+ }
220
+ else {
221
+ if (isModuleScope(value)) {
222
+ moduleScope = value;
223
+ }
224
+ else {
225
+ unexpected.push(`${argument} ${value}`);
226
+ }
227
+ index += 1;
228
+ }
229
+ }
230
+ else if (argument.startsWith("--module-scope=")) {
231
+ const value = argument.slice("--module-scope=".length);
232
+ if (isModuleScope(value)) {
233
+ moduleScope = value;
234
+ }
235
+ else {
236
+ unexpected.push(argument);
237
+ }
238
+ }
239
+ else if (argument === "--primary-module") {
240
+ const value = commandArguments[index + 1];
241
+ if (value === undefined || value.startsWith("-")) {
242
+ unexpected.push(argument);
243
+ }
244
+ else {
245
+ primaryModule = value;
246
+ index += 1;
247
+ }
248
+ }
249
+ else if (argument.startsWith("--primary-module=")) {
250
+ const value = argument.slice("--primary-module=".length);
251
+ if (value.length === 0) {
252
+ unexpected.push(argument);
253
+ }
254
+ else {
255
+ primaryModule = value;
256
+ }
257
+ }
258
+ else if (argument === "--gradle-verification-config") {
259
+ const value = commandArguments[index + 1];
260
+ if (value === undefined || value.startsWith("-")) {
261
+ unexpected.push(argument);
262
+ }
263
+ else {
264
+ gradleVerificationConfigPath = value;
265
+ index += 1;
266
+ }
267
+ }
268
+ else if (argument.startsWith("--gradle-verification-config=")) {
269
+ const value = argument.slice("--gradle-verification-config=".length);
270
+ if (value.length === 0) {
271
+ unexpected.push(argument);
272
+ }
273
+ else {
274
+ gradleVerificationConfigPath = value;
275
+ }
276
+ }
277
+ else if (argument.startsWith("-")) {
278
+ unexpected.push(argument);
279
+ }
280
+ else if (targetDirectory === undefined) {
281
+ targetDirectory = argument;
282
+ }
283
+ else {
284
+ unexpected.push(argument);
285
+ }
286
+ }
287
+ if (unexpected.length > 0) {
288
+ process.stderr.write(`Unexpected upgrade argument(s): ${unexpected.join(", ")}\n`);
289
+ process.exitCode = 2;
290
+ }
291
+ else {
292
+ try {
293
+ const options = {};
294
+ if (moduleScope !== undefined) {
295
+ options.moduleScope = moduleScope;
296
+ }
297
+ if (primaryModule !== undefined) {
298
+ options.primaryModule = primaryModule;
299
+ }
300
+ if (gradleVerificationConfigPath !== undefined) {
301
+ options.gradleVerification = readGradleVerificationConfiguration(gradleVerificationConfigPath);
302
+ }
303
+ const result = runProjectUpgrade(targetDirectory ?? process.cwd(), options);
304
+ process.stdout.write(json
305
+ ? `${JSON.stringify(result, null, 2)}\n`
306
+ : formatProjectUpgradeResult(result));
307
+ process.exitCode = 0;
308
+ }
309
+ catch (error) {
310
+ printCommandError(error);
311
+ process.exitCode = 1;
312
+ }
313
+ }
314
+ }
315
+ }
316
+ else if (command === "uninstall") {
317
+ if (commandArguments.includes("--help") || commandArguments.includes("-h")) {
318
+ printUninstallHelp();
319
+ process.exitCode = 0;
320
+ }
321
+ else {
322
+ const unknownOptions = commandArguments.filter((argument) => argument.startsWith("-") && argument !== "--json");
323
+ const targetDirectories = commandArguments.filter((argument) => !argument.startsWith("-"));
324
+ if (unknownOptions.length > 0 || targetDirectories.length > 1) {
325
+ process.stderr.write(`Unexpected uninstall argument(s): ${[
326
+ ...unknownOptions,
327
+ ...targetDirectories.slice(1),
328
+ ].join(", ")}\n`);
329
+ process.exitCode = 2;
330
+ }
331
+ else {
332
+ try {
333
+ const result = runProjectUninstall(targetDirectories[0] ?? process.cwd());
334
+ process.stdout.write(commandArguments.includes("--json")
335
+ ? `${JSON.stringify(result, null, 2)}\n`
336
+ : formatProjectUninstallResult(result));
337
+ process.exitCode = 0;
338
+ }
339
+ catch (error) {
340
+ printCommandError(error);
341
+ process.exitCode = 1;
342
+ }
343
+ }
344
+ }
345
+ }
346
+ else if (command === "doctor") {
347
+ if (commandArguments.includes("--help") || commandArguments.includes("-h")) {
348
+ printDoctorHelp();
349
+ process.exitCode = 0;
350
+ }
351
+ else {
352
+ const unknownOptions = commandArguments.filter((argument) => argument.startsWith("-") && argument !== "--json");
353
+ const targetDirectories = commandArguments.filter((argument) => !argument.startsWith("-"));
354
+ if (unknownOptions.length > 0 || targetDirectories.length > 1) {
355
+ process.stderr.write(`Unexpected doctor argument(s): ${[
356
+ ...unknownOptions,
357
+ ...targetDirectories.slice(1),
358
+ ].join(", ")}\n`);
359
+ process.exitCode = 2;
360
+ }
361
+ else {
362
+ const report = runDoctor({
363
+ checkDependencies: true,
364
+ checkInstallation: true,
365
+ targetDirectory: targetDirectories[0] ?? process.cwd(),
366
+ });
367
+ if (commandArguments.includes("--json")) {
368
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
369
+ }
370
+ else {
371
+ process.stdout.write(formatDoctorReport(report));
372
+ }
373
+ process.exitCode = report.ok ? 0 : 1;
374
+ }
375
+ }
376
+ }
18
377
  else if (INSTALLER_COMMANDS.includes(command)) {
19
378
  process.stderr.write(`Command "${command}" is scaffolded but not implemented yet.\n`);
20
379
  process.exitCode = 1;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;IACtE,SAAS,EAAE,CAAC;AACd,CAAC;KAAM,IAAK,kBAAwC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,OAAO,4CAA4C,CAChE,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,MAAM,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,GAGd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,GAElB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,SAAS,SAAS;IAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wKAAwK,CACzK,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2KAA2K,CAC5K,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oFAAoF,CACrF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kEAAkE,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,EAC3D,CAAC;QACD,OAAO,KAAK,CAAC,OAA4B,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG;QACpB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAC1C,IAAY;IAEZ,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CACf,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CACA,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,oDAAoD,YAAY,KAAK,MAAM,EAAE,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;IACtE,SAAS,EAAE,CAAC;AACd,CAAC;KAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IAC9B,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,eAAmC,CAAC;QACxC,IAAI,WAAoC,CAAC;QACzC,IAAI,aAAiC,CAAC;QACtC,IAAI,4BAAgD,CAAC;QACrD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,WAAW,GAAG,KAAK,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,KAAK,CAAC;oBACtB,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,4BAA4B,GAAG,KAAK,CAAC;oBACrC,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,4BAA4B,GAAG,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACzC,eAAe,GAAG,QAAQ,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC1D,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,OAAO,GAAiC,EAAE,CAAC;gBACjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;gBACpC,CAAC;gBACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBACxC,CAAC;gBACD,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,CAAC,kBAAkB,GAAG,mCAAmC,CAC9D,4BAA4B,CAC7B,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,wBAAwB,CACrC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,CACR,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI;oBACF,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACxC,CAAC,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAC9C,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;KAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;IACjC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,gBAAgB,EAAE,CAAC;QACnB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,IAAI,eAAmC,CAAC;QACxC,IAAI,WAAoC,CAAC;QACzC,IAAI,aAAiC,CAAC;QACtC,IAAI,4BAAgD,CAAC;QACrD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,WAAW,GAAG,KAAK,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,WAAW,GAAG,KAAK,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,KAAK,CAAC;oBACtB,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,4BAA4B,GAAG,KAAK,CAAC;oBACrC,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;gBAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,4BAA4B,GAAG,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;iBAAM,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACzC,eAAe,GAAG,QAAQ,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7D,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,OAAO,GAA0B,EAAE,CAAC;gBAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;gBACpC,CAAC;gBACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBACxC,CAAC;gBACD,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,CAAC,kBAAkB,GAAG,mCAAmC,CAC9D,4BAA4B,CAC7B,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,OAAO,CACR,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI;oBACF,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACxC,CAAC,CAAC,0BAA0B,CAAC,MAAM,CAAC,CACvC,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;KAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;IACnC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,kBAAkB,EAAE,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAChE,CAAC;QACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC/C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CACxC,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qCAAqC;gBACnC,GAAG,cAAc;gBACjB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,mBAAmB,CAChC,iBAAiB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CACtC,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACxC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CACzC,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;KAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IAChC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAChE,CAAC;QACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC/C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CACxC,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC;gBAChC,GAAG,cAAc;gBACjB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjB,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,SAAS,CAAC;gBACvB,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;aACvD,CAAC,CAAC;YACH,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC;KAAM,IAAK,kBAAwC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,OAAO,4CAA4C,CAChE,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,MAAM,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Hooks, PluginInput, PluginOptions } from "@opencode-ai/plugin";
2
+ /**
3
+ * Plugin input fields that are present in both certified OpenCode versions.
4
+ * Keeping the runtime implementation behind this narrower view prevents an
5
+ * accidental dependency on version-specific workspace or server APIs.
6
+ */
7
+ export declare const COMMON_PLUGIN_INPUT_KEYS: readonly ["directory", "worktree", "client", "$"];
8
+ export type CommonPluginInputKey = (typeof COMMON_PLUGIN_INPUT_KEYS)[number];
9
+ export type CompatiblePluginInput = Pick<PluginInput, CommonPluginInputKey>;
10
+ /** Hooks verified to exist in both OpenCode 1.14.22 and 1.15.13. */
11
+ export declare const COMMON_HOOK_NAMES: readonly ["config", "tool", "command.execute.before", "permission.ask", "shell.env", "tool.execute.before", "tool.execute.after"];
12
+ export type CommonHookName = (typeof COMMON_HOOK_NAMES)[number];
13
+ export type CompatibleHooks = Pick<Hooks, CommonHookName>;
14
+ export type CompatiblePlugin = (input: CompatiblePluginInput, options?: PluginOptions) => Promise<CompatibleHooks>;
15
+ /**
16
+ * Adds a runtime guard to the compile-time hook allowlist. This catches hooks
17
+ * introduced through object spreading or untyped JavaScript before OpenCode
18
+ * attempts to register them.
19
+ */
20
+ export declare function defineCompatibleHooks(hooks: CompatibleHooks): CompatibleHooks;
21
+ /** Remove all input fields that are not part of the certified common API. */
22
+ export declare function toCompatiblePluginInput(input: PluginInput): CompatiblePluginInput;
23
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/compatibility/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,mDAKc,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AAE5E,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,mIAQe,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,eAAe,CAAC,CAAC;AAI9B;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GACrB,eAAe,CAYjB;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,WAAW,GACjB,qBAAqB,CAOvB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Plugin input fields that are present in both certified OpenCode versions.
3
+ * Keeping the runtime implementation behind this narrower view prevents an
4
+ * accidental dependency on version-specific workspace or server APIs.
5
+ */
6
+ export const COMMON_PLUGIN_INPUT_KEYS = [
7
+ "directory",
8
+ "worktree",
9
+ "client",
10
+ "$",
11
+ ];
12
+ /** Hooks verified to exist in both OpenCode 1.14.22 and 1.15.13. */
13
+ export const COMMON_HOOK_NAMES = [
14
+ "config",
15
+ "tool",
16
+ "command.execute.before",
17
+ "permission.ask",
18
+ "shell.env",
19
+ "tool.execute.before",
20
+ "tool.execute.after",
21
+ ];
22
+ const commonHookNames = new Set(COMMON_HOOK_NAMES);
23
+ /**
24
+ * Adds a runtime guard to the compile-time hook allowlist. This catches hooks
25
+ * introduced through object spreading or untyped JavaScript before OpenCode
26
+ * attempts to register them.
27
+ */
28
+ export function defineCompatibleHooks(hooks) {
29
+ const unsupportedHooks = Object.keys(hooks).filter((hookName) => !commonHookNames.has(hookName));
30
+ if (unsupportedHooks.length > 0) {
31
+ throw new Error(`Unsupported OpenCode hook(s): ${unsupportedHooks.join(", ")}`);
32
+ }
33
+ return hooks;
34
+ }
35
+ /** Remove all input fields that are not part of the certified common API. */
36
+ export function toCompatiblePluginInput(input) {
37
+ return {
38
+ directory: input.directory,
39
+ worktree: input.worktree,
40
+ client: input.client,
41
+ $: input.$,
42
+ };
43
+ }
44
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/compatibility/hooks.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW;IACX,UAAU;IACV,QAAQ;IACR,GAAG;CAC8C,CAAC;AAMpD,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,MAAM;IACN,wBAAwB;IACxB,gBAAgB;IAChB,WAAW;IACX,qBAAqB;IACrB,oBAAoB;CACuB,CAAC;AAS9C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,iBAAiB,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAsB;IAEtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAChD,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC7C,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,iCAAiC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,uBAAuB,CACrC,KAAkB;IAElB,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC;KACX,CAAC;AACJ,CAAC"}
@@ -1,4 +1,23 @@
1
1
  export declare const MINIMUM_OPENCODE_VERSION = "1.14.22";
2
2
  export declare const MAXIMUM_OPENCODE_VERSION = "1.16.0";
3
3
  export declare const CERTIFIED_OPENCODE_VERSIONS: readonly ["1.14.22", "1.15.13"];
4
+ export interface ParsedSemanticVersion {
5
+ major: number;
6
+ minor: number;
7
+ patch: number;
8
+ prerelease: readonly string[];
9
+ normalized: string;
10
+ }
11
+ export type OpenCodeVersionSupport = "certified" | "supported-uncertified" | "unsupported" | "invalid";
12
+ export interface OpenCodeVersionCheck {
13
+ input: string;
14
+ installedVersion: string | null;
15
+ support: OpenCodeVersionSupport;
16
+ compatible: boolean;
17
+ certified: boolean;
18
+ message: string;
19
+ }
20
+ export declare function parseOpenCodeVersion(value: string): ParsedSemanticVersion | null;
21
+ export declare function compareSemanticVersions(left: ParsedSemanticVersion, right: ParsedSemanticVersion): number;
22
+ export declare function checkOpenCodeVersion(input: string): OpenCodeVersionCheck;
4
23
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/compatibility/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,eAAO,MAAM,2BAA2B,iCAAkC,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/compatibility/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAClD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,eAAO,MAAM,2BAA2B,iCAAkC,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,GAC9B,WAAW,GACX,uBAAuB,GACvB,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,IAAI,CA0B9B;AAoBD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,qBAAqB,GAC3B,MAAM,CA0CR;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAqDxE"}
@@ -1,4 +1,120 @@
1
1
  export const MINIMUM_OPENCODE_VERSION = "1.14.22";
2
2
  export const MAXIMUM_OPENCODE_VERSION = "1.16.0";
3
3
  export const CERTIFIED_OPENCODE_VERSIONS = ["1.14.22", "1.15.13"];
4
+ const semanticVersionPattern = /(?:^|[^0-9])v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?(?=$|[^0-9A-Za-z])/;
5
+ export function parseOpenCodeVersion(value) {
6
+ const match = semanticVersionPattern.exec(value.trim());
7
+ if (match === null) {
8
+ return null;
9
+ }
10
+ const majorText = match[1];
11
+ const minorText = match[2];
12
+ const patchText = match[3];
13
+ if (majorText === undefined ||
14
+ minorText === undefined ||
15
+ patchText === undefined) {
16
+ return null;
17
+ }
18
+ const major = Number.parseInt(majorText, 10);
19
+ const minor = Number.parseInt(minorText, 10);
20
+ const patch = Number.parseInt(patchText, 10);
21
+ const prerelease = match[4]?.split(".") ?? [];
22
+ const normalized = `${major}.${minor}.${patch}${prerelease.length === 0 ? "" : `-${prerelease.join(".")}`}`;
23
+ return { major, minor, patch, prerelease, normalized };
24
+ }
25
+ function comparePrereleaseIdentifiers(left, right) {
26
+ const leftNumber = /^[0-9]+$/.test(left) ? Number.parseInt(left, 10) : null;
27
+ const rightNumber = /^[0-9]+$/.test(right)
28
+ ? Number.parseInt(right, 10)
29
+ : null;
30
+ if (leftNumber !== null && rightNumber !== null) {
31
+ return Math.sign(leftNumber - rightNumber);
32
+ }
33
+ if (leftNumber !== null) {
34
+ return -1;
35
+ }
36
+ if (rightNumber !== null) {
37
+ return 1;
38
+ }
39
+ return left.localeCompare(right);
40
+ }
41
+ export function compareSemanticVersions(left, right) {
42
+ for (const key of ["major", "minor", "patch"]) {
43
+ const difference = left[key] - right[key];
44
+ if (difference !== 0) {
45
+ return Math.sign(difference);
46
+ }
47
+ }
48
+ if (left.prerelease.length === 0 && right.prerelease.length === 0) {
49
+ return 0;
50
+ }
51
+ if (left.prerelease.length === 0) {
52
+ return 1;
53
+ }
54
+ if (right.prerelease.length === 0) {
55
+ return -1;
56
+ }
57
+ const identifierCount = Math.max(left.prerelease.length, right.prerelease.length);
58
+ for (let index = 0; index < identifierCount; index += 1) {
59
+ const leftIdentifier = left.prerelease[index];
60
+ const rightIdentifier = right.prerelease[index];
61
+ if (leftIdentifier === undefined) {
62
+ return -1;
63
+ }
64
+ if (rightIdentifier === undefined) {
65
+ return 1;
66
+ }
67
+ const comparison = comparePrereleaseIdentifiers(leftIdentifier, rightIdentifier);
68
+ if (comparison !== 0) {
69
+ return comparison;
70
+ }
71
+ }
72
+ return 0;
73
+ }
74
+ export function checkOpenCodeVersion(input) {
75
+ const installed = parseOpenCodeVersion(input);
76
+ const minimum = parseOpenCodeVersion(MINIMUM_OPENCODE_VERSION);
77
+ const maximum = parseOpenCodeVersion(MAXIMUM_OPENCODE_VERSION);
78
+ if (installed === null || minimum === null || maximum === null) {
79
+ return {
80
+ input,
81
+ installedVersion: null,
82
+ support: "invalid",
83
+ compatible: false,
84
+ certified: false,
85
+ message: `Unable to parse an OpenCode version from: ${input.trim() || "<empty>"}`,
86
+ };
87
+ }
88
+ const compatible = compareSemanticVersions(installed, minimum) >= 0 &&
89
+ compareSemanticVersions(installed, maximum) < 0;
90
+ const certified = CERTIFIED_OPENCODE_VERSIONS.some((version) => version === installed.normalized);
91
+ if (!compatible) {
92
+ return {
93
+ input,
94
+ installedVersion: installed.normalized,
95
+ support: "unsupported",
96
+ compatible: false,
97
+ certified: false,
98
+ message: `OpenCode ${installed.normalized} is outside the supported range >=${MINIMUM_OPENCODE_VERSION} <${MAXIMUM_OPENCODE_VERSION}.`,
99
+ };
100
+ }
101
+ if (!certified) {
102
+ return {
103
+ input,
104
+ installedVersion: installed.normalized,
105
+ support: "supported-uncertified",
106
+ compatible: true,
107
+ certified: false,
108
+ message: `OpenCode ${installed.normalized} is in the supported range but has not been certified.`,
109
+ };
110
+ }
111
+ return {
112
+ input,
113
+ installedVersion: installed.normalized,
114
+ support: "certified",
115
+ compatible: true,
116
+ certified: true,
117
+ message: `OpenCode ${installed.normalized} is certified.`,
118
+ };
119
+ }
4
120
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/compatibility/versions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/compatibility/versions.ts"],"names":[],"mappings":"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"}