Compare commits

...

5 Commits

Author SHA1 Message Date
celestial-vault bd04d9daf6 fix models.proto types 2025-06-18 22:02:10 -07:00
celestial-vault d9c9ad1c99 merge conflicts 2025-06-18 22:01:48 -07:00
Elephant Lumps c332aced87 migrate requestyModels protobus and clean up old messages 2025-06-06 10:19:53 -07:00
Elephant Lumps 2820f94e12 merge conflicts 2025-06-06 09:41:12 -07:00
Elephant Lumps bb06ff9dd5 migrate apiConfiguration 2025-06-05 23:24:46 -07:00
5 changed files with 15 additions and 34 deletions
+1 -1
View File
@@ -236,4 +236,4 @@ message ModelsApiConfiguration {
optional string sap_ai_core_token_url = 71;
optional string sap_ai_core_base_url = 72;
optional string claude_code_path = 73;
}
}
@@ -41,11 +41,6 @@ export async function refreshRequestyModels(controller: Controller, _: EmptyRequ
models[model.id] = modelInfo
}
console.log("Requesty models fetched", models)
controller.postMessageToWebview({
type: "requestyModels",
requestyModels: models,
})
} else {
console.error("Invalid response from Requesty API")
}
-3
View File
@@ -17,8 +17,6 @@ export interface ExtensionMessage {
| "action"
| "state"
| "selectedImages"
| "openAiModels"
| "requestyModels"
| "mcpDownloadDetails"
| "userCreditsBalance"
| "userCreditsUsage"
@@ -33,7 +31,6 @@ export interface ExtensionMessage {
lmStudioModels?: string[]
vsCodeLmModels?: { vendor?: string; family?: string; version?: string; id?: string }[]
openAiModels?: string[]
requestyModels?: Record<string, ModelInfo>
mcpServers?: McpServer[]
customToken?: string
mcpMarketplaceCatalog?: McpMarketplaceCatalog
@@ -5,7 +5,7 @@ import React, { KeyboardEvent, memo, useEffect, useMemo, useRef, useState } from
import { useRemark } from "react-remark"
import { useMount } from "react-use"
import styled from "styled-components"
import { requestyDefaultModelId } from "../../../../src/shared/api"
import { requestyDefaultModelId, requestyDefaultModelInfo } from "../../../../src/shared/api"
import { useExtensionState } from "../../context/ExtensionStateContext"
import { ModelsServiceClient } from "../../services/grpc-client"
import { CODE_BLOCK_BG_COLOR } from "../common/CodeBlock"
@@ -18,7 +18,7 @@ export interface RequestyModelPickerProps {
}
const RequestyModelPicker: React.FC<RequestyModelPickerProps> = ({ isPopup }) => {
const { apiConfiguration, setApiConfiguration, requestyModels } = useExtensionState()
const { apiConfiguration, setApiConfiguration, requestyModels, setRequestyModels } = useExtensionState()
const [searchTerm, setSearchTerm] = useState(apiConfiguration?.requestyModelId || requestyDefaultModelId)
const [isDropdownVisible, setIsDropdownVisible] = useState(false)
const [selectedIndex, setSelectedIndex] = useState(-1)
@@ -44,9 +44,16 @@ const RequestyModelPicker: React.FC<RequestyModelPickerProps> = ({ isPopup }) =>
}, [apiConfiguration])
useMount(() => {
ModelsServiceClient.refreshRequestyModels(EmptyRequest.create({})).catch((err) => {
console.error("Failed to refresh Requesty models:", err)
})
ModelsServiceClient.refreshRequestyModels(EmptyRequest.create({}))
.then((response) => {
setRequestyModels({
[requestyDefaultModelId]: requestyDefaultModelInfo,
...response.models,
})
})
.catch((err) => {
console.error("Failed to refresh Requesty models:", err)
})
})
useEffect(() => {
@@ -68,6 +68,7 @@ interface ExtensionStateContextType extends ExtensionState {
setDefaultTerminalProfile: (value: string) => void
setChatSettings: (value: ChatSettings) => void
setMcpServers: (value: McpServer[]) => void
setRequestyModels: (value: Record<string, ModelInfo>) => void
setGlobalClineRulesToggles: (toggles: Record<string, boolean>) => void
setLocalClineRulesToggles: (toggles: Record<string, boolean>) => void
setLocalCursorRulesToggles: (toggles: Record<string, boolean>) => void
@@ -216,26 +217,6 @@ export const ExtensionStateContextProvider: React.FC<{
})
const [mcpServers, setMcpServers] = useState<McpServer[]>([])
const [mcpMarketplaceCatalog, setMcpMarketplaceCatalog] = useState<McpMarketplaceCatalog>({ items: [] })
const handleMessage = useCallback((event: MessageEvent) => {
const message: ExtensionMessage = event.data
switch (message.type) {
case "openAiModels": {
const updatedModels = message.openAiModels ?? []
setOpenAiModels(updatedModels)
break
}
case "requestyModels": {
const updatedModels = message.requestyModels ?? {}
setRequestyModels({
[requestyDefaultModelId]: requestyDefaultModelInfo,
...updatedModels,
})
break
}
}
}, [])
useEvent("message", handleMessage)
// References to store subscription cancellation functions
const stateSubscriptionRef = useRef<(() => void) | null>(null)
@@ -783,6 +764,7 @@ export const ExtensionStateContextProvider: React.FC<{
defaultTerminalProfile: value,
})),
setMcpServers: (mcpServers: McpServer[]) => setMcpServers(mcpServers),
setRequestyModels: (models: Record<string, ModelInfo>) => setRequestyModels(models),
setMcpMarketplaceCatalog: (catalog: McpMarketplaceCatalog) => setMcpMarketplaceCatalog(catalog),
setAvailableTerminalProfiles,
setShowMcp,