@roarkanalytics/sdk 3.10.0 → 3.12.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 (101) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/client.d.mts +7 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +7 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js +3 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +3 -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/call.d.mts +1 -1
  20. package/resources/call.d.mts.map +1 -1
  21. package/resources/call.d.ts +1 -1
  22. package/resources/call.d.ts.map +1 -1
  23. package/resources/config.d.mts +166 -18
  24. package/resources/config.d.mts.map +1 -1
  25. package/resources/config.d.ts +166 -18
  26. package/resources/config.d.ts.map +1 -1
  27. package/resources/customer-flow-edge-case.d.mts +72 -9
  28. package/resources/customer-flow-edge-case.d.mts.map +1 -1
  29. package/resources/customer-flow-edge-case.d.ts +72 -9
  30. package/resources/customer-flow-edge-case.d.ts.map +1 -1
  31. package/resources/customer-flow.d.mts +2005 -78
  32. package/resources/customer-flow.d.mts.map +1 -1
  33. package/resources/customer-flow.d.ts +2005 -78
  34. package/resources/customer-flow.d.ts.map +1 -1
  35. package/resources/customer-flow.js +18 -0
  36. package/resources/customer-flow.js.map +1 -1
  37. package/resources/customer-flow.mjs +18 -0
  38. package/resources/customer-flow.mjs.map +1 -1
  39. package/resources/index.d.mts +3 -2
  40. package/resources/index.d.mts.map +1 -1
  41. package/resources/index.d.ts +3 -2
  42. package/resources/index.d.ts.map +1 -1
  43. package/resources/index.js +3 -1
  44. package/resources/index.js.map +1 -1
  45. package/resources/index.mjs +1 -0
  46. package/resources/index.mjs.map +1 -1
  47. package/resources/simulation-environment.d.mts +163 -1
  48. package/resources/simulation-environment.d.mts.map +1 -1
  49. package/resources/simulation-environment.d.ts +163 -1
  50. package/resources/simulation-environment.d.ts.map +1 -1
  51. package/resources/simulation-environment.js +51 -0
  52. package/resources/simulation-environment.js.map +1 -1
  53. package/resources/simulation-environment.mjs +51 -0
  54. package/resources/simulation-environment.mjs.map +1 -1
  55. package/resources/simulation-job.d.mts +62 -2
  56. package/resources/simulation-job.d.mts.map +1 -1
  57. package/resources/simulation-job.d.ts +62 -2
  58. package/resources/simulation-job.d.ts.map +1 -1
  59. package/resources/simulation-persona.d.mts +42 -6
  60. package/resources/simulation-persona.d.mts.map +1 -1
  61. package/resources/simulation-persona.d.ts +42 -6
  62. package/resources/simulation-persona.d.ts.map +1 -1
  63. package/resources/simulation-run-plan-job.d.mts +31 -1
  64. package/resources/simulation-run-plan-job.d.mts.map +1 -1
  65. package/resources/simulation-run-plan-job.d.ts +31 -1
  66. package/resources/simulation-run-plan-job.d.ts.map +1 -1
  67. package/resources/simulation-run-plan.d.mts +154 -12
  68. package/resources/simulation-run-plan.d.mts.map +1 -1
  69. package/resources/simulation-run-plan.d.ts +154 -12
  70. package/resources/simulation-run-plan.d.ts.map +1 -1
  71. package/resources/simulation-template.d.mts +10 -0
  72. package/resources/simulation-template.d.mts.map +1 -1
  73. package/resources/simulation-template.d.ts +10 -0
  74. package/resources/simulation-template.d.ts.map +1 -1
  75. package/resources/simulation.d.mts +221 -6
  76. package/resources/simulation.d.mts.map +1 -1
  77. package/resources/simulation.d.ts +221 -6
  78. package/resources/simulation.d.ts.map +1 -1
  79. package/resources/simulation.js +10 -3
  80. package/resources/simulation.js.map +1 -1
  81. package/resources/simulation.mjs +10 -3
  82. package/resources/simulation.mjs.map +1 -1
  83. package/src/client.ts +33 -0
  84. package/src/resources/agent-prompt.ts +183 -0
  85. package/src/resources/call.ts +1 -1
  86. package/src/resources/config.ts +310 -20
  87. package/src/resources/customer-flow-edge-case.ts +180 -9
  88. package/src/resources/customer-flow.ts +3091 -63
  89. package/src/resources/index.ts +15 -0
  90. package/src/resources/simulation-environment.ts +244 -0
  91. package/src/resources/simulation-job.ts +92 -2
  92. package/src/resources/simulation-persona.ts +108 -6
  93. package/src/resources/simulation-run-plan-job.ts +39 -1
  94. package/src/resources/simulation-run-plan.ts +176 -12
  95. package/src/resources/simulation-template.ts +11 -0
  96. package/src/resources/simulation.ts +247 -6
  97. package/src/version.ts +1 -1
  98. package/version.d.mts +1 -1
  99. package/version.d.ts +1 -1
  100. package/version.js +1 -1
  101. package/version.mjs +1 -1
