import { Context, Effect, Layer, Schema, Scope } from "effect"; import { type PinnedProgram } from "../durable/program-manifest.js"; import type { Bindings } from "./program-bindings.js"; import { ProgramAgentFailure, ProgramAuthorizationFailure, ProgramBudgetExhausted, ProgramCancelled, ProgramCapabilityDenied, ProgramCapabilityMissing, ProgramReplayDivergence, ProgramSchemaFailure, ProgramStepFailure, ProgramSuspended, ProgramToolFailure } from "./program-capabilities.js"; import { type Interface as Sandbox } from "./sandbox-executor.js"; declare const ProgramBindingMismatch_base: Schema.Class; readonly name: Schema.String; readonly reason: Schema.String; }>, import("effect/Cause").YieldableError>; /** @experimental */ export declare class ProgramBindingMismatch extends ProgramBindingMismatch_base { } declare const ProgramIdentityMismatch_base: Schema.Class, import("effect/Cause").YieldableError>; /** @experimental */ export declare class ProgramIdentityMismatch extends ProgramIdentityMismatch_base { } /** @experimental Failures returned by Core-owned Program execution. */ export declare const ExecutionFailure: Schema.Union]>, typeof ProgramBindingMismatch, typeof ProgramIdentityMismatch]>; /** @experimental */ export type ExecutionFailure = typeof ExecutionFailure.Type; /** @experimental Encoded execution request used by direct and durable hosts. */ export interface Request { readonly program: PinnedProgram; readonly input: unknown; } /** @experimental */ export interface Interface { readonly execute: (request: Request) => Effect.Effect; } declare const ProgramHost_base: Context.ServiceClass; /** @experimental Owner of Agent Program execution and its host policy. */ export declare class ProgramHost extends ProgramHost_base { } /** @experimental Verify that live Program bindings exactly match persisted manifest authority. */ export declare const validateBindings: { (bindings: Bindings): (program: PinnedProgram) => Effect.Effect; (program: PinnedProgram, bindings: Bindings): Effect.Effect; }; /** @experimental Direct process-local host for an explicitly supplied sandbox and live bindings. */ export declare const layerDirect: (options: { readonly sandbox: Sandbox; readonly bindings: Bindings; }) => Layer.Layer; export {};