@roarkanalytics/sdk 3.11.0 → 3.13.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.
Files changed (110) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/client.d.mts +12 -6
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +12 -6
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/agent-prompt.d.mts +129 -0
  12. package/resources/agent-prompt.d.mts.map +1 -0
  13. package/resources/agent-prompt.d.ts +129 -0
  14. package/resources/agent-prompt.d.ts.map +1 -0
  15. package/resources/agent-prompt.js +58 -0
  16. package/resources/agent-prompt.js.map +1 -0
  17. package/resources/agent-prompt.mjs +54 -0
  18. package/resources/agent-prompt.mjs.map +1 -0
  19. package/resources/benchmark.d.mts +547 -0
  20. package/resources/benchmark.d.mts.map +1 -0
  21. package/resources/benchmark.d.ts +547 -0
  22. package/resources/benchmark.d.ts.map +1 -0
  23. package/resources/benchmark.js +110 -0
  24. package/resources/benchmark.js.map +1 -0
  25. package/resources/benchmark.mjs +106 -0
  26. package/resources/benchmark.mjs.map +1 -0
  27. package/resources/call.d.mts +1 -1
  28. package/resources/call.d.mts.map +1 -1
  29. package/resources/call.d.ts +1 -1
  30. package/resources/call.d.ts.map +1 -1
  31. package/resources/config.d.mts +169 -21
  32. package/resources/config.d.mts.map +1 -1
  33. package/resources/config.d.ts +169 -21
  34. package/resources/config.d.ts.map +1 -1
  35. package/resources/customer-flow-edge-case.d.mts +99 -27
  36. package/resources/customer-flow-edge-case.d.mts.map +1 -1
  37. package/resources/customer-flow-edge-case.d.ts +99 -27
  38. package/resources/customer-flow-edge-case.d.ts.map +1 -1
  39. package/resources/customer-flow.d.mts +2110 -138
  40. package/resources/customer-flow.d.mts.map +1 -1
  41. package/resources/customer-flow.d.ts +2110 -138
  42. package/resources/customer-flow.d.ts.map +1 -1
  43. package/resources/customer-flow.js +18 -0
  44. package/resources/customer-flow.js.map +1 -1
  45. package/resources/customer-flow.mjs +18 -0
  46. package/resources/customer-flow.mjs.map +1 -1
  47. package/resources/index.d.mts +5 -3
  48. package/resources/index.d.mts.map +1 -1
  49. package/resources/index.d.ts +5 -3
  50. package/resources/index.d.ts.map +1 -1
  51. package/resources/index.js +5 -1
  52. package/resources/index.js.map +1 -1
  53. package/resources/index.mjs +2 -0
  54. package/resources/index.mjs.map +1 -1
  55. package/resources/simulation-environment.d.mts +163 -1
  56. package/resources/simulation-environment.d.mts.map +1 -1
  57. package/resources/simulation-environment.d.ts +163 -1
  58. package/resources/simulation-environment.d.ts.map +1 -1
  59. package/resources/simulation-environment.js +51 -0
  60. package/resources/simulation-environment.js.map +1 -1
  61. package/resources/simulation-environment.mjs +51 -0
  62. package/resources/simulation-environment.mjs.map +1 -1
  63. package/resources/simulation-job.d.mts +68 -6
  64. package/resources/simulation-job.d.mts.map +1 -1
  65. package/resources/simulation-job.d.ts +68 -6
  66. package/resources/simulation-job.d.ts.map +1 -1
  67. package/resources/simulation-persona.d.mts +60 -18
  68. package/resources/simulation-persona.d.mts.map +1 -1
  69. package/resources/simulation-persona.d.ts +60 -18
  70. package/resources/simulation-persona.d.ts.map +1 -1
  71. package/resources/simulation-run-plan-job.d.mts +172 -4
  72. package/resources/simulation-run-plan-job.d.mts.map +1 -1
  73. package/resources/simulation-run-plan-job.d.ts +172 -4
  74. package/resources/simulation-run-plan-job.d.ts.map +1 -1
  75. package/resources/simulation-run-plan-job.js +16 -0
  76. package/resources/simulation-run-plan-job.js.map +1 -1
  77. package/resources/simulation-run-plan-job.mjs +16 -0
  78. package/resources/simulation-run-plan-job.mjs.map +1 -1
  79. package/resources/simulation-run-plan.d.mts +102 -0
  80. package/resources/simulation-run-plan.d.mts.map +1 -1
  81. package/resources/simulation-run-plan.d.ts +102 -0
  82. package/resources/simulation-run-plan.d.ts.map +1 -1
  83. package/resources/simulation-template.d.mts +10 -0
  84. package/resources/simulation-template.d.mts.map +1 -1
  85. package/resources/simulation-template.d.ts +10 -0
  86. package/resources/simulation-template.d.ts.map +1 -1
  87. package/resources/simulation.d.mts +26 -1
  88. package/resources/simulation.d.mts.map +1 -1
  89. package/resources/simulation.d.ts +26 -1
  90. package/resources/simulation.d.ts.map +1 -1
  91. package/src/client.ts +66 -0
  92. package/src/resources/agent-prompt.ts +183 -0
  93. package/src/resources/benchmark.ts +740 -0
  94. package/src/resources/call.ts +1 -1
  95. package/src/resources/config.ts +313 -23
  96. package/src/resources/customer-flow-edge-case.ts +207 -27
  97. package/src/resources/customer-flow.ts +3198 -123
  98. package/src/resources/index.ts +30 -0
  99. package/src/resources/simulation-environment.ts +244 -0
  100. package/src/resources/simulation-job.ts +98 -6
  101. package/src/resources/simulation-persona.ts +126 -18
  102. package/src/resources/simulation-run-plan-job.ts +240 -3
  103. package/src/resources/simulation-run-plan.ts +118 -0
  104. package/src/resources/simulation-template.ts +11 -0
  105. package/src/resources/simulation.ts +28 -1
  106. package/src/version.ts +1 -1
  107. package/version.d.mts +1 -1
  108. package/version.d.ts +1 -1
  109. package/version.js +1 -1
  110. package/version.mjs +1 -1
