import type * as acp from '@agentclientprotocol/sdk'; import type { ResolvedRole } from '../config.js'; import type { SessionPrep } from './types.js'; import type { AgentSessionAdapter, AgentSessionStartOptions, BrainSelection } from './agent-session.js'; import type { AcpSessionTransport } from './acp-session-transport.js'; /** Native provider resolution and executable compatibility remain harness-owned. */ export interface HermesStartupChecks { /** Independently resolved native provider identity, never copied from the ACP report. */ expectedProvider(role: ResolvedRole, prep: SessionPrep): string | Promise; validateArtifact(initialized: acp.InitializeResponse): void | Promise; /** Inspect the executable using the completed child environment before spawning it. */ preflight?(options: AgentSessionStartOptions, env: Record): void | Promise; } /** Fresh-only Hermes implementation of Fleet's existing live-session factory. */ export declare class HermesAgentSessionAdapter implements AgentSessionAdapter { private readonly transport; private readonly checks?; constructor(transport?: AcpSessionTransport, checks?: HermesStartupChecks | undefined); resolveBrain(brain: BrainSelection): ReturnType; modelEnvironmentVariable(): string | undefined; prepareLaunch(role: ResolvedRole, prep: SessionPrep): ReturnType; sessionConfigSelections(role: ResolvedRole): ReturnType; start(options: AgentSessionStartOptions): ReturnType; }