@mozole/cli 1.0.0 → 1.1.1
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.
- package/README.md +22 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +20 -7
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/cce.d.ts +3 -0
- package/dist/commands/cce.d.ts.map +1 -0
- package/dist/commands/cce.js +22 -0
- package/dist/commands/cce.js.map +1 -0
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +7 -4
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/ui.d.ts +31 -0
- package/dist/commands/ui.d.ts.map +1 -0
- package/dist/commands/ui.js +281 -0
- package/dist/commands/ui.js.map +1 -0
- package/dist/context/cce.d.ts +14 -3
- package/dist/context/cce.d.ts.map +1 -1
- package/dist/context/cce.js +200 -10
- package/dist/context/cce.js.map +1 -1
- package/dist/integrations/antigravity.d.ts +2 -2
- package/dist/integrations/antigravity.d.ts.map +1 -1
- package/dist/integrations/antigravity.js +23 -15
- package/dist/integrations/antigravity.js.map +1 -1
- package/dist/platform/process.d.ts +1 -0
- package/dist/platform/process.d.ts.map +1 -1
- package/dist/platform/process.js +49 -0
- package/dist/platform/process.js.map +1 -1
- package/dist/scaffold/templates.js +1 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/version.d.ts +4 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +11 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { stdin, stdout } from "node:process";
|
|
3
|
+
import { createInterface } from "node:readline/promises";
|
|
4
|
+
import { adoptCommand } from "./adopt.js";
|
|
5
|
+
import { cceInstallCommand } from "./cce.js";
|
|
6
|
+
import { doctorCommand } from "./doctor.js";
|
|
7
|
+
import { newCommand } from "./new.js";
|
|
8
|
+
import { qaCommand } from "./qa.js";
|
|
9
|
+
import { statsCommand } from "./stats.js";
|
|
10
|
+
import { verifyCommand } from "./verify.js";
|
|
11
|
+
const actions = [
|
|
12
|
+
{
|
|
13
|
+
label: "Doctor",
|
|
14
|
+
detail: "Inspect project and runtime health",
|
|
15
|
+
key: "1",
|
|
16
|
+
kind: "command",
|
|
17
|
+
run: doctorCommand,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
label: "Verify",
|
|
21
|
+
detail: "Run lint, types, tests and build",
|
|
22
|
+
key: "2",
|
|
23
|
+
kind: "command",
|
|
24
|
+
run: verifyCommand,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
label: "QA",
|
|
28
|
+
detail: "Run screenshot-free browser probes",
|
|
29
|
+
key: "3",
|
|
30
|
+
kind: "command",
|
|
31
|
+
run: (cwd, output) => qaCommand(cwd, { interactive: false, visual: false }, output),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: "Stats",
|
|
35
|
+
detail: "Read local efficiency telemetry",
|
|
36
|
+
key: "4",
|
|
37
|
+
kind: "command",
|
|
38
|
+
run: statsCommand,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
label: "Install CCE",
|
|
42
|
+
detail: "Persist uv + CCE for this user",
|
|
43
|
+
key: "5",
|
|
44
|
+
kind: "install",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "New project",
|
|
48
|
+
detail: "Create a static-first application",
|
|
49
|
+
key: "6",
|
|
50
|
+
kind: "create",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: "Adopt project",
|
|
54
|
+
detail: "Add Mozole to an existing app",
|
|
55
|
+
key: "7",
|
|
56
|
+
kind: "adopt",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
label: "Exit",
|
|
60
|
+
detail: "Return to your shell",
|
|
61
|
+
key: "8",
|
|
62
|
+
kind: "exit",
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const ansi = {
|
|
66
|
+
alternateEnter: "\u001B[?1049h",
|
|
67
|
+
alternateExit: "\u001B[?1049l",
|
|
68
|
+
clear: "\u001B[2J\u001B[H",
|
|
69
|
+
cursorHide: "\u001B[?25l",
|
|
70
|
+
cursorShow: "\u001B[?25h",
|
|
71
|
+
reset: "\u001B[0m",
|
|
72
|
+
};
|
|
73
|
+
const ansiSequence = new RegExp(`${String.fromCharCode(27)}\\[[0-?]*[ -/]*[@-~]`, "g");
|
|
74
|
+
function paint(value, code, color) {
|
|
75
|
+
return color ? `\u001B[${code}m${value}${ansi.reset}` : value;
|
|
76
|
+
}
|
|
77
|
+
function clamp(value, width) {
|
|
78
|
+
if (width < 2)
|
|
79
|
+
return "";
|
|
80
|
+
const plain = value.replace(ansiSequence, "");
|
|
81
|
+
return plain.length <= width
|
|
82
|
+
? `${value}${" ".repeat(width - plain.length)}`
|
|
83
|
+
: `${plain.slice(0, Math.max(0, width - 1))}…`;
|
|
84
|
+
}
|
|
85
|
+
function box(lines, width, color) {
|
|
86
|
+
const inner = Math.max(10, width - 2);
|
|
87
|
+
const border = paint("─".repeat(inner), 38, color);
|
|
88
|
+
return [
|
|
89
|
+
`${paint("╭", 38, color)}${border}${paint("╮", 38, color)}`,
|
|
90
|
+
...lines.map((line) => `${paint("│", 38, color)}${clamp(line, inner)}${paint("│", 38, color)}`),
|
|
91
|
+
`${paint("╰", 38, color)}${border}${paint("╯", 38, color)}`,
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
export function uiMenuText() {
|
|
95
|
+
return actions.map((action) => `${action.key} ${action.label}`).join("\n");
|
|
96
|
+
}
|
|
97
|
+
export function uiDashboardFrame(state, dimensions, color = true) {
|
|
98
|
+
const width = Math.max(48, dimensions.columns - 2);
|
|
99
|
+
const height = Math.max(20, dimensions.rows);
|
|
100
|
+
const title = paint("M O Z O L E", 96, color);
|
|
101
|
+
const subtitle = paint("COMMAND DECK", 95, color);
|
|
102
|
+
const header = [
|
|
103
|
+
`${title} ${subtitle}`,
|
|
104
|
+
paint("Static-first engineering console", 90, color),
|
|
105
|
+
paint(`PROJECT ${path.basename(state.cwd) || state.cwd}`, 37, color),
|
|
106
|
+
];
|
|
107
|
+
const actionLines = actions.map((action, index) => {
|
|
108
|
+
const active = state.selected === index;
|
|
109
|
+
const marker = active ? paint("❯", 96, color) : paint("·", 90, color);
|
|
110
|
+
const key = paint(`[${action.key}]`, active ? 97 : 36, color);
|
|
111
|
+
const label = paint(action.label, active ? 97 : 37, color);
|
|
112
|
+
return `${marker} ${key} ${label} ${paint(action.detail, 90, color)}`;
|
|
113
|
+
});
|
|
114
|
+
const status = state.busy
|
|
115
|
+
? paint(`RUNNING ${state.busy}`, 93, color)
|
|
116
|
+
: paint(state.lastResult ?? "READY Select an operation", 92, color);
|
|
117
|
+
const activity = state.log.length
|
|
118
|
+
? state.log.slice(-5)
|
|
119
|
+
: ["No operation has run in this session."];
|
|
120
|
+
const frame = [
|
|
121
|
+
...header,
|
|
122
|
+
"",
|
|
123
|
+
...box(actionLines, width, color),
|
|
124
|
+
"",
|
|
125
|
+
...box([status, "", ...activity], width, color),
|
|
126
|
+
"",
|
|
127
|
+
paint("↑↓ / j k navigate enter run 1–8 jump r redraw q exit", 90, color),
|
|
128
|
+
paint("Normal QA is deterministic and screenshot-free. Visual QA remains explicit.", 90, color),
|
|
129
|
+
];
|
|
130
|
+
const padding = Math.max(0, height - frame.length - 1);
|
|
131
|
+
return `${ansi.clear}${frame.join("\n")}${"\n".repeat(padding)}`;
|
|
132
|
+
}
|
|
133
|
+
function hasColor(output) {
|
|
134
|
+
return (Boolean(output.isTTY) &&
|
|
135
|
+
!process.env.NO_COLOR &&
|
|
136
|
+
process.env.TERM !== "dumb");
|
|
137
|
+
}
|
|
138
|
+
function prompt(input, output, question) {
|
|
139
|
+
const readline = createInterface({ input, output });
|
|
140
|
+
return readline
|
|
141
|
+
.question(question)
|
|
142
|
+
.then((answer) => answer.trim())
|
|
143
|
+
.catch(() => undefined)
|
|
144
|
+
.finally(() => readline.close());
|
|
145
|
+
}
|
|
146
|
+
function waitForKey(input) {
|
|
147
|
+
return new Promise((resolve) => {
|
|
148
|
+
input.once("data", (chunk) => resolve(String(chunk)));
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
function statusLine(message) {
|
|
152
|
+
return String(message)
|
|
153
|
+
.split(/\r?\n/)
|
|
154
|
+
.map((line) => line.trim())
|
|
155
|
+
.filter(Boolean)
|
|
156
|
+
.slice(-5);
|
|
157
|
+
}
|
|
158
|
+
export async function uiCommand(cwd, output = console, streams = {}) {
|
|
159
|
+
const input = streams.input ?? stdin;
|
|
160
|
+
const terminalOutput = streams.output ?? stdout;
|
|
161
|
+
const interactive = streams.interactive ?? Boolean(input.isTTY && terminalOutput.isTTY);
|
|
162
|
+
if (!interactive || !input.setRawMode) {
|
|
163
|
+
output.error("UI requires an interactive terminal with ANSI support. Use `mozole doctor`, `mozole verify`, `mozole qa`, or `mozole stats` in CI.");
|
|
164
|
+
return 2;
|
|
165
|
+
}
|
|
166
|
+
const state = { cwd, selected: 0, log: [] };
|
|
167
|
+
const color = hasColor(terminalOutput);
|
|
168
|
+
let entered = false;
|
|
169
|
+
const render = () => terminalOutput.write(uiDashboardFrame(state, {
|
|
170
|
+
columns: terminalOutput.columns ?? 100,
|
|
171
|
+
rows: terminalOutput.rows ?? 32,
|
|
172
|
+
}, color));
|
|
173
|
+
const enter = () => {
|
|
174
|
+
if (entered)
|
|
175
|
+
return;
|
|
176
|
+
terminalOutput.write(`${ansi.alternateEnter}${ansi.cursorHide}`);
|
|
177
|
+
input.setRawMode?.(true);
|
|
178
|
+
input.resume?.();
|
|
179
|
+
entered = true;
|
|
180
|
+
render();
|
|
181
|
+
};
|
|
182
|
+
const leave = () => {
|
|
183
|
+
if (!entered)
|
|
184
|
+
return;
|
|
185
|
+
input.setRawMode?.(false);
|
|
186
|
+
input.pause?.();
|
|
187
|
+
terminalOutput.write(`${ansi.cursorShow}${ansi.alternateExit}`);
|
|
188
|
+
entered = false;
|
|
189
|
+
};
|
|
190
|
+
const resize = () => render();
|
|
191
|
+
terminalOutput.on("resize", resize);
|
|
192
|
+
const abort = () => leave();
|
|
193
|
+
process.once("SIGINT", abort);
|
|
194
|
+
process.once("SIGTERM", abort);
|
|
195
|
+
const dashboardOutput = {
|
|
196
|
+
log: (message) => {
|
|
197
|
+
state.log = statusLine(message);
|
|
198
|
+
},
|
|
199
|
+
error: (message) => {
|
|
200
|
+
state.log = statusLine(message);
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
async function runExternal(action) {
|
|
204
|
+
leave();
|
|
205
|
+
try {
|
|
206
|
+
if (action.kind === "install") {
|
|
207
|
+
const code = await cceInstallCommand(cwd, console);
|
|
208
|
+
state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const question = action.kind === "create"
|
|
212
|
+
? "New project name: "
|
|
213
|
+
: "Project path to adopt: ";
|
|
214
|
+
const value = await prompt(input, terminalOutput, question);
|
|
215
|
+
if (!value) {
|
|
216
|
+
state.lastResult = `${action.label} CANCELLED`;
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
const code = action.kind === "create"
|
|
220
|
+
? await newCommand(value, cwd, console)
|
|
221
|
+
: await adoptCommand(value, cwd, console);
|
|
222
|
+
state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
|
|
223
|
+
}
|
|
224
|
+
await prompt(input, terminalOutput, "\nPress Enter to return to Mozole…");
|
|
225
|
+
}
|
|
226
|
+
finally {
|
|
227
|
+
enter();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
enter();
|
|
232
|
+
while (true) {
|
|
233
|
+
const key = await waitForKey(input);
|
|
234
|
+
if (key === "\u0003")
|
|
235
|
+
return 130;
|
|
236
|
+
if (key === "q" || key === "Q" || key === "\u001B")
|
|
237
|
+
return 0;
|
|
238
|
+
if (key === "\u001B[A" || key === "k") {
|
|
239
|
+
state.selected = (state.selected + actions.length - 1) % actions.length;
|
|
240
|
+
render();
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (key === "\u001B[B" || key === "j") {
|
|
244
|
+
state.selected = (state.selected + 1) % actions.length;
|
|
245
|
+
render();
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (key === "r") {
|
|
249
|
+
render();
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
const direct = actions.findIndex((action) => action.key === key);
|
|
253
|
+
if (direct >= 0)
|
|
254
|
+
state.selected = direct;
|
|
255
|
+
if (key !== "\r" && key !== "\n" && direct < 0)
|
|
256
|
+
continue;
|
|
257
|
+
const action = actions[state.selected];
|
|
258
|
+
if (!action)
|
|
259
|
+
continue;
|
|
260
|
+
if (action.kind === "exit")
|
|
261
|
+
return 0;
|
|
262
|
+
if (action.kind !== "command") {
|
|
263
|
+
await runExternal(action);
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
state.busy = action.label;
|
|
267
|
+
render();
|
|
268
|
+
const code = await action.run?.(cwd, dashboardOutput);
|
|
269
|
+
delete state.busy;
|
|
270
|
+
state.lastResult = `${action.label} ${code === 0 ? "COMPLETE" : "FAILED"}`;
|
|
271
|
+
render();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
finally {
|
|
275
|
+
leave();
|
|
276
|
+
terminalOutput.off("resize", resize);
|
|
277
|
+
process.removeListener("SIGINT", abort);
|
|
278
|
+
process.removeListener("SIGTERM", abort);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/commands/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/context/cce.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { type RunResult } from "../platform/process.js";
|
|
2
|
-
export
|
|
2
|
+
export interface CceRuntime {
|
|
3
3
|
command: string;
|
|
4
4
|
prefix: string[];
|
|
5
|
-
}
|
|
6
|
-
export
|
|
5
|
+
}
|
|
6
|
+
export interface CceInstallPlan {
|
|
7
|
+
command: string;
|
|
8
|
+
args: string[];
|
|
9
|
+
label: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function cceUvxPrefix(): string[];
|
|
12
|
+
export declare function cceToolInstallArgs(): string[];
|
|
13
|
+
export declare function cceCommand(resolve?: (command: string) => Promise<string | undefined>): Promise<CceRuntime | undefined>;
|
|
14
|
+
export declare function cceInstallPlan(resolve?: (command: string) => Promise<string | undefined>, platform?: NodeJS.Platform, isRoot?: boolean): Promise<CceInstallPlan | undefined>;
|
|
15
|
+
export declare function installCceRuntime(cwd: string, signal?: AbortSignal): Promise<CceRuntime>;
|
|
16
|
+
export declare function requireCceRuntime(root: string, signal?: AbortSignal, resolve?: (command: string) => Promise<string | undefined>): Promise<CceRuntime>;
|
|
17
|
+
export declare function initializeCce(root: string, signal?: AbortSignal, runtime?: CceRuntime): Promise<RunResult | undefined>;
|
|
7
18
|
export declare function queryCce(root: string, args: string[]): Promise<RunResult | undefined>;
|
|
8
19
|
//# sourceMappingURL=cce.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cce.d.ts","sourceRoot":"","sources":["../../src/context/cce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cce.d.ts","sourceRoot":"","sources":["../../src/context/cce.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AAG7E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAQ7C;AAkFD,wBAAsB,UAAU,CAC9B,OAAO,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAqB,GAC5E,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAqB,EAC7E,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,MAAM,UAAiE,GACtE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA2CrC;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAuDrB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAqB,GAC5E,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA+ChC;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAQhC"}
|
package/dist/context/cce.js
CHANGED
|
@@ -1,26 +1,216 @@
|
|
|
1
|
-
import { readFile, rm, writeFile } from "node:fs/promises";
|
|
1
|
+
import { access, readFile, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { resolveExecutable } from "../platform/executable.js";
|
|
4
|
-
import { run } from "../platform/process.js";
|
|
5
|
-
import { TOOLCHAIN } from "../version.js";
|
|
5
|
+
import { run, runInteractive } from "../platform/process.js";
|
|
6
|
+
import { cceUvxPrefix as pinnedCceUvxPrefix, TOOLCHAIN } from "../version.js";
|
|
7
|
+
export function cceUvxPrefix() {
|
|
8
|
+
return pinnedCceUvxPrefix();
|
|
9
|
+
}
|
|
10
|
+
export function cceToolInstallArgs() {
|
|
11
|
+
return [
|
|
12
|
+
"tool",
|
|
13
|
+
"install",
|
|
14
|
+
`${TOOLCHAIN.cce.package}==${TOOLCHAIN.cce.version}`,
|
|
15
|
+
"--with",
|
|
16
|
+
`mcp==${TOOLCHAIN.cce.mcpVersion}`,
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
async function firstExisting(paths) {
|
|
20
|
+
for (const candidate of paths) {
|
|
21
|
+
try {
|
|
22
|
+
await access(candidate);
|
|
23
|
+
return candidate;
|
|
24
|
+
}
|
|
25
|
+
catch { }
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
async function knownUvxPath() {
|
|
30
|
+
const home = os.homedir();
|
|
31
|
+
const candidates = process.platform === "win32"
|
|
32
|
+
? [
|
|
33
|
+
process.env.LOCALAPPDATA
|
|
34
|
+
? path.join(process.env.LOCALAPPDATA, "Programs", "uv", "uvx.exe")
|
|
35
|
+
: undefined,
|
|
36
|
+
process.env.LOCALAPPDATA
|
|
37
|
+
? path.join(process.env.LOCALAPPDATA, "Microsoft", "WinGet", "Links", "uvx.exe")
|
|
38
|
+
: undefined,
|
|
39
|
+
process.env.ProgramFiles
|
|
40
|
+
? path.join(process.env.ProgramFiles, "uv", "uvx.exe")
|
|
41
|
+
: undefined,
|
|
42
|
+
path.join(home, ".local", "bin", "uvx.exe"),
|
|
43
|
+
]
|
|
44
|
+
: [
|
|
45
|
+
path.join(home, ".local", "bin", "uvx"),
|
|
46
|
+
"/usr/local/bin/uvx",
|
|
47
|
+
"/usr/bin/uvx",
|
|
48
|
+
];
|
|
49
|
+
return firstExisting(candidates.filter((candidate) => Boolean(candidate)));
|
|
50
|
+
}
|
|
51
|
+
async function knownCcePath() {
|
|
52
|
+
const home = os.homedir();
|
|
53
|
+
const executable = process.platform === "win32" ? "cce.exe" : "cce";
|
|
54
|
+
const candidates = process.platform === "win32"
|
|
55
|
+
? [
|
|
56
|
+
process.env.UV_TOOL_BIN_DIR
|
|
57
|
+
? path.join(process.env.UV_TOOL_BIN_DIR, executable)
|
|
58
|
+
: undefined,
|
|
59
|
+
path.join(home, ".local", "bin", executable),
|
|
60
|
+
]
|
|
61
|
+
: [
|
|
62
|
+
process.env.UV_TOOL_BIN_DIR
|
|
63
|
+
? path.join(process.env.UV_TOOL_BIN_DIR, executable)
|
|
64
|
+
: undefined,
|
|
65
|
+
path.join(home, ".local", "bin", executable),
|
|
66
|
+
path.join("/usr/local/bin", executable),
|
|
67
|
+
path.join("/usr/bin", executable),
|
|
68
|
+
];
|
|
69
|
+
return firstExisting(candidates.filter((candidate) => Boolean(candidate)));
|
|
70
|
+
}
|
|
71
|
+
async function knownUvPath() {
|
|
72
|
+
const executable = process.platform === "win32" ? "uv.exe" : "uv";
|
|
73
|
+
const uvx = await knownUvxPath();
|
|
74
|
+
return uvx
|
|
75
|
+
? firstExisting([path.join(path.dirname(uvx), executable)])
|
|
76
|
+
: undefined;
|
|
77
|
+
}
|
|
78
|
+
async function uvCommand() {
|
|
79
|
+
const direct = await resolveExecutable("uv");
|
|
80
|
+
if (direct)
|
|
81
|
+
return direct;
|
|
82
|
+
return knownUvPath();
|
|
83
|
+
}
|
|
6
84
|
export async function cceCommand(resolve = resolveExecutable) {
|
|
7
85
|
const cce = await resolve("cce");
|
|
8
86
|
if (cce)
|
|
9
87
|
return { command: cce, prefix: [] };
|
|
88
|
+
if (resolve === resolveExecutable) {
|
|
89
|
+
const known = await knownCcePath();
|
|
90
|
+
if (known)
|
|
91
|
+
return { command: known, prefix: [] };
|
|
92
|
+
}
|
|
10
93
|
const uvx = await resolve("uvx");
|
|
11
94
|
if (uvx)
|
|
12
95
|
return {
|
|
13
96
|
command: uvx,
|
|
14
|
-
prefix:
|
|
15
|
-
"--from",
|
|
16
|
-
`${TOOLCHAIN.cce.package}==${TOOLCHAIN.cce.version}`,
|
|
17
|
-
"cce",
|
|
18
|
-
],
|
|
97
|
+
prefix: cceUvxPrefix(),
|
|
19
98
|
};
|
|
20
99
|
return undefined;
|
|
21
100
|
}
|
|
22
|
-
export async function
|
|
23
|
-
|
|
101
|
+
export async function cceInstallPlan(resolve = resolveExecutable, platform = process.platform, isRoot = typeof process.getuid === "function" && process.getuid() === 0) {
|
|
102
|
+
if (platform === "win32") {
|
|
103
|
+
const winget = await resolve("winget");
|
|
104
|
+
return winget
|
|
105
|
+
? {
|
|
106
|
+
command: winget,
|
|
107
|
+
args: ["install", "--id=astral-sh.uv", "-e"],
|
|
108
|
+
label: "WinGet (Astral uv)",
|
|
109
|
+
}
|
|
110
|
+
: undefined;
|
|
111
|
+
}
|
|
112
|
+
const managers = [
|
|
113
|
+
{ name: "pacman", args: ["-S", "--needed", "uv"], label: "pacman (uv)" },
|
|
114
|
+
{
|
|
115
|
+
name: "apt-get",
|
|
116
|
+
args: ["install", "-y", "uv"],
|
|
117
|
+
label: "apt (uv)",
|
|
118
|
+
},
|
|
119
|
+
{ name: "dnf", args: ["install", "-y", "uv"], label: "dnf (uv)" },
|
|
120
|
+
{
|
|
121
|
+
name: "zypper",
|
|
122
|
+
args: ["--non-interactive", "install", "uv"],
|
|
123
|
+
label: "zypper (uv)",
|
|
124
|
+
},
|
|
125
|
+
];
|
|
126
|
+
for (const manager of managers) {
|
|
127
|
+
const executable = await resolve(manager.name);
|
|
128
|
+
if (!executable)
|
|
129
|
+
continue;
|
|
130
|
+
if (isRoot)
|
|
131
|
+
return {
|
|
132
|
+
command: executable,
|
|
133
|
+
args: [...manager.args],
|
|
134
|
+
label: manager.label,
|
|
135
|
+
};
|
|
136
|
+
const sudo = await resolve("sudo");
|
|
137
|
+
if (sudo)
|
|
138
|
+
return {
|
|
139
|
+
command: sudo,
|
|
140
|
+
args: [manager.name, ...manager.args],
|
|
141
|
+
label: `sudo ${manager.label}`,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
export async function installCceRuntime(cwd, signal) {
|
|
147
|
+
const existing = await cceCommand();
|
|
148
|
+
let uv = await uvCommand();
|
|
149
|
+
if (!uv) {
|
|
150
|
+
if (existing?.prefix.length === 0)
|
|
151
|
+
return existing;
|
|
152
|
+
const plan = await cceInstallPlan();
|
|
153
|
+
if (!plan)
|
|
154
|
+
throw new Error("No supported system package manager was found. Install uv with your OS package manager, then rerun this command.");
|
|
155
|
+
const result = await runInteractive(plan.command, plan.args, {
|
|
156
|
+
cwd,
|
|
157
|
+
timeoutMs: 600_000,
|
|
158
|
+
signal,
|
|
159
|
+
});
|
|
160
|
+
if (result.exitCode !== 0)
|
|
161
|
+
throw new Error(`${plan.label} could not install uv (exit ${result.exitCode}). Re-run it with administrator privileges, then retry.`);
|
|
162
|
+
uv = await uvCommand();
|
|
163
|
+
}
|
|
164
|
+
if (!uv)
|
|
165
|
+
throw new Error("uv was installed, but its executable is not visible. Open a new terminal and rerun `mozole cce install`.");
|
|
166
|
+
const installed = await run(uv, cceToolInstallArgs(), {
|
|
167
|
+
cwd,
|
|
168
|
+
timeoutMs: 600_000,
|
|
169
|
+
signal,
|
|
170
|
+
logFile: path.join(cwd, ".mozole", "logs", "cce-install.log"),
|
|
171
|
+
});
|
|
172
|
+
if (installed.exitCode !== 0)
|
|
173
|
+
throw new Error(`uv could not persistently install CCE (exit ${installed.exitCode}). See .mozole/logs/cce-install.log.`);
|
|
174
|
+
const toolBin = await run(uv, ["tool", "dir", "--bin"], {
|
|
175
|
+
cwd,
|
|
176
|
+
timeoutMs: 30_000,
|
|
177
|
+
signal,
|
|
178
|
+
});
|
|
179
|
+
const bin = toolBin.stdout.trim().split(/\r?\n/)[0];
|
|
180
|
+
const executable = process.platform === "win32" ? "cce.exe" : "cce";
|
|
181
|
+
const installedCce = bin
|
|
182
|
+
? await firstExisting([path.join(bin, executable)])
|
|
183
|
+
: undefined;
|
|
184
|
+
const runtime = installedCce
|
|
185
|
+
? { command: installedCce, prefix: [] }
|
|
186
|
+
: await cceCommand();
|
|
187
|
+
if (!runtime || runtime.prefix.length)
|
|
188
|
+
throw new Error("CCE was installed but its `cce` executable could not be located. Run `uv tool update-shell`, open a new terminal, then rerun `mozole cce install`.");
|
|
189
|
+
return runtime;
|
|
190
|
+
}
|
|
191
|
+
export async function requireCceRuntime(root, signal, resolve = resolveExecutable) {
|
|
192
|
+
const executable = await cceCommand(resolve);
|
|
193
|
+
if (!executable)
|
|
194
|
+
throw new Error("CCE runtime is unavailable. Run `mozole cce install`, then rerun `mozole adopt`.");
|
|
195
|
+
try {
|
|
196
|
+
const result = await run(executable.command, [...executable.prefix, "--version"], { cwd: root, timeoutMs: 30_000, signal });
|
|
197
|
+
if (result.exitCode !== 0) {
|
|
198
|
+
const detail = (result.stderr || result.stdout)
|
|
199
|
+
.trim()
|
|
200
|
+
.split(/\r?\n/)[0]
|
|
201
|
+
?.slice(0, 240);
|
|
202
|
+
throw new Error(`CCE runtime could not start.${detail ? ` ${detail}` : ""}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
if (error instanceof Error && error.message.startsWith("CCE runtime"))
|
|
207
|
+
throw error;
|
|
208
|
+
throw new Error(`CCE runtime could not start: ${error instanceof Error ? error.message : String(error)}`);
|
|
209
|
+
}
|
|
210
|
+
return executable;
|
|
211
|
+
}
|
|
212
|
+
export async function initializeCce(root, signal, runtime) {
|
|
213
|
+
const executable = runtime ?? (await cceCommand());
|
|
24
214
|
if (!executable)
|
|
25
215
|
return undefined;
|
|
26
216
|
const instructionPaths = [
|
package/dist/context/cce.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cce.js","sourceRoot":"","sources":["../../src/context/cce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cce.js","sourceRoot":"","sources":["../../src/context/cce.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ export interface McpServerConfig {
|
|
|
4
4
|
}
|
|
5
5
|
type JsonObject = Record<string, unknown>;
|
|
6
6
|
export declare const ANTIGRAVITY_MCP_SERVER = "mozole-cce";
|
|
7
|
-
export declare function cceMcpServer(launcher?: "cce" | "uvx"): McpServerConfig;
|
|
7
|
+
export declare function cceMcpServer(launcher?: "cce" | "uvx", command?: string): McpServerConfig;
|
|
8
8
|
export declare function mergeAntigravityMcp(current: unknown, server: McpServerConfig): JsonObject;
|
|
9
9
|
export declare function assertAntigravityMcpMergeable(root: string): Promise<void>;
|
|
10
|
-
export declare function configureAntigravityMcp(root: string, launcher?: "cce" | "uvx"): Promise<boolean>;
|
|
10
|
+
export declare function configureAntigravityMcp(root: string, launcher?: "cce" | "uvx", command?: string): Promise<boolean>;
|
|
11
11
|
export declare function validateAntigravityMcp(value: unknown): string | undefined;
|
|
12
12
|
export declare function inspectAntigravityWorkspace(root: string): Promise<{
|
|
13
13
|
workspace: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../src/integrations/antigravity.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAMnD,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../src/integrations/antigravity.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAMnD,wBAAgB,YAAY,CAC1B,QAAQ,GAAE,KAAK,GAAG,KAAa,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAQjB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,eAAe,GACtB,UAAU,CAeZ;AA6BD,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,KAAK,GAAG,KAAa,EAC/B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CA+BzE;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAmED"}
|