import { Effect, Schema } from "effect"; import { AiError, Tool } from "effect/unstable/ai"; import { FrameworkFailure, type FrameworkStage, type DomainFailure, type Success } from "./tool-executor.js"; declare const resultMessage: (result: unknown) => string; declare const schemaMessage: (error: unknown) => string; declare const frameworkFailure: (stage: FrameworkStage, tool: string, error: unknown) => FrameworkFailure; export type SchemaTool = { readonly name: string; readonly parametersSchema: Schema.Constraint; readonly successSchema: Schema.Constraint; readonly failureSchema: Schema.Constraint; }; type SchemaServicesD = [unknown] extends [S["DecodingServices"]] ? never : S["DecodingServices"]; type SchemaServicesE = [unknown] extends [S["EncodingServices"]] ? never : S["EncodingServices"]; export type FailureSchema = T["failureSchema"]; export type ToolSchemaServices = T["parametersSchema"]["EncodingServices"] | T["parametersSchema"]["DecodingServices"] | T["successSchema"]["EncodingServices"] | T["successSchema"]["DecodingServices"] | T["failureSchema"]["EncodingServices"] | T["failureSchema"]["DecodingServices"]; declare const encodeSuccess: (tool: { readonly name: string; readonly successSchema: S; }, result: unknown) => Effect.Effect>; declare const encodeDomainFailure: (tool: { readonly name: string; readonly failureSchema: S; }, failure: unknown) => Effect.Effect>; declare const encodeDomainCandidate: (tool: { readonly name: string; readonly failureSchema: S; }, failure: unknown) => Effect.Effect>; declare const decodeInput: (tool: { readonly name: string; readonly parametersSchema: S; }, input: unknown) => Effect.Effect>; declare const decodeSuccess: (tool: { readonly name: string; readonly successSchema: S; }, result: unknown) => Effect.Effect | SchemaServicesE>; declare const aiFrameworkFailure: (tool: Tool.Any, error: AiError.AiError) => FrameworkFailure; declare const provideSchemaServices: (effect: Effect.Effect) => Effect.Effect; export declare const toolResultCodec: { aiFrameworkFailure: typeof aiFrameworkFailure; decodeInput: typeof decodeInput; decodeSuccess: typeof decodeSuccess; encodeDomainCandidate: typeof encodeDomainCandidate; encodeDomainFailure: typeof encodeDomainFailure; encodeSuccess: typeof encodeSuccess; frameworkFailure: typeof frameworkFailure; provideSchemaServices: typeof provideSchemaServices; resultMessage: typeof resultMessage; schemaMessage: typeof schemaMessage; }; export {};