@mozole/cli 2.0.0-b → 2.1.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 (105) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +147 -23
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/add.d.ts +7 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +87 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/adopt.d.ts +2 -0
  11. package/dist/commands/adopt.d.ts.map +1 -1
  12. package/dist/commands/adopt.js +243 -45
  13. package/dist/commands/adopt.js.map +1 -1
  14. package/dist/commands/assets.d.ts +28 -0
  15. package/dist/commands/assets.d.ts.map +1 -0
  16. package/dist/commands/assets.js +176 -0
  17. package/dist/commands/assets.js.map +1 -0
  18. package/dist/commands/backend.d.ts +5 -0
  19. package/dist/commands/backend.d.ts.map +1 -0
  20. package/dist/commands/backend.js +68 -0
  21. package/dist/commands/backend.js.map +1 -0
  22. package/dist/commands/new.d.ts +1 -1
  23. package/dist/commands/new.d.ts.map +1 -1
  24. package/dist/commands/new.js +13 -5
  25. package/dist/commands/new.js.map +1 -1
  26. package/dist/commands/prototype.d.ts.map +1 -1
  27. package/dist/commands/prototype.js +68 -20
  28. package/dist/commands/prototype.js.map +1 -1
  29. package/dist/commands/release.d.ts +10 -0
  30. package/dist/commands/release.d.ts.map +1 -0
  31. package/dist/commands/release.js +181 -0
  32. package/dist/commands/release.js.map +1 -0
  33. package/dist/commands/ui.d.ts +12 -1
  34. package/dist/commands/ui.d.ts.map +1 -1
  35. package/dist/commands/ui.js +182 -68
  36. package/dist/commands/ui.js.map +1 -1
  37. package/dist/commands/verify.d.ts.map +1 -1
  38. package/dist/commands/verify.js +37 -5
  39. package/dist/commands/verify.js.map +1 -1
  40. package/dist/scaffold/agents.d.ts.map +1 -1
  41. package/dist/scaffold/agents.js +40 -6
  42. package/dist/scaffold/agents.js.map +1 -1
  43. package/dist/scaffold/backend.d.ts +1 -1
  44. package/dist/scaffold/backend.d.ts.map +1 -1
  45. package/dist/scaffold/backend.js +63 -31
  46. package/dist/scaffold/backend.js.map +1 -1
  47. package/dist/scaffold/components.d.ts +8 -0
  48. package/dist/scaffold/components.d.ts.map +1 -0
  49. package/dist/scaffold/components.js +305 -0
  50. package/dist/scaffold/components.js.map +1 -0
  51. package/dist/scaffold/design.d.ts.map +1 -1
  52. package/dist/scaffold/design.js +47 -25
  53. package/dist/scaffold/design.js.map +1 -1
  54. package/dist/scaffold/flagship.d.ts +5 -0
  55. package/dist/scaffold/flagship.d.ts.map +1 -1
  56. package/dist/scaffold/flagship.js +161 -102
  57. package/dist/scaffold/flagship.js.map +1 -1
  58. package/dist/scaffold/index.d.ts +1 -1
  59. package/dist/scaffold/index.d.ts.map +1 -1
  60. package/dist/scaffold/index.js +22 -7
  61. package/dist/scaffold/index.js.map +1 -1
  62. package/dist/scaffold/library.d.ts +3 -0
  63. package/dist/scaffold/library.d.ts.map +1 -0
  64. package/dist/scaffold/library.js +98 -0
  65. package/dist/scaffold/library.js.map +1 -0
  66. package/dist/scaffold/phases.d.ts.map +1 -1
  67. package/dist/scaffold/phases.js +19 -14
  68. package/dist/scaffold/phases.js.map +1 -1
  69. package/dist/scaffold/repomap.d.ts +3 -3
  70. package/dist/scaffold/repomap.d.ts.map +1 -1
  71. package/dist/scaffold/repomap.js +22 -10
  72. package/dist/scaffold/repomap.js.map +1 -1
  73. package/dist/scaffold/standard.d.ts.map +1 -1
  74. package/dist/scaffold/standard.js +3 -2
  75. package/dist/scaffold/standard.js.map +1 -1
  76. package/dist/scaffold/tokens.js +4 -4
  77. package/dist/scaffold/tools-guide.d.ts +3 -0
  78. package/dist/scaffold/tools-guide.d.ts.map +1 -0
  79. package/dist/scaffold/tools-guide.js +117 -0
  80. package/dist/scaffold/tools-guide.js.map +1 -0
  81. package/dist/scaffold/workflow.d.ts +5 -0
  82. package/dist/scaffold/workflow.d.ts.map +1 -0
  83. package/dist/scaffold/workflow.js +221 -0
  84. package/dist/scaffold/workflow.js.map +1 -0
  85. package/dist/ui/CockpitApp.d.ts +13 -0
  86. package/dist/ui/CockpitApp.d.ts.map +1 -0
  87. package/dist/ui/CockpitApp.js +612 -0
  88. package/dist/ui/CockpitApp.js.map +1 -0
  89. package/dist/ui/ToolsPanel.d.ts +6 -0
  90. package/dist/ui/ToolsPanel.d.ts.map +1 -0
  91. package/dist/ui/ToolsPanel.js +128 -0
  92. package/dist/ui/ToolsPanel.js.map +1 -0
  93. package/dist/utils/fs.d.ts +7 -0
  94. package/dist/utils/fs.d.ts.map +1 -1
  95. package/dist/utils/fs.js +169 -3
  96. package/dist/utils/fs.js.map +1 -1
  97. package/dist/utils/project-files.d.ts +4 -0
  98. package/dist/utils/project-files.d.ts.map +1 -0
  99. package/dist/utils/project-files.js +49 -0
  100. package/dist/utils/project-files.js.map +1 -0
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.d.ts.map +1 -1
  103. package/dist/version.js +1 -1
  104. package/dist/version.js.map +1 -1
  105. package/package.json +32 -4
