giga-code
Version:
A personal AI CLI assistant powered by Grok for local development.
92 lines (91 loc) • 3.26 kB
TypeScript
/// <reference types="react" />
import { GigaAgent, ChatEntry } from "../agent/giga-agent";
import { AddedMcpServer } from "../utils/added-mcp-servers";
import { OpenRouterProvider } from "../utils/openrouter-providers";
import { AgentMode } from "../types";
interface UseInputHandlerProps {
agent: GigaAgent;
chatHistory: ChatEntry[];
setChatHistory: React.Dispatch<React.SetStateAction<ChatEntry[]>>;
setIsProcessing: (processing: boolean) => void;
setIsStreaming: (streaming: boolean) => void;
setTokenCount: (count: number) => void;
setProcessingTime: (time: number) => void;
setStatusMessage: (message: string | null) => void;
processingStartTime: React.MutableRefObject<number>;
isProcessing: boolean;
isStreaming: boolean;
isConfirmationActive?: boolean;
onModeChange?: (mode: AgentMode) => void;
}
interface CommandSuggestion {
command: string;
description: string;
}
interface ModelOption {
model: string;
description: string;
}
interface Provider {
name: string;
keyName: string;
description: string;
}
export declare function useInputHandler({ agent, chatHistory, setChatHistory, setIsProcessing, setIsStreaming, setTokenCount, setProcessingTime, setStatusMessage, processingStartTime, isProcessing, isStreaming, isConfirmationActive, onModeChange, }: UseInputHandlerProps): {
input: string;
showCommandSuggestions: boolean;
selectedCommandIndex: number;
showModelSelection: boolean;
selectedModelIndex: number;
showProviderSettings: boolean;
selectedProviderIndex: number;
showAddModel: boolean;
showDeleteModel: boolean;
showPromptsList: boolean;
showAddPrompt: boolean;
showDeletePrompt: boolean;
showMcpServers: boolean;
showAddMcpServer: boolean;
showDeleteMcpServer: boolean;
selectedMcpServerIndex: number;
showConversationHistory: boolean;
showTemperatureSelector: boolean;
currentTemperature: number;
showExpertModels: boolean;
showExaApiKeyInput: boolean;
showRouteSelection: boolean;
routeViewMode: "models" | "providers";
selectedRouteModelIndex: number;
selectedRouteProviderIndex: number;
currentSelectedModel: string;
routeProviders: OpenRouterProvider[];
isLoadingProviders: boolean;
showFileFinder: boolean;
selectedFileIndex: number;
filteredFiles: string[];
fileQuery: string;
commandSuggestions: CommandSuggestion[];
availableModels: ModelOption[];
mcpServers: AddedMcpServer[];
providerList: Provider[];
closeProviderSettings: () => void;
closeAddModel: () => void;
closeDeleteModel: () => void;
closePromptsList: () => void;
closeAddPrompt: () => void;
closeDeletePrompt: () => void;
closeMcpServers: () => void;
closeAddMcpServer: () => void;
closeDeleteMcpServer: () => void;
closeConversationHistory: () => void;
closeTemperatureSelector: () => void;
closeExpertModels: () => void;
closeExaApiKeyInput: () => void;
closeRouteSelection: () => void;
closeFileFinder: () => void;
refreshModels: (allModelsData?: any[]) => void;
refreshMcpServers: () => void;
openRouterModels: ModelOption[];
agent: GigaAgent;
};
export {};