@mozole/cli 1.4.2 → 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 (229) hide show
  1. package/LICENSE +16 -4
  2. package/README.md +85 -89
  3. package/dist/cli.d.ts +2 -2
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +204 -157
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/adopt.d.ts +5 -8
  8. package/dist/commands/adopt.d.ts.map +1 -1
  9. package/dist/commands/adopt.js +49 -812
  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 -149
  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 -37
  36. package/dist/commands/ui.d.ts.map +1 -1
  37. package/dist/commands/ui.js +75 -317
  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 -32
  64. package/dist/qa/runner.d.ts.map +1 -1
  65. package/dist/qa/runner.js +286 -336
  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 -30
  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 -39
  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/config/project.d.ts +0 -51
  150. package/dist/config/project.d.ts.map +0 -1
  151. package/dist/config/project.js +0 -81
  152. package/dist/config/project.js.map +0 -1
  153. package/dist/context/cce.d.ts +0 -39
  154. package/dist/context/cce.d.ts.map +0 -1
  155. package/dist/context/cce.js +0 -455
  156. package/dist/context/cce.js.map +0 -1
  157. package/dist/governor/fingerprint.d.ts +0 -7
  158. package/dist/governor/fingerprint.d.ts.map +0 -1
  159. package/dist/governor/fingerprint.js +0 -129
  160. package/dist/governor/fingerprint.js.map +0 -1
  161. package/dist/governor/hook.d.ts +0 -13
  162. package/dist/governor/hook.d.ts.map +0 -1
  163. package/dist/governor/hook.js +0 -389
  164. package/dist/governor/hook.js.map +0 -1
  165. package/dist/governor/state.d.ts +0 -45
  166. package/dist/governor/state.d.ts.map +0 -1
  167. package/dist/governor/state.js +0 -60
  168. package/dist/governor/state.js.map +0 -1
  169. package/dist/integrations/antigravity.d.ts +0 -20
  170. package/dist/integrations/antigravity.d.ts.map +0 -1
  171. package/dist/integrations/antigravity.js +0 -153
  172. package/dist/integrations/antigravity.js.map +0 -1
  173. package/dist/output.d.ts +0 -5
  174. package/dist/output.d.ts.map +0 -1
  175. package/dist/output.js +0 -2
  176. package/dist/output.js.map +0 -1
  177. package/dist/platform/executable.d.ts +0 -11
  178. package/dist/platform/executable.d.ts.map +0 -1
  179. package/dist/platform/executable.js +0 -69
  180. package/dist/platform/executable.js.map +0 -1
  181. package/dist/platform/process.d.ts +0 -25
  182. package/dist/platform/process.d.ts.map +0 -1
  183. package/dist/platform/process.js +0 -179
  184. package/dist/platform/process.js.map +0 -1
  185. package/dist/progress.d.ts +0 -44
  186. package/dist/progress.d.ts.map +0 -1
  187. package/dist/progress.js +0 -123
  188. package/dist/progress.js.map +0 -1
  189. package/dist/qa/diff.d.ts +0 -10
  190. package/dist/qa/diff.d.ts.map +0 -1
  191. package/dist/qa/diff.js +0 -91
  192. package/dist/qa/diff.js.map +0 -1
  193. package/dist/qa/server.d.ts +0 -10
  194. package/dist/qa/server.d.ts.map +0 -1
  195. package/dist/qa/server.js +0 -127
  196. package/dist/qa/server.js.map +0 -1
  197. package/dist/scaffold/adoption.d.ts +0 -17
  198. package/dist/scaffold/adoption.d.ts.map +0 -1
  199. package/dist/scaffold/adoption.js +0 -279
  200. package/dist/scaffold/adoption.js.map +0 -1
  201. package/dist/scaffold/legacy.d.ts +0 -4
  202. package/dist/scaffold/legacy.d.ts.map +0 -1
  203. package/dist/scaffold/legacy.js +0 -139
  204. package/dist/scaffold/legacy.js.map +0 -1
  205. package/dist/scaffold/routes.d.ts +0 -3
  206. package/dist/scaffold/routes.d.ts.map +0 -1
  207. package/dist/scaffold/routes.js +0 -37
  208. package/dist/scaffold/routes.js.map +0 -1
  209. package/dist/scaffold/standalone.d.ts +0 -7
  210. package/dist/scaffold/standalone.d.ts.map +0 -1
  211. package/dist/scaffold/standalone.js +0 -294
  212. package/dist/scaffold/standalone.js.map +0 -1
  213. package/dist/scaffold/templates.d.ts +0 -8
  214. package/dist/scaffold/templates.d.ts.map +0 -1
  215. package/dist/scaffold/templates.js +0 -312
  216. package/dist/scaffold/templates.js.map +0 -1
  217. package/dist/scaffold/write.d.ts +0 -2
  218. package/dist/scaffold/write.d.ts.map +0 -1
  219. package/dist/scaffold/write.js +0 -38
  220. package/dist/scaffold/write.js.map +0 -1
  221. package/dist/telemetry/store.d.ts +0 -33
  222. package/dist/telemetry/store.d.ts.map +0 -1
  223. package/dist/telemetry/store.js +0 -75
  224. package/dist/telemetry/store.js.map +0 -1
  225. package/dist/verify/runner.d.ts +0 -15
  226. package/dist/verify/runner.d.ts.map +0 -1
  227. package/dist/verify/runner.js +0 -112
  228. package/dist/verify/runner.js.map +0 -1
  229. package/docs/agent-audit.md +0 -24
