UNPKG

pm-orchestrator-enhancement

Version:

PM Orchestrator Enhancement - Multi-agent parallel execution system

99 lines 3.58 kB
/** * PM Orchestrator Enhancement - Execution Logger * * タスク実行の詳細を記録し、ログファイルとして保存します。 */ import { ExecutionLog } from '../types'; /** * ExecutionLoggerクラス * * タスク実行の開始から完了までの全ての情報を記録します。 * ログは `.pm-orchestrator/logs/` ディレクトリに保存されます。 */ export declare class ExecutionLogger { private currentLog; private logDir; /** * コンストラクタ * * @param baseDir ログディレクトリのベースパス(デフォルト: カレントディレクトリ) */ constructor(baseDir?: string); /** * タスクを開始し、新しい実行ログを作成します * * @param userInput ユーザーの入力 * @param taskType タスクの種類(オプション) * @param complexity タスクの複雑度(オプション) * @param detectedPattern 検出されたパターン(オプション) * @returns タスクIDと初期化されたログ */ startTask(userInput: string, taskType?: string, complexity?: string, detectedPattern?: string): { taskId: string; log: ExecutionLog; }; /** * サブエージェントの実行を記録します * * @param name サブエージェント名 * @param status 実行状態 * @param output 実行結果の出力 * @param error エラーメッセージ(オプション) * @param toolsUsed 使用したツールのリスト(オプション) */ recordSubagent(name: string, status: string, output: any, error?: string, toolsUsed?: any[]): void; /** * 自動修正の試行を記録します * * @param attempted 自動修正を試行したか * @param success 自動修正が成功したか */ recordAutoFix(attempted: boolean, success: boolean): void; /** * リトライの実行を記録します */ recordRetry(): void; /** * ロールバックの実行を記録します */ recordRollback(): void; /** * ファイル変更の統計を記録します * * @param filesChanged 変更されたファイルの数 * @param linesAdded 追加された行数 * @param linesDeleted 削除された行数 * @param testsAdded 追加されたテストの数 */ recordFileChanges(filesChanged: number, linesAdded: number, linesDeleted: number, testsAdded?: number): void; /** * タスクを完了し、最終的なログを保存します * * @param status タスクの最終状態 * @param qualityScore 品質スコア * @param errorType エラータイプ(オプション) * @returns 完成したログ */ completeTask(status: 'success' | 'error' | 'rollback', qualityScore: number, errorType?: string): Promise<ExecutionLog>; /** * ログをファイルに保存します * * @param log 保存するログ */ private saveLogToFile; /** * 特定期間のログを読み込みます * * @param startDate 開始日 * @param endDate 終了日 * @returns 該当期間のログの配列 */ getLogsBetween(startDate: Date, endDate: Date): Promise<ExecutionLog[]>; /** * 現在のアクティブなログを取得します(主にテスト用) * * @returns 現在のログ、またはnull */ getCurrentLog(): ExecutionLog | null; } //# sourceMappingURL=execution-logger.d.ts.map