@@ -136,7 +136,17 @@ export namespace SimulationPersonaCreateResponse {
136
136
  /**
137
137
  * Base emotional state of the persona
138
138
  */
139
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
139
+ baseEmotion:
140
+ | 'NEUTRAL'
141
+ | 'CHEERFUL'
142
+ | 'CONFUSED'
143
+ | 'FRUSTRATED'
144
+ | 'SKEPTICAL'
145
+ | 'RUSHED'
146
+ | 'DISTRACTED'
147
+ | 'ANGRY'
148
+ | 'ANXIOUS'
149
+ | 'SAD';
140
150
 
141
151
  /**
142
152
  * How the persona confirms information
@@ -224,9 +234,10 @@ export namespace SimulationPersonaCreateResponse {
224
234
 
225
235
  /**
226
236
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
227
- * NORMAL, RELAXED)
237
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
238
+ * for several seconds.
228
239
  */
229
- responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
240
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
230
241
 
231
242
  /**
232
243
  * Speech clarity of the persona
@@ -278,6 +289,13 @@ export namespace SimulationPersonaCreateResponse {
278
289
  */
279
290
  description?: string | null;
280
291
 
292
+ /**
293
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
294
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
295
+ * or set null to display the name itself.
296
+ */
297
+ displayName?: string | null;
298
+
281
299
  /**
282
300
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
283
301
  */
@@ -347,7 +365,17 @@ export namespace SimulationPersonaUpdateResponse {
347
365
  /**
348
366
  * Base emotional state of the persona
349
367
  */
350
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
368
+ baseEmotion:
369
+ | 'NEUTRAL'
370
+ | 'CHEERFUL'
371
+ | 'CONFUSED'
372
+ | 'FRUSTRATED'
373
+ | 'SKEPTICAL'
374
+ | 'RUSHED'
375
+ | 'DISTRACTED'
376
+ | 'ANGRY'
377
+ | 'ANXIOUS'
378
+ | 'SAD';
351
379
 
352
380
  /**
353
381
  * How the persona confirms information
@@ -435,9 +463,10 @@ export namespace SimulationPersonaUpdateResponse {
435
463
 
436
464
  /**
437
465
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
438
- * NORMAL, RELAXED)
466
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
467
+ * for several seconds.
439
468
  */
440
- responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
469
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
441
470
 
442
471
  /**
443
472
  * Speech clarity of the persona
@@ -489,6 +518,13 @@ export namespace SimulationPersonaUpdateResponse {
489
518
  */
490
519
  description?: string | null;
491
520
 
521
+ /**
522
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
523
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
524
+ * or set null to display the name itself.
525
+ */
526
+ displayName?: string | null;
527
+
492
528
  /**
493
529
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
494
530
  */
@@ -560,7 +596,17 @@ export namespace SimulationPersonaListResponse {
560
596
  /**
561
597
  * Base emotional state of the persona
562
598
  */
563
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
599
+ baseEmotion:
600
+ | 'NEUTRAL'
601
+ | 'CHEERFUL'
602
+ | 'CONFUSED'
603
+ | 'FRUSTRATED'
604
+ | 'SKEPTICAL'
605
+ | 'RUSHED'
606
+ | 'DISTRACTED'
607
+ | 'ANGRY'
608
+ | 'ANXIOUS'
609
+ | 'SAD';
564
610
 
565
611
  /**
566
612
  * How the persona confirms information
@@ -648,9 +694,10 @@ export namespace SimulationPersonaListResponse {
648
694
 
649
695
  /**
650
696
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
651
- * NORMAL, RELAXED)
697
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
698
+ * for several seconds.
652
699
  */
653
- responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
700
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
654
701
 
655
702
  /**
656
703
  * Speech clarity of the persona
@@ -702,6 +749,13 @@ export namespace SimulationPersonaListResponse {
702
749
  */
703
750
  description?: string | null;
704
751
 
752
+ /**
753
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
754
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
755
+ * or set null to display the name itself.
756
+ */
757
+ displayName?: string | null;
758
+
705
759
  /**
706
760
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
707
761
  */
@@ -788,7 +842,17 @@ export namespace SimulationPersonaGetByIDResponse {
788
842
  /**
789
843
  * Base emotional state of the persona
790
844
  */
791
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
845
+ baseEmotion:
846
+ | 'NEUTRAL'
847
+ | 'CHEERFUL'
848
+ | 'CONFUSED'
849
+ | 'FRUSTRATED'
850
+ | 'SKEPTICAL'
851
+ | 'RUSHED'
852
+ | 'DISTRACTED'
853
+ | 'ANGRY'
854
+ | 'ANXIOUS'
855
+ | 'SAD';
792
856
 
793
857
  /**
794
858
  * How the persona confirms information
@@ -876,9 +940,10 @@ export namespace SimulationPersonaGetByIDResponse {
876
940
 
877
941
  /**
878
942
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
879
- * NORMAL, RELAXED)
943
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
944
+ * for several seconds.
880
945
  */
881
- responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
946
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
882
947
 
883
948
  /**
884
949
  * Speech clarity of the persona
@@ -930,6 +995,13 @@ export namespace SimulationPersonaGetByIDResponse {
930
995
  */
931
996
  description?: string | null;
932
997
 
998
+ /**
999
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
1000
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
1001
+ * or set null to display the name itself.
1002
+ */
1003
+ displayName?: string | null;
1004
+
933
1005
  /**
934
1006
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
935
1007
  */
@@ -1027,7 +1099,17 @@ export interface SimulationPersonaCreateParams {
1027
1099
  /**
1028
1100
  * Base emotional state of the persona
1029
1101
  */
1030
- baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
1102
+ baseEmotion?:
1103
+ | 'NEUTRAL'
1104
+ | 'CHEERFUL'
1105
+ | 'CONFUSED'
1106
+ | 'FRUSTRATED'
1107
+ | 'SKEPTICAL'
1108
+ | 'RUSHED'
1109
+ | 'DISTRACTED'
1110
+ | 'ANGRY'
1111
+ | 'ANXIOUS'
1112
+ | 'SAD';
1031
1113
 
1032
1114
  /**
1033
1115
  * How the persona confirms information
@@ -1039,6 +1121,13 @@ export interface SimulationPersonaCreateParams {
1039
1121
  */
1040
1122
  description?: string | null;
1041
1123
 
1124
+ /**
1125
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
1126
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
1127
+ * or set null to display the name itself.
1128
+ */
1129
+ displayName?: string | null;
1130
+
1042
1131
  /**
1043
1132
  * Whether the persona uses filler words like "um" and "uh"
1044
1133
  */
@@ -1082,9 +1171,10 @@ export interface SimulationPersonaCreateParams {
1082
1171
 
1083
1172
  /**
1084
1173
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
1085
- * NORMAL, RELAXED)
1174
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
1175
+ * for several seconds.
1086
1176
  */
1087
- responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK';
1177
+ responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
1088
1178
 
1089
1179
  /**
1090
1180
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
@@ -1184,7 +1274,17 @@ export interface SimulationPersonaUpdateParams {
1184
1274
  /**
1185
1275
  * Base emotional state of the persona
1186
1276
  */
1187
- baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
1277
+ baseEmotion?:
1278
+ | 'NEUTRAL'
1279
+ | 'CHEERFUL'
1280
+ | 'CONFUSED'
1281
+ | 'FRUSTRATED'
1282
+ | 'SKEPTICAL'
1283
+ | 'RUSHED'
1284
+ | 'DISTRACTED'
1285
+ | 'ANGRY'
1286
+ | 'ANXIOUS'
1287
+ | 'SAD';
1188
1288
 
1189
1289
  /**
1190
1290
  * How the persona confirms information
@@ -1196,6 +1296,13 @@ export interface SimulationPersonaUpdateParams {
1196
1296
  */
1197
1297
  description?: string | null;
1198
1298
 
1299
+ /**
1300
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
1301
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
1302
+ * or set null to display the name itself.
1303
+ */
1304
+ displayName?: string | null;
1305
+
1199
1306
  /**
1200
1307
  * Gender of the persona
1201
1308
  */
@@ -1272,9 +1379,10 @@ export interface SimulationPersonaUpdateParams {
1272
1379
 
1273
1380
  /**
1274
1381
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
1275
- * NORMAL, RELAXED)
1382
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
1383
+ * for several seconds.
1276
1384
  */
1277
- responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK';
1385
+ responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
1278
1386
 
1279
1387
  /**
1280
1388
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
@@ -23,6 +23,23 @@ export class SimulationRunPlanJob extends APIResource {
23
23
  return this._client.get('/v1/simulation/plan/jobs', { query, ...options });
24
24
  }
25
25
 
26
+ /**
27
+ * Stops a run that has not finished yet. Already-finished runs are left alone.
28
+ *
29
+ * Intended for CI: when a pipeline is cancelled or superseded, cancelling the run
30
+ * stops it placing calls you no longer need. Safe to call more than once.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const response = await client.simulationRunPlanJob.cancel(
35
+ * '7f3e4d2c-8a91-4b5c-9e6f-1a2b3c4d5e6f',
36
+ * );
37
+ * ```
38
+ */
39
+ cancel(jobID: string, options?: RequestOptions): APIPromise<SimulationRunPlanJobCancelResponse> {
40
+ return this._client.post(path`/v1/simulation/plan/job/${jobID}/cancel`, options);
41
+ }
42
+
26
43
  /**
27
44
  * Retrieve details of a simulation plan job including all associated simulation
28
45
  * jobs (calls)
@@ -144,6 +161,45 @@ export namespace SimulationRunPlanJobListResponse {
144
161
  }
145
162
  }
146
163
 
164
+ export interface SimulationRunPlanJobCancelResponse {
165
+ /**
166
+ * Result of cancelling a simulation plan job
167
+ */
168
+ data: SimulationRunPlanJobCancelResponse.Data;
169
+ }
170
+
171
+ export namespace SimulationRunPlanJobCancelResponse {
172
+ /**
173
+ * Result of cancelling a simulation plan job
174
+ */
175
+ export interface Data {
176
+ /**
177
+ * True when this request stopped the run. False when it had already finished,
178
+ * which is not an error.
179
+ */
180
+ cancelled: boolean;
181
+
182
+ simulationRunPlanJobId: string;
183
+
184
+ /**
185
+ * The job status after the request. Unchanged when the run had already finished.
186
+ */
187
+ status:
188
+ | 'PENDING'
189
+ | 'QUEUED'
190
+ | 'CREATING_SNAPSHOTS'
191
+ | 'CREATING_SIMULATIONS'
192
+ | 'PREPARING_CAPACITY'
193
+ | 'RUNNING_SIMULATIONS'
194
+ | 'COMPLETED'
195
+ | 'FAILED'
196
+ | 'TIMED_OUT'
197
+ | 'CANCELLED'
198
+ | 'CANCELLING'
199
+ | 'ENDING_SIMULATIONS';
200
+ }
201
+ }
202
+
147
203
  export interface SimulationRunPlanJobGetByIDResponse {
148
204
  /**
149
205
  * Simulation run plan job with all associated simulation jobs
@@ -202,6 +258,12 @@ export namespace SimulationRunPlanJobGetByIDResponse {
202
258
  * When the job started
203
259
  */
204
260
  startedAt?: string | null;
261
+
262
+ /**
263
+ * Pass/fail verdict for the run, judged against the success criteria pinned on the
264
+ * run plan when the run started.
265
+ */
266
+ verdict?: Data.Verdict | null;
205
267
  }
206
268
 
207
269
  export namespace Data {
@@ -216,6 +278,12 @@ export namespace SimulationRunPlanJobGetByIDResponse {
216
278
  */
217
279
  createdAt: string;
218
280
 
281
+ /**
282
+ * Present when the run was invalidated: it keeps its transcript and recording, but
283
+ * nothing scored it and it is excluded from every run total.
284
+ */
285
+ invalidation: SimulationJob.Invalidation | null;
286
+
219
287
  persona: SimulationJob.Persona;
220
288
 
221
289
  /**
@@ -313,6 +381,28 @@ export namespace SimulationRunPlanJobGetByIDResponse {
313
381
  | 'DAILY';
314
382
  }
315
383
 
384
+ /**
385
+ * Present when the run was invalidated: it keeps its transcript and recording, but
386
+ * nothing scored it and it is excluded from every run total.
387
+ */
388
+ export interface Invalidation {
389
+ /**
390
+ * When the run was invalidated.
391
+ */
392
+ invalidatedAt: string;
393
+
394
+ /**
395
+ * Why the result does not count. `SCRIPT_DIVERGED`: a strict flow went off script
396
+ * at a step whose off-script policy is HANG_UP_INVALIDATE.
397
+ */
398
+ reason: 'SCRIPT_DIVERGED';
399
+
400
+ /**
401
+ * One sentence: where the script was left and what your agent did instead.
402
+ */
403
+ detail?: string | null;
404
+ }
405
+
316
406
  export interface Persona {
317
407
  /**
318
408
  * Unique identifier of the persona
@@ -377,7 +467,10 @@ export namespace SimulationRunPlanJobGetByIDResponse {
377
467
  | 'FRUSTRATED'
378
468
  | 'SKEPTICAL'
379
469
  | 'RUSHED'
380
- | 'DISTRACTED';
470
+ | 'DISTRACTED'
471
+ | 'ANGRY'
472
+ | 'ANXIOUS'
473
+ | 'SAD';
381
474
 
382
475
  /**
383
476
  * How the persona confirms information
@@ -465,9 +558,10 @@ export namespace SimulationRunPlanJobGetByIDResponse {
465
558
 
466
559
  /**
467
560
  * Controls how quickly the persona responds to pauses in conversation (QUICK,
468
- * NORMAL, RELAXED)
561
+ * NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
562
+ * for several seconds.
469
563
  */
470
- responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
564
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
471
565
 
472
566
  /**
473
567
  * Speech clarity of the persona
@@ -519,6 +613,13 @@ export namespace SimulationRunPlanJobGetByIDResponse {
519
613
  */
520
614
  description?: string | null;
521
615
 
616
+ /**
617
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
618
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
619
+ * or set null to display the name itself.
620
+ */
621
+ displayName?: string | null;
622
+
522
623
  /**
523
624
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
524
625
  */
@@ -540,6 +641,141 @@ export namespace SimulationRunPlanJobGetByIDResponse {
540
641
  description?: string | null;
541
642
  }
542
643
  }
644
+
645
+ /**
646
+ * Pass/fail verdict for the run, judged against the success criteria pinned on the
647
+ * run plan when the run started.
648
+ */
649
+ export interface Verdict {
650
+ /**
651
+ * Every check the run was judged on, with its rate and the minimum it had to
652
+ * reach.
653
+ */
654
+ checks: Array<Verdict.Check>;
655
+
656
+ /**
657
+ * Every criterion the run missed. Empty when it passed.
658
+ */
659
+ failures: Array<
660
+ Verdict.UnionMember0 | Verdict.UnionMember1 | Verdict.UnionMember2 | Verdict.UnionMember3
661
+ >;
662
+
663
+ /**
664
+ * Whether every check cleared its own `minPassRate` (and the run completed with
665
+ * full coverage). Use this as the CI exit status.
666
+ *
667
+ * Never derived from `score`: a run can score 95 and still fail, or score 40 and
668
+ * still pass.
669
+ */
670
+ passed: boolean;
671
+
672
+ /**
673
+ * The run's headline quality number, 0-100: the mean of each check's own pass
674
+ * rate.
675
+ *
676
+ * REPORTING ONLY, for dashboards and trend lines. Nothing is judged against it.
677
+ * Null when nothing was evaluated.
678
+ */
679
+ score: number | null;
680
+ }
681
+
682
+ export namespace Verdict {
683
+ /**
684
+ * How one pass/fail metric did. Present for every check, passing or not.
685
+ */
686
+ export interface Check {
687
+ evaluatedSims: number;
688
+
689
+ /**
690
+ * Whether `minPassRate` is the 80% default (`true`) or a minimum this metric set
691
+ * for itself.
692
+ */
693
+ inherited: boolean;
694
+
695
+ metricDefinitionId: string;
696
+
697
+ /**
698
+ * THE BAR it was judged against: the share of the run's simulations it had to
699
+ * pass.
700
+ */
701
+ minPassRate: number;
702
+
703
+ /**
704
+ * This check's own pass rate, 0-100: the share of sims it evaluated that passed
705
+ * it. Null when it evaluated nothing.
706
+ */
707
+ passRate: number | null;
708
+
709
+ /**
710
+ * `passRate >= minPassRate`.
711
+ */
712
+ passed: boolean;
713
+
714
+ passedSims: number;
715
+
716
+ metricName?: string | null;
717
+ }
718
+
719
+ export interface UnionMember0 {
720
+ /**
721
+ * The status the run actually ended in.
722
+ */
723
+ status:
724
+ | 'PENDING'
725
+ | 'QUEUED'
726
+ | 'CREATING_SNAPSHOTS'
727
+ | 'CREATING_SIMULATIONS'
728
+ | 'PREPARING_CAPACITY'
729
+ | 'RUNNING_SIMULATIONS'
730
+ | 'COMPLETED'
731
+ | 'FAILED'
732
+ | 'TIMED_OUT'
733
+ | 'CANCELLED'
734
+ | 'CANCELLING'
735
+ | 'ENDING_SIMULATIONS';
736
+
737
+ type: 'RUN_NOT_COMPLETED';
738
+ }
739
+
740
+ export interface UnionMember1 {
741
+ evaluatedCalls: number;
742
+
743
+ expectedCalls: number;
744
+
745
+ type: 'INCOMPLETE_COVERAGE';
746
+ }
747
+
748
+ export interface UnionMember2 {
749
+ metricDefinitionId: string;
750
+
751
+ type: 'METRIC_NOT_EVALUATED';
752
+
753
+ /**
754
+ * The check’s name, for rendering the failure.
755
+ */
756
+ metricName?: string | null;
757
+ }
758
+
759
+ export interface UnionMember3 {
760
+ /**
761
+ * Whether the missed minimum was the 80% default (`true`) or this metric's own.
762
+ */
763
+ inherited: boolean;
764
+
765
+ metricDefinitionId: string;
766
+
767
+ minPassRate: number;
768
+
769
+ passRate: number;
770
+
771
+ type: 'METRIC_BELOW_MIN_PASS_RATE';
772
+
773
+ /**
774
+ * The check’s name, for rendering the failure.
775
+ */
776
+ metricName?: string | null;
777
+ }
778
+ }
543
779
  }
544
780
  }
545
781
 
@@ -707,6 +943,7 @@ export namespace SimulationRunPlanJobStartParams {
707
943
  export declare namespace SimulationRunPlanJob {
708
944
  export {
709
945
  type SimulationRunPlanJobListResponse as SimulationRunPlanJobListResponse,
946
+ type SimulationRunPlanJobCancelResponse as SimulationRunPlanJobCancelResponse,
710
947
  type SimulationRunPlanJobGetByIDResponse as SimulationRunPlanJobGetByIDResponse,
711
948
  type SimulationRunPlanJobStartResponse as SimulationRunPlanJobStartResponse,
712
949
  type SimulationRunPlanJobListParams as SimulationRunPlanJobListParams,