import { type AgentMessage, type AgentRunArgs, type AgentRunner } from './agent-runner.js'; /** Linux rejects a single argv element of 128 KiB or more (MAX_ARG_STRLEN) * with E2BIG; stay under it with room for the `--query=` prefix. */ export declare const HERMES_MAX_QUERY_ARG_BYTES: number; /** How this hermes takes a headless prompt — see file header. */ export type HermesQueryMode = 'query-file' | 'query-arg'; /** The `hermes chat` argv for one turn. */ export declare function hermesChatArgs(mode: HermesQueryMode, prompt: { file: string; text: string; }, model?: string): string[]; /** Pick the query mode from `hermes chat --help` output. */ export declare function hermesQueryMode(chatHelp: string): HermesQueryMode; export declare class HermesAgentRunner implements AgentRunner { private hermesBin?; private opts; /** Set only from a clean `--help` probe; a failed one is retried next run. */ private queryMode; constructor(hermesBin?: string | undefined, opts?: { helpProbeTimeoutMs?: number; }); /** Pick the query mode from `hermes chat --help`, cached per runner once a * probe succeeds. A timed-out, failed or empty probe falls back to * `--query=` for this run only (0.19.0's form) and is not cached. */ private detectQueryMode; run(args: AgentRunArgs): AsyncIterable; /** * Run one headless `hermes chat` invocation. Yields exactly one liveness * `tool_use` message the instant the subprocess spawns (see file header — * hermes has no intermediate event stream to yield from, unlike codex), * then drains stdout to completion. End-of-turn facts (exit code, stderr * tail, warning-filtered stdout text, session id parsed from stderr) are * written into `outcome`, which the caller reads after this generator * completes. */ private streamTurn; } //# sourceMappingURL=hermes-runner.d.ts.map