@nanocollective/nanocoder
Version:
A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter
34 lines • 2.2 kB
TypeScript
import React from 'react';
import { ConversationContext } from '../hooks/useAppState.js';
import { DevelopmentMode, LLMClient, Message, ToolCall, ToolResult } from '../types/core.js';
interface UseToolHandlerProps {
pendingToolCalls: ToolCall[];
currentToolIndex: number;
completedToolResults: ToolResult[];
currentConversationContext: ConversationContext | null;
setPendingToolCalls: (calls: ToolCall[]) => void;
setCurrentToolIndex: (index: number) => void;
setCompletedToolResults: (results: ToolResult[]) => void;
setCurrentConversationContext: (context: ConversationContext | null) => void;
setIsToolConfirmationMode: (mode: boolean) => void;
setIsToolExecuting: (executing: boolean) => void;
setMessages: (messages: Message[]) => void;
addToChatQueue: (component: React.ReactNode) => void;
setLiveComponent: (component: React.ReactNode) => void;
getNextComponentKey: () => number;
resetToolConfirmationState: () => void;
onProcessAssistantResponse: (systemMessage: Message, messages: Message[]) => Promise<void>;
client?: LLMClient | null;
currentProvider?: string;
setDevelopmentMode?: (mode: DevelopmentMode) => void;
compactToolDisplay?: boolean;
}
export declare function useToolHandler({ pendingToolCalls, currentToolIndex, completedToolResults, currentConversationContext, setPendingToolCalls, setCurrentToolIndex, setCompletedToolResults, setCurrentConversationContext, setIsToolConfirmationMode, setIsToolExecuting, setMessages, addToChatQueue, setLiveComponent, getNextComponentKey, resetToolConfirmationState, onProcessAssistantResponse, client: _client, currentProvider: _currentProvider, setDevelopmentMode, compactToolDisplay, }: UseToolHandlerProps): {
handleToolConfirmation: (confirmed: boolean) => void;
handleToolConfirmationCancel: () => void;
startToolConfirmationFlow: (toolCalls: ToolCall[], messagesBeforeToolExecution: Message[], assistantMsg: Message, systemMessage: Message) => void;
continueConversationWithToolResults: (toolResults?: ToolResult[]) => Promise<void>;
executeCurrentTool: () => Promise<void>;
};
export {};
//# sourceMappingURL=useToolHandler.d.ts.map