@etaio/core-types 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,348 @@
1
+ import { FirestoreTimestamp } from './asset-converters';
2
+
3
+ export type ExtractionStatus = 'pending' | 'queued' | 'extracting' | 'transcribing' | 'completed' | 'failed' | 'cancelled';
4
+ export type AudioFormat = 'mp3' | 'wav' | 'aac' | 'm4a' | 'flac' | 'ogg';
5
+ export type WhisperModel = 'whisper-1' | 'whisper-large-v2' | 'whisper-large-v3';
6
+ /**
7
+ * Audio Extraction Configuration
8
+ */
9
+ export interface AudioExtractionConfig {
10
+ /** Output audio format */
11
+ format: AudioFormat;
12
+ /** Audio bitrate in kbps (e.g., 128, 192, 320) */
13
+ bitrate?: number;
14
+ /** Sample rate in Hz (e.g., 44100, 48000) */
15
+ sampleRate?: number;
16
+ /** Number of audio channels (1 = mono, 2 = stereo) */
17
+ channels?: number;
18
+ /** Enable transcription */
19
+ enableTranscription: boolean;
20
+ /** Whisper model to use for transcription */
21
+ whisperModel?: WhisperModel;
22
+ /** Language code for transcription (e.g., 'en', 'es', 'fr') */
23
+ language?: string;
24
+ /** Enable word-level timestamps */
25
+ wordTimestamps: boolean;
26
+ /** Temperature for Whisper model (0-1, lower = more deterministic) */
27
+ temperature?: number;
28
+ }
29
+ /**
30
+ * Extraction Progress Information
31
+ */
32
+ export interface ExtractionProgress {
33
+ /** Current progress percentage (0-100) */
34
+ current: number;
35
+ /** Current stage name */
36
+ stage: 'Queued' | 'Extracting Audio' | 'Uploading Audio' | 'Transcribing' | 'Processing Transcript' | 'Completed';
37
+ /** Detailed progress message */
38
+ message?: string;
39
+ /** Estimated time remaining in seconds */
40
+ estimatedTimeRemaining?: number;
41
+ /** Detailed progress breakdown */
42
+ details?: {
43
+ audioExtracted?: boolean;
44
+ audioUploaded?: boolean;
45
+ transcriptionProgress?: number;
46
+ wordsProcessed?: number;
47
+ segmentsProcessed?: number;
48
+ };
49
+ }
50
+ /**
51
+ * Token Usage Tracking for Transcription
52
+ */
53
+ export interface TranscriptionTokenUsage {
54
+ /** Input tokens (audio duration in seconds, typically) */
55
+ inputTokens: number;
56
+ /** Output tokens (transcript text tokens) */
57
+ outputTokens: number;
58
+ /** Total tokens */
59
+ totalTokens: number;
60
+ /** Audio duration in seconds (Whisper charges per second) */
61
+ audioDurationSeconds: number;
62
+ }
63
+ /**
64
+ * Cost Breakdown
65
+ */
66
+ export interface ExtractionCostBreakdown {
67
+ /** Audio extraction cost (usually negligible) */
68
+ extractionCost: number;
69
+ /** Transcription cost (Whisper API) */
70
+ transcriptionCost: number;
71
+ /** Storage cost estimate */
72
+ storageCost: number;
73
+ /** Total cost in USD */
74
+ totalCost: number;
75
+ /** Pricing model used */
76
+ pricingModel?: string;
77
+ }
78
+ /**
79
+ * Transcription Word with Timestamp
80
+ */
81
+ export interface TranscriptWord {
82
+ /** Word text */
83
+ word: string;
84
+ /** Start time in seconds from beginning */
85
+ start: number;
86
+ /** End time in seconds from beginning */
87
+ end: number;
88
+ /** Confidence score (0-1) if available */
89
+ confidence?: number;
90
+ }
91
+ /**
92
+ * Transcription Segment
93
+ * Represents a sentence or phrase with timing information
94
+ */
95
+ export interface TranscriptSegment {
96
+ /** Segment ID */
97
+ id: number;
98
+ /** Segment text */
99
+ text: string;
100
+ /** Start time in seconds */
101
+ start: number;
102
+ /** End time in seconds */
103
+ end: number;
104
+ /** Average confidence for this segment (0-1) */
105
+ avgConfidence?: number;
106
+ /** Words in this segment (if word-level timestamps enabled) */
107
+ words?: TranscriptWord[];
108
+ /** Speaker identification (if diarization enabled) */
109
+ speaker?: string;
110
+ }
111
+ /**
112
+ * Complete Audio Transcript
113
+ */
114
+ export interface AudioTranscript {
115
+ /** Full transcript text */
116
+ fullText: string;
117
+ /** Language detected/used */
118
+ language: string;
119
+ /** Duration of audio in seconds */
120
+ duration: number;
121
+ /** Transcript segments */
122
+ segments: TranscriptSegment[];
123
+ /** Word count */
124
+ wordCount: number;
125
+ /** Average confidence across all segments (0-1) */
126
+ avgConfidence?: number;
127
+ /** Whisper model used */
128
+ model: WhisperModel;
129
+ /** Additional metadata from Whisper */
130
+ metadata?: {
131
+ /** Detected language probability */
132
+ languageProbability?: number;
133
+ /** Whether translation was performed */
134
+ translated?: boolean;
135
+ /** Original language if translated */
136
+ originalLanguage?: string;
137
+ };
138
+ }
139
+ /**
140
+ * Extracted Audio File Information
141
+ */
142
+ export interface ExtractedAudioFile {
143
+ /** Firebase Storage URL */
144
+ url: string;
145
+ /** Storage path */
146
+ path: string;
147
+ /** File size in bytes */
148
+ size: number;
149
+ /** Audio format */
150
+ format: AudioFormat;
151
+ /** Duration in seconds */
152
+ duration: number;
153
+ /** Bitrate in kbps */
154
+ bitrate?: number;
155
+ /** Sample rate in Hz */
156
+ sampleRate?: number;
157
+ /** Number of channels */
158
+ channels?: number;
159
+ /** MIME type */
160
+ mimeType: string;
161
+ /** Signed URL expiry (if applicable) */
162
+ signedUrlExpiry?: Date | FirestoreTimestamp;
163
+ }
164
+ /**
165
+ * Extraction Statistics
166
+ */
167
+ export interface ExtractionStatistics {
168
+ /** Original video duration in seconds */
169
+ videoDuration: number;
170
+ /** Extracted audio duration in seconds */
171
+ audioDuration: number;
172
+ /** Audio file size in bytes */
173
+ audioFileSize: number;
174
+ /** Time taken to extract audio in milliseconds */
175
+ extractionTime: number;
176
+ /** Time taken to transcribe in milliseconds */
177
+ transcriptionTime?: number;
178
+ /** Total processing time in milliseconds */
179
+ totalProcessingTime: number;
180
+ /** Token usage (for transcription) */
181
+ tokenUsage?: TranscriptionTokenUsage;
182
+ /** Cost breakdown */
183
+ costs?: ExtractionCostBreakdown;
184
+ }
185
+ /**
186
+ * Complete Audio Extraction Document
187
+ * Stored in Firestore: assets/{assetId}/audioExtractions/{extractionId}
188
+ *
189
+ * Mirrors VideoAnalysis structure for architectural consistency
190
+ */
191
+ export interface AudioExtraction {
192
+ /** Document ID */
193
+ id: string;
194
+ /** Parent asset ID (typically a video asset) */
195
+ assetId: string;
196
+ /** User who requested extraction */
197
+ userId: string;
198
+ /** Extraction version number (supports multiple extractions per asset) */
199
+ version: number;
200
+ /** Optional project context */
201
+ projectId?: string;
202
+ /** Description of extraction purpose */
203
+ contextDescription?: string;
204
+ /** Extraction configuration used */
205
+ config: AudioExtractionConfig;
206
+ /** Current status */
207
+ status: ExtractionStatus;
208
+ /** Progress information */
209
+ progress?: ExtractionProgress;
210
+ /** Pub/Sub message ID for tracking */
211
+ pubsubMessageId?: string;
212
+ /** Extracted audio file information */
213
+ audioFile?: ExtractedAudioFile;
214
+ /** Transcript (stored in main document for quick access) */
215
+ transcript?: AudioTranscript;
216
+ /** Generated audio asset ID (if saved as separate asset) */
217
+ audioAssetId?: string;
218
+ /** Extraction statistics */
219
+ statistics: ExtractionStatistics;
220
+ /** Error message if failed */
221
+ error?: {
222
+ message: string;
223
+ code: string;
224
+ stack?: string;
225
+ stage?: ExtractionProgress['stage'];
226
+ };
227
+ /** When extraction was created */
228
+ createdAt: Date | FirestoreTimestamp;
229
+ /** Last update timestamp */
230
+ updatedAt: Date | FirestoreTimestamp;
231
+ /** When extraction completed */
232
+ completedAt?: Date | FirestoreTimestamp;
233
+ /** When extraction was cancelled */
234
+ cancelledAt?: Date | FirestoreTimestamp;
235
+ }
236
+ /**
237
+ * Search Result for Transcript Search
238
+ * Used for searching within transcripts
239
+ */
240
+ export interface TranscriptSearchResult {
241
+ /** Segment ID */
242
+ segmentId: number;
243
+ /** Matching text */
244
+ text: string;
245
+ /** Start time in seconds */
246
+ start: number;
247
+ /** End time in seconds */
248
+ end: number;
249
+ /** Relevance score (0-1) */
250
+ relevanceScore: number;
251
+ /** Context (surrounding text) */
252
+ context?: string;
253
+ /** Highlighted text with matches */
254
+ highlightedText?: string;
255
+ }
256
+ /**
257
+ * Extension to existing Asset type for audio extraction reference
258
+ */
259
+ export interface AssetWithAudioExtraction {
260
+ ai?: {
261
+ audioExtraction?: {
262
+ /** Latest extraction ID */
263
+ latestExtractionId?: string;
264
+ /** Latest extraction version */
265
+ latestExtractionVersion?: number;
266
+ /** Total number of extractions */
267
+ totalExtractions?: number;
268
+ /** Last extraction timestamp */
269
+ lastExtractedAt?: Date | FirestoreTimestamp;
270
+ /** Whether transcription is available */
271
+ hasTranscript?: boolean;
272
+ /** Primary language of transcript */
273
+ transcriptLanguage?: string;
274
+ };
275
+ };
276
+ }
277
+ /**
278
+ * Request/Response Types for API
279
+ */
280
+ export interface StartAudioExtractionRequest {
281
+ assetId: string;
282
+ options?: Partial<AudioExtractionConfig>;
283
+ }
284
+ export interface StartAudioExtractionResponse {
285
+ success: boolean;
286
+ extractionId: string;
287
+ assetId: string;
288
+ version: number;
289
+ status: ExtractionStatus;
290
+ message: string;
291
+ estimatedTime?: string;
292
+ subscriptionPath: string;
293
+ }
294
+ export interface GetExtractionStatusRequest {
295
+ assetId: string;
296
+ extractionId: string;
297
+ }
298
+ export interface GetExtractionStatusResponse {
299
+ extractionId: string;
300
+ assetId: string;
301
+ status: ExtractionStatus;
302
+ progress?: ExtractionProgress;
303
+ audioFile?: ExtractedAudioFile;
304
+ transcript?: AudioTranscript;
305
+ statistics?: ExtractionStatistics;
306
+ createdAt: Date | FirestoreTimestamp;
307
+ updatedAt: Date | FirestoreTimestamp;
308
+ completedAt?: Date | FirestoreTimestamp;
309
+ }
310
+ export interface SearchTranscriptRequest {
311
+ assetId: string;
312
+ extractionId: string;
313
+ query: string;
314
+ limit?: number;
315
+ threshold?: number;
316
+ }
317
+ export interface SearchTranscriptResponse {
318
+ query: string;
319
+ assetId: string;
320
+ extractionId: string;
321
+ total: number;
322
+ results: TranscriptSearchResult[];
323
+ }
324
+ /**
325
+ * Default Configuration Values
326
+ */
327
+ export declare const DEFAULT_AUDIO_EXTRACTION_CONFIG: AudioExtractionConfig;
328
+ /**
329
+ * Audio Format Specifications
330
+ */
331
+ export declare const AUDIO_FORMAT_SPECS: Record<AudioFormat, {
332
+ mimeType: string;
333
+ extension: string;
334
+ defaultBitrate: number;
335
+ maxChannels: number;
336
+ description: string;
337
+ }>;
338
+ /**
339
+ * Whisper Model Specifications
340
+ */
341
+ export declare const WHISPER_MODEL_SPECS: Record<WhisperModel, {
342
+ maxDuration: number;
343
+ costPerMinute: number;
344
+ languages: number;
345
+ wordTimestamps: boolean;
346
+ description: string;
347
+ }>;
348
+ //# sourceMappingURL=audio-extraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-extraction.d.ts","sourceRoot":"","sources":["../../src/assets/audio-extraction.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export * from './asset-converters';
8
8
  export * from './asset-transformers';
9
9
  export * from './asset-validators';
10
10
  export * from './video-analysis';
11
+ export * from './audio-extraction';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -60,6 +60,8 @@ export interface VideoTokenUsage {
60
60
  * Video Summary
61
61
  */
62
62
  export interface VideoSummary {
63
+ /** Catchy, descriptive title for the video (3-8 words) */
64
+ title: string;
63
65
  /** Brief 1-2 sentence summary */
64
66
  brief: string;
65
67
  /** Detailed 2-3 paragraph summary */
@@ -1 +1 @@
1
- {"version":3,"file":"video-analysis.d.ts","sourceRoot":"","sources":["../../src/assets/video-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video-analysis.d.ts","sourceRoot":"","sources":["../../src/assets/video-analysis.ts"],"names":[],"mappings":"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"}