/** * Typed bindings for v3 host-executor inputs. * * Host nodes cannot receive the goal worker's file-oriented `inputs.json` and * ask an LLM to interpret it: the host must materialize one exact provider * payload before approval. This module resolves the deliberately small * binding language without doing any filesystem or provider I/O. */ export type V3HostBindingRef = { kind: 'params'; path: string[]; } | { kind: 'context'; path: string[]; } | { kind: 'result'; nodeId: string; path: string[]; }; export interface V3HostBindingContext { params: Readonly>; context: Readonly>; loadResult(nodeId: string): Promise; } export declare class V3HostBindingError extends Error { constructor(message: string); } export declare function composeV3HostGatePrompt(authoredPrompt: string, preview: string): string; export declare function splitV3HostGatePrompt(prompt: string): { authoredPrompt: string; preview?: string; }; export declare function parseV3HostBindingRef(ref: string): V3HostBindingRef; /** Collect every ref and reject malformed `${...}` / `$ref` shapes early. */ export declare function collectV3HostBindingRefs(template: unknown): V3HostBindingRef[]; /** Resolve one host template into a plain JSON value. */ export declare function resolveV3HostInputTemplate(template: unknown, ctx: V3HostBindingContext): Promise; /** A bounded, redacted preview safe to append to a gate prompt. */ export declare function renderV3HostInputPreview(executor: string, input: unknown, inputHash: string): string; //# sourceMappingURL=host-bindings.d.ts.map