/** * Preflight dependency checker for evaluations. * * Automatically extracts external dependencies (CLI tools, file references, * environment variables) from skill content and sample assertions, then * verifies they are available before evaluation starts. */ import type { Artifact, DependencyCheckResult, DependencyRequirements, Sample } from '../types/index.js'; export type { DependencyCheckResult, DependencyIssue, DependencyReasonCode, DependencyRequirements, } from '../types/index.js'; /** * Extract dependencies from skill contents and sample assertions. */ export declare function extractDependencies(skillContents: string[], samples: Sample[]): DependencyRequirements; /** * Extract file dependencies per artifact, keyed by the base dir each file * should be resolved against: * - artifact.skillRoot (directory-skill: SKILL.md 自带 assets,相对路径锚到 skill 根) * - artifact.cwd (用户显式 @cwd) * - defaultCwd (其他) * * 必须用 per-artifact 分桶,否则两个 skill 各自的 assets/foo.md 在单一 cwd 下 * 互相错位,导致大量 false-positive missing。 */ export declare function extractFilesByBase(artifacts: Artifact[], defaultCwd: string): Map>; /** * Check if all declared dependencies are available. */ export declare function checkDependencies(deps: DependencyRequirements, cwd: string, env?: NodeJS.ProcessEnv): Promise; /** * Run preflight dependency check: auto-extract + merge explicit requires + validate + run preflight commands. * * 文件路径走 per-artifact 分桶解析(每个 skill 用自己的 skillRoot / cwd 当 base), * 工具 / env 变量 / preflight 命令仍全局合并。explicit requires.files 视为用户全局 * 声明,落到 defaultCwd。 */ export declare function preflightDependencies(skillContents: string[], samples: Sample[], cwd: string, explicitRequires?: DependencyRequirements, artifacts?: Artifact[]): Promise;