@qcobro/common 1.24.1 → 1.27.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/dist/config.d.ts CHANGED
@@ -49,6 +49,7 @@ export declare const fonosterConfigSchema: z.ZodOptional<z.ZodObject<{
49
49
  llmModel: z.ZodDefault<z.ZodString>;
50
50
  maxTokens: z.ZodDefault<z.ZodNumber>;
51
51
  temperature: z.ZodDefault<z.ZodNumber>;
52
+ evalsModel: z.ZodDefault<z.ZodString>;
52
53
  }, z.core.$strip>>;
53
54
  voices: z.ZodOptional<z.ZodArray<z.ZodObject<{
54
55
  id: z.ZodString;
@@ -310,6 +311,7 @@ export declare const qcobroConfigSchema: z.ZodObject<{
310
311
  llmModel: z.ZodDefault<z.ZodString>;
311
312
  maxTokens: z.ZodDefault<z.ZodNumber>;
312
313
  temperature: z.ZodDefault<z.ZodNumber>;
314
+ evalsModel: z.ZodDefault<z.ZodString>;
313
315
  }, z.core.$strip>>;
314
316
  voices: z.ZodOptional<z.ZodArray<z.ZodObject<{
315
317
  id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -53,7 +53,16 @@ export const fonosterConfigSchema = z
53
53
  llmProvider: z.string().default("google"),
54
54
  llmModel: z.string().default("gemini-2.0-flash"),
55
55
  maxTokens: z.number().default(300),
56
- temperature: z.number().default(0)
56
+ temperature: z.number().default(0),
57
+ /**
58
+ * Model for Fonoster's `evaluateIntelligence` judge (`testCases.evalsLanguageModel`) —
59
+ * a required field on every VOICE_AI eval request, always `provider: "openai"` (the only
60
+ * provider Fonoster's evals grader supports, independent of the agent's own
61
+ * `llmProvider`/`llmModel` above). Confirmed against the live service that Fonoster
62
+ * supplies its own default OpenAI key when none is given, so no apiKey field is exposed
63
+ * here yet — add one if a deployment ever needs its own quota.
64
+ */
65
+ evalsModel: z.string().default("gpt-4o-mini")
57
66
  })
58
67
  .default({
59
68
  sttProductRef: "stt.deepgram",
@@ -62,7 +71,8 @@ export const fonosterConfigSchema = z
62
71
  llmProvider: "google",
63
72
  llmModel: "gemini-2.0-flash",
64
73
  maxTokens: 300,
65
- temperature: 0
74
+ temperature: 0,
75
+ evalsModel: "gpt-4o-mini"
66
76
  }),
