/** * Local agent CLI discovery. * * Two consumers: * - the automation arm, which resolves the binary it is about to spawn; * - the poll loop, which advertises `agent_kinds` so the gateway can withhold * an Automation run from a device that cannot execute it. * * Those have to agree. Advertising the static `AGENT_KINDS` list would say * "this build knows about five CLIs", not "this machine has them" — the run * would still be claimed and then fail locally with "binary not found on PATH", * which is exactly the outcome the gateway gate exists to prevent. */ import type { AgentKind } from '@lobu/core/contracts/worker/device-automation'; /** Search prefixes for CLI discovery — mirrors the Mac app's detector list. */ export declare function searchDirs(): string[]; /** * `dirs` overrides the discovery path. Production never passes it — the default * respects `$PATH` first, with fixed prefixes as a fallback for GUI-launched * daemons whose minimal `$PATH` omits user-installed CLIs. */ export declare function locateBinary(name: string, dirs?: string[]): string | null; /** * OpenCode must expose its ACP entrypoint before the device advertises it. An * older binary can exist and still lack `acp`; claiming its runs would then * fail only after the gateway assigned one. */ export declare function supportsOpenCodeAcp(binaryPath: string): boolean; /** * The agent kinds this machine can actually spawn right now, in * `DEVICE_AGENT_SPECS` order. * * `overrides` is the executor's `binaryOverrides` map: an explicit path wins * over PATH discovery, matching how the arm resolves the binary at spawn time, * but it still has to exist — an override pointing at a deleted file must not * make the device claim runs it will fail. */ export declare function resolveRunnableAgentKinds(overrides?: Partial>, dirs?: string[]): AgentKind[]; //# sourceMappingURL=agent-binaries.d.ts.map