@defai.digital/cli 13.1.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.
- package/LICENSE +214 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +11 -0
- package/dist/bin.js.map +1 -0
- package/dist/bootstrap.d.ts +144 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +315 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +84 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/ability.d.ts +17 -0
- package/dist/commands/ability.d.ts.map +1 -0
- package/dist/commands/ability.js +286 -0
- package/dist/commands/ability.js.map +1 -0
- package/dist/commands/agent.d.ts +18 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +361 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/call.d.ts +15 -0
- package/dist/commands/call.d.ts.map +1 -0
- package/dist/commands/call.js +503 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/cleanup.d.ts +18 -0
- package/dist/commands/cleanup.d.ts.map +1 -0
- package/dist/commands/cleanup.js +300 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/config.d.ts +16 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +513 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/discuss.d.ts +16 -0
- package/dist/commands/discuss.d.ts.map +1 -0
- package/dist/commands/discuss.js +700 -0
- package/dist/commands/discuss.js.map +1 -0
- package/dist/commands/doctor.d.ts +48 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +356 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/guard.d.ts +12 -0
- package/dist/commands/guard.d.ts.map +1 -0
- package/dist/commands/guard.js +225 -0
- package/dist/commands/guard.js.map +1 -0
- package/dist/commands/help.d.ts +11 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +180 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/history.d.ts +19 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +200 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/index.d.ts +23 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +26 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/iterate.d.ts +16 -0
- package/dist/commands/iterate.d.ts.map +1 -0
- package/dist/commands/iterate.js +72 -0
- package/dist/commands/iterate.js.map +1 -0
- package/dist/commands/list.d.ts +6 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +62 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/mcp.d.ts +16 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +57 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/resume.d.ts +18 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +208 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/review.d.ts +13 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +450 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/run.d.ts +6 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +158 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scaffold.d.ts +20 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/scaffold.js +924 -0
- package/dist/commands/scaffold.js.map +1 -0
- package/dist/commands/session.d.ts +20 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +504 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/setup.d.ts +14 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +762 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +17 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +227 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/trace.d.ts +6 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +204 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/commands/update.d.ts +24 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +296 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/parser.d.ts +14 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +288 -0
- package/dist/parser.js.map +1 -0
- package/dist/types.d.ts +91 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +29 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/dangerous-op-guard.d.ts +33 -0
- package/dist/utils/dangerous-op-guard.d.ts.map +1 -0
- package/dist/utils/dangerous-op-guard.js +112 -0
- package/dist/utils/dangerous-op-guard.js.map +1 -0
- package/dist/utils/database.d.ts +85 -0
- package/dist/utils/database.d.ts.map +1 -0
- package/dist/utils/database.js +184 -0
- package/dist/utils/database.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/provider-factory.d.ts +31 -0
- package/dist/utils/provider-factory.d.ts.map +1 -0
- package/dist/utils/provider-factory.js +109 -0
- package/dist/utils/provider-factory.js.map +1 -0
- package/dist/utils/storage-instances.d.ts +19 -0
- package/dist/utils/storage-instances.d.ts.map +1 -0
- package/dist/utils/storage-instances.js +20 -0
- package/dist/utils/storage-instances.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cleanup Command
|
|
3
|
+
*
|
|
4
|
+
* Clean up old data based on retention policies.
|
|
5
|
+
* Supports dry run mode by default for safety.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ax cleanup # Dry run (show what would be cleaned)
|
|
9
|
+
* ax cleanup --force # Actually perform cleanup
|
|
10
|
+
* ax cleanup --older-than=7 # Clean data older than 7 days
|
|
11
|
+
* ax cleanup --types=checkpoints # Clean only checkpoints
|
|
12
|
+
*/
|
|
13
|
+
import { checkDangerousOp } from '../utils/dangerous-op-guard.js';
|
|
14
|
+
import { safeValidateCleanupOptions, } from '@defai.digital/contracts';
|
|
15
|
+
import { createSessionManager, createSessionStore, DEFAULT_SESSION_DOMAIN_CONFIG, } from '@defai.digital/session-domain';
|
|
16
|
+
import { getCheckpointStorage, getTraceStore, getDLQ, } from '../utils/storage-instances.js';
|
|
17
|
+
// Lazy-initialized shared instances
|
|
18
|
+
let sessionStore;
|
|
19
|
+
let sessionManager;
|
|
20
|
+
/**
|
|
21
|
+
* Get or create shared session instances
|
|
22
|
+
*/
|
|
23
|
+
function getSessionInstances() {
|
|
24
|
+
if (sessionStore === undefined) {
|
|
25
|
+
sessionStore = createSessionStore();
|
|
26
|
+
sessionManager = createSessionManager(sessionStore, DEFAULT_SESSION_DOMAIN_CONFIG);
|
|
27
|
+
}
|
|
28
|
+
return { store: sessionStore, manager: sessionManager };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Cleanup command handler
|
|
32
|
+
*/
|
|
33
|
+
export async function cleanupCommand(_args, options) {
|
|
34
|
+
// Parse and validate options
|
|
35
|
+
const rawOpts = extractCleanupOptions(options);
|
|
36
|
+
const validation = safeValidateCleanupOptions(rawOpts);
|
|
37
|
+
if (!validation.success) {
|
|
38
|
+
return {
|
|
39
|
+
success: false,
|
|
40
|
+
exitCode: 1,
|
|
41
|
+
message: `Invalid options: ${validation.error.errors.map((e) => e.message).join(', ')}`,
|
|
42
|
+
data: undefined,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const cleanupOpts = validation.data;
|
|
46
|
+
const dryRun = !cleanupOpts.force;
|
|
47
|
+
// Check dangerous operation guard if force cleanup
|
|
48
|
+
if (cleanupOpts.force) {
|
|
49
|
+
const extOpts = options;
|
|
50
|
+
const check = await checkDangerousOp('cleanup.force', {
|
|
51
|
+
force: extOpts.yes === true,
|
|
52
|
+
});
|
|
53
|
+
if (!check.allowed) {
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
exitCode: 1,
|
|
57
|
+
message: check.reason ?? 'Operation cancelled',
|
|
58
|
+
data: undefined,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Display header
|
|
63
|
+
if (options.format !== 'json') {
|
|
64
|
+
console.log('');
|
|
65
|
+
if (dryRun) {
|
|
66
|
+
console.log('Dry run - no data will be deleted:');
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.log('Cleaning up...');
|
|
70
|
+
}
|
|
71
|
+
console.log('');
|
|
72
|
+
}
|
|
73
|
+
// Perform cleanup for each type
|
|
74
|
+
const results = [];
|
|
75
|
+
let totalCount = 0;
|
|
76
|
+
let totalFreedBytes = 0;
|
|
77
|
+
for (const type of cleanupOpts.types) {
|
|
78
|
+
const result = await cleanDataType(type, cleanupOpts.olderThan, dryRun);
|
|
79
|
+
results.push(result);
|
|
80
|
+
totalCount += result.count;
|
|
81
|
+
if (result.freedBytes) {
|
|
82
|
+
totalFreedBytes += result.freedBytes;
|
|
83
|
+
}
|
|
84
|
+
if (options.format !== 'json') {
|
|
85
|
+
const action = dryRun ? 'would be' : '';
|
|
86
|
+
console.log(` ${type}: ${result.count} items ${action} cleaned`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const cleanupResult = {
|
|
90
|
+
cleaned: results,
|
|
91
|
+
totalCount,
|
|
92
|
+
totalFreedBytes: totalFreedBytes > 0 ? totalFreedBytes : undefined,
|
|
93
|
+
dryRun,
|
|
94
|
+
};
|
|
95
|
+
// Format output
|
|
96
|
+
if (options.format === 'json') {
|
|
97
|
+
return {
|
|
98
|
+
success: true,
|
|
99
|
+
exitCode: 0,
|
|
100
|
+
message: undefined,
|
|
101
|
+
data: cleanupResult,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// Text output summary
|
|
105
|
+
console.log('');
|
|
106
|
+
if (dryRun) {
|
|
107
|
+
console.log(`Total: ${totalCount} items would be cleaned.`);
|
|
108
|
+
if (totalCount > 0) {
|
|
109
|
+
console.log('Run with --force to actually clean.');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.log(`Total: ${totalCount} items cleaned.`);
|
|
114
|
+
if (totalFreedBytes > 0) {
|
|
115
|
+
console.log(`Freed: ${formatBytes(totalFreedBytes)}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
console.log('');
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
exitCode: 0,
|
|
122
|
+
message: undefined,
|
|
123
|
+
data: cleanupResult,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extract cleanup options from CLI options
|
|
128
|
+
*/
|
|
129
|
+
function extractCleanupOptions(options) {
|
|
130
|
+
const opts = options;
|
|
131
|
+
const types = parseTypes(opts.types);
|
|
132
|
+
return {
|
|
133
|
+
force: opts.force === true,
|
|
134
|
+
types: types.length > 0 ? types : undefined,
|
|
135
|
+
olderThan: parseNumber(opts['older-than'] ?? opts.olderThan),
|
|
136
|
+
format: options.format,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Parse types option
|
|
141
|
+
*/
|
|
142
|
+
function parseTypes(value) {
|
|
143
|
+
if (!value)
|
|
144
|
+
return [];
|
|
145
|
+
if (typeof value === 'string') {
|
|
146
|
+
return value.split(',');
|
|
147
|
+
}
|
|
148
|
+
if (Array.isArray(value)) {
|
|
149
|
+
return value;
|
|
150
|
+
}
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Parse number option
|
|
155
|
+
*/
|
|
156
|
+
function parseNumber(value) {
|
|
157
|
+
if (value === undefined || value === null)
|
|
158
|
+
return undefined;
|
|
159
|
+
const num = Number(value);
|
|
160
|
+
return isNaN(num) ? undefined : num;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Clean data of a specific type
|
|
164
|
+
*/
|
|
165
|
+
async function cleanDataType(type, olderThanDays, dryRun) {
|
|
166
|
+
switch (type) {
|
|
167
|
+
case 'checkpoints':
|
|
168
|
+
return cleanCheckpoints(olderThanDays, dryRun);
|
|
169
|
+
case 'sessions':
|
|
170
|
+
return cleanSessions(olderThanDays, dryRun);
|
|
171
|
+
case 'traces':
|
|
172
|
+
return cleanTraces(olderThanDays, dryRun);
|
|
173
|
+
case 'dlq':
|
|
174
|
+
return cleanDLQ(olderThanDays, dryRun);
|
|
175
|
+
default:
|
|
176
|
+
return { type, count: 0 };
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Clean expired checkpoints
|
|
181
|
+
* Uses checkpoint storage's deleteExpired() method
|
|
182
|
+
*/
|
|
183
|
+
async function cleanCheckpoints(_olderThanDays, dryRun) {
|
|
184
|
+
try {
|
|
185
|
+
const storage = getCheckpointStorage();
|
|
186
|
+
// For dry run, we can't easily count expired without deletion
|
|
187
|
+
// So we return 0 for dry run and actual count for real cleanup
|
|
188
|
+
if (dryRun) {
|
|
189
|
+
// List all checkpoints to give an estimate
|
|
190
|
+
// Note: This is an approximation since we can't filter by date easily
|
|
191
|
+
const allCheckpoints = await storage.list('*');
|
|
192
|
+
return { type: 'checkpoints', count: allCheckpoints.length };
|
|
193
|
+
}
|
|
194
|
+
// Actually delete expired checkpoints
|
|
195
|
+
const deletedCount = await storage.deleteExpired();
|
|
196
|
+
return { type: 'checkpoints', count: deletedCount };
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return { type: 'checkpoints', count: 0 };
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Clean old sessions
|
|
204
|
+
* Sessions are cleaned if they are completed/failed AND older than threshold
|
|
205
|
+
*/
|
|
206
|
+
async function cleanSessions(olderThanDays, dryRun) {
|
|
207
|
+
try {
|
|
208
|
+
const { store } = getSessionInstances();
|
|
209
|
+
const cutoffDate = getCutoffDate(olderThanDays);
|
|
210
|
+
// Get all sessions
|
|
211
|
+
const sessions = await store.list();
|
|
212
|
+
// Find sessions to clean (completed/failed and older than threshold)
|
|
213
|
+
const toClean = sessions.filter((session) => {
|
|
214
|
+
// Only clean completed or failed sessions
|
|
215
|
+
if (session.status === 'active')
|
|
216
|
+
return false;
|
|
217
|
+
// Check age
|
|
218
|
+
const createdAt = new Date(session.createdAt);
|
|
219
|
+
return createdAt < cutoffDate;
|
|
220
|
+
});
|
|
221
|
+
// If not dry run, actually delete
|
|
222
|
+
if (!dryRun) {
|
|
223
|
+
for (const session of toClean) {
|
|
224
|
+
await store.delete(session.sessionId);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return { type: 'sessions', count: toClean.length };
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// Return 0 on error
|
|
231
|
+
return { type: 'sessions', count: 0 };
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Calculate cutoff date based on older-than days
|
|
236
|
+
*/
|
|
237
|
+
function getCutoffDate(olderThanDays) {
|
|
238
|
+
const days = olderThanDays ?? 30; // Default 30 days
|
|
239
|
+
const cutoff = new Date();
|
|
240
|
+
cutoff.setDate(cutoff.getDate() - days);
|
|
241
|
+
return cutoff;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Clean old traces
|
|
245
|
+
* Deletes traces older than the specified cutoff date
|
|
246
|
+
*/
|
|
247
|
+
async function cleanTraces(olderThanDays, dryRun) {
|
|
248
|
+
try {
|
|
249
|
+
const store = getTraceStore();
|
|
250
|
+
const cutoffDate = getCutoffDate(olderThanDays);
|
|
251
|
+
// List all trace summaries (up to 1000 for cleanup)
|
|
252
|
+
const summaries = await store.listTraces(1000);
|
|
253
|
+
// Find traces to delete (older than cutoff)
|
|
254
|
+
const toDelete = summaries.filter((s) => new Date(s.startTime) < cutoffDate);
|
|
255
|
+
// If not dry run, actually delete
|
|
256
|
+
if (!dryRun) {
|
|
257
|
+
for (const trace of toDelete) {
|
|
258
|
+
await store.deleteTrace(trace.traceId);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return { type: 'traces', count: toDelete.length };
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
return { type: 'traces', count: 0 };
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Clean resolved DLQ entries
|
|
269
|
+
* Purges resolved entries based on retention configuration
|
|
270
|
+
*/
|
|
271
|
+
async function cleanDLQ(_olderThanDays, dryRun) {
|
|
272
|
+
try {
|
|
273
|
+
const dlq = getDLQ();
|
|
274
|
+
if (dryRun) {
|
|
275
|
+
// For dry run, get stats to show how many resolved entries exist
|
|
276
|
+
const stats = await dlq.getStats();
|
|
277
|
+
return { type: 'dlq', count: stats.resolvedCount };
|
|
278
|
+
}
|
|
279
|
+
// Actually purge resolved entries
|
|
280
|
+
// Note: purgeResolved() uses the DLQ config's retentionDays
|
|
281
|
+
const purgedCount = await dlq.purgeResolved();
|
|
282
|
+
return { type: 'dlq', count: purgedCount };
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
return { type: 'dlq', count: 0 };
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Format bytes to human-readable string
|
|
290
|
+
*/
|
|
291
|
+
function formatBytes(bytes) {
|
|
292
|
+
if (bytes < 1024)
|
|
293
|
+
return `${bytes}B`;
|
|
294
|
+
if (bytes < 1024 * 1024)
|
|
295
|
+
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
296
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
297
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
298
|
+
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)}GB`;
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config command - Configuration management for AutomatosX
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* - show: Display current configuration
|
|
6
|
+
* - get: Get a specific config value
|
|
7
|
+
* - set: Set a config value
|
|
8
|
+
* - reset: Reset configuration to defaults
|
|
9
|
+
* - path: Show config file paths
|
|
10
|
+
*/
|
|
11
|
+
import type { CommandResult, CLIOptions } from '../types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Config command handler
|
|
14
|
+
*/
|
|
15
|
+
export declare function configCommand(args: string[], options: CLIOptions): Promise<CommandResult>;
|
|
16
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6gB7D;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CA4CxB"}
|