UNPKG

@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

33 lines 1.6 kB
import type React from 'react'; import type { CustomCommandLoader } from '../../custom-commands/loader.js'; import type { ToolManager } from '../../tools/tool-manager.js'; import type { LLMClient, Message, ToolCall } from '../../types/core.js'; export interface UseChatHandlerProps { client: LLMClient | null; toolManager: ToolManager | null; customCommandLoader: CustomCommandLoader | null; messages: Message[]; setMessages: (messages: Message[]) => void; currentProvider: string; currentModel: string; setIsCancelling: (cancelling: boolean) => void; addToChatQueue: (component: React.ReactNode) => void; getNextComponentKey: () => number; abortController: AbortController | null; setAbortController: (controller: AbortController | null) => void; developmentMode?: 'normal' | 'auto-accept' | 'plan' | 'scheduler'; nonInteractiveMode?: boolean; onStartToolConfirmationFlow: (toolCalls: ToolCall[], updatedMessages: Message[], assistantMsg: Message, systemMessage: Message) => void; onConversationComplete?: () => void; compactToolDisplayRef?: React.RefObject<boolean>; onSetCompactToolCounts?: (counts: Record<string, number> | null) => void; compactToolCountsRef?: React.MutableRefObject<Record<string, number>>; } export interface ChatHandlerReturn { handleChatMessage: (message: string) => Promise<void>; processAssistantResponse: (systemMessage: Message, messages: Message[]) => Promise<void>; isGenerating: boolean; streamingContent: string; tokenCount: number; } //# sourceMappingURL=types.d.ts.map