/** * @fileoverview Parallel execution scheduler for fitness recipe checks * * Maintains a sliding window of `maxParallel` in-flight `runOneCheck` * calls. Per-check semantics (timeout, abort, retry, success/error * dispatch) live in `runOneCheck`; this file owns only the scheduling * shape. */ import type { FitnessRecipeServiceCallbacks, FitnessRecipeSession } from './service-types.js'; import type { FitnessRecipe } from './types.js'; import type { Check } from '../framework/check-types.js'; import type { FileCache } from '../framework/file-cache.js'; /** Options for executing a set of fitness checks */ export interface ExecutionOptions { checks: Check[]; cwd: string; recipe: FitnessRecipe; /** Per-check pre-resolved file paths, keyed by stable check id (bare slug remains compatible). */ checkTargetFiles?: ReadonlyMap; /** * Run-wide globalExcludes from project config. Forwarded into each * check's RunOptions so scope-empty checks honor exclusions instead * of scanning every file in the prewarmed cache. */ globalExcludes?: readonly string[]; /** Per-service FileCache (for concurrent SaaS RunScope isolation). */ fileCache?: FileCache; } /** Service context providing session state, callbacks, and abort control */ export interface ExecutionServiceContext { session: FitnessRecipeSession; callbacks: FitnessRecipeServiceCallbacks; abortController?: AbortController; } /** Execute fitness checks concurrently with configurable parallelism and per-check timeouts */ export declare function executeParallel(ctx: ExecutionServiceContext, opts: ExecutionOptions): Promise; //# sourceMappingURL=parallel-execution.d.ts.map