@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,513 @@
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 { createConfigStore, getValue, setValue, } from '@defai.digital/config-domain';
12
+ import { safeValidateConfig, } from '@defai.digital/contracts';
13
+ // ============================================================================
14
+ // Constants
15
+ // ============================================================================
16
+ const COLORS = {
17
+ reset: '\x1b[0m',
18
+ green: '\x1b[32m',
19
+ red: '\x1b[31m',
20
+ yellow: '\x1b[33m',
21
+ cyan: '\x1b[36m',
22
+ bold: '\x1b[1m',
23
+ dim: '\x1b[2m',
24
+ };
25
+ const ICONS = {
26
+ check: `${COLORS.green}\u2713${COLORS.reset}`,
27
+ cross: `${COLORS.red}\u2717${COLORS.reset}`,
28
+ warn: `${COLORS.yellow}\u26A0${COLORS.reset}`,
29
+ arrow: `${COLORS.cyan}\u2192${COLORS.reset}`,
30
+ };
31
+ /**
32
+ * Parses scope from arguments
33
+ */
34
+ function parseScope(args) {
35
+ for (const arg of args) {
36
+ if (arg === '--global' || arg === '-g')
37
+ return 'global';
38
+ if (arg === '--local' || arg === '-l')
39
+ return 'local';
40
+ if (arg === '--merged' || arg === '-m')
41
+ return 'merged';
42
+ }
43
+ return 'merged';
44
+ }
45
+ /**
46
+ * Formats a config value for display
47
+ */
48
+ function formatValue(value) {
49
+ if (value === undefined) {
50
+ return `${COLORS.dim}(undefined)${COLORS.reset}`;
51
+ }
52
+ if (value === null) {
53
+ return `${COLORS.dim}null${COLORS.reset}`;
54
+ }
55
+ if (typeof value === 'boolean') {
56
+ return value ? `${COLORS.green}true${COLORS.reset}` : `${COLORS.red}false${COLORS.reset}`;
57
+ }
58
+ if (typeof value === 'number') {
59
+ return `${COLORS.cyan}${String(value)}${COLORS.reset}`;
60
+ }
61
+ if (typeof value === 'string') {
62
+ return `"${value}"`;
63
+ }
64
+ if (Array.isArray(value)) {
65
+ return JSON.stringify(value, null, 2);
66
+ }
67
+ if (typeof value === 'object') {
68
+ return JSON.stringify(value, null, 2);
69
+ }
70
+ return String(value);
71
+ }
72
+ /**
73
+ * Parses a value from string input
74
+ */
75
+ function parseValue(input) {
76
+ // Try to parse as JSON
77
+ try {
78
+ return JSON.parse(input);
79
+ }
80
+ catch {
81
+ // Return as string if not valid JSON
82
+ return input;
83
+ }
84
+ }
85
+ // ============================================================================
86
+ // Subcommand Handlers
87
+ // ============================================================================
88
+ /**
89
+ * Shows full configuration
90
+ */
91
+ async function handleShow(args, options) {
92
+ const store = createConfigStore();
93
+ const scope = parseScope(args);
94
+ const isJson = options.format === 'json';
95
+ try {
96
+ let config;
97
+ if (scope === 'merged') {
98
+ config = await store.readMerged();
99
+ }
100
+ else {
101
+ config = await store.read(scope);
102
+ }
103
+ if (config === undefined) {
104
+ if (isJson) {
105
+ return {
106
+ success: false,
107
+ message: undefined,
108
+ data: { error: `No configuration found for scope: ${scope}` },
109
+ exitCode: 1,
110
+ };
111
+ }
112
+ return {
113
+ success: false,
114
+ message: `${ICONS.cross} No configuration found for scope: ${scope}`,
115
+ data: undefined,
116
+ exitCode: 1,
117
+ };
118
+ }
119
+ if (isJson) {
120
+ return {
121
+ success: true,
122
+ message: undefined,
123
+ data: { scope, config },
124
+ exitCode: 0,
125
+ };
126
+ }
127
+ // Text format
128
+ const output = [];
129
+ output.push('');
130
+ output.push(`${COLORS.bold}AutomatosX Configuration (${scope})${COLORS.reset}`);
131
+ output.push('\u2500'.repeat(50));
132
+ output.push('');
133
+ // Version and metadata
134
+ output.push(`${COLORS.bold}Version:${COLORS.reset} ${config.version}`);
135
+ output.push(`${COLORS.bold}Log Level:${COLORS.reset} ${config.logLevel}`);
136
+ output.push(`${COLORS.bold}Telemetry:${COLORS.reset} ${config.telemetryEnabled ? 'enabled' : 'disabled'}`);
137
+ output.push('');
138
+ // Providers (Record format keyed by provider name)
139
+ output.push(`${COLORS.bold}Providers:${COLORS.reset}`);
140
+ const providerEntries = Object.entries(config.providers);
141
+ if (providerEntries.length === 0) {
142
+ output.push(' (no providers configured)');
143
+ }
144
+ else {
145
+ let i = 0;
146
+ for (const [providerId, p] of providerEntries) {
147
+ const isDefault = config.defaultProvider === providerId;
148
+ const status = p.enabled ? COLORS.green + 'enabled' + COLORS.reset : COLORS.red + 'disabled' + COLORS.reset;
149
+ const defaultMarker = isDefault ? ' [DEFAULT]' : '';
150
+ output.push(` ${String(i + 1)}. ${providerId} (priority: ${String(p.priority)}, ${status})${defaultMarker}`);
151
+ i++;
152
+ }
153
+ }
154
+ output.push('');
155
+ // Execution Policy
156
+ output.push(`${COLORS.bold}Execution Policy:${COLORS.reset}`);
157
+ output.push(` Timeout: ${String(config.executionPolicy.defaultTimeoutMs)}ms`);
158
+ output.push(` Max Retries: ${String(config.executionPolicy.maxRetries)}`);
159
+ output.push(` Parallel: ${config.executionPolicy.enableParallelExecution ? 'enabled' : 'disabled'}`);
160
+ output.push('');
161
+ // Features
162
+ output.push(`${COLORS.bold}Features:${COLORS.reset}`);
163
+ output.push(` Tracing: ${config.features.enableTracing ? 'enabled' : 'disabled'}`);
164
+ output.push(` Memory: ${config.features.enableMemoryPersistence ? 'enabled' : 'disabled'}`);
165
+ output.push(` Guard: ${config.features.enableGuard ? 'enabled' : 'disabled'}`);
166
+ output.push(` Metrics: ${config.features.enableMetrics ? 'enabled' : 'disabled'}`);
167
+ output.push('');
168
+ // Workspace
169
+ output.push(`${COLORS.bold}Workspace:${COLORS.reset}`);
170
+ output.push(` Data Dir: ${config.workspace.dataDir}`);
171
+ output.push('');
172
+ return {
173
+ success: true,
174
+ message: output.join('\n'),
175
+ data: undefined,
176
+ exitCode: 0,
177
+ };
178
+ }
179
+ catch (error) {
180
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
181
+ if (isJson) {
182
+ return {
183
+ success: false,
184
+ message: undefined,
185
+ data: { error: errorMessage },
186
+ exitCode: 1,
187
+ };
188
+ }
189
+ return {
190
+ success: false,
191
+ message: `${ICONS.cross} Error: ${errorMessage}`,
192
+ data: undefined,
193
+ exitCode: 1,
194
+ };
195
+ }
196
+ }
197
+ /**
198
+ * Gets a specific config value
199
+ */
200
+ async function handleGet(args, options) {
201
+ const store = createConfigStore();
202
+ const scope = parseScope(args);
203
+ const isJson = options.format === 'json';
204
+ // Find the path argument (first non-flag argument after 'get')
205
+ const path = args.find((arg) => !arg.startsWith('-') && arg !== 'get');
206
+ if (path === undefined) {
207
+ const message = 'Usage: ax config get <path> [--scope]';
208
+ if (isJson) {
209
+ return { success: false, message: undefined, data: { error: message }, exitCode: 1 };
210
+ }
211
+ return { success: false, message, data: undefined, exitCode: 1 };
212
+ }
213
+ try {
214
+ let config;
215
+ if (scope === 'merged') {
216
+ config = await store.readMerged();
217
+ }
218
+ else {
219
+ config = await store.read(scope);
220
+ }
221
+ if (config === undefined) {
222
+ if (isJson) {
223
+ return {
224
+ success: false,
225
+ message: undefined,
226
+ data: { error: 'No configuration found' },
227
+ exitCode: 1,
228
+ };
229
+ }
230
+ return {
231
+ success: false,
232
+ message: `${ICONS.cross} No configuration found`,
233
+ data: undefined,
234
+ exitCode: 1,
235
+ };
236
+ }
237
+ const value = getValue(config, path);
238
+ if (isJson) {
239
+ return {
240
+ success: true,
241
+ message: undefined,
242
+ data: { path, value, scope, found: value !== undefined },
243
+ exitCode: 0,
244
+ };
245
+ }
246
+ if (value === undefined) {
247
+ return {
248
+ success: true,
249
+ message: `${path}: ${COLORS.dim}(not set)${COLORS.reset}`,
250
+ data: undefined,
251
+ exitCode: 0,
252
+ };
253
+ }
254
+ return {
255
+ success: true,
256
+ message: formatValue(value),
257
+ data: undefined,
258
+ exitCode: 0,
259
+ };
260
+ }
261
+ catch (error) {
262
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
263
+ if (isJson) {
264
+ return { success: false, message: undefined, data: { error: errorMessage }, exitCode: 1 };
265
+ }
266
+ return { success: false, message: `${ICONS.cross} Error: ${errorMessage}`, data: undefined, exitCode: 1 };
267
+ }
268
+ }
269
+ /**
270
+ * Sets a config value
271
+ */
272
+ async function handleSet(args, options) {
273
+ const store = createConfigStore();
274
+ const isJson = options.format === 'json';
275
+ // Parse scope (default to global for set)
276
+ let scope = 'global';
277
+ for (const arg of args) {
278
+ if (arg === '--local' || arg === '-l')
279
+ scope = 'local';
280
+ if (arg === '--global' || arg === '-g')
281
+ scope = 'global';
282
+ }
283
+ // Find path and value (non-flag arguments after 'set')
284
+ const nonFlagArgs = args.filter((arg) => !arg.startsWith('-') && arg !== 'set');
285
+ const path = nonFlagArgs[0];
286
+ const valueStr = nonFlagArgs.slice(1).join(' ');
287
+ if (path === undefined || valueStr === '') {
288
+ const message = 'Usage: ax config set <path> <value> [--scope]';
289
+ if (isJson) {
290
+ return { success: false, message: undefined, data: { error: message }, exitCode: 1 };
291
+ }
292
+ return { success: false, message, data: undefined, exitCode: 1 };
293
+ }
294
+ try {
295
+ // Read existing config
296
+ let config = await store.read(scope);
297
+ if (config === undefined) {
298
+ if (isJson) {
299
+ return {
300
+ success: false,
301
+ message: undefined,
302
+ data: { error: `No ${scope} configuration found. Run 'ax setup' first.` },
303
+ exitCode: 1,
304
+ };
305
+ }
306
+ return {
307
+ success: false,
308
+ message: `${ICONS.cross} No ${scope} configuration found. Run 'ax setup' first.`,
309
+ data: undefined,
310
+ exitCode: 1,
311
+ };
312
+ }
313
+ const oldValue = getValue(config, path);
314
+ const newValue = parseValue(valueStr);
315
+ // Update config
316
+ config = setValue(config, path, newValue);
317
+ // Validate
318
+ const validation = safeValidateConfig(config);
319
+ if (!validation.success) {
320
+ const errors = validation.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`);
321
+ if (isJson) {
322
+ return {
323
+ success: false,
324
+ message: undefined,
325
+ data: { error: 'Validation failed', errors },
326
+ exitCode: 1,
327
+ };
328
+ }
329
+ return {
330
+ success: false,
331
+ message: `${ICONS.cross} Invalid value: ${errors.join(', ')}`,
332
+ data: undefined,
333
+ exitCode: 1,
334
+ };
335
+ }
336
+ // Save
337
+ await store.write(config, scope);
338
+ if (isJson) {
339
+ return {
340
+ success: true,
341
+ message: undefined,
342
+ data: { path, oldValue, newValue, scope },
343
+ exitCode: 0,
344
+ };
345
+ }
346
+ return {
347
+ success: true,
348
+ message: `${ICONS.check} Set ${path} = ${formatValue(newValue)}`,
349
+ data: undefined,
350
+ exitCode: 0,
351
+ };
352
+ }
353
+ catch (error) {
354
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
355
+ if (isJson) {
356
+ return { success: false, message: undefined, data: { error: errorMessage }, exitCode: 1 };
357
+ }
358
+ return { success: false, message: `${ICONS.cross} Error: ${errorMessage}`, data: undefined, exitCode: 1 };
359
+ }
360
+ }
361
+ /**
362
+ * Resets configuration to defaults
363
+ */
364
+ async function handleReset(args, options) {
365
+ const store = createConfigStore();
366
+ const isJson = options.format === 'json';
367
+ // Parse scope
368
+ let scope = 'global';
369
+ let confirmed = false;
370
+ for (const arg of args) {
371
+ if (arg === '--local' || arg === '-l')
372
+ scope = 'local';
373
+ if (arg === '--global' || arg === '-g')
374
+ scope = 'global';
375
+ if (arg === '--all' || arg === '-a')
376
+ scope = 'all';
377
+ if (arg === '--confirm' || arg === '-y')
378
+ confirmed = true;
379
+ }
380
+ if (!confirmed) {
381
+ const message = `This will delete ${scope} configuration. Use --confirm to proceed.`;
382
+ if (isJson) {
383
+ return { success: false, message: undefined, data: { error: message }, exitCode: 1 };
384
+ }
385
+ return { success: false, message: `${ICONS.warn} ${message}`, data: undefined, exitCode: 1 };
386
+ }
387
+ try {
388
+ const deleted = [];
389
+ if (scope === 'all' || scope === 'global') {
390
+ const globalDeleted = await store.delete('global');
391
+ if (globalDeleted)
392
+ deleted.push('global');
393
+ }
394
+ if (scope === 'all' || scope === 'local') {
395
+ const localDeleted = await store.delete('local');
396
+ if (localDeleted)
397
+ deleted.push('local');
398
+ }
399
+ if (isJson) {
400
+ return {
401
+ success: true,
402
+ message: undefined,
403
+ data: { scope, deleted },
404
+ exitCode: 0,
405
+ };
406
+ }
407
+ if (deleted.length === 0) {
408
+ return {
409
+ success: true,
410
+ message: `${ICONS.warn} No configuration files found to delete`,
411
+ data: undefined,
412
+ exitCode: 0,
413
+ };
414
+ }
415
+ return {
416
+ success: true,
417
+ message: `${ICONS.check} Deleted configuration: ${deleted.join(', ')}`,
418
+ data: undefined,
419
+ exitCode: 0,
420
+ };
421
+ }
422
+ catch (error) {
423
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
424
+ if (isJson) {
425
+ return { success: false, message: undefined, data: { error: errorMessage }, exitCode: 1 };
426
+ }
427
+ return { success: false, message: `${ICONS.cross} Error: ${errorMessage}`, data: undefined, exitCode: 1 };
428
+ }
429
+ }
430
+ /**
431
+ * Shows config file paths
432
+ */
433
+ async function handlePath(_args, options) {
434
+ const store = createConfigStore();
435
+ const isJson = options.format === 'json';
436
+ const globalPath = store.getPath('global');
437
+ const localPath = store.getPath('local');
438
+ const globalExists = await store.exists('global');
439
+ const localExists = await store.exists('local');
440
+ if (isJson) {
441
+ return {
442
+ success: true,
443
+ message: undefined,
444
+ data: {
445
+ global: { path: globalPath, exists: globalExists },
446
+ local: { path: localPath, exists: localExists },
447
+ },
448
+ exitCode: 0,
449
+ };
450
+ }
451
+ const output = [];
452
+ output.push('');
453
+ output.push(`${COLORS.bold}Configuration Paths${COLORS.reset}`);
454
+ output.push('');
455
+ output.push(`Global: ${globalPath} ${globalExists ? COLORS.green + '(exists)' + COLORS.reset : COLORS.dim + '(not found)' + COLORS.reset}`);
456
+ output.push(`Local: ${localPath} ${localExists ? COLORS.green + '(exists)' + COLORS.reset : COLORS.dim + '(not found)' + COLORS.reset}`);
457
+ output.push('');
458
+ return {
459
+ success: true,
460
+ message: output.join('\n'),
461
+ data: undefined,
462
+ exitCode: 0,
463
+ };
464
+ }
465
+ // ============================================================================
466
+ // Main Command Handler
467
+ // ============================================================================
468
+ /**
469
+ * Config command handler
470
+ */
471
+ export async function configCommand(args, options) {
472
+ const subcommand = args[0];
473
+ switch (subcommand) {
474
+ case 'show':
475
+ return handleShow(args.slice(1), options);
476
+ case 'get':
477
+ return handleGet(args.slice(1), options);
478
+ case 'set':
479
+ return handleSet(args.slice(1), options);
480
+ case 'reset':
481
+ return handleReset(args.slice(1), options);
482
+ case 'path':
483
+ return handlePath(args.slice(1), options);
484
+ default:
485
+ // Default to 'show' if no subcommand
486
+ if (subcommand === undefined || subcommand.startsWith('-')) {
487
+ return handleShow(args, options);
488
+ }
489
+ const message = `Unknown subcommand: ${subcommand}
490
+
491
+ Usage: ax config <subcommand> [options]
492
+
493
+ Subcommands:
494
+ show Show current configuration
495
+ get Get a specific config value
496
+ set Set a config value
497
+ reset Reset configuration to defaults
498
+ path Show config file paths
499
+
500
+ Examples:
501
+ ax config show
502
+ ax config get logLevel
503
+ ax config set logLevel debug
504
+ ax config reset --confirm`;
505
+ return {
506
+ success: false,
507
+ message,
508
+ data: undefined,
509
+ exitCode: 1,
510
+ };
511
+ }
512
+ }
513
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Discuss Command - Multi-model discussion orchestration
3
+ *
4
+ * Usage: ax discuss <topic>
5
+ * ax discuss --providers claude,glm,qwen "Design a REST API"
6
+ * ax discuss --pattern debate "Is microservices better than monolith?"
7
+ *
8
+ * Enables multiple AI models to discuss a topic from their unique perspectives,
9
+ * building consensus through various patterns and mechanisms.
10
+ */
11
+ import type { CommandResult, CLIOptions } from '../types.js';
12
+ /**
13
+ * Discuss command handler
14
+ */
15
+ export declare function discussCommand(args: string[], options: CLIOptions): Promise<CommandResult>;
16
+ //# sourceMappingURL=discuss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discuss.d.ts","sourceRoot":"","sources":["../../src/commands/discuss.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAujB7D;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAwOxB"}