@mozole/cli 1.4.3 → 2.0.0-b

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 (249) hide show
  1. package/LICENSE +16 -4
  2. package/README.md +85 -112
  3. package/dist/cli.d.ts +2 -2
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +204 -184
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/adopt.d.ts +5 -10
  8. package/dist/commands/adopt.d.ts.map +1 -1
  9. package/dist/commands/adopt.js +49 -849
  10. package/dist/commands/adopt.js.map +1 -1
  11. package/dist/commands/doctor.d.ts +1 -7
  12. package/dist/commands/doctor.d.ts.map +1 -1
  13. package/dist/commands/doctor.js +69 -377
  14. package/dist/commands/doctor.js.map +1 -1
  15. package/dist/commands/new.d.ts +8 -10
  16. package/dist/commands/new.d.ts.map +1 -1
  17. package/dist/commands/new.js +32 -197
  18. package/dist/commands/new.js.map +1 -1
  19. package/dist/commands/phase.d.ts +11 -0
  20. package/dist/commands/phase.d.ts.map +1 -0
  21. package/dist/commands/phase.js +106 -0
  22. package/dist/commands/phase.js.map +1 -0
  23. package/dist/commands/prototype.d.ts +6 -0
  24. package/dist/commands/prototype.d.ts.map +1 -0
  25. package/dist/commands/prototype.js +28 -0
  26. package/dist/commands/prototype.js.map +1 -0
  27. package/dist/commands/repomap.d.ts +6 -0
  28. package/dist/commands/repomap.d.ts.map +1 -0
  29. package/dist/commands/repomap.js +71 -0
  30. package/dist/commands/repomap.js.map +1 -0
  31. package/dist/commands/test.d.ts +6 -0
  32. package/dist/commands/test.d.ts.map +1 -0
  33. package/dist/commands/test.js +115 -0
  34. package/dist/commands/test.js.map +1 -0
  35. package/dist/commands/ui.d.ts +1 -42
  36. package/dist/commands/ui.d.ts.map +1 -1
  37. package/dist/commands/ui.js +74 -466
  38. package/dist/commands/ui.js.map +1 -1
  39. package/dist/commands/verify.d.ts +12 -7
  40. package/dist/commands/verify.d.ts.map +1 -1
  41. package/dist/commands/verify.js +148 -65
  42. package/dist/commands/verify.js.map +1 -1
  43. package/dist/qa/a11y.d.ts +24 -0
  44. package/dist/qa/a11y.d.ts.map +1 -0
  45. package/dist/qa/a11y.js +124 -0
  46. package/dist/qa/a11y.js.map +1 -0
  47. package/dist/qa/breakpoints.d.ts +16 -0
  48. package/dist/qa/breakpoints.d.ts.map +1 -0
  49. package/dist/qa/breakpoints.js +45 -0
  50. package/dist/qa/breakpoints.js.map +1 -0
  51. package/dist/qa/contract.d.ts +21 -0
  52. package/dist/qa/contract.d.ts.map +1 -0
  53. package/dist/qa/contract.js +116 -0
  54. package/dist/qa/contract.js.map +1 -0
  55. package/dist/qa/index.d.ts +6 -0
  56. package/dist/qa/index.d.ts.map +1 -0
  57. package/dist/qa/index.js +6 -0
  58. package/dist/qa/index.js.map +1 -0
  59. package/dist/qa/probe.d.ts +48 -0
  60. package/dist/qa/probe.d.ts.map +1 -0
  61. package/dist/qa/probe.js +206 -0
  62. package/dist/qa/probe.js.map +1 -0
  63. package/dist/qa/runner.d.ts +27 -33
  64. package/dist/qa/runner.d.ts.map +1 -1
  65. package/dist/qa/runner.js +286 -332
  66. package/dist/qa/runner.js.map +1 -1
  67. package/dist/scaffold/agents.d.ts +5 -0
  68. package/dist/scaffold/agents.d.ts.map +1 -0
  69. package/dist/scaffold/agents.js +84 -0
  70. package/dist/scaffold/agents.js.map +1 -0
  71. package/dist/scaffold/backend.d.ts +6 -8
  72. package/dist/scaffold/backend.d.ts.map +1 -1
  73. package/dist/scaffold/backend.js +318 -199
  74. package/dist/scaffold/backend.js.map +1 -1
  75. package/dist/scaffold/design.d.ts +4 -3
  76. package/dist/scaffold/design.d.ts.map +1 -1
  77. package/dist/scaffold/design.js +38 -47
  78. package/dist/scaffold/design.js.map +1 -1
  79. package/dist/scaffold/flagship.d.ts +8 -0
  80. package/dist/scaffold/flagship.d.ts.map +1 -0
  81. package/dist/scaffold/flagship.js +337 -0
  82. package/dist/scaffold/flagship.js.map +1 -0
  83. package/dist/scaffold/index.d.ts +9 -0
  84. package/dist/scaffold/index.d.ts.map +1 -0
  85. package/dist/scaffold/index.js +48 -0
  86. package/dist/scaffold/index.js.map +1 -0
  87. package/dist/scaffold/phases.d.ts +10 -0
  88. package/dist/scaffold/phases.d.ts.map +1 -0
  89. package/dist/scaffold/phases.js +165 -0
  90. package/dist/scaffold/phases.js.map +1 -0
  91. package/dist/scaffold/repomap.d.ts +6 -0
  92. package/dist/scaffold/repomap.d.ts.map +1 -0
  93. package/dist/scaffold/repomap.js +89 -0
  94. package/dist/scaffold/repomap.js.map +1 -0
  95. package/dist/scaffold/standard.d.ts +13 -0
  96. package/dist/scaffold/standard.d.ts.map +1 -0
  97. package/dist/scaffold/standard.js +371 -0
  98. package/dist/scaffold/standard.js.map +1 -0
  99. package/dist/scaffold/tokens.d.ts +3 -0
  100. package/dist/scaffold/tokens.d.ts.map +1 -0
  101. package/dist/scaffold/tokens.js +126 -0
  102. package/dist/scaffold/tokens.js.map +1 -0
  103. package/dist/server/manager.d.ts +23 -0
  104. package/dist/server/manager.d.ts.map +1 -0
  105. package/dist/server/manager.js +96 -0
  106. package/dist/server/manager.js.map +1 -0
  107. package/dist/utils/ai-trace.d.ts +8 -0
  108. package/dist/utils/ai-trace.d.ts.map +1 -0
  109. package/dist/utils/ai-trace.js +69 -0
  110. package/dist/utils/ai-trace.js.map +1 -0
  111. package/dist/utils/browser.d.ts +10 -0
  112. package/dist/utils/browser.d.ts.map +1 -0
  113. package/dist/utils/browser.js +127 -0
  114. package/dist/utils/browser.js.map +1 -0
  115. package/dist/utils/fs.d.ts +11 -0
  116. package/dist/utils/fs.d.ts.map +1 -0
  117. package/dist/utils/fs.js +166 -0
  118. package/dist/utils/fs.js.map +1 -0
  119. package/dist/utils/git.d.ts +9 -0
  120. package/dist/utils/git.d.ts.map +1 -0
  121. package/dist/utils/git.js +69 -0
  122. package/dist/utils/git.js.map +1 -0
  123. package/dist/utils/process.d.ts +21 -0
  124. package/dist/utils/process.d.ts.map +1 -0
  125. package/dist/utils/process.js +120 -0
  126. package/dist/utils/process.js.map +1 -0
  127. package/dist/version.d.ts +21 -36
  128. package/dist/version.d.ts.map +1 -1
  129. package/dist/version.js +21 -44
  130. package/dist/version.js.map +1 -1
  131. package/package.json +19 -38
  132. package/CHANGELOG.md +0 -38
  133. package/dist/commands/cce.d.ts +0 -7
  134. package/dist/commands/cce.d.ts.map +0 -1
  135. package/dist/commands/cce.js +0 -37
  136. package/dist/commands/cce.js.map +0 -1
  137. package/dist/commands/logs.d.ts +0 -3
  138. package/dist/commands/logs.d.ts.map +0 -1
  139. package/dist/commands/logs.js +0 -40
  140. package/dist/commands/logs.js.map +0 -1
  141. package/dist/commands/qa.d.ts +0 -12
  142. package/dist/commands/qa.d.ts.map +0 -1
  143. package/dist/commands/qa.js +0 -143
  144. package/dist/commands/qa.js.map +0 -1
  145. package/dist/commands/stats.d.ts +0 -37
  146. package/dist/commands/stats.d.ts.map +0 -1
  147. package/dist/commands/stats.js +0 -169
  148. package/dist/commands/stats.js.map +0 -1
  149. package/dist/commands/template.d.ts +0 -8
  150. package/dist/commands/template.d.ts.map +0 -1
  151. package/dist/commands/template.js +0 -392
  152. package/dist/commands/template.js.map +0 -1
  153. package/dist/config/project.d.ts +0 -54
  154. package/dist/config/project.d.ts.map +0 -1
  155. package/dist/config/project.js +0 -100
  156. package/dist/config/project.js.map +0 -1
  157. package/dist/context/cce.d.ts +0 -39
  158. package/dist/context/cce.d.ts.map +0 -1
  159. package/dist/context/cce.js +0 -455
  160. package/dist/context/cce.js.map +0 -1
  161. package/dist/governor/fingerprint.d.ts +0 -7
  162. package/dist/governor/fingerprint.d.ts.map +0 -1
  163. package/dist/governor/fingerprint.js +0 -120
  164. package/dist/governor/fingerprint.js.map +0 -1
  165. package/dist/governor/hook.d.ts +0 -13
  166. package/dist/governor/hook.d.ts.map +0 -1
  167. package/dist/governor/hook.js +0 -389
  168. package/dist/governor/hook.js.map +0 -1
  169. package/dist/governor/state.d.ts +0 -45
  170. package/dist/governor/state.d.ts.map +0 -1
  171. package/dist/governor/state.js +0 -60
  172. package/dist/governor/state.js.map +0 -1
  173. package/dist/integrations/antigravity.d.ts +0 -20
  174. package/dist/integrations/antigravity.d.ts.map +0 -1
  175. package/dist/integrations/antigravity.js +0 -153
  176. package/dist/integrations/antigravity.js.map +0 -1
  177. package/dist/output-safety.d.ts +0 -3
  178. package/dist/output-safety.d.ts.map +0 -1
  179. package/dist/output-safety.js +0 -44
  180. package/dist/output-safety.js.map +0 -1
  181. package/dist/output.d.ts +0 -5
  182. package/dist/output.d.ts.map +0 -1
  183. package/dist/output.js +0 -2
  184. package/dist/output.js.map +0 -1
  185. package/dist/platform/executable.d.ts +0 -11
  186. package/dist/platform/executable.d.ts.map +0 -1
  187. package/dist/platform/executable.js +0 -69
  188. package/dist/platform/executable.js.map +0 -1
  189. package/dist/platform/process.d.ts +0 -27
  190. package/dist/platform/process.d.ts.map +0 -1
  191. package/dist/platform/process.js +0 -189
  192. package/dist/platform/process.js.map +0 -1
  193. package/dist/progress.d.ts +0 -44
  194. package/dist/progress.d.ts.map +0 -1
  195. package/dist/progress.js +0 -123
  196. package/dist/progress.js.map +0 -1
  197. package/dist/qa/artifacts.d.ts +0 -3
  198. package/dist/qa/artifacts.d.ts.map +0 -1
  199. package/dist/qa/artifacts.js +0 -15
  200. package/dist/qa/artifacts.js.map +0 -1
  201. package/dist/qa/diff.d.ts +0 -10
  202. package/dist/qa/diff.d.ts.map +0 -1
  203. package/dist/qa/diff.js +0 -90
  204. package/dist/qa/diff.js.map +0 -1
  205. package/dist/qa/server.d.ts +0 -10
  206. package/dist/qa/server.d.ts.map +0 -1
  207. package/dist/qa/server.js +0 -127
  208. package/dist/qa/server.js.map +0 -1
  209. package/dist/scaffold/adoption.d.ts +0 -17
  210. package/dist/scaffold/adoption.d.ts.map +0 -1
  211. package/dist/scaffold/adoption.js +0 -279
  212. package/dist/scaffold/adoption.js.map +0 -1
  213. package/dist/scaffold/legacy.d.ts +0 -4
  214. package/dist/scaffold/legacy.d.ts.map +0 -1
  215. package/dist/scaffold/legacy.js +0 -139
  216. package/dist/scaffold/legacy.js.map +0 -1
  217. package/dist/scaffold/routes.d.ts +0 -3
  218. package/dist/scaffold/routes.d.ts.map +0 -1
  219. package/dist/scaffold/routes.js +0 -37
  220. package/dist/scaffold/routes.js.map +0 -1
  221. package/dist/scaffold/standalone.d.ts +0 -7
  222. package/dist/scaffold/standalone.d.ts.map +0 -1
  223. package/dist/scaffold/standalone.js +0 -374
  224. package/dist/scaffold/standalone.js.map +0 -1
  225. package/dist/scaffold/templates.d.ts +0 -9
  226. package/dist/scaffold/templates.d.ts.map +0 -1
  227. package/dist/scaffold/templates.js +0 -317
  228. package/dist/scaffold/templates.js.map +0 -1
  229. package/dist/scaffold/write.d.ts +0 -2
  230. package/dist/scaffold/write.d.ts.map +0 -1
  231. package/dist/scaffold/write.js +0 -38
  232. package/dist/scaffold/write.js.map +0 -1
  233. package/dist/telemetry/store.d.ts +0 -33
  234. package/dist/telemetry/store.d.ts.map +0 -1
  235. package/dist/telemetry/store.js +0 -75
  236. package/dist/telemetry/store.js.map +0 -1
  237. package/dist/template/servers.d.ts +0 -21
  238. package/dist/template/servers.d.ts.map +0 -1
  239. package/dist/template/servers.js +0 -193
  240. package/dist/template/servers.js.map +0 -1
  241. package/dist/template/workspace.d.ts +0 -23
  242. package/dist/template/workspace.d.ts.map +0 -1
  243. package/dist/template/workspace.js +0 -152
  244. package/dist/template/workspace.js.map +0 -1
  245. package/dist/verify/runner.d.ts +0 -16
  246. package/dist/verify/runner.d.ts.map +0 -1
  247. package/dist/verify/runner.js +0 -112
  248. package/dist/verify/runner.js.map +0 -1
  249. package/docs/agent-audit.md +0 -24
