diff --git a/src/lib/models/types.ts b/src/lib/models/types.ts index fdd5df2..ce77d3b 100644 --- a/src/lib/models/types.ts +++ b/src/lib/models/types.ts @@ -1,3 +1,5 @@ +import z from 'zod'; + type Model = { name: string; key: string; @@ -25,10 +27,59 @@ type ModelWithProvider = { providerId: string; }; +type GenerateOptions = { + temperature?: number; + maxTokens?: number; + topP?: number; + stopSequences?: string[]; + frequencyPenalty?: number; + presencePenalty?: number; +}; + +type GenerateTextInput = { + messages: Message[]; + options?: GenerateOptions; +}; + +type GenerateTextOutput = { + content: string; + additionalInfo?: Record; +}; + +type StreamTextOutput = { + contentChunk: string; + additionalInfo?: Record; + done?: boolean; +}; + +type GenerateObjectInput = { + schema: z.ZodTypeAny; + messages: Message[]; + options?: GenerateOptions; +}; + +type GenerateObjectOutput = { + object: T; + additionalInfo?: Record; +}; + +type StreamObjectOutput = { + objectChunk: Partial; + additionalInfo?: Record; + done?: boolean; +}; + export type { Model, ModelList, ProviderMetadata, MinimalProvider, ModelWithProvider, + GenerateOptions, + GenerateTextInput, + GenerateTextOutput, + StreamTextOutput, + GenerateObjectInput, + GenerateObjectOutput, + StreamObjectOutput, }; diff --git a/src/lib/types.ts b/src/lib/types.ts index f7a9ac9..3dcb0d6 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,9 +1,9 @@ type Message = { - role: 'user' | 'assistant' | 'system'; - content: string; -} + role: 'user' | 'assistant' | 'system'; + content: string; +}; type Chunk = { - content: string; - metadata: Record; -} \ No newline at end of file + content: string; + metadata: Record; +};