@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.
Files changed (138) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +11 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +144 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +315 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/cli.d.ts +14 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +84 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands/ability.d.ts +17 -0
  15. package/dist/commands/ability.d.ts.map +1 -0
  16. package/dist/commands/ability.js +286 -0
  17. package/dist/commands/ability.js.map +1 -0
  18. package/dist/commands/agent.d.ts +18 -0
  19. package/dist/commands/agent.d.ts.map +1 -0
  20. package/dist/commands/agent.js +361 -0
  21. package/dist/commands/agent.js.map +1 -0
  22. package/dist/commands/call.d.ts +15 -0
  23. package/dist/commands/call.d.ts.map +1 -0
  24. package/dist/commands/call.js +503 -0
  25. package/dist/commands/call.js.map +1 -0
  26. package/dist/commands/cleanup.d.ts +18 -0
  27. package/dist/commands/cleanup.d.ts.map +1 -0
  28. package/dist/commands/cleanup.js +300 -0
  29. package/dist/commands/cleanup.js.map +1 -0
  30. package/dist/commands/config.d.ts +16 -0
  31. package/dist/commands/config.d.ts.map +1 -0
  32. package/dist/commands/config.js +513 -0
  33. package/dist/commands/config.js.map +1 -0
  34. package/dist/commands/discuss.d.ts +16 -0
  35. package/dist/commands/discuss.d.ts.map +1 -0
  36. package/dist/commands/discuss.js +700 -0
  37. package/dist/commands/discuss.js.map +1 -0
  38. package/dist/commands/doctor.d.ts +48 -0
  39. package/dist/commands/doctor.d.ts.map +1 -0
  40. package/dist/commands/doctor.js +356 -0
  41. package/dist/commands/doctor.js.map +1 -0
  42. package/dist/commands/guard.d.ts +12 -0
  43. package/dist/commands/guard.d.ts.map +1 -0
  44. package/dist/commands/guard.js +225 -0
  45. package/dist/commands/guard.js.map +1 -0
  46. package/dist/commands/help.d.ts +11 -0
  47. package/dist/commands/help.d.ts.map +1 -0
  48. package/dist/commands/help.js +180 -0
  49. package/dist/commands/help.js.map +1 -0
  50. package/dist/commands/history.d.ts +19 -0
  51. package/dist/commands/history.d.ts.map +1 -0
  52. package/dist/commands/history.js +200 -0
  53. package/dist/commands/history.js.map +1 -0
  54. package/dist/commands/index.d.ts +23 -0
  55. package/dist/commands/index.d.ts.map +1 -0
  56. package/dist/commands/index.js +26 -0
  57. package/dist/commands/index.js.map +1 -0
  58. package/dist/commands/iterate.d.ts +16 -0
  59. package/dist/commands/iterate.d.ts.map +1 -0
  60. package/dist/commands/iterate.js +72 -0
  61. package/dist/commands/iterate.js.map +1 -0
  62. package/dist/commands/list.d.ts +6 -0
  63. package/dist/commands/list.d.ts.map +1 -0
  64. package/dist/commands/list.js +62 -0
  65. package/dist/commands/list.js.map +1 -0
  66. package/dist/commands/mcp.d.ts +16 -0
  67. package/dist/commands/mcp.d.ts.map +1 -0
  68. package/dist/commands/mcp.js +57 -0
  69. package/dist/commands/mcp.js.map +1 -0
  70. package/dist/commands/resume.d.ts +18 -0
  71. package/dist/commands/resume.d.ts.map +1 -0
  72. package/dist/commands/resume.js +208 -0
  73. package/dist/commands/resume.js.map +1 -0
  74. package/dist/commands/review.d.ts +13 -0
  75. package/dist/commands/review.d.ts.map +1 -0
  76. package/dist/commands/review.js +450 -0
  77. package/dist/commands/review.js.map +1 -0
  78. package/dist/commands/run.d.ts +6 -0
  79. package/dist/commands/run.d.ts.map +1 -0
  80. package/dist/commands/run.js +158 -0
  81. package/dist/commands/run.js.map +1 -0
  82. package/dist/commands/scaffold.d.ts +20 -0
  83. package/dist/commands/scaffold.d.ts.map +1 -0
  84. package/dist/commands/scaffold.js +924 -0
  85. package/dist/commands/scaffold.js.map +1 -0
  86. package/dist/commands/session.d.ts +20 -0
  87. package/dist/commands/session.d.ts.map +1 -0
  88. package/dist/commands/session.js +504 -0
  89. package/dist/commands/session.js.map +1 -0
  90. package/dist/commands/setup.d.ts +14 -0
  91. package/dist/commands/setup.d.ts.map +1 -0
  92. package/dist/commands/setup.js +762 -0
  93. package/dist/commands/setup.js.map +1 -0
  94. package/dist/commands/status.d.ts +17 -0
  95. package/dist/commands/status.d.ts.map +1 -0
  96. package/dist/commands/status.js +227 -0
  97. package/dist/commands/status.js.map +1 -0
  98. package/dist/commands/trace.d.ts +6 -0
  99. package/dist/commands/trace.d.ts.map +1 -0
  100. package/dist/commands/trace.js +204 -0
  101. package/dist/commands/trace.js.map +1 -0
  102. package/dist/commands/update.d.ts +24 -0
  103. package/dist/commands/update.d.ts.map +1 -0
  104. package/dist/commands/update.js +296 -0
  105. package/dist/commands/update.js.map +1 -0
  106. package/dist/index.d.ts +8 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +13 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/parser.d.ts +14 -0
  111. package/dist/parser.d.ts.map +1 -0
  112. package/dist/parser.js +288 -0
  113. package/dist/parser.js.map +1 -0
  114. package/dist/types.d.ts +91 -0
  115. package/dist/types.d.ts.map +1 -0
  116. package/dist/types.js +29 -0
  117. package/dist/types.js.map +1 -0
  118. package/dist/utils/dangerous-op-guard.d.ts +33 -0
  119. package/dist/utils/dangerous-op-guard.d.ts.map +1 -0
  120. package/dist/utils/dangerous-op-guard.js +112 -0
  121. package/dist/utils/dangerous-op-guard.js.map +1 -0
  122. package/dist/utils/database.d.ts +85 -0
  123. package/dist/utils/database.d.ts.map +1 -0
  124. package/dist/utils/database.js +184 -0
  125. package/dist/utils/database.js.map +1 -0
  126. package/dist/utils/index.d.ts +7 -0
  127. package/dist/utils/index.d.ts.map +1 -0
  128. package/dist/utils/index.js +7 -0
  129. package/dist/utils/index.js.map +1 -0
  130. package/dist/utils/provider-factory.d.ts +31 -0
  131. package/dist/utils/provider-factory.d.ts.map +1 -0
  132. package/dist/utils/provider-factory.js +109 -0
  133. package/dist/utils/provider-factory.js.map +1 -0
  134. package/dist/utils/storage-instances.d.ts +19 -0
  135. package/dist/utils/storage-instances.d.ts.map +1 -0
  136. package/dist/utils/storage-instances.js +20 -0
  137. package/dist/utils/storage-instances.js.map +1 -0
  138. 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"}