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.
- package/LICENSE +21 -0
- package/README.md +64 -0
- package/dist/action-items-CC9yUxHY.d.cts +380 -0
- package/dist/action-items-CC9yUxHY.d.ts +380 -0
- package/dist/cli/index.cjs +3909 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +2 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +3906 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.cjs +3389 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +966 -0
- package/dist/index.d.ts +966 -0
- package/dist/index.js +3344 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/express.cjs +2491 -0
- package/dist/middleware/express.cjs.map +1 -0
- package/dist/middleware/express.d.cts +36 -0
- package/dist/middleware/express.d.ts +36 -0
- package/dist/middleware/express.js +2489 -0
- package/dist/middleware/express.js.map +1 -0
- package/dist/middleware/fastify.cjs +2501 -0
- package/dist/middleware/fastify.cjs.map +1 -0
- package/dist/middleware/fastify.d.cts +66 -0
- package/dist/middleware/fastify.d.ts +66 -0
- package/dist/middleware/fastify.js +2498 -0
- package/dist/middleware/fastify.js.map +1 -0
- package/dist/middleware/hono.cjs +2493 -0
- package/dist/middleware/hono.cjs.map +1 -0
- package/dist/middleware/hono.d.cts +37 -0
- package/dist/middleware/hono.d.ts +37 -0
- package/dist/middleware/hono.js +2490 -0
- package/dist/middleware/hono.js.map +1 -0
- package/dist/schemas/index.cjs +307 -0
- package/dist/schemas/index.cjs.map +1 -0
- package/dist/schemas/index.d.cts +926 -0
- package/dist/schemas/index.d.ts +926 -0
- package/dist/schemas/index.js +268 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/speaker-analytics-Dr46LKyP.d.ts +275 -0
- package/dist/speaker-analytics-l45LXqO1.d.cts +275 -0
- package/dist/types-BX-3JcRI.d.cts +41 -0
- package/dist/types-C_XxdRd1.d.cts +1546 -0
- package/dist/types-CaHcwnKw.d.ts +41 -0
- package/dist/types-DIPZmUl3.d.ts +1546 -0
- package/package.json +126 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
|
|
5
|
+
// src/schemas/helpers.ts
|
|
6
|
+
var ActionItemSourceSentenceSchema = zod.z.object({
|
|
7
|
+
speakerName: zod.z.string(),
|
|
8
|
+
text: zod.z.string(),
|
|
9
|
+
startTime: zod.z.number().nonnegative()
|
|
10
|
+
});
|
|
11
|
+
var ActionItemSchema = zod.z.object({
|
|
12
|
+
text: zod.z.string(),
|
|
13
|
+
assignee: zod.z.string().optional(),
|
|
14
|
+
dueDate: zod.z.string().optional(),
|
|
15
|
+
lineNumber: zod.z.number().int().positive(),
|
|
16
|
+
sourceSentence: ActionItemSourceSentenceSchema.optional()
|
|
17
|
+
});
|
|
18
|
+
var ActionItemsResultSchema = zod.z.object({
|
|
19
|
+
items: zod.z.array(ActionItemSchema),
|
|
20
|
+
totalItems: zod.z.number().int().nonnegative(),
|
|
21
|
+
assignedItems: zod.z.number().int().nonnegative(),
|
|
22
|
+
datedItems: zod.z.number().int().nonnegative(),
|
|
23
|
+
assignees: zod.z.array(zod.z.string())
|
|
24
|
+
});
|
|
25
|
+
var SpeakerStatsSchema = zod.z.object({
|
|
26
|
+
name: zod.z.string(),
|
|
27
|
+
id: zod.z.string(),
|
|
28
|
+
talkTime: zod.z.number().nonnegative(),
|
|
29
|
+
talkTimePercentage: zod.z.number().min(0).max(100),
|
|
30
|
+
sentenceCount: zod.z.number().int().nonnegative(),
|
|
31
|
+
wordCount: zod.z.number().int().nonnegative(),
|
|
32
|
+
wordsPerMinute: zod.z.number().nonnegative(),
|
|
33
|
+
averageSentenceLength: zod.z.number().nonnegative(),
|
|
34
|
+
turnCount: zod.z.number().int().nonnegative()
|
|
35
|
+
});
|
|
36
|
+
var SpeakerAnalyticsSchema = zod.z.object({
|
|
37
|
+
speakers: zod.z.array(SpeakerStatsSchema),
|
|
38
|
+
totalDuration: zod.z.number().nonnegative(),
|
|
39
|
+
totalTalkTime: zod.z.number().nonnegative(),
|
|
40
|
+
totalSentences: zod.z.number().int().nonnegative(),
|
|
41
|
+
totalWords: zod.z.number().int().nonnegative(),
|
|
42
|
+
dominantSpeaker: zod.z.string(),
|
|
43
|
+
dominantSpeakerPercentage: zod.z.number().min(0).max(100),
|
|
44
|
+
balance: zod.z.enum(["balanced", "unbalanced", "dominated"])
|
|
45
|
+
});
|
|
46
|
+
function parseActionItemsResult(data) {
|
|
47
|
+
return ActionItemsResultSchema.parse(data);
|
|
48
|
+
}
|
|
49
|
+
function safeParseActionItemsResult(data) {
|
|
50
|
+
return ActionItemsResultSchema.safeParse(data);
|
|
51
|
+
}
|
|
52
|
+
function parseSpeakerAnalytics(data) {
|
|
53
|
+
return SpeakerAnalyticsSchema.parse(data);
|
|
54
|
+
}
|
|
55
|
+
function safeParseSpeakerAnalytics(data) {
|
|
56
|
+
return SpeakerAnalyticsSchema.safeParse(data);
|
|
57
|
+
}
|
|
58
|
+
var NormalizedSpeakerSchema = zod.z.object({
|
|
59
|
+
id: zod.z.string(),
|
|
60
|
+
name: zod.z.string()
|
|
61
|
+
});
|
|
62
|
+
var NormalizedSentenceSchema = zod.z.object({
|
|
63
|
+
index: zod.z.number().int().nonnegative(),
|
|
64
|
+
speakerId: zod.z.string(),
|
|
65
|
+
speakerName: zod.z.string(),
|
|
66
|
+
text: zod.z.string(),
|
|
67
|
+
rawText: zod.z.string(),
|
|
68
|
+
startTime: zod.z.number().nonnegative(),
|
|
69
|
+
endTime: zod.z.number().nonnegative(),
|
|
70
|
+
sentiment: zod.z.enum(["positive", "negative", "neutral"]).optional(),
|
|
71
|
+
isQuestion: zod.z.boolean().optional(),
|
|
72
|
+
isActionItem: zod.z.boolean().optional()
|
|
73
|
+
});
|
|
74
|
+
var NormalizedParticipantSchema = zod.z.object({
|
|
75
|
+
name: zod.z.string(),
|
|
76
|
+
email: zod.z.string().optional(),
|
|
77
|
+
role: zod.z.enum(["organizer", "attendee"]).optional()
|
|
78
|
+
});
|
|
79
|
+
var NormalizedSummarySchema = zod.z.object({
|
|
80
|
+
overview: zod.z.string().optional(),
|
|
81
|
+
keyPoints: zod.z.array(zod.z.string()).optional(),
|
|
82
|
+
actionItems: zod.z.string().optional(),
|
|
83
|
+
outline: zod.z.string().optional(),
|
|
84
|
+
topics: zod.z.array(zod.z.string()).optional()
|
|
85
|
+
});
|
|
86
|
+
var NormalizedAttendeeSchema = zod.z.object({
|
|
87
|
+
name: zod.z.string(),
|
|
88
|
+
email: zod.z.string().optional(),
|
|
89
|
+
phoneNumber: zod.z.string().optional(),
|
|
90
|
+
joinTime: zod.z.date().optional(),
|
|
91
|
+
leaveTime: zod.z.date().optional()
|
|
92
|
+
});
|
|
93
|
+
var NormalizedChannelSchema = zod.z.object({
|
|
94
|
+
id: zod.z.string(),
|
|
95
|
+
title: zod.z.string(),
|
|
96
|
+
isPrivate: zod.z.boolean()
|
|
97
|
+
});
|
|
98
|
+
var NormalizedAnalyticsSchema = zod.z.object({
|
|
99
|
+
sentiments: zod.z.object({
|
|
100
|
+
positive: zod.z.number().min(0).max(100),
|
|
101
|
+
neutral: zod.z.number().min(0).max(100),
|
|
102
|
+
negative: zod.z.number().min(0).max(100)
|
|
103
|
+
}).optional()
|
|
104
|
+
});
|
|
105
|
+
var NormalizedMeetingSchema = zod.z.object({
|
|
106
|
+
id: zod.z.string().startsWith("fireflies:"),
|
|
107
|
+
title: zod.z.string(),
|
|
108
|
+
date: zod.z.date(),
|
|
109
|
+
duration: zod.z.number().positive(),
|
|
110
|
+
url: zod.z.string().url(),
|
|
111
|
+
speakers: zod.z.array(NormalizedSpeakerSchema),
|
|
112
|
+
sentences: zod.z.array(NormalizedSentenceSchema),
|
|
113
|
+
participants: zod.z.array(NormalizedParticipantSchema),
|
|
114
|
+
summary: NormalizedSummarySchema.optional(),
|
|
115
|
+
attendees: zod.z.array(NormalizedAttendeeSchema).optional(),
|
|
116
|
+
channels: zod.z.array(NormalizedChannelSchema).optional(),
|
|
117
|
+
analytics: NormalizedAnalyticsSchema.optional(),
|
|
118
|
+
source: zod.z.object({
|
|
119
|
+
provider: zod.z.literal("fireflies"),
|
|
120
|
+
originalId: zod.z.string(),
|
|
121
|
+
rawData: zod.z.unknown().optional()
|
|
122
|
+
})
|
|
123
|
+
});
|
|
124
|
+
function parseNormalizedMeeting(data) {
|
|
125
|
+
return NormalizedMeetingSchema.parse(data);
|
|
126
|
+
}
|
|
127
|
+
function safeParseNormalizedMeeting(data) {
|
|
128
|
+
return NormalizedMeetingSchema.safeParse(data);
|
|
129
|
+
}
|
|
130
|
+
var SpeakerSchema = zod.z.object({
|
|
131
|
+
id: zod.z.string(),
|
|
132
|
+
name: zod.z.string()
|
|
133
|
+
});
|
|
134
|
+
var AIFilterSchema = zod.z.object({
|
|
135
|
+
task: zod.z.string().optional(),
|
|
136
|
+
pricing: zod.z.string().optional(),
|
|
137
|
+
metric: zod.z.string().optional(),
|
|
138
|
+
question: zod.z.string().optional(),
|
|
139
|
+
date_and_time: zod.z.string().optional(),
|
|
140
|
+
text_cleanup: zod.z.string().optional(),
|
|
141
|
+
sentiment: zod.z.string().optional()
|
|
142
|
+
});
|
|
143
|
+
var SentenceSchema = zod.z.object({
|
|
144
|
+
index: zod.z.number().int().nonnegative(),
|
|
145
|
+
text: zod.z.string(),
|
|
146
|
+
raw_text: zod.z.string(),
|
|
147
|
+
start_time: zod.z.string(),
|
|
148
|
+
end_time: zod.z.string(),
|
|
149
|
+
speaker_id: zod.z.string(),
|
|
150
|
+
speaker_name: zod.z.string(),
|
|
151
|
+
ai_filters: AIFilterSchema.optional()
|
|
152
|
+
});
|
|
153
|
+
var SummarySectionSchema = zod.z.object({
|
|
154
|
+
title: zod.z.string(),
|
|
155
|
+
content: zod.z.string()
|
|
156
|
+
});
|
|
157
|
+
var SummarySchema = zod.z.object({
|
|
158
|
+
action_items: zod.z.string().optional(),
|
|
159
|
+
keywords: zod.z.string().optional(),
|
|
160
|
+
outline: zod.z.string().optional(),
|
|
161
|
+
overview: zod.z.string().optional(),
|
|
162
|
+
shorthand_bullet: zod.z.string().optional(),
|
|
163
|
+
notes: zod.z.string().optional(),
|
|
164
|
+
gist: zod.z.string().optional(),
|
|
165
|
+
bullet_gist: zod.z.string().optional(),
|
|
166
|
+
short_summary: zod.z.string().optional(),
|
|
167
|
+
short_overview: zod.z.string().optional(),
|
|
168
|
+
meeting_type: zod.z.string().optional(),
|
|
169
|
+
topics_discussed: zod.z.array(zod.z.string()).optional(),
|
|
170
|
+
transcript_chapters: zod.z.array(zod.z.string()).optional(),
|
|
171
|
+
extended_sections: zod.z.array(SummarySectionSchema).optional()
|
|
172
|
+
});
|
|
173
|
+
var MeetingAttendeeSchema = zod.z.object({
|
|
174
|
+
displayName: zod.z.string(),
|
|
175
|
+
email: zod.z.string(),
|
|
176
|
+
phoneNumber: zod.z.string().optional(),
|
|
177
|
+
name: zod.z.string(),
|
|
178
|
+
location: zod.z.string().optional()
|
|
179
|
+
});
|
|
180
|
+
var MeetingAttendanceSchema = zod.z.object({
|
|
181
|
+
name: zod.z.string(),
|
|
182
|
+
join_time: zod.z.string(),
|
|
183
|
+
leave_time: zod.z.string().optional()
|
|
184
|
+
});
|
|
185
|
+
var SummaryStatusSchema = zod.z.enum(["processing", "processed", "failed", "skipped"]);
|
|
186
|
+
var MeetingInfoSchema = zod.z.object({
|
|
187
|
+
fred_joined: zod.z.boolean(),
|
|
188
|
+
silent_meeting: zod.z.boolean(),
|
|
189
|
+
summary_status: SummaryStatusSchema
|
|
190
|
+
});
|
|
191
|
+
var ChannelMemberSchema = zod.z.object({
|
|
192
|
+
user_id: zod.z.string(),
|
|
193
|
+
email: zod.z.string(),
|
|
194
|
+
name: zod.z.string()
|
|
195
|
+
});
|
|
196
|
+
var ChannelSchema = zod.z.object({
|
|
197
|
+
id: zod.z.string(),
|
|
198
|
+
title: zod.z.string(),
|
|
199
|
+
is_private: zod.z.boolean().optional(),
|
|
200
|
+
created_at: zod.z.string().optional(),
|
|
201
|
+
updated_at: zod.z.string().optional(),
|
|
202
|
+
created_by: zod.z.string().optional(),
|
|
203
|
+
members: zod.z.array(ChannelMemberSchema).optional()
|
|
204
|
+
});
|
|
205
|
+
var AIAppOutputSchema = zod.z.object({
|
|
206
|
+
transcript_id: zod.z.string().optional(),
|
|
207
|
+
user_id: zod.z.string().optional(),
|
|
208
|
+
app_id: zod.z.string().optional(),
|
|
209
|
+
created_at: zod.z.number().optional(),
|
|
210
|
+
title: zod.z.string().optional(),
|
|
211
|
+
prompt: zod.z.string().optional(),
|
|
212
|
+
response: zod.z.string().optional()
|
|
213
|
+
});
|
|
214
|
+
var AppsPreviewSchema = zod.z.object({
|
|
215
|
+
outputs: zod.z.array(AIAppOutputSchema)
|
|
216
|
+
});
|
|
217
|
+
var SentimentsSchema = zod.z.object({
|
|
218
|
+
negative_pct: zod.z.number().min(0).max(100).optional(),
|
|
219
|
+
neutral_pct: zod.z.number().min(0).max(100).optional(),
|
|
220
|
+
positive_pct: zod.z.number().min(0).max(100).optional()
|
|
221
|
+
});
|
|
222
|
+
var MeetingAnalyticsSchema = zod.z.object({
|
|
223
|
+
sentiments: SentimentsSchema.optional()
|
|
224
|
+
});
|
|
225
|
+
var UserSchema = zod.z.object({
|
|
226
|
+
user_id: zod.z.string(),
|
|
227
|
+
email: zod.z.string(),
|
|
228
|
+
name: zod.z.string().optional(),
|
|
229
|
+
num_transcripts: zod.z.number().int().nonnegative().optional(),
|
|
230
|
+
is_admin: zod.z.boolean().optional()
|
|
231
|
+
});
|
|
232
|
+
var TranscriptSchema = zod.z.object({
|
|
233
|
+
id: zod.z.string(),
|
|
234
|
+
title: zod.z.string(),
|
|
235
|
+
organizer_email: zod.z.string(),
|
|
236
|
+
host_email: zod.z.string().optional(),
|
|
237
|
+
user: UserSchema.optional(),
|
|
238
|
+
speakers: zod.z.array(SpeakerSchema),
|
|
239
|
+
transcript_url: zod.z.string(),
|
|
240
|
+
participants: zod.z.array(zod.z.string()),
|
|
241
|
+
meeting_attendees: zod.z.array(MeetingAttendeeSchema),
|
|
242
|
+
meeting_attendance: zod.z.array(MeetingAttendanceSchema),
|
|
243
|
+
fireflies_users: zod.z.array(zod.z.string()),
|
|
244
|
+
workspace_users: zod.z.array(zod.z.string()),
|
|
245
|
+
duration: zod.z.number(),
|
|
246
|
+
dateString: zod.z.string(),
|
|
247
|
+
date: zod.z.number(),
|
|
248
|
+
audio_url: zod.z.string().optional(),
|
|
249
|
+
video_url: zod.z.string().optional(),
|
|
250
|
+
sentences: zod.z.array(SentenceSchema),
|
|
251
|
+
calendar_id: zod.z.string().optional(),
|
|
252
|
+
summary: SummarySchema.optional(),
|
|
253
|
+
meeting_info: MeetingInfoSchema.optional(),
|
|
254
|
+
cal_id: zod.z.string().optional(),
|
|
255
|
+
calendar_type: zod.z.string().optional(),
|
|
256
|
+
apps_preview: AppsPreviewSchema.optional(),
|
|
257
|
+
meeting_link: zod.z.string().optional(),
|
|
258
|
+
analytics: MeetingAnalyticsSchema.optional(),
|
|
259
|
+
channels: zod.z.array(ChannelSchema)
|
|
260
|
+
});
|
|
261
|
+
function parseTranscript(data) {
|
|
262
|
+
return TranscriptSchema.parse(data);
|
|
263
|
+
}
|
|
264
|
+
function safeParseTranscript(data) {
|
|
265
|
+
return TranscriptSchema.safeParse(data);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
exports.AIAppOutputSchema = AIAppOutputSchema;
|
|
269
|
+
exports.AIFilterSchema = AIFilterSchema;
|
|
270
|
+
exports.ActionItemSchema = ActionItemSchema;
|
|
271
|
+
exports.ActionItemSourceSentenceSchema = ActionItemSourceSentenceSchema;
|
|
272
|
+
exports.ActionItemsResultSchema = ActionItemsResultSchema;
|
|
273
|
+
exports.AppsPreviewSchema = AppsPreviewSchema;
|
|
274
|
+
exports.ChannelMemberSchema = ChannelMemberSchema;
|
|
275
|
+
exports.ChannelSchema = ChannelSchema;
|
|
276
|
+
exports.MeetingAnalyticsSchema = MeetingAnalyticsSchema;
|
|
277
|
+
exports.MeetingAttendanceSchema = MeetingAttendanceSchema;
|
|
278
|
+
exports.MeetingAttendeeSchema = MeetingAttendeeSchema;
|
|
279
|
+
exports.MeetingInfoSchema = MeetingInfoSchema;
|
|
280
|
+
exports.NormalizedAnalyticsSchema = NormalizedAnalyticsSchema;
|
|
281
|
+
exports.NormalizedAttendeeSchema = NormalizedAttendeeSchema;
|
|
282
|
+
exports.NormalizedChannelSchema = NormalizedChannelSchema;
|
|
283
|
+
exports.NormalizedMeetingSchema = NormalizedMeetingSchema;
|
|
284
|
+
exports.NormalizedParticipantSchema = NormalizedParticipantSchema;
|
|
285
|
+
exports.NormalizedSentenceSchema = NormalizedSentenceSchema;
|
|
286
|
+
exports.NormalizedSpeakerSchema = NormalizedSpeakerSchema;
|
|
287
|
+
exports.NormalizedSummarySchema = NormalizedSummarySchema;
|
|
288
|
+
exports.SentenceSchema = SentenceSchema;
|
|
289
|
+
exports.SentimentsSchema = SentimentsSchema;
|
|
290
|
+
exports.SpeakerAnalyticsSchema = SpeakerAnalyticsSchema;
|
|
291
|
+
exports.SpeakerSchema = SpeakerSchema;
|
|
292
|
+
exports.SpeakerStatsSchema = SpeakerStatsSchema;
|
|
293
|
+
exports.SummarySchema = SummarySchema;
|
|
294
|
+
exports.SummarySectionSchema = SummarySectionSchema;
|
|
295
|
+
exports.SummaryStatusSchema = SummaryStatusSchema;
|
|
296
|
+
exports.TranscriptSchema = TranscriptSchema;
|
|
297
|
+
exports.UserSchema = UserSchema;
|
|
298
|
+
exports.parseActionItemsResult = parseActionItemsResult;
|
|
299
|
+
exports.parseNormalizedMeeting = parseNormalizedMeeting;
|
|
300
|
+
exports.parseSpeakerAnalytics = parseSpeakerAnalytics;
|
|
301
|
+
exports.parseTranscript = parseTranscript;
|
|
302
|
+
exports.safeParseActionItemsResult = safeParseActionItemsResult;
|
|
303
|
+
exports.safeParseNormalizedMeeting = safeParseNormalizedMeeting;
|
|
304
|
+
exports.safeParseSpeakerAnalytics = safeParseSpeakerAnalytics;
|
|
305
|
+
exports.safeParseTranscript = safeParseTranscript;
|
|
306
|
+
//# sourceMappingURL=index.cjs.map
|
|
307
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/helpers.ts","../../src/schemas/normalized.ts","../../src/schemas/transcript.ts"],"names":["z"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\nimport type { ActionItemsResult } from '../helpers/action-items.js';\nimport type { SpeakerAnalytics } from '../helpers/speaker-analytics.js';\n\n/**\n * Zod schema for source sentence in an action item.\n */\nexport const ActionItemSourceSentenceSchema = z.object({\n speakerName: z.string(),\n text: z.string(),\n startTime: z.number().nonnegative(),\n});\n\n/**\n * Zod schema for ActionItem.\n * A single action item extracted from a transcript.\n */\nexport const ActionItemSchema = z.object({\n text: z.string(),\n assignee: z.string().optional(),\n dueDate: z.string().optional(),\n lineNumber: z.number().int().positive(),\n sourceSentence: ActionItemSourceSentenceSchema.optional(),\n});\n\n/**\n * Zod schema for ActionItemsResult.\n * Result of action item extraction from a transcript.\n */\nexport const ActionItemsResultSchema = z.object({\n items: z.array(ActionItemSchema),\n totalItems: z.number().int().nonnegative(),\n assignedItems: z.number().int().nonnegative(),\n datedItems: z.number().int().nonnegative(),\n assignees: z.array(z.string()),\n});\n\n/**\n * Zod schema for SpeakerStats.\n * Statistics for a single speaker in the meeting.\n */\nexport const SpeakerStatsSchema = z.object({\n name: z.string(),\n id: z.string(),\n talkTime: z.number().nonnegative(),\n talkTimePercentage: z.number().min(0).max(100),\n sentenceCount: z.number().int().nonnegative(),\n wordCount: z.number().int().nonnegative(),\n wordsPerMinute: z.number().nonnegative(),\n averageSentenceLength: z.number().nonnegative(),\n turnCount: z.number().int().nonnegative(),\n});\n\n/**\n * Zod schema for SpeakerAnalytics.\n * Overall meeting speaker analytics.\n */\nexport const SpeakerAnalyticsSchema = z.object({\n speakers: z.array(SpeakerStatsSchema),\n totalDuration: z.number().nonnegative(),\n totalTalkTime: z.number().nonnegative(),\n totalSentences: z.number().int().nonnegative(),\n totalWords: z.number().int().nonnegative(),\n dominantSpeaker: z.string(),\n dominantSpeakerPercentage: z.number().min(0).max(100),\n balance: z.enum(['balanced', 'unbalanced', 'dominated']),\n});\n\n/**\n * Parse and validate data as an ActionItemsResult.\n *\n * Throws a ZodError if validation fails.\n *\n * @param data - Unknown data to validate\n * @returns Validated ActionItemsResult\n * @throws {z.ZodError} If validation fails\n *\n * @example\n * ```typescript\n * import { parseActionItemsResult } from 'fireflies-api/schemas';\n *\n * const result = parseActionItemsResult(data);\n * console.log(result.totalItems);\n * ```\n */\nexport function parseActionItemsResult(data: unknown): ActionItemsResult {\n return ActionItemsResultSchema.parse(data) as ActionItemsResult;\n}\n\n/**\n * Safely parse and validate data as an ActionItemsResult.\n *\n * Returns a result object with success/error instead of throwing.\n *\n * @param data - Unknown data to validate\n * @returns SafeParseResult with data on success, error on failure\n */\nexport function safeParseActionItemsResult(data: unknown) {\n return ActionItemsResultSchema.safeParse(data);\n}\n\n/**\n * Parse and validate data as SpeakerAnalytics.\n *\n * Throws a ZodError if validation fails.\n *\n * @param data - Unknown data to validate\n * @returns Validated SpeakerAnalytics\n * @throws {z.ZodError} If validation fails\n *\n * @example\n * ```typescript\n * import { parseSpeakerAnalytics } from 'fireflies-api/schemas';\n *\n * const analytics = parseSpeakerAnalytics(data);\n * console.log(analytics.dominantSpeaker);\n * ```\n */\nexport function parseSpeakerAnalytics(data: unknown): SpeakerAnalytics {\n return SpeakerAnalyticsSchema.parse(data) as SpeakerAnalytics;\n}\n\n/**\n * Safely parse and validate data as SpeakerAnalytics.\n *\n * Returns a result object with success/error instead of throwing.\n *\n * @param data - Unknown data to validate\n * @returns SafeParseResult with data on success, error on failure\n */\nexport function safeParseSpeakerAnalytics(data: unknown) {\n return SpeakerAnalyticsSchema.safeParse(data);\n}\n","import { z } from 'zod';\nimport type { NormalizedMeeting } from '../types/normalized.js';\n\n/**\n * Zod schema for NormalizedSpeaker.\n */\nexport const NormalizedSpeakerSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Zod schema for NormalizedSentence.\n */\nexport const NormalizedSentenceSchema = z.object({\n index: z.number().int().nonnegative(),\n speakerId: z.string(),\n speakerName: z.string(),\n text: z.string(),\n rawText: z.string(),\n startTime: z.number().nonnegative(),\n endTime: z.number().nonnegative(),\n sentiment: z.enum(['positive', 'negative', 'neutral']).optional(),\n isQuestion: z.boolean().optional(),\n isActionItem: z.boolean().optional(),\n});\n\n/**\n * Zod schema for NormalizedParticipant.\n */\nexport const NormalizedParticipantSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n role: z.enum(['organizer', 'attendee']).optional(),\n});\n\n/**\n * Zod schema for NormalizedSummary.\n */\nexport const NormalizedSummarySchema = z.object({\n overview: z.string().optional(),\n keyPoints: z.array(z.string()).optional(),\n actionItems: z.string().optional(),\n outline: z.string().optional(),\n topics: z.array(z.string()).optional(),\n});\n\n/**\n * Zod schema for NormalizedAttendee.\n */\nexport const NormalizedAttendeeSchema = z.object({\n name: z.string(),\n email: z.string().optional(),\n phoneNumber: z.string().optional(),\n joinTime: z.date().optional(),\n leaveTime: z.date().optional(),\n});\n\n/**\n * Zod schema for NormalizedChannel.\n */\nexport const NormalizedChannelSchema = z.object({\n id: z.string(),\n title: z.string(),\n isPrivate: z.boolean(),\n});\n\n/**\n * Zod schema for NormalizedAnalytics.\n */\nexport const NormalizedAnalyticsSchema = z.object({\n sentiments: z\n .object({\n positive: z.number().min(0).max(100),\n neutral: z.number().min(0).max(100),\n negative: z.number().min(0).max(100),\n })\n .optional(),\n});\n\n/**\n * Zod schema for NormalizedMeeting.\n *\n * Use this schema to validate unknown data against the NormalizedMeeting type.\n *\n * @example\n * ```typescript\n * import { NormalizedMeetingSchema } from 'fireflies-api/schemas';\n *\n * const result = NormalizedMeetingSchema.safeParse(data);\n * if (result.success) {\n * const meeting = result.data; // NormalizedMeeting\n * }\n * ```\n */\nexport const NormalizedMeetingSchema = z.object({\n id: z.string().startsWith('fireflies:'),\n title: z.string(),\n date: z.date(),\n duration: z.number().positive(),\n url: z.string().url(),\n speakers: z.array(NormalizedSpeakerSchema),\n sentences: z.array(NormalizedSentenceSchema),\n participants: z.array(NormalizedParticipantSchema),\n summary: NormalizedSummarySchema.optional(),\n attendees: z.array(NormalizedAttendeeSchema).optional(),\n channels: z.array(NormalizedChannelSchema).optional(),\n analytics: NormalizedAnalyticsSchema.optional(),\n source: z.object({\n provider: z.literal('fireflies'),\n originalId: z.string(),\n rawData: z.unknown().optional(),\n }),\n});\n\n/**\n * Parse and validate data as a NormalizedMeeting.\n *\n * Throws a ZodError if validation fails.\n *\n * @param data - Unknown data to validate\n * @returns Validated NormalizedMeeting\n * @throws {z.ZodError} If validation fails\n *\n * @example\n * ```typescript\n * import { parseNormalizedMeeting } from 'fireflies-api/schemas';\n *\n * try {\n * const meeting = parseNormalizedMeeting(untrustedData);\n * console.log(meeting.id);\n * } catch (e) {\n * console.error('Invalid data:', e);\n * }\n * ```\n */\nexport function parseNormalizedMeeting(data: unknown): NormalizedMeeting {\n return NormalizedMeetingSchema.parse(data) as NormalizedMeeting;\n}\n\n/**\n * Safely parse and validate data as a NormalizedMeeting.\n *\n * Returns a result object with success/error instead of throwing.\n *\n * @param data - Unknown data to validate\n * @returns SafeParseResult with data on success, error on failure\n *\n * @example\n * ```typescript\n * import { safeParseNormalizedMeeting } from 'fireflies-api/schemas';\n *\n * const result = safeParseNormalizedMeeting(untrustedData);\n * if (result.success) {\n * console.log(result.data.id);\n * } else {\n * console.error('Validation failed:', result.error);\n * }\n * ```\n */\nexport function safeParseNormalizedMeeting(data: unknown) {\n return NormalizedMeetingSchema.safeParse(data);\n}\n","import { z } from 'zod';\nimport type { Transcript } from '../types/transcript.js';\n\n/**\n * Zod schema for Speaker.\n */\nexport const SpeakerSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\n/**\n * Zod schema for AIFilter.\n * All fields are optional AI-detected content filters for a sentence.\n */\nexport const AIFilterSchema = z.object({\n task: z.string().optional(),\n pricing: z.string().optional(),\n metric: z.string().optional(),\n question: z.string().optional(),\n date_and_time: z.string().optional(),\n text_cleanup: z.string().optional(),\n sentiment: z.string().optional(),\n});\n\n/**\n * Zod schema for Sentence.\n */\nexport const SentenceSchema = z.object({\n index: z.number().int().nonnegative(),\n text: z.string(),\n raw_text: z.string(),\n start_time: z.string(),\n end_time: z.string(),\n speaker_id: z.string(),\n speaker_name: z.string(),\n ai_filters: AIFilterSchema.optional(),\n});\n\n/**\n * Zod schema for SummarySection.\n */\nexport const SummarySectionSchema = z.object({\n title: z.string(),\n content: z.string(),\n});\n\n/**\n * Zod schema for Summary.\n * AI-generated meeting summary sections.\n */\nexport const SummarySchema = z.object({\n action_items: z.string().optional(),\n keywords: z.string().optional(),\n outline: z.string().optional(),\n overview: z.string().optional(),\n shorthand_bullet: z.string().optional(),\n notes: z.string().optional(),\n gist: z.string().optional(),\n bullet_gist: z.string().optional(),\n short_summary: z.string().optional(),\n short_overview: z.string().optional(),\n meeting_type: z.string().optional(),\n topics_discussed: z.array(z.string()).optional(),\n transcript_chapters: z.array(z.string()).optional(),\n extended_sections: z.array(SummarySectionSchema).optional(),\n});\n\n/**\n * Zod schema for MeetingAttendee.\n * Attendee information from calendar invite.\n */\nexport const MeetingAttendeeSchema = z.object({\n displayName: z.string(),\n email: z.string(),\n phoneNumber: z.string().optional(),\n name: z.string(),\n location: z.string().optional(),\n});\n\n/**\n * Zod schema for MeetingAttendance.\n * Attendance tracking with join/leave times.\n */\nexport const MeetingAttendanceSchema = z.object({\n name: z.string(),\n join_time: z.string(),\n leave_time: z.string().optional(),\n});\n\n/**\n * Summary processing status enum.\n */\nexport const SummaryStatusSchema = z.enum(['processing', 'processed', 'failed', 'skipped']);\n\n/**\n * Zod schema for MeetingInfo.\n * Meeting metadata and processing status.\n */\nexport const MeetingInfoSchema = z.object({\n fred_joined: z.boolean(),\n silent_meeting: z.boolean(),\n summary_status: SummaryStatusSchema,\n});\n\n/**\n * Zod schema for ChannelMember.\n */\nexport const ChannelMemberSchema = z.object({\n user_id: z.string(),\n email: z.string(),\n name: z.string(),\n});\n\n/**\n * Zod schema for Channel.\n */\nexport const ChannelSchema = z.object({\n id: z.string(),\n title: z.string(),\n is_private: z.boolean().optional(),\n created_at: z.string().optional(),\n updated_at: z.string().optional(),\n created_by: z.string().optional(),\n members: z.array(ChannelMemberSchema).optional(),\n});\n\n/**\n * Zod schema for AIAppOutput.\n */\nexport const AIAppOutputSchema = z.object({\n transcript_id: z.string().optional(),\n user_id: z.string().optional(),\n app_id: z.string().optional(),\n created_at: z.number().optional(),\n title: z.string().optional(),\n prompt: z.string().optional(),\n response: z.string().optional(),\n});\n\n/**\n * Zod schema for AppsPreview.\n */\nexport const AppsPreviewSchema = z.object({\n outputs: z.array(AIAppOutputSchema),\n});\n\n/**\n * Zod schema for Sentiments.\n * Sentiment percentages for a meeting (0-100).\n */\nexport const SentimentsSchema = z.object({\n negative_pct: z.number().min(0).max(100).optional(),\n neutral_pct: z.number().min(0).max(100).optional(),\n positive_pct: z.number().min(0).max(100).optional(),\n});\n\n/**\n * Zod schema for MeetingAnalytics.\n */\nexport const MeetingAnalyticsSchema = z.object({\n sentiments: SentimentsSchema.optional(),\n});\n\n/**\n * Zod schema for User.\n */\nexport const UserSchema = z.object({\n user_id: z.string(),\n email: z.string(),\n name: z.string().optional(),\n num_transcripts: z.number().int().nonnegative().optional(),\n is_admin: z.boolean().optional(),\n});\n\n/**\n * Zod schema for Transcript.\n *\n * Use this schema to validate unknown data against the Transcript type.\n *\n * @example\n * ```typescript\n * import { TranscriptSchema } from 'fireflies-api/schemas';\n *\n * const result = TranscriptSchema.safeParse(apiResponse);\n * if (result.success) {\n * const transcript = result.data;\n * }\n * ```\n */\nexport const TranscriptSchema = z.object({\n id: z.string(),\n title: z.string(),\n organizer_email: z.string(),\n host_email: z.string().optional(),\n user: UserSchema.optional(),\n speakers: z.array(SpeakerSchema),\n transcript_url: z.string(),\n participants: z.array(z.string()),\n meeting_attendees: z.array(MeetingAttendeeSchema),\n meeting_attendance: z.array(MeetingAttendanceSchema),\n fireflies_users: z.array(z.string()),\n workspace_users: z.array(z.string()),\n duration: z.number(),\n dateString: z.string(),\n date: z.number(),\n audio_url: z.string().optional(),\n video_url: z.string().optional(),\n sentences: z.array(SentenceSchema),\n calendar_id: z.string().optional(),\n summary: SummarySchema.optional(),\n meeting_info: MeetingInfoSchema.optional(),\n cal_id: z.string().optional(),\n calendar_type: z.string().optional(),\n apps_preview: AppsPreviewSchema.optional(),\n meeting_link: z.string().optional(),\n analytics: MeetingAnalyticsSchema.optional(),\n channels: z.array(ChannelSchema),\n});\n\n/**\n * Parse and validate data as a Transcript.\n *\n * Throws a ZodError if validation fails.\n *\n * @param data - Unknown data to validate\n * @returns Validated Transcript\n * @throws {z.ZodError} If validation fails\n *\n * @example\n * ```typescript\n * import { parseTranscript } from 'fireflies-api/schemas';\n *\n * try {\n * const transcript = parseTranscript(apiResponse);\n * console.log(transcript.title);\n * } catch (e) {\n * console.error('Invalid data:', e);\n * }\n * ```\n */\nexport function parseTranscript(data: unknown): Transcript {\n return TranscriptSchema.parse(data) as Transcript;\n}\n\n/**\n * Safely parse and validate data as a Transcript.\n *\n * Returns a result object with success/error instead of throwing.\n *\n * @param data - Unknown data to validate\n * @returns SafeParseResult with data on success, error on failure\n *\n * @example\n * ```typescript\n * import { safeParseTranscript } from 'fireflies-api/schemas';\n *\n * const result = safeParseTranscript(apiResponse);\n * if (result.success) {\n * console.log(result.data.title);\n * } else {\n * console.error('Validation failed:', result.error);\n * }\n * ```\n */\nexport function safeParseTranscript(data: unknown) {\n return TranscriptSchema.safeParse(data);\n}\n"]}
|