export type IntegrationPhase = "preflight" | "connect" | "execute" | "verify" | "cleanup"; export interface PhaseResult { phase: IntegrationPhase; status: "pass" | "fail" | "skipped"; durationMs?: number; errorMessage?: string; } export interface IntegrationRunResult { evalId: string; runId: string; phases: PhaseResult[]; overallPass: boolean; testArtifactIds: string[]; dryRun: boolean; } export interface PlatformRateLimit { requestsPerMinute: number; } export interface IntegrationRequirements { chromeProfile?: string; chromeProfilePath?: string; platform?: string; rateLimit?: PlatformRateLimit; } export interface CleanupAction { type: "delete_post" | "remove_artifact" | "custom"; description: string; execute?: () => Promise; } export interface IntegrationEvalCase { id: number | string; name: string; prompt: string; expected_output: string; assertions: Array<{ id: string; text: string; type: string; }>; testType: "integration"; requiredCredentials?: string[]; requirements?: IntegrationRequirements; cleanup?: CleanupAction[]; } export interface IntegrationRunOpts { dryRun?: boolean; confirm?: boolean; skillDir: string; runId?: string; } /** Default rate limits per platform (requests per minute). */ export declare const DEFAULT_RATE_LIMITS: Record; export declare const DEFAULT_RATE_LIMIT: PlatformRateLimit; export declare const VALID_CLEANUP_ACTIONS: readonly ["delete_post", "remove_artifact", "custom"]; export type CleanupActionType = typeof VALID_CLEANUP_ACTIONS[number]; export interface EvalCleanupSchema { action: CleanupActionType; platform?: string; identifier?: string; description?: string; } export interface EvalRequirementsSchema { chromeProfile?: string; platform?: string; }