import type { DriverTarget } from "@skaile/workspaces/plugin-registry"; import type { Logger } from "@skaile/workspaces/types"; import type { ModelEntry } from "../models.js"; import type { AgentConfig, DriverInfo } from "../types.js"; import { SubprocessCliDriver } from "./_subprocess-cli.js"; /** * Agent driver for **Goose** (Block) (`goose`), the model-agnostic open-source * agent. * * Spawns `goose run -t "" --output-format stream-json --quiet` per turn * and maps Goose's stream-json events to the unified {@link AgentEvent} stream. * Model-agnostic across 15+ providers; provider/model are forwarded via * `GOOSE_PROVIDER` / `GOOSE_MODEL` and provider keys through the environment. * * @remarks * - Goose is a Rust binary (not npm) — install via Block's `download_cli.sh` or * Homebrew. * - `--output-format` support is version-dependent; a too-old CLI surfaces as a * `process`-category exit error. * - Session resume via `--resume --id `. * * @see https://github.com/block/goose * @docLink packages/bridge/drivers#goose-driver */ export declare class GooseDriver extends SubprocessCliDriver { readonly driverInfo: DriverInfo; protected readonly log: Logger; protected readonly defaultBin = "goose"; protected readonly productName = "Goose"; protected readonly envPrefix = "GOOSE"; protected buildArgs(message: string, resumeId: string | undefined): string[]; protected buildEnv(): Record; protected installHint(): string; protected handleJson(json: any): void; listModels(): Promise; } /** * `DriverTarget` wrapper for the goose driver. Registered into the plugin * registry by `registerBuiltinDrivers()`. */ export declare const gooseDriverTarget: DriverTarget; //# sourceMappingURL=goose.d.ts.map