import { Context, Effect, Layer, Option } from "effect"; import { AgentError } from "../agent/agent-event.js"; /** @experimental Context available while rendering instruction sources. */ export interface RenderContext { readonly agentName: string; readonly turn: number; } /** @experimental Ordered source of model instructions or contextual updates. */ export interface ContextSource { readonly id: string; readonly render: (context: RenderContext) => Effect.Effect, AgentError>; } /** @experimental Instructions registry service boundary. */ export interface Interface { readonly sources: ReadonlyArray; } declare const Instructions_base: Context.ServiceClass; /** @experimental */ export declare class Instructions extends Instructions_base { } /** @experimental A static baseline source. */ export declare const staticSource: { (text: string): (id: string) => ContextSource; (id: string, text: string): ContextSource; }; /** @experimental Render every source once for a run's instruction baseline. */ export declare const openEpoch: { (context: RenderContext): (instructions: Interface) => Effect.Effect; (instructions: Interface, context: RenderContext): Effect.Effect; }; /** @experimental Provide an explicit ordered instructions registry. */ export declare const layer: (sources: ReadonlyArray) => Layer.Layer; /** @experimental */ export declare const layerTest: (implementation: Interface) => Layer.Layer; export {};