@nanocollective/nanocoder 1.22.5 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -30
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client/chat/chat-handler.js +1 -1
- package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
- package/dist/ai-sdk-client/chat/tool-processor.d.ts +1 -1
- package/dist/ai-sdk-client/chat/tool-processor.d.ts.map +1 -1
- package/dist/ai-sdk-client/chat/tool-processor.js +8 -3
- package/dist/ai-sdk-client/chat/tool-processor.js.map +1 -1
- package/dist/ai-sdk-client/error-handling/error-parser.d.ts.map +1 -1
- package/dist/ai-sdk-client/error-handling/error-parser.js +4 -1
- package/dist/ai-sdk-client/error-handling/error-parser.js.map +1 -1
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/App.js +106 -11
- package/dist/app/App.js.map +1 -1
- package/dist/app/components/chat-input.d.ts +6 -1
- package/dist/app/components/chat-input.d.ts.map +1 -1
- package/dist/app/components/chat-input.js +9 -7
- package/dist/app/components/chat-input.js.map +1 -1
- package/dist/app/utils/app-util.d.ts +5 -0
- package/dist/app/utils/app-util.d.ts.map +1 -1
- package/dist/app/utils/app-util.js +265 -0
- package/dist/app/utils/app-util.js.map +1 -1
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +3 -2
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/context-max.d.ts +15 -0
- package/dist/commands/context-max.d.ts.map +1 -0
- package/dist/commands/context-max.js +22 -0
- package/dist/commands/context-max.js.map +1 -0
- package/dist/commands/custom-commands.d.ts.map +1 -1
- package/dist/commands/custom-commands.js +88 -4
- package/dist/commands/custom-commands.js.map +1 -1
- package/dist/commands/exit.d.ts.map +1 -1
- package/dist/commands/exit.js +5 -8
- package/dist/commands/exit.js.map +1 -1
- package/dist/commands/ide.d.ts +3 -0
- package/dist/commands/ide.d.ts.map +1 -0
- package/dist/commands/ide.js +10 -0
- package/dist/commands/ide.js.map +1 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/schedule.d.ts +3 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +177 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +4 -3
- package/dist/commands/usage.js.map +1 -1
- package/dist/components/development-mode-indicator.d.ts +3 -2
- package/dist/components/development-mode-indicator.d.ts.map +1 -1
- package/dist/components/development-mode-indicator.js +23 -9
- package/dist/components/development-mode-indicator.js.map +1 -1
- package/dist/components/ide-selector.d.ts +7 -0
- package/dist/components/ide-selector.d.ts.map +1 -0
- package/dist/components/ide-selector.js +17 -0
- package/dist/components/ide-selector.js.map +1 -0
- package/dist/components/question-prompt.d.ts +8 -0
- package/dist/components/question-prompt.d.ts.map +1 -0
- package/dist/components/question-prompt.js +58 -0
- package/dist/components/question-prompt.js.map +1 -0
- package/dist/components/scheduler-view.d.ts +14 -0
- package/dist/components/scheduler-view.d.ts.map +1 -0
- package/dist/components/scheduler-view.js +17 -0
- package/dist/components/scheduler-view.js.map +1 -0
- package/dist/components/text-input.d.ts +13 -0
- package/dist/components/text-input.d.ts.map +1 -0
- package/dist/components/text-input.js +175 -0
- package/dist/components/text-input.js.map +1 -0
- package/dist/components/user-input.d.ts +2 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +8 -15
- package/dist/components/user-input.js.map +1 -1
- package/dist/config/themes.d.ts.map +1 -1
- package/dist/config/themes.js +20 -0
- package/dist/config/themes.js.map +1 -1
- package/dist/custom-commands/command-integration.d.ts +24 -0
- package/dist/custom-commands/command-integration.d.ts.map +1 -0
- package/dist/custom-commands/command-integration.js +68 -0
- package/dist/custom-commands/command-integration.js.map +1 -0
- package/dist/custom-commands/executor.d.ts.map +1 -1
- package/dist/custom-commands/executor.js +12 -2
- package/dist/custom-commands/executor.js.map +1 -1
- package/dist/custom-commands/loader.d.ts +33 -5
- package/dist/custom-commands/loader.d.ts.map +1 -1
- package/dist/custom-commands/loader.js +191 -18
- package/dist/custom-commands/loader.js.map +1 -1
- package/dist/custom-commands/parser.d.ts.map +1 -1
- package/dist/custom-commands/parser.js +115 -48
- package/dist/custom-commands/parser.js.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
- package/dist/hooks/chat-handler/conversation/conversation-loop.js +37 -5
- package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
- package/dist/hooks/chat-handler/types.d.ts +3 -1
- package/dist/hooks/chat-handler/types.d.ts.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.d.ts +1 -1
- package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/chat-handler/useChatHandler.js +13 -5
- package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
- package/dist/hooks/useAppHandlers.d.ts +2 -0
- package/dist/hooks/useAppHandlers.d.ts.map +1 -1
- package/dist/hooks/useAppHandlers.js +5 -0
- package/dist/hooks/useAppHandlers.js.map +1 -1
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +4 -1
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +15 -0
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +23 -0
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useContextPercentage.d.ts +17 -0
- package/dist/hooks/useContextPercentage.d.ts.map +1 -0
- package/dist/hooks/useContextPercentage.js +71 -0
- package/dist/hooks/useContextPercentage.js.map +1 -0
- package/dist/hooks/useModeHandlers.d.ts +4 -1
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +11 -1
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/hooks/useNonInteractiveMode.d.ts.map +1 -1
- package/dist/hooks/useNonInteractiveMode.js +3 -1
- package/dist/hooks/useNonInteractiveMode.js.map +1 -1
- package/dist/hooks/useSchedulerMode.d.ts +30 -0
- package/dist/hooks/useSchedulerMode.d.ts.map +1 -0
- package/dist/hooks/useSchedulerMode.js +99 -0
- package/dist/hooks/useSchedulerMode.js.map +1 -0
- package/dist/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-manager.js +10 -0
- package/dist/lsp/lsp-manager.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +20 -1
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/models/index.d.ts +1 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/models-dev-client.d.ts +8 -1
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +50 -1
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/schedule/cron.d.ts +14 -0
- package/dist/schedule/cron.d.ts.map +1 -0
- package/dist/schedule/cron.js +107 -0
- package/dist/schedule/cron.js.map +1 -0
- package/dist/schedule/index.d.ts +4 -0
- package/dist/schedule/index.d.ts.map +1 -0
- package/dist/schedule/index.js +4 -0
- package/dist/schedule/index.js.map +1 -0
- package/dist/schedule/runner.d.ts +42 -0
- package/dist/schedule/runner.d.ts.map +1 -0
- package/dist/schedule/runner.js +136 -0
- package/dist/schedule/runner.js.map +1 -0
- package/dist/schedule/storage.d.ts +9 -0
- package/dist/schedule/storage.d.ts.map +1 -0
- package/dist/schedule/storage.js +68 -0
- package/dist/schedule/storage.js.map +1 -0
- package/dist/schedule/types.d.ts +24 -0
- package/dist/schedule/types.d.ts.map +1 -0
- package/dist/schedule/types.js +2 -0
- package/dist/schedule/types.js.map +1 -0
- package/dist/services/bash-executor.d.ts.map +1 -1
- package/dist/services/bash-executor.js +5 -0
- package/dist/services/bash-executor.js.map +1 -1
- package/dist/tool-calling/json-parser.d.ts +7 -3
- package/dist/tool-calling/json-parser.d.ts.map +1 -1
- package/dist/tool-calling/json-parser.js +30 -13
- package/dist/tool-calling/json-parser.js.map +1 -1
- package/dist/tool-calling/tool-parser.d.ts +2 -2
- package/dist/tool-calling/tool-parser.d.ts.map +1 -1
- package/dist/tool-calling/tool-parser.js +27 -23
- package/dist/tool-calling/tool-parser.js.map +1 -1
- package/dist/tool-calling/xml-parser.d.ts +8 -4
- package/dist/tool-calling/xml-parser.d.ts.map +1 -1
- package/dist/tool-calling/xml-parser.js +15 -5
- package/dist/tool-calling/xml-parser.js.map +1 -1
- package/dist/tools/ask-question.d.ts +3 -0
- package/dist/tools/ask-question.d.ts.map +1 -0
- package/dist/tools/ask-question.js +66 -0
- package/dist/tools/ask-question.js.map +1 -0
- package/dist/tools/execute-bash.js +1 -1
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/file-ops/copy-file.d.ts +3 -0
- package/dist/tools/file-ops/copy-file.d.ts.map +1 -0
- package/dist/tools/file-ops/copy-file.js +126 -0
- package/dist/tools/file-ops/copy-file.js.map +1 -0
- package/dist/tools/file-ops/create-directory.d.ts +3 -0
- package/dist/tools/file-ops/create-directory.d.ts.map +1 -0
- package/dist/tools/file-ops/create-directory.js +76 -0
- package/dist/tools/file-ops/create-directory.js.map +1 -0
- package/dist/tools/file-ops/delete-file.d.ts +3 -0
- package/dist/tools/file-ops/delete-file.d.ts.map +1 -0
- package/dist/tools/file-ops/delete-file.js +88 -0
- package/dist/tools/file-ops/delete-file.js.map +1 -0
- package/dist/tools/file-ops/index.d.ts +3 -0
- package/dist/tools/file-ops/index.d.ts.map +1 -0
- package/dist/tools/file-ops/index.js +8 -0
- package/dist/tools/file-ops/index.js.map +1 -0
- package/dist/tools/file-ops/move-file.d.ts +3 -0
- package/dist/tools/file-ops/move-file.d.ts.map +1 -0
- package/dist/tools/file-ops/move-file.js +126 -0
- package/dist/tools/file-ops/move-file.js.map +1 -0
- package/dist/tools/file-ops/string-replace.d.ts +3 -0
- package/dist/tools/file-ops/string-replace.d.ts.map +1 -0
- package/dist/tools/{string-replace.js → file-ops/string-replace.js} +13 -13
- package/dist/tools/file-ops/string-replace.js.map +1 -0
- package/dist/tools/file-ops/write-file.d.ts +3 -0
- package/dist/tools/file-ops/write-file.d.ts.map +1 -0
- package/dist/tools/{write-file.js → file-ops/write-file.js} +31 -17
- package/dist/tools/file-ops/write-file.js.map +1 -0
- package/dist/tools/git/git-reset.js +1 -1
- package/dist/tools/git/git-reset.js.map +1 -1
- package/dist/tools/git/index.js +3 -3
- package/dist/tools/git/index.js.map +1 -1
- package/dist/tools/git/utils.d.ts +4 -0
- package/dist/tools/git/utils.d.ts.map +1 -1
- package/dist/tools/git/utils.js +12 -0
- package/dist/tools/git/utils.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/search-file-contents.d.ts.map +1 -1
- package/dist/tools/search-file-contents.js +59 -10
- package/dist/tools/search-file-contents.js.map +1 -1
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +9 -0
- package/dist/tools/tool-manager.js.map +1 -1
- package/dist/types/app.d.ts +2 -0
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/commands.d.ts +20 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/core.d.ts +2 -1
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +7 -0
- package/dist/types/core.js.map +1 -1
- package/dist/types/ui.d.ts +1 -1
- package/dist/types/ui.d.ts.map +1 -1
- package/dist/utils/auto-compact.d.ts.map +1 -1
- package/dist/utils/auto-compact.js +13 -7
- package/dist/utils/auto-compact.js.map +1 -1
- package/dist/utils/logging/index.d.ts.map +1 -1
- package/dist/utils/logging/index.js +18 -30
- package/dist/utils/logging/index.js.map +1 -1
- package/dist/utils/question-queue.d.ts +15 -0
- package/dist/utils/question-queue.d.ts.map +1 -0
- package/dist/utils/question-queue.js +25 -0
- package/dist/utils/question-queue.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +108 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +387 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/dist/utils/shutdown/index.d.ts +7 -0
- package/dist/utils/shutdown/index.d.ts.map +1 -0
- package/dist/utils/shutdown/index.js +6 -0
- package/dist/utils/shutdown/index.js.map +1 -0
- package/dist/utils/shutdown/shutdown-manager.d.ts +19 -0
- package/dist/utils/shutdown/shutdown-manager.d.ts.map +1 -0
- package/dist/utils/shutdown/shutdown-manager.js +100 -0
- package/dist/utils/shutdown/shutdown-manager.js.map +1 -0
- package/dist/utils/shutdown/types.d.ts +9 -0
- package/dist/utils/shutdown/types.d.ts.map +1 -0
- package/dist/utils/shutdown/types.js +2 -0
- package/dist/utils/shutdown/types.js.map +1 -0
- package/dist/utils/type-helpers.d.ts +140 -0
- package/dist/utils/type-helpers.d.ts.map +1 -0
- package/dist/utils/type-helpers.js +220 -0
- package/dist/utils/type-helpers.js.map +1 -0
- package/dist/utils/url-utils.d.ts +6 -0
- package/dist/utils/url-utils.d.ts.map +1 -0
- package/dist/utils/url-utils.js +22 -0
- package/dist/utils/url-utils.js.map +1 -0
- package/dist/vscode/vscode-server.d.ts.map +1 -1
- package/dist/vscode/vscode-server.js +10 -0
- package/dist/vscode/vscode-server.js.map +1 -1
- package/dist/wizards/steps/mcp-step.js +1 -1
- package/dist/wizards/steps/mcp-step.js.map +1 -1
- package/dist/wizards/steps/provider-step.js +1 -1
- package/dist/wizards/steps/provider-step.js.map +1 -1
- package/dist/wizards/templates/mcp-templates.d.ts.map +1 -1
- package/dist/wizards/templates/mcp-templates.js +8 -6
- package/dist/wizards/templates/mcp-templates.js.map +1 -1
- package/dist/wizards/validation.d.ts.map +1 -1
- package/dist/wizards/validation.js +2 -3
- package/dist/wizards/validation.js.map +1 -1
- package/package.json +8 -17
- package/source/app/prompts/main-prompt.md +21 -3
- package/dist/hooks/chat-handler/utils/context-checker.d.ts +0 -15
- package/dist/hooks/chat-handler/utils/context-checker.d.ts.map +0 -1
- package/dist/hooks/chat-handler/utils/context-checker.js +0 -68
- package/dist/hooks/chat-handler/utils/context-checker.js.map +0 -1
- package/dist/tools/string-replace.d.ts +0 -3
- package/dist/tools/string-replace.d.ts.map +0 -1
- package/dist/tools/string-replace.js.map +0 -1
- package/dist/tools/write-file.d.ts +0 -3
- package/dist/tools/write-file.d.ts.map +0 -1
- package/dist/tools/write-file.js.map +0 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { loggerProvider } from '../../utils/logging/logger-provider.js';
|
|
2
|
+
const DEFAULT_TIMEOUT_MS = 5000;
|
|
3
|
+
const ENV_SHUTDOWN_TIMEOUT = 'NANOCODER_DEFAULT_SHUTDOWN_TIMEOUT';
|
|
4
|
+
export class ShutdownManager {
|
|
5
|
+
handlers = new Map();
|
|
6
|
+
isShuttingDown = false;
|
|
7
|
+
timeoutMs;
|
|
8
|
+
boundSigterm;
|
|
9
|
+
boundSigint;
|
|
10
|
+
boundUncaughtException;
|
|
11
|
+
boundUnhandledRejection;
|
|
12
|
+
constructor(options) {
|
|
13
|
+
const envTimeout = process.env[ENV_SHUTDOWN_TIMEOUT];
|
|
14
|
+
const parsedEnvTimeout = envTimeout ? parseInt(envTimeout, 10) : undefined;
|
|
15
|
+
const isValidTimeout = Number.isFinite(parsedEnvTimeout);
|
|
16
|
+
this.timeoutMs =
|
|
17
|
+
options?.timeoutMs ??
|
|
18
|
+
(isValidTimeout ? parsedEnvTimeout : undefined) ??
|
|
19
|
+
DEFAULT_TIMEOUT_MS;
|
|
20
|
+
this.boundSigterm = () => {
|
|
21
|
+
void this.gracefulShutdown(0);
|
|
22
|
+
};
|
|
23
|
+
this.boundSigint = () => {
|
|
24
|
+
void this.gracefulShutdown(0);
|
|
25
|
+
};
|
|
26
|
+
this.boundUncaughtException = (err) => {
|
|
27
|
+
const logger = loggerProvider.getLogger();
|
|
28
|
+
logger.fatal({ err }, 'Uncaught exception');
|
|
29
|
+
void this.gracefulShutdown(1);
|
|
30
|
+
};
|
|
31
|
+
this.boundUnhandledRejection = (reason, promise) => {
|
|
32
|
+
const logger = loggerProvider.getLogger();
|
|
33
|
+
logger.fatal({ reason, promise }, 'Unhandled promise rejection');
|
|
34
|
+
void this.gracefulShutdown(1);
|
|
35
|
+
};
|
|
36
|
+
this.setupSignalHandlers();
|
|
37
|
+
}
|
|
38
|
+
register(handler) {
|
|
39
|
+
this.handlers.set(handler.name, handler);
|
|
40
|
+
}
|
|
41
|
+
unregister(name) {
|
|
42
|
+
this.handlers.delete(name);
|
|
43
|
+
}
|
|
44
|
+
async gracefulShutdown(exitCode = 0) {
|
|
45
|
+
if (this.isShuttingDown) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.isShuttingDown = true;
|
|
49
|
+
const logger = loggerProvider.getLogger();
|
|
50
|
+
logger.info('Graceful shutdown initiated', { exitCode });
|
|
51
|
+
const sorted = Array.from(this.handlers.values()).sort((a, b) => a.priority - b.priority);
|
|
52
|
+
const shutdownPromise = (async () => {
|
|
53
|
+
for (const entry of sorted) {
|
|
54
|
+
try {
|
|
55
|
+
logger.info(`Shutting down: ${entry.name}`);
|
|
56
|
+
await entry.handler();
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
logger.error({ err }, `Shutdown handler failed: ${entry.name}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
})();
|
|
63
|
+
const timeoutPromise = new Promise(resolve => {
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
logger.warn('Shutdown timeout reached, forcing exit');
|
|
66
|
+
resolve();
|
|
67
|
+
}, this.timeoutMs);
|
|
68
|
+
});
|
|
69
|
+
await Promise.race([shutdownPromise, timeoutPromise]);
|
|
70
|
+
process.exit(exitCode);
|
|
71
|
+
}
|
|
72
|
+
setupSignalHandlers() {
|
|
73
|
+
process.once('SIGTERM', this.boundSigterm);
|
|
74
|
+
process.once('SIGINT', this.boundSigint);
|
|
75
|
+
process.on('uncaughtException', this.boundUncaughtException);
|
|
76
|
+
process.on('unhandledRejection', this.boundUnhandledRejection);
|
|
77
|
+
}
|
|
78
|
+
reset() {
|
|
79
|
+
this.handlers.clear();
|
|
80
|
+
this.isShuttingDown = false;
|
|
81
|
+
process.removeListener('SIGTERM', this.boundSigterm);
|
|
82
|
+
process.removeListener('SIGINT', this.boundSigint);
|
|
83
|
+
process.removeListener('uncaughtException', this.boundUncaughtException);
|
|
84
|
+
process.removeListener('unhandledRejection', this.boundUnhandledRejection);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
let instance = null;
|
|
88
|
+
export function getShutdownManager(options) {
|
|
89
|
+
if (!instance) {
|
|
90
|
+
instance = new ShutdownManager(options);
|
|
91
|
+
}
|
|
92
|
+
return instance;
|
|
93
|
+
}
|
|
94
|
+
export function resetShutdownManager() {
|
|
95
|
+
if (instance) {
|
|
96
|
+
instance.reset();
|
|
97
|
+
instance = null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=shutdown-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../source/utils/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../source/utils/shutdown/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../source/utils/shutdown/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe helper utilities for handling non-string content
|
|
3
|
+
*
|
|
4
|
+
* This module provides type guards and conversion functions that:
|
|
5
|
+
* 1. Accept unknown types (string, object, array, null, undefined)
|
|
6
|
+
* 2. Convert to appropriate types for processing
|
|
7
|
+
* 3. Preserve types in memory (critical for ToolCall.arguments)
|
|
8
|
+
* 4. Provide safe fallbacks for edge cases
|
|
9
|
+
*
|
|
10
|
+
* TYPE PRESERVATION STRATEGY
|
|
11
|
+
* ===========================
|
|
12
|
+
*
|
|
13
|
+
* "Preserving types" means:
|
|
14
|
+
* 1. When receiving LLM responses (which can be ANY type):
|
|
15
|
+
* - We accept unknown types (string, object, array, null, undefined)
|
|
16
|
+
* - We convert to string ONLY for PARSING OPERATIONS
|
|
17
|
+
* - We preserve the original type in the tool call structure
|
|
18
|
+
*
|
|
19
|
+
* 2. When storing ToolCall.arguments:
|
|
20
|
+
* - MUST preserve as Record<string, unknown> (object type)
|
|
21
|
+
* - NOT convert to string
|
|
22
|
+
* - Enables direct property access without JSON.parse
|
|
23
|
+
*
|
|
24
|
+
* 3. When displaying/writing to disk:
|
|
25
|
+
* - Convert to string for display/storage operations
|
|
26
|
+
* - Use JSON.stringify for objects/arrays
|
|
27
|
+
* - Use String() for primitives
|
|
28
|
+
*
|
|
29
|
+
* The confusion comes from mixing up:
|
|
30
|
+
* - "Preserve types in memory" (CRITICAL: ToolCall.arguments stays as object)
|
|
31
|
+
* - "Convert to string for processing" (NECESSARY: Parser expects strings)
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Type guard to check if value is a string
|
|
35
|
+
*
|
|
36
|
+
* @param value - Value to check
|
|
37
|
+
* @returns True if value is a string, false otherwise
|
|
38
|
+
*/
|
|
39
|
+
export declare function isString(value: unknown): value is string;
|
|
40
|
+
/**
|
|
41
|
+
* Type guard to check if value is a non-null object
|
|
42
|
+
*
|
|
43
|
+
* @param value - Value to check
|
|
44
|
+
* @returns True if value is a non-null object, false otherwise
|
|
45
|
+
*/
|
|
46
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
47
|
+
/**
|
|
48
|
+
* Type guard to check if value is an array
|
|
49
|
+
*
|
|
50
|
+
* @param value - Value to check
|
|
51
|
+
* @returns True if value is an array, false otherwise
|
|
52
|
+
*/
|
|
53
|
+
export declare function isArray(value: unknown): value is unknown[];
|
|
54
|
+
/**
|
|
55
|
+
* Type guard to check if value is a plain object (not null, not array, not instance)
|
|
56
|
+
*
|
|
57
|
+
* @param value - Value to check
|
|
58
|
+
* @returns True if value is a plain object, false otherwise
|
|
59
|
+
*/
|
|
60
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
61
|
+
/**
|
|
62
|
+
* Type guard to check if value is a valid function
|
|
63
|
+
*
|
|
64
|
+
* @param value - Value to check
|
|
65
|
+
* @returns True if value is a function, false otherwise
|
|
66
|
+
*/
|
|
67
|
+
export declare function isFunction(value: unknown): value is Function;
|
|
68
|
+
/**
|
|
69
|
+
* Type guard to check if value is a valid number
|
|
70
|
+
*
|
|
71
|
+
* @param value - Value to check
|
|
72
|
+
* @returns True if value is a number, false otherwise
|
|
73
|
+
*/
|
|
74
|
+
export declare function isNumber(value: unknown): value is number;
|
|
75
|
+
/**
|
|
76
|
+
* Type guard to check if value is a valid boolean
|
|
77
|
+
*
|
|
78
|
+
* @param value - Value to check
|
|
79
|
+
* @returns True if value is a boolean, false otherwise
|
|
80
|
+
*/
|
|
81
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Type guard to check if value is a valid null value
|
|
84
|
+
*
|
|
85
|
+
* @param value - Value to check
|
|
86
|
+
* @returns True if value is null, false otherwise
|
|
87
|
+
*/
|
|
88
|
+
export declare function isNull(value: unknown): value is null;
|
|
89
|
+
/**
|
|
90
|
+
* Type guard to check if value is undefined
|
|
91
|
+
*
|
|
92
|
+
* @param value - Value to check
|
|
93
|
+
* @returns True if value is undefined, false otherwise
|
|
94
|
+
*/
|
|
95
|
+
export declare function isUndefined(value: unknown): value is undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Ensures value is a string for display/storage operations
|
|
98
|
+
*
|
|
99
|
+
* This function is used for:
|
|
100
|
+
* 1. DISPLAY OPERATIONS - where we need to display content
|
|
101
|
+
* 2. STORAGE OPERATIONS - where we write to disk
|
|
102
|
+
*
|
|
103
|
+
* For display/storage, we convert to string.
|
|
104
|
+
*
|
|
105
|
+
* @param value - Value to convert (unknown type)
|
|
106
|
+
* @returns String representation of the value
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* // ToolCall.arguments is an object in memory
|
|
111
|
+
* const toolCall = {
|
|
112
|
+
* function: {
|
|
113
|
+
* name: 'write_file',
|
|
114
|
+
* arguments: {path: "/tmp/test.txt", content: "hello"}
|
|
115
|
+
* }
|
|
116
|
+
* };
|
|
117
|
+
*
|
|
118
|
+
* // For storage, convert to string
|
|
119
|
+
* const contentStr = ensureString(toolCall.function.arguments);
|
|
120
|
+
* // contentStr = '{"path": "/tmp/test.txt", "content": "hello"}'
|
|
121
|
+
*
|
|
122
|
+
* await writeFile(path, contentStr, 'utf-8');
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export declare function ensureString(value: unknown): string;
|
|
126
|
+
/**
|
|
127
|
+
* Checks if value is empty
|
|
128
|
+
*
|
|
129
|
+
* @param value - Value to check
|
|
130
|
+
* @returns True if value is empty, false otherwise
|
|
131
|
+
*/
|
|
132
|
+
export declare function isEmpty(value: unknown): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Checks if value is non-empty (opposite of isEmpty)
|
|
135
|
+
*
|
|
136
|
+
* @param value - Value to check
|
|
137
|
+
* @returns True if value is non-empty, false otherwise
|
|
138
|
+
*/
|
|
139
|
+
export declare function isNotEmpty(value: unknown): boolean;
|
|
140
|
+
//# sourceMappingURL=type-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../source/utils/type-helpers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiCnD;AAMD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsB/C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// source/utils/type-helpers.ts
|
|
2
|
+
/**
|
|
3
|
+
* Type-safe helper utilities for handling non-string content
|
|
4
|
+
*
|
|
5
|
+
* This module provides type guards and conversion functions that:
|
|
6
|
+
* 1. Accept unknown types (string, object, array, null, undefined)
|
|
7
|
+
* 2. Convert to appropriate types for processing
|
|
8
|
+
* 3. Preserve types in memory (critical for ToolCall.arguments)
|
|
9
|
+
* 4. Provide safe fallbacks for edge cases
|
|
10
|
+
*
|
|
11
|
+
* TYPE PRESERVATION STRATEGY
|
|
12
|
+
* ===========================
|
|
13
|
+
*
|
|
14
|
+
* "Preserving types" means:
|
|
15
|
+
* 1. When receiving LLM responses (which can be ANY type):
|
|
16
|
+
* - We accept unknown types (string, object, array, null, undefined)
|
|
17
|
+
* - We convert to string ONLY for PARSING OPERATIONS
|
|
18
|
+
* - We preserve the original type in the tool call structure
|
|
19
|
+
*
|
|
20
|
+
* 2. When storing ToolCall.arguments:
|
|
21
|
+
* - MUST preserve as Record<string, unknown> (object type)
|
|
22
|
+
* - NOT convert to string
|
|
23
|
+
* - Enables direct property access without JSON.parse
|
|
24
|
+
*
|
|
25
|
+
* 3. When displaying/writing to disk:
|
|
26
|
+
* - Convert to string for display/storage operations
|
|
27
|
+
* - Use JSON.stringify for objects/arrays
|
|
28
|
+
* - Use String() for primitives
|
|
29
|
+
*
|
|
30
|
+
* The confusion comes from mixing up:
|
|
31
|
+
* - "Preserve types in memory" (CRITICAL: ToolCall.arguments stays as object)
|
|
32
|
+
* - "Convert to string for processing" (NECESSARY: Parser expects strings)
|
|
33
|
+
*/
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// TYPE GUARDS
|
|
36
|
+
// ============================================================================
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to check if value is a string
|
|
39
|
+
*
|
|
40
|
+
* @param value - Value to check
|
|
41
|
+
* @returns True if value is a string, false otherwise
|
|
42
|
+
*/
|
|
43
|
+
export function isString(value) {
|
|
44
|
+
return typeof value === 'string';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Type guard to check if value is a non-null object
|
|
48
|
+
*
|
|
49
|
+
* @param value - Value to check
|
|
50
|
+
* @returns True if value is a non-null object, false otherwise
|
|
51
|
+
*/
|
|
52
|
+
export function isObject(value) {
|
|
53
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Type guard to check if value is an array
|
|
57
|
+
*
|
|
58
|
+
* @param value - Value to check
|
|
59
|
+
* @returns True if value is an array, false otherwise
|
|
60
|
+
*/
|
|
61
|
+
export function isArray(value) {
|
|
62
|
+
return Array.isArray(value);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Type guard to check if value is a plain object (not null, not array, not instance)
|
|
66
|
+
*
|
|
67
|
+
* @param value - Value to check
|
|
68
|
+
* @returns True if value is a plain object, false otherwise
|
|
69
|
+
*/
|
|
70
|
+
export function isPlainObject(value) {
|
|
71
|
+
if (value === null || typeof value !== 'object') {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
// Check for prototype chain
|
|
75
|
+
const prototype = Object.getPrototypeOf(value);
|
|
76
|
+
return prototype === null || prototype === Object.prototype;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard to check if value is a valid function
|
|
80
|
+
*
|
|
81
|
+
* @param value - Value to check
|
|
82
|
+
* @returns True if value is a function, false otherwise
|
|
83
|
+
*/
|
|
84
|
+
export function isFunction(value) {
|
|
85
|
+
return typeof value === 'function';
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Type guard to check if value is a valid number
|
|
89
|
+
*
|
|
90
|
+
* @param value - Value to check
|
|
91
|
+
* @returns True if value is a number, false otherwise
|
|
92
|
+
*/
|
|
93
|
+
export function isNumber(value) {
|
|
94
|
+
return typeof value === 'number' && !isNaN(value) && isFinite(value);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Type guard to check if value is a valid boolean
|
|
98
|
+
*
|
|
99
|
+
* @param value - Value to check
|
|
100
|
+
* @returns True if value is a boolean, false otherwise
|
|
101
|
+
*/
|
|
102
|
+
export function isBoolean(value) {
|
|
103
|
+
return typeof value === 'boolean';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Type guard to check if value is a valid null value
|
|
107
|
+
*
|
|
108
|
+
* @param value - Value to check
|
|
109
|
+
* @returns True if value is null, false otherwise
|
|
110
|
+
*/
|
|
111
|
+
export function isNull(value) {
|
|
112
|
+
return value === null;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Type guard to check if value is undefined
|
|
116
|
+
*
|
|
117
|
+
* @param value - Value to check
|
|
118
|
+
* @returns True if value is undefined, false otherwise
|
|
119
|
+
*/
|
|
120
|
+
export function isUndefined(value) {
|
|
121
|
+
return value === undefined;
|
|
122
|
+
}
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// STRING CONVERSION FUNCTIONS
|
|
125
|
+
// ============================================================================
|
|
126
|
+
/**
|
|
127
|
+
* Ensures value is a string for display/storage operations
|
|
128
|
+
*
|
|
129
|
+
* This function is used for:
|
|
130
|
+
* 1. DISPLAY OPERATIONS - where we need to display content
|
|
131
|
+
* 2. STORAGE OPERATIONS - where we write to disk
|
|
132
|
+
*
|
|
133
|
+
* For display/storage, we convert to string.
|
|
134
|
+
*
|
|
135
|
+
* @param value - Value to convert (unknown type)
|
|
136
|
+
* @returns String representation of the value
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* // ToolCall.arguments is an object in memory
|
|
141
|
+
* const toolCall = {
|
|
142
|
+
* function: {
|
|
143
|
+
* name: 'write_file',
|
|
144
|
+
* arguments: {path: "/tmp/test.txt", content: "hello"}
|
|
145
|
+
* }
|
|
146
|
+
* };
|
|
147
|
+
*
|
|
148
|
+
* // For storage, convert to string
|
|
149
|
+
* const contentStr = ensureString(toolCall.function.arguments);
|
|
150
|
+
* // contentStr = '{"path": "/tmp/test.txt", "content": "hello"}'
|
|
151
|
+
*
|
|
152
|
+
* await writeFile(path, contentStr, 'utf-8');
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export function ensureString(value) {
|
|
156
|
+
// Handle null/undefined
|
|
157
|
+
if (value === null || value === undefined) {
|
|
158
|
+
return '';
|
|
159
|
+
}
|
|
160
|
+
// Handle string - return as-is
|
|
161
|
+
if (isString(value)) {
|
|
162
|
+
return value;
|
|
163
|
+
}
|
|
164
|
+
// Handle number - convert to string
|
|
165
|
+
if (isNumber(value)) {
|
|
166
|
+
return String(value);
|
|
167
|
+
}
|
|
168
|
+
// Handle boolean - convert to string
|
|
169
|
+
if (isBoolean(value)) {
|
|
170
|
+
return String(value);
|
|
171
|
+
}
|
|
172
|
+
// Handle array - convert to JSON string
|
|
173
|
+
if (isArray(value)) {
|
|
174
|
+
return JSON.stringify(value);
|
|
175
|
+
}
|
|
176
|
+
// Handle object - convert to JSON string
|
|
177
|
+
if (isObject(value)) {
|
|
178
|
+
return JSON.stringify(value);
|
|
179
|
+
}
|
|
180
|
+
// Fallback for unknown types
|
|
181
|
+
return String(value);
|
|
182
|
+
}
|
|
183
|
+
// ============================================================================
|
|
184
|
+
// UTILITY FUNCTIONS
|
|
185
|
+
// ============================================================================
|
|
186
|
+
/**
|
|
187
|
+
* Checks if value is empty
|
|
188
|
+
*
|
|
189
|
+
* @param value - Value to check
|
|
190
|
+
* @returns True if value is empty, false otherwise
|
|
191
|
+
*/
|
|
192
|
+
export function isEmpty(value) {
|
|
193
|
+
// Check for null or undefined
|
|
194
|
+
if (value === null || value === undefined) {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
// Check for empty string
|
|
198
|
+
if (isString(value) && value === '') {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
// Check for empty array
|
|
202
|
+
if (isArray(value) && value.length === 0) {
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
// Check for empty object
|
|
206
|
+
if (isObject(value) && Object.keys(value).length === 0) {
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Checks if value is non-empty (opposite of isEmpty)
|
|
213
|
+
*
|
|
214
|
+
* @param value - Value to check
|
|
215
|
+
* @returns True if value is non-empty, false otherwise
|
|
216
|
+
*/
|
|
217
|
+
export function isNotEmpty(value) {
|
|
218
|
+
return !isEmpty(value);
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=type-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../../source/utils/type-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-utils.d.ts","sourceRoot":"","sources":["../../source/utils/url-utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgB/C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const LOCAL_HOSTNAMES = new Set(['localhost', '127.0.0.1', '0.0.0.0', '[::1]']);
|
|
2
|
+
/**
|
|
3
|
+
* Check if a URL points to a local server.
|
|
4
|
+
* Matches: localhost, 127.0.0.1, 0.0.0.0, ::1
|
|
5
|
+
*/
|
|
6
|
+
export function isLocalURL(url) {
|
|
7
|
+
try {
|
|
8
|
+
const parsed = new URL(url);
|
|
9
|
+
if (parsed.hostname) {
|
|
10
|
+
return LOCAL_HOSTNAMES.has(parsed.hostname);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// Fall through to string matching
|
|
15
|
+
}
|
|
16
|
+
// Fallback for malformed URLs or empty hostname: check the raw string
|
|
17
|
+
return (url.includes('localhost') ||
|
|
18
|
+
url.includes('127.0.0.1') ||
|
|
19
|
+
url.includes('0.0.0.0') ||
|
|
20
|
+
url.includes('::1'));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=url-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../../source/utils/url-utils.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,kCAAkC;IACnC,CAAC;IACD,sEAAsE;IACtE,OAAO,CACN,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-server.d.ts","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"vscode-server.d.ts","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { WebSocket, WebSocketServer } from 'ws';
|
|
|
7
7
|
import { BoundedMap } from '../utils/bounded-map.js';
|
|
8
8
|
import { formatError } from '../utils/error-formatter.js';
|
|
9
9
|
import { getLogger } from '../utils/logging/index.js';
|
|
10
|
+
import { getShutdownManager } from '../utils/shutdown/index.js';
|
|
10
11
|
import { DEFAULT_PORT, PROTOCOL_VERSION, } from './protocol.js';
|
|
11
12
|
let cachedCliVersion = null;
|
|
12
13
|
async function getCliVersion() {
|
|
@@ -345,6 +346,15 @@ export async function getVSCodeServer(port) {
|
|
|
345
346
|
// This is important for synchronous functions like sendFileChangeToVSCode
|
|
346
347
|
serverInstance = new VSCodeServer(port);
|
|
347
348
|
serverInitPromise = Promise.resolve(serverInstance);
|
|
349
|
+
getShutdownManager().register({
|
|
350
|
+
name: 'vscode-server',
|
|
351
|
+
priority: 10,
|
|
352
|
+
handler: async () => {
|
|
353
|
+
if (serverInstance) {
|
|
354
|
+
await serverInstance.stop();
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
});
|
|
348
358
|
return serverInitPromise;
|
|
349
359
|
}
|
|
350
360
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-server.js","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vscode-server.js","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { Box, Text, useInput } from 'ink';
|
|
3
3
|
import SelectInput from 'ink-select-input';
|
|
4
4
|
import { Tab, Tabs } from 'ink-tab';
|
|
5
|
-
import TextInput from 'ink-text-input';
|
|
6
5
|
import { useEffect, useState } from 'react';
|
|
6
|
+
import TextInput from '../../components/text-input.js';
|
|
7
7
|
import { colors } from '../../config/index.js';
|
|
8
8
|
import { useResponsiveTerminal } from '../../hooks/useTerminalWidth.js';
|
|
9
9
|
import { MCP_TEMPLATES, } from '../templates/mcp-templates.js';
|