@pinecall/protocol 0.1.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,902 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Where the call is in its life. idle before any call.* entry, which is what an agent's own log
4
+ * looks like.
5
+ */
6
+ export declare const CallStatusSchema: z.ZodEnum<{
7
+ idle: "idle";
8
+ ringing: "ringing";
9
+ dialing: "dialing";
10
+ active: "active";
11
+ ended: "ended";
12
+ }>;
13
+ export type CallStatus = z.infer<typeof CallStatusSchema>;
14
+ /** One finished turn of the caller, with what the session measured about it. */
15
+ export declare const UserTurnSchema: z.ZodObject<{
16
+ role: z.ZodLiteral<"user">;
17
+ speech_id: z.ZodString;
18
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ text: z.ZodString;
20
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ transcript_confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
22
+ metrics: z.ZodObject<{
23
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
24
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
25
+ transcription_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
26
+ end_of_turn_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ on_user_turn_completed_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
+ stt_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
29
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ }, z.core.$strict>>>;
32
+ }, z.core.$strict>;
33
+ }, z.core.$strict>;
34
+ export type UserTurn = z.infer<typeof UserTurnSchema>;
35
+ /** One finished reply of the agent, with what the session measured about it. */
36
+ export declare const AgentTurnSchema: z.ZodObject<{
37
+ role: z.ZodLiteral<"agent">;
38
+ speech_id: z.ZodString;
39
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ text: z.ZodString;
41
+ interrupted: z.ZodBoolean;
42
+ metrics: z.ZodObject<{
43
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
45
+ llm_node_ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
46
+ llm_node_tps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
47
+ llm_node_ttfs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
48
+ tts_node_ttfb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
49
+ playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
50
+ e2e_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
51
+ provider_request_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
52
+ llm_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
53
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ }, z.core.$strict>>>;
56
+ tts_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
57
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ }, z.core.$strict>>>;
60
+ }, z.core.$strict>;
61
+ }, z.core.$strict>;
62
+ export type AgentTurn = z.infer<typeof AgentTurnSchema>;
63
+ /** One turn of either side, told apart by role. */
64
+ export declare const TurnSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
65
+ role: z.ZodLiteral<"user">;
66
+ speech_id: z.ZodString;
67
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
68
+ text: z.ZodString;
69
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ transcript_confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
71
+ metrics: z.ZodObject<{
72
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
73
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
74
+ transcription_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
75
+ end_of_turn_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
76
+ on_user_turn_completed_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
77
+ stt_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
78
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
79
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
+ }, z.core.$strict>>>;
81
+ }, z.core.$strict>;
82
+ }, z.core.$strict>, z.ZodObject<{
83
+ role: z.ZodLiteral<"agent">;
84
+ speech_id: z.ZodString;
85
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
+ text: z.ZodString;
87
+ interrupted: z.ZodBoolean;
88
+ metrics: z.ZodObject<{
89
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
90
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
91
+ llm_node_ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
92
+ llm_node_tps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
93
+ llm_node_ttfs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
94
+ tts_node_ttfb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
95
+ playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
96
+ e2e_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
97
+ provider_request_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
98
+ llm_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
99
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
101
+ }, z.core.$strict>>>;
102
+ tts_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
103
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
104
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
105
+ }, z.core.$strict>>>;
106
+ }, z.core.$strict>;
107
+ }, z.core.$strict>], "role">;
108
+ export type Turn = z.infer<typeof TurnSchema>;
109
+ /**
110
+ * Every raw metric block of the call, by kind, in the order it arrived. The turns hold the join;
111
+ * this holds the measurements.
112
+ */
113
+ export declare const CollectedMetricsSchema: z.ZodObject<{
114
+ llm: z.ZodArray<z.ZodObject<{
115
+ type: z.ZodLiteral<"llm_metrics">;
116
+ label: z.ZodString;
117
+ request_id: z.ZodString;
118
+ timestamp: z.ZodNumber;
119
+ duration: z.ZodNumber;
120
+ ttft: z.ZodNumber;
121
+ cancelled: z.ZodBoolean;
122
+ completion_tokens: z.ZodInt;
123
+ prompt_tokens: z.ZodInt;
124
+ prompt_cached_tokens: z.ZodInt;
125
+ cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
126
+ reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
127
+ total_tokens: z.ZodInt;
128
+ tokens_per_second: z.ZodNumber;
129
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
130
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
131
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
132
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
133
+ }, z.core.$strict>>>>;
134
+ }, z.core.$strict>>;
135
+ stt: z.ZodArray<z.ZodObject<{
136
+ type: z.ZodLiteral<"stt_metrics">;
137
+ label: z.ZodString;
138
+ request_id: z.ZodString;
139
+ timestamp: z.ZodNumber;
140
+ duration: z.ZodNumber;
141
+ audio_duration: z.ZodNumber;
142
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
143
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
144
+ streamed: z.ZodBoolean;
145
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
146
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
147
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
148
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
149
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
150
+ }, z.core.$strict>>>>;
151
+ }, z.core.$strict>>;
152
+ tts: z.ZodArray<z.ZodObject<{
153
+ type: z.ZodLiteral<"tts_metrics">;
154
+ label: z.ZodString;
155
+ request_id: z.ZodString;
156
+ timestamp: z.ZodNumber;
157
+ ttfb: z.ZodNumber;
158
+ duration: z.ZodNumber;
159
+ audio_duration: z.ZodNumber;
160
+ cancelled: z.ZodBoolean;
161
+ characters_count: z.ZodInt;
162
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
163
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
164
+ streamed: z.ZodBoolean;
165
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
166
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
167
+ segment_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
168
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
169
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
170
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
171
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
172
+ }, z.core.$strict>>>>;
173
+ }, z.core.$strict>>;
174
+ vad: z.ZodArray<z.ZodObject<{
175
+ type: z.ZodLiteral<"vad_metrics">;
176
+ label: z.ZodString;
177
+ timestamp: z.ZodNumber;
178
+ idle_time: z.ZodNumber;
179
+ inference_duration_total: z.ZodNumber;
180
+ inference_count: z.ZodInt;
181
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
182
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
183
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
184
+ }, z.core.$strict>>>>;
185
+ }, z.core.$strict>>;
186
+ eou: z.ZodArray<z.ZodObject<{
187
+ type: z.ZodLiteral<"eou_metrics">;
188
+ timestamp: z.ZodNumber;
189
+ end_of_utterance_delay: z.ZodNumber;
190
+ transcription_delay: z.ZodNumber;
191
+ on_user_turn_completed_delay: z.ZodNumber;
192
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
193
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
194
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
195
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
196
+ }, z.core.$strict>>>>;
197
+ }, z.core.$strict>>;
198
+ eot: z.ZodArray<z.ZodObject<{
199
+ type: z.ZodLiteral<"eot_inference_metrics">;
200
+ timestamp: z.ZodNumber;
201
+ total_duration: z.ZodNumber;
202
+ detection_delay: z.ZodNumber;
203
+ prediction_duration: z.ZodNumber;
204
+ num_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
205
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
206
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
207
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
208
+ }, z.core.$strict>>>>;
209
+ }, z.core.$strict>>;
210
+ interruption: z.ZodArray<z.ZodObject<{
211
+ type: z.ZodLiteral<"interruption_metrics">;
212
+ timestamp: z.ZodNumber;
213
+ total_duration: z.ZodNumber;
214
+ prediction_duration: z.ZodNumber;
215
+ detection_delay: z.ZodNumber;
216
+ num_interruptions: z.ZodInt;
217
+ num_backchannels: z.ZodInt;
218
+ num_requests: z.ZodInt;
219
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
220
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
221
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
222
+ }, z.core.$strict>>>>;
223
+ }, z.core.$strict>>;
224
+ realtime: z.ZodArray<z.ZodObject<{
225
+ type: z.ZodLiteral<"realtime_model_metrics">;
226
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
227
+ request_id: z.ZodString;
228
+ timestamp: z.ZodNumber;
229
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
230
+ session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
231
+ ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
232
+ cancelled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
233
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
234
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
235
+ total_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
236
+ tokens_per_second: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
237
+ input_token_details: z.ZodObject<{
238
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
239
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
240
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
241
+ cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
242
+ cached_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
243
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
244
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
245
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
246
+ }, z.core.$strict>>>>;
247
+ }, z.core.$strict>;
248
+ output_token_details: z.ZodObject<{
249
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
250
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
251
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
252
+ }, z.core.$strict>;
253
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
254
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
255
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
256
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
257
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
258
+ }, z.core.$strict>>>>;
259
+ }, z.core.$strict>>;
260
+ avatar: z.ZodArray<z.ZodObject<{
261
+ type: z.ZodLiteral<"avatar_metrics">;
262
+ timestamp: z.ZodNumber;
263
+ playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
264
+ session_started_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
265
+ avatar_joined_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
266
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
267
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
268
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
269
+ }, z.core.$strict>>>>;
270
+ }, z.core.$strict>>;
271
+ }, z.core.$strict>;
272
+ export type CollectedMetrics = z.infer<typeof CollectedMetricsSchema>;
273
+ /** One tool call and, once the app answered, its result. */
274
+ export declare const ToolRunSchema: z.ZodObject<{
275
+ call_id: z.ZodString;
276
+ name: z.ZodString;
277
+ arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
278
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
279
+ status: z.ZodEnum<{
280
+ running: "running";
281
+ done: "done";
282
+ failed: "failed";
283
+ }>;
284
+ output: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
285
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
286
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
287
+ duration_s: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
288
+ seq: z.ZodInt;
289
+ }, z.core.$strict>;
290
+ export type ToolRun = z.infer<typeof ToolRunSchema>;
291
+ /** What is known about one block of the prompt without storing its text. */
292
+ export declare const PromptBlockStateSchema: z.ZodObject<{
293
+ hash: z.ZodString;
294
+ chars: z.ZodInt;
295
+ seq: z.ZodInt;
296
+ }, z.core.$strict>;
297
+ export type PromptBlockState = z.infer<typeof PromptBlockStateSchema>;
298
+ /**
299
+ * Every block the app has written, by name, without its text. The history between the static and
300
+ * the dynamic blocks is the turns.
301
+ */
302
+ export declare const PromptStateSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
303
+ hash: z.ZodString;
304
+ chars: z.ZodInt;
305
+ seq: z.ZodInt;
306
+ }, z.core.$strict>>;
307
+ export type PromptState = z.infer<typeof PromptStateSchema>;
308
+ /** One confirmation the platform asked for, and how it went. */
309
+ export declare const ConfirmSchema: z.ZodObject<{
310
+ tool: z.ZodString;
311
+ call_id: z.ZodString;
312
+ audience: z.ZodString;
313
+ phrase: z.ZodString;
314
+ status: z.ZodEnum<{
315
+ pending: "pending";
316
+ granted: "granted";
317
+ declined: "declined";
318
+ }>;
319
+ said: z.ZodOptional<z.ZodNullable<z.ZodString>>;
320
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
321
+ }, z.core.$strict>;
322
+ export type Confirm = z.infer<typeof ConfirmSchema>;
323
+ /** Whether a supervisor holds the line right now. */
324
+ export declare const HandoffSchema: z.ZodObject<{
325
+ active: z.ZodBoolean;
326
+ by: z.ZodNullable<z.ZodObject<{
327
+ id: z.ZodString;
328
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
+ }, z.core.$strict>>;
330
+ }, z.core.$strict>;
331
+ export type Handoff = z.infer<typeof HandoffSchema>;
332
+ /** The transfer in flight or the one that happened. */
333
+ export declare const TransferStateSchema: z.ZodObject<{
334
+ to: z.ZodString;
335
+ mode: z.ZodEnum<{
336
+ cold: "cold";
337
+ warm: "warm";
338
+ }>;
339
+ status: z.ZodEnum<{
340
+ done: "done";
341
+ failed: "failed";
342
+ requested: "requested";
343
+ }>;
344
+ by: z.ZodEnum<{
345
+ agent: "agent";
346
+ supervisor: "supervisor";
347
+ }>;
348
+ }, z.core.$strict>;
349
+ export type TransferState = z.infer<typeof TransferStateSchema>;
350
+ /** The words on screen right now: interim transcripts that a finished turn clears. */
351
+ export declare const LiveTranscriptSchema: z.ZodObject<{
352
+ user: z.ZodNullable<z.ZodString>;
353
+ agent: z.ZodNullable<z.ZodString>;
354
+ }, z.core.$strict>;
355
+ export type LiveTranscript = z.infer<typeof LiveTranscriptSchema>;
356
+ /** A stretch of seqs this reader never saw. */
357
+ export declare const GapSchema: z.ZodObject<{
358
+ from_seq: z.ZodInt;
359
+ to_seq: z.ZodInt;
360
+ }, z.core.$strict>;
361
+ export type Gap = z.infer<typeof GapSchema>;
362
+ /** An error entry, kept so the console can show what went wrong and when. */
363
+ export declare const LoggedErrorSchema: z.ZodObject<{
364
+ seq: z.ZodInt;
365
+ code: z.ZodString;
366
+ message: z.ZodString;
367
+ }, z.core.$strict>;
368
+ export type LoggedError = z.infer<typeof LoggedErrorSchema>;
369
+ /** One participant in the room right now, as the room reported them when they joined. */
370
+ export declare const ParticipantSchema: z.ZodObject<{
371
+ identity: z.ZodString;
372
+ kind: z.ZodEnum<{
373
+ agent: "agent";
374
+ caller: "caller";
375
+ supervisor: "supervisor";
376
+ listener: "listener";
377
+ sip: "sip";
378
+ }>;
379
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
380
+ joined_at: z.ZodNumber;
381
+ speaking: z.ZodBoolean;
382
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
383
+ }, z.core.$strict>;
384
+ export type Participant = z.infer<typeof ParticipantSchema>;
385
+ /** The LiveKit room the call lives in, and who is in it right now. */
386
+ export declare const RoomSchema: z.ZodObject<{
387
+ name: z.ZodString;
388
+ sid: z.ZodString;
389
+ participants: z.ZodArray<z.ZodObject<{
390
+ identity: z.ZodString;
391
+ kind: z.ZodEnum<{
392
+ agent: "agent";
393
+ caller: "caller";
394
+ supervisor: "supervisor";
395
+ listener: "listener";
396
+ sip: "sip";
397
+ }>;
398
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ joined_at: z.ZodNumber;
400
+ speaking: z.ZodBoolean;
401
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
402
+ }, z.core.$strict>>;
403
+ caller: z.ZodNullable<z.ZodString>;
404
+ }, z.core.$strict>;
405
+ export type Room = z.infer<typeof RoomSchema>;
406
+ /**
407
+ * One fact that reached the agent from outside the conversation, kept by name and origin. Its data
408
+ * is in the log at that seq.
409
+ */
410
+ export declare const ReceivedEventSchema: z.ZodObject<{
411
+ seq: z.ZodInt;
412
+ name: z.ZodString;
413
+ source: z.ZodEnum<{
414
+ app: "app";
415
+ participant: "participant";
416
+ }>;
417
+ identity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
418
+ }, z.core.$strict>;
419
+ export type ReceivedEvent = z.infer<typeof ReceivedEventSchema>;
420
+ /** A line the app wrote into the log with call.log. */
421
+ export declare const CustomNoteSchema: z.ZodObject<{
422
+ seq: z.ZodInt;
423
+ name: z.ZodString;
424
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
425
+ }, z.core.$strict>;
426
+ export type CustomNote = z.infer<typeof CustomNoteSchema>;
427
+ /** The whole of what a log says, at the seq it was read to. */
428
+ export declare const StateSchema: z.ZodObject<{
429
+ seq: z.ZodInt;
430
+ agent: z.ZodString;
431
+ call: z.ZodNullable<z.ZodString>;
432
+ status: z.ZodEnum<{
433
+ idle: "idle";
434
+ ringing: "ringing";
435
+ dialing: "dialing";
436
+ active: "active";
437
+ ended: "ended";
438
+ }>;
439
+ channel: z.ZodNullable<z.ZodEnum<{
440
+ phone: "phone";
441
+ web: "web";
442
+ whatsapp: "whatsapp";
443
+ }>>;
444
+ direction: z.ZodNullable<z.ZodEnum<{
445
+ inbound: "inbound";
446
+ outbound: "outbound";
447
+ }>>;
448
+ from: z.ZodNullable<z.ZodString>;
449
+ to: z.ZodNullable<z.ZodString>;
450
+ caller: z.ZodNullable<z.ZodObject<{
451
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
452
+ phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
453
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
454
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
455
+ external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
456
+ }, z.core.$strict>>;
457
+ room: z.ZodNullable<z.ZodObject<{
458
+ name: z.ZodString;
459
+ sid: z.ZodString;
460
+ participants: z.ZodArray<z.ZodObject<{
461
+ identity: z.ZodString;
462
+ kind: z.ZodEnum<{
463
+ agent: "agent";
464
+ caller: "caller";
465
+ supervisor: "supervisor";
466
+ listener: "listener";
467
+ sip: "sip";
468
+ }>;
469
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
470
+ joined_at: z.ZodNumber;
471
+ speaking: z.ZodBoolean;
472
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
473
+ }, z.core.$strict>>;
474
+ caller: z.ZodNullable<z.ZodString>;
475
+ }, z.core.$strict>>;
476
+ started_at: z.ZodNullable<z.ZodNumber>;
477
+ ended_at: z.ZodNullable<z.ZodNumber>;
478
+ end_reason: z.ZodNullable<z.ZodEnum<{
479
+ caller_hung_up: "caller_hung_up";
480
+ agent_hung_up: "agent_hung_up";
481
+ supervisor_ended: "supervisor_ended";
482
+ transferred: "transferred";
483
+ no_answer: "no_answer";
484
+ busy: "busy";
485
+ dial_failed: "dial_failed";
486
+ timeout: "timeout";
487
+ drained: "drained";
488
+ app_detached: "app_detached";
489
+ error: "error";
490
+ }>>;
491
+ outcome: z.ZodNullable<z.ZodString>;
492
+ user_state: z.ZodNullable<z.ZodEnum<{
493
+ listening: "listening";
494
+ speaking: "speaking";
495
+ away: "away";
496
+ }>>;
497
+ agent_state: z.ZodNullable<z.ZodEnum<{
498
+ listening: "listening";
499
+ speaking: "speaking";
500
+ initializing: "initializing";
501
+ idle: "idle";
502
+ thinking: "thinking";
503
+ }>>;
504
+ live: z.ZodObject<{
505
+ user: z.ZodNullable<z.ZodString>;
506
+ agent: z.ZodNullable<z.ZodString>;
507
+ }, z.core.$strict>;
508
+ turns: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
509
+ role: z.ZodLiteral<"user">;
510
+ speech_id: z.ZodString;
511
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
512
+ text: z.ZodString;
513
+ language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
514
+ transcript_confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
515
+ metrics: z.ZodObject<{
516
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
517
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
518
+ transcription_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
519
+ end_of_turn_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
520
+ on_user_turn_completed_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
521
+ stt_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
522
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
523
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
524
+ }, z.core.$strict>>>;
525
+ }, z.core.$strict>;
526
+ }, z.core.$strict>, z.ZodObject<{
527
+ role: z.ZodLiteral<"agent">;
528
+ speech_id: z.ZodString;
529
+ item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
530
+ text: z.ZodString;
531
+ interrupted: z.ZodBoolean;
532
+ metrics: z.ZodObject<{
533
+ started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
534
+ stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
535
+ llm_node_ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
536
+ llm_node_tps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
537
+ llm_node_ttfs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
538
+ tts_node_ttfb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
539
+ playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
540
+ e2e_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
541
+ provider_request_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
542
+ llm_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
543
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
544
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
545
+ }, z.core.$strict>>>;
546
+ tts_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
547
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
548
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
549
+ }, z.core.$strict>>>;
550
+ }, z.core.$strict>;
551
+ }, z.core.$strict>], "role">>;
552
+ metrics: z.ZodObject<{
553
+ llm: z.ZodArray<z.ZodObject<{
554
+ type: z.ZodLiteral<"llm_metrics">;
555
+ label: z.ZodString;
556
+ request_id: z.ZodString;
557
+ timestamp: z.ZodNumber;
558
+ duration: z.ZodNumber;
559
+ ttft: z.ZodNumber;
560
+ cancelled: z.ZodBoolean;
561
+ completion_tokens: z.ZodInt;
562
+ prompt_tokens: z.ZodInt;
563
+ prompt_cached_tokens: z.ZodInt;
564
+ cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
565
+ reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
566
+ total_tokens: z.ZodInt;
567
+ tokens_per_second: z.ZodNumber;
568
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
569
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
570
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
571
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
572
+ }, z.core.$strict>>>>;
573
+ }, z.core.$strict>>;
574
+ stt: z.ZodArray<z.ZodObject<{
575
+ type: z.ZodLiteral<"stt_metrics">;
576
+ label: z.ZodString;
577
+ request_id: z.ZodString;
578
+ timestamp: z.ZodNumber;
579
+ duration: z.ZodNumber;
580
+ audio_duration: z.ZodNumber;
581
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
582
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
583
+ streamed: z.ZodBoolean;
584
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
585
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
586
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
587
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
588
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
589
+ }, z.core.$strict>>>>;
590
+ }, z.core.$strict>>;
591
+ tts: z.ZodArray<z.ZodObject<{
592
+ type: z.ZodLiteral<"tts_metrics">;
593
+ label: z.ZodString;
594
+ request_id: z.ZodString;
595
+ timestamp: z.ZodNumber;
596
+ ttfb: z.ZodNumber;
597
+ duration: z.ZodNumber;
598
+ audio_duration: z.ZodNumber;
599
+ cancelled: z.ZodBoolean;
600
+ characters_count: z.ZodInt;
601
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
602
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
603
+ streamed: z.ZodBoolean;
604
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
605
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
606
+ segment_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
607
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
608
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
609
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
610
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
611
+ }, z.core.$strict>>>>;
612
+ }, z.core.$strict>>;
613
+ vad: z.ZodArray<z.ZodObject<{
614
+ type: z.ZodLiteral<"vad_metrics">;
615
+ label: z.ZodString;
616
+ timestamp: z.ZodNumber;
617
+ idle_time: z.ZodNumber;
618
+ inference_duration_total: z.ZodNumber;
619
+ inference_count: z.ZodInt;
620
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
621
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
622
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
623
+ }, z.core.$strict>>>>;
624
+ }, z.core.$strict>>;
625
+ eou: z.ZodArray<z.ZodObject<{
626
+ type: z.ZodLiteral<"eou_metrics">;
627
+ timestamp: z.ZodNumber;
628
+ end_of_utterance_delay: z.ZodNumber;
629
+ transcription_delay: z.ZodNumber;
630
+ on_user_turn_completed_delay: z.ZodNumber;
631
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
632
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
633
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
634
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
635
+ }, z.core.$strict>>>>;
636
+ }, z.core.$strict>>;
637
+ eot: z.ZodArray<z.ZodObject<{
638
+ type: z.ZodLiteral<"eot_inference_metrics">;
639
+ timestamp: z.ZodNumber;
640
+ total_duration: z.ZodNumber;
641
+ detection_delay: z.ZodNumber;
642
+ prediction_duration: z.ZodNumber;
643
+ num_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
644
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
645
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
646
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
647
+ }, z.core.$strict>>>>;
648
+ }, z.core.$strict>>;
649
+ interruption: z.ZodArray<z.ZodObject<{
650
+ type: z.ZodLiteral<"interruption_metrics">;
651
+ timestamp: z.ZodNumber;
652
+ total_duration: z.ZodNumber;
653
+ prediction_duration: z.ZodNumber;
654
+ detection_delay: z.ZodNumber;
655
+ num_interruptions: z.ZodInt;
656
+ num_backchannels: z.ZodInt;
657
+ num_requests: z.ZodInt;
658
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
659
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
660
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
661
+ }, z.core.$strict>>>>;
662
+ }, z.core.$strict>>;
663
+ realtime: z.ZodArray<z.ZodObject<{
664
+ type: z.ZodLiteral<"realtime_model_metrics">;
665
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
666
+ request_id: z.ZodString;
667
+ timestamp: z.ZodNumber;
668
+ duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
669
+ session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
670
+ ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
671
+ cancelled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
672
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
673
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
674
+ total_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
675
+ tokens_per_second: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
676
+ input_token_details: z.ZodObject<{
677
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
678
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
679
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
680
+ cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
681
+ cached_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
682
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
683
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
684
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
685
+ }, z.core.$strict>>>>;
686
+ }, z.core.$strict>;
687
+ output_token_details: z.ZodObject<{
688
+ text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
689
+ audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
690
+ image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
691
+ }, z.core.$strict>;
692
+ acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
693
+ connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
694
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
695
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
696
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
697
+ }, z.core.$strict>>>>;
698
+ }, z.core.$strict>>;
699
+ avatar: z.ZodArray<z.ZodObject<{
700
+ type: z.ZodLiteral<"avatar_metrics">;
701
+ timestamp: z.ZodNumber;
702
+ playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
703
+ session_started_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
704
+ avatar_joined_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
705
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
706
+ model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
707
+ model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
708
+ }, z.core.$strict>>>>;
709
+ }, z.core.$strict>>;
710
+ }, z.core.$strict>;
711
+ tools: z.ZodArray<z.ZodObject<{
712
+ call_id: z.ZodString;
713
+ name: z.ZodString;
714
+ arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
715
+ speech_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
716
+ status: z.ZodEnum<{
717
+ running: "running";
718
+ done: "done";
719
+ failed: "failed";
720
+ }>;
721
+ output: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
722
+ error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
723
+ summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ duration_s: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
725
+ seq: z.ZodInt;
726
+ }, z.core.$strict>>;
727
+ app_state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
728
+ events: z.ZodArray<z.ZodObject<{
729
+ seq: z.ZodInt;
730
+ name: z.ZodString;
731
+ source: z.ZodEnum<{
732
+ app: "app";
733
+ participant: "participant";
734
+ }>;
735
+ identity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
736
+ }, z.core.$strict>>;
737
+ prompt: z.ZodRecord<z.ZodString, z.ZodObject<{
738
+ hash: z.ZodString;
739
+ chars: z.ZodInt;
740
+ seq: z.ZodInt;
741
+ }, z.core.$strict>>;
742
+ tools_visible: z.ZodArray<z.ZodString>;
743
+ confirms: z.ZodArray<z.ZodObject<{
744
+ tool: z.ZodString;
745
+ call_id: z.ZodString;
746
+ audience: z.ZodString;
747
+ phrase: z.ZodString;
748
+ status: z.ZodEnum<{
749
+ pending: "pending";
750
+ granted: "granted";
751
+ declined: "declined";
752
+ }>;
753
+ said: z.ZodOptional<z.ZodNullable<z.ZodString>>;
754
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
755
+ }, z.core.$strict>>;
756
+ memory: z.ZodArray<z.ZodObject<{
757
+ op: z.ZodEnum<{
758
+ recall: "recall";
759
+ remember: "remember";
760
+ forget: "forget";
761
+ }>;
762
+ contact: z.ZodOptional<z.ZodNullable<z.ZodString>>;
763
+ query: z.ZodOptional<z.ZodNullable<z.ZodString>>;
764
+ facts: z.ZodArray<z.ZodObject<{
765
+ id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
766
+ text: z.ZodString;
767
+ category: z.ZodOptional<z.ZodNullable<z.ZodString>>;
768
+ score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
769
+ source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
770
+ }, z.core.$strict>>;
771
+ took_ms: z.ZodNumber;
772
+ }, z.core.$strict>>;
773
+ sources: z.ZodArray<z.ZodObject<{
774
+ id: z.ZodString;
775
+ path: z.ZodString;
776
+ heading: z.ZodOptional<z.ZodNullable<z.ZodString>>;
777
+ score: z.ZodNumber;
778
+ excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
779
+ }, z.core.$strict>>;
780
+ handoff: z.ZodObject<{
781
+ active: z.ZodBoolean;
782
+ by: z.ZodNullable<z.ZodObject<{
783
+ id: z.ZodString;
784
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
+ }, z.core.$strict>>;
786
+ }, z.core.$strict>;
787
+ held: z.ZodBoolean;
788
+ muted: z.ZodBoolean;
789
+ transfer: z.ZodNullable<z.ZodObject<{
790
+ to: z.ZodString;
791
+ mode: z.ZodEnum<{
792
+ cold: "cold";
793
+ warm: "warm";
794
+ }>;
795
+ status: z.ZodEnum<{
796
+ done: "done";
797
+ failed: "failed";
798
+ requested: "requested";
799
+ }>;
800
+ by: z.ZodEnum<{
801
+ agent: "agent";
802
+ supervisor: "supervisor";
803
+ }>;
804
+ }, z.core.$strict>>;
805
+ usage: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
806
+ type: z.ZodLiteral<"llm_usage">;
807
+ provider: z.ZodString;
808
+ model: z.ZodString;
809
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
810
+ input_cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
811
+ input_cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
812
+ input_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
813
+ input_cached_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
814
+ input_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
815
+ input_cached_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
816
+ input_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
817
+ input_cached_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
818
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
819
+ output_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
820
+ output_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
821
+ output_reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
822
+ session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
823
+ }, z.core.$strict>, z.ZodObject<{
824
+ type: z.ZodLiteral<"tts_usage">;
825
+ provider: z.ZodString;
826
+ model: z.ZodString;
827
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
828
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
829
+ characters_count: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
830
+ audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
831
+ }, z.core.$strict>, z.ZodObject<{
832
+ type: z.ZodLiteral<"stt_usage">;
833
+ provider: z.ZodString;
834
+ model: z.ZodString;
835
+ input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
836
+ output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
837
+ audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
838
+ }, z.core.$strict>, z.ZodObject<{
839
+ type: z.ZodLiteral<"interruption_usage">;
840
+ provider: z.ZodString;
841
+ model: z.ZodString;
842
+ total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
843
+ }, z.core.$strict>, z.ZodObject<{
844
+ type: z.ZodLiteral<"eot_usage">;
845
+ provider: z.ZodString;
846
+ model: z.ZodString;
847
+ total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
848
+ }, z.core.$strict>], "type">>;
849
+ cost: z.ZodNullable<z.ZodObject<{
850
+ eur: z.ZodNumber;
851
+ rate: z.ZodObject<{
852
+ currency: z.ZodLiteral<"EUR">;
853
+ usd_to_eur: z.ZodNumber;
854
+ as_of: z.ZodString;
855
+ }, z.core.$strict>;
856
+ rows: z.ZodArray<z.ZodObject<{
857
+ provider: z.ZodString;
858
+ model: z.ZodString;
859
+ unit: z.ZodEnum<{
860
+ input_tokens: "input_tokens";
861
+ cached_input_tokens: "cached_input_tokens";
862
+ cache_creation_tokens: "cache_creation_tokens";
863
+ output_tokens: "output_tokens";
864
+ characters: "characters";
865
+ audio_seconds: "audio_seconds";
866
+ requests: "requests";
867
+ session_seconds: "session_seconds";
868
+ }>;
869
+ quantity: z.ZodNumber;
870
+ unit_price_usd: z.ZodNumber;
871
+ eur: z.ZodNumber;
872
+ }, z.core.$strict>>;
873
+ unpriced: z.ZodArray<z.ZodObject<{
874
+ provider: z.ZodString;
875
+ model: z.ZodString;
876
+ }, z.core.$strict>>;
877
+ }, z.core.$strict>>;
878
+ routes: z.ZodArray<z.ZodObject<{
879
+ channel: z.ZodEnum<{
880
+ phone: "phone";
881
+ web: "web";
882
+ whatsapp: "whatsapp";
883
+ }>;
884
+ number: z.ZodNullable<z.ZodString>;
885
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
886
+ }, z.core.$strict>>;
887
+ gaps: z.ZodArray<z.ZodObject<{
888
+ from_seq: z.ZodInt;
889
+ to_seq: z.ZodInt;
890
+ }, z.core.$strict>>;
891
+ errors: z.ZodArray<z.ZodObject<{
892
+ seq: z.ZodInt;
893
+ code: z.ZodString;
894
+ message: z.ZodString;
895
+ }, z.core.$strict>>;
896
+ custom: z.ZodArray<z.ZodObject<{
897
+ seq: z.ZodInt;
898
+ name: z.ZodString;
899
+ data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
900
+ }, z.core.$strict>>;
901
+ }, z.core.$strict>;
902
+ export type State = z.infer<typeof StateSchema>;