@pinecall/room 0.1.3 → 0.1.4
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/README.md +2 -2
- package/dist/code.js +1 -1
- package/dist/code.js.map +1 -1
- package/dist/karaoke.d.ts +1 -1
- package/dist/karaoke.d.ts.map +1 -1
- package/dist/karaoke.js +2 -1
- package/dist/karaoke.js.map +1 -1
- package/dist/log/fold.d.ts +2 -1
- package/dist/log/fold.d.ts.map +1 -1
- package/dist/log/fold.js +4 -1
- package/dist/log/fold.js.map +1 -1
- package/dist/log/follow.js +1 -1
- package/dist/log/follow.js.map +1 -1
- package/dist/room.d.ts +2 -1
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +3 -1
- package/dist/room.js.map +1 -1
- package/dist/rows.d.ts +1 -1
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +1 -0
- package/dist/rows.js.map +1 -1
- package/dist/wire/codec.d.ts +22 -0
- package/dist/wire/codec.d.ts.map +1 -0
- package/dist/wire/codec.js +23 -0
- package/dist/wire/codec.js.map +1 -0
- package/dist/wire/defs.d.ts +302 -0
- package/dist/wire/defs.d.ts.map +1 -0
- package/dist/wire/defs.js +171 -0
- package/dist/wire/defs.js.map +1 -0
- package/dist/wire/envelope.d.ts +17 -0
- package/dist/wire/envelope.d.ts.map +1 -0
- package/dist/wire/envelope.js +16 -0
- package/dist/wire/envelope.js.map +1 -0
- package/dist/wire/events-call.d.ts +422 -0
- package/dist/wire/events-call.d.ts.map +1 -0
- package/dist/wire/events-call.js +182 -0
- package/dist/wire/events-call.js.map +1 -0
- package/dist/wire/events.d.ts +923 -0
- package/dist/wire/events.d.ts.map +1 -0
- package/dist/wire/events.js +292 -0
- package/dist/wire/events.js.map +1 -0
- package/dist/wire/metrics.d.ts +366 -0
- package/dist/wire/metrics.d.ts.map +1 -0
- package/dist/wire/metrics.js +269 -0
- package/dist/wire/metrics.js.map +1 -0
- package/dist/wire/reduce.d.ts +12 -0
- package/dist/wire/reduce.d.ts.map +1 -0
- package/dist/wire/reduce.js +375 -0
- package/dist/wire/reduce.js.map +1 -0
- package/dist/wire/registry.d.ts +1395 -0
- package/dist/wire/registry.d.ts.map +1 -0
- package/dist/wire/registry.js +81 -0
- package/dist/wire/registry.js.map +1 -0
- package/dist/wire/rest.d.ts +18 -0
- package/dist/wire/rest.d.ts.map +1 -0
- package/dist/wire/rest.js +14 -0
- package/dist/wire/rest.js.map +1 -0
- package/dist/wire/room.d.ts +106 -0
- package/dist/wire/room.d.ts.map +1 -0
- package/dist/wire/room.js +73 -0
- package/dist/wire/room.js.map +1 -0
- package/dist/wire/state.d.ts +915 -0
- package/dist/wire/state.d.ts.map +1 -0
- package/dist/wire/state.js +189 -0
- package/dist/wire/state.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
/** The events of a call's life and of the agent that holds it. */
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
/**
|
|
4
|
+
* The gateway applied an agent.configure. Live calls keep their session; the next call starts with
|
|
5
|
+
* the new config.
|
|
6
|
+
*/
|
|
7
|
+
export declare const AgentConfiguredSchema: z.ZodObject<{
|
|
8
|
+
changed: z.ZodArray<z.ZodString>;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
/** One socket stopped holding the agent. */
|
|
11
|
+
export declare const AgentDetachedSchema: z.ZodObject<{
|
|
12
|
+
app: z.ZodString;
|
|
13
|
+
env: z.ZodEnum<{
|
|
14
|
+
production: "production";
|
|
15
|
+
sandbox: "sandbox";
|
|
16
|
+
}>;
|
|
17
|
+
left: z.ZodBoolean;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
/** One socket let go of its calls without cutting them. */
|
|
20
|
+
export declare const AgentDrainingSchema: z.ZodObject<{
|
|
21
|
+
app: z.ZodString;
|
|
22
|
+
env: z.ZodEnum<{
|
|
23
|
+
production: "production";
|
|
24
|
+
sandbox: "sandbox";
|
|
25
|
+
}>;
|
|
26
|
+
handed: z.ZodInt;
|
|
27
|
+
parked: z.ZodInt;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
/**
|
|
30
|
+
* The gateway accepted an agent.register: this socket now speaks for the agent and answers its
|
|
31
|
+
* routes. Many sockets may hold one agent at once — a new call takes the newest of them, unless
|
|
32
|
+
* the caller names one by its `app` id.
|
|
33
|
+
*/
|
|
34
|
+
export declare const AgentRegisteredSchema: z.ZodObject<{
|
|
35
|
+
routes: z.ZodArray<z.ZodObject<{
|
|
36
|
+
channel: z.ZodEnum<{
|
|
37
|
+
phone: "phone";
|
|
38
|
+
web: "web";
|
|
39
|
+
whatsapp: "whatsapp";
|
|
40
|
+
}>;
|
|
41
|
+
number: z.ZodNullable<z.ZodString>;
|
|
42
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
43
|
+
}, z.core.$strict>>;
|
|
44
|
+
app: z.ZodString;
|
|
45
|
+
sdk: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
env: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
47
|
+
production: "production";
|
|
48
|
+
sandbox: "sandbox";
|
|
49
|
+
}>>>;
|
|
50
|
+
}, z.core.$strict>;
|
|
51
|
+
/** The agent's state changed, in the session's own words. */
|
|
52
|
+
export declare const AgentStateChangedSchema: z.ZodObject<{
|
|
53
|
+
state: z.ZodEnum<{
|
|
54
|
+
idle: "idle";
|
|
55
|
+
initializing: "initializing";
|
|
56
|
+
listening: "listening";
|
|
57
|
+
speaking: "speaking";
|
|
58
|
+
thinking: "thinking";
|
|
59
|
+
}>;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
/**
|
|
62
|
+
* One delta of the reply the agent is giving, never the reply so far: in a voice call one word, as
|
|
63
|
+
* the voice plays it, with the seconds it was aligned to; in a written call one model token. The
|
|
64
|
+
* reply so far is every delta of the same speech_id since the last turn.agent, joined; turn.agent
|
|
65
|
+
* carries the whole reply and closes it. Interim entries are ephemeral.
|
|
66
|
+
*/
|
|
67
|
+
export declare const AgentTranscriptSchema: z.ZodObject<{
|
|
68
|
+
speech_id: z.ZodString;
|
|
69
|
+
text: z.ZodString;
|
|
70
|
+
final: z.ZodBoolean;
|
|
71
|
+
start: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
72
|
+
end: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
/**
|
|
75
|
+
* Media is up: the caller and the agent can hear each other, or the text session is open.
|
|
76
|
+
* Everything the agent says and hears comes after this.
|
|
77
|
+
*/
|
|
78
|
+
export declare const CallStartedSchema: z.ZodObject<{
|
|
79
|
+
channel: z.ZodEnum<{
|
|
80
|
+
phone: "phone";
|
|
81
|
+
web: "web";
|
|
82
|
+
whatsapp: "whatsapp";
|
|
83
|
+
}>;
|
|
84
|
+
direction: z.ZodEnum<{
|
|
85
|
+
inbound: "inbound";
|
|
86
|
+
outbound: "outbound";
|
|
87
|
+
}>;
|
|
88
|
+
from: z.ZodString;
|
|
89
|
+
to: z.ZodString;
|
|
90
|
+
run: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
91
|
+
persona: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
92
|
+
accepts_when: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
93
|
+
declines_when: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
94
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
95
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
96
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
97
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
98
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
99
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
100
|
+
}, z.core.$strict>>;
|
|
101
|
+
started_at: z.ZodNumber;
|
|
102
|
+
env: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
103
|
+
production: "production";
|
|
104
|
+
sandbox: "sandbox";
|
|
105
|
+
}>>>;
|
|
106
|
+
}, z.core.$strict>;
|
|
107
|
+
/** A call changed hands without ending. */
|
|
108
|
+
export declare const CallAttachedSchema: z.ZodObject<{
|
|
109
|
+
app: z.ZodString;
|
|
110
|
+
started: z.ZodObject<{
|
|
111
|
+
channel: z.ZodEnum<{
|
|
112
|
+
phone: "phone";
|
|
113
|
+
web: "web";
|
|
114
|
+
whatsapp: "whatsapp";
|
|
115
|
+
}>;
|
|
116
|
+
direction: z.ZodEnum<{
|
|
117
|
+
inbound: "inbound";
|
|
118
|
+
outbound: "outbound";
|
|
119
|
+
}>;
|
|
120
|
+
from: z.ZodString;
|
|
121
|
+
to: z.ZodString;
|
|
122
|
+
run: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
123
|
+
persona: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
124
|
+
accepts_when: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
125
|
+
declines_when: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
126
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
127
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
128
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
129
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
130
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
131
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
132
|
+
}, z.core.$strict>>;
|
|
133
|
+
started_at: z.ZodNumber;
|
|
134
|
+
env: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
135
|
+
production: "production";
|
|
136
|
+
sandbox: "sandbox";
|
|
137
|
+
}>>>;
|
|
138
|
+
}, z.core.$strict>;
|
|
139
|
+
state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
140
|
+
seq: z.ZodInt;
|
|
141
|
+
claimed: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
142
|
+
}, z.core.$strict>;
|
|
143
|
+
/** The call was bound to a page's code. */
|
|
144
|
+
export declare const CallClaimedSchema: z.ZodObject<{
|
|
145
|
+
code: z.ZodString;
|
|
146
|
+
via: z.ZodEnum<{
|
|
147
|
+
agent: "agent";
|
|
148
|
+
keypad: "keypad";
|
|
149
|
+
}>;
|
|
150
|
+
}, z.core.$strict>;
|
|
151
|
+
/**
|
|
152
|
+
* The platform is placing an outbound call and the far end has not answered yet. The first entry
|
|
153
|
+
* of an outbound call's log.
|
|
154
|
+
*/
|
|
155
|
+
export declare const CallDialingSchema: z.ZodObject<{
|
|
156
|
+
channel: z.ZodEnum<{
|
|
157
|
+
phone: "phone";
|
|
158
|
+
web: "web";
|
|
159
|
+
whatsapp: "whatsapp";
|
|
160
|
+
}>;
|
|
161
|
+
from: z.ZodString;
|
|
162
|
+
to: z.ZodString;
|
|
163
|
+
run: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
164
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
165
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
166
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
167
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
168
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
169
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
170
|
+
}, z.core.$strict>>;
|
|
171
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
172
|
+
asked_by: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
173
|
+
}, z.core.$strict>;
|
|
174
|
+
/** The call is over. Nothing about the conversation follows; call.summary still does. */
|
|
175
|
+
export declare const CallEndedSchema: z.ZodObject<{
|
|
176
|
+
reason: z.ZodEnum<{
|
|
177
|
+
agent_hung_up: "agent_hung_up";
|
|
178
|
+
app_detached: "app_detached";
|
|
179
|
+
busy: "busy";
|
|
180
|
+
caller_hung_up: "caller_hung_up";
|
|
181
|
+
dial_failed: "dial_failed";
|
|
182
|
+
drained: "drained";
|
|
183
|
+
error: "error";
|
|
184
|
+
no_answer: "no_answer";
|
|
185
|
+
supervisor_ended: "supervisor_ended";
|
|
186
|
+
timeout: "timeout";
|
|
187
|
+
transferred: "transferred";
|
|
188
|
+
}>;
|
|
189
|
+
ended_by: z.ZodEnum<{
|
|
190
|
+
agent: "agent";
|
|
191
|
+
caller: "caller";
|
|
192
|
+
platform: "platform";
|
|
193
|
+
supervisor: "supervisor";
|
|
194
|
+
}>;
|
|
195
|
+
ended_at: z.ZodNumber;
|
|
196
|
+
duration_s: z.ZodNumber;
|
|
197
|
+
}, z.core.$strict>;
|
|
198
|
+
/**
|
|
199
|
+
* The line's hold and mute flags after one of them changed. Both are stated so a reader never has
|
|
200
|
+
* to remember the other.
|
|
201
|
+
*/
|
|
202
|
+
export declare const CallLineSchema: z.ZodObject<{
|
|
203
|
+
held: z.ZodBoolean;
|
|
204
|
+
muted: z.ZodBoolean;
|
|
205
|
+
}, z.core.$strict>;
|
|
206
|
+
/**
|
|
207
|
+
* An inbound call is offered to this agent and has not been answered yet. The first entry of an
|
|
208
|
+
* inbound call's log.
|
|
209
|
+
*/
|
|
210
|
+
export declare const CallRingingSchema: z.ZodObject<{
|
|
211
|
+
channel: z.ZodEnum<{
|
|
212
|
+
phone: "phone";
|
|
213
|
+
web: "web";
|
|
214
|
+
whatsapp: "whatsapp";
|
|
215
|
+
}>;
|
|
216
|
+
from: z.ZodString;
|
|
217
|
+
to: z.ZodString;
|
|
218
|
+
route: z.ZodObject<{
|
|
219
|
+
channel: z.ZodEnum<{
|
|
220
|
+
phone: "phone";
|
|
221
|
+
web: "web";
|
|
222
|
+
whatsapp: "whatsapp";
|
|
223
|
+
}>;
|
|
224
|
+
number: z.ZodNullable<z.ZodString>;
|
|
225
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
226
|
+
}, z.core.$strict>;
|
|
227
|
+
run: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
228
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
229
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
230
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
231
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
232
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
233
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
234
|
+
}, z.core.$strict>>;
|
|
235
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
236
|
+
}, z.core.$strict>;
|
|
237
|
+
/**
|
|
238
|
+
* The last entry of a call: what the judges said about it at hang-up, one row per judge. Written
|
|
239
|
+
* after call.summary, and the entry the log seals on.
|
|
240
|
+
*/
|
|
241
|
+
export declare const CallScoreSchema: z.ZodObject<{
|
|
242
|
+
passed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
243
|
+
not_judged: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
244
|
+
judges: z.ZodArray<z.ZodObject<{
|
|
245
|
+
name: z.ZodString;
|
|
246
|
+
verdict: z.ZodEnum<{
|
|
247
|
+
broken: "broken";
|
|
248
|
+
deferred: "deferred";
|
|
249
|
+
held: "held";
|
|
250
|
+
skipped: "skipped";
|
|
251
|
+
}>;
|
|
252
|
+
criteria: z.ZodString;
|
|
253
|
+
reason: z.ZodString;
|
|
254
|
+
evidence: z.ZodObject<{
|
|
255
|
+
seqs: z.ZodArray<z.ZodInt>;
|
|
256
|
+
said: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
257
|
+
}, z.core.$strict>;
|
|
258
|
+
}, z.core.$strict>>;
|
|
259
|
+
panel: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
260
|
+
judge_calls: z.ZodInt;
|
|
261
|
+
judge_cost_usd: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
262
|
+
}, z.core.$strict>;
|
|
263
|
+
/**
|
|
264
|
+
* What the call was about, how it went, what it consumed and what that cost. Written after
|
|
265
|
+
* call.ended, once memory and pricing are done; call.score follows it and seals the log.
|
|
266
|
+
*/
|
|
267
|
+
export declare const CallSummarySchema: z.ZodObject<{
|
|
268
|
+
reason: z.ZodEnum<{
|
|
269
|
+
agent_hung_up: "agent_hung_up";
|
|
270
|
+
app_detached: "app_detached";
|
|
271
|
+
busy: "busy";
|
|
272
|
+
caller_hung_up: "caller_hung_up";
|
|
273
|
+
dial_failed: "dial_failed";
|
|
274
|
+
drained: "drained";
|
|
275
|
+
error: "error";
|
|
276
|
+
no_answer: "no_answer";
|
|
277
|
+
supervisor_ended: "supervisor_ended";
|
|
278
|
+
timeout: "timeout";
|
|
279
|
+
transferred: "transferred";
|
|
280
|
+
}>;
|
|
281
|
+
outcome: z.ZodString;
|
|
282
|
+
duration_s: z.ZodNumber;
|
|
283
|
+
turns: z.ZodInt;
|
|
284
|
+
usage: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
285
|
+
type: z.ZodLiteral<"llm_usage">;
|
|
286
|
+
provider: z.ZodString;
|
|
287
|
+
model: z.ZodString;
|
|
288
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
289
|
+
input_cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
290
|
+
input_cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
291
|
+
input_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
292
|
+
input_cached_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
293
|
+
input_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
294
|
+
input_cached_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
295
|
+
input_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
296
|
+
input_cached_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
297
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
298
|
+
output_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
299
|
+
output_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
300
|
+
output_reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
301
|
+
session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
302
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
303
|
+
type: z.ZodLiteral<"tts_usage">;
|
|
304
|
+
provider: z.ZodString;
|
|
305
|
+
model: z.ZodString;
|
|
306
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
307
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
308
|
+
characters_count: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
309
|
+
audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
310
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
311
|
+
type: z.ZodLiteral<"stt_usage">;
|
|
312
|
+
provider: z.ZodString;
|
|
313
|
+
model: z.ZodString;
|
|
314
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
315
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
316
|
+
audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
317
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
318
|
+
type: z.ZodLiteral<"interruption_usage">;
|
|
319
|
+
provider: z.ZodString;
|
|
320
|
+
model: z.ZodString;
|
|
321
|
+
total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
322
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
323
|
+
type: z.ZodLiteral<"eot_usage">;
|
|
324
|
+
provider: z.ZodString;
|
|
325
|
+
model: z.ZodString;
|
|
326
|
+
total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
327
|
+
}, z.core.$strict>], "type">>;
|
|
328
|
+
cost: z.ZodObject<{
|
|
329
|
+
usd: z.ZodNumber;
|
|
330
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
331
|
+
provider: z.ZodString;
|
|
332
|
+
model: z.ZodString;
|
|
333
|
+
unit: z.ZodEnum<{
|
|
334
|
+
audio_seconds: "audio_seconds";
|
|
335
|
+
cache_creation_tokens: "cache_creation_tokens";
|
|
336
|
+
cached_input_tokens: "cached_input_tokens";
|
|
337
|
+
characters: "characters";
|
|
338
|
+
input_tokens: "input_tokens";
|
|
339
|
+
minutes: "minutes";
|
|
340
|
+
output_tokens: "output_tokens";
|
|
341
|
+
requests: "requests";
|
|
342
|
+
session_seconds: "session_seconds";
|
|
343
|
+
}>;
|
|
344
|
+
quantity: z.ZodNumber;
|
|
345
|
+
unit_price_usd: z.ZodNumber;
|
|
346
|
+
usd: z.ZodNumber;
|
|
347
|
+
}, z.core.$strict>>;
|
|
348
|
+
unpriced: z.ZodArray<z.ZodObject<{
|
|
349
|
+
provider: z.ZodString;
|
|
350
|
+
model: z.ZodString;
|
|
351
|
+
}, z.core.$strict>>;
|
|
352
|
+
}, z.core.$strict>;
|
|
353
|
+
recording: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
354
|
+
}, z.core.$strict>;
|
|
355
|
+
/** A transfer asked for by the agent or a supervisor finished, one way or the other. */
|
|
356
|
+
export declare const CallTransferredSchema: z.ZodObject<{
|
|
357
|
+
to: z.ZodString;
|
|
358
|
+
mode: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodEnum<{
|
|
359
|
+
cold: "cold";
|
|
360
|
+
warm: "warm";
|
|
361
|
+
}>>>>;
|
|
362
|
+
ok: z.ZodBoolean;
|
|
363
|
+
error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
364
|
+
}, z.core.$strict>;
|
|
365
|
+
/**
|
|
366
|
+
* Somebody asked to be called back: a phone caller the overflow agent answered, a web visitor who
|
|
367
|
+
* left a number at the widget, or a caller who asked the agent for one (call.callback). Written
|
|
368
|
+
* into the agent's own log; the tenant's app reads it and places the call.
|
|
369
|
+
*/
|
|
370
|
+
export declare const CallbackRequestedSchema: z.ZodObject<{
|
|
371
|
+
channel: z.ZodEnum<{
|
|
372
|
+
phone: "phone";
|
|
373
|
+
web: "web";
|
|
374
|
+
whatsapp: "whatsapp";
|
|
375
|
+
}>;
|
|
376
|
+
number: z.ZodString;
|
|
377
|
+
via: z.ZodEnum<{
|
|
378
|
+
agent: "agent";
|
|
379
|
+
overflow: "overflow";
|
|
380
|
+
widget: "widget";
|
|
381
|
+
}>;
|
|
382
|
+
call: z.ZodNullable<z.ZodString>;
|
|
383
|
+
when: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
384
|
+
note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
385
|
+
contact: z.ZodNullable<z.ZodObject<{
|
|
386
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
387
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
388
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
389
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
390
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
391
|
+
}, z.core.$strict>>;
|
|
392
|
+
}, z.core.$strict>;
|
|
393
|
+
/**
|
|
394
|
+
* The agent's reply is over and this is what was said. With it, everything the session measured
|
|
395
|
+
* about the reply.
|
|
396
|
+
*/
|
|
397
|
+
export declare const AgentTurnEndedSchema: z.ZodObject<{
|
|
398
|
+
speech_id: z.ZodString;
|
|
399
|
+
item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
400
|
+
text: z.ZodString;
|
|
401
|
+
interrupted: z.ZodBoolean;
|
|
402
|
+
metrics: z.ZodObject<{
|
|
403
|
+
started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
404
|
+
stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
405
|
+
llm_node_ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
406
|
+
llm_node_tps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
407
|
+
llm_node_ttfs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
408
|
+
tts_node_ttfb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
409
|
+
playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
410
|
+
e2e_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
411
|
+
provider_request_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
412
|
+
llm_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
413
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
414
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
415
|
+
}, z.core.$strict>>>;
|
|
416
|
+
tts_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
417
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
418
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
419
|
+
}, z.core.$strict>>>;
|
|
420
|
+
}, z.core.$strict>;
|
|
421
|
+
}, z.core.$strict>;
|
|
422
|
+
//# sourceMappingURL=events-call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-call.d.ts","sourceRoot":"","sources":["../../src/wire/events-call.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;kBAEhC,CAAC;AAEH,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;;;;;kBAI9B,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;;;;;;;kBAK9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;kBAKhC,CAAC;AAEH,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB;;;;;;;;kBAElC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;kBAMhC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAY5B,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAM7B,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB;;;;;;kBAG5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;kBAQ5B,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;kBAK1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;kBAGzB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;kBAO1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ5B,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,qBAAqB;;;;;;;;kBAKhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;kBAQlC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;kBAM/B,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/** The events of a call's life and of the agent that holds it. */
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { AgentStateSchema, ChannelSchema, ContactSchema, CostSchema, DirectionSchema, EndedBySchema, EndReasonSchema, EnvSchema, RouteSchema, TransferModeSchema, } from "./defs.js";
|
|
4
|
+
import { JudgmentSchema } from "./events.js";
|
|
5
|
+
import { AgentTurnMetricsSchema, ModelUsageSchema } from "./metrics.js";
|
|
6
|
+
/**
|
|
7
|
+
* The gateway applied an agent.configure. Live calls keep their session; the next call starts with
|
|
8
|
+
* the new config.
|
|
9
|
+
*/
|
|
10
|
+
export const AgentConfiguredSchema = z.strictObject({
|
|
11
|
+
changed: z.array(z.string()),
|
|
12
|
+
});
|
|
13
|
+
/** One socket stopped holding the agent. */
|
|
14
|
+
export const AgentDetachedSchema = z.strictObject({
|
|
15
|
+
app: z.string(),
|
|
16
|
+
env: EnvSchema,
|
|
17
|
+
left: z.boolean(),
|
|
18
|
+
});
|
|
19
|
+
/** One socket let go of its calls without cutting them. */
|
|
20
|
+
export const AgentDrainingSchema = z.strictObject({
|
|
21
|
+
app: z.string(),
|
|
22
|
+
env: EnvSchema,
|
|
23
|
+
handed: z.int(),
|
|
24
|
+
parked: z.int(),
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* The gateway accepted an agent.register: this socket now speaks for the agent and answers its
|
|
28
|
+
* routes. Many sockets may hold one agent at once — a new call takes the newest of them, unless
|
|
29
|
+
* the caller names one by its `app` id.
|
|
30
|
+
*/
|
|
31
|
+
export const AgentRegisteredSchema = z.strictObject({
|
|
32
|
+
routes: z.array(RouteSchema),
|
|
33
|
+
app: z.string(),
|
|
34
|
+
sdk: z.string().nullish(),
|
|
35
|
+
env: EnvSchema.nullish(),
|
|
36
|
+
});
|
|
37
|
+
/** The agent's state changed, in the session's own words. */
|
|
38
|
+
export const AgentStateChangedSchema = z.strictObject({
|
|
39
|
+
state: AgentStateSchema,
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* One delta of the reply the agent is giving, never the reply so far: in a voice call one word, as
|
|
43
|
+
* the voice plays it, with the seconds it was aligned to; in a written call one model token. The
|
|
44
|
+
* reply so far is every delta of the same speech_id since the last turn.agent, joined; turn.agent
|
|
45
|
+
* carries the whole reply and closes it. Interim entries are ephemeral.
|
|
46
|
+
*/
|
|
47
|
+
export const AgentTranscriptSchema = z.strictObject({
|
|
48
|
+
speech_id: z.string(),
|
|
49
|
+
text: z.string(),
|
|
50
|
+
final: z.boolean(),
|
|
51
|
+
start: z.number().nullish(),
|
|
52
|
+
end: z.number().nullish(),
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Media is up: the caller and the agent can hear each other, or the text session is open.
|
|
56
|
+
* Everything the agent says and hears comes after this.
|
|
57
|
+
*/
|
|
58
|
+
export const CallStartedSchema = z.strictObject({
|
|
59
|
+
channel: ChannelSchema,
|
|
60
|
+
direction: DirectionSchema,
|
|
61
|
+
from: z.string(),
|
|
62
|
+
to: z.string(),
|
|
63
|
+
run: z.string().nullable().nullish(),
|
|
64
|
+
persona: z.string().nullable().nullish(),
|
|
65
|
+
accepts_when: z.string().nullable().nullish(),
|
|
66
|
+
declines_when: z.string().nullable().nullish(),
|
|
67
|
+
caller: ContactSchema.nullable(),
|
|
68
|
+
started_at: z.number(),
|
|
69
|
+
env: EnvSchema.nullish(),
|
|
70
|
+
});
|
|
71
|
+
/** A call changed hands without ending. */
|
|
72
|
+
export const CallAttachedSchema = z.strictObject({
|
|
73
|
+
app: z.string(),
|
|
74
|
+
started: CallStartedSchema,
|
|
75
|
+
state: z.record(z.string(), z.unknown()),
|
|
76
|
+
seq: z.int(),
|
|
77
|
+
claimed: z.string().nullable().nullish(),
|
|
78
|
+
});
|
|
79
|
+
/** The call was bound to a page's code. */
|
|
80
|
+
export const CallClaimedSchema = z.strictObject({
|
|
81
|
+
code: z.string(),
|
|
82
|
+
via: z.enum(["keypad", "agent"]),
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* The platform is placing an outbound call and the far end has not answered yet. The first entry
|
|
86
|
+
* of an outbound call's log.
|
|
87
|
+
*/
|
|
88
|
+
export const CallDialingSchema = z.strictObject({
|
|
89
|
+
channel: ChannelSchema,
|
|
90
|
+
from: z.string(),
|
|
91
|
+
to: z.string(),
|
|
92
|
+
run: z.string().nullable().nullish(),
|
|
93
|
+
caller: ContactSchema.nullable(),
|
|
94
|
+
external_id: z.string().nullish(),
|
|
95
|
+
asked_by: z.string().nullish(),
|
|
96
|
+
});
|
|
97
|
+
/** The call is over. Nothing about the conversation follows; call.summary still does. */
|
|
98
|
+
export const CallEndedSchema = z.strictObject({
|
|
99
|
+
reason: EndReasonSchema,
|
|
100
|
+
ended_by: EndedBySchema,
|
|
101
|
+
ended_at: z.number(),
|
|
102
|
+
duration_s: z.number(),
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* The line's hold and mute flags after one of them changed. Both are stated so a reader never has
|
|
106
|
+
* to remember the other.
|
|
107
|
+
*/
|
|
108
|
+
export const CallLineSchema = z.strictObject({
|
|
109
|
+
held: z.boolean(),
|
|
110
|
+
muted: z.boolean(),
|
|
111
|
+
});
|
|
112
|
+
/**
|
|
113
|
+
* An inbound call is offered to this agent and has not been answered yet. The first entry of an
|
|
114
|
+
* inbound call's log.
|
|
115
|
+
*/
|
|
116
|
+
export const CallRingingSchema = z.strictObject({
|
|
117
|
+
channel: ChannelSchema,
|
|
118
|
+
from: z.string(),
|
|
119
|
+
to: z.string(),
|
|
120
|
+
route: RouteSchema,
|
|
121
|
+
run: z.string().nullable().nullish(),
|
|
122
|
+
caller: ContactSchema.nullable(),
|
|
123
|
+
external_id: z.string().nullish(),
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* The last entry of a call: what the judges said about it at hang-up, one row per judge. Written
|
|
127
|
+
* after call.summary, and the entry the log seals on.
|
|
128
|
+
*/
|
|
129
|
+
export const CallScoreSchema = z.strictObject({
|
|
130
|
+
passed: z.boolean().nullish(),
|
|
131
|
+
not_judged: z.string().nullish(),
|
|
132
|
+
judges: z.array(JudgmentSchema),
|
|
133
|
+
panel: z.array(z.string()).nullish(),
|
|
134
|
+
judge_calls: z.int(),
|
|
135
|
+
judge_cost_usd: z.number().nullish(),
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* What the call was about, how it went, what it consumed and what that cost. Written after
|
|
139
|
+
* call.ended, once memory and pricing are done; call.score follows it and seals the log.
|
|
140
|
+
*/
|
|
141
|
+
export const CallSummarySchema = z.strictObject({
|
|
142
|
+
reason: EndReasonSchema,
|
|
143
|
+
outcome: z.string(),
|
|
144
|
+
duration_s: z.number(),
|
|
145
|
+
turns: z.int(),
|
|
146
|
+
usage: z.array(ModelUsageSchema),
|
|
147
|
+
cost: CostSchema,
|
|
148
|
+
recording: z.string().nullish(),
|
|
149
|
+
});
|
|
150
|
+
/** A transfer asked for by the agent or a supervisor finished, one way or the other. */
|
|
151
|
+
export const CallTransferredSchema = z.strictObject({
|
|
152
|
+
to: z.string(),
|
|
153
|
+
mode: TransferModeSchema.nullable().nullish(),
|
|
154
|
+
ok: z.boolean(),
|
|
155
|
+
error: z.string().nullish(),
|
|
156
|
+
});
|
|
157
|
+
/**
|
|
158
|
+
* Somebody asked to be called back: a phone caller the overflow agent answered, a web visitor who
|
|
159
|
+
* left a number at the widget, or a caller who asked the agent for one (call.callback). Written
|
|
160
|
+
* into the agent's own log; the tenant's app reads it and places the call.
|
|
161
|
+
*/
|
|
162
|
+
export const CallbackRequestedSchema = z.strictObject({
|
|
163
|
+
channel: ChannelSchema,
|
|
164
|
+
number: z.string(),
|
|
165
|
+
via: z.enum(["overflow", "widget", "agent"]),
|
|
166
|
+
call: z.string().nullable(),
|
|
167
|
+
when: z.string().nullish(),
|
|
168
|
+
note: z.string().nullish(),
|
|
169
|
+
contact: ContactSchema.nullable(),
|
|
170
|
+
});
|
|
171
|
+
/**
|
|
172
|
+
* The agent's reply is over and this is what was said. With it, everything the session measured
|
|
173
|
+
* about the reply.
|
|
174
|
+
*/
|
|
175
|
+
export const AgentTurnEndedSchema = z.strictObject({
|
|
176
|
+
speech_id: z.string(),
|
|
177
|
+
item_id: z.string().nullish(),
|
|
178
|
+
text: z.string(),
|
|
179
|
+
interrupted: z.boolean(),
|
|
180
|
+
metrics: AgentTurnMetricsSchema,
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=events-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-call.js","sourceRoot":"","sources":["../../src/wire/events-call.ts"],"names":[],"mappings":"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"}
|