Skip to content

Commit e2e6cb0

Browse files
committed
Merge branch 'main' into pr/w1gs/87
2 parents ce3043b + 6dfab6d commit e2e6cb0

File tree

11 files changed

+447
-403
lines changed

11 files changed

+447
-403
lines changed

extensions/void/package-lock.json

Lines changed: 20 additions & 37 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extensions/void/package.json

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@
363363
"@types/node": "^22.5.1",
364364
"@types/react": "^18.3.4",
365365
"@types/react-dom": "^18.3.0",
366-
"@types/vscode": "1.89.0",
366+
"@types/vscode": "1.92.0",
367367
"@typescript-eslint/eslint-plugin": "^8.3.0",
368368
"@typescript-eslint/parser": "^8.3.0",
369369
"@vscode/test-cli": "^0.0.10",
@@ -382,13 +382,11 @@
382382
"rimraf": "^6.0.1",
383383
"tailwindcss": "^3.4.10",
384384
"typescript": "5.5.4",
385-
"typescript-eslint": "^8.3.0"
385+
"typescript-eslint": "^8.3.0",
386+
"uuid": "^10.0.0"
386387
},
387388
"dependencies": {
388389
"@anthropic-ai/sdk": "^0.27.1",
389-
"diff-match-patch": "^1.0.5",
390-
"ollama": "^0.5.9",
391-
"openai": "^4.57.0",
392-
"diff": "^7.0.0"
390+
"openai": "^4.57.0"
393391
}
394-
}
392+
}

extensions/void/src/SidebarWebviewProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class SidebarWebviewProvider implements vscode.WebviewViewProvider {
5555
const openAICompatibleEndpoint: string | undefined = vscode.workspace.getConfiguration('void.openAICompatible').get('endpoint');
5656
this._webviewDeps.push('void.openAICompatible.endpoint');
5757
if (openAICompatibleEndpoint)
58-
allowed_urls.push(openAICompatibleEndpoint);
58+
allowed_urls.push(openAICompatibleEndpoint+'/chat/completions');
5959

6060
const scriptUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'dist/sidebar/index.js'));
6161
const stylesUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'dist/sidebar/styles.css'));

extensions/void/src/extension.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as vscode from 'vscode';
22
import { DisplayChangesProvider } from './DisplayChangesProvider';
3-
import { BaseDiffArea, ChatThreads, WebviewMessage } from './shared_types';
3+
import { BaseDiffArea, ChatThreads, MessageFromSidebar, MessageToSidebar } from './shared_types';
44
import { SidebarWebviewProvider } from './SidebarWebviewProvider';
55
import { ApiConfig } from './common/sendLLMMessage';
66

@@ -79,7 +79,7 @@ export function activate(context: vscode.ExtensionContext) {
7979
const filePath = editor.document.uri;
8080

8181
// send message to the webview (Sidebar.tsx)
82-
webviewProvider.webview.then(webview => webview.postMessage({ type: 'ctrl+l', selection: { selectionStr, selectionRange, filePath } } satisfies WebviewMessage));
82+
webviewProvider.webview.then(webview => webview.postMessage({ type: 'ctrl+l', selection: { selectionStr, selectionRange, filePath } } satisfies MessageToSidebar));
8383
})
8484
);
8585

