fireflies-api 0.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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/dist/action-items-CC9yUxHY.d.cts +380 -0
  4. package/dist/action-items-CC9yUxHY.d.ts +380 -0
  5. package/dist/cli/index.cjs +3909 -0
  6. package/dist/cli/index.cjs.map +1 -0
  7. package/dist/cli/index.d.cts +2 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/index.js +3906 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/index.cjs +3389 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.d.cts +966 -0
  14. package/dist/index.d.ts +966 -0
  15. package/dist/index.js +3344 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/middleware/express.cjs +2491 -0
  18. package/dist/middleware/express.cjs.map +1 -0
  19. package/dist/middleware/express.d.cts +36 -0
  20. package/dist/middleware/express.d.ts +36 -0
  21. package/dist/middleware/express.js +2489 -0
  22. package/dist/middleware/express.js.map +1 -0
  23. package/dist/middleware/fastify.cjs +2501 -0
  24. package/dist/middleware/fastify.cjs.map +1 -0
  25. package/dist/middleware/fastify.d.cts +66 -0
  26. package/dist/middleware/fastify.d.ts +66 -0
  27. package/dist/middleware/fastify.js +2498 -0
  28. package/dist/middleware/fastify.js.map +1 -0
  29. package/dist/middleware/hono.cjs +2493 -0
  30. package/dist/middleware/hono.cjs.map +1 -0
  31. package/dist/middleware/hono.d.cts +37 -0
  32. package/dist/middleware/hono.d.ts +37 -0
  33. package/dist/middleware/hono.js +2490 -0
  34. package/dist/middleware/hono.js.map +1 -0
  35. package/dist/schemas/index.cjs +307 -0
  36. package/dist/schemas/index.cjs.map +1 -0
  37. package/dist/schemas/index.d.cts +926 -0
  38. package/dist/schemas/index.d.ts +926 -0
  39. package/dist/schemas/index.js +268 -0
  40. package/dist/schemas/index.js.map +1 -0
  41. package/dist/speaker-analytics-Dr46LKyP.d.ts +275 -0
  42. package/dist/speaker-analytics-l45LXqO1.d.cts +275 -0
  43. package/dist/types-BX-3JcRI.d.cts +41 -0
  44. package/dist/types-C_XxdRd1.d.cts +1546 -0
  45. package/dist/types-CaHcwnKw.d.ts +41 -0
  46. package/dist/types-DIPZmUl3.d.ts +1546 -0
  47. package/package.json +126 -0
