diff options
| author | polwex <polwex@sortug.com> | 2025-07-23 02:37:15 +0700 |
|---|---|---|
| committer | polwex <polwex@sortug.com> | 2025-07-23 02:37:15 +0700 |
| commit | 42dd99bfac9777a4ecc6700b87edf26a5c984de6 (patch) | |
| tree | 031e45d187f45def4b58ad7590d39dec3924600d /src/types | |
| parent | 4c6913644b362b28f15b125c2fbe48165f1e048c (diff) | |
checkpoint
Diffstat (limited to 'src/types')
| -rw-r--r-- | src/types/index.ts | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/types/index.ts b/src/types/index.ts index 97be443..b276457 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,15 +1,29 @@ import type OpenAI from "openai"; +import type { AsyncRes } from "sortug"; export type ChatMessage = { author: string; text: string; sent: number; reasoning?: string; }; -export type Result<T> = { ok: T } | { error: string }; -export type AResult<T> = Promise<{ ok: T } | { error: string }>; // openai export type OChoice = OpenAI.Chat.Completions.ChatCompletion.Choice; export type OChunk = OpenAI.Chat.Completions.ChatCompletionChunk.Choice; export type OMessage = OpenAI.Chat.Completions.ChatCompletionMessageParam; export type ContentType = { text: string } | { audio: Response }; +export type AIModelChoice = + | { name: "deepseek" | "chatgpt" | "claude" | "gemini" | "grok" } + | { other: { baseURL: string; apiKey: string } }; +export interface AIModelAPI { + setModel: (model: string) => void; + tokenizer: (text: string) => number; + maxTokens: number; + + send: (systemPrompt: string, input: ChatMessage[]) => AsyncRes<string[]>; + stream: ( + systemPrompt: string, + input: ChatMessage[], + handler: (data: any) => void, + ) => void; +} |
