@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
TypeScript
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;
};