67
77
  /**
68
78
  * Selectable voice catalog for voice agent templates (Voz IA + pre-recorded).
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,619 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The account context an eval scenario runs against — author-facing fields only
4
+ * (no id/portfolioId/timestamps). The apiserver fills those bookkeeping fields with
5
+ * synthetic values before calling {@link buildOutreachContext}, so eval scenarios reuse
6
+ * the exact same render/context-building logic as a real dispatch, not a re-implementation.
7
+ */
8
+ export declare const evalAccountSchema: z.ZodObject<{
9
+ fullName: z.ZodString;
10
+ principalAmount: z.ZodDefault<z.ZodNumber>;
11
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
12
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
13
+ termsAmount: z.ZodDefault<z.ZodNumber>;
14
+ termsFrequency: z.ZodOptional<z.ZodString>;
15
+ termsLength: z.ZodDefault<z.ZodNumber>;
16
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
17
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
18
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
19
+ preferredLanguage: z.ZodOptional<z.ZodString>;
20
+ customerSegment: z.ZodOptional<z.ZodString>;
21
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
22
+ currency: z.ZodDefault<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export type EvalAccountInput = z.infer<typeof evalAccountSchema>;
25
+ /** VOICE_AI's text-match assertion, mirroring Fonoster's `EXACT`/`SIMILAR` expectation. */
26
+ export declare const evalExpectedTextSchema: z.ZodObject<{
27
+ type: z.ZodEnum<{
28
+ EXACT: "EXACT";
29
+ SIMILAR: "SIMILAR";
30
+ }>;
31
+ response: z.ZodString;
32
+ }, z.core.$strip>;
33
+ /** VOICE_AI's expected-tool-call assertion (e.g. `hangup`), mirroring Fonoster's report shape. */
34
+ export declare const evalExpectedToolSchema: z.ZodObject<{
35
+ tool: z.ZodString;
36
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
37
+ }, z.core.$strip>;
38
+ /**
39
+ * A single turn's optional expectation. `text`/`tools` are graded for `VOICE_AI` (relayed
40
+ * from Fonoster); `action`/`outcome` are graded for `EMAIL`/`WHATSAPP` (the behavioral analog
41
+ * of an expected tool call — see design.md). A turn with no `expected` still runs and streams
42
+ * a result, it just has nothing to grade — **except for VOICE_AI**: Fonoster's
43
+ * `evaluateIntelligence` requires `expected.text` on every conversation turn (confirmed
44
+ * against the live service, correcting an earlier assumption in design.md), so
45
+ * `resolveEvalTarget` rejects a VOICE_AI scenario with any turn missing it before ever
46
+ * calling Fonoster. This schema stays permissive (shared across all three channel types);
47
+ * the VOICE_AI-specific requirement is enforced at resolution time, not here.
48
+ */
49
+ export declare const evalExpectedSchema: z.ZodObject<{
50
+ text: z.ZodOptional<z.ZodObject<{
51
+ type: z.ZodEnum<{
52
+ EXACT: "EXACT";
53
+ SIMILAR: "SIMILAR";
54
+ }>;
55
+ response: z.ZodString;
56
+ }, z.core.$strip>>;
57
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
58
+ tool: z.ZodString;
59
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
+ }, z.core.$strip>>>;
61
+ action: z.ZodOptional<z.ZodEnum<{
62
+ reply: "reply";
63
+ ignore: "ignore";
64
+ resolve: "resolve";
65
+ escalate: "escalate";
66
+ }>>;
67
+ outcome: z.ZodOptional<z.ZodEnum<{
68
+ DELIVERED: "DELIVERED";
69
+ NOT_DELIVERED: "NOT_DELIVERED";
70
+ NO_ANSWER: "NO_ANSWER";
71
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
72
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
73
+ NEW_TERMS: "NEW_TERMS";
74
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
75
+ DISPUTE_RAISED: "DISPUTE_RAISED";
76
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
77
+ RESOLVED: "RESOLVED";
78
+ PAID: "PAID";
79
+ WRONG_NUMBER: "WRONG_NUMBER";
80
+ OPT_OUT: "OPT_OUT";
81
+ REFUSED: "REFUSED";
82
+ OTHER: "OTHER";
83
+ }>>;
84
+ }, z.core.$strip>;
85
+ export declare const evalTurnSchema: z.ZodObject<{
86
+ input: z.ZodString;
87
+ expected: z.ZodOptional<z.ZodObject<{
88
+ text: z.ZodOptional<z.ZodObject<{
89
+ type: z.ZodEnum<{
90
+ EXACT: "EXACT";
91
+ SIMILAR: "SIMILAR";
92
+ }>;
93
+ response: z.ZodString;
94
+ }, z.core.$strip>>;
95
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
96
+ tool: z.ZodString;
97
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
+ }, z.core.$strip>>>;
99
+ action: z.ZodOptional<z.ZodEnum<{
100
+ reply: "reply";
101
+ ignore: "ignore";
102
+ resolve: "resolve";
103
+ escalate: "escalate";
104
+ }>>;
105
+ outcome: z.ZodOptional<z.ZodEnum<{
106
+ DELIVERED: "DELIVERED";
107
+ NOT_DELIVERED: "NOT_DELIVERED";
108
+ NO_ANSWER: "NO_ANSWER";
109
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
110
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
111
+ NEW_TERMS: "NEW_TERMS";
112
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
113
+ DISPUTE_RAISED: "DISPUTE_RAISED";
114
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
115
+ RESOLVED: "RESOLVED";
116
+ PAID: "PAID";
117
+ WRONG_NUMBER: "WRONG_NUMBER";
118
+ OPT_OUT: "OPT_OUT";
119
+ REFUSED: "REFUSED";
120
+ OTHER: "OTHER";
121
+ }>>;
122
+ }, z.core.$strip>>;
123
+ }, z.core.$strip>;
124
+ export declare const evalScenarioSchema: z.ZodObject<{
125
+ ref: z.ZodString;
126
+ description: z.ZodOptional<z.ZodString>;
127
+ account: z.ZodObject<{
128
+ fullName: z.ZodString;
129
+ principalAmount: z.ZodDefault<z.ZodNumber>;
130
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
131
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
132
+ termsAmount: z.ZodDefault<z.ZodNumber>;
133
+ termsFrequency: z.ZodOptional<z.ZodString>;
134
+ termsLength: z.ZodDefault<z.ZodNumber>;
135
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
136
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
137
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
138
+ preferredLanguage: z.ZodOptional<z.ZodString>;
139
+ customerSegment: z.ZodOptional<z.ZodString>;
140
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
141
+ currency: z.ZodDefault<z.ZodString>;
142
+ }, z.core.$strip>;
143
+ turns: z.ZodArray<z.ZodObject<{
144
+ input: z.ZodString;
145
+ expected: z.ZodOptional<z.ZodObject<{
146
+ text: z.ZodOptional<z.ZodObject<{
147
+ type: z.ZodEnum<{
148
+ EXACT: "EXACT";
149
+ SIMILAR: "SIMILAR";
150
+ }>;
151
+ response: z.ZodString;
152
+ }, z.core.$strip>>;
153
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
154
+ tool: z.ZodString;
155
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ }, z.core.$strip>>>;
157
+ action: z.ZodOptional<z.ZodEnum<{
158
+ reply: "reply";
159
+ ignore: "ignore";
160
+ resolve: "resolve";
161
+ escalate: "escalate";
162
+ }>>;
163
+ outcome: z.ZodOptional<z.ZodEnum<{
164
+ DELIVERED: "DELIVERED";
165
+ NOT_DELIVERED: "NOT_DELIVERED";
166
+ NO_ANSWER: "NO_ANSWER";
167
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
168
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
169
+ NEW_TERMS: "NEW_TERMS";
170
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
171
+ DISPUTE_RAISED: "DISPUTE_RAISED";
172
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
173
+ RESOLVED: "RESOLVED";
174
+ PAID: "PAID";
175
+ WRONG_NUMBER: "WRONG_NUMBER";
176
+ OPT_OUT: "OPT_OUT";
177
+ REFUSED: "REFUSED";
178
+ OTHER: "OTHER";
179
+ }>>;
180
+ }, z.core.$strip>>;
181
+ }, z.core.$strip>>;
182
+ }, z.core.$strip>;
183
+ export type EvalScenario = z.infer<typeof evalScenarioSchema>;
184
+ export type EvalTurn = z.infer<typeof evalTurnSchema>;
185
+ /**
186
+ * An eval template: the same fields `createAgentTemplateSchema` validates for
187
+ * `agentTemplates.create`, plus a `scenarios` array — one document is both the agent
188
+ * definition and its tests (see design.md). Restricted to the three conversational
189
+ * channel types; `SMS`/`VOICE_PRERECORDED` have no scenarios to run (see
190
+ * `previewYamlAgentSchema` instead).
191
+ */
192
+ export declare const evalTemplateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
193
+ type: z.ZodLiteral<"VOICE_AI">;
194
+ voice: z.ZodString;
195
+ systemPrompt: z.ZodString;
196
+ firstMessage: z.ZodOptional<z.ZodString>;
197
+ language: z.ZodString;
198
+ fonosterAppName: z.ZodOptional<z.ZodString>;
199
+ name: z.ZodString;
200
+ scenarios: z.ZodArray<z.ZodObject<{
201
+ ref: z.ZodString;
202
+ description: z.ZodOptional<z.ZodString>;
203
+ account: z.ZodObject<{
204
+ fullName: z.ZodString;
205
+ principalAmount: z.ZodDefault<z.ZodNumber>;
206
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
207
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
208
+ termsAmount: z.ZodDefault<z.ZodNumber>;
209
+ termsFrequency: z.ZodOptional<z.ZodString>;
210
+ termsLength: z.ZodDefault<z.ZodNumber>;
211
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
212
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
213
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
214
+ preferredLanguage: z.ZodOptional<z.ZodString>;
215
+ customerSegment: z.ZodOptional<z.ZodString>;
216
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
217
+ currency: z.ZodDefault<z.ZodString>;
218
+ }, z.core.$strip>;
219
+ turns: z.ZodArray<z.ZodObject<{
220
+ input: z.ZodString;
221
+ expected: z.ZodOptional<z.ZodObject<{
222
+ text: z.ZodOptional<z.ZodObject<{
223
+ type: z.ZodEnum<{
224
+ EXACT: "EXACT";
225
+ SIMILAR: "SIMILAR";
226
+ }>;
227
+ response: z.ZodString;
228
+ }, z.core.$strip>>;
229
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
230
+ tool: z.ZodString;
231
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
232
+ }, z.core.$strip>>>;
233
+ action: z.ZodOptional<z.ZodEnum<{
234
+ reply: "reply";
235
+ ignore: "ignore";
236
+ resolve: "resolve";
237
+ escalate: "escalate";
238
+ }>>;
239
+ outcome: z.ZodOptional<z.ZodEnum<{
240
+ DELIVERED: "DELIVERED";
241
+ NOT_DELIVERED: "NOT_DELIVERED";
242
+ NO_ANSWER: "NO_ANSWER";
243
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
244
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
245
+ NEW_TERMS: "NEW_TERMS";
246
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
247
+ DISPUTE_RAISED: "DISPUTE_RAISED";
248
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
249
+ RESOLVED: "RESOLVED";
250
+ PAID: "PAID";
251
+ WRONG_NUMBER: "WRONG_NUMBER";
252
+ OPT_OUT: "OPT_OUT";
253
+ REFUSED: "REFUSED";
254
+ OTHER: "OTHER";
255
+ }>>;
256
+ }, z.core.$strip>>;
257
+ }, z.core.$strip>>;
258
+ }, z.core.$strip>>;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ type: z.ZodLiteral<"EMAIL">;
261
+ subject: z.ZodString;
262
+ messageBody: z.ZodString;
263
+ systemPrompt: z.ZodString;
264
+ maxReplies: z.ZodOptional<z.ZodNumber>;
265
+ name: z.ZodString;
266
+ scenarios: z.ZodArray<z.ZodObject<{
267
+ ref: z.ZodString;
268
+ description: z.ZodOptional<z.ZodString>;
269
+ account: z.ZodObject<{
270
+ fullName: z.ZodString;
271
+ principalAmount: z.ZodDefault<z.ZodNumber>;
272
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
273
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
274
+ termsAmount: z.ZodDefault<z.ZodNumber>;
275
+ termsFrequency: z.ZodOptional<z.ZodString>;
276
+ termsLength: z.ZodDefault<z.ZodNumber>;
277
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
278
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
279
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
280
+ preferredLanguage: z.ZodOptional<z.ZodString>;
281
+ customerSegment: z.ZodOptional<z.ZodString>;
282
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
283
+ currency: z.ZodDefault<z.ZodString>;
284
+ }, z.core.$strip>;
285
+ turns: z.ZodArray<z.ZodObject<{
286
+ input: z.ZodString;
287
+ expected: z.ZodOptional<z.ZodObject<{
288
+ text: z.ZodOptional<z.ZodObject<{
289
+ type: z.ZodEnum<{
290
+ EXACT: "EXACT";
291
+ SIMILAR: "SIMILAR";
292
+ }>;
293
+ response: z.ZodString;
294
+ }, z.core.$strip>>;
295
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
296
+ tool: z.ZodString;
297
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
298
+ }, z.core.$strip>>>;
299
+ action: z.ZodOptional<z.ZodEnum<{
300
+ reply: "reply";
301
+ ignore: "ignore";
302
+ resolve: "resolve";
303
+ escalate: "escalate";
304
+ }>>;
305
+ outcome: z.ZodOptional<z.ZodEnum<{
306
+ DELIVERED: "DELIVERED";
307
+ NOT_DELIVERED: "NOT_DELIVERED";
308
+ NO_ANSWER: "NO_ANSWER";
309
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
310
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
311
+ NEW_TERMS: "NEW_TERMS";
312
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
313
+ DISPUTE_RAISED: "DISPUTE_RAISED";
314
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
315
+ RESOLVED: "RESOLVED";
316
+ PAID: "PAID";
317
+ WRONG_NUMBER: "WRONG_NUMBER";
318
+ OPT_OUT: "OPT_OUT";
319
+ REFUSED: "REFUSED";
320
+ OTHER: "OTHER";
321
+ }>>;
322
+ }, z.core.$strip>>;
323
+ }, z.core.$strip>>;
324
+ }, z.core.$strip>>;
325
+ }, z.core.$strip>, z.ZodObject<{
326
+ type: z.ZodLiteral<"WHATSAPP">;
327
+ templateName: z.ZodString;
328
+ messageBody: z.ZodString;
329
+ systemPrompt: z.ZodString;
330
+ maxReplies: z.ZodOptional<z.ZodNumber>;
331
+ name: z.ZodString;
332
+ scenarios: z.ZodArray<z.ZodObject<{
333
+ ref: z.ZodString;
334
+ description: z.ZodOptional<z.ZodString>;
335
+ account: z.ZodObject<{
336
+ fullName: z.ZodString;
337
+ principalAmount: z.ZodDefault<z.ZodNumber>;
338
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
339
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
340
+ termsAmount: z.ZodDefault<z.ZodNumber>;
341
+ termsFrequency: z.ZodOptional<z.ZodString>;
342
+ termsLength: z.ZodDefault<z.ZodNumber>;
343
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
344
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
345
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
346
+ preferredLanguage: z.ZodOptional<z.ZodString>;
347
+ customerSegment: z.ZodOptional<z.ZodString>;
348
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
349
+ currency: z.ZodDefault<z.ZodString>;
350
+ }, z.core.$strip>;
351
+ turns: z.ZodArray<z.ZodObject<{
352
+ input: z.ZodString;
353
+ expected: z.ZodOptional<z.ZodObject<{
354
+ text: z.ZodOptional<z.ZodObject<{
355
+ type: z.ZodEnum<{
356
+ EXACT: "EXACT";
357
+ SIMILAR: "SIMILAR";
358
+ }>;
359
+ response: z.ZodString;
360
+ }, z.core.$strip>>;
361
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
362
+ tool: z.ZodString;
363
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
364
+ }, z.core.$strip>>>;
365
+ action: z.ZodOptional<z.ZodEnum<{
366
+ reply: "reply";
367
+ ignore: "ignore";
368
+ resolve: "resolve";
369
+ escalate: "escalate";
370
+ }>>;
371
+ outcome: z.ZodOptional<z.ZodEnum<{
372
+ DELIVERED: "DELIVERED";
373
+ NOT_DELIVERED: "NOT_DELIVERED";
374
+ NO_ANSWER: "NO_ANSWER";
375
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
376
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
377
+ NEW_TERMS: "NEW_TERMS";
378
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
379
+ DISPUTE_RAISED: "DISPUTE_RAISED";
380
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
381
+ RESOLVED: "RESOLVED";
382
+ PAID: "PAID";
383
+ WRONG_NUMBER: "WRONG_NUMBER";
384
+ OPT_OUT: "OPT_OUT";
385
+ REFUSED: "REFUSED";
386
+ OTHER: "OTHER";
387
+ }>>;
388
+ }, z.core.$strip>>;
389
+ }, z.core.$strip>>;
390
+ }, z.core.$strip>>;
391
+ }, z.core.$strip>], "type">;
392
+ export type EvalTemplateInput = z.infer<typeof evalTemplateSchema>;
393
+ /** Evaluate an existing template: caller supplies scenarios, since a stored `AgentTemplate`
394
+ * row carries no test fixtures of its own. */
395
+ export declare const evaluateExistingTargetSchema: z.ZodObject<{
396
+ agentTemplateId: z.ZodString;
397
+ scenarios: z.ZodArray<z.ZodObject<{
398
+ ref: z.ZodString;
399
+ description: z.ZodOptional<z.ZodString>;
400
+ account: z.ZodObject<{
401
+ fullName: z.ZodString;
402
+ principalAmount: z.ZodDefault<z.ZodNumber>;
403
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
404
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
405
+ termsAmount: z.ZodDefault<z.ZodNumber>;
406
+ termsFrequency: z.ZodOptional<z.ZodString>;
407
+ termsLength: z.ZodDefault<z.ZodNumber>;
408
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
409
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
410
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
411
+ preferredLanguage: z.ZodOptional<z.ZodString>;
412
+ customerSegment: z.ZodOptional<z.ZodString>;
413
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
414
+ currency: z.ZodDefault<z.ZodString>;
415
+ }, z.core.$strip>;
416
+ turns: z.ZodArray<z.ZodObject<{
417
+ input: z.ZodString;
418
+ expected: z.ZodOptional<z.ZodObject<{
419
+ text: z.ZodOptional<z.ZodObject<{
420
+ type: z.ZodEnum<{
421
+ EXACT: "EXACT";
422
+ SIMILAR: "SIMILAR";
423
+ }>;
424
+ response: z.ZodString;
425
+ }, z.core.$strip>>;
426
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
427
+ tool: z.ZodString;
428
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
429
+ }, z.core.$strip>>>;
430
+ action: z.ZodOptional<z.ZodEnum<{
431
+ reply: "reply";
432
+ ignore: "ignore";
433
+ resolve: "resolve";
434
+ escalate: "escalate";
435
+ }>>;
436
+ outcome: z.ZodOptional<z.ZodEnum<{
437
+ DELIVERED: "DELIVERED";
438
+ NOT_DELIVERED: "NOT_DELIVERED";
439
+ NO_ANSWER: "NO_ANSWER";
440
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
441
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
442
+ NEW_TERMS: "NEW_TERMS";
443
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
444
+ DISPUTE_RAISED: "DISPUTE_RAISED";
445
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
446
+ RESOLVED: "RESOLVED";
447
+ PAID: "PAID";
448
+ WRONG_NUMBER: "WRONG_NUMBER";
449
+ OPT_OUT: "OPT_OUT";
450
+ REFUSED: "REFUSED";
451
+ OTHER: "OTHER";
452
+ }>>;
453
+ }, z.core.$strip>>;
454
+ }, z.core.$strip>>;
455
+ }, z.core.$strip>>;
456
+ }, z.core.$strip>;
457
+ /** Evaluate a not-yet-created agent: the YAML embeds both the agent fields and its scenarios. */
458
+ export declare const evaluateYamlTargetSchema: z.ZodObject<{
459
+ yaml: z.ZodString;
460
+ }, z.core.$strip>;
461
+ export declare const evaluateInputSchema: z.ZodUnion<readonly [z.ZodObject<{
462
+ agentTemplateId: z.ZodString;
463
+ scenarios: z.ZodArray<z.ZodObject<{
464
+ ref: z.ZodString;
465
+ description: z.ZodOptional<z.ZodString>;
466
+ account: z.ZodObject<{
467
+ fullName: z.ZodString;
468
+ principalAmount: z.ZodDefault<z.ZodNumber>;
469
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
470
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
471
+ termsAmount: z.ZodDefault<z.ZodNumber>;
472
+ termsFrequency: z.ZodOptional<z.ZodString>;
473
+ termsLength: z.ZodDefault<z.ZodNumber>;
474
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
475
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
476
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
477
+ preferredLanguage: z.ZodOptional<z.ZodString>;
478
+ customerSegment: z.ZodOptional<z.ZodString>;
479
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
480
+ currency: z.ZodDefault<z.ZodString>;
481
+ }, z.core.$strip>;
482
+ turns: z.ZodArray<z.ZodObject<{
483
+ input: z.ZodString;
484
+ expected: z.ZodOptional<z.ZodObject<{
485
+ text: z.ZodOptional<z.ZodObject<{
486
+ type: z.ZodEnum<{
487
+ EXACT: "EXACT";
488
+ SIMILAR: "SIMILAR";
489
+ }>;
490
+ response: z.ZodString;
491
+ }, z.core.$strip>>;
492
+ tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
493
+ tool: z.ZodString;
494
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
495
+ }, z.core.$strip>>>;
496
+ action: z.ZodOptional<z.ZodEnum<{
497
+ reply: "reply";
498
+ ignore: "ignore";
499
+ resolve: "resolve";
500
+ escalate: "escalate";
501
+ }>>;
502
+ outcome: z.ZodOptional<z.ZodEnum<{
503
+ DELIVERED: "DELIVERED";
504
+ NOT_DELIVERED: "NOT_DELIVERED";
505
+ NO_ANSWER: "NO_ANSWER";
506
+ PAYMENT_PROMISE: "PAYMENT_PROMISE";
507
+ PARTIAL_PAYMENT_AGREED: "PARTIAL_PAYMENT_AGREED";
508
+ NEW_TERMS: "NEW_TERMS";
509
+ CALLBACK_REQUESTED: "CALLBACK_REQUESTED";
510
+ DISPUTE_RAISED: "DISPUTE_RAISED";
511
+ INFORMATION_REQUEST: "INFORMATION_REQUEST";
512
+ RESOLVED: "RESOLVED";
513
+ PAID: "PAID";
514
+ WRONG_NUMBER: "WRONG_NUMBER";
515
+ OPT_OUT: "OPT_OUT";
516
+ REFUSED: "REFUSED";
517
+ OTHER: "OTHER";
518
+ }>>;
519
+ }, z.core.$strip>>;
520
+ }, z.core.$strip>>;
521
+ }, z.core.$strip>>;
522
+ }, z.core.$strip>, z.ZodObject<{
523
+ yaml: z.ZodString;
524
+ }, z.core.$strip>]>;
525
+ export type EvaluateExistingInput = z.infer<typeof evaluateExistingTargetSchema>;
526
+ export type EvaluateYamlInput = z.infer<typeof evaluateYamlTargetSchema>;
527
+ export type EvaluateInput = z.infer<typeof evaluateInputSchema>;
528
+ /** A static (no-conversation) agent definition for `agentTemplates.preview`'s YAML target —
529
+ * `createAgentTemplateSchema`'s `SMS`/`VOICE_PRERECORDED` fields, no `scenarios`. */
530
+ export declare const previewYamlAgentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
531
+ type: z.ZodLiteral<"SMS">;
532
+ messageBody: z.ZodString;
533
+ senderId: z.ZodOptional<z.ZodString>;
534
+ name: z.ZodString;
535
+ }, z.core.$strip>, z.ZodObject<{
536
+ type: z.ZodLiteral<"VOICE_PRERECORDED">;
537
+ voice: z.ZodString;
538
+ script: z.ZodString;
539
+ language: z.ZodString;
540
+ fonosterAppName: z.ZodOptional<z.ZodString>;
541
+ name: z.ZodString;
542
+ }, z.core.$strip>], "type">;
543
+ export declare const previewExistingTargetSchema: z.ZodObject<{
544
+ agentTemplateId: z.ZodString;
545
+ account: z.ZodObject<{
546
+ fullName: z.ZodString;
547
+ principalAmount: z.ZodDefault<z.ZodNumber>;
548
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
549
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
550
+ termsAmount: z.ZodDefault<z.ZodNumber>;
551
+ termsFrequency: z.ZodOptional<z.ZodString>;
552
+ termsLength: z.ZodDefault<z.ZodNumber>;
553
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
554
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
555
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
556
+ preferredLanguage: z.ZodOptional<z.ZodString>;
557
+ customerSegment: z.ZodOptional<z.ZodString>;
558
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
559
+ currency: z.ZodDefault<z.ZodString>;
560
+ }, z.core.$strip>;
561
+ }, z.core.$strip>;
562
+ export declare const previewYamlTargetSchema: z.ZodObject<{
563
+ yaml: z.ZodString;
564
+ account: z.ZodObject<{
565
+ fullName: z.ZodString;
566
+ principalAmount: z.ZodDefault<z.ZodNumber>;
567
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
568
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
569
+ termsAmount: z.ZodDefault<z.ZodNumber>;
570
+ termsFrequency: z.ZodOptional<z.ZodString>;
571
+ termsLength: z.ZodDefault<z.ZodNumber>;
572
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
573
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
574
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
575
+ preferredLanguage: z.ZodOptional<z.ZodString>;
576
+ customerSegment: z.ZodOptional<z.ZodString>;
577
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
578
+ currency: z.ZodDefault<z.ZodString>;
579
+ }, z.core.$strip>;
580
+ }, z.core.$strip>;
581
+ export declare const previewInputSchema: z.ZodUnion<readonly [z.ZodObject<{
582
+ agentTemplateId: z.ZodString;
583
+ account: z.ZodObject<{
584
+ fullName: z.ZodString;
585
+ principalAmount: z.ZodDefault<z.ZodNumber>;
586
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
587
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
588
+ termsAmount: z.ZodDefault<z.ZodNumber>;
589
+ termsFrequency: z.ZodOptional<z.ZodString>;
590
+ termsLength: z.ZodDefault<z.ZodNumber>;
591
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
592
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
593
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
594
+ preferredLanguage: z.ZodOptional<z.ZodString>;
595
+ customerSegment: z.ZodOptional<z.ZodString>;
596
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
597
+ currency: z.ZodDefault<z.ZodString>;
598
+ }, z.core.$strip>;
599
+ }, z.core.$strip>, z.ZodObject<{
600
+ yaml: z.ZodString;
601
+ account: z.ZodObject<{
602
+ fullName: z.ZodString;
603
+ principalAmount: z.ZodDefault<z.ZodNumber>;
604
+ outstandingBalance: z.ZodDefault<z.ZodNumber>;
605
+ daysPastDue: z.ZodDefault<z.ZodNumber>;
606
+ termsAmount: z.ZodDefault<z.ZodNumber>;
607
+ termsFrequency: z.ZodOptional<z.ZodString>;
608
+ termsLength: z.ZodDefault<z.ZodNumber>;
609
+ missedInstallments: z.ZodDefault<z.ZodNumber>;
610
+ lastPaymentDate: z.ZodOptional<z.ZodString>;
611
+ lastPaymentAmount: z.ZodOptional<z.ZodNumber>;
612
+ preferredLanguage: z.ZodOptional<z.ZodString>;
613
+ customerSegment: z.ZodOptional<z.ZodString>;
614
+ bestTimeToCall: z.ZodOptional<z.ZodString>;
615
+ currency: z.ZodDefault<z.ZodString>;
616
+ }, z.core.$strip>;
617
+ }, z.core.$strip>]>;
618
+ export type PreviewInput = z.infer<typeof previewInputSchema>;
619
+ //# sourceMappingURL=agentEvaluations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvaluations.d.ts","sourceRoot":"","sources":["../../src/schemas/agentEvaluations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;iBAe5B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB;;;;;;iBAGjC,CAAC;AAEH,kGAAkG;AAClG,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA0BtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAI7B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;8CAC8C;AAC9C,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvC,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAG9B,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;qFACqF;AACrF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;2BAGjC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAkE,CAAC;AAClG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,124 @@
1
+ import { z } from "zod";
2
+ import { createAgentTemplateSchema } from "./agentTemplates.js";
3
+ import { contactOutcomeSchema } from "./contactLog.js";
4
+ /**
5
+ * The account context an eval scenario runs against — author-facing fields only
6
+ * (no id/portfolioId/timestamps). The apiserver fills those bookkeeping fields with
7
+ * synthetic values before calling {@link buildOutreachContext}, so eval scenarios reuse
8
+ * the exact same render/context-building logic as a real dispatch, not a re-implementation.
9
+ */
10
+ export const evalAccountSchema = z.object({
11
+ fullName: z.string().min(1),
12
+ principalAmount: z.number().default(0),
13
+ outstandingBalance: z.number().default(0),
14
+ daysPastDue: z.number().int().default(0),
15
+ termsAmount: z.number().default(0),
16
+ termsFrequency: z.string().optional(),
17
+ termsLength: z.number().int().default(0),
18
+ missedInstallments: z.number().int().default(0),
19
+ lastPaymentDate: z.string().datetime().optional(),
20
+ lastPaymentAmount: z.number().optional(),
21
+ preferredLanguage: z.string().optional(),
22
+ customerSegment: z.string().optional(),
23
+ bestTimeToCall: z.string().optional(),
24
+ currency: z.string().default("USD")
25
+ });
26
+ /** VOICE_AI's text-match assertion, mirroring Fonoster's `EXACT`/`SIMILAR` expectation. */
27
+ export const evalExpectedTextSchema = z.object({
28
+ type: z.enum(["EXACT", "SIMILAR"]),
29
+ response: z.string().min(1)
30
+ });
31
+ /** VOICE_AI's expected-tool-call assertion (e.g. `hangup`), mirroring Fonoster's report shape. */
32
+ export const evalExpectedToolSchema = z.object({
33
+ tool: z.string().min(1),
34
+ parameters: z.record(z.string(), z.unknown()).optional()
35
+ });
36
+ /**
37
+ * A single turn's optional expectation. `text`/`tools` are graded for `VOICE_AI` (relayed
38
+ * from Fonoster); `action`/`outcome` are graded for `EMAIL`/`WHATSAPP` (the behavioral analog
39
+ * of an expected tool call — see design.md). A turn with no `expected` still runs and streams
40
+ * a result, it just has nothing to grade — **except for VOICE_AI**: Fonoster's
41
+ * `evaluateIntelligence` requires `expected.text` on every conversation turn (confirmed
42
+ * against the live service, correcting an earlier assumption in design.md), so
43
+ * `resolveEvalTarget` rejects a VOICE_AI scenario with any turn missing it before ever
44
+ * calling Fonoster. This schema stays permissive (shared across all three channel types);
45
+ * the VOICE_AI-specific requirement is enforced at resolution time, not here.
46
+ */
47
+ export const evalExpectedSchema = z.object({
48
+ text: evalExpectedTextSchema.optional(),
49
+ tools: z.array(evalExpectedToolSchema).optional(),
50
+ action: z.enum(["reply", "ignore", "resolve", "escalate"]).optional(),
51
+ outcome: contactOutcomeSchema.optional()
52
+ });
53
+ export const evalTurnSchema = z.object({
54
+ input: z.string().min(1),
55
+ expected: evalExpectedSchema.optional()
56
+ });
57
+ export const evalScenarioSchema = z.object({
58
+ ref: z.string().min(1),
59
+ /** Free-text label forwarded as-is to Fonoster's required `scenarios[].description` for
60
+ * VOICE_AI (defaults to `ref` there when omitted); unused by EMAIL/WHATSAPP. */
61
+ description: z.string().optional(),
62
+ account: evalAccountSchema,
63
+ turns: z.array(evalTurnSchema).min(1)
64
+ });
65
+ // `createAgentTemplateSchema.options` is a tuple in the declaration order
66
+ // [VOICE_AI, VOICE_PRERECORDED, SMS, EMAIL, WHATSAPP] — destructured by position (not looked
67
+ // up by `.find()`) so TypeScript keeps each member's specific field types instead of widening
68
+ // to the full 5-way union. The runtime assertions below catch silent breakage if that
69
+ // declaration order ever changes.
70
+ const [voiceAiMember, voicePrerecordedMember, smsMember, emailMember, whatsAppMember] = createAgentTemplateSchema.options;
71
+ function assertMemberType(member, expected) {
72
+ if (member.shape.type.value !== expected) {
73
+ throw new Error(`createAgentTemplateSchema member order changed: expected "${expected}" here, got ` +
74
+ `"${member.shape.type.value}". Update the positional destructure in agentEvaluations.ts.`);
75
+ }
76
+ }
77
+ assertMemberType(voiceAiMember, "VOICE_AI");
78
+ assertMemberType(voicePrerecordedMember, "VOICE_PRERECORDED");
79
+ assertMemberType(smsMember, "SMS");
80
+ assertMemberType(emailMember, "EMAIL");
81
+ assertMemberType(whatsAppMember, "WHATSAPP");
82
+ const evalScenarios = { scenarios: z.array(evalScenarioSchema).min(1) };
83
+ /**
84
+ * An eval template: the same fields `createAgentTemplateSchema` validates for
85
+ * `agentTemplates.create`, plus a `scenarios` array — one document is both the agent
86
+ * definition and its tests (see design.md). Restricted to the three conversational
87
+ * channel types; `SMS`/`VOICE_PRERECORDED` have no scenarios to run (see
88
+ * `previewYamlAgentSchema` instead).
89
+ */
90
+ export const evalTemplateSchema = z.discriminatedUnion("type", [
91
+ voiceAiMember.extend(evalScenarios),
92
+ emailMember.extend(evalScenarios),
93
+ whatsAppMember.extend(evalScenarios)
94
+ ]);
95
+ /** Evaluate an existing template: caller supplies scenarios, since a stored `AgentTemplate`
96
+ * row carries no test fixtures of its own. */
97
+ export const evaluateExistingTargetSchema = z.object({
98
+ agentTemplateId: z.string().min(1),
99
+ scenarios: z.array(evalScenarioSchema).min(1)
100
+ });
101
+ /** Evaluate a not-yet-created agent: the YAML embeds both the agent fields and its scenarios. */
102
+ export const evaluateYamlTargetSchema = z.object({
103
+ yaml: z.string().min(1)
104
+ });
105
+ export const evaluateInputSchema = z.union([
106
+ evaluateExistingTargetSchema,
107
+ evaluateYamlTargetSchema
108
+ ]);
109
+ /** A static (no-conversation) agent definition for `agentTemplates.preview`'s YAML target —
110
+ * `createAgentTemplateSchema`'s `SMS`/`VOICE_PRERECORDED` fields, no `scenarios`. */
111
+ export const previewYamlAgentSchema = z.discriminatedUnion("type", [
112
+ smsMember,
113
+ voicePrerecordedMember
114
+ ]);
115
+ export const previewExistingTargetSchema = z.object({
116
+ agentTemplateId: z.string().min(1),
117
+ account: evalAccountSchema
118
+ });
119
+ export const previewYamlTargetSchema = z.object({
120
+ yaml: z.string().min(1),
121
+ account: evalAccountSchema
122
+ });
123
+ export const previewInputSchema = z.union([previewExistingTargetSchema, previewYamlTargetSchema]);
124
+ //# sourceMappingURL=agentEvaluations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvaluations.js","sourceRoot":"","sources":["../../src/schemas/agentEvaluations.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export * from "./userSettings.js";
8
8
  export * from "./agentTemplates.js";
