@defai.digital/ax-cli 3.14.14 → 3.14.17

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 (72) hide show
  1. package/.ax-cli/CUSTOM.md +97 -0
  2. package/.ax-cli/auto-accept-audit.json +1302 -0
  3. package/.ax-cli/index.json +43 -0
  4. package/.ax-cli/memory.json +62 -0
  5. package/.ax-cli/settings.json +39 -0
  6. package/README.md +47 -2
  7. package/ax.config.json +304 -0
  8. package/dist/agent/agent-executor.d.ts +61 -0
  9. package/dist/agent/agent-executor.js +185 -0
  10. package/dist/agent/agent-executor.js.map +1 -0
  11. package/dist/agent/agent-router.d.ts +68 -0
  12. package/dist/agent/agent-router.js +250 -0
  13. package/dist/agent/agent-router.js.map +1 -0
  14. package/dist/analyzers/ast/tree-sitter-parser.d.ts +134 -0
  15. package/dist/analyzers/ast/tree-sitter-parser.js +730 -0
  16. package/dist/analyzers/ast/tree-sitter-parser.js.map +1 -0
  17. package/dist/commands/setup.js +128 -31
  18. package/dist/commands/setup.js.map +1 -1
  19. package/dist/commands/update.js +55 -2
  20. package/dist/commands/update.js.map +1 -1
  21. package/dist/commands/vscode.js +2 -2
  22. package/dist/commands/vscode.js.map +1 -1
  23. package/dist/index.js +5 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/config-detector-v2.d.ts +83 -0
  26. package/dist/mcp/config-detector-v2.js +328 -0
  27. package/dist/mcp/config-detector-v2.js.map +1 -0
  28. package/dist/mcp/config-migrator-v2.d.ts +89 -0
  29. package/dist/mcp/config-migrator-v2.js +288 -0
  30. package/dist/mcp/config-migrator-v2.js.map +1 -0
  31. package/dist/mcp/config-v2.d.ts +111 -0
  32. package/dist/mcp/config-v2.js +443 -0
  33. package/dist/mcp/config-v2.js.map +1 -0
  34. package/dist/mcp/templates.js +3 -3
  35. package/dist/mcp/templates.js.map +1 -1
  36. package/dist/mcp/transports-v2.d.ts +152 -0
  37. package/dist/mcp/transports-v2.js +481 -0
  38. package/dist/mcp/transports-v2.js.map +1 -0
  39. package/dist/schemas/settings-schemas.d.ts +20 -0
  40. package/dist/schemas/settings-schemas.js +18 -0
  41. package/dist/schemas/settings-schemas.js.map +1 -1
  42. package/dist/ui/components/chat-interface.d.ts +3 -1
  43. package/dist/ui/components/chat-interface.js +32 -4
  44. package/dist/ui/components/chat-interface.js.map +1 -1
  45. package/dist/ui/components/status-bar.d.ts +2 -0
  46. package/dist/ui/components/status-bar.js +8 -4
  47. package/dist/ui/components/status-bar.js.map +1 -1
  48. package/dist/ui/hooks/use-input-handler.d.ts +4 -1
  49. package/dist/ui/hooks/use-input-handler.js +80 -1
  50. package/dist/ui/hooks/use-input-handler.js.map +1 -1
  51. package/dist/utils/error-sanitizer.d.ts +119 -0
  52. package/dist/utils/error-sanitizer.js +253 -0
  53. package/dist/utils/error-sanitizer.js.map +1 -0
  54. package/dist/utils/errors.d.ts +74 -0
  55. package/dist/utils/errors.js +139 -0
  56. package/dist/utils/errors.js.map +1 -0
  57. package/dist/utils/incremental-analyzer.d.ts +134 -0
  58. package/dist/utils/incremental-analyzer.js +377 -0
  59. package/dist/utils/incremental-analyzer.js.map +1 -0
  60. package/dist/utils/math.d.ts +1 -0
  61. package/dist/utils/math.js +4 -0
  62. package/dist/utils/math.js.map +1 -0
  63. package/dist/utils/settings-manager.d.ts +13 -0
  64. package/dist/utils/settings-manager.js +19 -0
  65. package/dist/utils/settings-manager.js.map +1 -1
  66. package/dist/utils/settings.d.ts +1 -0
  67. package/dist/utils/settings.js +4 -0
  68. package/dist/utils/settings.js.map +1 -0
  69. package/dist/utils/streaming-analyzer.d.ts +160 -0
  70. package/dist/utils/streaming-analyzer.js +214 -0
  71. package/dist/utils/streaming-analyzer.js.map +1 -0
  72. package/package.json +1 -1
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Streaming Analyzer
3
+ *
4
+ * Emits analysis results as they're found instead of waiting for all files.
5
+ * Provides better user experience with immediate feedback.
6
+ *
7
+ * Quick Win #3: Streaming Results (Est. time: 30 minutes)
8
+ * Impact: Better UX, perceived 2-5x faster
9
+ */
10
+ import { EventEmitter } from 'events';
11
+ import { formatDuration } from '../ui/utils/tool-grouper.js';
12
+ /**
13
+ * Analysis result for a single file
14
+ */
15
+ export interface FileAnalysisResult<T = unknown> {
16
+ /** File path */
17
+ file: string;
18
+ /** Analysis result */
19
+ result?: T;
20
+ /** Error if analysis failed */
21
+ error?: Error;
22
+ /** Analysis duration in ms */
23
+ duration: number;
24
+ /** Whether result was from cache */
25
+ cached: boolean;
26
+ }
27
+ /**
28
+ * Progress update
29
+ */
30
+ export interface AnalysisProgress {
31
+ /** Number of files completed */
32
+ completed: number;
33
+ /** Total number of files */
34
+ total: number;
35
+ /** Current file being analyzed */
36
+ currentFile?: string;
37
+ /** Percentage complete (0-100) */
38
+ percentage: number;
39
+ /** Estimated time remaining in ms */
40
+ estimatedTimeRemaining?: number;
41
+ }
42
+ /**
43
+ * Analysis summary
44
+ */
45
+ export interface AnalysisSummary<T = unknown> {
46
+ /** All results */
47
+ results: FileAnalysisResult<T>[];
48
+ /** Number of successful analyses */
49
+ successCount: number;
50
+ /** Number of failed analyses */
51
+ errorCount: number;
52
+ /** Number of cached results */
53
+ cachedCount: number;
54
+ /** Total duration in ms */
55
+ totalDuration: number;
56
+ /** Average duration per file in ms */
57
+ avgDuration: number;
58
+ /** Cache hit rate (0-1) */
59
+ cacheHitRate: number;
60
+ }
61
+ /**
62
+ * Streaming analyzer events
63
+ */
64
+ export interface StreamingAnalyzerEvents<T = unknown> {
65
+ /** Emitted when a file analysis starts */
66
+ start: (file: string) => void;
67
+ /** Emitted when a file analysis completes */
68
+ result: (result: FileAnalysisResult<T>) => void;
69
+ /** Emitted on progress updates */
70
+ progress: (progress: AnalysisProgress) => void;
71
+ /** Emitted when all files are analyzed */
72
+ complete: (summary: AnalysisSummary<T>) => void;
73
+ /** Emitted on error */
74
+ error: (file: string, error: Error) => void;
75
+ }
76
+ /**
77
+ * Streaming Analyzer
78
+ *
79
+ * Analyzes files and emits results as they're completed.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const analyzer = new StreamingAnalyzer();
84
+ *
85
+ * analyzer.on('result', (result) => {
86
+ * if (result.error) {
87
+ * console.error(`Error in ${result.file}: ${result.error.message}`);
88
+ * } else {
89
+ * console.log(`✓ ${result.file} (${result.duration}ms)`);
90
+ * }
91
+ * });
92
+ *
93
+ * analyzer.on('progress', (progress) => {
94
+ * console.log(`Progress: ${progress.percentage}%`);
95
+ * });
96
+ *
97
+ * analyzer.on('complete', (summary) => {
98
+ * console.log(`Done! ${summary.successCount} files analyzed`);
99
+ * });
100
+ *
101
+ * await analyzer.analyze(files, analyzeFile);
102
+ * ```
103
+ */
104
+ export declare class StreamingAnalyzer<T = unknown> extends EventEmitter {
105
+ private results;
106
+ private startTime;
107
+ private completed;
108
+ private total;
109
+ /**
110
+ * Analyze files and emit results as they complete
111
+ *
112
+ * @param files - Array of file paths to analyze
113
+ * @param analyzer - Analysis function
114
+ * @returns Promise that resolves when all files are analyzed
115
+ */
116
+ analyze(files: string[], analyzer: (file: string) => Promise<T>): Promise<AnalysisSummary<T>>;
117
+ /**
118
+ * Analyze files in parallel and emit results as they complete
119
+ *
120
+ * @param files - Array of file paths to analyze
121
+ * @param analyzer - Analysis function
122
+ * @param concurrency - Maximum concurrent analyses (default: 4)
123
+ * @returns Promise that resolves when all files are analyzed
124
+ */
125
+ analyzeParallel(files: string[], analyzer: (file: string) => Promise<T>, concurrency?: number): Promise<AnalysisSummary<T>>;
126
+ /**
127
+ * Get current progress
128
+ */
129
+ getProgress(): AnalysisProgress;
130
+ /**
131
+ * Analyze a single file and emit events
132
+ */
133
+ private analyzeFile;
134
+ /**
135
+ * Create analysis summary
136
+ */
137
+ private createSummary;
138
+ }
139
+ /**
140
+ * Helper function to create a progress bar string
141
+ *
142
+ * @param progress - Progress info
143
+ * @param width - Width of progress bar (default: 40)
144
+ * @returns Progress bar string
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * const bar = createProgressBar({ completed: 50, total: 100, percentage: 50 });
149
+ * console.log(bar); // [#################### ] 50%
150
+ * ```
151
+ */
152
+ export declare function createProgressBar(progress: AnalysisProgress, width?: number): string;
153
+ export { formatDuration };
154
+ /**
155
+ * Helper function to format summary
156
+ *
157
+ * @param summary - Analysis summary
158
+ * @returns Formatted summary string
159
+ */
160
+ export declare function formatSummary<T>(summary: AnalysisSummary<T>): string;
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Streaming Analyzer
3
+ *
4
+ * Emits analysis results as they're found instead of waiting for all files.
5
+ * Provides better user experience with immediate feedback.
6
+ *
7
+ * Quick Win #3: Streaming Results (Est. time: 30 minutes)
8
+ * Impact: Better UX, perceived 2-5x faster
9
+ */
10
+ import { EventEmitter } from 'events';
11
+ import { formatDuration } from '../ui/utils/tool-grouper.js';
12
+ /**
13
+ * Streaming Analyzer
14
+ *
15
+ * Analyzes files and emits results as they're completed.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const analyzer = new StreamingAnalyzer();
20
+ *
21
+ * analyzer.on('result', (result) => {
22
+ * if (result.error) {
23
+ * console.error(`Error in ${result.file}: ${result.error.message}`);
24
+ * } else {
25
+ * console.log(`✓ ${result.file} (${result.duration}ms)`);
26
+ * }
27
+ * });
28
+ *
29
+ * analyzer.on('progress', (progress) => {
30
+ * console.log(`Progress: ${progress.percentage}%`);
31
+ * });
32
+ *
33
+ * analyzer.on('complete', (summary) => {
34
+ * console.log(`Done! ${summary.successCount} files analyzed`);
35
+ * });
36
+ *
37
+ * await analyzer.analyze(files, analyzeFile);
38
+ * ```
39
+ */
40
+ export class StreamingAnalyzer extends EventEmitter {
41
+ results = [];
42
+ startTime = 0;
43
+ completed = 0;
44
+ total = 0;
45
+ /**
46
+ * Analyze files and emit results as they complete
47
+ *
48
+ * @param files - Array of file paths to analyze
49
+ * @param analyzer - Analysis function
50
+ * @returns Promise that resolves when all files are analyzed
51
+ */
52
+ async analyze(files, analyzer) {
53
+ this.results = [];
54
+ this.startTime = Date.now();
55
+ this.completed = 0;
56
+ this.total = files.length;
57
+ for (const file of files) {
58
+ await this.analyzeFile(file, analyzer);
59
+ }
60
+ return this.createSummary();
61
+ }
62
+ /**
63
+ * Analyze files in parallel and emit results as they complete
64
+ *
65
+ * @param files - Array of file paths to analyze
66
+ * @param analyzer - Analysis function
67
+ * @param concurrency - Maximum concurrent analyses (default: 4)
68
+ * @returns Promise that resolves when all files are analyzed
69
+ */
70
+ async analyzeParallel(files, analyzer, concurrency = 4) {
71
+ this.results = [];
72
+ this.startTime = Date.now();
73
+ this.completed = 0;
74
+ this.total = files.length;
75
+ // Process files in parallel batches
76
+ const queue = [...files];
77
+ const executing = new Set();
78
+ while (queue.length > 0 || executing.size > 0) {
79
+ // Start new analyses up to concurrency limit
80
+ while (queue.length > 0 && executing.size < concurrency) {
81
+ const file = queue.shift();
82
+ const promise = this.analyzeFile(file, analyzer);
83
+ // Wrap promise to auto-remove from set when completed
84
+ const tracked = promise.finally(() => {
85
+ executing.delete(tracked);
86
+ });
87
+ executing.add(tracked);
88
+ }
89
+ // Wait for at least one to complete
90
+ if (executing.size > 0) {
91
+ await Promise.race(executing);
92
+ }
93
+ }
94
+ return this.createSummary();
95
+ }
96
+ /**
97
+ * Get current progress
98
+ */
99
+ getProgress() {
100
+ const percentage = this.total > 0 ? (this.completed / this.total) * 100 : 0;
101
+ const elapsed = Date.now() - this.startTime;
102
+ const avgTimePerFile = this.completed > 0 ? elapsed / this.completed : 0;
103
+ const remaining = this.total - this.completed;
104
+ const estimatedTimeRemaining = avgTimePerFile * remaining;
105
+ return {
106
+ completed: this.completed,
107
+ total: this.total,
108
+ percentage,
109
+ estimatedTimeRemaining: estimatedTimeRemaining > 0 ? estimatedTimeRemaining : undefined,
110
+ };
111
+ }
112
+ /**
113
+ * Analyze a single file and emit events
114
+ */
115
+ async analyzeFile(file, analyzer) {
116
+ this.emit('start', file);
117
+ const startTime = Date.now();
118
+ let result;
119
+ try {
120
+ const analysisResult = await analyzer(file);
121
+ const duration = Date.now() - startTime;
122
+ result = {
123
+ file,
124
+ result: analysisResult,
125
+ duration,
126
+ cached: false, // Analyzer should set this
127
+ };
128
+ this.results.push(result);
129
+ this.emit('result', result);
130
+ }
131
+ catch (error) {
132
+ const duration = Date.now() - startTime;
133
+ result = {
134
+ file,
135
+ error: error,
136
+ duration,
137
+ cached: false,
138
+ };
139
+ this.results.push(result);
140
+ this.emit('result', result);
141
+ this.emit('error', file, error);
142
+ }
143
+ this.completed++;
144
+ this.emit('progress', this.getProgress());
145
+ }
146
+ /**
147
+ * Create analysis summary
148
+ */
149
+ createSummary() {
150
+ const successCount = this.results.filter((r) => !r.error).length;
151
+ const errorCount = this.results.filter((r) => r.error).length;
152
+ const cachedCount = this.results.filter((r) => r.cached).length;
153
+ const totalDuration = Date.now() - this.startTime;
154
+ const avgDuration = this.results.length > 0
155
+ ? this.results.reduce((sum, r) => sum + r.duration, 0) / this.results.length
156
+ : 0;
157
+ const cacheHitRate = this.results.length > 0
158
+ ? cachedCount / this.results.length
159
+ : 0;
160
+ const summary = {
161
+ results: this.results,
162
+ successCount,
163
+ errorCount,
164
+ cachedCount,
165
+ totalDuration,
166
+ avgDuration,
167
+ cacheHitRate,
168
+ };
169
+ this.emit('complete', summary);
170
+ return summary;
171
+ }
172
+ }
173
+ /**
174
+ * Helper function to create a progress bar string
175
+ *
176
+ * @param progress - Progress info
177
+ * @param width - Width of progress bar (default: 40)
178
+ * @returns Progress bar string
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * const bar = createProgressBar({ completed: 50, total: 100, percentage: 50 });
183
+ * console.log(bar); // [#################### ] 50%
184
+ * ```
185
+ */
186
+ export function createProgressBar(progress, width = 40) {
187
+ const filledWidth = Math.round((progress.percentage / 100) * width);
188
+ const emptyWidth = width - filledWidth;
189
+ const filled = '#'.repeat(filledWidth);
190
+ const empty = ' '.repeat(emptyWidth);
191
+ return `[${filled}${empty}] ${progress.percentage.toFixed(1)}%`;
192
+ }
193
+ // Re-export formatDuration for backwards compatibility
194
+ export { formatDuration };
195
+ /**
196
+ * Helper function to format summary
197
+ *
198
+ * @param summary - Analysis summary
199
+ * @returns Formatted summary string
200
+ */
201
+ export function formatSummary(summary) {
202
+ const lines = [];
203
+ lines.push('Analysis Summary');
204
+ lines.push('─'.repeat(50));
205
+ lines.push(`Total files: ${summary.results.length}`);
206
+ lines.push(`Successful: ${summary.successCount}`);
207
+ lines.push(`Errors: ${summary.errorCount}`);
208
+ lines.push(`Cached: ${summary.cachedCount}`);
209
+ lines.push(`Total duration: ${formatDuration(summary.totalDuration)}`);
210
+ lines.push(`Avg per file: ${formatDuration(summary.avgDuration)}`);
211
+ lines.push(`Cache hit rate: ${(summary.cacheHitRate * 100).toFixed(1)}%`);
212
+ return lines.join('\n');
213
+ }
214
+ //# sourceMappingURL=streaming-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-analyzer.js","sourceRoot":"","sources":["../../src/utils/streaming-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAsE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,iBAA+B,SAAQ,YAAY;IACtD,OAAO,GAA4B,EAAE,CAAC;IACtC,SAAS,GAAW,CAAC,CAAC;IACtB,SAAS,GAAW,CAAC,CAAC;IACtB,KAAK,GAAW,CAAC,CAAC;IAE1B;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,KAAe,EACf,QAAsC;QAEtC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,KAAe,EACf,QAAsC,EACtC,cAAsB,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAE1B,oCAAoC;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,MAAM,SAAS,GAAuB,IAAI,GAAG,EAAE,CAAC;QAEhD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9C,6CAA6C;YAC7C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAEjD,sDAAsD;gBACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBACnC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YAED,oCAAoC;YACpC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9C,MAAM,sBAAsB,GAAG,cAAc,GAAG,SAAS,CAAC;QAE1D,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU;YACV,sBAAsB,EAAE,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;SACxF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,IAAY,EACZ,QAAsC;QAEtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,MAA6B,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,MAAM,GAAG;gBACP,IAAI;gBACJ,MAAM,EAAE,cAAc;gBACtB,QAAQ;gBACR,MAAM,EAAE,KAAK,EAAE,2BAA2B;aAC3C,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,MAAM,GAAG;gBACP,IAAI;gBACJ,KAAK,EAAE,KAAc;gBACrB,QAAQ;gBACR,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAc,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5E,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC1C,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YACnC,CAAC,CAAC,CAAC,CAAC;QAEN,MAAM,OAAO,GAAuB;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY;YACZ,UAAU;YACV,WAAW;YACX,aAAa;YACb,WAAW;YACX,YAAY;SACb,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA0B,EAAE,QAAgB,EAAE;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,CAAC;IACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,OAAO,IAAI,MAAM,GAAG,KAAK,KAAK,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAClE,CAAC;AAED,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAI,OAA2B;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defai.digital/ax-cli",
3
- "version": "3.14.14",
3
+ "version": "3.14.17",
4
4
  "sdkVersion": "1.3.0",
5
5
  "description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
6
6
  "type": "module",