@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
47 lines • 1.74 kB
TypeScript
import type { DiagnosticInfo } from '../vscode/protocol.js';
interface UseVSCodeServerProps {
enabled: boolean;
port?: number;
currentModel?: string;
currentProvider?: string;
onPrompt?: (prompt: string, context?: {
filePath?: string;
selection?: string;
cursorPosition?: {
line: number;
character: number;
};
}) => void;
onDiagnosticsReceived?: (diagnostics: DiagnosticInfo[]) => void;
}
interface UseVSCodeServerReturn {
isConnected: boolean;
connectionCount: number;
actualPort: number | null;
requestedPort: number;
sendAssistantMessage: (content: string, isGenerating?: boolean) => void;
notifyFileChange: (filePath: string, originalContent: string, newContent: string, toolName: string, toolArgs: Record<string, unknown>) => string | null;
requestDiagnostics: (filePath?: string) => void;
updateStatus: () => void;
}
/**
* Hook to manage VS Code server integration
*/
export declare function useVSCodeServer({ enabled, port, currentModel, currentProvider, onPrompt, onDiagnosticsReceived, }: UseVSCodeServerProps): UseVSCodeServerReturn;
/**
* Check if VS Code mode was requested via CLI flag
*/
export declare function isVSCodeModeEnabled(): boolean;
/**
* Get VS Code server port from CLI args or default
*/
export declare function getVSCodePort(): number;
/**
* Helper to create file change notification with automatic content reading
*/
export declare function createFileChangeFromTool(filePath: string, newContent: string, _toolName: string, _toolArgs: Record<string, unknown>): Promise<{
originalContent: string;
newContent: string;
}>;
export {};
//# sourceMappingURL=useVSCodeServer.d.ts.map