pm-orchestrator-enhancement
Version:
PM Orchestrator Enhancement - Multi-agent parallel execution system
99 lines • 3.58 kB
TypeScript
/**
* 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