package/README.md CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```bash
32
32
  # Clone and install dependencies
33
- git clone git@github.com:mozolestudio/cli.git
33
+ git clone git@github.com:mozolestudio/MozoleCli.git
34
34
  cd MozoleCli
35
35
  npm install
36
36
 
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  export declare const main: import("citty").CommandDef<import("citty").ArgsDef>;
3
3
  export declare function runCli(argv?: string[]): Promise<void>;
4
+ export declare function isCliEntrypoint(argv1?: string, currentModuleUrl?: string): boolean;
4
5
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA+LA,eAAO,MAAM,IAAI,qDAuBf,CAAC;AAEH,wBAAgB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA4SA,eAAO,MAAM,IAAI,qDA2Bf,CAAC;AAEH,wBAAgB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,eAAe,CAC7B,KAAK,SAAkB,EACvB,gBAAgB,SAAkB,GACjC,OAAO,CAoBT"}
package/dist/cli.js CHANGED
@@ -1,10 +1,16 @@
1
1
  #!/usr/bin/env node
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
2
4
  import { defineCommand, runMain } from "citty";
5
+ import { addComponents } from "./commands/add.js";
3
6
  import { adoptProject } from "./commands/adopt.js";
7
+ import { optimizeAssets } from "./commands/assets.js";
8
+ import { enableBackend } from "./commands/backend.js";
4
9
  import { doctorCommand } from "./commands/doctor.js";
5
10
  import { createNewProject } from "./commands/new.js";
6
11
  import { phaseCommand } from "./commands/phase.js";
7
12
  import { prototypeInit } from "./commands/prototype.js";
13
+ import { createRelease } from "./commands/release.js";
8
14
  import { repomapCommand } from "./commands/repomap.js";
9
15
  import { testCommand } from "./commands/test.js";
10
16
  import { uiCommand } from "./commands/ui.js";
@@ -28,15 +34,78 @@ const newCmd = defineCommand({
28
34
  },
29
35
  backend: {
30
36
  type: "string",
31
- description: "Backend runtime: 'php' (default) or 'node'",
32
- default: "php",
37
+ description: "Backend runtime: 'none' (default), 'php', or 'node'",
38
+ default: "none",
33
39
  },
34
40
  },
35
41
  async run({ args }) {
36
42
  await createNewProject({
37
43
  name: args.name,
38
44
  flagship: args.flagship,
39
- backend: args.backend || "php",
45
+ backend: args.backend || "none",
46
+ });
47
+ },
48
+ });
49
+ const addCmd = defineCommand({
50
+ meta: { name: "add", description: "Add project-owned UI foundations" },
51
+ args: {
52
+ component: {
53
+ type: "positional",
54
+ required: false,
55
+ description: "Component, comma-separated names, or all",
56
+ },
57
+ list: { type: "boolean", description: "List component catalog", default: false },
58
+ path: { type: "string", description: "Project directory" },
59
+ },
60
+ async run({ args }) {
61
+ await addComponents({ components: args.component, list: args.list, cwd: args.path });
62
+ },
63
+ });
64
+ const assetsCmd = defineCommand({
65
+ meta: { name: "assets", description: "Optimize raster images into responsive AVIF/WebP assets" },
66
+ args: {
67
+ path: { type: "string", description: "Project directory" },
68
+ input: {
69
+ type: "string",
70
+ default: "assets/images",
71
+ description: "Project-relative source directory",
72
+ },
73
+ output: { type: "string", default: "public/media", description: "Destination under public/" },
74
+ widths: { type: "string", description: "Comma-separated widths; default 320 through 3840" },
75
+ quality: { type: "string", default: "78", description: "Encoder quality 1–100" },
76
+ base: { type: "string", default: "/", description: "Deployment base path, e.g. /client/" },
77
+ },
78
+ async run({ args }) {
79
+ await optimizeAssets({
80
+ cwd: args.path,
81
+ input: args.input,
82
+ output: args.output,
83
+ widths: args.widths,
84
+ quality: Number(args.quality),
85
+ base: args.base,
86
+ });
87
+ },
88
+ });
89
+ const releaseCmd = defineCommand({
90
+ meta: { name: "release", description: "Package static HTML and optional PHP API for deployment" },
91
+ args: {
92
+ path: { type: "string", description: "Project directory" },
93
+ from: { type: "string", description: "Custom static build directory" },
94
+ output: {
95
+ type: "string",
96
+ default: "release",
97
+ description: "Project-relative output name (ZIP adds .zip)",
98
+ },
99
+ format: { type: "string", default: "both", description: "zip, directory, or both" },
100
+ "skip-build": { type: "boolean", default: false, description: "Package existing build output" },
101
+ },
102
+ async run({ args }) {
103
+ await createRelease({
104
+ cwd: args.path,
105
+ from: args.from,
106
+ output: args.output,
107
+ format: args.format,
108
+ skipBuild: args["skip-build"],
40
109
  });
41
110
  },
42
111
  });
@@ -45,16 +114,13 @@ const prototypeCmd = defineCommand({
45
114
  name: "prototype",
46
115
  description: "Manage prototype repository workspace",
47
116
  },
48
- subCommands: {
49
- init: defineCommand({
50
- meta: {
51
- name: "init",
52
- description: "Initialize a new prototype workspace repository",
53
- },
54
- async run() {
55
- await prototypeInit();
56
- },
57
- }),
117
+ args: {
118
+ action: {
119
+ type: "positional",
120
+ description: "Action: 'init' (default)",
121
+ required: false,
122
+ default: "init",
123
+ },
58
124
  },
59
125
  async run() {
60
126
  await prototypeInit();
@@ -63,9 +129,11 @@ const prototypeCmd = defineCommand({
63
129
  const adoptCmd = defineCommand({
64
130
  meta: {
65
131
  name: "adopt",
66
- description: "Adopt an existing project into Mozole Studio governance",
132
+ description: "Adopt a Vite React project into Mozole architecture and tooling",
67
133
  },
68
134
  args: {
135
+ flagship: { type: "boolean", description: "Adopt as Flagship (Wouter, Motion, Lenis)" },
136
+ backend: { type: "string", description: "Enable php or node backend", default: "none" },
69
137
  path: {
70
138
  type: "positional",
71
139
  description: "Path to project root",
@@ -74,7 +142,21 @@ const adoptCmd = defineCommand({
74
142
  },
75
143
  },
76
144
  async run({ args }) {
77
- await adoptProject({ targetDir: args.path });
145
+ await adoptProject({
146
+ targetDir: args.path,
147
+ flagship: args.flagship || undefined,
148
+ backend: args.backend,
149
+ });
150
+ },
151
+ });
152
+ const backendCmd = defineCommand({
153
+ meta: { name: "backend", description: "Enable a PHP or Node API in an existing project" },
154
+ args: {
155
+ runtime: { type: "positional", required: true, description: "php or node" },
156
+ path: { type: "string", description: "Project directory" },
157
+ },
158
+ async run({ args }) {
159
+ await enableBackend({ runtime: args.runtime, targetDir: args.path });
78
160
  },
79
161
  });
80
162
  const phaseCmd = defineCommand({
@@ -174,8 +256,31 @@ const uiCmd = defineCommand({
174
256
  name: "ui",
175
257
  description: "Launch interactive terminal cockpit",
176
258
  },
177
- async run() {
178
- await uiCommand();
259
+ args: {
260
+ component: { type: "string", description: "Component names for component-add action" },
261
+ input: { type: "string", description: "Asset input directory" },
262
+ output: { type: "string", description: "Asset/release output directory" },
263
+ format: { type: "string", description: "Release format" },
264
+ "skip-build": { type: "boolean", default: false, description: "Package an existing build" },
265
+ project: {
266
+ type: "string",
267
+ description: "Target project name or relative path in workspace",
268
+ },
269
+ action: {
270
+ type: "string",
271
+ description: "Direct headless operation action (e.g. phase-status, verify, server-start)",
272
+ },
273
+ },
274
+ async run({ args }) {
275
+ await uiCommand({
276
+ project: args.project,
277
+ action: args.action,
278
+ component: args.component,
279
+ input: args.input,
280
+ output: args.output,
281
+ format: args.format,
282
+ skipBuild: args["skip-build"],
283
+ });
179
284
  },
180
285
  });
181
286
  export const main = defineCommand({
@@ -186,8 +291,12 @@ export const main = defineCommand({
186
291
  },
187
292
  subCommands: {
188
293
  new: newCmd,
294
+ add: addCmd,
295
+ assets: assetsCmd,
296
+ release: releaseCmd,
189
297
  prototype: prototypeCmd,
190
298
  adopt: adoptCmd,
299
+ backend: backendCmd,
191
300
  phase: phaseCmd,
192
301
  repomap: repomapCmd,
193
302
  test: testCmd,
@@ -205,12 +314,27 @@ export const main = defineCommand({
205
314
  export function runCli(argv = process.argv.slice(2)) {
206
315
  return runMain(main, { rawArgs: argv });
207
316
  }
208
- // Automatically invoke if executed as the main CLI entrypoint
209
- const isEntry = Boolean(process.argv[1] &&
210
- (process.argv[1].endsWith("/cli.js") ||
211
- process.argv[1].endsWith("/cli.ts") ||
212
- process.argv[1].endsWith("/mozole")));
213
- if (isEntry) {
317
+ export function isCliEntrypoint(argv1 = process.argv[1], currentModuleUrl = import.meta.url) {
318
+ if (!argv1)
319
+ return false;
320
+ try {
321
+ const scriptPath = fileURLToPath(currentModuleUrl);
322
+ if (path.resolve(argv1) === path.resolve(scriptPath)) {
323
+ return true;
324
+ }
325
+ }
326
+ catch { }
327
+ const normalized = argv1.replace(/\\/g, "/").toLowerCase();
328
+ return (normalized.endsWith("/cli.js") ||
329
+ normalized.endsWith("/cli.ts") ||
330
+ normalized.endsWith("/mozole") ||
331
+ normalized.endsWith("/mozole.cmd") ||
332
+ normalized.endsWith("/mozole.ps1") ||
333
+ normalized.endsWith("/mozole.exe") ||
334
+ normalized.endsWith("/mozole.js") ||
335
+ /(?:^|\/)mozole(?:\.cmd|\.ps1|\.exe)?$/i.test(normalized));
336
+ }
337
+ if (isCliEntrypoint()) {
214
338
  runCli();
215
339
  }
216
340
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function addComponents(options?: {
2
+ components?: string;
3
+ cwd?: string;
4
+ list?: boolean;
5
+ log?: (message: string) => void;
6
+ }): Promise<string[]>;
7
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAQA,wBAAsB,aAAa,CACjC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,GACL,OAAO,CAAC,MAAM,EAAE,CAAC,CAkFnB"}
@@ -0,0 +1,87 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { COMPONENTS } from "../scaffold/components.js";
4
+ import { scaffoldToolsGuide } from "../scaffold/tools-guide.js";
5
+ import { atomicWrite, exists, findPrototypeRoot, writeFiles } from "../utils/fs.js";
6
+ import { run } from "../utils/process.js";
7
+ import { projectDirectory, projectPath } from "../utils/project-files.js";
8
+ export async function addComponents(options = {}) {
9
+ const log = options.log ?? console.log;
10
+ if (options.list) {
11
+ for (const [name, entry] of Object.entries(COMPONENTS))
12
+ log(`${name.padEnd(18)} ${entry.description}`);
13
+ return Object.keys(COMPONENTS);
14
+ }
15
+ const names = [
16
+ ...new Set((options.components ?? "")
17
+ .toLowerCase()
18
+ .split(/[\s,]+/)
19
+ .filter(Boolean)),
20
+ ];
21
+ const selected = names.includes("all") ? Object.keys(COMPONENTS) : names;
22
+ if (!selected.length)
23
+ throw new Error("Choose a component, comma-separated names, or all. Use mozole add --list.");
24
+ for (const name of names)
25
+ if (name !== "all" && !Object.hasOwn(COMPONENTS, name))
26
+ throw new Error(`Unknown component: ${name}. Use mozole add --list.`);
27
+ const root = await projectDirectory(options.cwd);
28
+ for (const file of [
29
+ "package.json",
30
+ "src/components/ui/index.ts",
31
+ "src/library/index.ts",
32
+ ".mozole/components.json",
33
+ ])
34
+ await projectPath(root, file);
35
+ const pkgPath = path.join(root, "package.json");
36
+ const pkg = JSON.parse(await readFile(pkgPath, "utf8"));
37
+ const written = [];
38
+ const skipped = [];
39
+ const registrationPath = path.join(root, ".mozole/components.json");
40
+ const registry = (await exists(registrationPath))
41
+ ? JSON.parse(await readFile(registrationPath, "utf8"))
42
+ : {};
43
+ const uiPath = path.join(root, "src/components/ui/index.ts");
44
+ let barrel = (await exists(uiPath)) ? await readFile(uiPath, "utf8") : "";
45
+ for (const name of selected) {
46
+ const entry = COMPONENTS[name];
47
+ const file = `src/components/ui/${entry.file}.tsx`;
48
+ await projectPath(root, file);
49
+ if (await exists(path.join(root, file))) {
50
+ skipped.push(name);
51
+ continue;
52
+ }
53
+ written.push(...(await writeFiles(root, { [file]: entry.source })));
54
+ for (const [dependency, version] of Object.entries(entry.dependencies)) {
55
+ if (!pkg.dependencies?.[dependency] && !pkg.devDependencies?.[dependency]) {
56
+ pkg.dependencies = { ...pkg.dependencies, [dependency]: version };
57
+ }
58
+ }
59
+ const exportLine = `export * from "./${entry.file}";`;
60
+ if (!barrel.includes(exportLine))
61
+ barrel += `\n${exportLine}\n`;
62
+ registry[name] = { file, ownership: "project", description: entry.description };
63
+ }
64
+ if (written.length) {
65
+ await scaffoldToolsGuide(root);
66
+ await atomicWrite(pkgPath, JSON.stringify(pkg, null, 2));
67
+ await atomicWrite(uiPath, barrel);
68
+ const library = path.join(root, "src/library/index.ts");
69
+ const content = (await exists(library)) ? await readFile(library, "utf8") : "";
70
+ if (!/from\s+["']\.\.\/components\/ui["']/.test(content))
71
+ await atomicWrite(library, `${content}\nexport * from "../components/ui";\n`);
72
+ await atomicWrite(registrationPath, JSON.stringify(registry, null, 2));
73
+ try {
74
+ await run("npx", ["@biomejs/biome", "format", "--write", "src/components/ui"], {
75
+ cwd: root,
76
+ });
77
+ }
78
+ catch {
79
+ // Non-fatal if biome is not yet available in the environment
80
+ }
81
+ }
82
+ log(`Added ${written.length} component files. Preserved existing: ${skipped.join(", ") || "none"}.`);
83
+ if (written.length)
84
+ log(`Run npm install in ${(await findPrototypeRoot(root)) ?? root}. No dependencies were installed by this command.`);
85
+ return written;
86
+ }
87
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface AdoptOptions {
2
2
  targetDir?: string;
3
3
  projectName?: string;
4
+ flagship?: boolean;
5
+ backend?: "none" | "php" | "node";
4
6
  }
5
7
  export declare function adoptProject(options?: AdoptOptions): Promise<void>;
6
8
  //# sourceMappingURL=adopt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD5E"}
1
+ {"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACnC;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2S5E"}