@@ -0,0 +1,115 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import pc from "picocolors";
4
+ import { auditHtmlA11y } from "../qa/a11y.js";
5
+ import { auditCssContracts } from "../qa/contract.js";
6
+ import { runLiveGeometryProbe } from "../qa/runner.js";
7
+ import { exists, findProjectRoot } from "../utils/fs.js";
8
+ export async function testCommand(options = {}) {
9
+ const cwd = options.cwd ?? process.cwd();
10
+ const projectRoot = (await findProjectRoot(cwd)) ?? cwd;
11
+ const testType = options.type ?? "all";
12
+ if (!["contract", "a11y", "probe", "all"].includes(testType)) {
13
+ throw new Error(`Invalid test type '${testType}'. Expected contract, a11y, probe, or all.`);
14
+ }
15
+ let hasFailures = false;
16
+ // 1. PostCSS Design Token Contract Audit
17
+ if (testType === "contract" || testType === "all") {
18
+ console.log(pc.cyan(`\n🎨 Running Mozole Design Token Contract Audit in ${projectRoot}...`));
19
+ const cssSources = [];
20
+ async function collectCss(dir) {
21
+ if (!(await exists(dir)))
22
+ return;
23
+ const entries = await fs.readdir(dir, { withFileTypes: true });
24
+ for (const e of entries) {
25
+ const full = path.join(dir, e.name);
26
+ if (e.isDirectory() && !["node_modules", ".git", "dist", "build"].includes(e.name)) {
27
+ await collectCss(full);
28
+ }
29
+ else if (e.isFile() && e.name.endsWith(".css")) {
30
+ const css = await fs.readFile(full, "utf8");
31
+ cssSources.push({ file: path.relative(projectRoot, full), css });
32
+ }
33
+ }
34
+ }
35
+ await collectCss(path.join(projectRoot, "src"));
36
+ if (cssSources.length === 0) {
37
+ console.log(pc.yellow(" ! No CSS files found in src/"));
38
+ }
39
+ else {
40
+ const result = auditCssContracts(cssSources);
41
+ for (const err of result.errors) {
42
+ hasFailures = true;
43
+ console.log(pc.red(` ✗ [ERROR] ${err.file}:${err.line} (${err.selector}): ${err.message}`));
44
+ console.log(pc.dim(` Rule: ${err.rule} | Value: ${err.value}`));
45
+ }
46
+ for (const warn of result.warnings) {
47
+ console.log(pc.yellow(` ! [WARN] ${warn.file}:${warn.line} (${warn.selector}): ${warn.message}`));
48
+ }
49
+ if (result.errors.length === 0) {
50
+ console.log(pc.green(` ✓ Design contracts verified across ${cssSources.length} CSS files.`));
51
+ if (result.warnings.length > 0) {
52
+ console.log(pc.yellow(` (${result.warnings.length} diagnostic warnings)`));
53
+ }
54
+ }
55
+ }
56
+ }
57
+ // 2. Static HTML & Accessibility Audit
58
+ if (testType === "a11y" || testType === "all") {
59
+ console.log(pc.cyan(`\n♿ Running Static A11y & Landmark Hierarchy Audit in ${projectRoot}...`));
60
+ const htmlSources = [];
61
+ async function collectHtml(dir) {
62
+ if (!(await exists(dir)))
63
+ return;
64
+ for (const entry of await fs.readdir(dir, { withFileTypes: true })) {
65
+ const full = path.join(dir, entry.name);
66
+ if (entry.isDirectory())
67
+ await collectHtml(full);
68
+ else if (entry.isFile() &&
69
+ entry.name.endsWith(".html") &&
70
+ entry.name !== "__spa-fallback.html") {
71
+ htmlSources.push({
72
+ file: path.relative(projectRoot, full),
73
+ html: await fs.readFile(full, "utf8"),
74
+ });
75
+ }
76
+ }
77
+ }
78
+ await collectHtml(path.join(projectRoot, "build", "client"));
79
+ if (htmlSources.length === 0)
80
+ await collectHtml(path.join(projectRoot, "dist"));
81
+ const indexHtmlPath = path.join(projectRoot, "index.html");
82
+ if (htmlSources.length === 0 && (await exists(indexHtmlPath))) {
83
+ const html = await fs.readFile(indexHtmlPath, "utf8");
84
+ htmlSources.push({ file: "index.html", html });
85
+ }
86
+ if (htmlSources.length === 0) {
87
+ console.log(pc.yellow(" ! No HTML available for accessibility audit. Build the project first."));
88
+ }
89
+ else {
90
+ const result = auditHtmlA11y(htmlSources);
91
+ for (const err of result.errors) {
92
+ hasFailures = true;
93
+ console.log(pc.red(` ✗ [ERROR] ${err.file}:${err.line} (${err.element}): ${err.message}`));
94
+ }
95
+ for (const warn of result.warnings) {
96
+ console.log(pc.yellow(` ! [WARN] ${warn.file}:${warn.line} (${warn.element}): ${warn.message}`));
97
+ }
98
+ if (result.errors.length === 0) {
99
+ console.log(pc.green(" ✓ Accessibility landmark hierarchy passed."));
100
+ }
101
+ }
102
+ }
103
+ // 3. Live Headless DOM Geometry & Trace Probe (Separate command per policy)
104
+ if (testType === "probe") {
105
+ const probeRes = await runLiveGeometryProbe({ cwd: projectRoot });
106
+ if (!probeRes.success) {
107
+ hasFailures = true;
108
+ }
109
+ }
110
+ console.log();
111
+ if (hasFailures) {
112
+ throw new Error("Mozole quality test suite detected contract or accessibility violations.");
113
+ }
114
+ }
115
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,2 @@
1
- import type { Output } from "../output.js";
2
- import { type ManagedServer } from "../template/servers.js";
3
- type TerminalInput = NodeJS.ReadableStream & {
4
- isTTY?: boolean;
5
- setRawMode?: (enabled: boolean) => void;
6
- pause?: () => void;
7
- resume?: () => void;
8
- };
9
- type TerminalOutput = NodeJS.WritableStream & {
10
- columns?: number;
11
- rows?: number;
12
- isTTY?: boolean;
13
- };
14
- export interface UiFrameState {
15
- cwd: string;
16
- selected: number;
17
- busy?: string | undefined;
18
- progress?: {
19
- current: number;
20
- total: number;
21
- percent: number;
22
- message: string;
23
- elapsedMs: number;
24
- } | undefined;
25
- lastResult?: string | undefined;
26
- log: string[];
27
- }
28
- export declare function uiMenuText(): string;
29
- export declare function uiDashboardFrame(state: UiFrameState, dimensions: {
30
- columns: number;
31
- rows: number;
32
- }, color?: boolean): string;
33
- export declare function uiServerManagerFrame(root: string, servers: ManagedServer[], selected: number, dimensions: {
34
- columns: number;
35
- rows: number;
36
- }, color?: boolean, message?: string): string;
37
- export declare function uiCommand(cwd: string, output?: Output, streams?: {
38
- input?: TerminalInput;
39
- output?: TerminalOutput;
40
- interactive?: boolean;
41
- }): Promise<number>;
42
- export {};
1
+ export declare function uiCommand(): Promise<void>;
43
2
  //# sourceMappingURL=ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAYhC,KAAK,aAAa,GAAG,MAAM,CAAC,cAAc,GAAG;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EACL;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,GACD,SAAS,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAqJD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,UAAO,GACX,MAAM,CA+FR;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7C,KAAK,UAAO,EACZ,OAAO,SAAK,GACX,MAAM,CAuDR;AAqCD,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CAClB,GACL,OAAO,CAAC,MAAM,CAAC,CA6PjB"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"AAUA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmF/C"}