@defai.digital/ax-cli 3.12.4 → 3.12.6
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 +36 -2
- package/config-defaults/settings.yaml +5 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/schemas/yaml-schemas.d.ts +6 -0
- package/dist/schemas/yaml-schemas.js +2 -0
- package/dist/schemas/yaml-schemas.js.map +1 -1
- 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/tools/bash.js +16 -0
- package/dist/tools/bash.js.map +1 -1
- package/dist/ui/components/chat-history.js +70 -2
- package/dist/ui/components/chat-history.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/dist/utils/config-loader.d.ts +2 -0
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/process-pool.js +9 -11
- package/dist/utils/process-pool.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.6)](#recent-changes-v3126)
|
|
51
52
|
- [Documentation](#documentation)
|
|
52
53
|
|
|
53
54
|
---
|
|
@@ -395,12 +396,45 @@ 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.6)
|
|
406
|
+
|
|
407
|
+
### New Features
|
|
408
|
+
|
|
409
|
+
- **Rolling Tool Display**: Implements Claude Code-style rolling display for consecutive tool operations. When there are more than 5 consecutive tool calls, older entries are collapsed with a "... X more (ctrl+o to expand)" summary, keeping the UI clean and focused on recent activity.
|
|
410
|
+
|
|
411
|
+
### Configuration
|
|
412
|
+
|
|
413
|
+
- **`max_visible_tool_lines`**: New UI setting (default: 5) to control how many consecutive tool operations are visible before older ones are rolled up.
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Previous Changes (v3.12.5)
|
|
418
|
+
|
|
419
|
+
### Bug Fixes
|
|
420
|
+
|
|
421
|
+
- **Fixed `[INFO]` logging pollution**: Analyzer log messages no longer appear in CLI output. Set `DEBUG=1` to enable verbose logging.
|
|
422
|
+
- **Fixed `ask_user` tool**: Implemented complete interactive question dialog system with EventEmitter pattern, multi-question flow support, and graceful fallback in non-TTY mode.
|
|
423
|
+
|
|
424
|
+
### New Features
|
|
425
|
+
|
|
426
|
+
- **QuestionDialog UI Component**: New interactive dialog for AI to ask clarifying questions during task execution
|
|
427
|
+
- **Multi-question support**: Ask multiple questions with progress indicators (e.g., "1/3")
|
|
428
|
+
- **Custom input option**: Users can select "Other" to provide free-text responses
|
|
429
|
+
|
|
430
|
+
### Technical Improvements
|
|
431
|
+
|
|
432
|
+
- Refactored `AskUserService` to use EventEmitter pattern (consistent with `ConfirmationService`)
|
|
433
|
+
- Added 13 new tests for question dialog functionality
|
|
434
|
+
- Improved code quality and test coverage
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
404
438
|
## Documentation
|
|
405
439
|
|
|
406
440
|
| Guide | Description |
|
|
@@ -441,7 +475,7 @@ This project is developed with assistance from multiple AI coding assistants:
|
|
|
441
475
|
|
|
442
476
|
- [AutomatosX](https://github.com/defai-digital/automatosx) - AI agent orchestration platform
|
|
443
477
|
- [Claude](https://github.com/claude) - Anthropic's AI assistant
|
|
444
|
-
- [Gemini
|
|
478
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - Google's AI coding assistant
|
|
445
479
|
- [Codex](https://github.com/openai/codex) - OpenAI's code generation model
|
|
446
480
|
|
|
447
481
|
---
|
|
@@ -122,6 +122,11 @@ ui:
|
|
|
122
122
|
semantic_grouping: true # Enable semantic grouping
|
|
123
123
|
max_semantic_group_size: 30 # Max operations in a semantic group
|
|
124
124
|
|
|
125
|
+
# Rolling Display (Claude Code-style)
|
|
126
|
+
# When there are many consecutive tool operations, only show the last N lines
|
|
127
|
+
# Older operations are collapsed with "... and X more" summary
|
|
128
|
+
max_visible_tool_lines: 5 # Max visible tool lines before rolling up older ones
|
|
129
|
+
|
|
125
130
|
token:
|
|
126
131
|
tokens_per_message: 3
|
|
127
132
|
tokens_for_reply_priming: 3
|
package/dist/constants.d.ts
CHANGED
|
@@ -142,6 +142,8 @@ export declare const UI_CONFIG: {
|
|
|
142
142
|
readonly SEMANTIC_GROUPING: boolean;
|
|
143
143
|
/** Maximum operations in a semantic group before splitting */
|
|
144
144
|
readonly MAX_SEMANTIC_GROUP_SIZE: number;
|
|
145
|
+
/** Maximum visible tool lines in rolling display (Claude Code-style) */
|
|
146
|
+
readonly MAX_VISIBLE_TOOL_LINES: number;
|
|
145
147
|
};
|
|
146
148
|
export declare const TOKEN_CONFIG: {
|
|
147
149
|
readonly TOKENS_PER_MESSAGE: number;
|
package/dist/constants.js
CHANGED
|
@@ -183,6 +183,8 @@ export const UI_CONFIG = {
|
|
|
183
183
|
SEMANTIC_GROUPING: settingsYaml.ui.semantic_grouping !== undefined ? settingsYaml.ui.semantic_grouping : true,
|
|
184
184
|
/** Maximum operations in a semantic group before splitting */
|
|
185
185
|
MAX_SEMANTIC_GROUP_SIZE: settingsYaml.ui.max_semantic_group_size || 30,
|
|
186
|
+
/** Maximum visible tool lines in rolling display (Claude Code-style) */
|
|
187
|
+
MAX_VISIBLE_TOOL_LINES: settingsYaml.ui.max_visible_tool_lines || 5,
|
|
186
188
|
};
|
|
187
189
|
// Token Counting
|
|
188
190
|
export const TOKEN_CONFIG = {
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -251,6 +251,8 @@ export declare const SettingsYamlSchema: z.ZodObject<{
|
|
|
251
251
|
semantic_grouping: z.ZodOptional<z.ZodBoolean>;
|
|
252
252
|
/** Max operations in a semantic group */
|
|
253
253
|
max_semantic_group_size: z.ZodOptional<z.ZodNumber>;
|
|
254
|
+
/** Max visible tool lines for rolling display (Claude Code-style) */
|
|
255
|
+
max_visible_tool_lines: z.ZodOptional<z.ZodNumber>;
|
|
254
256
|
}, "strip", z.ZodTypeAny, {
|
|
255
257
|
status_update_interval: number;
|
|
256
258
|
processing_timer_interval: number;
|
|
@@ -260,6 +262,7 @@ export declare const SettingsYamlSchema: z.ZodObject<{
|
|
|
260
262
|
group_time_window?: number | undefined;
|
|
261
263
|
semantic_grouping?: boolean | undefined;
|
|
262
264
|
max_semantic_group_size?: number | undefined;
|
|
265
|
+
max_visible_tool_lines?: number | undefined;
|
|
263
266
|
}, {
|
|
264
267
|
status_update_interval: number;
|
|
265
268
|
processing_timer_interval: number;
|
|
@@ -269,6 +272,7 @@ export declare const SettingsYamlSchema: z.ZodObject<{
|
|
|
269
272
|
group_time_window?: number | undefined;
|
|
270
273
|
semantic_grouping?: boolean | undefined;
|
|
271
274
|
max_semantic_group_size?: number | undefined;
|
|
275
|
+
max_visible_tool_lines?: number | undefined;
|
|
272
276
|
}>;
|
|
273
277
|
token: z.ZodObject<{
|
|
274
278
|
tokens_per_message: z.ZodNumber;
|
|
@@ -357,6 +361,7 @@ export declare const SettingsYamlSchema: z.ZodObject<{
|
|
|
357
361
|
group_time_window?: number | undefined;
|
|
358
362
|
semantic_grouping?: boolean | undefined;
|
|
359
363
|
max_semantic_group_size?: number | undefined;
|
|
364
|
+
max_visible_tool_lines?: number | undefined;
|
|
360
365
|
};
|
|
361
366
|
token: {
|
|
362
367
|
default_model: string;
|
|
@@ -413,6 +418,7 @@ export declare const SettingsYamlSchema: z.ZodObject<{
|
|
|
413
418
|
group_time_window?: number | undefined;
|
|
414
419
|
semantic_grouping?: boolean | undefined;
|
|
415
420
|
max_semantic_group_size?: number | undefined;
|
|
421
|
+
max_visible_tool_lines?: number | undefined;
|
|
416
422
|
};
|
|
417
423
|
token: {
|
|
418
424
|
default_model: string;
|
|
@@ -67,6 +67,8 @@ export const SettingsYamlSchema = z.object({
|
|
|
67
67
|
semantic_grouping: z.boolean().optional(),
|
|
68
68
|
/** Max operations in a semantic group */
|
|
69
69
|
max_semantic_group_size: z.number().positive().int().optional(),
|
|
70
|
+
/** Max visible tool lines for rolling display (Claude Code-style) */
|
|
71
|
+
max_visible_tool_lines: z.number().positive().int().optional(),
|
|
70
72
|
}),
|
|
71
73
|
token: z.object({
|
|
72
74
|
tokens_per_message: z.number().nonnegative().int(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-schemas.js","sourceRoot":"","sources":["../../src/schemas/yaml-schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"yaml-schemas.js","sourceRoot":"","sources":["../../src/schemas/yaml-schemas.ts"],"names":[],"mappings":"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"}
|
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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"}
|
package/dist/tools/bash.js
CHANGED
|
@@ -67,9 +67,25 @@ export class BashTool extends EventEmitter {
|
|
|
67
67
|
this.currentCommand = '';
|
|
68
68
|
this.currentOutput = [];
|
|
69
69
|
// Attempt to kill orphaned process to prevent resource leak
|
|
70
|
+
// BUG FIX: Add SIGKILL fallback to ensure process termination
|
|
70
71
|
try {
|
|
71
72
|
if (!processToAdopt.killed && processToAdopt.exitCode === null) {
|
|
72
73
|
processToAdopt.kill('SIGTERM');
|
|
74
|
+
// Force kill after 2 seconds if SIGTERM doesn't work
|
|
75
|
+
const forceKillTimeout = setTimeout(() => {
|
|
76
|
+
try {
|
|
77
|
+
if (!processToAdopt.killed && processToAdopt.exitCode === null) {
|
|
78
|
+
processToAdopt.kill('SIGKILL');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Process already terminated
|
|
83
|
+
}
|
|
84
|
+
}, 2000);
|
|
85
|
+
// Unref to prevent keeping event loop alive
|
|
86
|
+
forceKillTimeout.unref();
|
|
87
|
+
// Clear timeout when process exits
|
|
88
|
+
processToAdopt.once('exit', () => clearTimeout(forceKillTimeout));
|
|
73
89
|
}
|
|
74
90
|
}
|
|
75
91
|
catch {
|