@varveai/adit-cli 0.2.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/LICENSE +21 -0
- package/dist/commands/cloud.d.ts +51 -0
- package/dist/commands/cloud.d.ts.map +1 -0
- package/dist/commands/cloud.js +430 -0
- package/dist/commands/cloud.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +30 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/db.d.ts +17 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +48 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/diff.d.ts +30 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +265 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/doctor.d.ts +15 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +265 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/export.d.ts +24 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +219 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/init.d.ts +12 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +137 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +20 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +110 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/perf.d.ts +19 -0
- package/dist/commands/perf.d.ts.map +1 -0
- package/dist/commands/perf.js +102 -0
- package/dist/commands/perf.js.map +1 -0
- package/dist/commands/plugin.d.ts +28 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +516 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/project-link.d.ts +16 -0
- package/dist/commands/project-link.d.ts.map +1 -0
- package/dist/commands/project-link.js +143 -0
- package/dist/commands/project-link.js.map +1 -0
- package/dist/commands/resume.d.ts +28 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +229 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/revert.d.ts +30 -0
- package/dist/commands/revert.d.ts.map +1 -0
- package/dist/commands/revert.js +271 -0
- package/dist/commands/revert.js.map +1 -0
- package/dist/commands/search.d.ts +16 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +72 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/self-update.d.ts +12 -0
- package/dist/commands/self-update.d.ts.map +1 -0
- package/dist/commands/self-update.js +161 -0
- package/dist/commands/self-update.js.map +1 -0
- package/dist/commands/show.d.ts +5 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +86 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/status.d.ts +11 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +237 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/task.d.ts +18 -0
- package/dist/commands/task.d.ts.map +1 -0
- package/dist/commands/task.js +131 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/commands/transcript.d.ts +40 -0
- package/dist/commands/transcript.d.ts.map +1 -0
- package/dist/commands/transcript.js +275 -0
- package/dist/commands/transcript.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +385 -0
- package/dist/index.js.map +1 -0
- package/dist/tui/App.d.ts +8 -0
- package/dist/tui/App.d.ts.map +1 -0
- package/dist/tui/App.js +132 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/components/DiffView.d.ts +11 -0
- package/dist/tui/components/DiffView.d.ts.map +1 -0
- package/dist/tui/components/DiffView.js +29 -0
- package/dist/tui/components/DiffView.js.map +1 -0
- package/dist/tui/components/EventDetail.d.ts +11 -0
- package/dist/tui/components/EventDetail.d.ts.map +1 -0
- package/dist/tui/components/EventDetail.js +36 -0
- package/dist/tui/components/EventDetail.js.map +1 -0
- package/dist/tui/components/EventList.d.ts +15 -0
- package/dist/tui/components/EventList.d.ts.map +1 -0
- package/dist/tui/components/EventList.js +77 -0
- package/dist/tui/components/EventList.js.map +1 -0
- package/dist/tui/components/FilterBar.d.ts +12 -0
- package/dist/tui/components/FilterBar.d.ts.map +1 -0
- package/dist/tui/components/FilterBar.js +20 -0
- package/dist/tui/components/FilterBar.js.map +1 -0
- package/dist/tui/components/StatusBar.d.ts +16 -0
- package/dist/tui/components/StatusBar.d.ts.map +1 -0
- package/dist/tui/components/StatusBar.js +13 -0
- package/dist/tui/components/StatusBar.js.map +1 -0
- package/dist/tui/hooks/useKeyboard.d.ts +22 -0
- package/dist/tui/hooks/useKeyboard.d.ts.map +1 -0
- package/dist/tui/hooks/useKeyboard.js +64 -0
- package/dist/tui/hooks/useKeyboard.js.map +1 -0
- package/dist/tui/hooks/useTimeline.d.ts +31 -0
- package/dist/tui/hooks/useTimeline.d.ts.map +1 -0
- package/dist/tui/hooks/useTimeline.js +136 -0
- package/dist/tui/hooks/useTimeline.js.map +1 -0
- package/dist/tui/index.d.ts +5 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +10 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/screens/DiffScreen.d.ts +12 -0
- package/dist/tui/screens/DiffScreen.d.ts.map +1 -0
- package/dist/tui/screens/DiffScreen.js +25 -0
- package/dist/tui/screens/DiffScreen.js.map +1 -0
- package/dist/tui/screens/EnvScreen.d.ts +11 -0
- package/dist/tui/screens/EnvScreen.d.ts.map +1 -0
- package/dist/tui/screens/EnvScreen.js +25 -0
- package/dist/tui/screens/EnvScreen.js.map +1 -0
- package/dist/tui/screens/SearchScreen.d.ts +13 -0
- package/dist/tui/screens/SearchScreen.d.ts.map +1 -0
- package/dist/tui/screens/SearchScreen.js +56 -0
- package/dist/tui/screens/SearchScreen.js.map +1 -0
- package/dist/tui/screens/TimelineScreen.d.ts +19 -0
- package/dist/tui/screens/TimelineScreen.d.ts.map +1 -0
- package/dist/tui/screens/TimelineScreen.js +10 -0
- package/dist/tui/screens/TimelineScreen.js.map +1 -0
- package/dist/utils/format.d.ts +23 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +65 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/summary.d.ts +26 -0
- package/dist/utils/summary.d.ts.map +1 -0
- package/dist/utils/summary.js +87 -0
- package/dist/utils/summary.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit snapshot revert [id]` — Revert working tree to a checkpoint.
|
|
3
|
+
* `adit snapshot undo` — Revert to parent of last checkpoint.
|
|
4
|
+
*
|
|
5
|
+
* When called without an ID, presents an interactive picker listing
|
|
6
|
+
* recent checkpoints for the user to select from.
|
|
7
|
+
*/
|
|
8
|
+
import { createInterface } from "node:readline";
|
|
9
|
+
import { loadConfig, openDatabase, closeDatabase, queryEvents } from "@varveai/adit-core";
|
|
10
|
+
import { createTimelineManager, hasUncommittedChanges, runGit, getHeadSha, shaExists, } from "@varveai/adit-engine";
|
|
11
|
+
import { getEventSummary } from "../utils/summary.js";
|
|
12
|
+
/** Lock/dependency files to check for changes between checkpoints */
|
|
13
|
+
export const DEP_FILES = [
|
|
14
|
+
"package.json",
|
|
15
|
+
"package-lock.json",
|
|
16
|
+
"pnpm-lock.yaml",
|
|
17
|
+
"yarn.lock",
|
|
18
|
+
"bun.lockb",
|
|
19
|
+
"requirements.txt",
|
|
20
|
+
"Pipfile.lock",
|
|
21
|
+
"poetry.lock",
|
|
22
|
+
"Gemfile.lock",
|
|
23
|
+
"go.sum",
|
|
24
|
+
"Cargo.lock",
|
|
25
|
+
"composer.lock",
|
|
26
|
+
];
|
|
27
|
+
/** Check if dependency files changed between two SHAs */
|
|
28
|
+
export async function checkDependencyChanges(cwd, fromSha, toSha) {
|
|
29
|
+
const result = await runGit(["diff", "--name-only", fromSha, toSha, "--", ...DEP_FILES], { cwd });
|
|
30
|
+
if (result.exitCode !== 0 || !result.stdout.trim())
|
|
31
|
+
return [];
|
|
32
|
+
return result.stdout.trim().split("\n").filter(Boolean);
|
|
33
|
+
}
|
|
34
|
+
/** Warn about dependency changes and print the affected files */
|
|
35
|
+
export function printDependencyWarnings(depChanges) {
|
|
36
|
+
if (depChanges.length === 0)
|
|
37
|
+
return;
|
|
38
|
+
console.log("\nWarning: Dependency files changed between current state and target checkpoint:");
|
|
39
|
+
for (const file of depChanges) {
|
|
40
|
+
console.log(` - ${file}`);
|
|
41
|
+
}
|
|
42
|
+
console.log("You may need to re-install dependencies after reverting (e.g., pnpm install).\n");
|
|
43
|
+
}
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// Revert by ID
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
export async function revertCommand(eventId, opts) {
|
|
48
|
+
const config = loadConfig();
|
|
49
|
+
const db = openDatabase(config.dbPath);
|
|
50
|
+
const timeline = createTimelineManager(db, config);
|
|
51
|
+
try {
|
|
52
|
+
const event = await timeline.get(eventId);
|
|
53
|
+
if (!event) {
|
|
54
|
+
console.error(`Event not found: ${eventId}`);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
if (!event.checkpointSha) {
|
|
58
|
+
console.error(`Event ${eventId} has no checkpoint to revert to.`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
// Warn about dirty working tree
|
|
62
|
+
if (!opts.yes) {
|
|
63
|
+
const dirty = await hasUncommittedChanges(config.projectRoot);
|
|
64
|
+
if (dirty) {
|
|
65
|
+
console.log("Warning: You have uncommitted changes. They will be lost on revert.");
|
|
66
|
+
console.log("Use --yes to skip this warning.");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Verify checkpoint SHA is still reachable
|
|
70
|
+
const reachable = await shaExists(config.projectRoot, event.checkpointSha);
|
|
71
|
+
if (!reachable) {
|
|
72
|
+
console.error(`Checkpoint ${event.checkpointSha.substring(0, 8)} is no longer reachable in the git object store.`);
|
|
73
|
+
console.error("The checkpoint ref may have been deleted and the object garbage collected.");
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
// Check for dependency file changes
|
|
77
|
+
const headSha = await getHeadSha(config.projectRoot);
|
|
78
|
+
if (headSha) {
|
|
79
|
+
const depChanges = await checkDependencyChanges(config.projectRoot, headSha, event.checkpointSha);
|
|
80
|
+
printDependencyWarnings(depChanges);
|
|
81
|
+
}
|
|
82
|
+
await timeline.revertTo(eventId);
|
|
83
|
+
// Record the revert as an event
|
|
84
|
+
await timeline.recordEvent({
|
|
85
|
+
sessionId: event.sessionId,
|
|
86
|
+
eventType: "revert",
|
|
87
|
+
actor: "user",
|
|
88
|
+
responseText: `Reverted to checkpoint ${event.checkpointSha.substring(0, 8)}`,
|
|
89
|
+
});
|
|
90
|
+
console.log(`Reverted to checkpoint ${event.checkpointSha.substring(0, 8)} (event ${eventId.substring(0, 10)})`);
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
closeDatabase(db);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// ---------------------------------------------------------------------------
|
|
97
|
+
// Interactive revert (no ID given)
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
/** Format a checkpoint event for display in the picker */
|
|
100
|
+
function formatCheckpointLine(event, index) {
|
|
101
|
+
const sha = event.checkpointSha?.substring(0, 8) ?? "????????";
|
|
102
|
+
const time = event.startedAt
|
|
103
|
+
? new Date(event.startedAt).toLocaleString()
|
|
104
|
+
: "unknown time";
|
|
105
|
+
const summary = getEventSummary(event, 50);
|
|
106
|
+
// Parse file stats for a quick overview
|
|
107
|
+
let fileInfo = "";
|
|
108
|
+
if (event.diffStatJson) {
|
|
109
|
+
try {
|
|
110
|
+
const stats = JSON.parse(event.diffStatJson);
|
|
111
|
+
fileInfo = ` (${stats.length} file${stats.length === 1 ? "" : "s"})`;
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// best-effort
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return ` ${String(index + 1).padStart(3)}. [${sha}] ${time}${fileInfo}\n ${summary}`;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Interactive revert: list checkpoints and let the user pick one.
|
|
121
|
+
*
|
|
122
|
+
* Uses a simple numbered-list approach for broad terminal compatibility
|
|
123
|
+
* rather than requiring a TUI framework. Reads from stdin for selection.
|
|
124
|
+
*/
|
|
125
|
+
export async function interactiveRevertCommand(opts) {
|
|
126
|
+
const config = loadConfig();
|
|
127
|
+
const db = openDatabase(config.dbPath);
|
|
128
|
+
const timeline = createTimelineManager(db, config);
|
|
129
|
+
try {
|
|
130
|
+
// Fetch recent checkpoints
|
|
131
|
+
const limit = opts.limit ?? 20;
|
|
132
|
+
const checkpoints = queryEvents(db, {
|
|
133
|
+
hasCheckpoint: true,
|
|
134
|
+
limit,
|
|
135
|
+
});
|
|
136
|
+
if (checkpoints.length === 0) {
|
|
137
|
+
console.log("No checkpoints found. Work with your AI agent to create checkpoints.");
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// Display checkpoint list
|
|
141
|
+
console.log("\nAvailable checkpoints:\n");
|
|
142
|
+
for (let i = 0; i < checkpoints.length; i++) {
|
|
143
|
+
console.log(formatCheckpointLine(checkpoints[i], i));
|
|
144
|
+
if (i < checkpoints.length - 1)
|
|
145
|
+
console.log();
|
|
146
|
+
}
|
|
147
|
+
console.log();
|
|
148
|
+
// Prompt for selection
|
|
149
|
+
const selectedIndex = await promptForSelection(checkpoints.length);
|
|
150
|
+
if (selectedIndex === null) {
|
|
151
|
+
console.log("Revert cancelled.");
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const selected = checkpoints[selectedIndex];
|
|
155
|
+
// Warn about dirty working tree
|
|
156
|
+
if (!opts.yes) {
|
|
157
|
+
const dirty = await hasUncommittedChanges(config.projectRoot);
|
|
158
|
+
if (dirty) {
|
|
159
|
+
console.log("\nWarning: You have uncommitted changes. They will be lost on revert.");
|
|
160
|
+
const confirmed = await promptConfirm("Continue with revert?");
|
|
161
|
+
if (!confirmed) {
|
|
162
|
+
console.log("Revert cancelled.");
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Verify checkpoint SHA is still reachable
|
|
168
|
+
if (selected.checkpointSha) {
|
|
169
|
+
const reachable = await shaExists(config.projectRoot, selected.checkpointSha);
|
|
170
|
+
if (!reachable) {
|
|
171
|
+
console.error(`\nCheckpoint ${selected.checkpointSha.substring(0, 8)} is no longer reachable in the git object store.`);
|
|
172
|
+
console.error("The checkpoint ref may have been deleted and the object garbage collected.");
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Check for dependency file changes
|
|
177
|
+
const headSha = await getHeadSha(config.projectRoot);
|
|
178
|
+
if (headSha && selected.checkpointSha) {
|
|
179
|
+
const depChanges = await checkDependencyChanges(config.projectRoot, headSha, selected.checkpointSha);
|
|
180
|
+
printDependencyWarnings(depChanges);
|
|
181
|
+
}
|
|
182
|
+
// Perform the revert
|
|
183
|
+
await timeline.revertTo(selected.id);
|
|
184
|
+
// Record the revert event
|
|
185
|
+
await timeline.recordEvent({
|
|
186
|
+
sessionId: selected.sessionId,
|
|
187
|
+
eventType: "revert",
|
|
188
|
+
actor: "user",
|
|
189
|
+
responseText: `Reverted to checkpoint ${selected.checkpointSha?.substring(0, 8) ?? "unknown"} (interactive)`,
|
|
190
|
+
});
|
|
191
|
+
console.log(`\nReverted to checkpoint ${selected.checkpointSha?.substring(0, 8)} (event ${selected.id.substring(0, 10)})`);
|
|
192
|
+
}
|
|
193
|
+
finally {
|
|
194
|
+
closeDatabase(db);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// ---------------------------------------------------------------------------
|
|
198
|
+
// Undo (revert to parent of last checkpoint)
|
|
199
|
+
// ---------------------------------------------------------------------------
|
|
200
|
+
export async function undoCommand(opts) {
|
|
201
|
+
const config = loadConfig();
|
|
202
|
+
const db = openDatabase(config.dbPath);
|
|
203
|
+
const timeline = createTimelineManager(db, config);
|
|
204
|
+
try {
|
|
205
|
+
if (!opts.yes) {
|
|
206
|
+
const dirty = await hasUncommittedChanges(config.projectRoot);
|
|
207
|
+
if (dirty) {
|
|
208
|
+
console.log("Warning: You have uncommitted changes. They will be lost on undo.");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Check for dependency changes before undo
|
|
212
|
+
const headSha = await getHeadSha(config.projectRoot);
|
|
213
|
+
const latestCheckpoint = await timeline.list({
|
|
214
|
+
hasCheckpoint: true,
|
|
215
|
+
limit: 1,
|
|
216
|
+
});
|
|
217
|
+
if (headSha && latestCheckpoint[0]?.checkpointSha) {
|
|
218
|
+
const reachable = await shaExists(config.projectRoot, latestCheckpoint[0].checkpointSha);
|
|
219
|
+
if (reachable) {
|
|
220
|
+
const depChanges = await checkDependencyChanges(config.projectRoot, headSha, latestCheckpoint[0].checkpointSha);
|
|
221
|
+
printDependencyWarnings(depChanges);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
await timeline.undo();
|
|
225
|
+
console.log("Undone to parent of last checkpoint.");
|
|
226
|
+
}
|
|
227
|
+
finally {
|
|
228
|
+
closeDatabase(db);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// ---------------------------------------------------------------------------
|
|
232
|
+
// Stdin helpers for interactive mode
|
|
233
|
+
// ---------------------------------------------------------------------------
|
|
234
|
+
/** Read a line from stdin */
|
|
235
|
+
function readLine(prompt) {
|
|
236
|
+
return new Promise((resolve) => {
|
|
237
|
+
process.stdout.write(prompt);
|
|
238
|
+
if (!process.stdin.isTTY) {
|
|
239
|
+
resolve("");
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
const rl = createInterface({
|
|
243
|
+
input: process.stdin,
|
|
244
|
+
output: process.stdout,
|
|
245
|
+
terminal: false,
|
|
246
|
+
});
|
|
247
|
+
rl.question("", (answer) => {
|
|
248
|
+
rl.close();
|
|
249
|
+
resolve(answer.trim());
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
/** Prompt the user to select a checkpoint by number (1-based). Returns 0-based index or null. */
|
|
254
|
+
async function promptForSelection(count) {
|
|
255
|
+
const answer = await readLine(`Select checkpoint (1-${count}) or 'q' to cancel: `);
|
|
256
|
+
if (answer === "q" || answer === "Q" || answer === "") {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
const num = parseInt(answer, 10);
|
|
260
|
+
if (isNaN(num) || num < 1 || num > count) {
|
|
261
|
+
console.error(`Invalid selection: ${answer}. Enter a number between 1 and ${count}.`);
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
return num - 1;
|
|
265
|
+
}
|
|
266
|
+
/** Prompt the user for a yes/no confirmation */
|
|
267
|
+
async function promptConfirm(message) {
|
|
268
|
+
const answer = await readLine(`${message} (y/N): `);
|
|
269
|
+
return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=revert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revert.js","sourceRoot":"","sources":["../../src/commands/revert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit search` — Search events with filters.
|
|
3
|
+
*/
|
|
4
|
+
/** `adit search <query>` — search events with advanced filters */
|
|
5
|
+
export declare function searchCommand(query: string, opts: {
|
|
6
|
+
limit?: number;
|
|
7
|
+
actor?: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
from?: string;
|
|
10
|
+
to?: string;
|
|
11
|
+
branch?: string;
|
|
12
|
+
hasCheckpoint?: boolean;
|
|
13
|
+
format?: string;
|
|
14
|
+
json?: boolean;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,kEAAkE;AAClE,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit search` — Search events with filters.
|
|
3
|
+
*/
|
|
4
|
+
import { loadConfig, openDatabase, closeDatabase, } from "@varveai/adit-core";
|
|
5
|
+
import { getEventSummary } from "../utils/summary.js";
|
|
6
|
+
import { createTimelineManager } from "@varveai/adit-engine";
|
|
7
|
+
/** `adit search <query>` — search events with advanced filters */
|
|
8
|
+
export async function searchCommand(query, opts) {
|
|
9
|
+
const config = loadConfig();
|
|
10
|
+
const db = openDatabase(config.dbPath);
|
|
11
|
+
const timeline = createTimelineManager(db, config);
|
|
12
|
+
try {
|
|
13
|
+
let events = await timeline.search(query, opts.limit ?? 100);
|
|
14
|
+
if (opts.actor) {
|
|
15
|
+
events = events.filter((e) => e.actor === opts.actor);
|
|
16
|
+
}
|
|
17
|
+
if (opts.type) {
|
|
18
|
+
events = events.filter((e) => e.eventType === opts.type);
|
|
19
|
+
}
|
|
20
|
+
if (opts.from) {
|
|
21
|
+
const fromDate = new Date(opts.from).toISOString();
|
|
22
|
+
events = events.filter((e) => e.startedAt >= fromDate);
|
|
23
|
+
}
|
|
24
|
+
if (opts.to) {
|
|
25
|
+
const toDate = new Date(opts.to).toISOString();
|
|
26
|
+
events = events.filter((e) => e.startedAt <= toDate);
|
|
27
|
+
}
|
|
28
|
+
if (opts.branch) {
|
|
29
|
+
events = events.filter((e) => e.gitBranch === opts.branch);
|
|
30
|
+
}
|
|
31
|
+
if (opts.hasCheckpoint) {
|
|
32
|
+
events = events.filter((e) => e.checkpointSha != null);
|
|
33
|
+
}
|
|
34
|
+
events = events.slice(0, opts.limit ?? 20);
|
|
35
|
+
if (opts.format === "json" || opts.json) {
|
|
36
|
+
console.log(JSON.stringify(events.map(formatEventSummary), null, 2));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (events.length === 0) {
|
|
40
|
+
console.log(`No events matching "${query}"`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
console.log(`Found ${events.length} events matching "${query}":\n`);
|
|
44
|
+
for (const event of events) {
|
|
45
|
+
printEventLine(event);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
closeDatabase(db);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function printEventLine(event) {
|
|
53
|
+
const idShort = event.id.substring(0, 10);
|
|
54
|
+
const time = event.startedAt.substring(5, 19).replace("T", " ");
|
|
55
|
+
const labels = event.labelsJson ? ` ${JSON.parse(event.labelsJson).map((l) => `[${l}]`).join("")}` : "";
|
|
56
|
+
const checkpoint = event.checkpointSha ? " *" : "";
|
|
57
|
+
const snippet = getEventSummary(event, 80);
|
|
58
|
+
console.log(` ${idShort} ${time} [${event.actor[0].toUpperCase()}]${checkpoint} ${snippet}${labels}`);
|
|
59
|
+
}
|
|
60
|
+
function formatEventSummary(event) {
|
|
61
|
+
return {
|
|
62
|
+
id: event.id,
|
|
63
|
+
eventType: event.eventType,
|
|
64
|
+
actor: event.actor,
|
|
65
|
+
startedAt: event.startedAt,
|
|
66
|
+
gitBranch: event.gitBranch,
|
|
67
|
+
checkpointSha: event.checkpointSha,
|
|
68
|
+
labels: event.labelsJson ? JSON.parse(event.labelsJson) : [],
|
|
69
|
+
snippet: getEventSummary(event, 200),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit self-update` — Update ADIT to the latest version.
|
|
3
|
+
*
|
|
4
|
+
* Detects the installation directory (source-install via git clone),
|
|
5
|
+
* pulls the latest changes, rebuilds, and re-registers commands.
|
|
6
|
+
* Falls back to re-running the install script if the install dir
|
|
7
|
+
* cannot be determined.
|
|
8
|
+
*/
|
|
9
|
+
export declare function selfUpdateCommand(opts?: {
|
|
10
|
+
check?: boolean;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=self-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0DH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HhB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `adit self-update` — Update ADIT to the latest version.
|
|
3
|
+
*
|
|
4
|
+
* Detects the installation directory (source-install via git clone),
|
|
5
|
+
* pulls the latest changes, rebuilds, and re-registers commands.
|
|
6
|
+
* Falls back to re-running the install script if the install dir
|
|
7
|
+
* cannot be determined.
|
|
8
|
+
*/
|
|
9
|
+
import { execSync } from "node:child_process";
|
|
10
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
11
|
+
import { resolve, dirname } from "node:path";
|
|
12
|
+
import { CLI_VERSION } from "../version.js";
|
|
13
|
+
/** Default install location used by install.sh */
|
|
14
|
+
const DEFAULT_INSTALL_DIR = resolve(process.env.ADIT_INSTALL_DIR ?? `${process.env.HOME ?? "~"}/.adit-core`);
|
|
15
|
+
/**
|
|
16
|
+
* Resolve the adit-core install directory by walking up from the
|
|
17
|
+
* running CLI entry point to find the monorepo root.
|
|
18
|
+
*/
|
|
19
|
+
function resolveInstallDir() {
|
|
20
|
+
// Method 1: Walk up from the running script to find the monorepo root
|
|
21
|
+
// The CLI runs from <root>/packages/cli/dist/index.js
|
|
22
|
+
try {
|
|
23
|
+
const cliDist = dirname(process.argv[1] ?? "");
|
|
24
|
+
const candidate = resolve(cliDist, "../../..");
|
|
25
|
+
if (existsSync(resolve(candidate, "package.json")) &&
|
|
26
|
+
existsSync(resolve(candidate, ".git"))) {
|
|
27
|
+
return candidate;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
/* best-effort */
|
|
32
|
+
}
|
|
33
|
+
// Method 2: Use the default install directory
|
|
34
|
+
if (existsSync(resolve(DEFAULT_INSTALL_DIR, "package.json")) &&
|
|
35
|
+
existsSync(resolve(DEFAULT_INSTALL_DIR, ".git"))) {
|
|
36
|
+
return DEFAULT_INSTALL_DIR;
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Read the version from a package.json file.
|
|
42
|
+
*/
|
|
43
|
+
function readVersionFromPackageJson(rootDir) {
|
|
44
|
+
try {
|
|
45
|
+
const pkgPath = resolve(rootDir, "packages/cli/package.json");
|
|
46
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
47
|
+
return pkg.version ?? null;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export async function selfUpdateCommand(opts) {
|
|
54
|
+
const installDir = resolveInstallDir();
|
|
55
|
+
if (!installDir) {
|
|
56
|
+
console.log("Installed via npm. To update:");
|
|
57
|
+
console.log(" npm update -g @varveai/adit-cli");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const execOpts = {
|
|
61
|
+
cwd: installDir,
|
|
62
|
+
stdio: "pipe",
|
|
63
|
+
encoding: "utf8",
|
|
64
|
+
};
|
|
65
|
+
// Pull latest changes
|
|
66
|
+
console.log(`Checking for updates in ${installDir} ...`);
|
|
67
|
+
try {
|
|
68
|
+
execSync("git fetch origin", { ...execOpts, stdio: "pipe" });
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
console.error("Failed to fetch from remote:", e.message);
|
|
72
|
+
process.exitCode = 1;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Check if there are upstream changes
|
|
76
|
+
let behind = 0;
|
|
77
|
+
try {
|
|
78
|
+
const behindStr = execSync("git rev-list --count HEAD..origin/main", execOpts);
|
|
79
|
+
behind = parseInt(String(behindStr).trim(), 10) || 0;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// If we can't determine, proceed with update
|
|
83
|
+
behind = -1;
|
|
84
|
+
}
|
|
85
|
+
if (behind === 0) {
|
|
86
|
+
// Check version in case local changes were made
|
|
87
|
+
const latestVer = readVersionFromPackageJson(installDir);
|
|
88
|
+
if (latestVer === CLI_VERSION) {
|
|
89
|
+
console.log(`Already up to date (v${CLI_VERSION}).`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (opts?.check) {
|
|
94
|
+
if (behind > 0) {
|
|
95
|
+
const latestVer = readVersionFromPackageJson(installDir);
|
|
96
|
+
console.log(`Update available: v${CLI_VERSION} -> v${latestVer ?? "unknown"} (${behind} commit${behind === 1 ? "" : "s"} behind)`);
|
|
97
|
+
}
|
|
98
|
+
else if (behind === 0) {
|
|
99
|
+
console.log(`Already up to date (v${CLI_VERSION}).`);
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Perform the update
|
|
104
|
+
const showExecOpts = {
|
|
105
|
+
...execOpts,
|
|
106
|
+
stdio: "inherit",
|
|
107
|
+
};
|
|
108
|
+
console.log(`Updating from v${CLI_VERSION} ...`);
|
|
109
|
+
console.log();
|
|
110
|
+
// Step 1: Pull
|
|
111
|
+
try {
|
|
112
|
+
console.log("Pulling latest changes ...");
|
|
113
|
+
execSync("git pull --ff-only origin main", showExecOpts);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
console.error("Failed to pull latest changes. You may have local modifications.");
|
|
117
|
+
console.error("Try: git -C " + installDir + " stash && adit self-update");
|
|
118
|
+
process.exitCode = 1;
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
// Step 2: Install dependencies
|
|
122
|
+
try {
|
|
123
|
+
console.log();
|
|
124
|
+
console.log("Installing dependencies ...");
|
|
125
|
+
execSync("pnpm install --frozen-lockfile", {
|
|
126
|
+
...showExecOpts,
|
|
127
|
+
env: { ...process.env, COREPACK_ENABLE_STRICT: "0" },
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Retry without frozen lockfile
|
|
132
|
+
try {
|
|
133
|
+
execSync("pnpm install", {
|
|
134
|
+
...showExecOpts,
|
|
135
|
+
env: { ...process.env, COREPACK_ENABLE_STRICT: "0" },
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
console.error("Failed to install dependencies.");
|
|
140
|
+
process.exitCode = 1;
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Step 3: Build
|
|
145
|
+
try {
|
|
146
|
+
console.log();
|
|
147
|
+
console.log("Building ...");
|
|
148
|
+
execSync("pnpm build", showExecOpts);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
console.error("Build failed.");
|
|
152
|
+
process.exitCode = 1;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// Step 4: Report
|
|
156
|
+
const newVer = readVersionFromPackageJson(installDir);
|
|
157
|
+
console.log();
|
|
158
|
+
console.log(`Updated successfully: v${CLI_VERSION} -> v${newVer ?? "unknown"}`);
|
|
159
|
+
console.log("Run `adit doctor` to verify your installation.");
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=self-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/commands/self-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFhE"}
|