/** * Mock LLM Provider - テスト用モックプロバイダー * * @requirement REQ-LLM-001 * @design DES-KATASHIRO-003-LLM §3.1 */ import type { ZodType, z } from 'zod'; import type { LLMProvider, GenerateRequest, GenerateResponse, StreamChunk } from '../types.js'; /** * モックプロバイダー設定 */ export interface MockProviderConfig { /** デフォルトレスポンス */ defaultResponse?: string; /** 遅延(ミリ秒) */ delay?: number; /** エラーを発生させるか */ shouldFail?: boolean; /** エラーメッセージ */ errorMessage?: string; /** カスタムレスポンス生成関数 */ responseGenerator?: (request: GenerateRequest) => string; } /** * テスト用モックLLMプロバイダー */ export declare class MockLLMProvider implements LLMProvider { readonly name = "mock"; readonly supportedModels: string[]; private config; private callCount; private callHistory; constructor(config?: MockProviderConfig); /** * 呼び出し回数取得 */ getCallCount(): number; /** * 呼び出し履歴取得 */ getCallHistory(): GenerateRequest[]; /** * リセット */ reset(): void; /** * 設定更新 */ updateConfig(config: Partial): void; generate(request: GenerateRequest): Promise; generateStream(request: GenerateRequest): AsyncGenerator; generateStructured(request: GenerateRequest, schema: T): Promise>; countTokens(text: string, _model?: string): Promise; private estimateTokens; private sleep; } //# sourceMappingURL=MockLLMProvider.d.ts.map