Skip to content

Commit 99f8ba1

Browse files
committed
Bump version and add model selection persistence with active item highlighting
1 parent aa193cc commit 99f8ba1

5 files changed

Lines changed: 21 additions & 11 deletions

File tree

‎apps/editor/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "gemini-coder",
33
"displayName": "Code Web Chat",
44
"description": "Free AI coding in chatbots (CWC)",
5-
"version": "1.833.0",
5+
"version": "1.834.0",
66
"scripts": {
77
"build": "npx vsce package --no-dependencies",
88
"vscode:prepublish": "rimraf out && npm run compile",

‎apps/editor/src/views/panel/backend/message-handlers/handle-pick-model.ts‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@ export const handle_pick_model = async (
1111
message: PickModelMessage
1212
): Promise<void> => {
1313
try {
14-
let items: vscode.QuickPickItem[] = []
14+
let items: (vscode.QuickPickItem & { model_id: string })[] = []
1515

1616
if (message.chatbot_name == 'OpenRouter') {
1717
const response = await axios.get('https://openrouter.ai/api/v1/models')
1818
const models = response.data.data
1919

2020
items = models.map((model: any) => ({
2121
label: model.name,
22-
description: model.id,
23-
detail: model.description
22+
model_id: model.id
2423
}))
2524
} else {
2625
const chatbot_config =
2726
CHATBOTS[message.chatbot_name as keyof typeof CHATBOTS]
2827
if (chatbot_config && chatbot_config.models) {
2928
items = Object.entries(chatbot_config.models).map(([id, data]) => ({
30-
label: (data as any).label || id
29+
label: (data as any).label || id,
30+
model_id: id
3131
}))
3232
}
3333
}
@@ -36,6 +36,14 @@ export const handle_pick_model = async (
3636
quick_pick.items = items
3737
quick_pick.title = 'Models'
3838
quick_pick.placeholder = 'Choose a model'
39+
40+
if (message.current_model_id) {
41+
const active_item = items.find(
42+
(i) => i.model_id === message.current_model_id
43+
)
44+
if (active_item) quick_pick.activeItems = [active_item]
45+
}
46+
3947
quick_pick.buttons = [
4048
{
4149
iconPath: new vscode.ThemeIcon('close'),
@@ -51,11 +59,11 @@ export const handle_pick_model = async (
5159

5260
return new Promise<void>((resolve) => {
5361
quick_pick.onDidAccept(() => {
54-
const selected = quick_pick.selectedItems[0]
62+
const selected = quick_pick.selectedItems[0] as any
5563
if (selected) {
5664
panel_provider.send_message({
5765
command: 'NEWLY_PICKED_MODEL',
58-
model_id: selected.description!
66+
model_id: selected.model_id
5967
})
6068
}
6169
quick_pick.hide()

‎apps/editor/src/views/panel/frontend/Panel.tsx‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,10 +525,11 @@ export const Panel = () => {
525525
<EditPresetForm
526526
preset={updating_preset}
527527
on_update={set_updated_preset}
528-
pick_model={(chatbot_name) => {
528+
pick_model={(chatbot_name, current_model_id) => {
529529
post_message(vscode, {
530530
command: 'PICK_MODEL',
531-
chatbot_name
531+
chatbot_name,
532+
current_model_id
532533
})
533534
}}
534535
pick_chatbot={(chatbot_id) => {

‎apps/editor/src/views/panel/frontend/components/edit-preset-form/EditPresetForm/EditPresetForm.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { Fieldset } from '@ui/components/editor/panel/Fieldset'
1717
type Props = {
1818
preset: Preset
1919
on_update: (updated_preset: Preset) => void
20-
pick_model: (chatbot_name: string) => void
20+
pick_model: (chatbot_name: string, current_model_id?: string) => void
2121
pick_chatbot: (chatbot_id?: keyof typeof CHATBOTS) => void
2222
on_at_sign_in_affix: () => void
2323
}
@@ -256,7 +256,7 @@ export const EditPresetForm: React.FC<Props> = (props) => {
256256
onClick={(e) => {
257257
e.stopPropagation()
258258
if (chatbot) {
259-
props.pick_model(chatbot)
259+
props.pick_model(chatbot, model)
260260
}
261261
}}
262262
>

‎apps/editor/src/views/panel/types/messages.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ export interface CaretPositionChangedWebviewMessage extends BaseMessage {
198198
export interface PickModelMessage extends BaseMessage {
199199
command: 'PICK_MODEL'
200200
chatbot_name: string
201+
current_model_id?: string
201202
}
202203

203204
export interface PickChatbotMessage extends BaseMessage {

0 commit comments

Comments
 (0)