import { Effect, Schema, Scope } from "effect"; import type { NamedCapability } from "../durable/agent-manifest.js"; import { type PinnedProgram, type ProgramAgentCapability, type ProgramBudget } from "../durable/program-manifest.js"; import type { CapabilityPin } from "../durable/pin.js"; import { ProgramSchemaFailure } from "./program-capabilities.js"; import { ProgramHost, type ExecutionFailure } from "./program-host.js"; /** @experimental An exact Agent Program paired with its input and output codecs. */ export interface Program { readonly pinned: PinnedProgram; readonly input: Schema.Codec; readonly output: Schema.Codec; } /** @experimental Construct and pin an Agent Program without evaluating its source. */ export declare const make: (input: { readonly name: string; readonly source: string; readonly sandbox: CapabilityPin; readonly input: Schema.Codec; readonly inputPin: CapabilityPin; readonly output: Schema.Codec; readonly outputPin: CapabilityPin; readonly tools: ReadonlyArray; readonly agents: ReadonlyArray; readonly steps: ReadonlyArray; readonly budget: ProgramBudget; }) => Program; /** @experimental Execute a trusted, caller-supplied Agent Program through the configured sandbox boundary. */ export declare const run: { (input: I): (program: Program) => Effect.Effect; (program: Program, input: I): Effect.Effect; };