@gguf/coder 0.1.7 → 0.1.9
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/app/App.d.ts +1 -1
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/App.js +2 -53
- package/dist/app/App.js.map +1 -1
- package/dist/app/components/ChatInterface.d.ts.map +1 -1
- package/dist/app/components/ChatInterface.js +1 -1
- package/dist/app/components/ChatInterface.js.map +1 -1
- package/dist/app/types.d.ts +0 -2
- package/dist/app/types.d.ts.map +1 -1
- package/dist/cli.js +3 -22
- package/dist/cli.js.map +1 -1
- package/dist/cli.spec.js +4 -49
- package/dist/cli.spec.js.map +1 -1
- package/dist/components/cancelling-indicator.js +1 -1
- package/dist/components/cancelling-indicator.js.map +1 -1
- package/dist/components/tool-execution-indicator.d.ts.map +1 -1
- package/dist/components/tool-execution-indicator.js +1 -1
- package/dist/components/tool-execution-indicator.js.map +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +1 -1
- package/dist/components/user-input.js.map +1 -1
- package/dist/hooks/useToolHandler.d.ts.map +1 -1
- package/dist/hooks/useToolHandler.js +0 -9
- package/dist/hooks/useToolHandler.js.map +1 -1
- package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
- package/dist/tools/lsp-get-diagnostics.js +2 -76
- package/dist/tools/lsp-get-diagnostics.js.map +1 -1
- package/dist/tools/string-replace.d.ts.map +1 -1
- package/dist/tools/string-replace.js +1 -34
- package/dist/tools/string-replace.js.map +1 -1
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +2 -34
- package/dist/tools/write-file.js.map +1 -1
- package/dist/wizard/config-wizard.js +1 -1
- package/dist/wizard/config-wizard.js.map +1 -1
- package/dist/wizard/steps/provider-step.d.ts.map +1 -1
- package/dist/wizard/steps/provider-step.js +1 -1
- package/dist/wizard/steps/provider-step.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/vscode-extension-prompt.d.ts +0 -12
- package/dist/components/vscode-extension-prompt.d.ts.map +0 -1
- package/dist/components/vscode-extension-prompt.js +0 -116
- package/dist/components/vscode-extension-prompt.js.map +0 -1
- package/dist/hooks/useVSCodeServer.d.ts +0 -45
- package/dist/hooks/useVSCodeServer.d.ts.map +0 -1
- package/dist/hooks/useVSCodeServer.js +0 -142
- package/dist/hooks/useVSCodeServer.js.map +0 -1
- package/dist/vscode/extension-installer.d.ts +0 -24
- package/dist/vscode/extension-installer.d.ts.map +0 -1
- package/dist/vscode/extension-installer.js +0 -110
- package/dist/vscode/extension-installer.js.map +0 -1
- package/dist/vscode/extension-installer.spec.d.ts +0 -2
- package/dist/vscode/extension-installer.spec.d.ts.map +0 -1
- package/dist/vscode/extension-installer.spec.js +0 -132
- package/dist/vscode/extension-installer.spec.js.map +0 -1
- package/dist/vscode/index.d.ts +0 -14
- package/dist/vscode/index.d.ts.map +0 -1
- package/dist/vscode/index.js +0 -14
- package/dist/vscode/index.js.map +0 -1
- package/dist/vscode/protocol.d.ts +0 -101
- package/dist/vscode/protocol.d.ts.map +0 -1
- package/dist/vscode/protocol.js +0 -7
- package/dist/vscode/protocol.js.map +0 -1
- package/dist/vscode/protocol.spec.d.ts +0 -2
- package/dist/vscode/protocol.spec.d.ts.map +0 -1
- package/dist/vscode/protocol.spec.js +0 -354
- package/dist/vscode/protocol.spec.js.map +0 -1
- package/dist/vscode/vscode-server.d.ts +0 -119
- package/dist/vscode/vscode-server.d.ts.map +0 -1
- package/dist/vscode/vscode-server.js +0 -326
- package/dist/vscode/vscode-server.js.map +0 -1
- package/dist/vscode/vscode-server.spec.d.ts +0 -2
- package/dist/vscode/vscode-server.spec.d.ts.map +0 -1
- package/dist/vscode/vscode-server.spec.js +0 -487
- package/dist/vscode/vscode-server.spec.js.map +0 -1
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { defaultTheme, getThemeColors } from '../config/themes.js';
|
|
3
|
-
import { TIMEOUT_VSCODE_EXTENSION_SKIP_MS } from '../constants.js';
|
|
4
|
-
import { installExtension, isExtensionInstalled, isVSCodeCliAvailable, } from '../vscode/extension-installer.js';
|
|
5
|
-
import { Box, Text, useInput } from 'ink';
|
|
6
|
-
import SelectInput from 'ink-select-input';
|
|
7
|
-
import React, { useState, useEffect } from 'react';
|
|
8
|
-
var InstallOption;
|
|
9
|
-
(function (InstallOption) {
|
|
10
|
-
InstallOption["Yes"] = "yes";
|
|
11
|
-
InstallOption["No"] = "no";
|
|
12
|
-
})(InstallOption || (InstallOption = {}));
|
|
13
|
-
/**
|
|
14
|
-
* Ink component that prompts the user to install the VS Code extension
|
|
15
|
-
* when running with --vscode flag and the extension isn't installed
|
|
16
|
-
*/
|
|
17
|
-
// Compute initial state synchronously
|
|
18
|
-
function getInitialState() {
|
|
19
|
-
if (isExtensionInstalled()) {
|
|
20
|
-
return 'checking'; // Will trigger onComplete in effect
|
|
21
|
-
}
|
|
22
|
-
if (!isVSCodeCliAvailable()) {
|
|
23
|
-
return 'no-cli';
|
|
24
|
-
}
|
|
25
|
-
return 'prompt';
|
|
26
|
-
}
|
|
27
|
-
export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
|
|
28
|
-
const [state, setState] = useState(getInitialState);
|
|
29
|
-
const [message, setMessage] = useState('');
|
|
30
|
-
const colors = getThemeColors(defaultTheme);
|
|
31
|
-
const handleInstall = React.useCallback(async () => {
|
|
32
|
-
const result = await installExtension();
|
|
33
|
-
if (result.success) {
|
|
34
|
-
setMessage(result.message);
|
|
35
|
-
setState('success');
|
|
36
|
-
// Wait for user to press Enter
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
setMessage(result.message);
|
|
40
|
-
setState('error');
|
|
41
|
-
// Auto-continue after showing error
|
|
42
|
-
setTimeout(onSkip, TIMEOUT_VSCODE_EXTENSION_SKIP_MS);
|
|
43
|
-
}
|
|
44
|
-
}, [onSkip]);
|
|
45
|
-
// Handle Enter key press in success state
|
|
46
|
-
useInput((_input, key) => {
|
|
47
|
-
if (state === 'success' && key.return) {
|
|
48
|
-
onComplete();
|
|
49
|
-
}
|
|
50
|
-
}, { isActive: state === 'success' });
|
|
51
|
-
// Handle already-installed case
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
if (isExtensionInstalled()) {
|
|
54
|
-
onComplete();
|
|
55
|
-
}
|
|
56
|
-
}, [onComplete]);
|
|
57
|
-
// Handle no-cli case - auto-skip after showing message
|
|
58
|
-
useEffect(() => {
|
|
59
|
-
if (state === 'no-cli') {
|
|
60
|
-
const timer = setTimeout(onSkip, TIMEOUT_VSCODE_EXTENSION_SKIP_MS);
|
|
61
|
-
return () => clearTimeout(timer);
|
|
62
|
-
}
|
|
63
|
-
}, [state, onSkip]);
|
|
64
|
-
const items = [
|
|
65
|
-
{
|
|
66
|
-
label: 'Yes, install extension',
|
|
67
|
-
value: InstallOption.Yes,
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
label: 'No, skip for now',
|
|
71
|
-
value: InstallOption.No,
|
|
72
|
-
},
|
|
73
|
-
];
|
|
74
|
-
const handleSelect = (item) => {
|
|
75
|
-
if (item.value === InstallOption.Yes) {
|
|
76
|
-
setState('installing');
|
|
77
|
-
void handleInstall();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
onSkip();
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
if (state === 'checking') {
|
|
84
|
-
return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: _jsx(Text, { color: colors.primary, children: "Checking VS Code extension..." }) }));
|
|
85
|
-
}
|
|
86
|
-
if (state === 'no-cli') {
|
|
87
|
-
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.warning, children: "VS Code CLI not found. To enable VS Code integration:" }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "1. Open VS Code" }), _jsx(Text, { color: colors.secondary, children: "2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)" }), _jsx(Text, { color: colors.secondary, children: "3. Type \"Shell Command: Install 'code' command in PATH\"" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "Continuing without VS Code integration..." }) })] }));
|
|
88
|
-
}
|
|
89
|
-
if (state === 'prompt') {
|
|
90
|
-
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.primary, bold: true, children: "VS Code Extension" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.white, children: "The VS Code extension enables live diff previews when Coder modifies files." }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.white, children: "Install the extension now?" }) }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: items, onSelect: handleSelect }) })] }));
|
|
91
|
-
}
|
|
92
|
-
if (state === 'installing') {
|
|
93
|
-
return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: _jsx(Text, { color: colors.primary, children: "Installing VS Code extension..." }) }));
|
|
94
|
-
}
|
|
95
|
-
if (state === 'success') {
|
|
96
|
-
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { color: colors.success, children: ["\u2713 ", message] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "Press Enter to continue..." }) })] }));
|
|
97
|
-
}
|
|
98
|
-
if (state === 'error') {
|
|
99
|
-
return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsxs(Text, { color: colors.error, children: ["\u2717 ", message] }), _jsx(Text, { color: colors.secondary, children: "Continuing without VS Code integration..." })] }));
|
|
100
|
-
}
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Check if we should show the extension install prompt
|
|
105
|
-
* Returns true if --vscode flag is present and extension is not installed
|
|
106
|
-
*/
|
|
107
|
-
export function shouldPromptExtensionInstall() {
|
|
108
|
-
const hasVSCodeFlag = process.argv.includes('--vscode');
|
|
109
|
-
if (!hasVSCodeFlag)
|
|
110
|
-
return false;
|
|
111
|
-
// Don't prompt if extension is already installed
|
|
112
|
-
if (isExtensionInstalled())
|
|
113
|
-
return false;
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=vscode-extension-prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-extension-prompt.js","sourceRoot":"","sources":["../../source/components/vscode-extension-prompt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { DiagnosticInfo } from '../vscode/protocol.js';
|
|
2
|
-
interface UseVSCodeServerProps {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
port?: number;
|
|
5
|
-
currentModel?: string;
|
|
6
|
-
currentProvider?: string;
|
|
7
|
-
onPrompt?: (prompt: string, context?: {
|
|
8
|
-
filePath?: string;
|
|
9
|
-
selection?: string;
|
|
10
|
-
cursorPosition?: {
|
|
11
|
-
line: number;
|
|
12
|
-
character: number;
|
|
13
|
-
};
|
|
14
|
-
}) => void;
|
|
15
|
-
onDiagnosticsReceived?: (diagnostics: DiagnosticInfo[]) => void;
|
|
16
|
-
}
|
|
17
|
-
interface UseVSCodeServerReturn {
|
|
18
|
-
isConnected: boolean;
|
|
19
|
-
connectionCount: number;
|
|
20
|
-
sendAssistantMessage: (content: string, isGenerating?: boolean) => void;
|
|
21
|
-
notifyFileChange: (filePath: string, originalContent: string, newContent: string, toolName: string, toolArgs: Record<string, unknown>) => string | null;
|
|
22
|
-
requestDiagnostics: (filePath?: string) => void;
|
|
23
|
-
updateStatus: () => void;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Hook to manage VS Code server integration
|
|
27
|
-
*/
|
|
28
|
-
export declare function useVSCodeServer({ enabled, port, currentModel, currentProvider, onPrompt, onDiagnosticsReceived, }: UseVSCodeServerProps): UseVSCodeServerReturn;
|
|
29
|
-
/**
|
|
30
|
-
* Check if VS Code mode was requested via CLI flag
|
|
31
|
-
*/
|
|
32
|
-
export declare function isVSCodeModeEnabled(): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Get VS Code server port from CLI args or default
|
|
35
|
-
*/
|
|
36
|
-
export declare function getVSCodePort(): number;
|
|
37
|
-
/**
|
|
38
|
-
* Helper to create file change notification with automatic content reading
|
|
39
|
-
*/
|
|
40
|
-
export declare function createFileChangeFromTool(filePath: string, newContent: string, _toolName: string, _toolArgs: Record<string, unknown>): Promise<{
|
|
41
|
-
originalContent: string;
|
|
42
|
-
newContent: string;
|
|
43
|
-
}>;
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=useVSCodeServer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVSCodeServer.d.ts","sourceRoot":"","sources":["../../source/hooks/useVSCodeServer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGtD,UAAU,oBAAoB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAC,CAAC;KACnD,KACG,IAAI,CAAC;IACV,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;CAChE;AAED,UAAU,qBAAqB;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,MAAM,GAAG,IAAI,CAAC;IACnB,kBAAkB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC/B,OAAO,EACP,IAAmB,EACnB,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,qBAAqB,GACrB,EAAE,oBAAoB,GAAG,qBAAqB,CA4I9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC7C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC,CAYD"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { DEFAULT_PORT, getVSCodeServer } from '../vscode/index.js';
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
/**
|
|
5
|
-
* Hook to manage VS Code server integration
|
|
6
|
-
*/
|
|
7
|
-
export function useVSCodeServer({ enabled, port = DEFAULT_PORT, currentModel, currentProvider, onPrompt, onDiagnosticsReceived, }) {
|
|
8
|
-
const serverRef = useRef(null);
|
|
9
|
-
const [isConnected, setIsConnected] = useState(false);
|
|
10
|
-
const [connectionCount, setConnectionCount] = useState(0);
|
|
11
|
-
// Store callbacks in refs to avoid re-creating server on callback changes
|
|
12
|
-
const onPromptRef = useRef(onPrompt);
|
|
13
|
-
const onDiagnosticsReceivedRef = useRef(onDiagnosticsReceived);
|
|
14
|
-
const currentModelRef = useRef(currentModel);
|
|
15
|
-
const currentProviderRef = useRef(currentProvider);
|
|
16
|
-
// Keep refs up to date
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
onPromptRef.current = onPrompt;
|
|
19
|
-
}, [onPrompt]);
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
onDiagnosticsReceivedRef.current = onDiagnosticsReceived;
|
|
22
|
-
}, [onDiagnosticsReceived]);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
currentModelRef.current = currentModel;
|
|
25
|
-
}, [currentModel]);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
currentProviderRef.current = currentProvider;
|
|
28
|
-
}, [currentProvider]);
|
|
29
|
-
// Initialize server on mount if enabled
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (!enabled) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const initServer = async () => {
|
|
35
|
-
const server = getVSCodeServer(port);
|
|
36
|
-
serverRef.current = server;
|
|
37
|
-
// Set up callbacks using refs
|
|
38
|
-
server.onCallbacks({
|
|
39
|
-
onPrompt: (prompt, context) => {
|
|
40
|
-
onPromptRef.current?.(prompt, context);
|
|
41
|
-
},
|
|
42
|
-
onDiagnosticsResponse: diagnostics => {
|
|
43
|
-
onDiagnosticsReceivedRef.current?.(diagnostics);
|
|
44
|
-
},
|
|
45
|
-
onConnect: () => {
|
|
46
|
-
setIsConnected(true);
|
|
47
|
-
setConnectionCount(server.getConnectionCount());
|
|
48
|
-
// Send current status
|
|
49
|
-
if (currentModelRef.current || currentProviderRef.current) {
|
|
50
|
-
server.sendStatus(currentModelRef.current, currentProviderRef.current);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
onDisconnect: () => {
|
|
54
|
-
const hasConnections = server.hasConnections();
|
|
55
|
-
setIsConnected(hasConnections);
|
|
56
|
-
setConnectionCount(server.getConnectionCount());
|
|
57
|
-
},
|
|
58
|
-
});
|
|
59
|
-
// Start the server
|
|
60
|
-
await server.start();
|
|
61
|
-
};
|
|
62
|
-
void initServer();
|
|
63
|
-
// Cleanup on unmount
|
|
64
|
-
return () => {
|
|
65
|
-
if (serverRef.current) {
|
|
66
|
-
void serverRef.current.stop();
|
|
67
|
-
serverRef.current = null;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
}, [enabled, port]);
|
|
71
|
-
// Update status when model/provider changes
|
|
72
|
-
useEffect(() => {
|
|
73
|
-
if (serverRef.current && enabled && isConnected) {
|
|
74
|
-
serverRef.current.sendStatus(currentModel, currentProvider);
|
|
75
|
-
}
|
|
76
|
-
}, [enabled, currentModel, currentProvider, isConnected]);
|
|
77
|
-
const sendAssistantMessage = useCallback((content, isGenerating = false) => {
|
|
78
|
-
if (serverRef.current && enabled) {
|
|
79
|
-
serverRef.current.sendAssistantMessage(content, isGenerating);
|
|
80
|
-
}
|
|
81
|
-
}, [enabled]);
|
|
82
|
-
const notifyFileChange = useCallback((filePath, originalContent, newContent, toolName, toolArgs) => {
|
|
83
|
-
if (serverRef.current && enabled && isConnected) {
|
|
84
|
-
return serverRef.current.sendFileChange(filePath, originalContent, newContent, toolName, toolArgs);
|
|
85
|
-
}
|
|
86
|
-
return null;
|
|
87
|
-
}, [enabled, isConnected]);
|
|
88
|
-
const requestDiagnostics = useCallback((filePath) => {
|
|
89
|
-
if (serverRef.current && enabled) {
|
|
90
|
-
serverRef.current.requestDiagnostics(filePath);
|
|
91
|
-
}
|
|
92
|
-
}, [enabled]);
|
|
93
|
-
const updateStatus = useCallback(() => {
|
|
94
|
-
if (serverRef.current && enabled) {
|
|
95
|
-
serverRef.current.sendStatus(currentModel, currentProvider);
|
|
96
|
-
}
|
|
97
|
-
}, [enabled, currentModel, currentProvider]);
|
|
98
|
-
return {
|
|
99
|
-
isConnected,
|
|
100
|
-
connectionCount,
|
|
101
|
-
sendAssistantMessage,
|
|
102
|
-
notifyFileChange,
|
|
103
|
-
requestDiagnostics,
|
|
104
|
-
updateStatus,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Check if VS Code mode was requested via CLI flag
|
|
109
|
-
*/
|
|
110
|
-
export function isVSCodeModeEnabled() {
|
|
111
|
-
return process.argv.includes('--vscode');
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Get VS Code server port from CLI args or default
|
|
115
|
-
*/
|
|
116
|
-
export function getVSCodePort() {
|
|
117
|
-
const portArgIndex = process.argv.findIndex(arg => arg === '--vscode-port' || arg === '-p');
|
|
118
|
-
if (portArgIndex !== -1 && process.argv[portArgIndex + 1]) {
|
|
119
|
-
const port = parseInt(process.argv[portArgIndex + 1], 10);
|
|
120
|
-
if (!isNaN(port) && port > 0 && port < 65536) {
|
|
121
|
-
return port;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return DEFAULT_PORT;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Helper to create file change notification with automatic content reading
|
|
128
|
-
*/
|
|
129
|
-
export async function createFileChangeFromTool(filePath, newContent, _toolName, _toolArgs) {
|
|
130
|
-
let originalContent = '';
|
|
131
|
-
try {
|
|
132
|
-
originalContent = await readFile(filePath, 'utf-8');
|
|
133
|
-
}
|
|
134
|
-
catch {
|
|
135
|
-
// File doesn't exist or can't be read - that's fine for create operations
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
originalContent,
|
|
139
|
-
newContent,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=useVSCodeServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVSCodeServer.js","sourceRoot":"","sources":["../../source/hooks/useVSCodeServer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code extension installation utilities
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Get the path to the bundled VSIX file
|
|
6
|
-
*/
|
|
7
|
-
export declare function getVsixPath(): string;
|
|
8
|
-
/**
|
|
9
|
-
* Check if the VS Code CLI is available
|
|
10
|
-
*/
|
|
11
|
-
export declare function isVSCodeCliAvailable(): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Check if the coder VS Code extension is installed
|
|
14
|
-
*/
|
|
15
|
-
export declare function isExtensionInstalled(): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Install the VS Code extension from the bundled VSIX
|
|
18
|
-
* Returns a promise that resolves when installation is complete
|
|
19
|
-
*/
|
|
20
|
-
export declare function installExtension(): Promise<{
|
|
21
|
-
success: boolean;
|
|
22
|
-
message: string;
|
|
23
|
-
}>;
|
|
24
|
-
//# sourceMappingURL=extension-installer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-installer.d.ts","sourceRoot":"","sources":["../../source/vscode/extension-installer.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAepC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC,CA4DD"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code extension installation utilities
|
|
3
|
-
*/
|
|
4
|
-
import { execSync, spawn } from 'child_process';
|
|
5
|
-
import { existsSync } from 'fs';
|
|
6
|
-
import { dirname, join } from 'path';
|
|
7
|
-
import { fileURLToPath } from 'url';
|
|
8
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
/**
|
|
10
|
-
* Get the path to the bundled VSIX file
|
|
11
|
-
*/
|
|
12
|
-
export function getVsixPath() {
|
|
13
|
-
// In development: assets folder is at project root
|
|
14
|
-
// In production (npm install): assets folder is in package root
|
|
15
|
-
const possiblePaths = [
|
|
16
|
-
join(__dirname, '../../assets/coder-vscode.vsix'), // development
|
|
17
|
-
join(__dirname, '../../../assets/coder-vscode.vsix'), // npm installed
|
|
18
|
-
];
|
|
19
|
-
for (const path of possiblePaths) {
|
|
20
|
-
if (existsSync(path)) {
|
|
21
|
-
return path;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
throw new Error('VS Code extension VSIX not found in package');
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Check if the VS Code CLI is available
|
|
28
|
-
*/
|
|
29
|
-
export function isVSCodeCliAvailable() {
|
|
30
|
-
try {
|
|
31
|
-
execSync('code --version', { stdio: 'ignore' });
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Check if the coder VS Code extension is installed
|
|
40
|
-
*/
|
|
41
|
-
export function isExtensionInstalled() {
|
|
42
|
-
try {
|
|
43
|
-
const output = execSync('code --list-extensions', {
|
|
44
|
-
encoding: 'utf-8',
|
|
45
|
-
stdio: ['pipe', 'pipe', 'ignore'],
|
|
46
|
-
});
|
|
47
|
-
return output.toLowerCase().includes('gguf.coder-vscode');
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Install the VS Code extension from the bundled VSIX
|
|
55
|
-
* Returns a promise that resolves when installation is complete
|
|
56
|
-
*/
|
|
57
|
-
export async function installExtension() {
|
|
58
|
-
if (!isVSCodeCliAvailable()) {
|
|
59
|
-
return {
|
|
60
|
-
success: false,
|
|
61
|
-
message: 'VS Code CLI not found. Please install the "code" command:\n' +
|
|
62
|
-
' 1. Open VS Code\n' +
|
|
63
|
-
' 2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)\n' +
|
|
64
|
-
' 3. Type "Shell Command: Install \'code\' command in PATH"',
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
try {
|
|
68
|
-
const vsixPath = getVsixPath();
|
|
69
|
-
return new Promise(resolve => {
|
|
70
|
-
const child = spawn('code', ['--install-extension', vsixPath], {
|
|
71
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
72
|
-
});
|
|
73
|
-
let stdout = '';
|
|
74
|
-
let stderr = '';
|
|
75
|
-
child.stdout?.on('data', (data) => {
|
|
76
|
-
stdout += data.toString();
|
|
77
|
-
});
|
|
78
|
-
child.stderr?.on('data', (data) => {
|
|
79
|
-
stderr += data.toString();
|
|
80
|
-
});
|
|
81
|
-
child.on('close', code => {
|
|
82
|
-
if (code === 0) {
|
|
83
|
-
resolve({
|
|
84
|
-
success: true,
|
|
85
|
-
message: 'VS Code extension installed successfully! Please reload VS Code to activate it.',
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
resolve({
|
|
90
|
-
success: false,
|
|
91
|
-
message: `Failed to install extension: ${stderr || stdout}`,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
child.on('error', error => {
|
|
96
|
-
resolve({
|
|
97
|
-
success: false,
|
|
98
|
-
message: `Failed to install extension: ${error.message}`,
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
return {
|
|
105
|
-
success: false,
|
|
106
|
-
message: `Failed to install extension: ${error instanceof Error ? error.message : String(error)}`,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=extension-installer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-installer.js","sourceRoot":"","sources":["../../source/vscode/extension-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-installer.spec.d.ts","sourceRoot":"","sources":["../../source/vscode/extension-installer.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { getVsixPath, installExtension, isExtensionInstalled, isVSCodeCliAvailable, } from './extension-installer.js';
|
|
3
|
-
// ============================================================================
|
|
4
|
-
// Tests for isVSCodeCliAvailable
|
|
5
|
-
// ============================================================================
|
|
6
|
-
test('isVSCodeCliAvailable returns a boolean', t => {
|
|
7
|
-
const result = isVSCodeCliAvailable();
|
|
8
|
-
t.is(typeof result, 'boolean');
|
|
9
|
-
});
|
|
10
|
-
test('isVSCodeCliAvailable does not throw', t => {
|
|
11
|
-
t.notThrows(() => {
|
|
12
|
-
isVSCodeCliAvailable();
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
// ============================================================================
|
|
16
|
-
// Tests for isExtensionInstalled
|
|
17
|
-
// ============================================================================
|
|
18
|
-
test('isExtensionInstalled returns a boolean', t => {
|
|
19
|
-
const result = isExtensionInstalled();
|
|
20
|
-
t.is(typeof result, 'boolean');
|
|
21
|
-
});
|
|
22
|
-
test('isExtensionInstalled does not throw', t => {
|
|
23
|
-
t.notThrows(() => {
|
|
24
|
-
isExtensionInstalled();
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
// Note: We can't easily test the true case for isExtensionInstalled
|
|
28
|
-
// without actually having VS Code and the extension installed
|
|
29
|
-
// ============================================================================
|
|
30
|
-
// Tests for installExtension
|
|
31
|
-
// ============================================================================
|
|
32
|
-
test('installExtension returns a promise', async (t) => {
|
|
33
|
-
const result = installExtension();
|
|
34
|
-
t.true(result instanceof Promise);
|
|
35
|
-
// Wait for the promise to settle
|
|
36
|
-
await result.catch(() => { });
|
|
37
|
-
});
|
|
38
|
-
test('installExtension returns object with success and message', async (t) => {
|
|
39
|
-
const result = await installExtension();
|
|
40
|
-
t.is(typeof result.success, 'boolean');
|
|
41
|
-
t.is(typeof result.message, 'string');
|
|
42
|
-
t.true(result.message.length > 0);
|
|
43
|
-
});
|
|
44
|
-
// If VS Code CLI is not available, installExtension should return appropriate message
|
|
45
|
-
test('installExtension handles missing VS Code CLI gracefully', async (t) => {
|
|
46
|
-
// This test documents expected behavior - if code CLI is missing,
|
|
47
|
-
// installExtension should return a helpful message
|
|
48
|
-
const result = await installExtension();
|
|
49
|
-
if (!isVSCodeCliAvailable()) {
|
|
50
|
-
t.false(result.success);
|
|
51
|
-
t.true(result.message.includes('VS Code CLI'));
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// If VS Code is available, the result depends on whether VSIX exists
|
|
55
|
-
t.is(typeof result.success, 'boolean');
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
// ============================================================================
|
|
59
|
-
// Tests for getVsixPath
|
|
60
|
-
// ============================================================================
|
|
61
|
-
test('getVsixPath returns a string when VSIX exists', t => {
|
|
62
|
-
try {
|
|
63
|
-
const path = getVsixPath();
|
|
64
|
-
t.is(typeof path, 'string');
|
|
65
|
-
t.true(path.includes('coder-vscode.vsix'));
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
// VSIX may not exist in all environments (e.g., before build)
|
|
69
|
-
t.true(error instanceof Error);
|
|
70
|
-
t.true(error.message.includes('VSIX not found'));
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
test('getVsixPath throws when VSIX does not exist', t => {
|
|
74
|
-
// Since we can't guarantee VSIX exists in test environment,
|
|
75
|
-
// we just verify the function throws the expected error type
|
|
76
|
-
try {
|
|
77
|
-
getVsixPath();
|
|
78
|
-
// If it doesn't throw, the VSIX exists - that's fine
|
|
79
|
-
t.pass();
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
t.true(error instanceof Error);
|
|
83
|
-
t.regex(error.message, /VSIX not found/);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
// ============================================================================
|
|
87
|
-
// Integration-style tests (behavior documentation)
|
|
88
|
-
// ============================================================================
|
|
89
|
-
test('installExtension with VSIX missing returns appropriate error', async (t) => {
|
|
90
|
-
// This test documents the expected behavior when VSIX is missing
|
|
91
|
-
// but VS Code CLI is available
|
|
92
|
-
if (!isVSCodeCliAvailable()) {
|
|
93
|
-
t.pass(); // Skip if VS Code not available
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const result = await installExtension();
|
|
97
|
-
// If VSIX doesn't exist, should fail with appropriate message
|
|
98
|
-
if (!result.success) {
|
|
99
|
-
t.true(result.message.includes('Failed') || result.message.includes('not found'));
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
// If it succeeded, the extension was installed
|
|
103
|
-
t.true(result.message.includes('success'));
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
// ============================================================================
|
|
107
|
-
// Type safety tests
|
|
108
|
-
// ============================================================================
|
|
109
|
-
test('isVSCodeCliAvailable has correct return type', t => {
|
|
110
|
-
const result = isVSCodeCliAvailable();
|
|
111
|
-
t.is(typeof result, 'boolean');
|
|
112
|
-
});
|
|
113
|
-
test('isExtensionInstalled has correct return type', t => {
|
|
114
|
-
const result = isExtensionInstalled();
|
|
115
|
-
t.is(typeof result, 'boolean');
|
|
116
|
-
});
|
|
117
|
-
test('installExtension has correct return type', async (t) => {
|
|
118
|
-
const result = await installExtension();
|
|
119
|
-
t.is(typeof result.success, 'boolean');
|
|
120
|
-
t.is(typeof result.message, 'string');
|
|
121
|
-
});
|
|
122
|
-
test('getVsixPath has correct return type when successful', t => {
|
|
123
|
-
try {
|
|
124
|
-
const result = getVsixPath();
|
|
125
|
-
t.is(typeof result, 'string');
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
// Expected if VSIX doesn't exist
|
|
129
|
-
t.pass();
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
//# sourceMappingURL=extension-installer.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-installer.spec.js","sourceRoot":"","sources":["../../source/vscode/extension-installer.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/vscode/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code integration module
|
|
3
|
-
*
|
|
4
|
-
* Provides WebSocket-based communication between the coder CLI
|
|
5
|
-
* and the VS Code extension for:
|
|
6
|
-
* - Live diff previews
|
|
7
|
-
* - File change approvals
|
|
8
|
-
* - Chat integration
|
|
9
|
-
* - Diagnostics sharing
|
|
10
|
-
*/
|
|
11
|
-
export { VSCodeServer, getVSCodeServer, isVSCodeConnected, sendFileChangeToVSCode, closeDiffInVSCode, closeAllDiffsInVSCode, type VSCodeServerCallbacks, type PromptHandler, type MessageHandler, } from './vscode-server.js';
|
|
12
|
-
export { type ServerMessage, type ClientMessage, type FileChangeMessage, type ToolCallMessage, type AssistantMessage, type StatusMessage, type ConnectionAckMessage, type DiagnosticsRequestMessage, type SendPromptMessage, type ApplyChangeMessage, type RejectChangeMessage, type GetStatusMessage, type ContextMessage, type DiagnosticsResponseMessage, type DiagnosticInfo, type PendingChange, PROTOCOL_VERSION, DEFAULT_PORT, } from './protocol.js';
|
|
13
|
-
export { isVSCodeCliAvailable, isExtensionInstalled, installExtension, getVsixPath, } from './extension-installer.js';
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/vscode/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACN,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,GACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,gBAAgB,EAChB,YAAY,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,uBAAuB,CAAC"}
|