@mozole/cli 1.4.3 → 2.0.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 (253) hide show
  1. package/LICENSE +16 -4
  2. package/README.md +85 -112
  3. package/dist/cli.d.ts +3 -2
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +231 -181
  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 +6 -41
  36. package/dist/commands/ui.d.ts.map +1 -1
  37. package/dist/commands/ui.js +132 -459
  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 +180 -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/ui/CockpitApp.d.ts +13 -0
  108. package/dist/ui/CockpitApp.d.ts.map +1 -0
  109. package/dist/ui/CockpitApp.js +292 -0
  110. package/dist/ui/CockpitApp.js.map +1 -0
  111. package/dist/utils/ai-trace.d.ts +8 -0
  112. package/dist/utils/ai-trace.d.ts.map +1 -0
  113. package/dist/utils/ai-trace.js +69 -0
  114. package/dist/utils/ai-trace.js.map +1 -0
  115. package/dist/utils/browser.d.ts +10 -0
  116. package/dist/utils/browser.d.ts.map +1 -0
  117. package/dist/utils/browser.js +127 -0
  118. package/dist/utils/browser.js.map +1 -0
  119. package/dist/utils/fs.d.ts +18 -0
  120. package/dist/utils/fs.d.ts.map +1 -0
  121. package/dist/utils/fs.js +296 -0
  122. package/dist/utils/fs.js.map +1 -0
  123. package/dist/utils/git.d.ts +9 -0
  124. package/dist/utils/git.d.ts.map +1 -0
  125. package/dist/utils/git.js +69 -0
  126. package/dist/utils/git.js.map +1 -0
  127. package/dist/utils/process.d.ts +21 -0
  128. package/dist/utils/process.d.ts.map +1 -0
  129. package/dist/utils/process.js +120 -0
  130. package/dist/utils/process.js.map +1 -0
  131. package/dist/version.d.ts +21 -36
  132. package/dist/version.d.ts.map +1 -1
  133. package/dist/version.js +21 -44
  134. package/dist/version.js.map +1 -1
  135. package/package.json +22 -38
  136. package/CHANGELOG.md +0 -38
  137. package/dist/commands/cce.d.ts +0 -7
  138. package/dist/commands/cce.d.ts.map +0 -1
  139. package/dist/commands/cce.js +0 -37
  140. package/dist/commands/cce.js.map +0 -1
  141. package/dist/commands/logs.d.ts +0 -3
  142. package/dist/commands/logs.d.ts.map +0 -1
  143. package/dist/commands/logs.js +0 -40
  144. package/dist/commands/logs.js.map +0 -1
  145. package/dist/commands/qa.d.ts +0 -12
  146. package/dist/commands/qa.d.ts.map +0 -1
  147. package/dist/commands/qa.js +0 -143
  148. package/dist/commands/qa.js.map +0 -1
  149. package/dist/commands/stats.d.ts +0 -37
  150. package/dist/commands/stats.d.ts.map +0 -1
  151. package/dist/commands/stats.js +0 -169
  152. package/dist/commands/stats.js.map +0 -1
  153. package/dist/commands/template.d.ts +0 -8
  154. package/dist/commands/template.d.ts.map +0 -1
  155. package/dist/commands/template.js +0 -392
  156. package/dist/commands/template.js.map +0 -1
  157. package/dist/config/project.d.ts +0 -54
  158. package/dist/config/project.d.ts.map +0 -1
  159. package/dist/config/project.js +0 -100
  160. package/dist/config/project.js.map +0 -1
  161. package/dist/context/cce.d.ts +0 -39
  162. package/dist/context/cce.d.ts.map +0 -1
  163. package/dist/context/cce.js +0 -455
  164. package/dist/context/cce.js.map +0 -1
  165. package/dist/governor/fingerprint.d.ts +0 -7
  166. package/dist/governor/fingerprint.d.ts.map +0 -1
  167. package/dist/governor/fingerprint.js +0 -120
  168. package/dist/governor/fingerprint.js.map +0 -1
  169. package/dist/governor/hook.d.ts +0 -13
  170. package/dist/governor/hook.d.ts.map +0 -1
  171. package/dist/governor/hook.js +0 -389
  172. package/dist/governor/hook.js.map +0 -1
  173. package/dist/governor/state.d.ts +0 -45
  174. package/dist/governor/state.d.ts.map +0 -1
  175. package/dist/governor/state.js +0 -60
  176. package/dist/governor/state.js.map +0 -1
  177. package/dist/integrations/antigravity.d.ts +0 -20
  178. package/dist/integrations/antigravity.d.ts.map +0 -1
  179. package/dist/integrations/antigravity.js +0 -153
  180. package/dist/integrations/antigravity.js.map +0 -1
  181. package/dist/output-safety.d.ts +0 -3
  182. package/dist/output-safety.d.ts.map +0 -1
  183. package/dist/output-safety.js +0 -44
  184. package/dist/output-safety.js.map +0 -1
  185. package/dist/output.d.ts +0 -5
  186. package/dist/output.d.ts.map +0 -1
  187. package/dist/output.js +0 -2
  188. package/dist/output.js.map +0 -1
  189. package/dist/platform/executable.d.ts +0 -11
  190. package/dist/platform/executable.d.ts.map +0 -1
  191. package/dist/platform/executable.js +0 -69
  192. package/dist/platform/executable.js.map +0 -1
  193. package/dist/platform/process.d.ts +0 -27
  194. package/dist/platform/process.d.ts.map +0 -1
  195. package/dist/platform/process.js +0 -189
  196. package/dist/platform/process.js.map +0 -1
  197. package/dist/progress.d.ts +0 -44
  198. package/dist/progress.d.ts.map +0 -1
  199. package/dist/progress.js +0 -123
  200. package/dist/progress.js.map +0 -1
  201. package/dist/qa/artifacts.d.ts +0 -3
  202. package/dist/qa/artifacts.d.ts.map +0 -1
  203. package/dist/qa/artifacts.js +0 -15
  204. package/dist/qa/artifacts.js.map +0 -1
  205. package/dist/qa/diff.d.ts +0 -10
  206. package/dist/qa/diff.d.ts.map +0 -1
  207. package/dist/qa/diff.js +0 -90
  208. package/dist/qa/diff.js.map +0 -1
  209. package/dist/qa/server.d.ts +0 -10
  210. package/dist/qa/server.d.ts.map +0 -1
  211. package/dist/qa/server.js +0 -127
  212. package/dist/qa/server.js.map +0 -1
  213. package/dist/scaffold/adoption.d.ts +0 -17
  214. package/dist/scaffold/adoption.d.ts.map +0 -1
  215. package/dist/scaffold/adoption.js +0 -279
  216. package/dist/scaffold/adoption.js.map +0 -1
  217. package/dist/scaffold/legacy.d.ts +0 -4
  218. package/dist/scaffold/legacy.d.ts.map +0 -1
  219. package/dist/scaffold/legacy.js +0 -139
  220. package/dist/scaffold/legacy.js.map +0 -1
  221. package/dist/scaffold/routes.d.ts +0 -3
  222. package/dist/scaffold/routes.d.ts.map +0 -1
  223. package/dist/scaffold/routes.js +0 -37
  224. package/dist/scaffold/routes.js.map +0 -1
  225. package/dist/scaffold/standalone.d.ts +0 -7
  226. package/dist/scaffold/standalone.d.ts.map +0 -1
  227. package/dist/scaffold/standalone.js +0 -374
  228. package/dist/scaffold/standalone.js.map +0 -1
  229. package/dist/scaffold/templates.d.ts +0 -9
  230. package/dist/scaffold/templates.d.ts.map +0 -1
  231. package/dist/scaffold/templates.js +0 -317
  232. package/dist/scaffold/templates.js.map +0 -1
  233. package/dist/scaffold/write.d.ts +0 -2
  234. package/dist/scaffold/write.d.ts.map +0 -1
  235. package/dist/scaffold/write.js +0 -38
  236. package/dist/scaffold/write.js.map +0 -1
  237. package/dist/telemetry/store.d.ts +0 -33
  238. package/dist/telemetry/store.d.ts.map +0 -1
  239. package/dist/telemetry/store.js +0 -75
  240. package/dist/telemetry/store.js.map +0 -1
  241. package/dist/template/servers.d.ts +0 -21
  242. package/dist/template/servers.d.ts.map +0 -1
  243. package/dist/template/servers.js +0 -193
  244. package/dist/template/servers.js.map +0 -1
  245. package/dist/template/workspace.d.ts +0 -23
  246. package/dist/template/workspace.d.ts.map +0 -1
  247. package/dist/template/workspace.js +0 -152
  248. package/dist/template/workspace.js.map +0 -1
  249. package/dist/verify/runner.d.ts +0 -16
  250. package/dist/verify/runner.d.ts.map +0 -1
  251. package/dist/verify/runner.js +0 -112
  252. package/dist/verify/runner.js.map +0 -1
  253. package/docs/agent-audit.md +0 -24
