@roarkanalytics/sdk 2.23.1 → 2.24.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 (81) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +18 -23
  3. package/client.d.mts +6 -6
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +6 -6
  6. package/client.d.ts.map +1 -1
  7. package/client.js.map +1 -1
  8. package/client.mjs +2 -2
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/call.d.mts +0 -20
  12. package/resources/call.d.mts.map +1 -1
  13. package/resources/call.d.ts +0 -20
  14. package/resources/call.d.ts.map +1 -1
  15. package/resources/evaluation.d.mts +0 -2783
  16. package/resources/evaluation.d.mts.map +1 -1
  17. package/resources/evaluation.d.ts +0 -2783
  18. package/resources/evaluation.d.ts.map +1 -1
  19. package/resources/evaluation.js +0 -46
  20. package/resources/evaluation.js.map +1 -1
  21. package/resources/evaluation.mjs +0 -46
  22. package/resources/evaluation.mjs.map +1 -1
  23. package/resources/index.d.mts +3 -3
  24. package/resources/index.d.mts.map +1 -1
  25. package/resources/index.d.ts +3 -3
  26. package/resources/index.d.ts.map +1 -1
  27. package/resources/index.js.map +1 -1
  28. package/resources/index.mjs +2 -2
  29. package/resources/index.mjs.map +1 -1
  30. package/resources/integrations.d.mts +0 -110
  31. package/resources/integrations.d.mts.map +1 -1
  32. package/resources/integrations.d.ts +0 -110
  33. package/resources/integrations.d.ts.map +1 -1
  34. package/resources/integrations.js +0 -37
  35. package/resources/integrations.js.map +1 -1
  36. package/resources/integrations.mjs +0 -37
  37. package/resources/integrations.mjs.map +1 -1
  38. package/resources/metric.d.mts +1 -1
  39. package/resources/metric.d.ts +1 -1
  40. package/resources/simulation-job.d.mts +10 -0
  41. package/resources/simulation-job.d.mts.map +1 -1
  42. package/resources/simulation-job.d.ts +10 -0
  43. package/resources/simulation-job.d.ts.map +1 -1
  44. package/resources/simulation-persona.d.mts +30 -0
  45. package/resources/simulation-persona.d.mts.map +1 -1
  46. package/resources/simulation-persona.d.ts +30 -0
  47. package/resources/simulation-persona.d.ts.map +1 -1
  48. package/resources/simulation-run-plan-job.d.mts +40 -4
  49. package/resources/simulation-run-plan-job.d.mts.map +1 -1
  50. package/resources/simulation-run-plan-job.d.ts +40 -4
  51. package/resources/simulation-run-plan-job.d.ts.map +1 -1
  52. package/resources/simulation-run-plan-job.js +4 -3
  53. package/resources/simulation-run-plan-job.js.map +1 -1
  54. package/resources/simulation-run-plan-job.mjs +4 -3
  55. package/resources/simulation-run-plan-job.mjs.map +1 -1
  56. package/resources/simulation-run-plan.d.mts +90 -16
  57. package/resources/simulation-run-plan.d.mts.map +1 -1
  58. package/resources/simulation-run-plan.d.ts +90 -16
  59. package/resources/simulation-run-plan.d.ts.map +1 -1
  60. package/resources/simulation-run-plan.js +2 -2
  61. package/resources/simulation-run-plan.mjs +2 -2
  62. package/resources/simulation-scenario.d.mts +27 -7
  63. package/resources/simulation-scenario.d.mts.map +1 -1
  64. package/resources/simulation-scenario.d.ts +27 -7
  65. package/resources/simulation-scenario.d.ts.map +1 -1
  66. package/src/client.ts +6 -44
  67. package/src/resources/call.ts +0 -20
  68. package/src/resources/evaluation.ts +1 -3570
  69. package/src/resources/index.ts +3 -22
  70. package/src/resources/integrations.ts +1 -131
  71. package/src/resources/metric.ts +1 -1
  72. package/src/resources/simulation-job.ts +12 -0
  73. package/src/resources/simulation-persona.ts +36 -0
  74. package/src/resources/simulation-run-plan-job.ts +45 -3
  75. package/src/resources/simulation-run-plan.ts +102 -16
  76. package/src/resources/simulation-scenario.ts +49 -3
  77. package/src/version.ts +1 -1
  78. package/version.d.mts +1 -1
  79. package/version.d.ts +1 -1
  80. package/version.js +1 -1
  81. package/version.mjs +1 -1