@@ -0,0 +1,926 @@
1
+ import { z } from 'zod';
2
+ import { A as ActionItemsResult, T as Transcript } from '../action-items-CC9yUxHY.cjs';
3
+ import { S as SpeakerAnalytics, N as NormalizedMeeting } from '../speaker-analytics-l45LXqO1.cjs';
4
+
5
+ /**
6
+ * Zod schema for source sentence in an action item.
7
+ */
8
+ declare const ActionItemSourceSentenceSchema: z.ZodObject<{
9
+ speakerName: z.ZodString;
10
+ text: z.ZodString;
11
+ startTime: z.ZodNumber;
12
+ }, z.core.$strip>;
13
+ /**
14
+ * Zod schema for ActionItem.
15
+ * A single action item extracted from a transcript.
16
+ */
17
+ declare const ActionItemSchema: z.ZodObject<{
18
+ text: z.ZodString;
19
+ assignee: z.ZodOptional<z.ZodString>;
20
+ dueDate: z.ZodOptional<z.ZodString>;
21
+ lineNumber: z.ZodNumber;
22
+ sourceSentence: z.ZodOptional<z.ZodObject<{
23
+ speakerName: z.ZodString;
24
+ text: z.ZodString;
25
+ startTime: z.ZodNumber;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>;
28
+ /**
29
+ * Zod schema for ActionItemsResult.
30
+ * Result of action item extraction from a transcript.
31
+ */
32
+ declare const ActionItemsResultSchema: z.ZodObject<{
33
+ items: z.ZodArray<z.ZodObject<{
34
+ text: z.ZodString;
35
+ assignee: z.ZodOptional<z.ZodString>;
36
+ dueDate: z.ZodOptional<z.ZodString>;
37
+ lineNumber: z.ZodNumber;
38
+ sourceSentence: z.ZodOptional<z.ZodObject<{
39
+ speakerName: z.ZodString;
40
+ text: z.ZodString;
41
+ startTime: z.ZodNumber;
42
+ }, z.core.$strip>>;
43
+ }, z.core.$strip>>;
44
+ totalItems: z.ZodNumber;
45
+ assignedItems: z.ZodNumber;
46
+ datedItems: z.ZodNumber;
47
+ assignees: z.ZodArray<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ /**
50
+ * Zod schema for SpeakerStats.
51
+ * Statistics for a single speaker in the meeting.
52
+ */
53
+ declare const SpeakerStatsSchema: z.ZodObject<{
54
+ name: z.ZodString;
55
+ id: z.ZodString;
56
+ talkTime: z.ZodNumber;
57
+ talkTimePercentage: z.ZodNumber;
58
+ sentenceCount: z.ZodNumber;
59
+ wordCount: z.ZodNumber;
60
+ wordsPerMinute: z.ZodNumber;
61
+ averageSentenceLength: z.ZodNumber;
62
+ turnCount: z.ZodNumber;
63
+ }, z.core.$strip>;
64
+ /**
65
+ * Zod schema for SpeakerAnalytics.
66
+ * Overall meeting speaker analytics.
67
+ */
68
+ declare const SpeakerAnalyticsSchema: z.ZodObject<{
69
+ speakers: z.ZodArray<z.ZodObject<{
70
+ name: z.ZodString;
71
+ id: z.ZodString;
72
+ talkTime: z.ZodNumber;
73
+ talkTimePercentage: z.ZodNumber;
74
+ sentenceCount: z.ZodNumber;
75
+ wordCount: z.ZodNumber;
76
+ wordsPerMinute: z.ZodNumber;
77
+ averageSentenceLength: z.ZodNumber;
78
+ turnCount: z.ZodNumber;
79
+ }, z.core.$strip>>;
80
+ totalDuration: z.ZodNumber;
81
+ totalTalkTime: z.ZodNumber;
82
+ totalSentences: z.ZodNumber;
83
+ totalWords: z.ZodNumber;
84
+ dominantSpeaker: z.ZodString;
85
+ dominantSpeakerPercentage: z.ZodNumber;
86
+ balance: z.ZodEnum<{
87
+ balanced: "balanced";
88
+ unbalanced: "unbalanced";
89
+ dominated: "dominated";
90
+ }>;
91
+ }, z.core.$strip>;
92
+ /**
93
+ * Parse and validate data as an ActionItemsResult.
94
+ *
95
+ * Throws a ZodError if validation fails.
96
+ *
97
+ * @param data - Unknown data to validate
98
+ * @returns Validated ActionItemsResult
99
+ * @throws {z.ZodError} If validation fails
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * import { parseActionItemsResult } from 'fireflies-api/schemas';
104
+ *
105
+ * const result = parseActionItemsResult(data);
106
+ * console.log(result.totalItems);
107
+ * ```
108
+ */
109
+ declare function parseActionItemsResult(data: unknown): ActionItemsResult;
110
+ /**
111
+ * Safely parse and validate data as an ActionItemsResult.
112
+ *
113
+ * Returns a result object with success/error instead of throwing.
114
+ *
115
+ * @param data - Unknown data to validate
116
+ * @returns SafeParseResult with data on success, error on failure
117
+ */
118
+ declare function safeParseActionItemsResult(data: unknown): z.ZodSafeParseResult<{
119
+ items: {
120
+ text: string;
121
+ lineNumber: number;
122
+ assignee?: string | undefined;
123
+ dueDate?: string | undefined;
124
+ sourceSentence?: {
125
+ speakerName: string;
126
+ text: string;
127
+ startTime: number;
128
+ } | undefined;
129
+ }[];
130
+ totalItems: number;
131
+ assignedItems: number;
132
+ datedItems: number;
133
+ assignees: string[];
134
+ }>;
135
+ /**
136
+ * Parse and validate data as SpeakerAnalytics.
137
+ *
138
+ * Throws a ZodError if validation fails.
139
+ *
140
+ * @param data - Unknown data to validate
141
+ * @returns Validated SpeakerAnalytics
142
+ * @throws {z.ZodError} If validation fails
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * import { parseSpeakerAnalytics } from 'fireflies-api/schemas';
147
+ *
148
+ * const analytics = parseSpeakerAnalytics(data);
149
+ * console.log(analytics.dominantSpeaker);
150
+ * ```
151
+ */
152
+ declare function parseSpeakerAnalytics(data: unknown): SpeakerAnalytics;
153
+ /**
154
+ * Safely parse and validate data as SpeakerAnalytics.
155
+ *
156
+ * Returns a result object with success/error instead of throwing.
157
+ *
158
+ * @param data - Unknown data to validate
159
+ * @returns SafeParseResult with data on success, error on failure
160
+ */
161
+ declare function safeParseSpeakerAnalytics(data: unknown): z.ZodSafeParseResult<{
162
+ speakers: {
163
+ name: string;
164
+ id: string;
165
+ talkTime: number;
166
+ talkTimePercentage: number;
167
+ sentenceCount: number;
168
+ wordCount: number;
169
+ wordsPerMinute: number;
170
+ averageSentenceLength: number;
171
+ turnCount: number;
172
+ }[];
173
+ totalDuration: number;
174
+ totalTalkTime: number;
175
+ totalSentences: number;
176
+ totalWords: number;
177
+ dominantSpeaker: string;
178
+ dominantSpeakerPercentage: number;
179
+ balance: "balanced" | "unbalanced" | "dominated";
180
+ }>;
181
+
182
+ /**
183
+ * Zod schema for NormalizedSpeaker.
184
+ */
185
+ declare const NormalizedSpeakerSchema: z.ZodObject<{
186
+ id: z.ZodString;
187
+ name: z.ZodString;
188
+ }, z.core.$strip>;
189
+ /**
190
+ * Zod schema for NormalizedSentence.
191
+ */
192
+ declare const NormalizedSentenceSchema: z.ZodObject<{
193
+ index: z.ZodNumber;
194
+ speakerId: z.ZodString;
195
+ speakerName: z.ZodString;
196
+ text: z.ZodString;
197
+ rawText: z.ZodString;
198
+ startTime: z.ZodNumber;
199
+ endTime: z.ZodNumber;
200
+ sentiment: z.ZodOptional<z.ZodEnum<{
201
+ positive: "positive";
202
+ negative: "negative";
203
+ neutral: "neutral";
204
+ }>>;
205
+ isQuestion: z.ZodOptional<z.ZodBoolean>;
206
+ isActionItem: z.ZodOptional<z.ZodBoolean>;
207
+ }, z.core.$strip>;
208
+ /**
209
+ * Zod schema for NormalizedParticipant.
210
+ */
211
+ declare const NormalizedParticipantSchema: z.ZodObject<{
212
+ name: z.ZodString;
213
+ email: z.ZodOptional<z.ZodString>;
214
+ role: z.ZodOptional<z.ZodEnum<{
215
+ organizer: "organizer";
216
+ attendee: "attendee";
217
+ }>>;
218
+ }, z.core.$strip>;
219
+ /**
220
+ * Zod schema for NormalizedSummary.
221
+ */
222
+ declare const NormalizedSummarySchema: z.ZodObject<{
223
+ overview: z.ZodOptional<z.ZodString>;
224
+ keyPoints: z.ZodOptional<z.ZodArray<z.ZodString>>;
225
+ actionItems: z.ZodOptional<z.ZodString>;
226
+ outline: z.ZodOptional<z.ZodString>;
227
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
228
+ }, z.core.$strip>;
229
+ /**
230
+ * Zod schema for NormalizedAttendee.
231
+ */
232
+ declare const NormalizedAttendeeSchema: z.ZodObject<{
233
+ name: z.ZodString;
234
+ email: z.ZodOptional<z.ZodString>;
235
+ phoneNumber: z.ZodOptional<z.ZodString>;
236
+ joinTime: z.ZodOptional<z.ZodDate>;
237
+ leaveTime: z.ZodOptional<z.ZodDate>;
238
+ }, z.core.$strip>;
239
+ /**
240
+ * Zod schema for NormalizedChannel.
241
+ */
242
+ declare const NormalizedChannelSchema: z.ZodObject<{
243
+ id: z.ZodString;
244
+ title: z.ZodString;
245
+ isPrivate: z.ZodBoolean;
246
+ }, z.core.$strip>;
247
+ /**
248
+ * Zod schema for NormalizedAnalytics.
249
+ */
250
+ declare const NormalizedAnalyticsSchema: z.ZodObject<{
251
+ sentiments: z.ZodOptional<z.ZodObject<{
252
+ positive: z.ZodNumber;
253
+ neutral: z.ZodNumber;
254
+ negative: z.ZodNumber;
255
+ }, z.core.$strip>>;
256
+ }, z.core.$strip>;
257
+ /**
258
+ * Zod schema for NormalizedMeeting.
259
+ *
260
+ * Use this schema to validate unknown data against the NormalizedMeeting type.
261
+ *
262
+ * @example
263
+ * ```typescript
264
+ * import { NormalizedMeetingSchema } from 'fireflies-api/schemas';
265
+ *
266
+ * const result = NormalizedMeetingSchema.safeParse(data);
267
+ * if (result.success) {
268
+ * const meeting = result.data; // NormalizedMeeting
269
+ * }
270
+ * ```
271
+ */
272
+ declare const NormalizedMeetingSchema: z.ZodObject<{
273
+ id: z.ZodString;
274
+ title: z.ZodString;
275
+ date: z.ZodDate;
276
+ duration: z.ZodNumber;
277
+ url: z.ZodString;
278
+ speakers: z.ZodArray<z.ZodObject<{
279
+ id: z.ZodString;
280
+ name: z.ZodString;
281
+ }, z.core.$strip>>;
282
+ sentences: z.ZodArray<z.ZodObject<{
283
+ index: z.ZodNumber;
284
+ speakerId: z.ZodString;
285
+ speakerName: z.ZodString;
286
+ text: z.ZodString;
287
+ rawText: z.ZodString;
288
+ startTime: z.ZodNumber;
289
+ endTime: z.ZodNumber;
290
+ sentiment: z.ZodOptional<z.ZodEnum<{
291
+ positive: "positive";
292
+ negative: "negative";
293
+ neutral: "neutral";
294
+ }>>;
295
+ isQuestion: z.ZodOptional<z.ZodBoolean>;
296
+ isActionItem: z.ZodOptional<z.ZodBoolean>;
297
+ }, z.core.$strip>>;
298
+ participants: z.ZodArray<z.ZodObject<{
299
+ name: z.ZodString;
300
+ email: z.ZodOptional<z.ZodString>;
301
+ role: z.ZodOptional<z.ZodEnum<{
302
+ organizer: "organizer";
303
+ attendee: "attendee";
304
+ }>>;
305
+ }, z.core.$strip>>;
306
+ summary: z.ZodOptional<z.ZodObject<{
307
+ overview: z.ZodOptional<z.ZodString>;
308
+ keyPoints: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ actionItems: z.ZodOptional<z.ZodString>;
310
+ outline: z.ZodOptional<z.ZodString>;
311
+ topics: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
+ }, z.core.$strip>>;
313
+ attendees: z.ZodOptional<z.ZodArray<z.ZodObject<{
314
+ name: z.ZodString;
315
+ email: z.ZodOptional<z.ZodString>;
316
+ phoneNumber: z.ZodOptional<z.ZodString>;
317
+ joinTime: z.ZodOptional<z.ZodDate>;
318
+ leaveTime: z.ZodOptional<z.ZodDate>;
319
+ }, z.core.$strip>>>;
320
+ channels: z.ZodOptional<z.ZodArray<z.ZodObject<{
321
+ id: z.ZodString;
322
+ title: z.ZodString;
323
+ isPrivate: z.ZodBoolean;
324
+ }, z.core.$strip>>>;
325
+ analytics: z.ZodOptional<z.ZodObject<{
326
+ sentiments: z.ZodOptional<z.ZodObject<{
327
+ positive: z.ZodNumber;
328
+ neutral: z.ZodNumber;
329
+ negative: z.ZodNumber;
330
+ }, z.core.$strip>>;
331
+ }, z.core.$strip>>;
332
+ source: z.ZodObject<{
333
+ provider: z.ZodLiteral<"fireflies">;
334
+ originalId: z.ZodString;
335
+ rawData: z.ZodOptional<z.ZodUnknown>;
336
+ }, z.core.$strip>;
337
+ }, z.core.$strip>;
338
+ /**
339
+ * Parse and validate data as a NormalizedMeeting.
340
+ *
341
+ * Throws a ZodError if validation fails.
342
+ *
343
+ * @param data - Unknown data to validate
344
+ * @returns Validated NormalizedMeeting
345
+ * @throws {z.ZodError} If validation fails
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * import { parseNormalizedMeeting } from 'fireflies-api/schemas';
350
+ *
351
+ * try {
352
+ * const meeting = parseNormalizedMeeting(untrustedData);
353
+ * console.log(meeting.id);
354
+ * } catch (e) {
355
+ * console.error('Invalid data:', e);
356
+ * }
357
+ * ```
358
+ */
359
+ declare function parseNormalizedMeeting(data: unknown): NormalizedMeeting;
360
+ /**
361
+ * Safely parse and validate data as a NormalizedMeeting.
362
+ *
363
+ * Returns a result object with success/error instead of throwing.
364
+ *
365
+ * @param data - Unknown data to validate
366
+ * @returns SafeParseResult with data on success, error on failure
367
+ *
368
+ * @example
369
+ * ```typescript
370
+ * import { safeParseNormalizedMeeting } from 'fireflies-api/schemas';
371
+ *
372
+ * const result = safeParseNormalizedMeeting(untrustedData);
373
+ * if (result.success) {
374
+ * console.log(result.data.id);
375
+ * } else {
376
+ * console.error('Validation failed:', result.error);
377
+ * }
378
+ * ```
379
+ */
380
+ declare function safeParseNormalizedMeeting(data: unknown): z.ZodSafeParseResult<{
381
+ id: string;
382
+ title: string;
383
+ date: Date;
384
+ duration: number;
385
+ url: string;
386
+ speakers: {
387
+ id: string;
388
+ name: string;
389
+ }[];
390
+ sentences: {
391
+ index: number;
392
+ speakerId: string;
393
+ speakerName: string;
394
+ text: string;
395
+ rawText: string;
396
+ startTime: number;
397
+ endTime: number;
398
+ sentiment?: "positive" | "negative" | "neutral" | undefined;
399
+ isQuestion?: boolean | undefined;
400
+ isActionItem?: boolean | undefined;
401
+ }[];
402
+ participants: {
403
+ name: string;
404
+ email?: string | undefined;
405
+ role?: "organizer" | "attendee" | undefined;
406
+ }[];
407
+ source: {
408
+ provider: "fireflies";
409
+ originalId: string;
410
+ rawData?: unknown;
411
+ };
412
+ summary?: {
413
+ overview?: string | undefined;
414
+ keyPoints?: string[] | undefined;
415
+ actionItems?: string | undefined;
416
+ outline?: string | undefined;
417
+ topics?: string[] | undefined;
418
+ } | undefined;
419
+ attendees?: {
420
+ name: string;
421
+ email?: string | undefined;
422
+ phoneNumber?: string | undefined;
423
+ joinTime?: Date | undefined;
424
+ leaveTime?: Date | undefined;
425
+ }[] | undefined;
426
+ channels?: {
427
+ id: string;
428
+ title: string;
429
+ isPrivate: boolean;
430
+ }[] | undefined;
431
+ analytics?: {
432
+ sentiments?: {
433
+ positive: number;
434
+ neutral: number;
435
+ negative: number;
436
+ } | undefined;
437
+ } | undefined;
438
+ }>;
439
+
440
+ /**
441
+ * Zod schema for Speaker.
442
+ */
443
+ declare const SpeakerSchema: z.ZodObject<{
444
+ id: z.ZodString;
445
+ name: z.ZodString;
446
+ }, z.core.$strip>;
447
+ /**
448
+ * Zod schema for AIFilter.
449
+ * All fields are optional AI-detected content filters for a sentence.
450
+ */
451
+ declare const AIFilterSchema: z.ZodObject<{
452
+ task: z.ZodOptional<z.ZodString>;
453
+ pricing: z.ZodOptional<z.ZodString>;
454
+ metric: z.ZodOptional<z.ZodString>;
455
+ question: z.ZodOptional<z.ZodString>;
456
+ date_and_time: z.ZodOptional<z.ZodString>;
457
+ text_cleanup: z.ZodOptional<z.ZodString>;
458
+ sentiment: z.ZodOptional<z.ZodString>;
459
+ }, z.core.$strip>;
460
+ /**
461
+ * Zod schema for Sentence.
462
+ */
463
+ declare const SentenceSchema: z.ZodObject<{
464
+ index: z.ZodNumber;
465
+ text: z.ZodString;
466
+ raw_text: z.ZodString;
467
+ start_time: z.ZodString;
468
+ end_time: z.ZodString;
469
+ speaker_id: z.ZodString;
470
+ speaker_name: z.ZodString;
471
+ ai_filters: z.ZodOptional<z.ZodObject<{
472
+ task: z.ZodOptional<z.ZodString>;
473
+ pricing: z.ZodOptional<z.ZodString>;
474
+ metric: z.ZodOptional<z.ZodString>;
475
+ question: z.ZodOptional<z.ZodString>;
476
+ date_and_time: z.ZodOptional<z.ZodString>;
477
+ text_cleanup: z.ZodOptional<z.ZodString>;
478
+ sentiment: z.ZodOptional<z.ZodString>;
479
+ }, z.core.$strip>>;
480
+ }, z.core.$strip>;
481
+ /**
482
+ * Zod schema for SummarySection.
483
+ */
484
+ declare const SummarySectionSchema: z.ZodObject<{
485
+ title: z.ZodString;
486
+ content: z.ZodString;
487
+ }, z.core.$strip>;
488
+ /**
489
+ * Zod schema for Summary.
490
+ * AI-generated meeting summary sections.
491
+ */
492
+ declare const SummarySchema: z.ZodObject<{
493
+ action_items: z.ZodOptional<z.ZodString>;
494
+ keywords: z.ZodOptional<z.ZodString>;
495
+ outline: z.ZodOptional<z.ZodString>;
496
+ overview: z.ZodOptional<z.ZodString>;
497
+ shorthand_bullet: z.ZodOptional<z.ZodString>;
498
+ notes: z.ZodOptional<z.ZodString>;
499
+ gist: z.ZodOptional<z.ZodString>;
500
+ bullet_gist: z.ZodOptional<z.ZodString>;
501
+ short_summary: z.ZodOptional<z.ZodString>;
502
+ short_overview: z.ZodOptional<z.ZodString>;
503
+ meeting_type: z.ZodOptional<z.ZodString>;
504
+ topics_discussed: z.ZodOptional<z.ZodArray<z.ZodString>>;
505
+ transcript_chapters: z.ZodOptional<z.ZodArray<z.ZodString>>;
506
+ extended_sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
507
+ title: z.ZodString;
508
+ content: z.ZodString;
509
+ }, z.core.$strip>>>;
510
+ }, z.core.$strip>;
511
+ /**
512
+ * Zod schema for MeetingAttendee.
513
+ * Attendee information from calendar invite.
514
+ */
515
+ declare const MeetingAttendeeSchema: z.ZodObject<{
516
+ displayName: z.ZodString;
517
+ email: z.ZodString;
518
+ phoneNumber: z.ZodOptional<z.ZodString>;
519
+ name: z.ZodString;
520
+ location: z.ZodOptional<z.ZodString>;
521
+ }, z.core.$strip>;
522
+ /**
523
+ * Zod schema for MeetingAttendance.
524
+ * Attendance tracking with join/leave times.
525
+ */
526
+ declare const MeetingAttendanceSchema: z.ZodObject<{
527
+ name: z.ZodString;
528
+ join_time: z.ZodString;
529
+ leave_time: z.ZodOptional<z.ZodString>;
530
+ }, z.core.$strip>;
531
+ /**
532
+ * Summary processing status enum.
533
+ */
534
+ declare const SummaryStatusSchema: z.ZodEnum<{
535
+ processing: "processing";
536
+ processed: "processed";
537
+ failed: "failed";
538
+ skipped: "skipped";
539
+ }>;
540
+ /**
541
+ * Zod schema for MeetingInfo.
542
+ * Meeting metadata and processing status.
543
+ */
544
+ declare const MeetingInfoSchema: z.ZodObject<{
545
+ fred_joined: z.ZodBoolean;
546
+ silent_meeting: z.ZodBoolean;
547
+ summary_status: z.ZodEnum<{
548
+ processing: "processing";
549
+ processed: "processed";
550
+ failed: "failed";
551
+ skipped: "skipped";
552
+ }>;
553
+ }, z.core.$strip>;
554
+ /**
555
+ * Zod schema for ChannelMember.
556
+ */
557
+ declare const ChannelMemberSchema: z.ZodObject<{
558
+ user_id: z.ZodString;
559
+ email: z.ZodString;
560
+ name: z.ZodString;
561
+ }, z.core.$strip>;
562
+ /**
563
+ * Zod schema for Channel.
564
+ */
565
+ declare const ChannelSchema: z.ZodObject<{
566
+ id: z.ZodString;
567
+ title: z.ZodString;
568
+ is_private: z.ZodOptional<z.ZodBoolean>;
569
+ created_at: z.ZodOptional<z.ZodString>;
570
+ updated_at: z.ZodOptional<z.ZodString>;
571
+ created_by: z.ZodOptional<z.ZodString>;
572
+ members: z.ZodOptional<z.ZodArray<z.ZodObject<{
573
+ user_id: z.ZodString;
574
+ email: z.ZodString;
575
+ name: z.ZodString;
576
+ }, z.core.$strip>>>;
577
+ }, z.core.$strip>;
578
+ /**
579
+ * Zod schema for AIAppOutput.
580
+ */
581
+ declare const AIAppOutputSchema: z.ZodObject<{
582
+ transcript_id: z.ZodOptional<z.ZodString>;
583
+ user_id: z.ZodOptional<z.ZodString>;
584
+ app_id: z.ZodOptional<z.ZodString>;
585
+ created_at: z.ZodOptional<z.ZodNumber>;
586
+ title: z.ZodOptional<z.ZodString>;
587
+ prompt: z.ZodOptional<z.ZodString>;
588
+ response: z.ZodOptional<z.ZodString>;
589
+ }, z.core.$strip>;
590
+ /**
591
+ * Zod schema for AppsPreview.
592
+ */
593
+ declare const AppsPreviewSchema: z.ZodObject<{
594
+ outputs: z.ZodArray<z.ZodObject<{
595
+ transcript_id: z.ZodOptional<z.ZodString>;
596
+ user_id: z.ZodOptional<z.ZodString>;
597
+ app_id: z.ZodOptional<z.ZodString>;
598
+ created_at: z.ZodOptional<z.ZodNumber>;
599
+ title: z.ZodOptional<z.ZodString>;
600
+ prompt: z.ZodOptional<z.ZodString>;
601
+ response: z.ZodOptional<z.ZodString>;
602
+ }, z.core.$strip>>;
603
+ }, z.core.$strip>;
604
+ /**
605
+ * Zod schema for Sentiments.
606
+ * Sentiment percentages for a meeting (0-100).
607
+ */
608
+ declare const SentimentsSchema: z.ZodObject<{
609
+ negative_pct: z.ZodOptional<z.ZodNumber>;
610
+ neutral_pct: z.ZodOptional<z.ZodNumber>;
611
+ positive_pct: z.ZodOptional<z.ZodNumber>;
612
+ }, z.core.$strip>;
613
+ /**
614
+ * Zod schema for MeetingAnalytics.
615
+ */
616
+ declare const MeetingAnalyticsSchema: z.ZodObject<{
617
+ sentiments: z.ZodOptional<z.ZodObject<{
618
+ negative_pct: z.ZodOptional<z.ZodNumber>;
619
+ neutral_pct: z.ZodOptional<z.ZodNumber>;
620
+ positive_pct: z.ZodOptional<z.ZodNumber>;
621
+ }, z.core.$strip>>;
622
+ }, z.core.$strip>;
623
+ /**
624
+ * Zod schema for User.
625
+ */
626
+ declare const UserSchema: z.ZodObject<{
627
+ user_id: z.ZodString;
628
+ email: z.ZodString;
629
+ name: z.ZodOptional<z.ZodString>;
630
+ num_transcripts: z.ZodOptional<z.ZodNumber>;
631
+ is_admin: z.ZodOptional<z.ZodBoolean>;
632
+ }, z.core.$strip>;
633
+ /**
634
+ * Zod schema for Transcript.
635
+ *
636
+ * Use this schema to validate unknown data against the Transcript type.
637
+ *
638
+ * @example
639
+ * ```typescript
640
+ * import { TranscriptSchema } from 'fireflies-api/schemas';
641
+ *
642
+ * const result = TranscriptSchema.safeParse(apiResponse);
643
+ * if (result.success) {
644
+ * const transcript = result.data;
645
+ * }
646
+ * ```
647
+ */
648
+ declare const TranscriptSchema: z.ZodObject<{
649
+ id: z.ZodString;
650
+ title: z.ZodString;
651
+ organizer_email: z.ZodString;
652
+ host_email: z.ZodOptional<z.ZodString>;
653
+ user: z.ZodOptional<z.ZodObject<{
654
+ user_id: z.ZodString;
655
+ email: z.ZodString;
656
+ name: z.ZodOptional<z.ZodString>;
657
+ num_transcripts: z.ZodOptional<z.ZodNumber>;
658
+ is_admin: z.ZodOptional<z.ZodBoolean>;
659
+ }, z.core.$strip>>;
660
+ speakers: z.ZodArray<z.ZodObject<{
661
+ id: z.ZodString;
662
+ name: z.ZodString;
663
+ }, z.core.$strip>>;
664
+ transcript_url: z.ZodString;
665
+ participants: z.ZodArray<z.ZodString>;
666
+ meeting_attendees: z.ZodArray<z.ZodObject<{
667
+ displayName: z.ZodString;
668
+ email: z.ZodString;
669
+ phoneNumber: z.ZodOptional<z.ZodString>;
670
+ name: z.ZodString;
671
+ location: z.ZodOptional<z.ZodString>;
672
+ }, z.core.$strip>>;
673
+ meeting_attendance: z.ZodArray<z.ZodObject<{
674
+ name: z.ZodString;
675
+ join_time: z.ZodString;
676
+ leave_time: z.ZodOptional<z.ZodString>;
677
+ }, z.core.$strip>>;
678
+ fireflies_users: z.ZodArray<z.ZodString>;
679
+ workspace_users: z.ZodArray<z.ZodString>;
680
+ duration: z.ZodNumber;
681
+ dateString: z.ZodString;
682
+ date: z.ZodNumber;
683
+ audio_url: z.ZodOptional<z.ZodString>;
684
+ video_url: z.ZodOptional<z.ZodString>;
685
+ sentences: z.ZodArray<z.ZodObject<{
686
+ index: z.ZodNumber;
687
+ text: z.ZodString;
688
+ raw_text: z.ZodString;
689
+ start_time: z.ZodString;
690
+ end_time: z.ZodString;
691
+ speaker_id: z.ZodString;
692
+ speaker_name: z.ZodString;
693
+ ai_filters: z.ZodOptional<z.ZodObject<{
694
+ task: z.ZodOptional<z.ZodString>;
695
+ pricing: z.ZodOptional<z.ZodString>;
696
+ metric: z.ZodOptional<z.ZodString>;
697
+ question: z.ZodOptional<z.ZodString>;
698
+ date_and_time: z.ZodOptional<z.ZodString>;
699
+ text_cleanup: z.ZodOptional<z.ZodString>;
700
+ sentiment: z.ZodOptional<z.ZodString>;
701
+ }, z.core.$strip>>;
702
+ }, z.core.$strip>>;
703
+ calendar_id: z.ZodOptional<z.ZodString>;
704
+ summary: z.ZodOptional<z.ZodObject<{
705
+ action_items: z.ZodOptional<z.ZodString>;
706
+ keywords: z.ZodOptional<z.ZodString>;
707
+ outline: z.ZodOptional<z.ZodString>;
708
+ overview: z.ZodOptional<z.ZodString>;
709
+ shorthand_bullet: z.ZodOptional<z.ZodString>;
710
+ notes: z.ZodOptional<z.ZodString>;
711
+ gist: z.ZodOptional<z.ZodString>;
712
+ bullet_gist: z.ZodOptional<z.ZodString>;
713
+ short_summary: z.ZodOptional<z.ZodString>;
714
+ short_overview: z.ZodOptional<z.ZodString>;
715
+ meeting_type: z.ZodOptional<z.ZodString>;
716
+ topics_discussed: z.ZodOptional<z.ZodArray<z.ZodString>>;
717
+ transcript_chapters: z.ZodOptional<z.ZodArray<z.ZodString>>;
718
+ extended_sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
719
+ title: z.ZodString;
720
+ content: z.ZodString;
721
+ }, z.core.$strip>>>;
722
+ }, z.core.$strip>>;
723
+ meeting_info: z.ZodOptional<z.ZodObject<{
724
+ fred_joined: z.ZodBoolean;
725
+ silent_meeting: z.ZodBoolean;
726
+ summary_status: z.ZodEnum<{
727
+ processing: "processing";
728
+ processed: "processed";
729
+ failed: "failed";
730
+ skipped: "skipped";
731
+ }>;
732
+ }, z.core.$strip>>;
733
+ cal_id: z.ZodOptional<z.ZodString>;
734
+ calendar_type: z.ZodOptional<z.ZodString>;
735
+ apps_preview: z.ZodOptional<z.ZodObject<{
736
+ outputs: z.ZodArray<z.ZodObject<{
737
+ transcript_id: z.ZodOptional<z.ZodString>;
738
+ user_id: z.ZodOptional<z.ZodString>;
739
+ app_id: z.ZodOptional<z.ZodString>;
740
+ created_at: z.ZodOptional<z.ZodNumber>;
741
+ title: z.ZodOptional<z.ZodString>;
742
+ prompt: z.ZodOptional<z.ZodString>;
743
+ response: z.ZodOptional<z.ZodString>;
744
+ }, z.core.$strip>>;
745
+ }, z.core.$strip>>;
746
+ meeting_link: z.ZodOptional<z.ZodString>;
747
+ analytics: z.ZodOptional<z.ZodObject<{
748
+ sentiments: z.ZodOptional<z.ZodObject<{
749
+ negative_pct: z.ZodOptional<z.ZodNumber>;
750
+ neutral_pct: z.ZodOptional<z.ZodNumber>;
751
+ positive_pct: z.ZodOptional<z.ZodNumber>;
752
+ }, z.core.$strip>>;
753
+ }, z.core.$strip>>;
754
+ channels: z.ZodArray<z.ZodObject<{
755
+ id: z.ZodString;
756
+ title: z.ZodString;
757
+ is_private: z.ZodOptional<z.ZodBoolean>;
758
+ created_at: z.ZodOptional<z.ZodString>;
759
+ updated_at: z.ZodOptional<z.ZodString>;
760
+ created_by: z.ZodOptional<z.ZodString>;
761
+ members: z.ZodOptional<z.ZodArray<z.ZodObject<{
762
+ user_id: z.ZodString;
763
+ email: z.ZodString;
764
+ name: z.ZodString;
765
+ }, z.core.$strip>>>;
766
+ }, z.core.$strip>>;
767
+ }, z.core.$strip>;
768
+ /**
769
+ * Parse and validate data as a Transcript.
770
+ *
771
+ * Throws a ZodError if validation fails.
772
+ *
773
+ * @param data - Unknown data to validate
774
+ * @returns Validated Transcript
775
+ * @throws {z.ZodError} If validation fails
776
+ *
777
+ * @example
778
+ * ```typescript
779
+ * import { parseTranscript } from 'fireflies-api/schemas';
780
+ *
781
+ * try {
782
+ * const transcript = parseTranscript(apiResponse);
783
+ * console.log(transcript.title);
784
+ * } catch (e) {
785
+ * console.error('Invalid data:', e);
786
+ * }
787
+ * ```
788
+ */
789
+ declare function parseTranscript(data: unknown): Transcript;
790
+ /**
791
+ * Safely parse and validate data as a Transcript.
792
+ *
793
+ * Returns a result object with success/error instead of throwing.
794
+ *
795
+ * @param data - Unknown data to validate
796
+ * @returns SafeParseResult with data on success, error on failure
797
+ *
798
+ * @example
799
+ * ```typescript
800
+ * import { safeParseTranscript } from 'fireflies-api/schemas';
801
+ *
802
+ * const result = safeParseTranscript(apiResponse);
803
+ * if (result.success) {
804
+ * console.log(result.data.title);
805
+ * } else {
806
+ * console.error('Validation failed:', result.error);
807
+ * }
808
+ * ```
809
+ */
810
+ declare function safeParseTranscript(data: unknown): z.ZodSafeParseResult<{
811
+ id: string;
812
+ title: string;
813
+ organizer_email: string;
814
+ speakers: {
815
+ id: string;
816
+ name: string;
817
+ }[];
818
+ transcript_url: string;
819
+ participants: string[];
820
+ meeting_attendees: {
821
+ displayName: string;
822
+ email: string;
823
+ name: string;
824
+ phoneNumber?: string | undefined;
825
+ location?: string | undefined;
826
+ }[];
827
+ meeting_attendance: {
828
+ name: string;
829
+ join_time: string;
830
+ leave_time?: string | undefined;
831
+ }[];
832
+ fireflies_users: string[];
833
+ workspace_users: string[];
834
+ duration: number;
835
+ dateString: string;
836
+ date: number;
837
+ sentences: {
838
+ index: number;
839
+ text: string;
840
+ raw_text: string;
841
+ start_time: string;
842
+ end_time: string;
843
+ speaker_id: string;
844
+ speaker_name: string;
845
+ ai_filters?: {
846
+ task?: string | undefined;
847
+ pricing?: string | undefined;
848
+ metric?: string | undefined;
849
+ question?: string | undefined;
850
+ date_and_time?: string | undefined;
851
+ text_cleanup?: string | undefined;
852
+ sentiment?: string | undefined;
853
+ } | undefined;
854
+ }[];
855
+ channels: {
856
+ id: string;
857
+ title: string;
858
+ is_private?: boolean | undefined;
859
+ created_at?: string | undefined;
860
+ updated_at?: string | undefined;
861
+ created_by?: string | undefined;
862
+ members?: {
863
+ user_id: string;
864
+ email: string;
865
+ name: string;
866
+ }[] | undefined;
867
+ }[];
868
+ host_email?: string | undefined;
869
+ user?: {
870
+ user_id: string;
871
+ email: string;
872
+ name?: string | undefined;
873
+ num_transcripts?: number | undefined;
874
+ is_admin?: boolean | undefined;
875
+ } | undefined;
876
+ audio_url?: string | undefined;
877
+ video_url?: string | undefined;
878
+ calendar_id?: string | undefined;
879
+ summary?: {
880
+ action_items?: string | undefined;
881
+ keywords?: string | undefined;
882
+ outline?: string | undefined;
883
+ overview?: string | undefined;
884
+ shorthand_bullet?: string | undefined;
885
+ notes?: string | undefined;
886
+ gist?: string | undefined;
887
+ bullet_gist?: string | undefined;
888
+ short_summary?: string | undefined;
889
+ short_overview?: string | undefined;
890
+ meeting_type?: string | undefined;
891
+ topics_discussed?: string[] | undefined;
892
+ transcript_chapters?: string[] | undefined;
893
+ extended_sections?: {
894
+ title: string;
895
+ content: string;
896
+ }[] | undefined;
897
+ } | undefined;
898
+ meeting_info?: {
899
+ fred_joined: boolean;
900
+ silent_meeting: boolean;
901
+ summary_status: "processing" | "processed" | "failed" | "skipped";
902
+ } | undefined;
903
+ cal_id?: string | undefined;
904
+ calendar_type?: string | undefined;
905
+ apps_preview?: {
906
+ outputs: {
907
+ transcript_id?: string | undefined;
908
+ user_id?: string | undefined;
909
+ app_id?: string | undefined;
910
+ created_at?: number | undefined;
911
+ title?: string | undefined;
912
+ prompt?: string | undefined;
913
+ response?: string | undefined;
914
+ }[];
915
+ } | undefined;
916
+ meeting_link?: string | undefined;
917
+ analytics?: {
918
+ sentiments?: {
919
+ negative_pct?: number | undefined;
920
+ neutral_pct?: number | undefined;
921
+ positive_pct?: number | undefined;
922
+ } | undefined;
923
+ } | undefined;
924
+ }>;
925
+
926
+ export { AIAppOutputSchema, AIFilterSchema, ActionItemSchema, ActionItemSourceSentenceSchema, ActionItemsResultSchema, AppsPreviewSchema, ChannelMemberSchema, ChannelSchema, MeetingAnalyticsSchema, MeetingAttendanceSchema, MeetingAttendeeSchema, MeetingInfoSchema, NormalizedAnalyticsSchema, NormalizedAttendeeSchema, NormalizedChannelSchema, NormalizedMeetingSchema, NormalizedParticipantSchema, NormalizedSentenceSchema, NormalizedSpeakerSchema, NormalizedSummarySchema, SentenceSchema, SentimentsSchema, SpeakerAnalyticsSchema, SpeakerSchema, SpeakerStatsSchema, SummarySchema, SummarySectionSchema, SummaryStatusSchema, TranscriptSchema, UserSchema, parseActionItemsResult, parseNormalizedMeeting, parseSpeakerAnalytics, parseTranscript, safeParseActionItemsResult, safeParseNormalizedMeeting, safeParseSpeakerAnalytics, safeParseTranscript };