export interface ExistingSolutionRef { kind: "existing"; solutionId: string; bizRoleId?: string; } export interface PreparedSolutionAsset { kind: "prepared"; assetId: string; bizRoleId?: string; } export type SolutionRef = ExistingSolutionRef | PreparedSolutionAsset; export interface SessionProfile { solution?: SolutionRef; model?: string; compactionRatio?: number; enableThinking?: boolean; memoryEnabled?: boolean; disableTools?: string[]; env?: Record; } export interface RunOptions { headless?: boolean; outputSchema?: Record; runtimeEnv?: Record; timeoutMs?: number; trace?: boolean; compactionRatio?: number; model?: string; } export interface PreparedSolution extends PreparedSolutionAsset { assetId: string; solutionId: string; roles: string[]; expiresAt: string; } export interface RunResult { sessionId: string; chatRunId?: string; result: unknown; events: unknown[]; } export interface RunTrace { events: unknown[]; history: unknown[]; result: unknown; configSnapshot: Record; }