9
9
  export * from "./campaigns.js";
10
10
  export * from "./contactLog.js";
11
+ export * from "./agentEvaluations.js";
11
12
  export * from "./dispatch.js";
12
13
  export * from "./email.js";
13
14
  export * from "./whatsApp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -8,6 +8,7 @@ export * from "./userSettings.js";
8
8
  export * from "./agentTemplates.js";
9
9
  export * from "./campaigns.js";
10
10
  export * from "./contactLog.js";
11
+ export * from "./agentEvaluations.js";
11
12
  export * from "./dispatch.js";
12
13
  export * from "./email.js";
13
14
  export * from "./whatsApp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,93 @@
1
+ import type { AgentType } from "../schemas/agentTemplates.js";
2
+ import type { EmailAutopilotAction } from "./email.js";
3
+ /**
4
+ * One turn's graded result, streamed as it happens. `passed` is present only when the
5
+ * turn's `expected` was set (see `evalExpectedSchema`) — a turn with no expectation still
6
+ * streams a result, it just has nothing to grade.
7
+ */
8
+ export interface EvalStepResult {
9
+ turnIndex: number;
10
+ input: string;
11
+ passed?: boolean;
12
+ errorMessage?: string;
13
+ /** VOICE_AI (relayed from Fonoster's `stepResult`). */
14
+ aiResponse?: string;
15
+ expectedResponse?: string;
16
+ evaluationType?: "EXACT" | "SIMILAR";
17
+ toolEvaluations?: {
18
+ expectedTool: string;
19
+ actualTool?: string;
20
+ passed: boolean;
21
+ }[];
22
+ /** EMAIL/WHATSAPP (the autopilot decision actually taken). */
23
+ action?: EmailAutopilotAction;
24
+ outcome?: string | null;
25
+ }
26
+ export interface EvalScenarioSummary {
27
+ ref: string;
28
+ overallPassed: boolean;
29
+ }
30
+ /** One event in the `agentEvaluations.evaluate` stream (see the `agent-evaluations` spec). */
31
+ export type EvalEvent = {
32
+ type: "turn";
33
+ scenarioRef: string;
34
+ result: EvalStepResult;
35
+ } | {
36
+ type: "scenarioSummary";
37
+ scenarioRef: string;
38
+ overallPassed: boolean;
39
+ } | {
40
+ type: "summary";
41
+ verdict: "pass" | "fail";
42
+ scenarios: EvalScenarioSummary[];
43
+ } | {
44
+ type: "error";
45
+ message: string;
46
+ };
47
+ /** The row shape `resolveEvalTarget` needs for an existing agent template — base fields
48
+ * plus every channel's child config (only one is ever non-null per row). */
49
+ export interface EvalAgentTemplateRow {
50
+ id: string;
51
+ type: AgentType;
52
+ voiceAiConfig: {
53
+ systemPrompt: string;
54
+ firstMessage: string | null;
55
+ language: string;
56
+ } | null;
57
+ voicePrerecordedConfig: {
58
+ script: string;
59
+ language: string;
60
+ } | null;
61
+ smsConfig: {
62
+ messageBody: string;
63
+ } | null;
64
+ emailConfig: {
65
+ systemPrompt: string;
66
+ messageBody: string;
67
+ maxReplies: number | null;
68
+ } | null;
69
+ whatsAppConfig: {
70
+ systemPrompt: string;
71
+ messageBody: string;
72
+ maxReplies: number | null;
73
+ } | null;
74
+ }
75
+ /** The narrow read port `resolveEvalTarget`/`resolvePreviewTarget` need from Prisma. */
76
+ export interface EvalAgentTemplateClient {
77
+ agentTemplate: {
78
+ findFirstOrThrow(args: {
79
+ where: {
80
+ id: string;
81
+ workspaceRef: string;
82
+ };
83
+ include: {
84
+ voiceAiConfig: true;
85
+ voicePrerecordedConfig: true;
86
+ smsConfig: true;
87
+ emailConfig: true;
88
+ whatsAppConfig: true;
89
+ };
90
+ }): Promise<EvalAgentTemplateRow>;
91
+ };
92
+ }
93
+ //# sourceMappingURL=agentEvaluations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvaluations.d.ts","sourceRoot":"","sources":["../../src/types/agentEvaluations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agentEvaluations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentEvaluations.js","sourceRoot":"","sources":["../../src/types/agentEvaluations.ts"],"names":[],"mappings":""}
@@ -4,6 +4,7 @@ export * from "./userSettings.js";
4
4
  export * from "./agentTemplates.js";
