@defai.digital/ax-cli 3.12.4 → 3.12.5
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/README.md +24 -2
- package/dist/tools/ask-user.d.ts +63 -7
- package/dist/tools/ask-user.js +206 -19
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/ui/components/chat-interface.js +38 -3
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/question-dialog.d.ts +17 -0
- package/dist/ui/components/question-dialog.js +181 -0
- package/dist/ui/components/question-dialog.js.map +1 -0
- package/dist/utils/analysis-logger.d.ts +3 -0
- package/dist/utils/analysis-logger.js +4 -1
- package/dist/utils/analysis-logger.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,6 +48,7 @@ ax-cli
|
|
|
48
48
|
- [Security](#security)
|
|
49
49
|
- [Architecture](#architecture)
|
|
50
50
|
- [Changelog](#changelog)
|
|
51
|
+
- [Recent Changes (v3.12.5)](#recent-changes-v3125)
|
|
51
52
|
- [Documentation](#documentation)
|
|
52
53
|
|
|
53
54
|
---
|
|
@@ -395,12 +396,33 @@ Email: **security@defai.digital** (private disclosure)
|
|
|
395
396
|
|
|
396
397
|
- **SSOT Type System** via `@ax-cli/schemas`
|
|
397
398
|
- **TypeScript strict mode** with Zod validation
|
|
398
|
-
- **98%+ test coverage** (
|
|
399
|
+
- **98%+ test coverage** (2110+ tests)
|
|
399
400
|
- **Modular design** with clean separation
|
|
400
401
|
- **Enterprise security** with AES-256-GCM encryption
|
|
401
402
|
|
|
402
403
|
---
|
|
403
404
|
|
|
405
|
+
## Recent Changes (v3.12.5)
|
|
406
|
+
|
|
407
|
+
### Bug Fixes
|
|
408
|
+
|
|
409
|
+
- **Fixed `[INFO]` logging pollution**: Analyzer log messages no longer appear in CLI output. Set `DEBUG=1` to enable verbose logging.
|
|
410
|
+
- **Fixed `ask_user` tool**: Implemented complete interactive question dialog system with EventEmitter pattern, multi-question flow support, and graceful fallback in non-TTY mode.
|
|
411
|
+
|
|
412
|
+
### New Features
|
|
413
|
+
|
|
414
|
+
- **QuestionDialog UI Component**: New interactive dialog for AI to ask clarifying questions during task execution
|
|
415
|
+
- **Multi-question support**: Ask multiple questions with progress indicators (e.g., "1/3")
|
|
416
|
+
- **Custom input option**: Users can select "Other" to provide free-text responses
|
|
417
|
+
|
|
418
|
+
### Technical Improvements
|
|
419
|
+
|
|
420
|
+
- Refactored `AskUserService` to use EventEmitter pattern (consistent with `ConfirmationService`)
|
|
421
|
+
- Added 13 new tests for question dialog functionality
|
|
422
|
+
- Improved code quality and test coverage
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
404
426
|
## Documentation
|
|
405
427
|
|
|
406
428
|
| Guide | Description |
|
|
@@ -441,7 +463,7 @@ This project is developed with assistance from multiple AI coding assistants:
|
|
|
441
463
|
|
|
442
464
|
- [AutomatosX](https://github.com/defai-digital/automatosx) - AI agent orchestration platform
|
|
443
465
|
- [Claude](https://github.com/claude) - Anthropic's AI assistant
|
|
444
|
-
- [Gemini
|
|
466
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - Google's AI coding assistant
|
|
445
467
|
- [Codex](https://github.com/openai/codex) - OpenAI's code generation model
|
|
446
468
|
|
|
447
469
|
---
|
package/dist/tools/ask-user.d.ts
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Allows the AI to ask the user questions during execution.
|
|
5
5
|
* Supports multiple choice questions with optional custom input.
|
|
6
|
+
* Uses EventEmitter pattern to integrate with the UI layer.
|
|
6
7
|
*
|
|
7
8
|
* @packageDocumentation
|
|
8
9
|
*/
|
|
10
|
+
import { EventEmitter } from "events";
|
|
9
11
|
import type { ToolResult } from "../types/index.js";
|
|
10
12
|
/**
|
|
11
13
|
* Question option
|
|
@@ -41,26 +43,80 @@ export interface QuestionResult {
|
|
|
41
43
|
customInput?: string;
|
|
42
44
|
}
|
|
43
45
|
/**
|
|
44
|
-
*
|
|
46
|
+
* Question request for UI
|
|
45
47
|
*/
|
|
46
|
-
export
|
|
48
|
+
export interface QuestionRequest {
|
|
49
|
+
questions: Question[];
|
|
50
|
+
currentQuestionIndex: number;
|
|
51
|
+
}
|
|
47
52
|
/**
|
|
48
|
-
* Ask User Question
|
|
53
|
+
* Ask User Question Service
|
|
49
54
|
*
|
|
50
55
|
* Allows the AI to ask clarifying questions during execution.
|
|
56
|
+
* Uses EventEmitter pattern similar to ConfirmationService.
|
|
51
57
|
*/
|
|
58
|
+
export declare class AskUserService extends EventEmitter {
|
|
59
|
+
private static instance;
|
|
60
|
+
private pendingQuestions;
|
|
61
|
+
private resolveQuestions;
|
|
62
|
+
private rejectQuestions;
|
|
63
|
+
private questionTimeoutId;
|
|
64
|
+
private currentQuestions;
|
|
65
|
+
private collectedResults;
|
|
66
|
+
private currentQuestionIndex;
|
|
67
|
+
static getInstance(): AskUserService;
|
|
68
|
+
constructor();
|
|
69
|
+
/**
|
|
70
|
+
* Ask questions and wait for user responses
|
|
71
|
+
*/
|
|
72
|
+
askQuestions(questions: Question[]): Promise<ToolResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Submit answer for current question
|
|
75
|
+
*/
|
|
76
|
+
submitAnswer(answers: string[], customInput?: string): void;
|
|
77
|
+
/**
|
|
78
|
+
* Cancel the question dialog
|
|
79
|
+
*/
|
|
80
|
+
cancelQuestions(reason?: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* Check if questions are pending
|
|
83
|
+
*/
|
|
84
|
+
isPending(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Get current question
|
|
87
|
+
*/
|
|
88
|
+
getCurrentQuestion(): Question | null;
|
|
89
|
+
/**
|
|
90
|
+
* Get progress info
|
|
91
|
+
*/
|
|
92
|
+
getProgress(): {
|
|
93
|
+
current: number;
|
|
94
|
+
total: number;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Cleanup internal state
|
|
98
|
+
*/
|
|
99
|
+
private cleanup;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get the singleton instance
|
|
103
|
+
*/
|
|
104
|
+
export declare function getAskUserService(): AskUserService;
|
|
52
105
|
export declare class AskUserTool {
|
|
53
|
-
private
|
|
106
|
+
private service;
|
|
107
|
+
constructor();
|
|
54
108
|
/**
|
|
55
|
-
* Set the callback for asking questions
|
|
109
|
+
* Set the callback for asking questions (legacy API - no longer needed)
|
|
110
|
+
* @deprecated Use getAskUserService() events instead
|
|
56
111
|
*/
|
|
57
|
-
setAskCallback(
|
|
112
|
+
setAskCallback(_callback: (questions: Question[]) => Promise<QuestionResult[]>): void;
|
|
58
113
|
/**
|
|
59
114
|
* Execute the ask user question tool
|
|
60
115
|
*/
|
|
61
116
|
execute(questions: Question[]): Promise<ToolResult>;
|
|
62
117
|
}
|
|
63
118
|
/**
|
|
64
|
-
* Get the singleton instance
|
|
119
|
+
* Get the singleton instance (legacy API)
|
|
120
|
+
* @deprecated Use getAskUserService() instead
|
|
65
121
|
*/
|
|
66
122
|
export declare function getAskUserTool(): AskUserTool;
|
package/dist/tools/ask-user.js
CHANGED
|
@@ -3,32 +3,40 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Allows the AI to ask the user questions during execution.
|
|
5
5
|
* Supports multiple choice questions with optional custom input.
|
|
6
|
+
* Uses EventEmitter pattern to integrate with the UI layer.
|
|
6
7
|
*
|
|
7
8
|
* @packageDocumentation
|
|
8
9
|
*/
|
|
10
|
+
import { EventEmitter } from "events";
|
|
11
|
+
import { TIMEOUT_CONFIG } from "../constants.js";
|
|
9
12
|
/**
|
|
10
|
-
* Ask User Question
|
|
13
|
+
* Ask User Question Service
|
|
11
14
|
*
|
|
12
15
|
* Allows the AI to ask clarifying questions during execution.
|
|
16
|
+
* Uses EventEmitter pattern similar to ConfirmationService.
|
|
13
17
|
*/
|
|
14
|
-
export class
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
export class AskUserService extends EventEmitter {
|
|
19
|
+
static instance;
|
|
20
|
+
pendingQuestions = null;
|
|
21
|
+
resolveQuestions = null;
|
|
22
|
+
rejectQuestions = null;
|
|
23
|
+
questionTimeoutId = null;
|
|
24
|
+
currentQuestions = [];
|
|
25
|
+
collectedResults = [];
|
|
26
|
+
currentQuestionIndex = 0;
|
|
27
|
+
static getInstance() {
|
|
28
|
+
if (!AskUserService.instance) {
|
|
29
|
+
AskUserService.instance = new AskUserService();
|
|
30
|
+
}
|
|
31
|
+
return AskUserService.instance;
|
|
32
|
+
}
|
|
33
|
+
constructor() {
|
|
34
|
+
super();
|
|
21
35
|
}
|
|
22
36
|
/**
|
|
23
|
-
*
|
|
37
|
+
* Ask questions and wait for user responses
|
|
24
38
|
*/
|
|
25
|
-
async
|
|
26
|
-
if (!this.askCallback) {
|
|
27
|
-
return {
|
|
28
|
-
success: false,
|
|
29
|
-
error: "Question callback not set. Unable to ask user questions.",
|
|
30
|
-
};
|
|
31
|
-
}
|
|
39
|
+
async askQuestions(questions) {
|
|
32
40
|
if (!questions || questions.length === 0) {
|
|
33
41
|
return {
|
|
34
42
|
success: false,
|
|
@@ -50,8 +58,75 @@ export class AskUserTool {
|
|
|
50
58
|
};
|
|
51
59
|
}
|
|
52
60
|
}
|
|
61
|
+
// Check if there's already pending questions
|
|
62
|
+
if (this.pendingQuestions !== null) {
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
error: "Another question dialog is already pending. Please wait.",
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Check if we're in a TTY (interactive) environment
|
|
69
|
+
if (!process.stdin.isTTY) {
|
|
70
|
+
// Non-interactive mode: return first option as default
|
|
71
|
+
const defaultAnswers = [];
|
|
72
|
+
const results = [];
|
|
73
|
+
for (const q of questions) {
|
|
74
|
+
if (q.options && q.options.length > 0) {
|
|
75
|
+
defaultAnswers.push(`${q.question}: Selected default option "${q.options[0].label}" (non-interactive mode)`);
|
|
76
|
+
results.push({
|
|
77
|
+
question: q.question,
|
|
78
|
+
answers: [q.options[0].label],
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
success: true,
|
|
84
|
+
output: `Non-interactive mode detected. Using default selections:\n\n${defaultAnswers.join("\n")}`,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// Store questions state
|
|
88
|
+
this.currentQuestions = questions;
|
|
89
|
+
this.collectedResults = [];
|
|
90
|
+
this.currentQuestionIndex = 0;
|
|
91
|
+
// Clear any existing timeout
|
|
92
|
+
if (this.questionTimeoutId) {
|
|
93
|
+
clearTimeout(this.questionTimeoutId);
|
|
94
|
+
this.questionTimeoutId = null;
|
|
95
|
+
}
|
|
96
|
+
// Create promise for async resolution
|
|
97
|
+
const resolvedState = { resolved: false };
|
|
98
|
+
this.pendingQuestions = new Promise((resolve, reject) => {
|
|
99
|
+
const safeResolve = (results) => {
|
|
100
|
+
if (resolvedState.resolved)
|
|
101
|
+
return;
|
|
102
|
+
resolvedState.resolved = true;
|
|
103
|
+
resolve(results);
|
|
104
|
+
};
|
|
105
|
+
const safeReject = (error) => {
|
|
106
|
+
if (resolvedState.resolved)
|
|
107
|
+
return;
|
|
108
|
+
resolvedState.resolved = true;
|
|
109
|
+
reject(error);
|
|
110
|
+
};
|
|
111
|
+
this.resolveQuestions = safeResolve;
|
|
112
|
+
this.rejectQuestions = safeReject;
|
|
113
|
+
// Set timeout for questions (use confirmation timeout as base, multiply by number of questions)
|
|
114
|
+
const timeoutMs = TIMEOUT_CONFIG.CONFIRMATION_TIMEOUT * Math.max(questions.length, 1);
|
|
115
|
+
const timeoutSec = Math.round(timeoutMs / TIMEOUT_CONFIG.MS_PER_SECOND);
|
|
116
|
+
this.questionTimeoutId = setTimeout(() => {
|
|
117
|
+
safeReject(new Error(`Question timeout - auto-cancelled after ${timeoutSec} seconds`));
|
|
118
|
+
this.cleanup();
|
|
119
|
+
}, timeoutMs);
|
|
120
|
+
});
|
|
121
|
+
// Emit event for UI to display first question
|
|
122
|
+
setImmediate(() => {
|
|
123
|
+
this.emit("question-requested", {
|
|
124
|
+
questions: this.currentQuestions,
|
|
125
|
+
currentQuestionIndex: this.currentQuestionIndex,
|
|
126
|
+
});
|
|
127
|
+
});
|
|
53
128
|
try {
|
|
54
|
-
const results = await this.
|
|
129
|
+
const results = await this.pendingQuestions;
|
|
55
130
|
// Format results as readable output
|
|
56
131
|
let output = "User responses:\n\n";
|
|
57
132
|
for (let i = 0; i < results.length; i++) {
|
|
@@ -79,13 +154,125 @@ export class AskUserTool {
|
|
|
79
154
|
};
|
|
80
155
|
}
|
|
81
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Submit answer for current question
|
|
159
|
+
*/
|
|
160
|
+
submitAnswer(answers, customInput) {
|
|
161
|
+
if (!this.currentQuestions.length || this.currentQuestionIndex >= this.currentQuestions.length) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const currentQuestion = this.currentQuestions[this.currentQuestionIndex];
|
|
165
|
+
this.collectedResults.push({
|
|
166
|
+
question: currentQuestion.question,
|
|
167
|
+
answers,
|
|
168
|
+
customInput,
|
|
169
|
+
});
|
|
170
|
+
this.currentQuestionIndex++;
|
|
171
|
+
// Check if we have more questions
|
|
172
|
+
if (this.currentQuestionIndex < this.currentQuestions.length) {
|
|
173
|
+
// Emit event for next question
|
|
174
|
+
setImmediate(() => {
|
|
175
|
+
this.emit("question-requested", {
|
|
176
|
+
questions: this.currentQuestions,
|
|
177
|
+
currentQuestionIndex: this.currentQuestionIndex,
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// All questions answered, resolve the promise
|
|
183
|
+
if (this.resolveQuestions) {
|
|
184
|
+
if (this.questionTimeoutId) {
|
|
185
|
+
clearTimeout(this.questionTimeoutId);
|
|
186
|
+
this.questionTimeoutId = null;
|
|
187
|
+
}
|
|
188
|
+
this.resolveQuestions(this.collectedResults);
|
|
189
|
+
this.cleanup();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Cancel the question dialog
|
|
195
|
+
*/
|
|
196
|
+
cancelQuestions(reason) {
|
|
197
|
+
if (this.rejectQuestions) {
|
|
198
|
+
if (this.questionTimeoutId) {
|
|
199
|
+
clearTimeout(this.questionTimeoutId);
|
|
200
|
+
this.questionTimeoutId = null;
|
|
201
|
+
}
|
|
202
|
+
this.rejectQuestions(new Error(reason || "Questions cancelled by user"));
|
|
203
|
+
this.cleanup();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Check if questions are pending
|
|
208
|
+
*/
|
|
209
|
+
isPending() {
|
|
210
|
+
return this.pendingQuestions !== null;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get current question
|
|
214
|
+
*/
|
|
215
|
+
getCurrentQuestion() {
|
|
216
|
+
if (this.currentQuestionIndex < this.currentQuestions.length) {
|
|
217
|
+
return this.currentQuestions[this.currentQuestionIndex];
|
|
218
|
+
}
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get progress info
|
|
223
|
+
*/
|
|
224
|
+
getProgress() {
|
|
225
|
+
return {
|
|
226
|
+
current: this.currentQuestionIndex + 1,
|
|
227
|
+
total: this.currentQuestions.length,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Cleanup internal state
|
|
232
|
+
*/
|
|
233
|
+
cleanup() {
|
|
234
|
+
this.resolveQuestions = null;
|
|
235
|
+
this.rejectQuestions = null;
|
|
236
|
+
this.pendingQuestions = null;
|
|
237
|
+
this.currentQuestions = [];
|
|
238
|
+
this.collectedResults = [];
|
|
239
|
+
this.currentQuestionIndex = 0;
|
|
240
|
+
}
|
|
82
241
|
}
|
|
83
242
|
/**
|
|
84
|
-
*
|
|
243
|
+
* Get the singleton instance
|
|
244
|
+
*/
|
|
245
|
+
export function getAskUserService() {
|
|
246
|
+
return AskUserService.getInstance();
|
|
247
|
+
}
|
|
248
|
+
// Legacy support: AskUserTool class that wraps the service
|
|
249
|
+
export class AskUserTool {
|
|
250
|
+
service;
|
|
251
|
+
constructor() {
|
|
252
|
+
this.service = getAskUserService();
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Set the callback for asking questions (legacy API - no longer needed)
|
|
256
|
+
* @deprecated Use getAskUserService() events instead
|
|
257
|
+
*/
|
|
258
|
+
setAskCallback(_callback) {
|
|
259
|
+
// No-op: callback-based API is deprecated in favor of EventEmitter pattern
|
|
260
|
+
console.warn("AskUserTool.setAskCallback() is deprecated. Use getAskUserService() events instead.");
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Execute the ask user question tool
|
|
264
|
+
*/
|
|
265
|
+
async execute(questions) {
|
|
266
|
+
return this.service.askQuestions(questions);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Singleton instance for legacy API
|
|
85
271
|
*/
|
|
86
272
|
let askUserToolInstance = null;
|
|
87
273
|
/**
|
|
88
|
-
* Get the singleton instance
|
|
274
|
+
* Get the singleton instance (legacy API)
|
|
275
|
+
* @deprecated Use getAskUserService() instead
|
|
89
276
|
*/
|
|
90
277
|
export function getAskUserTool() {
|
|
91
278
|
if (!askUserToolInstance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,12 @@ import { StatusBar } from "./status-bar.js";
|
|
|
9
9
|
import { QuickActions } from "./quick-actions.js";
|
|
10
10
|
import { WelcomePanel } from "./welcome-panel.js";
|
|
11
11
|
import ConfirmationDialog from "./confirmation-dialog.js";
|
|
12
|
+
import QuestionDialog from "./question-dialog.js";
|
|
12
13
|
import { KeyboardHelp } from "./keyboard-help.js";
|
|
13
14
|
import { ContextBreakdown } from "./context-breakdown.js";
|
|
14
15
|
import { ToastContainer, useToasts, TOAST_MESSAGES } from "./toast-notification.js";
|
|
15
16
|
import { ConfirmationService, } from "../../utils/confirmation-service.js";
|
|
17
|
+
import { getAskUserService, } from "../../tools/ask-user.js";
|
|
16
18
|
import ApiKeyInput from "./api-key-input.js";
|
|
17
19
|
import { getVersion } from "../../utils/version.js";
|
|
18
20
|
import { getHistoryManager } from "../../utils/history-manager.js";
|
|
@@ -86,6 +88,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
86
88
|
const [contextPercentage, setContextPercentage] = useState(0);
|
|
87
89
|
const [showAutoPrune, setShowAutoPrune] = useState(false);
|
|
88
90
|
const [confirmationOptions, setConfirmationOptions] = useState(null);
|
|
91
|
+
const [questionRequest, setQuestionRequest] = useState(null);
|
|
89
92
|
const [showQuickActions, setShowQuickActions] = useState(false);
|
|
90
93
|
const [showKeyboardHelp, setShowKeyboardHelp] = useState(false);
|
|
91
94
|
const [showContextBreakdown, setShowContextBreakdown] = useState(false);
|
|
@@ -306,7 +309,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
306
309
|
processingStartTime,
|
|
307
310
|
isProcessing,
|
|
308
311
|
isStreaming,
|
|
309
|
-
isConfirmationActive: !!confirmationOptions,
|
|
312
|
+
isConfirmationActive: !!confirmationOptions || !!questionRequest,
|
|
310
313
|
onQuickActionsToggle: () => setShowQuickActions((prev) => !prev),
|
|
311
314
|
onVerboseModeChange: handleVerboseModeChange,
|
|
312
315
|
onBackgroundModeChange: handleBackgroundModeChange,
|
|
@@ -500,6 +503,17 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
500
503
|
confirmationService.off("confirmation-requested", handleConfirmationRequest);
|
|
501
504
|
};
|
|
502
505
|
}, [confirmationService]);
|
|
506
|
+
// Listen for question requests from AskUserService
|
|
507
|
+
useEffect(() => {
|
|
508
|
+
const askUserService = getAskUserService();
|
|
509
|
+
const handleQuestionRequest = (request) => {
|
|
510
|
+
setQuestionRequest(request);
|
|
511
|
+
};
|
|
512
|
+
askUserService.on("question-requested", handleQuestionRequest);
|
|
513
|
+
return () => {
|
|
514
|
+
askUserService.off("question-requested", handleQuestionRequest);
|
|
515
|
+
};
|
|
516
|
+
}, []);
|
|
503
517
|
useEffect(() => {
|
|
504
518
|
if (!isProcessing && !isStreaming) {
|
|
505
519
|
setProcessingTime(0);
|
|
@@ -588,6 +602,26 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
588
602
|
setProcessingTime(0);
|
|
589
603
|
processingStartTime.current = 0;
|
|
590
604
|
};
|
|
605
|
+
// Question dialog handlers
|
|
606
|
+
const handleQuestionSubmit = (answers, customInput) => {
|
|
607
|
+
const askUserService = getAskUserService();
|
|
608
|
+
askUserService.submitAnswer(answers, customInput);
|
|
609
|
+
// The service will emit another question-requested event if there are more questions
|
|
610
|
+
// or it will resolve the promise and close automatically
|
|
611
|
+
// We clear the current question to prepare for the next one
|
|
612
|
+
setQuestionRequest(null);
|
|
613
|
+
};
|
|
614
|
+
const handleQuestionCancel = () => {
|
|
615
|
+
const askUserService = getAskUserService();
|
|
616
|
+
askUserService.cancelQuestions("Questions cancelled by user");
|
|
617
|
+
setQuestionRequest(null);
|
|
618
|
+
// Reset processing states when operation is cancelled
|
|
619
|
+
setIsProcessing(false);
|
|
620
|
+
setIsStreaming(false);
|
|
621
|
+
setTokenCount(0);
|
|
622
|
+
setProcessingTime(0);
|
|
623
|
+
processingStartTime.current = 0;
|
|
624
|
+
};
|
|
591
625
|
// Get MCP server count safely
|
|
592
626
|
// MCP server count - only calculate once on mount
|
|
593
627
|
// MCP servers are configured at startup and rarely change during session
|
|
@@ -685,7 +719,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
685
719
|
// This can be done by directly calling the input handler or agent
|
|
686
720
|
};
|
|
687
721
|
return (React.createElement(Box, { flexDirection: "column", paddingX: 2 },
|
|
688
|
-
chatHistory.length === 0 && !confirmationOptions && !showQuickActions && !showKeyboardHelp && !showContextBreakdown && (React.createElement(WelcomePanel, { projectName: projectName })),
|
|
722
|
+
chatHistory.length === 0 && !confirmationOptions && !questionRequest && !showQuickActions && !showKeyboardHelp && !showContextBreakdown && (React.createElement(WelcomePanel, { projectName: projectName })),
|
|
689
723
|
currentPlan && !confirmationOptions && (React.createElement(Box, { marginBottom: 1 },
|
|
690
724
|
React.createElement(PhaseProgress, { plan: currentPlan, compact: true }))),
|
|
691
725
|
React.createElement(Box, { flexDirection: "column" },
|
|
@@ -703,7 +737,8 @@ function ChatInterfaceWithAgent({ agent, initialMessage, loadPreviousHistory = f
|
|
|
703
737
|
return (React.createElement(ContextBreakdown, { onClose: () => setShowContextBreakdown(false), currentTokens: currentTokens, maxTokens: maxTokens, categories: categories }));
|
|
704
738
|
})(),
|
|
705
739
|
confirmationOptions && (React.createElement(ConfirmationDialog, { operation: confirmationOptions.operation, filename: confirmationOptions.filename, showVSCodeOpen: confirmationOptions.showVSCodeOpen, content: confirmationOptions.content, onConfirm: handleConfirmation, onReject: handleRejection })),
|
|
706
|
-
|
|
740
|
+
questionRequest && questionRequest.questions[questionRequest.currentQuestionIndex] && (React.createElement(QuestionDialog, { question: questionRequest.questions[questionRequest.currentQuestionIndex], questionNumber: questionRequest.currentQuestionIndex + 1, totalQuestions: questionRequest.questions.length, onSubmit: handleQuestionSubmit, onCancel: handleQuestionCancel })),
|
|
741
|
+
!confirmationOptions && !questionRequest && !showQuickActions && !showKeyboardHelp && !showContextBreakdown && (React.createElement(React.Fragment, null,
|
|
707
742
|
React.createElement(LoadingSpinner, { isActive: isProcessing || isStreaming, processingTime: processingTime, tokenCount: tokenCount }),
|
|
708
743
|
React.createElement(ChatInput, { input: input, cursorPosition: cursorPosition, isProcessing: isProcessing, isStreaming: isStreaming, pastedBlocks: pastedBlocks, currentBlockAtCursor: currentBlockAtCursor, isPasting: isPasting }),
|
|
709
744
|
toasts.length > 0 && (React.createElement(ToastContainer, { toasts: toasts, onDismiss: removeToast, maxVisible: 2 })),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-interface.js","sourceRoot":"","sources":["../../../src/ui/components/chat-interface.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-interface.js","sourceRoot":"","sources":["../../../src/ui/components/chat-interface.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Question Dialog Component
|
|
3
|
+
*
|
|
4
|
+
* Displays questions from the AI and collects user responses.
|
|
5
|
+
* Supports single and multi-select options with custom input.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
import type { Question } from "../../tools/ask-user.js";
|
|
9
|
+
interface QuestionDialogProps {
|
|
10
|
+
question: Question;
|
|
11
|
+
questionNumber: number;
|
|
12
|
+
totalQuestions: number;
|
|
13
|
+
onSubmit: (answers: string[], customInput?: string) => void;
|
|
14
|
+
onCancel: () => void;
|
|
15
|
+
}
|
|
16
|
+
export default function QuestionDialog({ question, questionNumber, totalQuestions, onSubmit, onCancel, }: QuestionDialogProps): React.JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Question Dialog Component
|
|
3
|
+
*
|
|
4
|
+
* Displays questions from the AI and collects user responses.
|
|
5
|
+
* Supports single and multi-select options with custom input.
|
|
6
|
+
*/
|
|
7
|
+
import React, { useState, useCallback } from "react";
|
|
8
|
+
import { Box, Text, useInput } from "ink";
|
|
9
|
+
export default function QuestionDialog({ question, questionNumber, totalQuestions, onSubmit, onCancel, }) {
|
|
10
|
+
const [selectedIndices, setSelectedIndices] = useState(new Set([0]));
|
|
11
|
+
const [cursorIndex, setCursorIndex] = useState(0);
|
|
12
|
+
const [showOtherInput, setShowOtherInput] = useState(false);
|
|
13
|
+
const [otherInput, setOtherInput] = useState("");
|
|
14
|
+
// Options including "Other" for custom input
|
|
15
|
+
const allOptions = [...question.options, { label: "Other (custom input)", description: "Enter your own response" }];
|
|
16
|
+
const otherIndex = allOptions.length - 1;
|
|
17
|
+
const handleToggleSelection = useCallback((index) => {
|
|
18
|
+
if (question.multiSelect) {
|
|
19
|
+
// Multi-select: toggle the selection
|
|
20
|
+
setSelectedIndices((prev) => {
|
|
21
|
+
const newSet = new Set(prev);
|
|
22
|
+
if (newSet.has(index)) {
|
|
23
|
+
newSet.delete(index);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
newSet.add(index);
|
|
27
|
+
}
|
|
28
|
+
return newSet;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// Single-select: replace selection
|
|
33
|
+
setSelectedIndices(new Set([index]));
|
|
34
|
+
}
|
|
35
|
+
// Show other input if "Other" is selected
|
|
36
|
+
if (index === otherIndex) {
|
|
37
|
+
setShowOtherInput(true);
|
|
38
|
+
}
|
|
39
|
+
else if (!question.multiSelect) {
|
|
40
|
+
setShowOtherInput(false);
|
|
41
|
+
}
|
|
42
|
+
}, [question.multiSelect, otherIndex]);
|
|
43
|
+
const handleSubmit = useCallback(() => {
|
|
44
|
+
if (showOtherInput && selectedIndices.has(otherIndex)) {
|
|
45
|
+
// Submit with custom input
|
|
46
|
+
if (otherInput.trim()) {
|
|
47
|
+
const regularAnswers = Array.from(selectedIndices)
|
|
48
|
+
.filter((i) => i !== otherIndex)
|
|
49
|
+
.map((i) => allOptions[i].label);
|
|
50
|
+
onSubmit(regularAnswers, otherInput.trim());
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Submit selected options
|
|
55
|
+
const answers = Array.from(selectedIndices).map((i) => allOptions[i].label);
|
|
56
|
+
if (answers.length > 0) {
|
|
57
|
+
onSubmit(answers);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}, [selectedIndices, showOtherInput, otherIndex, otherInput, allOptions, onSubmit]);
|
|
61
|
+
useInput((input, key) => {
|
|
62
|
+
// Handle "Other" input mode
|
|
63
|
+
if (showOtherInput && selectedIndices.has(otherIndex)) {
|
|
64
|
+
if (key.return) {
|
|
65
|
+
handleSubmit();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (key.escape) {
|
|
69
|
+
setShowOtherInput(false);
|
|
70
|
+
setSelectedIndices(new Set([0]));
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (key.backspace || key.delete) {
|
|
74
|
+
setOtherInput((prev) => prev.slice(0, -1));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (input && !key.ctrl && !key.meta) {
|
|
78
|
+
setOtherInput((prev) => prev + input);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Quick number key selection (1-9)
|
|
84
|
+
if (input >= "1" && input <= "9") {
|
|
85
|
+
const optionIndex = parseInt(input, 10) - 1;
|
|
86
|
+
if (optionIndex < allOptions.length) {
|
|
87
|
+
handleToggleSelection(optionIndex);
|
|
88
|
+
if (!question.multiSelect && optionIndex !== otherIndex) {
|
|
89
|
+
// Auto-submit on single select (except for "Other")
|
|
90
|
+
const answers = [allOptions[optionIndex].label];
|
|
91
|
+
onSubmit(answers);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// Navigation
|
|
97
|
+
if (key.upArrow || (key.shift && key.tab)) {
|
|
98
|
+
setCursorIndex((prev) => (prev > 0 ? prev - 1 : allOptions.length - 1));
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (key.downArrow || key.tab) {
|
|
102
|
+
setCursorIndex((prev) => (prev + 1) % allOptions.length);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
// Space to toggle selection (for multi-select)
|
|
106
|
+
if (input === " ") {
|
|
107
|
+
handleToggleSelection(cursorIndex);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Enter to select current and submit (for single-select) or submit all (for multi-select)
|
|
111
|
+
if (key.return) {
|
|
112
|
+
if (question.multiSelect) {
|
|
113
|
+
handleSubmit();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
handleToggleSelection(cursorIndex);
|
|
117
|
+
if (cursorIndex === otherIndex) {
|
|
118
|
+
// Show other input
|
|
119
|
+
setShowOtherInput(true);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// Submit immediately for single-select
|
|
123
|
+
const answers = [allOptions[cursorIndex].label];
|
|
124
|
+
onSubmit(answers);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
// Escape to cancel
|
|
130
|
+
if (key.escape) {
|
|
131
|
+
onCancel();
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return (React.createElement(Box, { flexDirection: "column" },
|
|
136
|
+
React.createElement(Box, { marginTop: 1 },
|
|
137
|
+
React.createElement(Box, null,
|
|
138
|
+
React.createElement(Text, { color: "magenta" }, "?"),
|
|
139
|
+
React.createElement(Text, { color: "white", bold: true },
|
|
140
|
+
" ",
|
|
141
|
+
question.header || "Question"),
|
|
142
|
+
totalQuestions > 1 && (React.createElement(Text, { color: "gray" },
|
|
143
|
+
" ",
|
|
144
|
+
"(",
|
|
145
|
+
questionNumber,
|
|
146
|
+
"/",
|
|
147
|
+
totalQuestions,
|
|
148
|
+
")")))),
|
|
149
|
+
React.createElement(Box, { marginLeft: 2, marginTop: 1, marginBottom: 1 },
|
|
150
|
+
React.createElement(Text, null, question.question)),
|
|
151
|
+
React.createElement(Box, { flexDirection: "column", marginLeft: 2 }, allOptions.map((option, index) => {
|
|
152
|
+
const isSelected = selectedIndices.has(index);
|
|
153
|
+
const isCursor = cursorIndex === index;
|
|
154
|
+
return (React.createElement(Box, { key: index, paddingLeft: 1 },
|
|
155
|
+
React.createElement(Text, { color: isCursor ? "black" : isSelected ? "cyan" : "white", backgroundColor: isCursor ? "cyan" : undefined },
|
|
156
|
+
question.multiSelect ? (React.createElement(Text, null,
|
|
157
|
+
isSelected ? "[x]" : "[ ]",
|
|
158
|
+
" ")) : (React.createElement(Text, null,
|
|
159
|
+
isSelected ? "(*)" : "( )",
|
|
160
|
+
" ")),
|
|
161
|
+
React.createElement(Text, null,
|
|
162
|
+
index + 1,
|
|
163
|
+
". ",
|
|
164
|
+
option.label)),
|
|
165
|
+
option.description && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
166
|
+
" ",
|
|
167
|
+
"- ",
|
|
168
|
+
option.description))));
|
|
169
|
+
})),
|
|
170
|
+
showOtherInput && selectedIndices.has(otherIndex) && (React.createElement(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column" },
|
|
171
|
+
React.createElement(Text, { color: "yellow" }, "Enter your response:"),
|
|
172
|
+
React.createElement(Box, { marginTop: 1 },
|
|
173
|
+
React.createElement(Text, { color: "cyan" }, "> "),
|
|
174
|
+
React.createElement(Text, null, otherInput),
|
|
175
|
+
React.createElement(Text, { color: "cyan" }, "|")))),
|
|
176
|
+
React.createElement(Box, { marginTop: 1, marginLeft: 2 },
|
|
177
|
+
React.createElement(Text, { color: "gray", dimColor: true }, question.multiSelect
|
|
178
|
+
? "Space to toggle | Enter to submit | 1-9 quick select | Esc cancel"
|
|
179
|
+
: "Enter/1-9 to select | Esc cancel"))));
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=question-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-dialog.js","sourceRoot":"","sources":["../../../src/ui/components/question-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,5 +43,8 @@ export declare class NoopLogger implements Logger {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Create a logger based on environment
|
|
46
|
+
*
|
|
47
|
+
* By default, only shows WARN and ERROR messages to avoid cluttering CLI output.
|
|
48
|
+
* Set DEBUG=1 to enable all log levels including INFO and DEBUG.
|
|
46
49
|
*/
|
|
47
50
|
export declare function createLogger(): Logger;
|
|
@@ -61,10 +61,13 @@ export class NoopLogger {
|
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Create a logger based on environment
|
|
64
|
+
*
|
|
65
|
+
* By default, only shows WARN and ERROR messages to avoid cluttering CLI output.
|
|
66
|
+
* Set DEBUG=1 to enable all log levels including INFO and DEBUG.
|
|
64
67
|
*/
|
|
65
68
|
export function createLogger() {
|
|
66
69
|
const debugMode = process.env.DEBUG === '1' || process.env.DEBUG === 'true';
|
|
67
|
-
const level = debugMode ? LogLevel.DEBUG : LogLevel.
|
|
70
|
+
const level = debugMode ? LogLevel.DEBUG : LogLevel.WARN;
|
|
68
71
|
return new ConsoleLogger(level);
|
|
69
72
|
}
|
|
70
73
|
//# sourceMappingURL=analysis-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-logger.js","sourceRoot":"","sources":["../../src/utils/analysis-logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACV,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AASD;;GAEG;AACH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,QAAkB,QAAQ,CAAC,IAAI;QAA/B,UAAK,GAAL,KAAK,CAA0B;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAiC;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,KAAK;gBACrB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBAChD,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,CAAC,KAAK,CACX,WAAW,OAAO,EAAE,EACpB,SAAS,EACT,OAAO,IAAI,EAAE,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACrB,KAAK,KAAU,CAAC;IAChB,IAAI,KAAU,CAAC;IACf,IAAI,KAAU,CAAC;IACf,KAAK,KAAU,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"analysis-logger.js","sourceRoot":"","sources":["../../src/utils/analysis-logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACV,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AASD;;GAEG;AACH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,QAAkB,QAAQ,CAAC,IAAI;QAA/B,UAAK,GAAL,KAAK,CAA0B;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAe,EAAE,OAAiC;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAiC;QACrD,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAiC;QACrE,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,KAAK;gBACrB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;gBAChD,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,CAAC,KAAK,CACX,WAAW,OAAO,EAAE,EACpB,SAAS,EACT,OAAO,IAAI,EAAE,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACrB,KAAK,KAAU,CAAC;IAChB,IAAI,KAAU,CAAC;IACf,IAAI,KAAU,CAAC;IACf,KAAK,KAAU,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC;IAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/ax-cli",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.5",
|
|
4
4
|
"sdkVersion": "1.2.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",
|