UNPKG

@veltdev/types

Version:

Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.

45 lines (44 loc) 1.73 kB
import { TargetTextRange } from './target-text-range.data.model'; import { RewriterEventTypes } from '../../utils/enums'; export type OpenAiModel = 'gpt-5.4' | 'gpt-5.4-pro' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5' | 'gpt-4.1' | 'gpt-4o' | 'gpt-4o-mini' | 'gpt-4-turbo' | 'o3-pro' | 'o3' | 'o3-mini' | 'o4-mini'; export type AnthropicModel = 'claude-opus-4-6' | 'claude-sonnet-4-6' | 'claude-haiku-4-5' | 'claude-sonnet-4-5' | 'claude-opus-4-5' | 'claude-opus-4-1' | 'claude-sonnet-4-0' | 'claude-opus-4-0'; export type GeminiModel = 'gemini-3.1-pro-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-2.5-pro'; export type AiModel = OpenAiModel | AnthropicModel | GeminiModel | (string & NonNullable<unknown>); export interface TextSelectedEvent { selectionId: string; text: string; targetTextRange: TargetTextRange; } export interface RewriterAskAiRequest { model: AiModel; prompt: string; selectedText: string; } export interface RewriterReplaceTextRequest { text: string; event: TextSelectedEvent; } export interface RewriterAddCommentRequest { text: string; event: TextSelectedEvent; } export interface RewriterAskAiResponse { text: string; success: boolean; error?: string; } export interface RewriterReplaceTextResponse { success: boolean; originalText: string; replacedText: string; error?: string; } export interface RewriterAddCommentResponse { success: boolean; annotationId?: string; commentText?: string; error?: string; } export type RewriterEventTypesMap = { [RewriterEventTypes.TEXT_SELECTED]: TextSelectedEvent; };