import { Context, Effect, Layer } from 'effect'; import type { AgentBamlPrompt, AgentPrompt, AgentPromptVariable, AgentTemplatePrompt } from './agent'; import { MissingPromptSourceAdapterError, PromptResolutionError } from './errors'; export type PromptSourceError = MissingPromptSourceAdapterError | PromptResolutionError; export interface PromptSourceContext { readonly agentId: string; readonly input: unknown; readonly renderTemplate: (template: string, variables: Readonly>, source: 'string' | 'template') => Effect.Effect; } export interface PromptSourceService { readonly resolve: (source: AgentPrompt, context: PromptSourceContext) => Effect.Effect; } export declare const PromptSourceService: Context.Tag; export declare const isAgentTemplatePrompt: (source: unknown) => source is AgentTemplatePrompt; export declare const isAgentBamlPrompt: (source: unknown) => source is AgentBamlPrompt; /** Resolve the source forms owned by core. Adapters delegate to this helper. */ export declare const resolveDefaultPromptSource: (source: unknown, context: PromptSourceContext) => Effect.Effect; export declare const DefaultPromptSourceService: PromptSourceService; export declare const DefaultPromptSourceLayer: Layer.Layer; /** Conventional service-layer alias. */ export declare const PromptSourceServiceLive: Layer.Layer; //# sourceMappingURL=prompt-source.d.ts.map