@varveai/adit-cli 0.3.0 → 0.3.2
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/dist/commands/cli-agent/claude-code-provider.d.ts +86 -0
- package/dist/commands/cli-agent/claude-code-provider.d.ts.map +1 -0
- package/dist/commands/cli-agent/claude-code-provider.js +1347 -0
- package/dist/commands/cli-agent/claude-code-provider.js.map +1 -0
- package/dist/commands/cli-agent/claude-transcript-sync.d.ts +19 -0
- package/dist/commands/cli-agent/claude-transcript-sync.d.ts.map +1 -0
- package/dist/commands/cli-agent/claude-transcript-sync.js +365 -0
- package/dist/commands/cli-agent/claude-transcript-sync.js.map +1 -0
- package/dist/commands/cli-agent/codex-app-server-client.d.ts +42 -0
- package/dist/commands/cli-agent/codex-app-server-client.d.ts.map +1 -0
- package/dist/commands/cli-agent/codex-app-server-client.js +160 -0
- package/dist/commands/cli-agent/codex-app-server-client.js.map +1 -0
- package/dist/commands/cli-agent/codex-cli-provider.d.ts +78 -0
- package/dist/commands/cli-agent/codex-cli-provider.d.ts.map +1 -0
- package/dist/commands/cli-agent/codex-cli-provider.js +974 -0
- package/dist/commands/cli-agent/codex-cli-provider.js.map +1 -0
- package/dist/commands/cli-agent/codex-transcript-sync.d.ts +34 -0
- package/dist/commands/cli-agent/codex-transcript-sync.d.ts.map +1 -0
- package/dist/commands/cli-agent/codex-transcript-sync.js +522 -0
- package/dist/commands/cli-agent/codex-transcript-sync.js.map +1 -0
- package/dist/commands/cli-agent/hook-server.d.ts +13 -0
- package/dist/commands/cli-agent/hook-server.d.ts.map +1 -0
- package/dist/commands/cli-agent/hook-server.js +74 -0
- package/dist/commands/cli-agent/hook-server.js.map +1 -0
- package/dist/commands/cli-agent/hooks-bootstrap.d.ts +17 -0
- package/dist/commands/cli-agent/hooks-bootstrap.d.ts.map +1 -0
- package/dist/commands/cli-agent/hooks-bootstrap.js +449 -0
- package/dist/commands/cli-agent/hooks-bootstrap.js.map +1 -0
- package/dist/commands/cli-agent/relay-client.d.ts +50 -0
- package/dist/commands/cli-agent/relay-client.d.ts.map +1 -0
- package/dist/commands/cli-agent/relay-client.js +202 -0
- package/dist/commands/cli-agent/relay-client.js.map +1 -0
- package/dist/commands/cli-agent/types.d.ts +58 -0
- package/dist/commands/cli-agent/types.d.ts.map +1 -0
- package/dist/commands/cli-agent/types.js +2 -0
- package/dist/commands/cli-agent/types.js.map +1 -0
- package/dist/commands/cloud-claude.d.ts +7 -0
- package/dist/commands/cloud-claude.d.ts.map +1 -0
- package/dist/commands/cloud-claude.js +331 -0
- package/dist/commands/cloud-claude.js.map +1 -0
- package/dist/commands/cloud-codex.d.ts +7 -0
- package/dist/commands/cloud-codex.d.ts.map +1 -0
- package/dist/commands/cloud-codex.js +373 -0
- package/dist/commands/cloud-codex.js.map +1 -0
- package/dist/commands/complete.d.ts +15 -0
- package/dist/commands/complete.d.ts.map +1 -0
- package/dist/commands/complete.js +129 -0
- package/dist/commands/complete.js.map +1 -0
- package/dist/commands/docs.d.ts +16 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +206 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +7 -5
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +139 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +3 -0
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/index.js +56 -21
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
import { basename } from "node:path";
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import { loadConfig, findGitRoot } from "@varveai/adit-core";
|
|
5
|
+
import { CloudApiError, CloudAuthError, CloudClient, CloudNetworkError, DEFAULT_SERVER_URL, loadCloudConfig, loadCredentials, } from "@varveai/adit-cloud";
|
|
6
|
+
import { CodexCliProvider } from "./cli-agent/codex-cli-provider.js";
|
|
7
|
+
import { CodexRelayEventDeduper, CodexTranscriptSync } from "./cli-agent/codex-transcript-sync.js";
|
|
8
|
+
import { installCodexHooks } from "./cli-agent/hooks-bootstrap.js";
|
|
9
|
+
import { startCliAgentHookServer } from "./cli-agent/hook-server.js";
|
|
10
|
+
import { CliAgentRelayWebSocket } from "./cli-agent/relay-client.js";
|
|
11
|
+
function sleep(ms) {
|
|
12
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
13
|
+
}
|
|
14
|
+
function findExecutable(command) {
|
|
15
|
+
const checker = process.platform === "win32" ? "where" : "which";
|
|
16
|
+
const result = spawnSync(checker, [command], {
|
|
17
|
+
stdio: "ignore",
|
|
18
|
+
});
|
|
19
|
+
return result.status === 0;
|
|
20
|
+
}
|
|
21
|
+
function checkCodexAppServer(command) {
|
|
22
|
+
const result = spawnSync(command, ["app-server", "--help"], {
|
|
23
|
+
stdio: "ignore",
|
|
24
|
+
});
|
|
25
|
+
return result.status === 0;
|
|
26
|
+
}
|
|
27
|
+
function readString(value) {
|
|
28
|
+
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
29
|
+
}
|
|
30
|
+
function readStringMatrix(value) {
|
|
31
|
+
if (!Array.isArray(value))
|
|
32
|
+
return [];
|
|
33
|
+
return value.map((item) => Array.isArray(item)
|
|
34
|
+
? item.filter((answer) => typeof answer === "string")
|
|
35
|
+
: []);
|
|
36
|
+
}
|
|
37
|
+
function readHookModel(body) {
|
|
38
|
+
return readString(body.model) ?? readString(body.activeModelId);
|
|
39
|
+
}
|
|
40
|
+
function withHooksEnabled(args) {
|
|
41
|
+
const hasHooksFlag = args.some((arg, index) => (arg === "--enable" && args[index + 1] === "hooks") ||
|
|
42
|
+
arg === "--enable=hooks" ||
|
|
43
|
+
arg === "-cfeatures.hooks=true" ||
|
|
44
|
+
arg === "-c" && args[index + 1] === "features.hooks=true" ||
|
|
45
|
+
arg === "--config=features.hooks=true" ||
|
|
46
|
+
arg === "--config" && args[index + 1] === "features.hooks=true");
|
|
47
|
+
return hasHooksFlag ? args : ["--enable", "hooks", ...args];
|
|
48
|
+
}
|
|
49
|
+
function printCloudError(prefix, error) {
|
|
50
|
+
if (error instanceof CloudAuthError) {
|
|
51
|
+
console.error(`${prefix}: authentication failed. Run 'adit cloud login' again.`);
|
|
52
|
+
console.error(error.message);
|
|
53
|
+
}
|
|
54
|
+
else if (error instanceof CloudNetworkError) {
|
|
55
|
+
console.error(`${prefix}: cannot reach adit-cloud.`);
|
|
56
|
+
console.error(error.message);
|
|
57
|
+
}
|
|
58
|
+
else if (error instanceof CloudApiError) {
|
|
59
|
+
console.error(`${prefix}: cloud API error (${error.status}).`);
|
|
60
|
+
console.error(error.message);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.error(`${prefix}: ${error instanceof Error ? error.message : String(error)}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function processCommand(provider, command) {
|
|
67
|
+
if (command.type === "takeover") {
|
|
68
|
+
await provider.takeover();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (command.type === "switch-session") {
|
|
72
|
+
const sessionId = readString(command.payload.sessionId);
|
|
73
|
+
if (!sessionId)
|
|
74
|
+
return;
|
|
75
|
+
await provider.switchSession(sessionId);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (command.type === "prompt") {
|
|
79
|
+
const text = readString(command.payload.text);
|
|
80
|
+
if (!text)
|
|
81
|
+
return;
|
|
82
|
+
const sessionId = readString(command.payload.sessionId);
|
|
83
|
+
const pendingSessionId = readString(command.payload.pendingSessionId);
|
|
84
|
+
const mode = readString(command.payload.mode) === "plan" ? "plan" : "build";
|
|
85
|
+
if (!pendingSessionId && sessionId && provider.state.activeSessionId !== sessionId) {
|
|
86
|
+
await provider.switchSession(sessionId);
|
|
87
|
+
}
|
|
88
|
+
await provider.sendPrompt(text, { mode, pendingSessionId });
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (command.type === "abort") {
|
|
92
|
+
await provider.abort();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (command.type === "permission") {
|
|
96
|
+
const id = readString(command.payload.id);
|
|
97
|
+
const response = readString(command.payload.response);
|
|
98
|
+
if (!id)
|
|
99
|
+
return;
|
|
100
|
+
await provider.answerPermission(id, response !== "reject", response === "reject" ? "Rejected from adit-cloud." : undefined);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (command.type === "question") {
|
|
104
|
+
const id = readString(command.payload.id);
|
|
105
|
+
if (!id)
|
|
106
|
+
return;
|
|
107
|
+
await provider.answerQuestion({
|
|
108
|
+
id,
|
|
109
|
+
answers: readStringMatrix(command.payload.answers),
|
|
110
|
+
rejected: command.payload.rejected === true,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function enqueueCommand(input) {
|
|
115
|
+
if (input.seen.has(input.command.id))
|
|
116
|
+
return;
|
|
117
|
+
input.seen.add(input.command.id);
|
|
118
|
+
input.queue.push(input.command);
|
|
119
|
+
if (input.seen.size > 500) {
|
|
120
|
+
const keep = new Set(input.queue.map((command) => command.id));
|
|
121
|
+
for (const id of input.seen) {
|
|
122
|
+
if (!keep.has(id) && input.seen.size > 250)
|
|
123
|
+
input.seen.delete(id);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async function drainCommandQueue(input) {
|
|
128
|
+
while (input.commands.length > 0) {
|
|
129
|
+
const command = input.commands.shift();
|
|
130
|
+
if (!command)
|
|
131
|
+
return;
|
|
132
|
+
try {
|
|
133
|
+
await processCommand(input.provider, command);
|
|
134
|
+
input.ws?.ack(command.id);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
138
|
+
input.ws?.commandError(command.id, message);
|
|
139
|
+
input.enqueueEvent({
|
|
140
|
+
type: "error",
|
|
141
|
+
payload: {
|
|
142
|
+
message,
|
|
143
|
+
commandId: command.id,
|
|
144
|
+
createdAt: Date.now(),
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export async function cloudCodexCommand(opts) {
|
|
151
|
+
const gitRoot = findGitRoot(process.cwd());
|
|
152
|
+
if (!gitRoot) {
|
|
153
|
+
console.error("Not inside a git project. Run this from the project you want to connect.");
|
|
154
|
+
process.exitCode = 1;
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const config = loadConfig(gitRoot);
|
|
158
|
+
const credentials = loadCredentials();
|
|
159
|
+
if (!credentials) {
|
|
160
|
+
console.error("Not logged in. Run 'adit cloud login' first.");
|
|
161
|
+
process.exitCode = 1;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const codexBin = opts?.bin ?? "codex";
|
|
165
|
+
if (!findExecutable(codexBin)) {
|
|
166
|
+
console.error(`Codex CLI not found: ${codexBin}`);
|
|
167
|
+
console.error("Install Codex CLI and make sure 'codex' is available on PATH.");
|
|
168
|
+
process.exitCode = 1;
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (!checkCodexAppServer(codexBin)) {
|
|
172
|
+
console.error(`Codex CLI does not expose 'app-server': ${codexBin}`);
|
|
173
|
+
console.error("Upgrade Codex CLI to the latest version and try again.");
|
|
174
|
+
process.exitCode = 1;
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const cloudConfig = loadCloudConfig();
|
|
178
|
+
const serverUrl = cloudConfig.serverUrl ?? credentials.serverUrl ?? DEFAULT_SERVER_URL;
|
|
179
|
+
const client = new CloudClient(serverUrl, credentials);
|
|
180
|
+
const terminalId = randomUUID();
|
|
181
|
+
const projectName = basename(config.projectRoot);
|
|
182
|
+
const panelName = `Codex - ${projectName}`;
|
|
183
|
+
try {
|
|
184
|
+
await client.get("/api/sync/status");
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
printCloudError("Unable to verify cloud login", error);
|
|
188
|
+
process.exitCode = 1;
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
let hookServer = null;
|
|
192
|
+
let installedHooks = null;
|
|
193
|
+
let provider = null;
|
|
194
|
+
const eventQueue = [];
|
|
195
|
+
const commandQueue = [];
|
|
196
|
+
const seenCommandIds = new Set();
|
|
197
|
+
const transcriptSync = new CodexTranscriptSync();
|
|
198
|
+
const eventDeduper = new CodexRelayEventDeduper();
|
|
199
|
+
const enqueueEvent = (event) => {
|
|
200
|
+
const next = eventDeduper.filter(event);
|
|
201
|
+
if (next)
|
|
202
|
+
eventQueue.push(next);
|
|
203
|
+
};
|
|
204
|
+
const enqueueEvents = (events) => {
|
|
205
|
+
for (const event of events)
|
|
206
|
+
enqueueEvent(event);
|
|
207
|
+
};
|
|
208
|
+
try {
|
|
209
|
+
hookServer = await startCliAgentHookServer();
|
|
210
|
+
installedHooks = installCodexHooks({
|
|
211
|
+
cwd: config.projectRoot,
|
|
212
|
+
endpoint: hookServer.endpoint,
|
|
213
|
+
marker: `from=adit-cloud-codex-${hookServer.port}`,
|
|
214
|
+
});
|
|
215
|
+
provider = new CodexCliProvider({
|
|
216
|
+
bin: codexBin,
|
|
217
|
+
args: withHooksEnabled(opts?.arg ?? []),
|
|
218
|
+
cwd: config.projectRoot,
|
|
219
|
+
onEvent: enqueueEvent,
|
|
220
|
+
});
|
|
221
|
+
const ws = new CliAgentRelayWebSocket({
|
|
222
|
+
serverUrl,
|
|
223
|
+
accessToken: client.getCredentials().accessToken,
|
|
224
|
+
register: {
|
|
225
|
+
provider: "codex",
|
|
226
|
+
terminalId,
|
|
227
|
+
projectRoot: config.projectRoot,
|
|
228
|
+
projectId: config.projectId,
|
|
229
|
+
projectName,
|
|
230
|
+
panelName,
|
|
231
|
+
},
|
|
232
|
+
onHello: (info) => {
|
|
233
|
+
console.log(`Connected ${config.projectRoot} to adit-cloud Coding.`);
|
|
234
|
+
console.log(`Terminal: ${terminalId}`);
|
|
235
|
+
console.log(`Connection: ${info.connectionId}`);
|
|
236
|
+
if (info.panelId)
|
|
237
|
+
console.log(`Panel: ${info.panelName ?? panelName} (${info.panelId})`);
|
|
238
|
+
console.log("Local Codex CLI owns the session until the Coding page takes over.");
|
|
239
|
+
console.log("When Web owns the session, type /local in this terminal to reclaim it.");
|
|
240
|
+
},
|
|
241
|
+
onCommand: (command) => enqueueCommand({
|
|
242
|
+
queue: commandQueue,
|
|
243
|
+
seen: seenCommandIds,
|
|
244
|
+
command,
|
|
245
|
+
}),
|
|
246
|
+
onConnectionClosed: () => {
|
|
247
|
+
// Server archived our panel; reconnect will get a fresh one.
|
|
248
|
+
},
|
|
249
|
+
onError: (error) => {
|
|
250
|
+
printCloudError("[adit cloud codex] websocket relay", error);
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
hookServer.events.on("hook", (event) => {
|
|
254
|
+
const body = event.body;
|
|
255
|
+
const sessionId = transcriptSync.noteHook({
|
|
256
|
+
eventType: event.type,
|
|
257
|
+
body,
|
|
258
|
+
sessionId: readString(body.sessionId),
|
|
259
|
+
});
|
|
260
|
+
provider?.noteModel(readHookModel(body));
|
|
261
|
+
const isLocalOwner = provider?.state.owner === "local";
|
|
262
|
+
if (sessionId && isLocalOwner)
|
|
263
|
+
provider?.noteLocalSession(sessionId);
|
|
264
|
+
if (event.type === "UserPromptSubmit" && isLocalOwner) {
|
|
265
|
+
provider?.markLocalBusy();
|
|
266
|
+
enqueueEvents(transcriptSync.drainSession(sessionId));
|
|
267
|
+
const prompt = readString(body.prompt);
|
|
268
|
+
if (sessionId && prompt) {
|
|
269
|
+
enqueueEvent({
|
|
270
|
+
type: "message",
|
|
271
|
+
payload: {
|
|
272
|
+
role: "user",
|
|
273
|
+
sessionId,
|
|
274
|
+
text: prompt,
|
|
275
|
+
createdAt: Date.now(),
|
|
276
|
+
},
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (event.type === "PostToolUse" && isLocalOwner) {
|
|
281
|
+
const transcriptEvents = transcriptSync.drainSession(sessionId);
|
|
282
|
+
if (transcriptEvents.length > 0) {
|
|
283
|
+
enqueueEvents(transcriptEvents);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
enqueueEvents(transcriptSync.toolEvents(sessionId, body));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (event.type === "Stop") {
|
|
290
|
+
if (isLocalOwner) {
|
|
291
|
+
const transcriptEvents = transcriptSync.drainSession(sessionId);
|
|
292
|
+
if (transcriptEvents.length > 0) {
|
|
293
|
+
enqueueEvents(transcriptEvents);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
enqueueEvents(transcriptSync.stopEvents(sessionId, body));
|
|
297
|
+
}
|
|
298
|
+
transcriptSync.scheduleDrain(sessionId, (transcriptEvent) => {
|
|
299
|
+
enqueueEvent(transcriptEvent);
|
|
300
|
+
});
|
|
301
|
+
provider?.markLocalIdle();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
ws.connect();
|
|
306
|
+
let stopping = false;
|
|
307
|
+
let lastLocalTranscriptDrainAt = 0;
|
|
308
|
+
const cleanup = (signal) => {
|
|
309
|
+
if (stopping)
|
|
310
|
+
return;
|
|
311
|
+
stopping = true;
|
|
312
|
+
console.log(`\n[adit cloud codex] received ${signal}, shutting down...`);
|
|
313
|
+
provider?.stop();
|
|
314
|
+
ws.close();
|
|
315
|
+
try {
|
|
316
|
+
installedHooks?.cleanup();
|
|
317
|
+
}
|
|
318
|
+
catch { }
|
|
319
|
+
void hookServer?.close().catch(() => undefined);
|
|
320
|
+
setTimeout(() => process.exit(0), 100);
|
|
321
|
+
};
|
|
322
|
+
process.on("SIGINT", () => cleanup("SIGINT"));
|
|
323
|
+
process.on("SIGTERM", () => cleanup("SIGTERM"));
|
|
324
|
+
provider.on("exit", () => {
|
|
325
|
+
cleanup("Codex CLI exit");
|
|
326
|
+
});
|
|
327
|
+
while (!stopping) {
|
|
328
|
+
try {
|
|
329
|
+
if (ws.isOpen && ws.currentConnectionId) {
|
|
330
|
+
ws.sendHeartbeat(provider.state);
|
|
331
|
+
const state = provider.state;
|
|
332
|
+
const now = Date.now();
|
|
333
|
+
if (state.owner === "local" &&
|
|
334
|
+
state.activeSessionId &&
|
|
335
|
+
now - lastLocalTranscriptDrainAt > 1000) {
|
|
336
|
+
lastLocalTranscriptDrainAt = now;
|
|
337
|
+
enqueueEvents(transcriptSync.drainSession(state.activeSessionId));
|
|
338
|
+
}
|
|
339
|
+
if (eventQueue.length > 0) {
|
|
340
|
+
const batch = eventQueue.splice(0, 50);
|
|
341
|
+
const sent = ws.sendEvents(batch);
|
|
342
|
+
if (!sent)
|
|
343
|
+
eventQueue.unshift(...batch);
|
|
344
|
+
}
|
|
345
|
+
await drainCommandQueue({
|
|
346
|
+
provider,
|
|
347
|
+
commands: commandQueue,
|
|
348
|
+
enqueueEvent,
|
|
349
|
+
ws,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
ws.connect();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
printCloudError("[adit cloud codex] relay loop", error);
|
|
358
|
+
}
|
|
359
|
+
await sleep(1500);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
printCloudError("Failed to start Codex Coding relay", error);
|
|
364
|
+
provider?.stop();
|
|
365
|
+
try {
|
|
366
|
+
installedHooks?.cleanup();
|
|
367
|
+
}
|
|
368
|
+
catch { }
|
|
369
|
+
await hookServer?.close().catch(() => undefined);
|
|
370
|
+
process.exitCode = 1;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=cloud-codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-codex.js","sourceRoot":"","sources":["../../src/commands/cloud-codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handler for `adit cloud intent <id> complete`.
|
|
3
|
+
*
|
|
4
|
+
* Completes a phase or entire intent by marking all tasks as completed,
|
|
5
|
+
* auto-checking phase checklists, and transitioning intent to "shipped"
|
|
6
|
+
* when all tasks are done.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* `adit cloud intent <intent-id> complete` — Complete a phase or entire intent.
|
|
10
|
+
*/
|
|
11
|
+
export declare function completeCliHandler(intentId: string, opts: {
|
|
12
|
+
phase?: number;
|
|
13
|
+
json?: boolean;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=complete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../src/commands/complete.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHhB"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI handler for `adit cloud intent <id> complete`.
|
|
3
|
+
*
|
|
4
|
+
* Completes a phase or entire intent by marking all tasks as completed,
|
|
5
|
+
* auto-checking phase checklists, and transitioning intent to "shipped"
|
|
6
|
+
* when all tasks are done.
|
|
7
|
+
*/
|
|
8
|
+
import { loadConfig } from "@varveai/adit-core";
|
|
9
|
+
import { loadCloudConfig, loadCredentials, CloudClient, bulkTaskUpdateCommand, } from "@varveai/adit-cloud";
|
|
10
|
+
import { CloudAuthError, CloudNetworkError, CloudApiError } from "@varveai/adit-cloud";
|
|
11
|
+
/**
|
|
12
|
+
* `adit cloud intent <intent-id> complete` — Complete a phase or entire intent.
|
|
13
|
+
*/
|
|
14
|
+
export async function completeCliHandler(intentId, opts) {
|
|
15
|
+
const config = loadConfig();
|
|
16
|
+
// Prerequisite: credentials
|
|
17
|
+
const credentials = loadCredentials();
|
|
18
|
+
if (!credentials) {
|
|
19
|
+
console.error("Not logged in to adit-cloud.");
|
|
20
|
+
console.error("Run 'adit cloud login' to authenticate, or 'adit cloud auth-token <token>' for token auth.");
|
|
21
|
+
process.exitCode = 1;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (credentials.authType !== "token" && credentials.authType !== undefined) {
|
|
25
|
+
console.log("Token expired — will attempt auto-refresh...");
|
|
26
|
+
}
|
|
27
|
+
// Resolve server URL and project ID
|
|
28
|
+
const cloudConfig = loadCloudConfig();
|
|
29
|
+
const serverUrl = cloudConfig.serverUrl ?? credentials.serverUrl ?? "https://adit.cloud";
|
|
30
|
+
const projectId = config.projectId;
|
|
31
|
+
if (!projectId) {
|
|
32
|
+
console.error("No project ID configured. Run 'adit init' first.");
|
|
33
|
+
process.exitCode = 1;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Verify connectivity
|
|
37
|
+
const client = new CloudClient(serverUrl, credentials);
|
|
38
|
+
try {
|
|
39
|
+
await client.get("/api/sync/health");
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
if (error instanceof CloudNetworkError) {
|
|
43
|
+
console.error(`Cannot reach adit-cloud at ${serverUrl}. Check your network connection.`);
|
|
44
|
+
}
|
|
45
|
+
else if (error instanceof CloudAuthError) {
|
|
46
|
+
console.error(`Authentication failed: ${error.message}`);
|
|
47
|
+
console.error("Run 'adit cloud login' to re-authenticate.");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.error(`Connection check failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
51
|
+
}
|
|
52
|
+
process.exitCode = 1;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// Prepare options
|
|
56
|
+
const options = {
|
|
57
|
+
intentId,
|
|
58
|
+
status: "completed",
|
|
59
|
+
json: opts.json,
|
|
60
|
+
};
|
|
61
|
+
if (opts.phase !== undefined) {
|
|
62
|
+
options.filters = { phase: opts.phase };
|
|
63
|
+
}
|
|
64
|
+
// Execute the command
|
|
65
|
+
try {
|
|
66
|
+
const result = await bulkTaskUpdateCommand(client, projectId, options);
|
|
67
|
+
if (opts.json) {
|
|
68
|
+
console.log(JSON.stringify(result, null, 2));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const phaseLabel = opts.phase ? `Phase ${opts.phase}` : "All phases";
|
|
72
|
+
console.log(`${phaseLabel}: ${result.message}`);
|
|
73
|
+
if (result.intentTransitioned === "shipped") {
|
|
74
|
+
console.log("Intent → shipped. All tasks completed.");
|
|
75
|
+
}
|
|
76
|
+
if (result.failed.length > 0) {
|
|
77
|
+
console.error("\nFailed tasks:");
|
|
78
|
+
result.failed.forEach((failed) => {
|
|
79
|
+
console.error(` ${failed.taskId}: ${failed.error}`);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
if (error instanceof CloudApiError && error.status === 404) {
|
|
86
|
+
console.error("Intent not found or access denied. Check the intent ID and your permissions.");
|
|
87
|
+
}
|
|
88
|
+
else if (error instanceof CloudApiError) {
|
|
89
|
+
if (error.status === 302 ||
|
|
90
|
+
(typeof error.body === "string" && error.body.includes("/auth/signin"))) {
|
|
91
|
+
console.error("Authentication required. The server is redirecting to the login page.");
|
|
92
|
+
console.error("\nPlease try one of the following:");
|
|
93
|
+
console.error("1. Run 'adit cloud login' to authenticate with device code");
|
|
94
|
+
console.error("2. Set ADIT_AUTH_TOKEN environment variable with a valid token");
|
|
95
|
+
console.error("3. Check if your authentication has expired");
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.error(`Server error: ${error.status} — ${error.message}`);
|
|
99
|
+
if (error.body) {
|
|
100
|
+
const bodyStr = typeof error.body === "string"
|
|
101
|
+
? error.body
|
|
102
|
+
: JSON.stringify(error.body, null, 2);
|
|
103
|
+
console.error(` Response: ${bodyStr}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (error instanceof CloudNetworkError) {
|
|
108
|
+
if (error.message.includes("redirect") || error.message.includes("Too many redirects")) {
|
|
109
|
+
console.error("Authentication redirect detected. The server is redirecting requests.");
|
|
110
|
+
console.error("\nPlease try one of the following:");
|
|
111
|
+
console.error("1. Run 'adit cloud login' to authenticate with device code");
|
|
112
|
+
console.error("2. Set ADIT_AUTH_TOKEN environment variable with a valid token");
|
|
113
|
+
console.error("3. Check if your authentication has expired");
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
console.error(`Network error: ${error.message}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else if (error instanceof CloudAuthError) {
|
|
120
|
+
console.error(`Authentication failed: ${error.message}`);
|
|
121
|
+
console.error("Run 'adit cloud login' to re-authenticate.");
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.error(`Complete failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
125
|
+
}
|
|
126
|
+
process.exitCode = 1;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=complete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"complete.js","sourceRoot":"","sources":["../../src/commands/complete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit docs` — Document scaffolding and validation commands.
|
|
3
|
+
*
|
|
4
|
+
* scaffold [type] — Generate a project document template.
|
|
5
|
+
* validate [path] — Validate document(s) against structural spec.
|
|
6
|
+
*/
|
|
7
|
+
export declare function docsScaffoldCommand(type?: string, opts?: {
|
|
8
|
+
output?: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
interface ValidateOptions {
|
|
11
|
+
json?: boolean;
|
|
12
|
+
threshold?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function docsValidateCommand(path?: string, opts?: ValidateOptions): Promise<void>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,wBAAsB,mBAAmB,CACvC,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAiEf;AAID,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CA0If"}
|