deepseek-coder-agent-cli 1.0.27 → 1.0.28
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/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +52 -8
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/shutdown.d.ts +34 -0
- package/dist/core/shutdown.d.ts.map +1 -0
- package/dist/core/shutdown.js +172 -0
- package/dist/core/shutdown.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -1
- package/dist/headless/interactiveShell.js +11 -3
- package/dist/headless/interactiveShell.js.map +1 -1
- package/dist/headless/quickMode.d.ts.map +1 -1
- package/dist/headless/quickMode.js +3 -0
- package/dist/headless/quickMode.js.map +1 -1
- package/dist/ui/UnifiedUIRenderer.d.ts +3 -6
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
- package/dist/ui/UnifiedUIRenderer.js +58 -7
- package/dist/ui/UnifiedUIRenderer.js.map +1 -1
- package/package.json +1 -1
package/dist/core/hitl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../../src/core/hitl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../../src/core/hitl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CAC3C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,EAAE,CAAC,CAAqB;gBAEpB,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC;IASxC;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAoChE;;OAEG;YACW,qBAAqB;IA8KnC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,UAAU,IAAI,gBAAgB,EAAE;IAIhC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;CAGhD;AAKD;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAUhE;AAED;;GAEG;AACH,eAAO,MAAM,IAAI;IACf;;OAEG;oBACmB,MAAM,eAAe,MAAM,YAAW,MAAM,eAAmB,OAAO,GAAU,OAAO,CAAC,OAAO,CAAC;IA6BtH;;OAEG;wBACuB,MAAM,eAAe,MAAM,WAAW,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,YAAW,MAAM,oBAAyB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBzL;;OAEG;2BAC0B,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAQ1G,CAAC"}
|
package/dist/core/hitl.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { stdin, stdout } from 'node:process';
|
|
7
7
|
import * as readline from 'node:readline';
|
|
8
8
|
import chalk from 'chalk';
|
|
9
|
+
import { authorizedShutdown, isShutdownInProgress, onShutdown, installSignalHandlers } from './shutdown.js';
|
|
9
10
|
export class HITLSystem {
|
|
10
11
|
config;
|
|
11
12
|
pendingDecisions = new Map();
|
|
@@ -57,6 +58,15 @@ export class HITLSystem {
|
|
|
57
58
|
* Present decision to user and wait for input
|
|
58
59
|
*/
|
|
59
60
|
async promptUserForDecision(request) {
|
|
61
|
+
// Ensure signal handlers are installed for Ctrl+C fallback
|
|
62
|
+
installSignalHandlers();
|
|
63
|
+
// Check if shutdown is already in progress
|
|
64
|
+
if (isShutdownInProgress()) {
|
|
65
|
+
const defaultOption = request.defaultOptionId || request.options[0]?.id;
|
|
66
|
+
if (defaultOption)
|
|
67
|
+
return defaultOption;
|
|
68
|
+
throw new Error('Shutdown in progress');
|
|
69
|
+
}
|
|
60
70
|
console.log('\n' + chalk.bold.cyan('╔═══════════════════════════════════════════════════════════╗'));
|
|
61
71
|
console.log(chalk.bold.cyan('║ HUMAN DECISION REQUIRED ║'));
|
|
62
72
|
console.log(chalk.bold.cyan('╚═══════════════════════════════════════════════════════════╝\n'));
|
|
@@ -80,35 +90,68 @@ export class HITLSystem {
|
|
|
80
90
|
console.log(chalk.yellow('💡 You can also:'));
|
|
81
91
|
console.log(chalk.dim(' • Type a custom plan or instruction'));
|
|
82
92
|
console.log(chalk.dim(' • Press Enter to accept the default option'));
|
|
83
|
-
console.log(chalk.dim(' • Type "cancel"
|
|
93
|
+
console.log(chalk.dim(' • Type "cancel" or press Ctrl+C to abort'));
|
|
84
94
|
console.log('');
|
|
85
95
|
const prompt = chalk.bold.magenta('👉 Your choice: ');
|
|
86
|
-
return new Promise((resolve) => {
|
|
87
|
-
// Create readline interface
|
|
96
|
+
return new Promise((resolve, reject) => {
|
|
97
|
+
// Create readline interface with explicit terminal settings
|
|
88
98
|
if (!this.rl) {
|
|
89
99
|
this.rl = readline.createInterface({
|
|
90
100
|
input: stdin,
|
|
91
|
-
output: stdout
|
|
101
|
+
output: stdout,
|
|
102
|
+
terminal: stdin.isTTY
|
|
103
|
+
});
|
|
104
|
+
// Handle Ctrl+C via readline's 'close' event and SIGINT
|
|
105
|
+
this.rl.on('close', () => {
|
|
106
|
+
if (!isShutdownInProgress()) {
|
|
107
|
+
console.log(chalk.red('\n❌ Operation cancelled'));
|
|
108
|
+
void authorizedShutdown(130);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
// Handle SIGINT specifically for this readline
|
|
112
|
+
this.rl.on('SIGINT', () => {
|
|
113
|
+
console.log(chalk.red('\n❌ Interrupted'));
|
|
114
|
+
this.cleanupReadline();
|
|
115
|
+
void authorizedShutdown(130);
|
|
92
116
|
});
|
|
93
117
|
}
|
|
118
|
+
// Register cleanup callback for graceful shutdown
|
|
119
|
+
const unregisterCleanup = onShutdown(() => {
|
|
120
|
+
this.cleanupReadline();
|
|
121
|
+
});
|
|
94
122
|
const timeoutId = this.config.timeoutMs > 0
|
|
95
123
|
? setTimeout(() => {
|
|
96
124
|
if (this.config.timeoutDefaultOptionId) {
|
|
97
125
|
console.log(chalk.yellow(`\n⏰ Timeout - auto-selecting default option`));
|
|
126
|
+
unregisterCleanup();
|
|
98
127
|
this.cleanupReadline();
|
|
99
128
|
resolve(this.config.timeoutDefaultOptionId);
|
|
100
129
|
}
|
|
101
130
|
}, this.config.timeoutMs)
|
|
102
131
|
: undefined;
|
|
103
|
-
|
|
132
|
+
const handleAnswer = (answer) => {
|
|
104
133
|
if (timeoutId)
|
|
105
134
|
clearTimeout(timeoutId);
|
|
135
|
+
unregisterCleanup();
|
|
136
|
+
// Check for shutdown during input
|
|
137
|
+
if (isShutdownInProgress()) {
|
|
138
|
+
const defaultOption = request.defaultOptionId || request.options[0]?.id;
|
|
139
|
+
this.cleanupReadline();
|
|
140
|
+
if (defaultOption) {
|
|
141
|
+
resolve(defaultOption);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
reject(new Error('Shutdown in progress'));
|
|
145
|
+
}
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
106
148
|
const trimmedAnswer = answer.trim().toLowerCase();
|
|
107
149
|
// Handle cancellation
|
|
108
|
-
if (trimmedAnswer === 'cancel' || trimmedAnswer === 'abort') {
|
|
150
|
+
if (trimmedAnswer === 'cancel' || trimmedAnswer === 'abort' || trimmedAnswer === 'quit' || trimmedAnswer === 'exit') {
|
|
109
151
|
console.log(chalk.red('❌ Operation cancelled by user'));
|
|
110
152
|
this.cleanupReadline();
|
|
111
|
-
|
|
153
|
+
void authorizedShutdown(0);
|
|
154
|
+
return;
|
|
112
155
|
}
|
|
113
156
|
// Handle empty input (use default)
|
|
114
157
|
if (!trimmedAnswer && request.defaultOptionId) {
|
|
@@ -160,7 +203,8 @@ export class HITLSystem {
|
|
|
160
203
|
this.recordDecision(response);
|
|
161
204
|
this.cleanupReadline();
|
|
162
205
|
resolve(customOptionId);
|
|
163
|
-
}
|
|
206
|
+
};
|
|
207
|
+
this.rl.question(prompt, handleAnswer);
|
|
164
208
|
});
|
|
165
209
|
}
|
|
166
210
|
cleanupReadline() {
|
package/dist/core/hitl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../src/core/hitl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../src/core/hitl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized shutdown and signal handling for the CLI.
|
|
3
|
+
* Ensures Ctrl+C always works and process exits cleanly.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Register a cleanup callback to run on shutdown
|
|
7
|
+
*/
|
|
8
|
+
export declare function onShutdown(callback: () => void | Promise<void>): () => void;
|
|
9
|
+
/**
|
|
10
|
+
* Initiate authorized shutdown with cleanup
|
|
11
|
+
*/
|
|
12
|
+
export declare function authorizedShutdown(codeOrReason?: number | string): Promise<never>;
|
|
13
|
+
/**
|
|
14
|
+
* Check if shutdown is in progress
|
|
15
|
+
*/
|
|
16
|
+
export declare function isShutdownInProgress(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Get the shutdown reason if shutting down
|
|
19
|
+
*/
|
|
20
|
+
export declare function getShutdownReason(): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Install process-level signal handlers as fallback
|
|
23
|
+
* This ensures Ctrl+C always works even if input handling fails
|
|
24
|
+
*/
|
|
25
|
+
export declare function installSignalHandlers(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Reset Ctrl+C counter (call when input is processed to prevent double-counting)
|
|
28
|
+
*/
|
|
29
|
+
export declare function resetCtrlCCounter(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get current Ctrl+C count (for coordination with input handlers)
|
|
32
|
+
*/
|
|
33
|
+
export declare function getCtrlCCount(): number;
|
|
34
|
+
//# sourceMappingURL=shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAS3E;AAkBD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuCvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAkCD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized shutdown and signal handling for the CLI.
|
|
3
|
+
* Ensures Ctrl+C always works and process exits cleanly.
|
|
4
|
+
*/
|
|
5
|
+
import { stdin, stdout } from 'node:process';
|
|
6
|
+
// Track shutdown state
|
|
7
|
+
let isShuttingDown = false;
|
|
8
|
+
let shutdownReason;
|
|
9
|
+
let signalHandlersInstalled = false;
|
|
10
|
+
let cleanupCallbacks = [];
|
|
11
|
+
let forceExitTimeout = null;
|
|
12
|
+
// Ctrl+C counter for double-press detection at process level
|
|
13
|
+
let processCtrlCCount = 0;
|
|
14
|
+
let lastProcessCtrlCTime = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Register a cleanup callback to run on shutdown
|
|
17
|
+
*/
|
|
18
|
+
export function onShutdown(callback) {
|
|
19
|
+
cleanupCallbacks.push(callback);
|
|
20
|
+
// Return unregister function
|
|
21
|
+
return () => {
|
|
22
|
+
const index = cleanupCallbacks.indexOf(callback);
|
|
23
|
+
if (index !== -1) {
|
|
24
|
+
cleanupCallbacks.splice(index, 1);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Run all cleanup callbacks
|
|
30
|
+
*/
|
|
31
|
+
async function runCleanup() {
|
|
32
|
+
const callbacks = [...cleanupCallbacks];
|
|
33
|
+
cleanupCallbacks = [];
|
|
34
|
+
for (const callback of callbacks) {
|
|
35
|
+
try {
|
|
36
|
+
await callback();
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Ignore cleanup errors during shutdown
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Initiate authorized shutdown with cleanup
|
|
45
|
+
*/
|
|
46
|
+
export async function authorizedShutdown(codeOrReason) {
|
|
47
|
+
const exitCode = typeof codeOrReason === 'number' ? codeOrReason : 0;
|
|
48
|
+
const reason = typeof codeOrReason === 'string' ? codeOrReason : `exit(${exitCode})`;
|
|
49
|
+
if (isShuttingDown) {
|
|
50
|
+
// Already shutting down - force exit if called again
|
|
51
|
+
process.exit(exitCode);
|
|
52
|
+
}
|
|
53
|
+
isShuttingDown = true;
|
|
54
|
+
shutdownReason = reason;
|
|
55
|
+
// Set a force exit timeout in case cleanup hangs
|
|
56
|
+
forceExitTimeout = setTimeout(() => {
|
|
57
|
+
process.exit(exitCode);
|
|
58
|
+
}, 3000);
|
|
59
|
+
try {
|
|
60
|
+
// Restore terminal state
|
|
61
|
+
if (stdin.isTTY && stdin.setRawMode) {
|
|
62
|
+
try {
|
|
63
|
+
stdin.setRawMode(false);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Ignore - may not be in raw mode
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Run cleanup callbacks
|
|
70
|
+
await runCleanup();
|
|
71
|
+
// Clear the force exit timeout since we completed normally
|
|
72
|
+
if (forceExitTimeout) {
|
|
73
|
+
clearTimeout(forceExitTimeout);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Ignore cleanup errors
|
|
78
|
+
}
|
|
79
|
+
process.exit(exitCode);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Check if shutdown is in progress
|
|
83
|
+
*/
|
|
84
|
+
export function isShutdownInProgress() {
|
|
85
|
+
return isShuttingDown;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get the shutdown reason if shutting down
|
|
89
|
+
*/
|
|
90
|
+
export function getShutdownReason() {
|
|
91
|
+
return shutdownReason;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Handle SIGINT at process level - this is the fallback when input interception fails
|
|
95
|
+
*/
|
|
96
|
+
function handleSIGINT() {
|
|
97
|
+
const now = Date.now();
|
|
98
|
+
// Reset count if more than 2 seconds since last
|
|
99
|
+
if (now - lastProcessCtrlCTime > 2000) {
|
|
100
|
+
processCtrlCCount = 0;
|
|
101
|
+
}
|
|
102
|
+
lastProcessCtrlCTime = now;
|
|
103
|
+
processCtrlCCount++;
|
|
104
|
+
if (processCtrlCCount >= 2) {
|
|
105
|
+
// Double Ctrl+C - force exit
|
|
106
|
+
stdout.write('\n');
|
|
107
|
+
void authorizedShutdown(130); // Standard SIGINT exit code
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Single Ctrl+C - show hint
|
|
111
|
+
stdout.write('\n');
|
|
112
|
+
stdout.write('\x1b[2m(Press Ctrl+C again to exit)\x1b[0m\n');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Handle SIGTERM - graceful shutdown request
|
|
117
|
+
*/
|
|
118
|
+
function handleSIGTERM() {
|
|
119
|
+
void authorizedShutdown('SIGTERM');
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Install process-level signal handlers as fallback
|
|
123
|
+
* This ensures Ctrl+C always works even if input handling fails
|
|
124
|
+
*/
|
|
125
|
+
export function installSignalHandlers() {
|
|
126
|
+
if (signalHandlersInstalled) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
signalHandlersInstalled = true;
|
|
130
|
+
// SIGINT (Ctrl+C) - with double-press detection
|
|
131
|
+
process.on('SIGINT', handleSIGINT);
|
|
132
|
+
// SIGTERM - graceful shutdown
|
|
133
|
+
process.on('SIGTERM', handleSIGTERM);
|
|
134
|
+
// Handle uncaught errors during shutdown
|
|
135
|
+
process.on('uncaughtException', (error) => {
|
|
136
|
+
if (!isShuttingDown) {
|
|
137
|
+
console.error('Uncaught exception:', error.message);
|
|
138
|
+
void authorizedShutdown(1);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
// Handle unhandled promise rejections during shutdown
|
|
142
|
+
process.on('unhandledRejection', (reason) => {
|
|
143
|
+
if (!isShuttingDown) {
|
|
144
|
+
console.error('Unhandled rejection:', reason);
|
|
145
|
+
void authorizedShutdown(1);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
// Ensure terminal is restored on exit
|
|
149
|
+
process.on('exit', () => {
|
|
150
|
+
if (stdin.isTTY && stdin.setRawMode) {
|
|
151
|
+
try {
|
|
152
|
+
stdin.setRawMode(false);
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Ignore
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Reset Ctrl+C counter (call when input is processed to prevent double-counting)
|
|
162
|
+
*/
|
|
163
|
+
export function resetCtrlCCounter() {
|
|
164
|
+
processCtrlCCount = 0;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get current Ctrl+C count (for coordination with input handlers)
|
|
168
|
+
*/
|
|
169
|
+
export function getCtrlCCount() {
|
|
170
|
+
return processCtrlCCount;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=shutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,uBAAuB;AACvB,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,cAAkC,CAAC;AACvC,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,IAAI,gBAAgB,GAAsC,EAAE,CAAC;AAC7D,IAAI,gBAAgB,GAA0B,IAAI,CAAC;AAEnD,6DAA6D;AAC7D,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoC;IAC7D,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,6BAA6B;IAC7B,OAAO,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU;IACvB,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACxC,gBAAgB,GAAG,EAAE,CAAC;IAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAA8B;IACrE,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC;IAErF,IAAI,cAAc,EAAE,CAAC;QACnB,qDAAqD;QACrD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,MAAM,CAAC;IAExB,iDAAiD;IACjD,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC;QACH,yBAAyB;QACzB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,EAAE,CAAC;QAEnB,2DAA2D;QAC3D,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,gDAAgD;IAChD,IAAI,GAAG,GAAG,oBAAoB,GAAG,IAAI,EAAE,CAAC;QACtC,iBAAiB,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,oBAAoB,GAAG,GAAG,CAAC;IAC3B,iBAAiB,EAAE,CAAC;IAEpB,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAC3B,6BAA6B;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;IAC5D,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,KAAK,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,uBAAuB,GAAG,IAAI,CAAC;IAE/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAErC,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC9C,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,iBAAiB,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/headless/interactiveShell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/headless/interactiveShell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwJH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAOD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDzF"}
|
|
@@ -25,7 +25,8 @@ import { initializeFlowProtection, getFlowProtection } from '../core/flowProtect
|
|
|
25
25
|
const initializeProtection = (_config) => { };
|
|
26
26
|
const enterCriticalSection = (_name) => { };
|
|
27
27
|
const exitCriticalSection = (_name) => { };
|
|
28
|
-
|
|
28
|
+
// Import real shutdown handler for reliable Ctrl+C handling
|
|
29
|
+
import { authorizedShutdown, installSignalHandlers, onShutdown } from '../core/shutdown.js';
|
|
29
30
|
const runSecurityTournament = async (_config) => ({ summary: { totalRounds: 0, primaryWins: 0, refinerWins: 0, ties: 0, winningStrategy: '', totalFindings: 0, verifiedFindings: 0, fixedFindings: 0, criticalCount: 0, highCount: 0, mediumCount: 0, duration: 0 }, findings: [], remediation: { fixed: 0, failed: 0, skipped: 0 } });
|
|
30
31
|
const runDefaultSecurityAudit = async () => ({ findings: [], summary: { critical: 0, high: 0, medium: 0 } });
|
|
31
32
|
const runDualTournament = (_task, _candidates, _options) => ({ winner: null, rankings: [], ranked: [], tie: true });
|
|
@@ -112,7 +113,9 @@ const AGI_BANNER_RENDERED = BANNER_GRADIENT(' ◈ DeepSeek Coder');
|
|
|
112
113
|
* Run the fully interactive shell with rich UI.
|
|
113
114
|
*/
|
|
114
115
|
export async function runInteractiveShell(options) {
|
|
115
|
-
//
|
|
116
|
+
// Install signal handlers FIRST for reliable Ctrl+C handling
|
|
117
|
+
installSignalHandlers();
|
|
118
|
+
// Initialize protection systems
|
|
116
119
|
initializeProtection({
|
|
117
120
|
interceptSignals: true,
|
|
118
121
|
monitorResources: true,
|
|
@@ -373,6 +376,11 @@ class InteractiveShell {
|
|
|
373
376
|
onToggleAutoContinue: () => this.handleAutoContinueToggle(),
|
|
374
377
|
onToggleThinking: () => this.handleThinkingToggle(),
|
|
375
378
|
});
|
|
379
|
+
// Register cleanup callback for graceful shutdown
|
|
380
|
+
onShutdown(() => {
|
|
381
|
+
this.shouldExit = true;
|
|
382
|
+
this.promptController?.stop();
|
|
383
|
+
});
|
|
376
384
|
// Start the UI
|
|
377
385
|
this.promptController.start();
|
|
378
386
|
this.applyDebugState(this.debugEnabled);
|
|
@@ -3720,7 +3728,7 @@ Any text response is a failure. Only tool calls are accepted.`;
|
|
|
3720
3728
|
handleExit() {
|
|
3721
3729
|
this.shouldExit = true;
|
|
3722
3730
|
this.promptController?.stop();
|
|
3723
|
-
|
|
3731
|
+
void authorizedShutdown(0);
|
|
3724
3732
|
}
|
|
3725
3733
|
async handleEmailCommand(args) {
|
|
3726
3734
|
try {
|