UNPKG

@tanstack/ai

Version:

Core TanStack AI library - Open source AI SDK

55 lines (54 loc) 1.52 kB
import { aiEventClient } from "@tanstack/ai-event-client"; import { streamGenerationResult } from "../stream-generation-result.js"; const kind = "transcription"; function createId(prefix) { return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`; } function generateTranscription(options) { if (options.stream) { return streamGenerationResult( () => runGenerateTranscription(options) ); } return runGenerateTranscription( options ); } async function runGenerateTranscription(options) { const { adapter, stream: _stream, ...rest } = options; const model = adapter.model; const requestId = createId("transcription"); const startTime = Date.now(); aiEventClient.emit("transcription:request:started", { requestId, provider: adapter.name, model, language: rest.language, prompt: rest.prompt, responseFormat: rest.responseFormat, modelOptions: rest.modelOptions, timestamp: startTime }); const result = await adapter.transcribe({ ...rest, model }); const duration = Date.now() - startTime; aiEventClient.emit("transcription:request:completed", { requestId, provider: adapter.name, model, text: result.text, language: result.language, duration, modelOptions: rest.modelOptions, timestamp: Date.now() }); return result; } function createTranscriptionOptions(options) { return options; } export { createTranscriptionOptions, generateTranscription, kind }; //# sourceMappingURL=index.js.map