@@ -105,23 +105,23 @@ export function activate(context: vscode.ExtensionContext) {
105105

106106
// top navigation bar commands
107107
context.subscriptions.push(vscode.commands.registerCommand('void.startNewThread', async () => {
108-
webview.postMessage({ type: 'startNewThread' } satisfies WebviewMessage)
108+
webview.postMessage({ type: 'startNewThread' } satisfies MessageToSidebar)
109109
}))
110110
context.subscriptions.push(vscode.commands.registerCommand('void.toggleThreadSelector', async () => {
111-
webview.postMessage({ type: 'toggleThreadSelector' } satisfies WebviewMessage)
111+
webview.postMessage({ type: 'toggleThreadSelector' } satisfies MessageToSidebar)
112112
}))
113113

114114
// when config changes, send it to the sidebar
115115
vscode.workspace.onDidChangeConfiguration(e => {
116116
if (e.affectsConfiguration('void')) {
117117
const apiConfig = getApiConfig()
118-
webview.postMessage({ type: 'apiConfig', apiConfig } satisfies WebviewMessage)
118+
webview.postMessage({ type: 'apiConfig', apiConfig } satisfies MessageToSidebar)
119119
}
120120
})
121121

122122

123123
// Receive messages in the extension from the sidebar webview (messages are sent using `postMessage`)
124-
webview.onDidReceiveMessage(async (m: WebviewMessage) => {
124+
webview.onDidReceiveMessage(async (m: MessageFromSidebar) => {
125125

126126
if (m.type === 'requestFiles') {
127127

@@ -131,7 +131,7 @@ export function activate(context: vscode.ExtensionContext) {
131131
)
132132

133133
// send contents to webview
134-
webview.postMessage({ type: 'files', files, } satisfies WebviewMessage)
134+
webview.postMessage({ type: 'files', files, } satisfies MessageToSidebar)
135135

136136
} else if (m.type === 'applyChanges') {
137137

@@ -168,19 +168,19 @@ export function activate(context: vscode.ExtensionContext) {
168168
}
169169
else if (m.type === 'getApiConfig') {
170170
const apiConfig = getApiConfig()
171-
webview.postMessage({ type: 'apiConfig', apiConfig } satisfies WebviewMessage)
171+
webview.postMessage({ type: 'apiConfig', apiConfig } satisfies MessageToSidebar)
172172
}
173173
else if (m.type === 'getAllThreads') {
174174
const threads: ChatThreads = context.workspaceState.get('allThreads') ?? {}
175-
webview.postMessage({ type: 'allThreads', threads } satisfies WebviewMessage)
175+
webview.postMessage({ type: 'allThreads', threads } satisfies MessageToSidebar)
176176
}
177177
else if (m.type === 'persistThread') {
178178
const threads: ChatThreads = context.workspaceState.get('allThreads') ?? {}
179179
const updatedThreads: ChatThreads = { ...threads, [m.thread.id]: m.thread }
180180
context.workspaceState.update('allThreads', updatedThreads)
181181
}
182182
else {
183-
console.error('unrecognized command', m.type, m)
183+
console.error('unrecognized command', m)
184184
}
185185
})
186186
}

extensions/void/src/shared_types.ts

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -38,45 +38,25 @@ type Diff = {
3838
lenses: vscode.CodeLens[],
3939
} & BaseDiff
4040

41-
type WebviewMessage = (
42-
43-
// editor -> sidebar
41+
// editor -> sidebar
42+
type MessageToSidebar = (
4443
| { type: 'ctrl+l', selection: CodeSelection } // user presses ctrl+l in the editor
45-
46-
// sidebar -> editor
47-
| { type: 'applyChanges', code: string } // user clicks "apply" in the sidebar
48-
49-
// sidebar -> editor
50-
| { type: 'requestFiles', filepaths: vscode.Uri[] }
51-
52-
// editor -> sidebar
5344
| { type: 'files', files: { filepath: vscode.Uri, content: string }[] }
54-
55-
// sidebar -> editor
56-
| { type: 'getApiConfig' }
57-
58-
// editor -> sidebar
5945
| { type: 'apiConfig', apiConfig: ApiConfig }
60-
61-
// sidebar -> editor
62-
| { type: 'getAllThreads' }
63-
64-
// editor -> sidebar
6546
| { type: 'allThreads', threads: ChatThreads }
66-
67-
// sidebar -> editor
68-
| { type: 'persistThread', thread: ChatThreads[string] }
69-
70-
// editor -> sidebar
7147
| { type: 'startNewThread' }
72-
73-
// editor -> sidebar
7448
| { type: 'toggleThreadSelector' }
75-
7649
)
7750

51+
// sidebar -> editor
52+
type MessageFromSidebar = (
53+
| { type: 'applyChanges', code: string } // user clicks "apply" in the sidebar
54+
| { type: 'requestFiles', filepaths: vscode.Uri[] }
55+
| { type: 'getApiConfig' }
56+
| { type: 'getAllThreads' }
57+
| { type: 'persistThread', thread: ChatThreads[string] }
58+
)
7859

79-
type Command = WebviewMessage['type']
8060

8161
type ChatThreads = {
8262
[id: string]: {
@@ -105,8 +85,8 @@ export {
10585
Diff, DiffArea,
10686
CodeSelection,
10787
File,
108-
WebviewMessage,
109-
Command,
88+
MessageFromSidebar,
89+
MessageToSidebar,
11090
ChatThreads,
11191
ChatMessage,
11292
}

0 commit comments

Comments
 (0)