@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
72 lines • 2.34 kB
TypeScript
import type { ProviderConfig, SdkProvider } from '../types/config.js';
import type { McpServerConfig } from './templates/mcp-templates.js';
interface ValidationResult {
valid: boolean;
errors: string[];
warnings: string[];
}
interface ProviderTestResult {
providerName: string;
connected: boolean;
error?: string;
}
/**
* Validates the structure of the configuration object
*/
export declare function validateConfig(providers: ProviderConfig[], mcpServers: Record<string, McpServerConfig>): ValidationResult;
/**
* Tests connectivity to a provider
*/
export declare function testProviderConnection(provider: ProviderConfig, timeout?: number): Promise<ProviderTestResult>;
/**
* Provider configuration object format (for agents.config.json)
*/
interface ProviderConfigObject {
nanocoder: {
providers: Array<{
name: string;
models: string[];
baseUrl?: string;
apiKey?: string;
organizationId?: string;
timeout?: number;
sdkProvider?: SdkProvider;
}>;
};
}
/**
* MCP configuration object format (for .mcp.json)
* Uses Claude Code object format
*/
interface McpConfigObject {
mcpServers: Record<string, McpServerConfig>;
}
/**
* Builds the provider configuration object for agents.config.json
*/
export declare function buildProviderConfigObject(providers: ProviderConfig[]): ProviderConfigObject;
/**
* Builds the MCP configuration object for .mcp.json
* Uses Claude Code object format (servers as object keys)
*/
export declare function buildMcpConfigObject(mcpServers: Record<string, McpServerConfig>): McpConfigObject;
/**
* @deprecated Use buildProviderConfigObject and buildMcpConfigObject instead
* This function is kept for backward compatibility during migration
*/
export declare function buildConfigObject(providers: ProviderConfig[], mcpServers: Record<string, McpServerConfig>): ProviderConfigObject & {
nanocoder: {
providers: Array<{
name: string;
models: string[];
baseUrl?: string;
apiKey?: string;
organizationId?: string;
timeout?: number;
sdkProvider?: SdkProvider;
}>;
mcpServers?: McpServerConfig[];
};
};
export {};
//# sourceMappingURL=validation.d.ts.map