@@ -34,21 +34,7 @@ export {
34
34
  type CallGetTranscriptParams,
35
35
  type CallListMetricsParams,
36
36
  } from './call';
37
- export {
38
- Evaluation,
39
- type EvaluationCreateEvaluatorResponse,
40
- type EvaluationCreateJobResponse,
41
- type EvaluationGetEvaluatorByIDResponse,
42
- type EvaluationGetJobResponse,
43
- type EvaluationListEvaluatorsResponse,
44
- type EvaluationListJobRunsResponse,
45
- type EvaluationUpdateEvaluatorResponse,
46
- type EvaluationCreateEvaluatorParams,
47
- type EvaluationCreateJobParams,
48
- type EvaluationListEvaluatorsParams,
49
- type EvaluationListJobRunsParams,
50
- type EvaluationUpdateEvaluatorParams,
51
- } from './evaluation';
37
+ export { Evaluation } from './evaluation';
52
38
  export {
53
39
  HTTPRequestDefinition,
54
40
  type HTTPRequestDefinitionCreateResponse,
@@ -60,13 +46,7 @@ export {
60
46
  type HTTPRequestDefinitionListParams,
61
47
  } from './http-request-definition';
62
48
  export { Health, type HealthGetResponse } from './health';
63
- export {
64
- Integrations,
65
- type IntegrationCreateRetellCallResponse,
66
- type IntegrationCreateVapiCallResponse,
67
- type IntegrationCreateRetellCallParams,
68
- type IntegrationCreateVapiCallParams,
69
- } from './integrations';
49
+ export { Integrations } from './integrations';
70
50
  export { Metric, type MetricListDefinitionsResponse } from './metric';
71
51
  export {
72
52
  SimulationJob,
@@ -101,6 +81,7 @@ export {
101
81
  type SimulationRunPlanJobGetByIDResponse,
102
82
  type SimulationRunPlanJobStartResponse,
103
83
  type SimulationRunPlanJobListParams,
84
+ type SimulationRunPlanJobStartParams,
104
85
  } from './simulation-run-plan-job';
105
86
  export {
106
87
  SimulationScenario,
@@ -1,135 +1,5 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
- import { APIPromise } from '../core/api-promise';
5
- import { RequestOptions } from '../internal/request-options';
6
4
 
7
- export class Integrations extends APIResource {
8
- /**
9
- * Process and upload a Retell call to Roark evaluation
10
- *
11
- * @example
12
- * ```ts
13
- * const response = await client.integrations.createRetellCall(
14
- * { retellCallEndedPayload: { event: 'bar', call: 'bar' } },
15
- * );
16
- * ```
17
- */
18
- createRetellCall(
19
- body: IntegrationCreateRetellCallParams,
20
- options?: RequestOptions,
21
- ): APIPromise<IntegrationCreateRetellCallResponse> {
22
- return this._client.post('/v1/retell/call', { body, ...options });
23
- }
24
-
25
- /**
26
- * Process and upload a VAPI call to Roark evaluation
27
- *
28
- * @example
29
- * ```ts
30
- * const response = await client.integrations.createVapiCall({
31
- * vapiEndOfCallReportPayload: {
32
- * call: 'bar',
33
- * type: 'bar',
34
- * status: 'bar',
35
- * assistant: 'bar',
36
- * customer: 'bar',
37
- * phoneNumber: 'bar',
38
- * artifact: 'bar',
39
- * startedAt: 'bar',
40
- * endedAt: 'bar',
41
- * endedReason: 'bar',
42
- * },
43
- * });
44
- * ```
45
- */
46
- createVapiCall(
47
- body: IntegrationCreateVapiCallParams,
48
- options?: RequestOptions,
49
- ): APIPromise<IntegrationCreateVapiCallResponse> {
50
- return this._client.post('/v1/vapi/call', { body, ...options });
51
- }
52
- }
53
-
54
- export interface IntegrationCreateRetellCallResponse {
55
- /**
56
- * Retell call upload response
57
- */
58
- data: IntegrationCreateRetellCallResponse.Data;
59
- }
60
-
61
- export namespace IntegrationCreateRetellCallResponse {
62
- /**
63
- * Retell call upload response
64
- */
65
- export interface Data {
66
- /**
67
- * ID of the uploaded call
68
- */
69
- callId: string;
70
- }
71
- }
72
-
73
- export interface IntegrationCreateVapiCallResponse {
74
- /**
75
- * Vapi call upload response
76
- */
77
- data: IntegrationCreateVapiCallResponse.Data;
78
- }
79
-
80
- export namespace IntegrationCreateVapiCallResponse {
81
- /**
82
- * Vapi call upload response
83
- */
84
- export interface Data {
85
- /**
86
- * ID of the uploaded call
87
- */
88
- callId: string;
89
- }
90
- }
91
-
92
- export interface IntegrationCreateRetellCallParams {
93
- /**
94
- * Raw Retell data forwarded directly from the Retell call_ended webhook
95
- */
96
- retellCallEndedPayload: { [key: string]: unknown };
97
-
98
- /**
99
- * Optional metadata (key-value pairs) to include with the call. Useful for
100
- * filtering and display in call details.
101
- */
102
- properties?: { [key: string]: unknown };
103
-
104
- /**
105
- * Skip already imported Retell calls with the same Retell call id.
106
- */
107
- skipAlreadyImported?: boolean;
108
- }
109
-
110
- export interface IntegrationCreateVapiCallParams {
111
- /**
112
- * Raw Vapi data forwarded directly from the Vapi end-of-call-report webhook
113
- */
114
- vapiEndOfCallReportPayload: { [key: string]: unknown };
115
-
116
- /**
117
- * Optional metadata (key-value pairs) to include with the call. Useful for
118
- * filtering and display in call details.
119
- */
120
- properties?: { [key: string]: unknown };
121
-
122
- /**
123
- * Skip already imported Vapi calls with the same Vapi call id.
124
- */
125
- skipAlreadyImported?: boolean;
126
- }
127
-
128
- export declare namespace Integrations {
129
- export {
130
- type IntegrationCreateRetellCallResponse as IntegrationCreateRetellCallResponse,
131
- type IntegrationCreateVapiCallResponse as IntegrationCreateVapiCallResponse,
132
- type IntegrationCreateRetellCallParams as IntegrationCreateRetellCallParams,
133
- type IntegrationCreateVapiCallParams as IntegrationCreateVapiCallParams,
134
- };
135
- }
5
+ export class Integrations extends APIResource {}
@@ -38,7 +38,7 @@ export namespace MetricListDefinitionsResponse {
38
38
  description: string;
39
39
 
40
40
  /**
41
- * Stable metric identifier
41
+ * Stable metric identifier (e.g. "call_reason", "customer_satisfaction")
42
42
  */
43
43
  metricId: string;
44
44
 
@@ -223,6 +223,12 @@ export namespace SimulationJobGetByIDResponse {
223
223
  */
224
224
  properties: { [key: string]: unknown };
225
225
 
226
+ /**
227
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
228
+ * NORMAL, RELAXED)
229
+ */
230
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
231
+
226
232
  /**
227
233
  * Speech clarity of the persona
228
234
  */
@@ -454,6 +460,12 @@ export namespace SimulationJobLookupResponse {
454
460
  */
455
461
  properties: { [key: string]: unknown };
456
462
 
463
+ /**
464
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
465
+ * NORMAL, RELAXED)
466
+ */
467
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
468
+
457
469
  /**
458
470
  * Speech clarity of the persona
459
471
  */
@@ -170,6 +170,12 @@ export namespace SimulationPersonaCreateResponse {
170
170
  */
171
171
  properties: { [key: string]: unknown };
172
172
 
173
+ /**
174
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
175
+ * NORMAL, RELAXED)
176
+ */
177
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
178
+
173
179
  /**
174
180
  * Speech clarity of the persona
175
181
  */
@@ -297,6 +303,12 @@ export namespace SimulationPersonaUpdateResponse {
297
303
  */
298
304
  properties: { [key: string]: unknown };
299
305
 
306
+ /**
307
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
308
+ * NORMAL, RELAXED)
309
+ */
310
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
311
+
300
312
  /**
301
313
  * Speech clarity of the persona
302
314
  */
@@ -426,6 +438,12 @@ export namespace SimulationPersonaListResponse {
426
438
  */
427
439
  properties: { [key: string]: unknown };
428
440
 
441
+ /**
442
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
443
+ * NORMAL, RELAXED)
444
+ */
445
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
446
+
429
447
  /**
430
448
  * Speech clarity of the persona
431
449
  */
@@ -570,6 +588,12 @@ export namespace SimulationPersonaGetByIDResponse {
570
588
  */
571
589
  properties: { [key: string]: unknown };
572
590
 
591
+ /**
592
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
593
+ * NORMAL, RELAXED)
594
+ */
595
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
596
+
573
597
  /**
574
598
  * Speech clarity of the persona
575
599
  */
@@ -692,6 +716,12 @@ export interface SimulationPersonaCreateParams {
692
716
  */
693
717
  properties?: { [key: string]: unknown };
694
718
 
719
+ /**
720
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
721
+ * NORMAL, RELAXED)
722
+ */
723
+ responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK';
724
+
695
725
  /**
696
726
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
697
727
  */
@@ -798,6 +828,12 @@ export interface SimulationPersonaUpdateParams {
798
828
  */
799
829
  properties?: { [key: string]: unknown };
800
830
 
831
+ /**
832
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
833
+ * NORMAL, RELAXED)
834
+ */
835
+ responseTiming?: 'RELAXED' | 'NORMAL' | 'QUICK';
836
+
801
837
  /**
802
838
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
803
839
  */
@@ -39,7 +39,8 @@ export class SimulationRunPlanJob extends APIResource {
39
39
  }
40
40
 
41
41
  /**
42
- * Create and execute a job for an existing simulation run plan
42
+ * Create and execute a job for an existing simulation run plan. Optionally provide
43
+ * runtime variables to override plan-defined variables.
43
44
  *
44
45
  * @example
45
46
  * ```ts
@@ -48,8 +49,12 @@ export class SimulationRunPlanJob extends APIResource {
48
49
  * );
49
50
  * ```
50
51
  */
51
- start(planID: unknown, options?: RequestOptions): APIPromise<SimulationRunPlanJobStartResponse> {
52
- return this._client.post(path`/v1/simulation/plan/${planID}/job`, options);
52
+ start(
53
+ planID: unknown,
54
+ body: SimulationRunPlanJobStartParams | null | undefined = {},
55
+ options?: RequestOptions,
56
+ ): APIPromise<SimulationRunPlanJobStartResponse> {
57
+ return this._client.post(path`/v1/simulation/plan/${planID}/job`, { body, ...options });
53
58
  }
54
59
  }
55
60
 
@@ -210,6 +215,7 @@ export namespace SimulationRunPlanJobGetByIDResponse {
210
215
  | 'SIMULATING'
211
216
  | 'ANALYZING'
212
217
  | 'EVALUATING'
218
+ | 'COLLECTING_METRICS'
213
219
  | 'COMPLETED';
214
220
 
215
221
  /**
@@ -374,6 +380,12 @@ export namespace SimulationRunPlanJobGetByIDResponse {
374
380
  */
375
381
  properties: { [key: string]: unknown };
376
382
 
383
+ /**
384
+ * Controls how quickly the persona responds to pauses in conversation (QUICK,
385
+ * NORMAL, RELAXED)
386
+ */
387
+ responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK';
388
+
377
389
  /**
378
390
  * Speech clarity of the persona
379
391
  */
@@ -511,11 +523,41 @@ export interface SimulationRunPlanJobListParams {
511
523
  | 'CANCELLING';
512
524
  }
513
525
 
526
+ export interface SimulationRunPlanJobStartParams {
527
+ /**
528
+ * Runtime variables that override plan-defined scenario variables. Accepts one of
529
+ * two formats:
530
+ *
531
+ * Option 1 — Global (flat key-value object, applies to ALL scenarios): {
532
+ * "orderNumber": "12345", "environment": "staging" }
533
+ *
534
+ * Option 2 — Per-scenario (array of objects with scenarioId + variables): [ {
535
+ * "scenarioId": "550e8400-...", "variables": { "orderNumber": "12345" } }, {
536
+ * "scenarioId": "7a3d2e1f-...", "variables": { "orderNumber": "67890" } } ]
537
+ */
538
+ variables?: { [key: string]: string } | Array<SimulationRunPlanJobStartParams.UnionMember1>;
539
+ }
540
+
541
+ export namespace SimulationRunPlanJobStartParams {
542
+ export interface UnionMember1 {
543
+ /**
544
+ * ID of the scenario to apply variables to
545
+ */
546
+ scenarioId: string;
547
+
548
+ /**
549
+ * Key-value pairs for this scenario
550
+ */
551
+ variables: { [key: string]: string };
552
+ }
553
+ }
554
+
514
555
  export declare namespace SimulationRunPlanJob {
515
556
  export {
516
557
  type SimulationRunPlanJobListResponse as SimulationRunPlanJobListResponse,
517
558
  type SimulationRunPlanJobGetByIDResponse as SimulationRunPlanJobGetByIDResponse,
518
559
  type SimulationRunPlanJobStartResponse as SimulationRunPlanJobStartResponse,
519
560
  type SimulationRunPlanJobListParams as SimulationRunPlanJobListParams,
561
+ type SimulationRunPlanJobStartParams as SimulationRunPlanJobStartParams,
520
562
  };
521
563
  }
@@ -18,10 +18,10 @@ export class SimulationRunPlan extends APIResource {
18
18
  * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
19
19
  * ],
20
20
  * direction: 'INBOUND',
21
- * evaluators: [
21
+ * maxSimulationDurationSeconds: 300,
22
+ * metrics: [
22
23
  * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
23
24
  * ],
24
- * maxSimulationDurationSeconds: 300,
25
25
  * name: 'My Run Plan',
26
26
  * personas: [
27
27
  * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
@@ -154,7 +154,12 @@ export namespace SimulationRunPlanCreateResponse {
154
154
  direction: 'INBOUND' | 'OUTBOUND';
155
155
 
156
156
  /**
157
- * Evaluators included in this run plan
157
+ * Phrases that trigger end of call. Empty array means disabled.
158
+ */
159
+ endCallPhrases: Array<string>;
160
+
161
+ /**
162
+ * Deprecated: Use metrics instead. Evaluators included in this run plan.
158
163
  */
159
164
  evaluators: Array<RunPlan.Evaluator>;
160
165
 
@@ -178,6 +183,11 @@ export namespace SimulationRunPlanCreateResponse {
178
183
  */
179
184
  maxSimulationDurationSeconds: number;
180
185
 
186
+ /**
187
+ * Metric definitions included in this run plan
188
+ */
189
+ metrics: Array<RunPlan.Metric>;
190
+
181
191
  /**
182
192
  * Name of the run plan
183
193
  */
@@ -223,6 +233,10 @@ export namespace SimulationRunPlanCreateResponse {
223
233
  id: string;
224
234
  }
225
235
 
236
+ export interface Metric {
237
+ id: string;
238
+ }
239
+
226
240
  export interface Persona {
227
241
  id: string;
228
242
  }
@@ -302,7 +316,12 @@ export namespace SimulationRunPlanUpdateResponse {
302
316
  direction: 'INBOUND' | 'OUTBOUND';
303
317
 
304
318
  /**
305
- * Evaluators included in this run plan
319
+ * Phrases that trigger end of call. Empty array means disabled.
320
+ */
321
+ endCallPhrases: Array<string>;
322
+
323
+ /**
324
+ * Deprecated: Use metrics instead. Evaluators included in this run plan.
306
325
  */
307
326
  evaluators: Array<Data.Evaluator>;
308
327
 
@@ -326,6 +345,11 @@ export namespace SimulationRunPlanUpdateResponse {
326
345
  */
327
346
  maxSimulationDurationSeconds: number;
328
347
 
348
+ /**
349
+ * Metric definitions included in this run plan
350
+ */
351
+ metrics: Array<Data.Metric>;
352
+
329
353
  /**
330
354
  * Name of the run plan
331
355
  */
@@ -371,6 +395,10 @@ export namespace SimulationRunPlanUpdateResponse {
371
395
  id: string;
372
396
  }
373
397
 
398
+ export interface Metric {
399
+ id: string;
400
+ }
401
+
374
402
  export interface Persona {
375
403
  id: string;
376
404
  }
@@ -416,7 +444,12 @@ export namespace SimulationRunPlanListResponse {
416
444
  direction: 'INBOUND' | 'OUTBOUND';
417
445
 
418
446
  /**
419
- * Evaluators included in this run plan
447
+ * Phrases that trigger end of call. Empty array means disabled.
448
+ */
449
+ endCallPhrases: Array<string>;
450
+
451
+ /**
452
+ * Deprecated: Use metrics instead. Evaluators included in this run plan.
420
453
  */
421
454
  evaluators: Array<Data.Evaluator>;
422
455
 
@@ -440,6 +473,11 @@ export namespace SimulationRunPlanListResponse {
440
473
  */
441
474
  maxSimulationDurationSeconds: number;
442
475
 
476
+ /**
477
+ * Metric definitions included in this run plan
478
+ */
479
+ metrics: Array<Data.Metric>;
480
+
443
481
  /**
444
482
  * Name of the run plan
445
483
  */
@@ -485,6 +523,10 @@ export namespace SimulationRunPlanListResponse {
485
523
  id: string;
486
524
  }
487
525
 
526
+ export interface Metric {
527
+ id: string;
528
+ }
529
+
488
530
  export interface Persona {
489
531
  id: string;
490
532
  }
@@ -558,7 +600,12 @@ export namespace SimulationRunPlanGetByIDResponse {
558
600
  direction: 'INBOUND' | 'OUTBOUND';
559
601
 
560
602
  /**
561
- * Evaluators included in this run plan
603
+ * Phrases that trigger end of call. Empty array means disabled.
604
+ */
605
+ endCallPhrases: Array<string>;
606
+
607
+ /**
608
+ * Deprecated: Use metrics instead. Evaluators included in this run plan.
562
609
  */
563
610
  evaluators: Array<Data.Evaluator>;
564
611
 
@@ -582,6 +629,11 @@ export namespace SimulationRunPlanGetByIDResponse {
582
629
  */
583
630
  maxSimulationDurationSeconds: number;
584
631
 
632
+ /**
633
+ * Metric definitions included in this run plan
634
+ */
635
+ metrics: Array<Data.Metric>;
636
+
585
637
  /**
586
638
  * Name of the run plan
587
639
  */
@@ -627,6 +679,10 @@ export namespace SimulationRunPlanGetByIDResponse {
627
679
  id: string;
628
680
  }
629
681
 
682
+ export interface Metric {
683
+ id: string;
684
+ }
685
+
630
686
  export interface Persona {
631
687
  id: string;
632
688
  }
@@ -649,14 +705,14 @@ export interface SimulationRunPlanCreateParams {
649
705
  direction: 'INBOUND' | 'OUTBOUND';
650
706
 
651
707
  /**
652
- * Evaluators to include in this run plan
708
+ * Maximum duration in seconds for each simulation
653
709
  */
654
- evaluators: Array<SimulationRunPlanCreateParams.Evaluator>;
710
+ maxSimulationDurationSeconds: number;
655
711
 
656
712
  /**
657
- * Maximum duration in seconds for each simulation
713
+ * Metric definitions to include in this run plan
658
714
  */
659
- maxSimulationDurationSeconds: number;
715
+ metrics: Array<SimulationRunPlanCreateParams.Metric>;
660
716
 
661
717
  /**
662
718
  * Name of the run plan
@@ -669,7 +725,8 @@ export interface SimulationRunPlanCreateParams {
669
725
  personas: Array<SimulationRunPlanCreateParams.Persona>;
670
726
 
671
727
  /**
672
- * Scenarios to include in this run plan
728
+ * Scenarios to include in this run plan. The same scenario ID can appear multiple
729
+ * times with different variables.
673
730
  */
674
731
  scenarios: Array<SimulationRunPlanCreateParams.Scenario>;
675
732
 
@@ -683,6 +740,11 @@ export interface SimulationRunPlanCreateParams {
683
740
  */
684
741
  description?: string;
685
742
 
743
+ /**
744
+ * Phrases that trigger end of call. Empty array disables the feature.
745
+ */
746
+ endCallPhrases?: Array<string>;
747
+
686
748
  /**
687
749
  * Execution mode (PARALLEL or SEQUENTIAL)
688
750
  */
@@ -710,7 +772,7 @@ export namespace SimulationRunPlanCreateParams {
710
772
  id: string;
711
773
  }
712
774
 
713
- export interface Evaluator {
775
+ export interface Metric {
714
776
  id: string;
715
777
  }
716
778
 
@@ -719,7 +781,16 @@ export namespace SimulationRunPlanCreateParams {
719
781
  }
720
782
 
721
783
  export interface Scenario {
784
+ /**
785
+ * Scenario ID
786
+ */
722
787
  id: string;
788
+
789
+ /**
790
+ * Template variables for this scenario instance. The same scenario can appear
791
+ * multiple times with different variables.
792
+ */
793
+ variables?: { [key: string]: string };
723
794
  }
724
795
  }
725
796
 
@@ -740,9 +811,9 @@ export interface SimulationRunPlanUpdateParams {
740
811
  direction?: 'INBOUND' | 'OUTBOUND';
741
812
 
742
813
  /**
743
- * Evaluators to include in this run plan
814
+ * Phrases that trigger end of call. Empty array disables the feature.
744
815
  */
745
- evaluators?: Array<SimulationRunPlanUpdateParams.Evaluator>;
816
+ endCallPhrases?: Array<string>;
746
817
 
747
818
  /**
748
819
  * Execution mode (PARALLEL or SEQUENTIAL)
@@ -765,6 +836,11 @@ export interface SimulationRunPlanUpdateParams {
765
836
  */
766
837
  maxSimulationDurationSeconds?: number;
767
838
 
839
+ /**
840
+ * Metric definitions to include in this run plan
841
+ */
842
+ metrics?: Array<SimulationRunPlanUpdateParams.Metric>;
843
+
768
844
  /**
769
845
  * Name of the run plan
770
846
  */
@@ -776,7 +852,8 @@ export interface SimulationRunPlanUpdateParams {
776
852
  personas?: Array<SimulationRunPlanUpdateParams.Persona>;
777
853
 
778
854
  /**
779
- * Scenarios to include in this run plan
855
+ * Scenarios to include in this run plan. The same scenario ID can appear multiple
856
+ * times with different variables.
780
857
  */
781
858
  scenarios?: Array<SimulationRunPlanUpdateParams.Scenario>;
782
859
 
@@ -791,7 +868,7 @@ export namespace SimulationRunPlanUpdateParams {
791
868
  id: string;
792
869
  }
793
870
 
794
- export interface Evaluator {
871
+ export interface Metric {
795
872
  id: string;
796
873
  }
797
874
 
@@ -800,7 +877,16 @@ export namespace SimulationRunPlanUpdateParams {
800
877
  }
801
878
 
802
879
  export interface Scenario {
880
+ /**
881
+ * Scenario ID
882
+ */
803
883
  id: string;
884
+
885
+ /**
886
+ * Template variables for this scenario instance. The same scenario can appear
887
+ * multiple times with different variables.
888
+ */
889
+ variables?: { [key: string]: string };
804
890
  }
805
891
  }
806
892