@@ -1,143 +0,0 @@
1
- import { access, readdir } from "node:fs/promises";
2
- import path from "node:path";
3
- import { findProjectRoot, readConfig } from "../config/project.js";
4
- import { fileFingerprint, projectFingerprint, } from "../governor/fingerprint.js";
5
- import { qaStateKey, readGovernorState, writeGovernorState, } from "../governor/state.js";
6
- import { TaskProgress } from "../progress.js";
7
- import { runQa } from "../qa/runner.js";
8
- import { updateTelemetry } from "../telemetry/store.js";
9
- async function visualArtifactsCurrent(root, artifacts) {
10
- if (!artifacts?.length)
11
- return false;
12
- try {
13
- for (const artifact of artifacts) {
14
- const absolute = path.resolve(root, artifact.path);
15
- if (!absolute.startsWith(`${path.resolve(root)}${path.sep}`))
16
- return false;
17
- await access(absolute);
18
- if ((await fileFingerprint(absolute)) !== artifact.sha256)
19
- return false;
20
- }
21
- return true;
22
- }
23
- catch {
24
- return false;
25
- }
26
- }
27
- async function captureArtifactState(root) {
28
- const directory = path.join(root, ".mozole", "qa");
29
- const names = (await readdir(directory)).filter((name) => name.endsWith(".png") && !name.endsWith(".diff.png"));
30
- return Promise.all(names.sort().map(async (name) => ({
31
- path: path.posix.join(".mozole", "qa", name),
32
- sha256: await fileFingerprint(path.join(directory, name)),
33
- })));
34
- }
35
- export async function qaCommand(cwd, mode, output = console) {
36
- const progress = new TaskProgress({
37
- total: 3,
38
- title: mode.visual ? "Visual QA" : "QA",
39
- verbose: mode.verbose,
40
- output,
41
- onUpdate: mode.onProgress,
42
- });
43
- const controller = new AbortController();
44
- const abort = () => controller.abort();
45
- process.once("SIGINT", abort);
46
- process.once("SIGTERM", abort);
47
- try {
48
- progress.step("Preparing browser QA");
49
- const root = await findProjectRoot(cwd);
50
- const config = await readConfig(root);
51
- const key = qaStateKey(mode);
52
- const profile = mode.visual ? "visual" : "qa";
53
- const fingerprint = config.governor?.enabled
54
- ? await projectFingerprint(root, config, profile)
55
- : "";
56
- const normalFingerprint = config.governor?.enabled
57
- ? await projectFingerprint(root, config, "qa")
58
- : "";
59
- const state = config.governor?.enabled
60
- ? await readGovernorState(root)
61
- : undefined;
62
- const cached = state?.qa[key];
63
- const artifactsCurrent = mode.visual
64
- ? await visualArtifactsCurrent(root, cached?.artifacts)
65
- : true;
66
- if (config.governor?.enabled &&
67
- !mode.force &&
68
- !mode.diff &&
69
- cached?.fingerprint === fingerprint &&
70
- artifactsCurrent) {
71
- progress.done();
72
- const reused = mode.visual ? (cached.artifacts?.length ?? 0) : 0;
73
- const message = mode.visual
74
- ? `VISUAL QA CURRENT\n\nReused ${reused} screenshot artifacts.`
75
- : "QA CURRENT\n\nNo relevant changes since the last successful QA run.";
76
- output.log(message);
77
- if (config.telemetry?.enabled)
78
- await updateTelemetry(root, (telemetry) => {
79
- telemetry.qa.avoidedRuns++;
80
- telemetry.qa.browserLaunchesAvoided++;
81
- telemetry.qa.reusedVisualArtifacts += reused;
82
- telemetry.governor.modelFacingDiagnosticChars += message.length;
83
- });
84
- return 0;
85
- }
86
- // Visual QA hard gate: block unmotivated visual QA if routine QA already passed
87
- if (mode.visual && config.governor?.enabled && state) {
88
- const normalPassed = state.qa.normal?.fingerprint === normalFingerprint;
89
- const visualReason = mode.reason ??
90
- (process.env.MOZOLE_VISUAL_REASON ||
91
- (mode.force ? "force" : undefined));
92
- if (normalPassed && !visualReason) {
93
- progress.done();
94
- const message = 'VISUAL QA BLOCKED\n\nRoutine QA passed. Visual QA requires an explicit user request or a confirmed deterministic QA failure.\nRun routine `mozole qa` or pass --reason="<why>".';
95
- output.error(message);
96
- if (config.telemetry?.enabled) {
97
- await updateTelemetry(root, (telemetry) => {
98
- telemetry.governor.visualQaBlocked++;
99
- telemetry.governor.modelFacingDiagnosticChars += message.length;
100
- });
101
- }
102
- return 2;
103
- }
104
- }
105
- progress.step(`Running ${mode.visual ? "visual" : "browser"} QA probes across routes and viewports`);
106
- progress.logVerbose(`Routes: ${config.routes.join(", ")} | Viewports: ${config.qa.viewports.map((v) => `${v.width}x${v.height}`).join(", ")}`);
107
- const result = await runQa(root, config, mode, controller.signal);
108
- progress.done();
109
- (result.passed ? output.log : output.error)(result.output);
110
- if (state && result.passed) {
111
- const visualReason = mode.reason ?? process.env.MOZOLE_VISUAL_REASON;
112
- if (mode.visual && visualReason && config.telemetry?.enabled) {
113
- await updateTelemetry(root, (telemetry) => {
114
- telemetry.governor.justifiedEscalations++;
115
- });
116
- }
117
- state.qa[key] = {
118
- fingerprint: await projectFingerprint(root, config, profile),
119
- passedAt: new Date().toISOString(),
120
- routes: [...config.routes],
121
- viewports: config.qa.viewports.map((viewport) => `${viewport.width}x${viewport.height}`),
122
- ...(mode.visual ? { artifacts: await captureArtifactState(root) } : {}),
123
- ...(visualReason ? { reason: visualReason } : {}),
124
- };
125
- await writeGovernorState(root, state);
126
- }
127
- else if (state && cached?.fingerprint === fingerprint) {
128
- delete state.qa[key];
129
- await writeGovernorState(root, state);
130
- }
131
- return result.passed ? 0 : 1;
132
- }
133
- catch (error) {
134
- progress.done();
135
- output.error(`QA FAIL\n\n${error instanceof Error ? error.message : String(error)}\n\nIf Chromium is missing, run: npx playwright install chromium`);
136
- return controller.signal.aborted ? 130 : 2;
137
- }
138
- finally {
139
- process.removeListener("SIGINT", abort);
140
- process.removeListener("SIGTERM", abort);
141
- }
142
- }
143
- //# sourceMappingURL=qa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../../src/commands/qa.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import type { Output } from "../output.js";
2
- import { type ProgressState } from "../progress.js";
3
- interface CceSavings {
4
- queries: number;
5
- served_tokens: number;
6
- full_file_tokens: number;
7
- tokens_saved: number;
8
- savings_pct: number;
9
- buckets?: Record<string, {
10
- baseline?: number;
11
- served?: number;
12
- calls?: number;
13
- }>;
14
- }
15
- export interface CceRetrievalMetrics {
16
- queries: number;
17
- deliveredTokens: number;
18
- baselineTokens?: number;
19
- avoidedTokens?: number;
20
- reductionPct?: number;
21
- }
22
- export declare function parseCceSavings(output: string): CceSavings | undefined;
23
- export declare function cceRetrievalMetrics(savings: CceSavings): CceRetrievalMetrics;
24
- export declare function renderCceRetrieval(savings: CceSavings): string[];
25
- export declare function cceSavingsInvocation(cce: {
26
- command: string;
27
- prefix: string[];
28
- }): {
29
- command: string;
30
- args: string[];
31
- };
32
- export declare function statsCommand(cwd: string, output?: Output, options?: {
33
- verbose?: boolean | undefined;
34
- onProgress?: ((state: ProgressState) => void) | undefined;
35
- }): Promise<number>;
36
- export {};
37
- //# sourceMappingURL=stats.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAUlE,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CACd,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CACvD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA2BtE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,CAgC5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAShE;AACD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAEtC;AACD,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,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,CAqGjB"}
@@ -1,169 +0,0 @@
1
- import { findProjectRoot, readConfig } from "../config/project.js";
2
- import { cceCommand } from "../context/cce.js";
3
- import { run } from "../platform/process.js";
4
- import { TaskProgress } from "../progress.js";
5
- import { readTelemetry } from "../telemetry/store.js";
6
- function number(value) {
7
- return new Intl.NumberFormat("en-US", {
8
- notation: value >= 10_000 ? "compact" : "standard",
9
- maximumFractionDigits: 1,
10
- }).format(value);
11
- }
12
- export function parseCceSavings(output) {
13
- const start = output.indexOf("{");
14
- const end = output.lastIndexOf("}");
15
- if (start < 0 || end < start)
16
- return undefined;
17
- try {
18
- const value = JSON.parse(output.slice(start, end + 1));
19
- const fields = [
20
- value.queries,
21
- value.served_tokens,
22
- value.full_file_tokens,
23
- value.tokens_saved,
24
- value.savings_pct,
25
- ];
26
- if (!Number.isInteger(value.queries) ||
27
- !fields.every((item) => typeof item === "number" && Number.isFinite(item) && item >= 0))
28
- return undefined;
29
- return value;
30
- }
31
- catch {
32
- return undefined;
33
- }
34
- }
35
- export function cceRetrievalMetrics(savings) {
36
- const queries = Math.max(0, Math.trunc(savings.queries));
37
- if (queries === 0)
38
- return { queries: 0, deliveredTokens: 0, avoidedTokens: 0 };
39
- const deliveredTokens = Math.max(0, savings.served_tokens);
40
- const retrieval = savings.buckets?.retrieval;
41
- const baseline = retrieval?.baseline;
42
- const retrievalServed = retrieval?.served;
43
- const calls = retrieval?.calls;
44
- const validBaseline = typeof baseline === "number" &&
45
- Number.isFinite(baseline) &&
46
- baseline > 0 &&
47
- typeof retrievalServed === "number" &&
48
- Number.isFinite(retrievalServed) &&
49
- retrievalServed >= deliveredTokens &&
50
- retrievalServed <= baseline &&
51
- typeof calls === "number" &&
52
- Number.isInteger(calls) &&
53
- calls === queries &&
54
- deliveredTokens <= baseline;
55
- if (!validBaseline)
56
- return { queries, deliveredTokens };
57
- const avoidedTokens = baseline - deliveredTokens;
58
- return {
59
- queries,
60
- deliveredTokens,
61
- baselineTokens: baseline,
62
- avoidedTokens,
63
- reductionPct: (avoidedTokens / baseline) * 100,
64
- };
65
- }
66
- export function renderCceRetrieval(savings) {
67
- const metrics = cceRetrievalMetrics(savings);
68
- return [
69
- ` queries ${number(metrics.queries)}`,
70
- ` delivered context ${number(metrics.deliveredTokens)} tokens`,
71
- ` retrieval baseline ${metrics.baselineTokens === undefined ? "N/A" : `${number(metrics.baselineTokens)} tokens`}`,
72
- ` avoided context ${metrics.avoidedTokens === undefined ? "N/A" : `${number(metrics.avoidedTokens)} tokens`}`,
73
- ` measured reduction ${metrics.reductionPct === undefined ? "N/A" : `${metrics.reductionPct.toFixed(1)}%`}`,
74
- ];
75
- }
76
- export function cceSavingsInvocation(cce) {
77
- return { command: cce.command, args: [...cce.prefix, "savings", "--json"] };
78
- }
79
- export async function statsCommand(cwd, output = console, options = {}) {
80
- const progress = new TaskProgress({
81
- total: 3,
82
- title: "Stats",
83
- verbose: options.verbose,
84
- output,
85
- onUpdate: options.onProgress,
86
- });
87
- try {
88
- progress.step("Locating project root and reading telemetry store");
89
- const root = await findProjectRoot(cwd);
90
- if (!(await readConfig(root)).telemetry?.enabled) {
91
- progress.done();
92
- output.log("Statistics are not enabled for this project.");
93
- return 0;
94
- }
95
- const telemetry = await readTelemetry(root);
96
- progress.logVerbose(`Loaded telemetry: verification runs=${telemetry.verification.runs}, qa runs=${telemetry.qa.runs}`);
97
- progress.step("Probing CCE context savings and measurements");
98
- const cce = await cceCommand();
99
- let cceLines = [];
100
- if (cce) {
101
- progress.logVerbose(`Querying CCE savings from ${cce.command}`);
102
- const invocation = cceSavingsInvocation(cce);
103
- const result = await run(invocation.command, invocation.args, {
104
- cwd: root,
105
- timeoutMs: 15_000,
106
- });
107
- const savings = result.exitCode === 0 ? parseCceSavings(result.stdout) : undefined;
108
- if (savings) {
109
- const retrieval = cceRetrievalMetrics(savings);
110
- progress.logVerbose(`CCE retrieval: ${retrieval.queries} queries, reduction=${retrieval.reductionPct?.toFixed(1) ?? "N/A"}`);
111
- cceLines = renderCceRetrieval(savings);
112
- }
113
- }
114
- else {
115
- progress.logVerbose("CCE not installed or available");
116
- }
117
- progress.step("Calculating agent efficiency metrics and reductions");
118
- const suppressed = telemetry.verification.rawChars - telemetry.verification.deliveredChars;
119
- const reduction = telemetry.verification.rawChars
120
- ? (suppressed / telemetry.verification.rawChars) * 100
121
- : 0;
122
- progress.done();
123
- output.log([
124
- "Mozole Agent Efficiency",
125
- "",
126
- "Context retrieval (CCE)",
127
- ...(cceLines.length
128
- ? cceLines
129
- : [" unavailable — run CCE queries to collect measurements"]),
130
- "",
131
- "Verification (measured)",
132
- ` runs ${telemetry.verification.runs}`,
133
- ` raw output ${number(telemetry.verification.rawChars)} chars`,
134
- ` delivered output ${number(telemetry.verification.deliveredChars)} chars`,
135
- ` suppressed output ${number(Math.max(0, suppressed))} chars`,
136
- ` reruns avoided ${telemetry.verification.avoidedRuns}`,
137
- ` output reduction ${reduction.toFixed(1)}%`,
138
- "",
139
- "QA (measured)",
140
- ` runs ${telemetry.qa.runs}`,
141
- ` probes ${telemetry.qa.probes}`,
142
- ` screenshots ${telemetry.qa.screenshots}`,
143
- ` non-visual runs ${telemetry.qa.runs - telemetry.qa.visualRuns}`,
144
- ` reruns avoided ${telemetry.qa.avoidedRuns}`,
145
- ` browser launches saved ${telemetry.qa.browserLaunchesAvoided}`,
146
- ` visual artifacts reused ${telemetry.qa.reusedVisualArtifacts}`,
147
- "",
148
- "Governor (enforced)",
149
- ` full reads blocked after CCE ${telemetry.governor.fullReadsBlockedAfterCce}`,
150
- ` repeated reads blocked ${telemetry.governor.repeatedReadsBlocked}`,
151
- ` visual QA blocked ${telemetry.governor.visualQaBlocked}`,
152
- ` redundant verify blocked ${telemetry.governor.redundantVerifyBlocked}`,
153
- ` redundant QA blocked ${telemetry.governor.redundantQaBlocked}`,
154
- ` justified escalations ${telemetry.governor.justifiedEscalations}`,
155
- ` repeated-read warnings ${telemetry.governor.repeatedReadWarnings}`,
156
- ` repeated-work warnings ${telemetry.governor.repeatedWorkWarnings}`,
157
- ` diagnostic payload ${number(telemetry.governor.modelFacingDiagnosticChars)} chars`,
158
- "",
159
- "No billing or model-token savings are inferred from character counts.",
160
- ].join("\n"));
161
- return 0;
162
- }
163
- catch (error) {
164
- progress.done();
165
- output.error(`STATS FAIL\n\n${error instanceof Error ? error.message : String(error)}`);
166
- return 2;
167
- }
168
- }
169
- //# sourceMappingURL=stats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { Output } from "../output.js";
2
- export declare function templateInitCommand(target: string | undefined, cwd: string, output?: Output): Promise<number>;
3
- export declare function templateListCommand(cwd: string, output?: Output): Promise<number>;
4
- export declare function templateAdoptCommand(input: string | undefined, cwd: string, output?: Output, options?: {
5
- cceInstall?: boolean | undefined;
6
- verbose?: boolean | undefined;
7
- }): Promise<number>;
8
- //# sourceMappingURL=template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAW3C,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CA+EjB;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAwOD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1B,GACL,OAAO,CAAC,MAAM,CAAC,CA0KjB"}