/** * @traqr/core — E2E Shared Utilities * * Sandbox management, types, and formatters shared by both E2E harnesses. * Provides temp-dir isolation via HOME override so filesystem-touching * functions (writeOrgConfig, registerProject, writeAliasFile) write to * a sandboxed directory instead of the real ~/.traqr/. */ import type { TraqrConfig } from './config-schema.js'; export interface TestCheck { name: string; passed: boolean; details: string; checks: number; } export interface SuiteResult { suite: string; passed: boolean; results: TestCheck[]; totalChecks: number; } export interface E2ERunResult { name: string; description: string; suites: SuiteResult[]; totalSuites: number; passedSuites: number; totalChecks: number; passedChecks: number; passed: boolean; } export interface Sandbox { /** Root temp directory, e.g. /tmp/traqr-e2e-two-phase-12345/ */ root: string; /** Fake HOME inside the sandbox */ home: string; /** The real HOME, to be restored in cleanup */ originalHome: string; } /** * Create a sandboxed temp directory and override process.env.HOME. * All ~/.traqr/ writes will land inside the sandbox. */ export declare function createSandbox(name: string): Sandbox; /** * Restore HOME and remove the sandbox directory. */ export declare function cleanupSandbox(sandbox: Sandbox): void; export interface ProjectConfigOptions { name: string; displayName: string; description?: string; prefix: string; aliasPrefix: string; kvPrefix?: string; pack: 'solo' | 'smart' | 'production' | 'full'; ports: { main: number; featureStart: number; bugfixStart: number; devopsStart: number; analysis: number; }; repoPath?: string; worktreesPath?: string; } /** * Build a complete TraqrConfig from project details + starter pack defaults. */ export declare function buildProjectConfig(opts: ProjectConfigOptions): TraqrConfig; /** * ASCII art header for E2E output. */ export declare function formatE2EHeader(title: string, desc: string): string; /** * Full formatted output for an E2E run. */ export declare function formatE2EOutput(result: E2ERunResult): string; /** * Aggregate multiple E2ERunResults into a combined summary. */ export declare function aggregateResults(results: E2ERunResult[]): { allPassed: boolean; totalSuites: number; passedSuites: number; totalChecks: number; passedChecks: number; }; //# sourceMappingURL=e2e-shared.d.ts.map