import { Schema } from "effect" /** Stable string identifier for a protocol implementation. */ export const ProtocolID = Schema.String export type ProtocolID = Schema.Schema.Type /** Stable string identifier for the runnable route. */ export const RouteID = Schema.String export type RouteID = Schema.Schema.Type export const ModelID = Schema.String.pipe(Schema.brand("LLM.ModelID")) export type ModelID = typeof ModelID.Type export const ProviderID = Schema.String.pipe(Schema.brand("LLM.ProviderID")) export type ProviderID = typeof ProviderID.Type export const ResponseID = Schema.String export type ResponseID = Schema.Schema.Type export const ContentBlockID = Schema.String export type ContentBlockID = Schema.Schema.Type export const ToolCallID = Schema.String export type ToolCallID = Schema.Schema.Type export const ReasoningEfforts = ["none", "minimal", "low", "medium", "high", "xhigh", "max"] as const export const ReasoningEffort = Schema.Literals(ReasoningEfforts) export type ReasoningEffort = Schema.Schema.Type export const TextVerbosity = Schema.Literals(["low", "medium", "high"]) export type TextVerbosity = Schema.Schema.Type export const MessageRole = Schema.Literals(["user", "assistant", "tool"]) export type MessageRole = Schema.Schema.Type export const FinishReason = Schema.Literals(["stop", "length", "tool-calls", "content-filter", "error", "unknown"]) export type FinishReason = Schema.Schema.Type export const JsonSchema = Schema.Record(Schema.String, Schema.Unknown) export type JsonSchema = Schema.Schema.Type export const ProviderMetadata = Schema.Record(Schema.String, Schema.Record(Schema.String, Schema.Unknown)) export type ProviderMetadata = Schema.Schema.Type