5
5
  export * from "./campaigns.js";
6
6
  export * from "./voiceApplication.js";
7
+ export * from "./agentEvaluations.js";
7
8
  export * from "./dispatch.js";
8
9
  export * from "./email.js";
9
10
  export * from "./whatsApp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -4,6 +4,7 @@ export * from "./userSettings.js";
4
4
  export * from "./agentTemplates.js";
5
5
  export * from "./campaigns.js";
6
6
  export * from "./voiceApplication.js";
7
+ export * from "./agentEvaluations.js";
7
8
  export * from "./dispatch.js";
8
9
  export * from "./email.js";
9
10
  export * from "./whatsApp.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -17,6 +17,68 @@ export interface VoiceApplicationInput {
17
17
  /** Language code (e.g. `es`, `en`). */
18
18
  language: string;
19
19
  }
20
+ /** One scripted turn within a VOICE_AI eval scenario, translated into Fonoster's
21
+ * `conversation[].userInput`/`expected` shape by the client implementation. */
22
+ export interface VoiceApplicationEvalTurn {
23
+ input: string;
24
+ expected?: {
25
+ text?: {
26
+ type: "EXACT" | "SIMILAR";
27
+ response: string;
28
+ };
29
+ tools?: {
30
+ tool: string;
31
+ parameters?: Record<string, unknown>;
32
+ }[];
33
+ };
34
+ }
35
+ /** One scenario within a VOICE_AI eval run. `account` is the rendered outreach context
36
+ * (see `buildOutreachContext`); the client implementation maps it onto whatever ad-hoc
37
+ * metadata bag the provider expects (Fonoster's `telephonyContext.metadata`). */
38
+ export interface VoiceApplicationEvalScenario {
39
+ ref: string;
40
+ /** Forwarded to Fonoster's required `scenarios[].description`; defaults to `ref` when unset. */
41
+ description?: string;
42
+ account: Record<string, unknown>;
43
+ turns: VoiceApplicationEvalTurn[];
44
+ }
45
+ /** Input to evaluate a `VOICE_AI` agent's conversation logic. No application ref is
46
+ * required — evaluation is inherently ephemeral (see design.md). */
47
+ export interface VoiceApplicationEvalInput {
48
+ systemPrompt: string;
49
+ firstMessage?: string;
50
+ language: string;
51
+ scenarios: VoiceApplicationEvalScenario[];
52
+ }
53
+ /** Mirrors Fonoster's `EvaluateIntelligenceEvent` (`@fonoster/types`), so the apiserver
54
+ * relays it without inventing a parallel shape. */
55
+ export type VoiceApplicationEvalEvent = {
56
+ type: "stepResult";
57
+ scenarioRef: string;
58
+ stepResult: {
59
+ humanInput: string;
60
+ expectedResponse: string;
61
+ aiResponse: string;
62
+ evaluationType: "EXACT" | "SIMILAR";
63
+ passed: boolean;
64
+ errorMessage?: string;
65
+ toolEvaluations?: {
66
+ expectedTool: string;
67
+ actualTool: string;
68
+ passed: boolean;
69
+ expectedParameters?: Record<string, unknown>;
70
+ actualParameters?: Record<string, unknown>;
71
+ errorMessage?: string;
72
+ }[];
73
+ };
74
+ } | {
75
+ type: "scenarioSummary";
76
+ scenarioRef: string;
77
+ overallPassed: boolean;
78
+ } | {
79
+ type: "evalError";
80
+ message: string;
81
+ };
20
82
  export interface VoiceApplicationClient {
21
83
  /** Create the remote application; resolves with its provider ref. */
22
84
  createApplication(input: VoiceApplicationInput): Promise<{
@@ -28,5 +90,8 @@ export interface VoiceApplicationClient {
28
90
  }>;
29
91
  /** Delete the remote application by ref (best-effort cleanup). */
30
92
  deleteApplication(ref: string): Promise<void>;
93
+ /** Evaluate a `VOICE_AI` agent's conversation logic — existing or ephemeral, no
94
+ * application ref required. Streams Fonoster's per-turn/per-scenario events unchanged. */
95
+ evaluate(input: VoiceApplicationEvalInput): AsyncGenerator<VoiceApplicationEvalEvent>;
31
96
  }
32
97
  //# sourceMappingURL=voiceApplication.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voiceApplication.d.ts","sourceRoot":"","sources":["../../src/types/voiceApplication.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB;mFAC+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,oDAAoD;IACpD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,kEAAkE;IAClE,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"voiceApplication.d.ts","sourceRoot":"","sources":["../../src/types/voiceApplication.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qcobro/common",
3
- "version": "1.24.1",
3
+ "version": "1.27.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"