@@ -1,38 +1,2 @@
1
- import type { Output } from "../output.js";
2
- type TerminalInput = NodeJS.ReadableStream & {
3
- isTTY?: boolean;
4
- setRawMode?: (enabled: boolean) => void;
5
- pause?: () => void;
6
- resume?: () => void;
7
- };
8
- type TerminalOutput = NodeJS.WritableStream & {
9
- columns?: number;
10
- rows?: number;
11
- isTTY?: boolean;
12
- };
13
- export interface UiFrameState {
14
- cwd: string;
15
- selected: number;
16
- busy?: string | undefined;
17
- progress?: {
18
- current: number;
19
- total: number;
20
- percent: number;
21
- message: string;
22
- elapsedMs: number;
23
- } | undefined;
24
- lastResult?: string | undefined;
25
- log: string[];
26
- }
27
- export declare function uiMenuText(): string;
28
- export declare function uiDashboardFrame(state: UiFrameState, dimensions: {
29
- columns: number;
30
- rows: number;
31
- }, color?: boolean): string;
32
- export declare function uiCommand(cwd: string, output?: Output, streams?: {
33
- input?: TerminalInput;
34
- output?: TerminalOutput;
35
- interactive?: boolean;
36
- }): Promise<number>;
37
- export {};
1
+ export declare function uiCommand(): Promise<void>;
38
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;AAW3C,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;AAyID,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,CAuFR;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,CAsIjB"}
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"}
@@ -1,331 +1,89 @@
1
+ import fs from "node:fs/promises";
1
2
  import path from "node:path";
2
- import { stdin, stdout } from "node:process";
3
- import { createInterface } from "node:readline/promises";
4
- import { renderProgressBar } from "../progress.js";
3
+ import pc from "picocolors";
4
+ import prompts from "prompts";
5
+ import { exists, findProjectRoot, findPrototypeRoot } from "../utils/fs.js";
5
6
  import { CLI_VERSION } from "../version.js";
6
- import { adoptCommand } from "./adopt.js";
7
- import { cceInstallCommand } from "./cce.js";
8
7
  import { doctorCommand } from "./doctor.js";
9
- import { newCommand } from "./new.js";
10
- import { qaCommand } from "./qa.js";
11
- import { statsCommand } from "./stats.js";
8
+ import { getProjectPhaseStatus, phaseCommand } from "./phase.js";
12
9
  import { verifyCommand } from "./verify.js";
