@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.
- package/LICENSE +202 -0
- package/dist/fixtures/call-log-golden.json +127 -0
- package/dist/fixtures/call-log-golden.state.json +39 -0
- package/dist/generated/codec.d.ts +53 -0
- package/dist/generated/codec.js +67 -0
- package/dist/generated/commands.d.ts +423 -0
- package/dist/generated/commands.js +168 -0
- package/dist/generated/defs.d.ts +604 -0
- package/dist/generated/defs.js +328 -0
- package/dist/generated/envelope.d.ts +27 -0
- package/dist/generated/envelope.js +26 -0
- package/dist/generated/events.d.ts +1234 -0
- package/dist/generated/events.js +388 -0
- package/dist/generated/index.d.ts +12 -0
- package/dist/generated/index.js +13 -0
- package/dist/generated/metrics.d.ts +386 -0
- package/dist/generated/metrics.js +268 -0
- package/dist/generated/registry.d.ts +1591 -0
- package/dist/generated/registry.js +130 -0
- package/dist/generated/rest.d.ts +1031 -0
- package/dist/generated/rest.js +291 -0
- package/dist/generated/room.d.ts +111 -0
- package/dist/generated/room.js +72 -0
- package/dist/generated/state.d.ts +902 -0
- package/dist/generated/state.js +179 -0
- package/dist/generated/units.d.ts +2 -0
- package/dist/generated/units.js +80 -0
- package/dist/generated/verbs.d.ts +77 -0
- package/dist/generated/verbs.js +49 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/reduce.d.ts +10 -0
- package/dist/reduce.js +352 -0
- package/package.json +38 -0
|
@@ -0,0 +1,1031 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** GET /v1/calls/{call}/state: the whole log folded, and the seq a stream resumes from. */
|
|
3
|
+
export declare const CallStateSchema: z.ZodObject<{
|
|
4
|
+
state: z.ZodObject<{
|
|
5
|
+
seq: z.ZodInt;
|
|
6
|
+
agent: z.ZodString;
|
|
7
|
+
call: z.ZodNullable<z.ZodString>;
|
|
8
|
+
status: z.ZodEnum<{
|
|
9
|
+
idle: "idle";
|
|
10
|
+
ringing: "ringing";
|
|
11
|
+
dialing: "dialing";
|
|
12
|
+
active: "active";
|
|
13
|
+
ended: "ended";
|
|
14
|
+
}>;
|
|
15
|
+
channel: z.ZodNullable<z.ZodEnum<{
|
|
16
|
+
phone: "phone";
|
|
17
|
+
web: "web";
|
|
18
|
+
whatsapp: "whatsapp";
|
|
19
|
+
}>>;
|
|
20
|
+
direction: z.ZodNullable<z.ZodEnum<{
|
|
21
|
+
inbound: "inbound";
|
|
22
|
+
outbound: "outbound";
|
|
23
|
+
}>>;
|
|
24
|
+
from: z.ZodNullable<z.ZodString>;
|
|
25
|
+
to: z.ZodNullable<z.ZodString>;
|
|
26
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
27
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
28
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
29
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
30
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
31
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
32
|
+
}, z.core.$strict>>;
|
|
33
|
+
room: z.ZodNullable<z.ZodObject<{
|
|
34
|
+
name: z.ZodString;
|
|
35
|
+
sid: z.ZodString;
|
|
36
|
+
participants: z.ZodArray<z.ZodObject<{
|
|
37
|
+
identity: z.ZodString;
|
|
38
|
+
kind: z.ZodEnum<{
|
|
39
|
+
agent: "agent";
|
|
40
|
+
caller: "caller";
|
|
41
|
+
supervisor: "supervisor";
|
|
42
|
+
listener: "listener";
|
|
43
|
+
sip: "sip";
|
|
44
|
+
}>;
|
|
45
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
joined_at: z.ZodNumber;
|
|
47
|
+
speaking: z.ZodBoolean;
|
|
48
|
+
attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
49
|
+
}, z.core.$strict>>;
|
|
50
|
+
caller: z.ZodNullable<z.ZodString>;
|
|
51
|
+
}, z.core.$strict>>;
|
|
52
|
+
started_at: z.ZodNullable<z.ZodNumber>;
|
|
53
|
+
ended_at: z.ZodNullable<z.ZodNumber>;
|
|
54
|
+
end_reason: z.ZodNullable<z.ZodEnum<{
|
|
55
|
+
caller_hung_up: "caller_hung_up";
|
|
56
|
+
agent_hung_up: "agent_hung_up";
|
|
57
|
+
supervisor_ended: "supervisor_ended";
|
|
58
|
+
transferred: "transferred";
|
|
59
|
+
no_answer: "no_answer";
|
|
60
|
+
busy: "busy";
|
|
61
|
+
dial_failed: "dial_failed";
|
|
62
|
+
timeout: "timeout";
|
|
63
|
+
drained: "drained";
|
|
64
|
+
app_detached: "app_detached";
|
|
65
|
+
error: "error";
|
|
66
|
+
}>>;
|
|
67
|
+
outcome: z.ZodNullable<z.ZodString>;
|
|
68
|
+
user_state: z.ZodNullable<z.ZodEnum<{
|
|
69
|
+
listening: "listening";
|
|
70
|
+
speaking: "speaking";
|
|
71
|
+
away: "away";
|
|
72
|
+
}>>;
|
|
73
|
+
agent_state: z.ZodNullable<z.ZodEnum<{
|
|
74
|
+
listening: "listening";
|
|
75
|
+
speaking: "speaking";
|
|
76
|
+
initializing: "initializing";
|
|
77
|
+
idle: "idle";
|
|
78
|
+
thinking: "thinking";
|
|
79
|
+
}>>;
|
|
80
|
+
live: z.ZodObject<{
|
|
81
|
+
user: z.ZodNullable<z.ZodString>;
|
|
82
|
+
agent: z.ZodNullable<z.ZodString>;
|
|
83
|
+
}, z.core.$strict>;
|
|
84
|
+
turns: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
85
|
+
role: z.ZodLiteral<"user">;
|
|
86
|
+
speech_id: z.ZodString;
|
|
87
|
+
item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
88
|
+
text: z.ZodString;
|
|
89
|
+
language: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
90
|
+
transcript_confidence: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
91
|
+
metrics: z.ZodObject<{
|
|
92
|
+
started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
93
|
+
stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
94
|
+
transcription_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
95
|
+
end_of_turn_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
96
|
+
on_user_turn_completed_delay: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
97
|
+
stt_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
98
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
99
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
100
|
+
}, z.core.$strict>>>;
|
|
101
|
+
}, z.core.$strict>;
|
|
102
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
103
|
+
role: z.ZodLiteral<"agent">;
|
|
104
|
+
speech_id: z.ZodString;
|
|
105
|
+
item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
106
|
+
text: z.ZodString;
|
|
107
|
+
interrupted: z.ZodBoolean;
|
|
108
|
+
metrics: z.ZodObject<{
|
|
109
|
+
started_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
110
|
+
stopped_speaking_at: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
111
|
+
llm_node_ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
112
|
+
llm_node_tps: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
113
|
+
llm_node_ttfs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
114
|
+
tts_node_ttfb: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
115
|
+
playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
116
|
+
e2e_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
117
|
+
provider_request_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
118
|
+
llm_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
119
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
120
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
}, z.core.$strict>>>;
|
|
122
|
+
tts_metadata: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
123
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
124
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
125
|
+
}, z.core.$strict>>>;
|
|
126
|
+
}, z.core.$strict>;
|
|
127
|
+
}, z.core.$strict>], "role">>;
|
|
128
|
+
metrics: z.ZodObject<{
|
|
129
|
+
llm: z.ZodArray<z.ZodObject<{
|
|
130
|
+
type: z.ZodLiteral<"llm_metrics">;
|
|
131
|
+
label: z.ZodString;
|
|
132
|
+
request_id: z.ZodString;
|
|
133
|
+
timestamp: z.ZodNumber;
|
|
134
|
+
duration: z.ZodNumber;
|
|
135
|
+
ttft: z.ZodNumber;
|
|
136
|
+
cancelled: z.ZodBoolean;
|
|
137
|
+
completion_tokens: z.ZodInt;
|
|
138
|
+
prompt_tokens: z.ZodInt;
|
|
139
|
+
prompt_cached_tokens: z.ZodInt;
|
|
140
|
+
cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
141
|
+
reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
142
|
+
total_tokens: z.ZodInt;
|
|
143
|
+
tokens_per_second: z.ZodNumber;
|
|
144
|
+
speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
145
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
146
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
147
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
148
|
+
}, z.core.$strict>>>>;
|
|
149
|
+
}, z.core.$strict>>;
|
|
150
|
+
stt: z.ZodArray<z.ZodObject<{
|
|
151
|
+
type: z.ZodLiteral<"stt_metrics">;
|
|
152
|
+
label: z.ZodString;
|
|
153
|
+
request_id: z.ZodString;
|
|
154
|
+
timestamp: z.ZodNumber;
|
|
155
|
+
duration: z.ZodNumber;
|
|
156
|
+
audio_duration: z.ZodNumber;
|
|
157
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
158
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
159
|
+
streamed: z.ZodBoolean;
|
|
160
|
+
acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
161
|
+
connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
162
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
163
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
164
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
165
|
+
}, z.core.$strict>>>>;
|
|
166
|
+
}, z.core.$strict>>;
|
|
167
|
+
tts: z.ZodArray<z.ZodObject<{
|
|
168
|
+
type: z.ZodLiteral<"tts_metrics">;
|
|
169
|
+
label: z.ZodString;
|
|
170
|
+
request_id: z.ZodString;
|
|
171
|
+
timestamp: z.ZodNumber;
|
|
172
|
+
ttfb: z.ZodNumber;
|
|
173
|
+
duration: z.ZodNumber;
|
|
174
|
+
audio_duration: z.ZodNumber;
|
|
175
|
+
cancelled: z.ZodBoolean;
|
|
176
|
+
characters_count: z.ZodInt;
|
|
177
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
178
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
179
|
+
streamed: z.ZodBoolean;
|
|
180
|
+
acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
181
|
+
connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
182
|
+
segment_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
183
|
+
speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
184
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
185
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
186
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
187
|
+
}, z.core.$strict>>>>;
|
|
188
|
+
}, z.core.$strict>>;
|
|
189
|
+
vad: z.ZodArray<z.ZodObject<{
|
|
190
|
+
type: z.ZodLiteral<"vad_metrics">;
|
|
191
|
+
label: z.ZodString;
|
|
192
|
+
timestamp: z.ZodNumber;
|
|
193
|
+
idle_time: z.ZodNumber;
|
|
194
|
+
inference_duration_total: z.ZodNumber;
|
|
195
|
+
inference_count: z.ZodInt;
|
|
196
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
197
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
198
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
199
|
+
}, z.core.$strict>>>>;
|
|
200
|
+
}, z.core.$strict>>;
|
|
201
|
+
eou: z.ZodArray<z.ZodObject<{
|
|
202
|
+
type: z.ZodLiteral<"eou_metrics">;
|
|
203
|
+
timestamp: z.ZodNumber;
|
|
204
|
+
end_of_utterance_delay: z.ZodNumber;
|
|
205
|
+
transcription_delay: z.ZodNumber;
|
|
206
|
+
on_user_turn_completed_delay: z.ZodNumber;
|
|
207
|
+
speech_id: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
208
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
209
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
210
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
211
|
+
}, z.core.$strict>>>>;
|
|
212
|
+
}, z.core.$strict>>;
|
|
213
|
+
eot: z.ZodArray<z.ZodObject<{
|
|
214
|
+
type: z.ZodLiteral<"eot_inference_metrics">;
|
|
215
|
+
timestamp: z.ZodNumber;
|
|
216
|
+
total_duration: z.ZodNumber;
|
|
217
|
+
detection_delay: z.ZodNumber;
|
|
218
|
+
prediction_duration: z.ZodNumber;
|
|
219
|
+
num_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
220
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
221
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
222
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
223
|
+
}, z.core.$strict>>>>;
|
|
224
|
+
}, z.core.$strict>>;
|
|
225
|
+
interruption: z.ZodArray<z.ZodObject<{
|
|
226
|
+
type: z.ZodLiteral<"interruption_metrics">;
|
|
227
|
+
timestamp: z.ZodNumber;
|
|
228
|
+
total_duration: z.ZodNumber;
|
|
229
|
+
prediction_duration: z.ZodNumber;
|
|
230
|
+
detection_delay: z.ZodNumber;
|
|
231
|
+
num_interruptions: z.ZodInt;
|
|
232
|
+
num_backchannels: z.ZodInt;
|
|
233
|
+
num_requests: z.ZodInt;
|
|
234
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
235
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
236
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
237
|
+
}, z.core.$strict>>>>;
|
|
238
|
+
}, z.core.$strict>>;
|
|
239
|
+
realtime: z.ZodArray<z.ZodObject<{
|
|
240
|
+
type: z.ZodLiteral<"realtime_model_metrics">;
|
|
241
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
242
|
+
request_id: z.ZodString;
|
|
243
|
+
timestamp: z.ZodNumber;
|
|
244
|
+
duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
245
|
+
session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
246
|
+
ttft: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
247
|
+
cancelled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
248
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
249
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
250
|
+
total_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
251
|
+
tokens_per_second: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
252
|
+
input_token_details: z.ZodObject<{
|
|
253
|
+
audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
254
|
+
text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
255
|
+
image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
256
|
+
cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
257
|
+
cached_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
258
|
+
audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
259
|
+
text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
260
|
+
image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
261
|
+
}, z.core.$strict>>>>;
|
|
262
|
+
}, z.core.$strict>;
|
|
263
|
+
output_token_details: z.ZodObject<{
|
|
264
|
+
text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
265
|
+
audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
266
|
+
image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
267
|
+
}, z.core.$strict>;
|
|
268
|
+
acquire_time: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
269
|
+
connection_reused: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
270
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
271
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
272
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
273
|
+
}, z.core.$strict>>>>;
|
|
274
|
+
}, z.core.$strict>>;
|
|
275
|
+
avatar: z.ZodArray<z.ZodObject<{
|
|
276
|
+
type: z.ZodLiteral<"avatar_metrics">;
|
|
277
|
+
timestamp: z.ZodNumber;
|
|
278
|
+
playback_latency: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
279
|
+
session_started_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
|
|
280
|
+
avatar_joined_time: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
|
|
281
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodObject<{
|
|
282
|
+
model_name: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
283
|
+
model_provider: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
|
|
284
|
+
}, z.core.$strict>>>>;
|
|
285
|
+
}, z.core.$strict>>;
|
|
286
|
+
}, z.core.$strict>;
|
|
287
|
+
tools: z.ZodArray<z.ZodObject<{
|
|
288
|
+
call_id: z.ZodString;
|
|
289
|
+
name: z.ZodString;
|
|
290
|
+
arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
291
|
+
speech_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
292
|
+
status: z.ZodEnum<{
|
|
293
|
+
running: "running";
|
|
294
|
+
done: "done";
|
|
295
|
+
failed: "failed";
|
|
296
|
+
}>;
|
|
297
|
+
output: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
|
|
298
|
+
error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
299
|
+
summary: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
300
|
+
duration_s: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
301
|
+
seq: z.ZodInt;
|
|
302
|
+
}, z.core.$strict>>;
|
|
303
|
+
app_state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
304
|
+
events: z.ZodArray<z.ZodObject<{
|
|
305
|
+
seq: z.ZodInt;
|
|
306
|
+
name: z.ZodString;
|
|
307
|
+
source: z.ZodEnum<{
|
|
308
|
+
app: "app";
|
|
309
|
+
participant: "participant";
|
|
310
|
+
}>;
|
|
311
|
+
identity: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
312
|
+
}, z.core.$strict>>;
|
|
313
|
+
prompt: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
314
|
+
hash: z.ZodString;
|
|
315
|
+
chars: z.ZodInt;
|
|
316
|
+
seq: z.ZodInt;
|
|
317
|
+
}, z.core.$strict>>;
|
|
318
|
+
tools_visible: z.ZodArray<z.ZodString>;
|
|
319
|
+
confirms: z.ZodArray<z.ZodObject<{
|
|
320
|
+
tool: z.ZodString;
|
|
321
|
+
call_id: z.ZodString;
|
|
322
|
+
audience: z.ZodString;
|
|
323
|
+
phrase: z.ZodString;
|
|
324
|
+
status: z.ZodEnum<{
|
|
325
|
+
pending: "pending";
|
|
326
|
+
granted: "granted";
|
|
327
|
+
declined: "declined";
|
|
328
|
+
}>;
|
|
329
|
+
said: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
330
|
+
reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
331
|
+
}, z.core.$strict>>;
|
|
332
|
+
memory: z.ZodArray<z.ZodObject<{
|
|
333
|
+
op: z.ZodEnum<{
|
|
334
|
+
recall: "recall";
|
|
335
|
+
remember: "remember";
|
|
336
|
+
forget: "forget";
|
|
337
|
+
}>;
|
|
338
|
+
contact: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
339
|
+
query: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
340
|
+
facts: z.ZodArray<z.ZodObject<{
|
|
341
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
342
|
+
text: z.ZodString;
|
|
343
|
+
category: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
344
|
+
score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
345
|
+
source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
346
|
+
}, z.core.$strict>>;
|
|
347
|
+
took_ms: z.ZodNumber;
|
|
348
|
+
}, z.core.$strict>>;
|
|
349
|
+
sources: z.ZodArray<z.ZodObject<{
|
|
350
|
+
id: z.ZodString;
|
|
351
|
+
path: z.ZodString;
|
|
352
|
+
heading: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
353
|
+
score: z.ZodNumber;
|
|
354
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
355
|
+
}, z.core.$strict>>;
|
|
356
|
+
handoff: z.ZodObject<{
|
|
357
|
+
active: z.ZodBoolean;
|
|
358
|
+
by: z.ZodNullable<z.ZodObject<{
|
|
359
|
+
id: z.ZodString;
|
|
360
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
361
|
+
}, z.core.$strict>>;
|
|
362
|
+
}, z.core.$strict>;
|
|
363
|
+
held: z.ZodBoolean;
|
|
364
|
+
muted: z.ZodBoolean;
|
|
365
|
+
transfer: z.ZodNullable<z.ZodObject<{
|
|
366
|
+
to: z.ZodString;
|
|
367
|
+
mode: z.ZodEnum<{
|
|
368
|
+
cold: "cold";
|
|
369
|
+
warm: "warm";
|
|
370
|
+
}>;
|
|
371
|
+
status: z.ZodEnum<{
|
|
372
|
+
done: "done";
|
|
373
|
+
failed: "failed";
|
|
374
|
+
requested: "requested";
|
|
375
|
+
}>;
|
|
376
|
+
by: z.ZodEnum<{
|
|
377
|
+
agent: "agent";
|
|
378
|
+
supervisor: "supervisor";
|
|
379
|
+
}>;
|
|
380
|
+
}, z.core.$strict>>;
|
|
381
|
+
usage: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
382
|
+
type: z.ZodLiteral<"llm_usage">;
|
|
383
|
+
provider: z.ZodString;
|
|
384
|
+
model: z.ZodString;
|
|
385
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
386
|
+
input_cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
387
|
+
input_cache_creation_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
388
|
+
input_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
389
|
+
input_cached_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
390
|
+
input_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
391
|
+
input_cached_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
392
|
+
input_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
393
|
+
input_cached_image_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
394
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
395
|
+
output_audio_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
396
|
+
output_text_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
397
|
+
output_reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
398
|
+
session_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
399
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
400
|
+
type: z.ZodLiteral<"tts_usage">;
|
|
401
|
+
provider: z.ZodString;
|
|
402
|
+
model: z.ZodString;
|
|
403
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
404
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
405
|
+
characters_count: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
406
|
+
audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
407
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
408
|
+
type: z.ZodLiteral<"stt_usage">;
|
|
409
|
+
provider: z.ZodString;
|
|
410
|
+
model: z.ZodString;
|
|
411
|
+
input_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
412
|
+
output_tokens: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
413
|
+
audio_duration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
414
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
415
|
+
type: z.ZodLiteral<"interruption_usage">;
|
|
416
|
+
provider: z.ZodString;
|
|
417
|
+
model: z.ZodString;
|
|
418
|
+
total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
419
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
420
|
+
type: z.ZodLiteral<"eot_usage">;
|
|
421
|
+
provider: z.ZodString;
|
|
422
|
+
model: z.ZodString;
|
|
423
|
+
total_requests: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
424
|
+
}, z.core.$strict>], "type">>;
|
|
425
|
+
cost: z.ZodNullable<z.ZodObject<{
|
|
426
|
+
eur: z.ZodNumber;
|
|
427
|
+
rate: z.ZodObject<{
|
|
428
|
+
currency: z.ZodLiteral<"EUR">;
|
|
429
|
+
usd_to_eur: z.ZodNumber;
|
|
430
|
+
as_of: z.ZodString;
|
|
431
|
+
}, z.core.$strict>;
|
|
432
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
433
|
+
provider: z.ZodString;
|
|
434
|
+
model: z.ZodString;
|
|
435
|
+
unit: z.ZodEnum<{
|
|
436
|
+
input_tokens: "input_tokens";
|
|
437
|
+
cached_input_tokens: "cached_input_tokens";
|
|
438
|
+
cache_creation_tokens: "cache_creation_tokens";
|
|
439
|
+
output_tokens: "output_tokens";
|
|
440
|
+
characters: "characters";
|
|
441
|
+
audio_seconds: "audio_seconds";
|
|
442
|
+
requests: "requests";
|
|
443
|
+
session_seconds: "session_seconds";
|
|
444
|
+
}>;
|
|
445
|
+
quantity: z.ZodNumber;
|
|
446
|
+
unit_price_usd: z.ZodNumber;
|
|
447
|
+
eur: z.ZodNumber;
|
|
448
|
+
}, z.core.$strict>>;
|
|
449
|
+
unpriced: z.ZodArray<z.ZodObject<{
|
|
450
|
+
provider: z.ZodString;
|
|
451
|
+
model: z.ZodString;
|
|
452
|
+
}, z.core.$strict>>;
|
|
453
|
+
}, z.core.$strict>>;
|
|
454
|
+
routes: z.ZodArray<z.ZodObject<{
|
|
455
|
+
channel: z.ZodEnum<{
|
|
456
|
+
phone: "phone";
|
|
457
|
+
web: "web";
|
|
458
|
+
whatsapp: "whatsapp";
|
|
459
|
+
}>;
|
|
460
|
+
number: z.ZodNullable<z.ZodString>;
|
|
461
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
462
|
+
}, z.core.$strict>>;
|
|
463
|
+
gaps: z.ZodArray<z.ZodObject<{
|
|
464
|
+
from_seq: z.ZodInt;
|
|
465
|
+
to_seq: z.ZodInt;
|
|
466
|
+
}, z.core.$strict>>;
|
|
467
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
468
|
+
seq: z.ZodInt;
|
|
469
|
+
code: z.ZodString;
|
|
470
|
+
message: z.ZodString;
|
|
471
|
+
}, z.core.$strict>>;
|
|
472
|
+
custom: z.ZodArray<z.ZodObject<{
|
|
473
|
+
seq: z.ZodInt;
|
|
474
|
+
name: z.ZodString;
|
|
475
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
476
|
+
}, z.core.$strict>>;
|
|
477
|
+
}, z.core.$strict>;
|
|
478
|
+
last_seq: z.ZodInt;
|
|
479
|
+
live: z.ZodBoolean;
|
|
480
|
+
}, z.core.$strict>;
|
|
481
|
+
export type CallState = z.infer<typeof CallStateSchema>;
|
|
482
|
+
/** One page of a log: what this reader may see, whether the log is open, and where to resume. */
|
|
483
|
+
export declare const LogPageSchema: z.ZodObject<{
|
|
484
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
485
|
+
seq: z.ZodInt;
|
|
486
|
+
ts: z.ZodNumber;
|
|
487
|
+
call: z.ZodNullable<z.ZodString>;
|
|
488
|
+
agent: z.ZodString;
|
|
489
|
+
type: z.ZodString;
|
|
490
|
+
ephemeral: z.ZodBoolean;
|
|
491
|
+
data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
492
|
+
}, z.core.$strict>>;
|
|
493
|
+
live: z.ZodBoolean;
|
|
494
|
+
next: z.ZodNullable<z.ZodInt>;
|
|
495
|
+
}, z.core.$strict>;
|
|
496
|
+
export type LogPage = z.infer<typeof LogPageSchema>;
|
|
497
|
+
/** One call as a list draws it: which call, how far the log got, and the state's own fields. */
|
|
498
|
+
export declare const SessionLineSchema: z.ZodObject<{
|
|
499
|
+
call: z.ZodString;
|
|
500
|
+
agent: z.ZodString;
|
|
501
|
+
live: z.ZodBoolean;
|
|
502
|
+
last_seq: z.ZodInt;
|
|
503
|
+
status: z.ZodEnum<{
|
|
504
|
+
idle: "idle";
|
|
505
|
+
ringing: "ringing";
|
|
506
|
+
dialing: "dialing";
|
|
507
|
+
active: "active";
|
|
508
|
+
ended: "ended";
|
|
509
|
+
}>;
|
|
510
|
+
channel: z.ZodNullable<z.ZodEnum<{
|
|
511
|
+
phone: "phone";
|
|
512
|
+
web: "web";
|
|
513
|
+
whatsapp: "whatsapp";
|
|
514
|
+
}>>;
|
|
515
|
+
direction: z.ZodNullable<z.ZodEnum<{
|
|
516
|
+
inbound: "inbound";
|
|
517
|
+
outbound: "outbound";
|
|
518
|
+
}>>;
|
|
519
|
+
from: z.ZodNullable<z.ZodString>;
|
|
520
|
+
to: z.ZodNullable<z.ZodString>;
|
|
521
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
522
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
523
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
524
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
525
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
526
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
527
|
+
}, z.core.$strict>>;
|
|
528
|
+
started_at: z.ZodNullable<z.ZodNumber>;
|
|
529
|
+
ended_at: z.ZodNullable<z.ZodNumber>;
|
|
530
|
+
end_reason: z.ZodNullable<z.ZodEnum<{
|
|
531
|
+
caller_hung_up: "caller_hung_up";
|
|
532
|
+
agent_hung_up: "agent_hung_up";
|
|
533
|
+
supervisor_ended: "supervisor_ended";
|
|
534
|
+
transferred: "transferred";
|
|
535
|
+
no_answer: "no_answer";
|
|
536
|
+
busy: "busy";
|
|
537
|
+
dial_failed: "dial_failed";
|
|
538
|
+
timeout: "timeout";
|
|
539
|
+
drained: "drained";
|
|
540
|
+
app_detached: "app_detached";
|
|
541
|
+
error: "error";
|
|
542
|
+
}>>;
|
|
543
|
+
outcome: z.ZodNullable<z.ZodString>;
|
|
544
|
+
cost: z.ZodNullable<z.ZodObject<{
|
|
545
|
+
eur: z.ZodNumber;
|
|
546
|
+
rate: z.ZodObject<{
|
|
547
|
+
currency: z.ZodLiteral<"EUR">;
|
|
548
|
+
usd_to_eur: z.ZodNumber;
|
|
549
|
+
as_of: z.ZodString;
|
|
550
|
+
}, z.core.$strict>;
|
|
551
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
552
|
+
provider: z.ZodString;
|
|
553
|
+
model: z.ZodString;
|
|
554
|
+
unit: z.ZodEnum<{
|
|
555
|
+
input_tokens: "input_tokens";
|
|
556
|
+
cached_input_tokens: "cached_input_tokens";
|
|
557
|
+
cache_creation_tokens: "cache_creation_tokens";
|
|
558
|
+
output_tokens: "output_tokens";
|
|
559
|
+
characters: "characters";
|
|
560
|
+
audio_seconds: "audio_seconds";
|
|
561
|
+
requests: "requests";
|
|
562
|
+
session_seconds: "session_seconds";
|
|
563
|
+
}>;
|
|
564
|
+
quantity: z.ZodNumber;
|
|
565
|
+
unit_price_usd: z.ZodNumber;
|
|
566
|
+
eur: z.ZodNumber;
|
|
567
|
+
}, z.core.$strict>>;
|
|
568
|
+
unpriced: z.ZodArray<z.ZodObject<{
|
|
569
|
+
provider: z.ZodString;
|
|
570
|
+
model: z.ZodString;
|
|
571
|
+
}, z.core.$strict>>;
|
|
572
|
+
}, z.core.$strict>>;
|
|
573
|
+
}, z.core.$strict>;
|
|
574
|
+
export type SessionLine = z.infer<typeof SessionLineSchema>;
|
|
575
|
+
/** GET /v1/agents/{slug}/sessions: which calls that agent handled, newest first. */
|
|
576
|
+
export declare const SessionListSchema: z.ZodObject<{
|
|
577
|
+
calls: z.ZodArray<z.ZodObject<{
|
|
578
|
+
call: z.ZodString;
|
|
579
|
+
agent: z.ZodString;
|
|
580
|
+
live: z.ZodBoolean;
|
|
581
|
+
last_seq: z.ZodInt;
|
|
582
|
+
status: z.ZodEnum<{
|
|
583
|
+
idle: "idle";
|
|
584
|
+
ringing: "ringing";
|
|
585
|
+
dialing: "dialing";
|
|
586
|
+
active: "active";
|
|
587
|
+
ended: "ended";
|
|
588
|
+
}>;
|
|
589
|
+
channel: z.ZodNullable<z.ZodEnum<{
|
|
590
|
+
phone: "phone";
|
|
591
|
+
web: "web";
|
|
592
|
+
whatsapp: "whatsapp";
|
|
593
|
+
}>>;
|
|
594
|
+
direction: z.ZodNullable<z.ZodEnum<{
|
|
595
|
+
inbound: "inbound";
|
|
596
|
+
outbound: "outbound";
|
|
597
|
+
}>>;
|
|
598
|
+
from: z.ZodNullable<z.ZodString>;
|
|
599
|
+
to: z.ZodNullable<z.ZodString>;
|
|
600
|
+
caller: z.ZodNullable<z.ZodObject<{
|
|
601
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
602
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
603
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
604
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
605
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
606
|
+
}, z.core.$strict>>;
|
|
607
|
+
started_at: z.ZodNullable<z.ZodNumber>;
|
|
608
|
+
ended_at: z.ZodNullable<z.ZodNumber>;
|
|
609
|
+
end_reason: z.ZodNullable<z.ZodEnum<{
|
|
610
|
+
caller_hung_up: "caller_hung_up";
|
|
611
|
+
agent_hung_up: "agent_hung_up";
|
|
612
|
+
supervisor_ended: "supervisor_ended";
|
|
613
|
+
transferred: "transferred";
|
|
614
|
+
no_answer: "no_answer";
|
|
615
|
+
busy: "busy";
|
|
616
|
+
dial_failed: "dial_failed";
|
|
617
|
+
timeout: "timeout";
|
|
618
|
+
drained: "drained";
|
|
619
|
+
app_detached: "app_detached";
|
|
620
|
+
error: "error";
|
|
621
|
+
}>>;
|
|
622
|
+
outcome: z.ZodNullable<z.ZodString>;
|
|
623
|
+
cost: z.ZodNullable<z.ZodObject<{
|
|
624
|
+
eur: z.ZodNumber;
|
|
625
|
+
rate: z.ZodObject<{
|
|
626
|
+
currency: z.ZodLiteral<"EUR">;
|
|
627
|
+
usd_to_eur: z.ZodNumber;
|
|
628
|
+
as_of: z.ZodString;
|
|
629
|
+
}, z.core.$strict>;
|
|
630
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
631
|
+
provider: z.ZodString;
|
|
632
|
+
model: z.ZodString;
|
|
633
|
+
unit: z.ZodEnum<{
|
|
634
|
+
input_tokens: "input_tokens";
|
|
635
|
+
cached_input_tokens: "cached_input_tokens";
|
|
636
|
+
cache_creation_tokens: "cache_creation_tokens";
|
|
637
|
+
output_tokens: "output_tokens";
|
|
638
|
+
characters: "characters";
|
|
639
|
+
audio_seconds: "audio_seconds";
|
|
640
|
+
requests: "requests";
|
|
641
|
+
session_seconds: "session_seconds";
|
|
642
|
+
}>;
|
|
643
|
+
quantity: z.ZodNumber;
|
|
644
|
+
unit_price_usd: z.ZodNumber;
|
|
645
|
+
eur: z.ZodNumber;
|
|
646
|
+
}, z.core.$strict>>;
|
|
647
|
+
unpriced: z.ZodArray<z.ZodObject<{
|
|
648
|
+
provider: z.ZodString;
|
|
649
|
+
model: z.ZodString;
|
|
650
|
+
}, z.core.$strict>>;
|
|
651
|
+
}, z.core.$strict>>;
|
|
652
|
+
}, z.core.$strict>>;
|
|
653
|
+
}, z.core.$strict>;
|
|
654
|
+
export type SessionList = z.infer<typeof SessionListSchema>;
|
|
655
|
+
/** One corner of a world holding an agent: the member whose it is, named so a person can read it. */
|
|
656
|
+
export declare const LineHolderSchema: z.ZodObject<{
|
|
657
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
658
|
+
name: z.ZodNullable<z.ZodString>;
|
|
659
|
+
}, z.core.$strict>;
|
|
660
|
+
export type LineHolder = z.infer<typeof LineHolderSchema>;
|
|
661
|
+
/** One agent, as somebody choosing which to open needs to see it: its name and its channels. */
|
|
662
|
+
export declare const HeldAgentSchema: z.ZodObject<{
|
|
663
|
+
slug: z.ZodString;
|
|
664
|
+
channels: z.ZodArray<z.ZodEnum<{
|
|
665
|
+
phone: "phone";
|
|
666
|
+
web: "web";
|
|
667
|
+
whatsapp: "whatsapp";
|
|
668
|
+
}>>;
|
|
669
|
+
holder: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
670
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
671
|
+
name: z.ZodNullable<z.ZodString>;
|
|
672
|
+
}, z.core.$strict>>>;
|
|
673
|
+
}, z.core.$strict>;
|
|
674
|
+
export type HeldAgent = z.infer<typeof HeldAgentSchema>;
|
|
675
|
+
/** GET /v1/agents: every agent this fleet is holding right now, as the front page lists them. */
|
|
676
|
+
export declare const AgentListSchema: z.ZodObject<{
|
|
677
|
+
agents: z.ZodArray<z.ZodObject<{
|
|
678
|
+
slug: z.ZodString;
|
|
679
|
+
channels: z.ZodArray<z.ZodEnum<{
|
|
680
|
+
phone: "phone";
|
|
681
|
+
web: "web";
|
|
682
|
+
whatsapp: "whatsapp";
|
|
683
|
+
}>>;
|
|
684
|
+
holder: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
685
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
686
|
+
name: z.ZodNullable<z.ZodString>;
|
|
687
|
+
}, z.core.$strict>>>;
|
|
688
|
+
}, z.core.$strict>>;
|
|
689
|
+
}, z.core.$strict>;
|
|
690
|
+
export type AgentList = z.infer<typeof AgentListSchema>;
|
|
691
|
+
/**
|
|
692
|
+
* GET /v1/agents/{slug}/line: whose terminal a call that RINGS at this agent's doors lands in. An
|
|
693
|
+
* org shares one sandbox number, so it rings in one place and which one is claimed.
|
|
694
|
+
*/
|
|
695
|
+
export declare const TheLineSchema: z.ZodObject<{
|
|
696
|
+
agent: z.ZodString;
|
|
697
|
+
env: z.ZodEnum<{
|
|
698
|
+
production: "production";
|
|
699
|
+
sandbox: "sandbox";
|
|
700
|
+
}>;
|
|
701
|
+
held: z.ZodBoolean;
|
|
702
|
+
holding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
703
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
704
|
+
name: z.ZodNullable<z.ZodString>;
|
|
705
|
+
}, z.core.$strict>>>;
|
|
706
|
+
yours: z.ZodBoolean;
|
|
707
|
+
waiting: z.ZodArray<z.ZodObject<{
|
|
708
|
+
holder: z.ZodNullable<z.ZodString>;
|
|
709
|
+
name: z.ZodNullable<z.ZodString>;
|
|
710
|
+
}, z.core.$strict>>;
|
|
711
|
+
calling: z.ZodArray<z.ZodString>;
|
|
712
|
+
}, z.core.$strict>;
|
|
713
|
+
export type TheLine = z.infer<typeof TheLineSchema>;
|
|
714
|
+
/**
|
|
715
|
+
* PUT /v1/knowledge/{base}, the body: the tenant's folder as of now, sent whole. The base is
|
|
716
|
+
* replaced, never merged.
|
|
717
|
+
*/
|
|
718
|
+
export declare const KnowledgePushSchema: z.ZodObject<{
|
|
719
|
+
files: z.ZodArray<z.ZodObject<{
|
|
720
|
+
path: z.ZodString;
|
|
721
|
+
text: z.ZodString;
|
|
722
|
+
}, z.core.$strict>>;
|
|
723
|
+
}, z.core.$strict>;
|
|
724
|
+
export type KnowledgePush = z.infer<typeof KnowledgePushSchema>;
|
|
725
|
+
/**
|
|
726
|
+
* One question of a base's golden: what somebody asks, and the chunk that should answer it. A
|
|
727
|
+
* chunk answers when its file and heading path start with `expects`, so naming a file alone
|
|
728
|
+
* accepts any chunk of it and naming a heading accepts that section.
|
|
729
|
+
*/
|
|
730
|
+
export declare const GoldenQuestionSchema: z.ZodObject<{
|
|
731
|
+
asks: z.ZodString;
|
|
732
|
+
expects: z.ZodString;
|
|
733
|
+
}, z.core.$strict>;
|
|
734
|
+
export type GoldenQuestion = z.infer<typeof GoldenQuestionSchema>;
|
|
735
|
+
/**
|
|
736
|
+
* POST /v1/knowledge/{base}/eval, the body: the questions a base is held to. A golden is fixed and
|
|
737
|
+
* the index is the variable; a question is never softened so a change can pass.
|
|
738
|
+
*/
|
|
739
|
+
export declare const KnowledgeGoldenSchema: z.ZodObject<{
|
|
740
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
741
|
+
asks: z.ZodString;
|
|
742
|
+
expects: z.ZodString;
|
|
743
|
+
}, z.core.$strict>>;
|
|
744
|
+
k: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
745
|
+
}, z.core.$strict>;
|
|
746
|
+
export type KnowledgeGolden = z.infer<typeof KnowledgeGoldenSchema>;
|
|
747
|
+
/** One question whose expected chunk was not among the k returned, and what came back instead. */
|
|
748
|
+
export declare const GoldenMissSchema: z.ZodObject<{
|
|
749
|
+
asks: z.ZodString;
|
|
750
|
+
expects: z.ZodString;
|
|
751
|
+
found: z.ZodArray<z.ZodString>;
|
|
752
|
+
}, z.core.$strict>;
|
|
753
|
+
export type GoldenMiss = z.infer<typeof GoldenMissSchema>;
|
|
754
|
+
/**
|
|
755
|
+
* POST /v1/knowledge/{base}/eval, the answer: how the index did on its own golden. Both figures
|
|
756
|
+
* are computed by code, with no model, so two runs of the same golden over the same base answer
|
|
757
|
+
* the same numbers.
|
|
758
|
+
*/
|
|
759
|
+
export declare const KnowledgeScoreSchema: z.ZodObject<{
|
|
760
|
+
base: z.ZodString;
|
|
761
|
+
model: z.ZodString;
|
|
762
|
+
questions: z.ZodInt;
|
|
763
|
+
k: z.ZodInt;
|
|
764
|
+
recall_at_k: z.ZodNumber;
|
|
765
|
+
ndcg_at_10: z.ZodNumber;
|
|
766
|
+
took_ms: z.ZodNumber;
|
|
767
|
+
misses: z.ZodArray<z.ZodObject<{
|
|
768
|
+
asks: z.ZodString;
|
|
769
|
+
expects: z.ZodString;
|
|
770
|
+
found: z.ZodArray<z.ZodString>;
|
|
771
|
+
}, z.core.$strict>>;
|
|
772
|
+
}, z.core.$strict>;
|
|
773
|
+
export type KnowledgeScore = z.infer<typeof KnowledgeScoreSchema>;
|
|
774
|
+
/**
|
|
775
|
+
* PUT /v1/knowledge/{base}, the answer: which base, how many chunks it became, and how long that
|
|
776
|
+
* took.
|
|
777
|
+
*/
|
|
778
|
+
export declare const KnowledgePushedSchema: z.ZodObject<{
|
|
779
|
+
base: z.ZodString;
|
|
780
|
+
chunks: z.ZodInt;
|
|
781
|
+
took_ms: z.ZodNumber;
|
|
782
|
+
}, z.core.$strict>;
|
|
783
|
+
export type KnowledgePushed = z.infer<typeof KnowledgePushedSchema>;
|
|
784
|
+
/** One knowledge base as the list draws it: its name, its size, and when it was last pushed. */
|
|
785
|
+
export declare const KnowledgeBaseSchema: z.ZodObject<{
|
|
786
|
+
base: z.ZodString;
|
|
787
|
+
chunks: z.ZodInt;
|
|
788
|
+
model: z.ZodString;
|
|
789
|
+
pushed_at: z.ZodNumber;
|
|
790
|
+
}, z.core.$strict>;
|
|
791
|
+
export type KnowledgeBase = z.infer<typeof KnowledgeBaseSchema>;
|
|
792
|
+
/** GET /v1/knowledge: every base this org has pushed. */
|
|
793
|
+
export declare const KnowledgeListSchema: z.ZodObject<{
|
|
794
|
+
bases: z.ZodArray<z.ZodObject<{
|
|
795
|
+
base: z.ZodString;
|
|
796
|
+
chunks: z.ZodInt;
|
|
797
|
+
model: z.ZodString;
|
|
798
|
+
pushed_at: z.ZodNumber;
|
|
799
|
+
}, z.core.$strict>>;
|
|
800
|
+
}, z.core.$strict>;
|
|
801
|
+
export type KnowledgeList = z.infer<typeof KnowledgeListSchema>;
|
|
802
|
+
/**
|
|
803
|
+
* One fact of a contact's history: a MemoryFact with the two dates that bound it. A fact is never
|
|
804
|
+
* deleted, only superseded, so the history keeps every version.
|
|
805
|
+
*/
|
|
806
|
+
export declare const ContactFactSchema: z.ZodObject<{
|
|
807
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
808
|
+
text: z.ZodString;
|
|
809
|
+
category: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
810
|
+
source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
811
|
+
valid_from: z.ZodNumber;
|
|
812
|
+
invalidated_at: z.ZodNullable<z.ZodNumber>;
|
|
813
|
+
}, z.core.$strict>;
|
|
814
|
+
export type ContactFact = z.infer<typeof ContactFactSchema>;
|
|
815
|
+
/**
|
|
816
|
+
* GET /v1/contacts/{contact}/memory: everything memory ever kept about one contact, current facts
|
|
817
|
+
* first.
|
|
818
|
+
*/
|
|
819
|
+
export declare const ContactMemorySchema: z.ZodObject<{
|
|
820
|
+
facts: z.ZodArray<z.ZodObject<{
|
|
821
|
+
id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
822
|
+
text: z.ZodString;
|
|
823
|
+
category: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
824
|
+
source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
825
|
+
valid_from: z.ZodNumber;
|
|
826
|
+
invalidated_at: z.ZodNullable<z.ZodNumber>;
|
|
827
|
+
}, z.core.$strict>>;
|
|
828
|
+
}, z.core.$strict>;
|
|
829
|
+
export type ContactMemory = z.infer<typeof ContactMemorySchema>;
|
|
830
|
+
/**
|
|
831
|
+
* DELETE /v1/contacts/{contact}/memory, the answer: how many facts the right to be forgotten
|
|
832
|
+
* erased.
|
|
833
|
+
*/
|
|
834
|
+
export declare const ForgottenSchema: z.ZodObject<{
|
|
835
|
+
forgotten: z.ZodInt;
|
|
836
|
+
}, z.core.$strict>;
|
|
837
|
+
export type Forgotten = z.infer<typeof ForgottenSchema>;
|
|
838
|
+
/**
|
|
839
|
+
* One question of a memory golden: what memory holds about the contact who asks it, the words they
|
|
840
|
+
* just said, and the fact or facts that should come back. The facts are the question's own, so a
|
|
841
|
+
* golden needs no contact in any table.
|
|
842
|
+
*/
|
|
843
|
+
export declare const MemoryQuestionSchema: z.ZodObject<{
|
|
844
|
+
holds: z.ZodArray<z.ZodString>;
|
|
845
|
+
asks: z.ZodString;
|
|
846
|
+
expects: z.ZodArray<z.ZodString>;
|
|
847
|
+
}, z.core.$strict>;
|
|
848
|
+
export type MemoryQuestion = z.infer<typeof MemoryQuestionSchema>;
|
|
849
|
+
/**
|
|
850
|
+
* POST /v1/contacts/memory/eval, the body: the questions memory is held to. Each question brings
|
|
851
|
+
* its own facts, which are written to a scratch contact of this org, asked, and deleted. A golden
|
|
852
|
+
* is fixed and the ranking is the variable; a question is never softened so a change can pass.
|
|
853
|
+
*/
|
|
854
|
+
export declare const MemoryGoldenSchema: z.ZodObject<{
|
|
855
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
856
|
+
holds: z.ZodArray<z.ZodString>;
|
|
857
|
+
asks: z.ZodString;
|
|
858
|
+
expects: z.ZodArray<z.ZodString>;
|
|
859
|
+
}, z.core.$strict>>;
|
|
860
|
+
k: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
861
|
+
}, z.core.$strict>;
|
|
862
|
+
export type MemoryGolden = z.infer<typeof MemoryGoldenSchema>;
|
|
863
|
+
/**
|
|
864
|
+
* One question memory did not answer whole: what it wanted and did not get, and what came back
|
|
865
|
+
* instead. GoldenMiss is the knowledge base's and names the one chunk that should have won; a
|
|
866
|
+
* memory question may expect several facts and miss some of them.
|
|
867
|
+
*/
|
|
868
|
+
export declare const MemoryMissSchema: z.ZodObject<{
|
|
869
|
+
asks: z.ZodString;
|
|
870
|
+
missing: z.ZodArray<z.ZodString>;
|
|
871
|
+
found: z.ZodArray<z.ZodString>;
|
|
872
|
+
}, z.core.$strict>;
|
|
873
|
+
export type MemoryMiss = z.infer<typeof MemoryMissSchema>;
|
|
874
|
+
/**
|
|
875
|
+
* POST /v1/contacts/memory/eval, the answer: how memory ranked the facts its own golden asked for.
|
|
876
|
+
* Both figures are computed by code, with no model in the loop, so two runs of one golden answer
|
|
877
|
+
* the same numbers.
|
|
878
|
+
*/
|
|
879
|
+
export declare const MemoryScoreSchema: z.ZodObject<{
|
|
880
|
+
model: z.ZodString;
|
|
881
|
+
questions: z.ZodInt;
|
|
882
|
+
k: z.ZodInt;
|
|
883
|
+
recall_at_k: z.ZodNumber;
|
|
884
|
+
ndcg_at_10: z.ZodNumber;
|
|
885
|
+
took_ms: z.ZodNumber;
|
|
886
|
+
misses: z.ZodArray<z.ZodObject<{
|
|
887
|
+
asks: z.ZodString;
|
|
888
|
+
missing: z.ZodArray<z.ZodString>;
|
|
889
|
+
found: z.ZodArray<z.ZodString>;
|
|
890
|
+
}, z.core.$strict>>;
|
|
891
|
+
}, z.core.$strict>;
|
|
892
|
+
export type MemoryScore = z.infer<typeof MemoryScoreSchema>;
|
|
893
|
+
/**
|
|
894
|
+
* What must come of one call's hang-up: each field is one of the four ways a hang-up costs a
|
|
895
|
+
* business. Nothing here compares one sentence to another — a category is the class's own word, a
|
|
896
|
+
* value is a literal the caller said out loud, and a supersession is an id — because two ways of
|
|
897
|
+
* writing one fact are one fact.
|
|
898
|
+
*/
|
|
899
|
+
export declare const ExtractionExpectedSchema: z.ZodObject<{
|
|
900
|
+
writes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
901
|
+
never: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
902
|
+
never_says: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
903
|
+
invalidates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
904
|
+
}, z.core.$strict>;
|
|
905
|
+
export type ExtractionExpected = z.infer<typeof ExtractionExpectedSchema>;
|
|
906
|
+
/**
|
|
907
|
+
* One call written down and what memory must make of it: the write side of the table, judged by
|
|
908
|
+
* code. The read side is MemoryGolden and neither answers for the other — a call may extract the
|
|
909
|
+
* perfect fact and never see it again, because six is what a turn is handed and the seventh is
|
|
910
|
+
* cut.
|
|
911
|
+
*/
|
|
912
|
+
export declare const ExtractionGoldenSchema: z.ZodObject<{
|
|
913
|
+
name: z.ZodString;
|
|
914
|
+
said: z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
915
|
+
holds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
916
|
+
plants: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
917
|
+
channel: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
918
|
+
phone: "phone";
|
|
919
|
+
web: "web";
|
|
920
|
+
whatsapp: "whatsapp";
|
|
921
|
+
}>>>;
|
|
922
|
+
expect: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
923
|
+
writes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
924
|
+
never: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
925
|
+
never_says: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
926
|
+
invalidates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
927
|
+
}, z.core.$strict>>>;
|
|
928
|
+
}, z.core.$strict>;
|
|
929
|
+
export type ExtractionGolden = z.infer<typeof ExtractionGoldenSchema>;
|
|
930
|
+
/**
|
|
931
|
+
* POST /v1/agents/{slug}/memory/extraction, the body: the goldens whole, as the tenant wrote them
|
|
932
|
+
* down. Each costs ONE model call — the very one a hang-up makes — run on the org's own model and
|
|
933
|
+
* keys against the class the caller is holding.
|
|
934
|
+
*/
|
|
935
|
+
export declare const ExtractionCasesSchema: z.ZodObject<{
|
|
936
|
+
cases: z.ZodArray<z.ZodObject<{
|
|
937
|
+
name: z.ZodString;
|
|
938
|
+
said: z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodString], null>>;
|
|
939
|
+
holds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
940
|
+
plants: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
941
|
+
channel: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
942
|
+
phone: "phone";
|
|
943
|
+
web: "web";
|
|
944
|
+
whatsapp: "whatsapp";
|
|
945
|
+
}>>>;
|
|
946
|
+
expect: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
947
|
+
writes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
948
|
+
never: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
949
|
+
never_says: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
950
|
+
invalidates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
951
|
+
}, z.core.$strict>>>;
|
|
952
|
+
}, z.core.$strict>>;
|
|
953
|
+
}, z.core.$strict>;
|
|
954
|
+
export type ExtractionCases = z.infer<typeof ExtractionCasesSchema>;
|
|
955
|
+
/**
|
|
956
|
+
* One thing that did not hold about a case: which of the questions, and the evidence in a sentence
|
|
957
|
+
* a person can act on.
|
|
958
|
+
*/
|
|
959
|
+
export declare const ExtractionBrokeSchema: z.ZodObject<{
|
|
960
|
+
check: z.ZodString;
|
|
961
|
+
detail: z.ZodString;
|
|
962
|
+
}, z.core.$strict>;
|
|
963
|
+
export type ExtractionBroke = z.infer<typeof ExtractionBrokeSchema>;
|
|
964
|
+
/** One case, run: what memory would have kept, what admission refused, and what did not hold. */
|
|
965
|
+
export declare const ExtractionJudgedSchema: z.ZodObject<{
|
|
966
|
+
name: z.ZodString;
|
|
967
|
+
held: z.ZodBoolean;
|
|
968
|
+
wrote: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
969
|
+
refused: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
970
|
+
broke: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
971
|
+
check: z.ZodString;
|
|
972
|
+
detail: z.ZodString;
|
|
973
|
+
}, z.core.$strict>>>>;
|
|
974
|
+
}, z.core.$strict>;
|
|
975
|
+
export type ExtractionJudged = z.infer<typeof ExtractionJudgedSchema>;
|
|
976
|
+
/**
|
|
977
|
+
* POST /v1/agents/{slug}/memory/extraction, the answer: which model answered, how many cases held,
|
|
978
|
+
* and every one of them. A verb prints this and a pipeline exits on it.
|
|
979
|
+
*/
|
|
980
|
+
export declare const ExtractionRunSchema: z.ZodObject<{
|
|
981
|
+
agent: z.ZodString;
|
|
982
|
+
model: z.ZodString;
|
|
983
|
+
cases: z.ZodInt;
|
|
984
|
+
held: z.ZodInt;
|
|
985
|
+
took_ms: z.ZodNumber;
|
|
986
|
+
results: z.ZodArray<z.ZodObject<{
|
|
987
|
+
name: z.ZodString;
|
|
988
|
+
held: z.ZodBoolean;
|
|
989
|
+
wrote: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
990
|
+
refused: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
991
|
+
broke: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
992
|
+
check: z.ZodString;
|
|
993
|
+
detail: z.ZodString;
|
|
994
|
+
}, z.core.$strict>>>>;
|
|
995
|
+
}, z.core.$strict>>;
|
|
996
|
+
}, z.core.$strict>;
|
|
997
|
+
export type ExtractionRun = z.infer<typeof ExtractionRunSchema>;
|
|
998
|
+
/**
|
|
999
|
+
* POST /v1/calls/{call}/lookup, the body: which platform tool to run for this turn, and what to
|
|
1000
|
+
* run it with. Worker-only; the gateway runs it against its own stores and writes memory.ops or
|
|
1001
|
+
* docs.sources on the call's log itself.
|
|
1002
|
+
*/
|
|
1003
|
+
export declare const LookupRequestSchema: z.ZodObject<{
|
|
1004
|
+
tool: z.ZodEnum<{
|
|
1005
|
+
recall: "recall";
|
|
1006
|
+
search: "search";
|
|
1007
|
+
}>;
|
|
1008
|
+
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1009
|
+
speech_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1010
|
+
}, z.core.$strict>;
|
|
1011
|
+
export type LookupRequest = z.infer<typeof LookupRequestSchema>;
|
|
1012
|
+
/**
|
|
1013
|
+
* POST /v1/calls/{call}/lookup, the answer: what the tool found, and how long finding it took. The
|
|
1014
|
+
* output is JSON-encoded into a tool_result block, which is where everything from outside the
|
|
1015
|
+
* conversation goes and the only place it goes.
|
|
1016
|
+
*/
|
|
1017
|
+
export declare const LookupResultSchema: z.ZodObject<{
|
|
1018
|
+
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1019
|
+
took_ms: z.ZodNumber;
|
|
1020
|
+
}, z.core.$strict>;
|
|
1021
|
+
export type LookupResult = z.infer<typeof LookupResultSchema>;
|
|
1022
|
+
/**
|
|
1023
|
+
* POST /v1/calls/{call}/remember, the answer: what the call taught about the contact, counted.
|
|
1024
|
+
* Worker-only; the body is empty, the gateway reads the turns off its own log and writes
|
|
1025
|
+
* memory.ops itself.
|
|
1026
|
+
*/
|
|
1027
|
+
export declare const RememberedSchema: z.ZodObject<{
|
|
1028
|
+
ops: z.ZodInt;
|
|
1029
|
+
took_ms: z.ZodNumber;
|
|
1030
|
+
}, z.core.$strict>;
|
|
1031
|
+
export type Remembered = z.infer<typeof RememberedSchema>;
|