diff --git a/python/src/aiconfig/editor/client/src/LocalEditor.tsx b/python/src/aiconfig/editor/client/src/LocalEditor.tsx index 3e664856f..4b80ac158 100644 --- a/python/src/aiconfig/editor/client/src/LocalEditor.tsx +++ b/python/src/aiconfig/editor/client/src/LocalEditor.tsx @@ -37,7 +37,6 @@ const useStyles = createStyles(() => ({ }, })); - const MODE = "local"; export default function LocalEditor() { @@ -75,7 +74,7 @@ export default function LocalEditor() { sessionSampleRate: 100, }); - datadogLogs.setGlobalContextProperty('mode', MODE); + datadogLogs.setGlobalContextProperty("mode", MODE); } }, []); @@ -91,7 +90,7 @@ export default function LocalEditor() { return res; }, []); - const getModels = useCallback(async (search: string) => { + const getModels = useCallback(async (search?: string) => { // For now, rely on caching and handle client-side search filtering // We will use server-side search filtering for Gradio const res = await ufetch.get(ROUTE_TABLE.LIST_MODELS); @@ -289,11 +288,7 @@ export default function LocalEditor() { ) : ( - + )} ); diff --git a/python/src/aiconfig/editor/client/src/components/AIConfigEditor.tsx b/python/src/aiconfig/editor/client/src/components/AIConfigEditor.tsx index 06bf09dd7..94301ebf0 100644 --- a/python/src/aiconfig/editor/client/src/components/AIConfigEditor.tsx +++ b/python/src/aiconfig/editor/client/src/components/AIConfigEditor.tsx @@ -125,7 +125,7 @@ export type AIConfigCallbacks = { deletePrompt: (promptName: string) => Promise; download?: () => Promise; openInTextEditor?: () => Promise; - getModels: (search: string) => Promise; + getModels: (search?: string) => Promise; getServerStatus?: () => Promise<{ status: "OK" | "ERROR" }>; logEventHandler?: (event: LogEvent, data?: LogEventData) => void; runPrompt: ( diff --git a/python/src/aiconfig/editor/client/src/components/prompt/AddPromptButton.tsx b/python/src/aiconfig/editor/client/src/components/prompt/AddPromptButton.tsx index 256c828d1..3b20e6ae8 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/AddPromptButton.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/AddPromptButton.tsx @@ -14,7 +14,7 @@ import { PROMPT_CELL_LEFT_MARGIN_PX } from "../../utils/constants"; type Props = { addPrompt: (prompt: string) => void; - getModels?: (search: string) => Promise; + getModels?: (search?: string) => Promise; }; const useStyles = createStyles((theme) => ({ @@ -74,7 +74,7 @@ function ModelMenuItems({ } export default memo(function AddPromptButton({ addPrompt, getModels }: Props) { - const [modelSearch, setModelSearch] = useState(""); + const [modelSearch, setModelSearch] = useState(); const [isOpen, setIsOpen] = useState(false); const onAddPrompt = useCallback( @@ -85,7 +85,7 @@ export default memo(function AddPromptButton({ addPrompt, getModels }: Props) { [addPrompt] ); - const models = useLoadModels(modelSearch, getModels); + const models = useLoadModels(getModels, modelSearch); const { classes } = useStyles(); return ( diff --git a/python/src/aiconfig/editor/client/src/components/prompt/ModelSelector.tsx b/python/src/aiconfig/editor/client/src/components/prompt/ModelSelector.tsx index 187205aab..e21e64e30 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/ModelSelector.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/ModelSelector.tsx @@ -8,7 +8,7 @@ import AIConfigContext from "../../contexts/AIConfigContext"; type Props = { prompt: Prompt; - getModels?: (search: string) => Promise; + getModels?: (search?: string) => Promise; onSetModel: (model?: string) => void; defaultConfigModelName?: string; }; @@ -30,8 +30,8 @@ export default memo(function ModelSelector({ ); const models = useLoadModels( - showAll ? "" : autocompleteSearch ?? "", - getModels + getModels, + showAll ? undefined : autocompleteSearch ); const onSelectModel = (model?: string) => { diff --git a/python/src/aiconfig/editor/client/src/components/prompt/PromptContainer.tsx b/python/src/aiconfig/editor/client/src/components/prompt/PromptContainer.tsx index 4ea054860..86985f18a 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/PromptContainer.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/PromptContainer.tsx @@ -15,7 +15,7 @@ import { debounce } from "lodash"; type Props = { prompt: ClientPrompt; cancel?: (cancellationToken: string) => Promise; - getModels?: (search: string) => Promise; + getModels?: (search?: string) => Promise; onChangePromptInput: ( promptId: string, newPromptInput: AIConfigPromptInput diff --git a/python/src/aiconfig/editor/client/src/components/prompt/PromptsContainer.tsx b/python/src/aiconfig/editor/client/src/components/prompt/PromptsContainer.tsx index 228e88d18..4ddc3b49a 100644 --- a/python/src/aiconfig/editor/client/src/components/prompt/PromptsContainer.tsx +++ b/python/src/aiconfig/editor/client/src/components/prompt/PromptsContainer.tsx @@ -10,7 +10,7 @@ import { JSONObject, PromptInput } from "aiconfig"; type Props = { cancelRunPrompt?: (cancellationToken: string) => Promise; defaultModel?: string; - getModels?: (search: string) => Promise; + getModels?: (search?: string) => Promise; onAddPrompt: (promptIndex: number, model: string) => Promise; onChangePromptInput: ( promptId: string, diff --git a/python/src/aiconfig/editor/client/src/hooks/useLoadModels.ts b/python/src/aiconfig/editor/client/src/hooks/useLoadModels.ts index 62595bd51..54111b12d 100644 --- a/python/src/aiconfig/editor/client/src/hooks/useLoadModels.ts +++ b/python/src/aiconfig/editor/client/src/hooks/useLoadModels.ts @@ -3,15 +3,15 @@ import NotificationContext from "../components/notifications/NotificationContext import AIConfigContext from "../contexts/AIConfigContext"; export default function useLoadModels( - modelSearch: string, - getModels?: (search: string) => Promise + getModels?: (search?: string) => Promise, + modelSearch?: string ) { const [models, setModels] = useState([]); const { showNotification } = useContext(NotificationContext); const { readOnly } = useContext(AIConfigContext); const loadModels = useCallback( - async (modelSearch: string) => { + async (modelSearch?: string) => { if (!getModels || readOnly) { return; } diff --git a/vscode-extension/editor/src/VSCodeEditor.tsx b/vscode-extension/editor/src/VSCodeEditor.tsx index bce5ec9c7..16c2ef3c8 100644 --- a/vscode-extension/editor/src/VSCodeEditor.tsx +++ b/vscode-extension/editor/src/VSCodeEditor.tsx @@ -199,7 +199,7 @@ export default function VSCodeEditor() { }, [setupTelemetryIfAllowed]); const getModels = useCallback( - async (search: string) => { + async (search?: string) => { // For now, rely on caching and handle client-side search filtering // We will use server-side search filtering for Gradio const res = await ufetch.get(ROUTE_TABLE.LIST_MODELS(aiConfigServerUrl));