13
- const actions = [
14
- {
15
- label: "Doctor",
16
- detail: "Inspect project, toolchain & AI runtime health",
17
- key: "1",
18
- kind: "command",
19
- run: (cwd, output, opts) => doctorCommand(cwd, output, opts),
20
- },
21
- {
22
- label: "Verify",
23
- detail: "Run strict lint, typecheck, tests & build",
24
- key: "2",
25
- kind: "command",
26
- run: (cwd, output, opts) => verifyCommand(cwd, output, opts),
27
- },
28
- {
29
- label: "QA",
30
- detail: "Run deterministic, screenshot-free browser probes",
31
- key: "3",
32
- kind: "command",
33
- run: (cwd, output, opts) => qaCommand(cwd, {
34
- interactive: false,
35
- visual: false,
36
- onProgress: opts?.onProgress,
37
- }, output),
38
- },
39
- {
40
- label: "Stats",
41
- detail: "Inspect token savings & verification cache telemetry",
42
- key: "4",
43
- kind: "command",
44
- run: (cwd, output, opts) => statsCommand(cwd, output, opts),
45
- },
46
- {
47
- label: "Install CCE",
48
- detail: "Provision persistent uv & code-context-engine runtime",
49
- key: "5",
50
- kind: "install",
51
- },
52
- {
53
- label: "New project",
54
- detail: "Scaffold a static-first production-ready application",
55
- key: "6",
56
- kind: "create",
57
- },
58
- {
59
- label: "Adopt project",
60
- detail: "Integrate Mozole toolchain into an existing app",
61
- key: "7",
62
- kind: "adopt",
63
- },
64
- {
65
- label: "Exit",
66
- detail: "Return to your shell",
67
- key: "8",
68
- kind: "exit",
69
- },
70
- ];
71
- const ansi = {
72
- alternateEnter: "\u001B[?1049h",
73
- alternateExit: "\u001B[?1049l",
74
- clear: "\u001B[2J\u001B[H",
75
- cursorHide: "\u001B[?25l",
76
- cursorShow: "\u001B[?25h",
77
- reset: "\u001B[0m",
78
- };
79
- const ansiSequence = new RegExp(`${String.fromCharCode(27)}\\[[0-?]*[ -/]*[@-~]`, "g");
80
- function paint(value, code, color) {
81
- return color ? `\u001B[${code}m${value}${ansi.reset}` : value;
82
- }
83
- function clamp(value, width) {
84
- if (width < 2)
85
- return "";
86
- const plain = value.replace(ansiSequence, "");
87
- return plain.length <= width
88
- ? `${value}${" ".repeat(width - plain.length)}`
89
- : `${plain.slice(0, Math.max(0, width - 1))}…`;
90
- }
91
- function box(lines, width, color, sectionTitle) {
92
- const inner = Math.max(10, width - 2);
93
- let topBorder = "─".repeat(inner);
94
- if (sectionTitle) {
95
- const titleText = ` ${sectionTitle} `;
96
- if (titleText.length < inner - 4) {
97
- topBorder = `──${titleText}${"─".repeat(inner - 2 - titleText.length)}`;
98
- }
99
- }
100
- const top = `${paint("╭", 90, color)}${paint(topBorder, 90, color)}${paint("╮", 90, color)}`;
101
- const bottom = `${paint("╰", 90, color)}${paint("─".repeat(inner), 90, color)}${paint("╯", 90, color)}`;
102
- return [
103
- top,
104
- ...lines.map((line) => `${paint("│", 90, color)} ${clamp(line, inner - 2)} ${paint("│", 90, color)}`),
105
- bottom,
106
- ];
107
- }
108
- export function uiMenuText() {
109
- return actions.map((action) => `${action.key} ${action.label}`).join("\n");
110
- }
111
- export function uiDashboardFrame(state, dimensions, color = true) {
112
- const width = Math.max(54, Math.min(100, dimensions.columns - 2));
113
- const height = Math.max(20, dimensions.rows);
114
- const title = paint("Mozole-cli", 96, color);
115
- const version = paint(`v${CLI_VERSION}`, 90, color);
116
- const subtitle = paint("COMMAND DECK", 95, color);
117
- const copyright = paint("© MozoleStudio", 90, color);
118
- const projectLabel = paint("PROJECT", 36, color);
119
- const projectName = paint(path.basename(state.cwd) || state.cwd, 97, color);
120
- const header = [
121
- ` ${paint("◆", 96, color)} ${title} ${version} ${paint("│", 90, color)} ${subtitle} ${paint("│", 90, color)} ${copyright}`,
122
- ` ${projectLabel} ${projectName}`,
123
- ];
124
- const actionLines = actions.map((action, index) => {
125
- const active = state.selected === index;
126
- const marker = active ? paint("❯", 96, color) : paint("·", 90, color);
127
- const key = paint(`[${action.key}]`, active ? 97 : 36, color);
128
- const label = paint(action.label.padEnd(14), active ? 97 : 37, color);
129
- const detail = paint(action.detail, active ? 96 : 90, color);
130
- return `${marker} ${key} ${label} ${detail}`;
131
- });
132
- let statusBadge = paint("● READY Select an operation", 92, color);
133
- let progressLine;
134
- if (state.busy) {
135
- statusBadge = paint(`⟳ RUNNING ${state.busy}`, 93, color);
136
- if (state.progress) {
137
- const bar = renderProgressBar(state.progress.current / state.progress.total, 14);
138
- const stepInfo = paint(`[${state.progress.current}/${state.progress.total}]`, 97, color);
139
- const msg = paint(state.progress.message, 90, color);
140
- progressLine = ` ${paint(bar, 36, color)} ${stepInfo} ${msg}`;
141
- }
142
- }
143
- else if (state.lastResult) {
144
- if (state.lastResult.includes("COMPLETE")) {
145
- statusBadge = paint(`✓ ${state.lastResult}`, 92, color);
146
- }
147
- else if (state.lastResult.includes("FAILED")) {
148
- statusBadge = paint(`✗ ${state.lastResult}`, 91, color);
149
- }
150
- else {
151
- statusBadge = paint(state.lastResult, 97, color);
10
+ export async function uiCommand() {
11
+ const cwd = process.cwd();
12
+ console.clear();
13
+ console.log(pc.bold(pc.cyan(`\n⚡ MOZOLE STUDIO COCKPIT (v${CLI_VERSION})`)));
14
+ console.log(pc.dim("Mozole Studio Development & Verification Cockpit\n"));
15
+ const protoRoot = await findPrototypeRoot(cwd);
16
+ let projectRoot = await findProjectRoot(cwd);
17
+ if (projectRoot === protoRoot)
18
+ projectRoot = null;
19
+ let activeProject = projectRoot ? path.basename(projectRoot) : null;
20
+ let currentPhase = "00";
21
+ if (projectRoot) {
22
+ try {
23
+ const status = await getProjectPhaseStatus(projectRoot);
24
+ currentPhase = status.currentPhase;
152
25
  }
26
+ catch { }
153
27
  }
154
- const activity = state.log.length
155
- ? state.log.slice(-4).map((l) => paint(` ${l}`, 90, color))
156
- : [paint(" No operation has run in this session.", 90, color)];
157
- const frame = [
158
- "",
159
- ...header,
160
- "",
161
- ...box(actionLines, width, color, "OPERATIONS"),
162
- "",
163
- ...box([
164
- ` ${statusBadge}`,
165
- ...(progressLine ? ["", progressLine] : []),
166
- "",
167
- ...activity,
168
- ], width, color, "STATUS & ACTIVITY"),
169
- "",
170
- paint(" ↑↓ / j k navigate enter run 1–8 jump r redraw q exit", 90, color),
171
- paint(" Normal QA is deterministic and screenshot-free. Visual QA remains explicit. · © MozoleStudio", 90, color),
172
- ];
173
- const padding = Math.max(0, height - frame.length - 1);
174
- return `${ansi.clear}${frame.join("\n")}${"\n".repeat(padding)}`;
175
- }
176
- function hasColor(output) {
177
- return (Boolean(output.isTTY) &&
178
- !process.env.NO_COLOR &&
179
- process.env.TERM !== "dumb");
180
- }
181
- function prompt(input, output, question) {
182
- const readline = createInterface({ input, output });
183
- return readline
184
- .question(question)
185
- .then((answer) => answer.trim())
186
- .catch(() => undefined)
187
- .finally(() => readline.close());
188
- }
189
- function waitForKey(input) {
190
- return new Promise((resolve) => {
191
- input.once("data", (chunk) => resolve(String(chunk)));
192
- });
193
- }
194
- function statusLine(message) {
195
- return String(message)
196
- .split(/\r?\n/)
197
- .map((line) => line.trim())
198
- .filter(Boolean)
199
- .slice(-5);
200
- }
201
- export async function uiCommand(cwd, output = console, streams = {}) {
202
- const input = streams.input ?? stdin;
203
- const terminalOutput = streams.output ?? stdout;
204
- const interactive = streams.interactive ?? Boolean(input.isTTY && terminalOutput.isTTY);
205
- if (!interactive || !input.setRawMode) {
206
- output.error("UI requires an interactive terminal with ANSI support. Use `mozole doctor`, `mozole verify`, `mozole qa`, or `mozole stats` in CI.");
207
- return 2;
208
- }
209
- const state = { cwd, selected: 0, log: [] };
210
- const color = hasColor(terminalOutput);
211
- let entered = false;
212
- const render = () => terminalOutput.write(uiDashboardFrame(state, {
213
- columns: terminalOutput.columns ?? 100,
214
- rows: terminalOutput.rows ?? 32,
215
- }, color));
216
- const enter = () => {
217
- if (entered)
218
- return;
219
- terminalOutput.write(`${ansi.alternateEnter}${ansi.cursorHide}`);
220
- input.setRawMode?.(true);
221
- input.resume?.();
222
- entered = true;
223
- render();
224
- };
225
- const leave = () => {
226
- if (!entered)
227
- return;
228
- input.setRawMode?.(false);
229
- input.pause?.();
230
- terminalOutput.write(`${ansi.cursorShow}${ansi.alternateExit}`);
231
- entered = false;
232
- };
233
- const resize = () => render();
234
- terminalOutput.on("resize", resize);
235
- const abort = () => leave();
236
- process.once("SIGINT", abort);
237
- process.once("SIGTERM", abort);
238
- const dashboardOutput = {
239
- log: (message) => {
240
- state.log = statusLine(message);
241
- },
242
- error: (message) => {
243
- state.log = statusLine(message);
244
- },
245
- };
246
- async function runExternal(action) {
247
- leave();
248
- try {
249
- if (action.kind === "install") {
250
- const code = await cceInstallCommand(cwd, console);
251
- state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
252
- }
253
- else {
254
- const question = action.kind === "create"
255
- ? "New project name: "
256
- : "Project path to adopt: ";
257
- const value = await prompt(input, terminalOutput, question);
258
- if (!value) {
259
- state.lastResult = `${action.label} CANCELLED`;
260
- return;
28
+ else if (protoRoot) {
29
+ // List available projects in prototype root
30
+ const projectsDir = path.join(protoRoot, "projects");
31
+ if (await exists(projectsDir)) {
32
+ const entries = await fs.readdir(projectsDir, { withFileTypes: true });
33
+ const projects = entries.filter((e) => e.isDirectory()).map((e) => e.name);
34
+ if (projects.length > 0) {
35
+ const choice = await prompts({
36
+ type: "select",
37
+ name: "project",
38
+ message: "Select an active client project:",
39
+ choices: projects.map((p) => ({ title: p, value: p })),
40
+ });
41
+ if (choice.project) {
42
+ activeProject = choice.project;
43
+ const chosenRoot = path.join(projectsDir, choice.project);
44
+ projectRoot = chosenRoot;
45
+ try {
46
+ const status = await getProjectPhaseStatus(chosenRoot);
47
+ currentPhase = status.currentPhase;
48
+ }
49
+ catch { }
261
50
  }
262
- const code = action.kind === "create"
263
- ? await newCommand(value, cwd, console)
264
- : await adoptCommand(value, cwd, console);
265
- state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
266
51
  }
267
- await prompt(input, terminalOutput, "\nPress Enter to return to Mozole…");
268
- }
269
- finally {
270
- enter();
271
52
  }
272
53
  }
273
- try {
274
- enter();
275
- while (true) {
276
- const key = await waitForKey(input);
277
- if (key === "\u0003")
278
- return 130;
279
- if (key === "q" || key === "Q" || key === "\u001B")
280
- return 0;
281
- if (key === "\u001B[A" || key === "k") {
282
- state.selected = (state.selected + actions.length - 1) % actions.length;
283
- render();
284
- continue;
285
- }
286
- if (key === "\u001B[B" || key === "j") {
287
- state.selected = (state.selected + 1) % actions.length;
288
- render();
289
- continue;
290
- }
291
- if (key === "r") {
292
- render();
293
- continue;
294
- }
295
- const direct = actions.findIndex((action) => action.key === key);
296
- if (direct >= 0)
297
- state.selected = direct;
298
- if (key !== "\r" && key !== "\n" && direct < 0)
299
- continue;
300
- const action = actions[state.selected];
301
- if (!action)
302
- continue;
303
- if (action.kind === "exit")
304
- return 0;
305
- if (action.kind !== "command") {
306
- await runExternal(action);
307
- continue;
308
- }
309
- state.busy = action.label;
310
- delete state.progress;
311
- render();
312
- const code = await action.run?.(cwd, dashboardOutput, {
313
- onProgress: (prog) => {
314
- state.progress = prog;
315
- render();
316
- },
317
- });
318
- delete state.busy;
319
- delete state.progress;
320
- state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
321
- render();
322
- }
54
+ if (activeProject) {
55
+ console.log(`Active Project: ${pc.bold(pc.green(activeProject))} | Current Phase: ${pc.bold(pc.yellow(`Phase ${currentPhase}`))}\n`);
56
+ }
57
+ const { action } = await prompts({
58
+ type: "select",
59
+ name: "action",
60
+ message: "Select an operation:",
61
+ choices: [
62
+ { title: "📋 View Phase Status & Checklist", value: "phase-status" },
63
+ { title: "🚀 Advance to Next Phase", value: "phase-next" },
64
+ { title: "🛡️ Run Full Verification (verify)", value: "verify" },
65
+ { title: "🩺 Run System Doctor Diagnostics", value: "doctor" },
66
+ { title: "🚪 Exit", value: "exit" },
67
+ ],
68
+ });
69
+ if (!action || action === "exit") {
70
+ console.log(pc.gray("\nGoodbye.\n"));
71
+ return;
323
72
  }
324
- finally {
325
- leave();
326
- terminalOutput.off("resize", resize);
327
- process.removeListener("SIGINT", abort);
328
- process.removeListener("SIGTERM", abort);
73
+ switch (action) {
74
+ case "phase-status":
75
+ await phaseCommand({ action: "status", cwd: projectRoot ?? cwd });
76
+ break;
77
+ case "phase-next":
78
+ await phaseCommand({ action: "next", cwd: projectRoot ?? cwd });
79
+ break;
80
+ case "verify":
81
+ if (!(await verifyCommand({ cwd: projectRoot ?? cwd })))
82
+ process.exitCode = 1;
83
+ break;
84
+ case "doctor":
85
+ await doctorCommand();
86
+ break;
329
87
  }
330
88
  }
331
89
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
- import type { Output } from "../output.js";
2
- import { type ProgressState } from "../progress.js";
3
- export declare function verifyCommand(cwd: string, output?: Output, options?: {
4
- force?: boolean | undefined;
5
- verbose?: boolean | undefined;
6
- onProgress?: ((state: ProgressState) => void) | undefined;
7
- }): Promise<number>;
1
+ export interface VerifyOptions {
2
+ cwd?: string;
3
+ skipBuild?: boolean;
4
+ withProbe?: boolean;
5
+ }
6
+ export interface VerificationStage {
7
+ name: string;
8
+ success: boolean;
9
+ message?: string;
10
+ evidence?: string;
11
+ }
12
+ export declare function verifyCommand(options?: VerifyOptions): Promise<boolean>;
8
13
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAIlE,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtD,GACL,OAAO,CAAC,MAAM,CAAC,CA2EjB"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuKjF"}