/** * Workstream Types * * @description * ワークストリーム管理の型定義 * * @see TSK-FR-043 - Workstream型定義 * @see REQ-FR-041〜045 - WorkstreamManager * @trace DES-MUSUBIX-FR-001 DES-ORCH-001 */ /** * ワークストリームのステータス */ export type WorkstreamStatus = 'pending' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled'; /** * ワークストリーム内タスクのステータス */ export type WorkstreamTaskStatus = 'queued' | 'assigned' | 'running' | 'completed' | 'failed' | 'skipped'; /** * ワークストリーム内のタスク */ export interface WorkstreamTask { readonly id: string; readonly name: string; readonly status: WorkstreamTaskStatus; readonly priority: number; readonly dependencies: readonly string[]; readonly assignedTo?: string; readonly startedAt?: number; readonly completedAt?: number; readonly result?: unknown; readonly error?: string; readonly metadata?: Readonly>; } /** * ワークストリーム内タスクの入力 */ export interface WorkstreamTaskInput { readonly name: string; readonly priority?: number; readonly dependencies?: readonly string[]; readonly metadata?: Record; } /** * ワークストリーム */ export interface Workstream { readonly id: string; readonly name: string; readonly status: WorkstreamStatus; readonly tasks: readonly WorkstreamTask[]; readonly maxParallel: number; readonly createdAt: number; readonly updatedAt: number; readonly startedAt?: number; readonly completedAt?: number; readonly metadata?: Readonly>; } /** * ワークストリーム作成入力 */ export interface WorkstreamInput { readonly name: string; readonly maxParallel?: number; readonly tasks?: readonly WorkstreamTaskInput[]; readonly metadata?: Record; } /** * ワークストリーム統計 */ export interface WorkstreamStats { readonly totalTasks: number; readonly byStatus: Readonly>; readonly completionRate: number; readonly avgTaskDuration: number; readonly parallelUtilization: number; } /** * ワークストリーム設定 */ export interface WorkstreamConfig { readonly maxWorkstreams: number; readonly defaultMaxParallel: number; readonly taskTimeout: number; readonly enableAutoRetry: boolean; readonly maxRetries: number; } /** * デフォルト設定 */ export declare const DEFAULT_WORKSTREAM_CONFIG: WorkstreamConfig; /** * IDカウンターをリセット(テスト用) */ export declare function resetWorkstreamCounters(): void; /** * WorkstreamTaskを作成 */ export declare function createWorkstreamTask(input: WorkstreamTaskInput): WorkstreamTask; /** * Workstreamを作成 */ export declare function createWorkstream(input: WorkstreamInput, config?: WorkstreamConfig): Workstream; /** * ワークストリーム統計を計算 */ export declare function calculateWorkstreamStats(workstream: Workstream): WorkstreamStats; //# sourceMappingURL=Workstream.d.ts.map