44 lines
1.9 KiB
TypeScript
44 lines
1.9 KiB
TypeScript
import { Schema } from "effect"
|
|
|
|
/** Stable string identifier for a protocol implementation. */
|
|
export const ProtocolID = Schema.String
|
|
export type ProtocolID = Schema.Schema.Type<typeof ProtocolID>
|
|
|
|
/** Stable string identifier for the runnable route. */
|
|
export const RouteID = Schema.String
|
|
export type RouteID = Schema.Schema.Type<typeof RouteID>
|
|
|
|
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<typeof ResponseID>
|
|
|
|
export const ContentBlockID = Schema.String
|
|
export type ContentBlockID = Schema.Schema.Type<typeof ContentBlockID>
|
|
|
|
export const ToolCallID = Schema.String
|
|
export type ToolCallID = Schema.Schema.Type<typeof ToolCallID>
|
|
|
|
export const ReasoningEfforts = ["none", "minimal", "low", "medium", "high", "xhigh", "max"] as const
|
|
export const ReasoningEffort = Schema.Literals(ReasoningEfforts)
|
|
export type ReasoningEffort = Schema.Schema.Type<typeof ReasoningEffort>
|
|
|
|
export const TextVerbosity = Schema.Literals(["low", "medium", "high"])
|
|
export type TextVerbosity = Schema.Schema.Type<typeof TextVerbosity>
|
|
|
|
export const MessageRole = Schema.Literals(["user", "assistant", "tool"])
|
|
export type MessageRole = Schema.Schema.Type<typeof MessageRole>
|
|
|
|
export const FinishReason = Schema.Literals(["stop", "length", "tool-calls", "content-filter", "error", "unknown"])
|
|
export type FinishReason = Schema.Schema.Type<typeof FinishReason>
|
|
|
|
export const JsonSchema = Schema.Record(Schema.String, Schema.Unknown)
|
|
export type JsonSchema = Schema.Schema.Type<typeof JsonSchema>
|
|
|
|
export const ProviderMetadata = Schema.Record(Schema.String, Schema.Record(Schema.String, Schema.Unknown))
|
|
export type ProviderMetadata = Schema.Schema.Type<typeof ProviderMetadata>
|