/** * Map hooks-adapter AdapterCapabilities to SDK HarnessCapability flags. * * The unified adapter does NOT import hooks-adapter packages. It reads * the JSON-serialised capabilities from the `AGENT_CAPABILITIES_JSON` * environment variable (set by hooks-adapter) and derives SDK-level * capability flags from the structure. */ import { HarnessCapability } from "../types"; import type { PromptContext } from "../../prompts/types"; export interface ProxyCapabilities { name: string; family: string; supportsBlock: boolean; supportsAsk: boolean; supportsToolInputMutation: boolean; supportsToolResultMutation: boolean; supportsPersistedEnv: boolean; envPersistenceMode: string; toolInterceptionScope: string; sessionIdQuality: string; supportsOrderedFanout: boolean; supportsNativeAdditionalContext: boolean; notes?: string[]; hostAgentName?: string; hostAgentLabel?: string; hostCapabilities?: string[]; hostTools?: unknown[]; tools?: unknown[]; } export type HostToolCategory = "file" | "shell" | "search" | "browser" | "workflow" | "interaction" | "mcp" | "other"; export type HostToolAvailability = "built-in" | "conditional" | "unknown"; export interface HostToolDescriptor { name: string; category?: HostToolCategory; description?: string; availability?: HostToolAvailability; notes?: string[]; } /** * Derive SDK HarnessCapability flags from hooks-adapter AdapterCapabilities. */ export declare function deriveCapabilitiesFromProxy(proxy: ProxyCapabilities): HarnessCapability[]; /** * Build a PromptContext from proxy capabilities. * * This tells the SDK how to compose prompts for the underlying harness * that is fronted by hooks-adapter. */ export declare function buildPromptContextFromProxy(proxy: ProxyCapabilities, overrides?: Partial): PromptContext; //# sourceMappingURL=capabilities.d.ts.map