import { type AgentTool, type StreamFn } from "@ch1nyzzz/pi-agent-core"; import { type Api, type Model } from "@ch1nyzzz/pi-ai/compat"; import type { ModelRegistry } from "@ch1nyzzz/pi-coding-agent"; import type { EvoRawSpawnAgentHost } from "./spawn-agent.ts"; export type EvoSpawnAgentRunStatus = "completed" | "length" | "output-limit" | "turn-limit"; export interface EvoSpawnAgentRunResult { schemaVersion: 1; status: EvoSpawnAgentRunStatus; model: { provider: string; id: string; }; turns: number; stopReason: string; messages: unknown[]; } export interface EvoModelRegistrySpawnAgentHostOptions { modelRegistry: Pick; /** Trusted, pre-constructed tools. No extension or resource loader is consulted. */ tools: readonly AgentTool[]; /** Fixed host prompt. It is sent to the model but never returned to the component. */ systemPrompt: string; /** Hard maximum number of provider turns in one spawned run. */ maxTurns: number; /** Hard byte limit for the JSON transcript returned to the component. */ maxTranscriptBytes?: number; /** Injectable provider stream for focused tests. Defaults to pi-ai streamSimple. */ streamFn?: StreamFn; } export declare function createModelRegistrySpawnAgentHost(options: EvoModelRegistrySpawnAgentHostOptions): EvoRawSpawnAgentHost>; //# sourceMappingURL=spawn-agent-host.d.ts.map