import type { Models, RetryPolicy } from "@earendil-works/pi-ai"; import type { QueueMode } from "../../types.ts"; import type { AcquireLaneOptions, AgentHarness, AgentHarnessOptions, AgentLane, LaneInfo, OpenOperation, Resources } from "../agent-harness.ts"; import { type CompactionSettings } from "../compaction/compaction.ts"; import type { Context } from "../context.ts"; import { HarnessEventBus } from "../events.ts"; import { HookRegistry } from "../hooks.ts"; import type { LaneConfiguration, Session } from "../session/types.ts"; import type { AgentHarnessStreamOptions, AgentHarnessTool } from "../types.ts"; import { Lane } from "./lane.ts"; import { type LaneState } from "./types.ts"; /** Runtime implementation of AgentHarness. The harness manages lanes but is not itself a lane. */ export declare class Harness implements AgentHarness { readonly session: Session; readonly models: Models; readonly hooks: HookRegistry; readonly events: HarnessEventBus; readonly lanesByName: Map>; private readonly seed; private readonly configStore; private closePromise; private closedError; private faultError; constructor(options: AgentHarnessOptions, seed: LaneConfiguration, restored: Map); lane(name: string, context: Context): Promise; lane(name: string, options: AcquireLaneOptions, context: Context): Promise; lanes(context: Context): Promise; getName(context: Context): Promise; setName(name: string | undefined, context: Context): Promise; getLabel(targetId: string, context: Context): Promise; setLabel(targetId: string, label: string | undefined, context: Context): Promise; getTools(context: Context): Promise[]>; setTools(tools: AgentHarnessTool[], context: Context): Promise; getResources(context: Context): Promise; setResources(resources: Resources, context: Context): Promise; getStreamOptions(context: Context): Promise; setStreamOptions(options: AgentHarnessStreamOptions, context: Context): Promise; getRetryPolicy(context: Context): Promise; setRetryPolicy(policy: RetryPolicy, context: Context): Promise; getCompactionSettings(context: Context): Promise; setCompactionSettings(compaction: CompactionSettings, context: Context): Promise; getSteeringMode(context: Context): Promise; setSteeringMode(steeringMode: QueueMode, context: Context): Promise; getFollowUpMode(context: Context): Promise; setFollowUpMode(followUpMode: QueueMode, context: Context): Promise; watchSession(_context: Context): Promise; fault(cause: unknown, context: Context): Error; close(context: Context): Promise; private buildLane; private getConfig; private setConfig; private assertOpen; } /** Attach runtime without starting provider, tool, hook, or timer effects. */ export declare function createAgentHarness(options: AgentHarnessOptions, context: Context): Promise<{ harness: AgentHarness; open: OpenOperation[]; }>; //# sourceMappingURL=harness.d.ts.map