@@ -20,6 +20,14 @@ export {
20
20
  type AgentEndpointUpdateParams,
21
21
  type AgentEndpointListParams,
22
22
  } from './agent-endpoint';
23
+ export {
24
+ AgentPrompt,
25
+ type AgentPromptUpdateResponse,
26
+ type AgentPromptListResponse,
27
+ type AgentPromptListVersionsResponse,
28
+ type AgentPromptUpdateParams,
29
+ type AgentPromptListVersionsParams,
30
+ } from './agent-prompt';
23
31
  export {
24
32
  Call,
25
33
  type CallCreateResponse,
@@ -51,12 +59,14 @@ export {
51
59
  type CustomerFlowUpdateResponse,
52
60
  type CustomerFlowListResponse,
53
61
  type CustomerFlowDeleteResponse,
62
+ type CustomerFlowDuplicateResponse,
54
63
  type CustomerFlowGetByIDResponse,
55
64
  type CustomerFlowReplaceGraphResponse,
56
65
  type CustomerFlowUpdateHappyPathResponse,
57
66
  type CustomerFlowCreateParams,
58
67
  type CustomerFlowUpdateParams,
59
68
  type CustomerFlowListParams,
69
+ type CustomerFlowDuplicateParams,
60
70
  type CustomerFlowReplaceGraphParams,
61
71
  type CustomerFlowUpdateHappyPathParams,
62
72
  } from './customer-flow';
@@ -125,8 +135,13 @@ export {
125
135
  export { Simulation, type SimulationRunResponse, type SimulationRunParams } from './simulation';
126
136
  export {
127
137
  SimulationEnvironment,
138
+ type SimulationEnvironmentCreateResponse,
139
+ type SimulationEnvironmentUpdateResponse,
128
140
  type SimulationEnvironmentListResponse,
141
+ type SimulationEnvironmentDeleteResponse,
129
142
  type SimulationEnvironmentGetByIDResponse,
143
+ type SimulationEnvironmentCreateParams,
144
+ type SimulationEnvironmentUpdateParams,
130
145
  type SimulationEnvironmentListParams,
131
146
  } from './simulation-environment';
132
147
  export {
@@ -6,6 +6,49 @@ import { RequestOptions } from '../internal/request-options';
6
6
  import { path } from '../internal/utils/path';
7
7
 
8
8
  export class SimulationEnvironment extends APIResource {
9
+ /**
10
+ * Creates an environment for the project: a noise bed and the level it plays at.
11
+ * Reference it by id when setting a customer flow variant's environment. Roark's
12
+ * curated presets always play at the default level, so this is how a project gets
13
+ * the same bed louder or quieter.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const simulationEnvironment =
18
+ * await client.simulationEnvironment.create({
19
+ * backgroundNoise: 'OFFICE',
20
+ * name: 'Busy call centre',
21
+ * });
22
+ * ```
23
+ */
24
+ create(
25
+ body: SimulationEnvironmentCreateParams,
26
+ options?: RequestOptions,
27
+ ): APIPromise<SimulationEnvironmentCreateResponse> {
28
+ return this._client.post('/v1/simulation/environment', { body, ...options });
29
+ }
30
+
31
+ /**
32
+ * Updates one of the project's environments. Only the fields sent are changed.
33
+ * Runs already built keep the snapshot they were built with. Roark-curated
34
+ * environments cannot be edited (403).
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const simulationEnvironment =
39
+ * await client.simulationEnvironment.update(
40
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
41
+ * );
42
+ * ```
43
+ */
44
+ update(
45
+ environmentID: string,
46
+ body: SimulationEnvironmentUpdateParams | null | undefined = {},
47
+ options?: RequestOptions,
48
+ ): APIPromise<SimulationEnvironmentUpdateResponse> {
49
+ return this._client.put(path`/v1/simulation/environment/${environmentID}`, { body, ...options });
50
+ }
51
+
9
52
  /**
10
53
  * Returns a paginated list of environments: the project's own plus the
11
54
  * environments Roark curates and shares across every project. Reference one by id
@@ -24,6 +67,24 @@ export class SimulationEnvironment extends APIResource {
24
67
  return this._client.get('/v1/simulation/environment', { query, ...options });
25
68
  }
26
69
 
70
+ /**
71
+ * Soft-deletes one of the project's environments. It disappears from reads and
72
+ * cannot be picked for new runs; runs already built keep their snapshot. Refused
73
+ * (409) while a live customer flow variant still uses it: move those variants
74
+ * first. Roark-curated environments cannot be deleted (403).
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * const simulationEnvironment =
79
+ * await client.simulationEnvironment.delete(
80
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
81
+ * );
82
+ * ```
83
+ */
84
+ delete(environmentID: string, options?: RequestOptions): APIPromise<SimulationEnvironmentDeleteResponse> {
85
+ return this._client.delete(path`/v1/simulation/environment/${environmentID}`, options);
86
+ }
87
+
27
88
  /**
28
89
  * Returns a single environment by its ID.
29
90
  *
@@ -39,6 +100,98 @@ export class SimulationEnvironment extends APIResource {
39
100
  }
40
101
  }
41
102
 
103
+ export interface SimulationEnvironmentCreateResponse {
104
+ /**
105
+ * A simulation environment: the ambient conditions a customer flow variant runs
106
+ * under. The list includes both your own and the ones Roark curates for every
107
+ * project.
108
+ */
109
+ data: SimulationEnvironmentCreateResponse.Data;
110
+ }
111
+
112
+ export namespace SimulationEnvironmentCreateResponse {
113
+ /**
114
+ * A simulation environment: the ambient conditions a customer flow variant runs
115
+ * under. The list includes both your own and the ones Roark curates for every
116
+ * project.
117
+ */
118
+ export interface Data {
119
+ id: string;
120
+
121
+ backgroundNoise:
122
+ | 'NONE'
123
+ | 'AIRPORT'
124
+ | 'CHILDREN_PLAYING'
125
+ | 'CITY'
126
+ | 'COFFEE_SHOP'
127
+ | 'DRIVING'
128
+ | 'OFFICE'
129
+ | 'THUNDERSTORM';
130
+
131
+ backgroundNoiseVolume: number;
132
+
133
+ /**
134
+ * Creation timestamp in ISO 8601 format
135
+ */
136
+ createdAt: string;
137
+
138
+ name: string;
139
+
140
+ /**
141
+ * Last update timestamp in ISO 8601 format
142
+ */
143
+ updatedAt: string;
144
+
145
+ description?: string | null;
146
+ }
147
+ }
148
+
149
+ export interface SimulationEnvironmentUpdateResponse {
150
+ /**
151
+ * A simulation environment: the ambient conditions a customer flow variant runs
152
+ * under. The list includes both your own and the ones Roark curates for every
153
+ * project.
154
+ */
155
+ data: SimulationEnvironmentUpdateResponse.Data;
156
+ }
157
+
158
+ export namespace SimulationEnvironmentUpdateResponse {
159
+ /**
160
+ * A simulation environment: the ambient conditions a customer flow variant runs
161
+ * under. The list includes both your own and the ones Roark curates for every
162
+ * project.
163
+ */
164
+ export interface Data {
165
+ id: string;
166
+
167
+ backgroundNoise:
168
+ | 'NONE'
169
+ | 'AIRPORT'
170
+ | 'CHILDREN_PLAYING'
171
+ | 'CITY'
172
+ | 'COFFEE_SHOP'
173
+ | 'DRIVING'
174
+ | 'OFFICE'
175
+ | 'THUNDERSTORM';
176
+
177
+ backgroundNoiseVolume: number;
178
+
179
+ /**
180
+ * Creation timestamp in ISO 8601 format
181
+ */
182
+ createdAt: string;
183
+
184
+ name: string;
185
+
186
+ /**
187
+ * Last update timestamp in ISO 8601 format
188
+ */
189
+ updatedAt: string;
190
+
191
+ description?: string | null;
192
+ }
193
+ }
194
+
42
195
  /**
43
196
  * Paginated list of environments: the project's own plus the shared Roark-curated
44
197
  * ones
@@ -68,6 +221,8 @@ export namespace SimulationEnvironmentListResponse {
68
221
  | 'OFFICE'
69
222
  | 'THUNDERSTORM';
70
223
 
224
+ backgroundNoiseVolume: number;
225
+
71
226
  /**
72
227
  * Creation timestamp in ISO 8601 format
73
228
  */
@@ -101,6 +256,24 @@ export namespace SimulationEnvironmentListResponse {
101
256
  }
102
257
  }
103
258
 
259
+ export interface SimulationEnvironmentDeleteResponse {
260
+ data: SimulationEnvironmentDeleteResponse.Data;
261
+ }
262
+
263
+ export namespace SimulationEnvironmentDeleteResponse {
264
+ export interface Data {
265
+ /**
266
+ * Unique identifier of the deleted environment
267
+ */
268
+ id: string;
269
+
270
+ /**
271
+ * Always true when the environment was deleted
272
+ */
273
+ deleted: true;
274
+ }
275
+ }
276
+
104
277
  export interface SimulationEnvironmentGetByIDResponse {
105
278
  /**
106
279
  * A simulation environment: the ambient conditions a customer flow variant runs
@@ -129,6 +302,8 @@ export namespace SimulationEnvironmentGetByIDResponse {
129
302
  | 'OFFICE'
130
303
  | 'THUNDERSTORM';
131
304
 
305
+ backgroundNoiseVolume: number;
306
+
132
307
  /**
133
308
  * Creation timestamp in ISO 8601 format
134
309
  */
@@ -145,6 +320,70 @@ export namespace SimulationEnvironmentGetByIDResponse {
145
320
  }
146
321
  }
147
322
 
323
+ export interface SimulationEnvironmentCreateParams {
324
+ /**
325
+ * The noise bed played underneath the simulated caller. NONE plays nothing.
326
+ */
327
+ backgroundNoise:
328
+ | 'NONE'
329
+ | 'AIRPORT'
330
+ | 'CHILDREN_PLAYING'
331
+ | 'CITY'
332
+ | 'COFFEE_SHOP'
333
+ | 'DRIVING'
334
+ | 'OFFICE'
335
+ | 'THUNDERSTORM';
336
+
337
+ /**
338
+ * Display name, shown wherever a flow variant references the environment
339
+ */
340
+ name: string;
341
+
342
+ /**
343
+ * How loud the bed plays, as a gain from 0 (silent) to 1 (as loud as the caller).
344
+ * Defaults to 0.1, which sits well under the caller. Ignored on Vapi endpoints,
345
+ * which have no level control.
346
+ */
347
+ backgroundNoiseVolume?: number;
348
+
349
+ /**
350
+ * Optional note on when to use this environment
351
+ */
352
+ description?: string | null;
353
+ }
354
+
355
+ export interface SimulationEnvironmentUpdateParams {
356
+ /**
357
+ * The noise bed played underneath the simulated caller. NONE plays nothing.
358
+ */
359
+ backgroundNoise?:
360
+ | 'NONE'
361
+ | 'AIRPORT'
362
+ | 'CHILDREN_PLAYING'
363
+ | 'CITY'
364
+ | 'COFFEE_SHOP'
365
+ | 'DRIVING'
366
+ | 'OFFICE'
367
+ | 'THUNDERSTORM';
368
+
369
+ /**
370
+ * How loud the bed plays, as a gain from 0 (silent) to 1 (as loud as the caller).
371
+ * Defaults to 0.1, which sits well under the caller. Ignored on Vapi endpoints,
372
+ * which have no level control.
373
+ */
374
+ backgroundNoiseVolume?: number;
375
+
376
+ /**
377
+ * Optional note on when to use this environment
378
+ */
379
+ description?: string | null;
380
+
381
+ /**
382
+ * Display name, shown wherever a flow variant references the environment
383
+ */
384
+ name?: string;
385
+ }
386
+
148
387
  export interface SimulationEnvironmentListParams {
149
388
  after?: string;
150
389
 
@@ -153,8 +392,13 @@ export interface SimulationEnvironmentListParams {
153
392
 
154
393
  export declare namespace SimulationEnvironment {
155
394
  export {
395
+ type SimulationEnvironmentCreateResponse as SimulationEnvironmentCreateResponse,
396
+ type SimulationEnvironmentUpdateResponse as SimulationEnvironmentUpdateResponse,
156
397
  type SimulationEnvironmentListResponse as SimulationEnvironmentListResponse,
398
+ type SimulationEnvironmentDeleteResponse as SimulationEnvironmentDeleteResponse,
157
399
  type SimulationEnvironmentGetByIDResponse as SimulationEnvironmentGetByIDResponse,
400
+ type SimulationEnvironmentCreateParams as SimulationEnvironmentCreateParams,
401
+ type SimulationEnvironmentUpdateParams as SimulationEnvironmentUpdateParams,
158
402
  type SimulationEnvironmentListParams as SimulationEnvironmentListParams,
159
403
  };
160
404
  }
@@ -68,6 +68,12 @@ export namespace SimulationJobGetByIDResponse {
68
68
  */
69
69
  enrichment: Data.Enrichment;
70
70
 
71
+ /**
72
+ * Present when the run was invalidated: it keeps its transcript and recording, but
73
+ * nothing scored it and it is excluded from every run total.
74
+ */
75
+ invalidation: Data.Invalidation | null;
76
+
71
77
  persona: Data.Persona;
72
78
 
73
79
  /**
@@ -195,6 +201,28 @@ export namespace SimulationJobGetByIDResponse {
195
201
  waitStartedAt?: string | null;
196
202
  }
197
203
 
204
+ /**
205
+ * Present when the run was invalidated: it keeps its transcript and recording, but
206
+ * nothing scored it and it is excluded from every run total.
207
+ */
208
+ export interface Invalidation {
209
+ /**
210
+ * When the run was invalidated.
211
+ */
212
+ invalidatedAt: string;
213
+
214
+ /**
215
+ * Why the result does not count. `SCRIPT_DIVERGED`: a strict flow went off script
216
+ * at a step whose off-script policy is HANG_UP_INVALIDATE.
217
+ */
218
+ reason: 'SCRIPT_DIVERGED';
219
+
220
+ /**
221
+ * One sentence: where the script was left and what your agent did instead.
222
+ */
223
+ detail?: string | null;
224
+ }
225
+
198
226
  export interface Persona {
199
227
  /**
200
228
  * Unique identifier of the persona
@@ -252,7 +280,17 @@ export namespace SimulationJobGetByIDResponse {
252
280
  /**
253
281
  * Base emotional state of the persona
254
282
  */
255
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
283
+ baseEmotion:
284
+ | 'NEUTRAL'
285
+ | 'CHEERFUL'
286
+ | 'CONFUSED'
287
+ | 'FRUSTRATED'
288
+ | 'SKEPTICAL'
289
+ | 'RUSHED'
290
+ | 'DISTRACTED'
291
+ | 'ANGRY'
292
+ | 'ANXIOUS'
293
+ | 'SAD';
256
294
 
257
295
  /**
258
296
  * How the persona confirms information
@@ -394,6 +432,13 @@ export namespace SimulationJobGetByIDResponse {
394
432
  */
395
433
  description?: string | null;
396
434
 
435
+ /**
436
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
437
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
438
+ * or set null to display the name itself.
439
+ */
440
+ displayName?: string | null;
441
+
397
442
  /**
398
443
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
399
444
  */
@@ -463,6 +508,12 @@ export namespace SimulationJobLookupResponse {
463
508
  */
464
509
  enrichment: Data.Enrichment;
465
510
 
511
+ /**
512
+ * Present when the run was invalidated: it keeps its transcript and recording, but
513
+ * nothing scored it and it is excluded from every run total.
514
+ */
515
+ invalidation: Data.Invalidation | null;
516
+
466
517
  persona: Data.Persona;
467
518
 
468
519
  /**
@@ -590,6 +641,28 @@ export namespace SimulationJobLookupResponse {
590
641
  waitStartedAt?: string | null;
591
642
  }
592
643
 
644
+ /**
645
+ * Present when the run was invalidated: it keeps its transcript and recording, but
646
+ * nothing scored it and it is excluded from every run total.
647
+ */
648
+ export interface Invalidation {
649
+ /**
650
+ * When the run was invalidated.
651
+ */
652
+ invalidatedAt: string;
653
+
654
+ /**
655
+ * Why the result does not count. `SCRIPT_DIVERGED`: a strict flow went off script
656
+ * at a step whose off-script policy is HANG_UP_INVALIDATE.
657
+ */
658
+ reason: 'SCRIPT_DIVERGED';
659
+
660
+ /**
661
+ * One sentence: where the script was left and what your agent did instead.
662
+ */
663
+ detail?: string | null;
664
+ }
665
+
593
666
  export interface Persona {
594
667
  /**
595
668
  * Unique identifier of the persona
@@ -647,7 +720,17 @@ export namespace SimulationJobLookupResponse {
647
720
  /**
648
721
  * Base emotional state of the persona
649
722
  */
650
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
723
+ baseEmotion:
724
+ | 'NEUTRAL'
725
+ | 'CHEERFUL'
726
+ | 'CONFUSED'
727
+ | 'FRUSTRATED'
728
+ | 'SKEPTICAL'
729
+ | 'RUSHED'
730
+ | 'DISTRACTED'
731
+ | 'ANGRY'
732
+ | 'ANXIOUS'
733
+ | 'SAD';
651
734
 
652
735
  /**
653
736
  * How the persona confirms information
@@ -789,6 +872,13 @@ export namespace SimulationJobLookupResponse {
789
872
  */
790
873
  description?: string | null;
791
874
 
875
+ /**
876
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
877
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
878
+ * or set null to display the name itself.
879
+ */
880
+ displayName?: string | null;
881
+
792
882
  /**
793
883
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
794
884
  */
@@ -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
@@ -278,6 +288,13 @@ export namespace SimulationPersonaCreateResponse {
278
288
  */
279
289
  description?: string | null;
280
290
 
291
+ /**
292
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
293
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
294
+ * or set null to display the name itself.
295
+ */
296
+ displayName?: string | null;
297
+
281
298
  /**
282
299
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
283
300
  */
@@ -347,7 +364,17 @@ export namespace SimulationPersonaUpdateResponse {
347
364
  /**
348
365
  * Base emotional state of the persona
349
366
  */
350
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
367
+ baseEmotion:
368
+ | 'NEUTRAL'
369
+ | 'CHEERFUL'
370
+ | 'CONFUSED'
371
+ | 'FRUSTRATED'
372
+ | 'SKEPTICAL'
373
+ | 'RUSHED'
374
+ | 'DISTRACTED'
375
+ | 'ANGRY'
376
+ | 'ANXIOUS'
377
+ | 'SAD';
351
378
 
352
379
  /**
353
380
  * How the persona confirms information
@@ -489,6 +516,13 @@ export namespace SimulationPersonaUpdateResponse {
489
516
  */
490
517
  description?: string | null;
491
518
 
519
+ /**
520
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
521
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
522
+ * or set null to display the name itself.
523
+ */
524
+ displayName?: string | null;
525
+
492
526
  /**
493
527
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
494
528
  */
@@ -560,7 +594,17 @@ export namespace SimulationPersonaListResponse {
560
594
  /**
561
595
  * Base emotional state of the persona
562
596
  */
563
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
597
+ baseEmotion:
598
+ | 'NEUTRAL'
599
+ | 'CHEERFUL'
600
+ | 'CONFUSED'
601
+ | 'FRUSTRATED'
602
+ | 'SKEPTICAL'
603
+ | 'RUSHED'
604
+ | 'DISTRACTED'
605
+ | 'ANGRY'
606
+ | 'ANXIOUS'
607
+ | 'SAD';
564
608
 
565
609
  /**
566
610
  * How the persona confirms information
@@ -702,6 +746,13 @@ export namespace SimulationPersonaListResponse {
702
746
  */
703
747
  description?: string | null;
704
748
 
749
+ /**
750
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
751
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
752
+ * or set null to display the name itself.
753
+ */
754
+ displayName?: string | null;
755
+
705
756
  /**
706
757
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
707
758
  */
@@ -788,7 +839,17 @@ export namespace SimulationPersonaGetByIDResponse {
788
839
  /**
789
840
  * Base emotional state of the persona
790
841
  */
791
- baseEmotion: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
842
+ baseEmotion:
843
+ | 'NEUTRAL'
844
+ | 'CHEERFUL'
845
+ | 'CONFUSED'
846
+ | 'FRUSTRATED'
847
+ | 'SKEPTICAL'
848
+ | 'RUSHED'
849
+ | 'DISTRACTED'
850
+ | 'ANGRY'
851
+ | 'ANXIOUS'
852
+ | 'SAD';
792
853
 
793
854
  /**
794
855
  * How the persona confirms information
@@ -930,6 +991,13 @@ export namespace SimulationPersonaGetByIDResponse {
930
991
  */
931
992
  description?: string | null;
932
993
 
994
+ /**
995
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
996
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
997
+ * or set null to display the name itself.
998
+ */
999
+ displayName?: string | null;
1000
+
933
1001
  /**
934
1002
  * Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
935
1003
  */
@@ -1027,7 +1095,17 @@ export interface SimulationPersonaCreateParams {
1027
1095
  /**
1028
1096
  * Base emotional state of the persona
1029
1097
  */
1030
- baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
1098
+ baseEmotion?:
1099
+ | 'NEUTRAL'
1100
+ | 'CHEERFUL'
1101
+ | 'CONFUSED'
1102
+ | 'FRUSTRATED'
1103
+ | 'SKEPTICAL'
1104
+ | 'RUSHED'
1105
+ | 'DISTRACTED'
1106
+ | 'ANGRY'
1107
+ | 'ANXIOUS'
1108
+ | 'SAD';
1031
1109
 
1032
1110
  /**
1033
1111
  * How the persona confirms information
@@ -1039,6 +1117,13 @@ export interface SimulationPersonaCreateParams {
1039
1117
  */
1040
1118
  description?: string | null;
1041
1119
 
1120
+ /**
1121
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
1122
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
1123
+ * or set null to display the name itself.
1124
+ */
1125
+ displayName?: string | null;
1126
+
1042
1127
  /**
1043
1128
  * Whether the persona uses filler words like "um" and "uh"
1044
1129
  */
@@ -1184,7 +1269,17 @@ export interface SimulationPersonaUpdateParams {
1184
1269
  /**
1185
1270
  * Base emotional state of the persona
1186
1271
  */
1187
- baseEmotion?: 'NEUTRAL' | 'CHEERFUL' | 'CONFUSED' | 'FRUSTRATED' | 'SKEPTICAL' | 'RUSHED' | 'DISTRACTED';
1272
+ baseEmotion?:
1273
+ | 'NEUTRAL'
1274
+ | 'CHEERFUL'
1275
+ | 'CONFUSED'
1276
+ | 'FRUSTRATED'
1277
+ | 'SKEPTICAL'
1278
+ | 'RUSHED'
1279
+ | 'DISTRACTED'
1280
+ | 'ANGRY'
1281
+ | 'ANXIOUS'
1282
+ | 'SAD';
1188
1283
 
1189
1284
  /**
1190
1285
  * How the persona confirms information
@@ -1196,6 +1291,13 @@ export interface SimulationPersonaUpdateParams {
1196
1291
  */
1197
1292
  description?: string | null;
1198
1293
 
1294
+ /**
1295
+ * Label shown in place of the name across the dashboard (e.g. a short descriptor
1296
+ * like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
1297
+ * or set null to display the name itself.
1298
+ */
1299
+ displayName?: string | null;
1300
+
1199
1301
  /**
1200
1302
  * Gender of the persona
1201
1303
  */