@roarkanalytics/sdk 2.31.0 → 2.33.1

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 (245) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/api-promise.d.mts +1 -0
  3. package/api-promise.d.mts.map +1 -1
  4. package/api-promise.d.ts +1 -0
  5. package/api-promise.d.ts.map +1 -1
  6. package/api-promise.mjs +1 -0
  7. package/api-promise.mjs.map +1 -1
  8. package/client.d.mts +17 -5
  9. package/client.d.mts.map +1 -1
  10. package/client.d.ts +17 -5
  11. package/client.d.ts.map +1 -1
  12. package/client.js +35 -4
  13. package/client.js.map +1 -1
  14. package/client.mjs +35 -4
  15. package/client.mjs.map +1 -1
  16. package/core/api-promise.d.mts.map +1 -1
  17. package/core/api-promise.d.ts.map +1 -1
  18. package/core/api-promise.mjs.map +1 -1
  19. package/core/error.mjs.map +1 -1
  20. package/core/resource.d.mts.map +1 -1
  21. package/core/resource.d.ts.map +1 -1
  22. package/core/uploads.d.mts.map +1 -1
  23. package/core/uploads.d.ts.map +1 -1
  24. package/core/uploads.mjs.map +1 -1
  25. package/error.d.mts +1 -0
  26. package/error.d.mts.map +1 -1
  27. package/error.d.ts +1 -0
  28. package/error.d.ts.map +1 -1
  29. package/error.mjs +1 -0
  30. package/error.mjs.map +1 -1
  31. package/index.d.mts.map +1 -1
  32. package/index.d.ts.map +1 -1
  33. package/index.mjs.map +1 -1
  34. package/internal/detect-platform.mjs.map +1 -1
  35. package/internal/headers.mjs.map +1 -1
  36. package/internal/parse.d.mts.map +1 -1
  37. package/internal/parse.d.ts.map +1 -1
  38. package/internal/parse.mjs.map +1 -1
  39. package/internal/qs/formats.d.mts.map +1 -1
  40. package/internal/qs/formats.d.ts.map +1 -1
  41. package/internal/qs/index.d.mts +2 -2
  42. package/internal/qs/index.d.mts.map +1 -1
  43. package/internal/qs/index.d.ts +2 -2
  44. package/internal/qs/index.d.ts.map +1 -1
  45. package/internal/qs/index.mjs.map +1 -1
  46. package/internal/qs/stringify.d.mts.map +1 -1
  47. package/internal/qs/stringify.d.ts.map +1 -1
  48. package/internal/qs/stringify.mjs.map +1 -1
  49. package/internal/qs/utils.d.mts.map +1 -1
  50. package/internal/qs/utils.d.ts.map +1 -1
  51. package/internal/qs/utils.mjs.map +1 -1
  52. package/internal/request-options.d.mts.map +1 -1
  53. package/internal/request-options.d.ts.map +1 -1
  54. package/internal/shims.d.mts +6 -0
  55. package/internal/shims.d.mts.map +1 -1
  56. package/internal/shims.d.ts +6 -0
  57. package/internal/shims.d.ts.map +1 -1
  58. package/internal/to-file.d.mts.map +1 -1
  59. package/internal/to-file.d.ts.map +1 -1
  60. package/internal/to-file.mjs.map +1 -1
  61. package/internal/types.d.mts +10 -10
  62. package/internal/types.d.mts.map +1 -1
  63. package/internal/types.d.ts +10 -10
  64. package/internal/types.d.ts.map +1 -1
  65. package/internal/uploads.d.mts.map +1 -1
  66. package/internal/uploads.d.ts.map +1 -1
  67. package/internal/uploads.mjs.map +1 -1
  68. package/internal/utils/base64.mjs.map +1 -1
  69. package/internal/utils/log.d.mts.map +1 -1
  70. package/internal/utils/log.d.ts.map +1 -1
  71. package/internal/utils/log.js +2 -0
  72. package/internal/utils/log.js.map +1 -1
  73. package/internal/utils/log.mjs +2 -0
  74. package/internal/utils/log.mjs.map +1 -1
  75. package/internal/utils/path.mjs.map +1 -1
  76. package/internal/utils/query.mjs.map +1 -1
  77. package/internal/utils/values.mjs.map +1 -1
  78. package/internal/utils.d.mts.map +1 -1
  79. package/internal/utils.d.ts.map +1 -1
  80. package/internal/utils.mjs.map +1 -1
  81. package/package.json +1 -1
  82. package/resource.d.mts +1 -0
  83. package/resource.d.mts.map +1 -1
  84. package/resource.d.ts +1 -0
  85. package/resource.d.ts.map +1 -1
  86. package/resource.mjs +1 -0
  87. package/resource.mjs.map +1 -1
  88. package/resources/agent-endpoint.d.mts +4 -4
  89. package/resources/agent-endpoint.d.mts.map +1 -1
  90. package/resources/agent-endpoint.d.ts +4 -4
  91. package/resources/agent-endpoint.d.ts.map +1 -1
  92. package/resources/agent-endpoint.mjs.map +1 -1
  93. package/resources/agent.d.mts.map +1 -1
  94. package/resources/agent.d.ts.map +1 -1
  95. package/resources/agent.mjs.map +1 -1
  96. package/resources/call.d.mts +303 -155
  97. package/resources/call.d.mts.map +1 -1
  98. package/resources/call.d.ts +303 -155
  99. package/resources/call.d.ts.map +1 -1
  100. package/resources/call.js +6 -7
  101. package/resources/call.js.map +1 -1
  102. package/resources/call.mjs +6 -7
  103. package/resources/call.mjs.map +1 -1
  104. package/resources/config.d.mts +535 -0
  105. package/resources/config.d.mts.map +1 -0
  106. package/resources/config.d.ts +535 -0
  107. package/resources/config.d.ts.map +1 -0
  108. package/resources/config.js +28 -0
  109. package/resources/config.js.map +1 -0
  110. package/resources/config.mjs +24 -0
  111. package/resources/config.mjs.map +1 -0
  112. package/resources/customer-flow-edge-case.d.mts +1742 -0
  113. package/resources/customer-flow-edge-case.d.mts.map +1 -0
  114. package/resources/customer-flow-edge-case.d.ts +1742 -0
  115. package/resources/customer-flow-edge-case.d.ts.map +1 -0
  116. package/resources/customer-flow-edge-case.js +50 -0
  117. package/resources/customer-flow-edge-case.js.map +1 -0
  118. package/resources/customer-flow-edge-case.mjs +46 -0
  119. package/resources/customer-flow-edge-case.mjs.map +1 -0
  120. package/resources/customer-flow.d.mts +7163 -0
  121. package/resources/customer-flow.d.mts.map +1 -0
  122. package/resources/customer-flow.d.ts +7163 -0
  123. package/resources/customer-flow.d.ts.map +1 -0
  124. package/resources/customer-flow.js +87 -0
  125. package/resources/customer-flow.js.map +1 -0
  126. package/resources/customer-flow.mjs +83 -0
  127. package/resources/customer-flow.mjs.map +1 -0
  128. package/resources/health.d.mts.map +1 -1
  129. package/resources/health.d.ts.map +1 -1
  130. package/resources/health.mjs.map +1 -1
  131. package/resources/http-request-definition.d.mts.map +1 -1
  132. package/resources/http-request-definition.d.ts.map +1 -1
  133. package/resources/http-request-definition.mjs.map +1 -1
  134. package/resources/index.d.mts +6 -2
  135. package/resources/index.d.mts.map +1 -1
  136. package/resources/index.d.ts +6 -2
  137. package/resources/index.d.ts.map +1 -1
  138. package/resources/index.js +11 -3
  139. package/resources/index.js.map +1 -1
  140. package/resources/index.mjs +5 -1
  141. package/resources/index.mjs.map +1 -1
  142. package/resources/metric-collection-job.d.mts +5 -3
  143. package/resources/metric-collection-job.d.mts.map +1 -1
  144. package/resources/metric-collection-job.d.ts +5 -3
  145. package/resources/metric-collection-job.d.ts.map +1 -1
  146. package/resources/metric-collection-job.mjs.map +1 -1
  147. package/resources/metric-policy.d.mts.map +1 -1
  148. package/resources/metric-policy.d.ts.map +1 -1
  149. package/resources/metric-policy.mjs.map +1 -1
  150. package/resources/metric.d.mts +804 -109
  151. package/resources/metric.d.mts.map +1 -1
  152. package/resources/metric.d.ts +804 -109
  153. package/resources/metric.d.ts.map +1 -1
  154. package/resources/metric.js +6 -7
  155. package/resources/metric.js.map +1 -1
  156. package/resources/metric.mjs +6 -7
  157. package/resources/metric.mjs.map +1 -1
  158. package/resources/simulation-environment.d.mts +95 -0
  159. package/resources/simulation-environment.d.mts.map +1 -0
  160. package/resources/simulation-environment.d.ts +95 -0
  161. package/resources/simulation-environment.d.ts.map +1 -0
  162. package/resources/simulation-environment.js +24 -0
  163. package/resources/simulation-environment.js.map +1 -0
  164. package/resources/simulation-environment.mjs +20 -0
  165. package/resources/simulation-environment.mjs.map +1 -0
  166. package/resources/simulation-job.d.mts +58 -10
  167. package/resources/simulation-job.d.mts.map +1 -1
  168. package/resources/simulation-job.d.ts +58 -10
  169. package/resources/simulation-job.d.ts.map +1 -1
  170. package/resources/simulation-job.mjs.map +1 -1
  171. package/resources/simulation-persona.d.mts +60 -24
  172. package/resources/simulation-persona.d.mts.map +1 -1
  173. package/resources/simulation-persona.d.ts +60 -24
  174. package/resources/simulation-persona.d.ts.map +1 -1
  175. package/resources/simulation-persona.mjs.map +1 -1
  176. package/resources/simulation-run-plan-job.d.mts +73 -32
  177. package/resources/simulation-run-plan-job.d.mts.map +1 -1
  178. package/resources/simulation-run-plan-job.d.ts +73 -32
  179. package/resources/simulation-run-plan-job.d.ts.map +1 -1
  180. package/resources/simulation-run-plan-job.js +7 -8
  181. package/resources/simulation-run-plan-job.js.map +1 -1
  182. package/resources/simulation-run-plan-job.mjs +7 -8
  183. package/resources/simulation-run-plan-job.mjs.map +1 -1
  184. package/resources/simulation-run-plan.d.mts +408 -39
  185. package/resources/simulation-run-plan.d.mts.map +1 -1
  186. package/resources/simulation-run-plan.d.ts +408 -39
  187. package/resources/simulation-run-plan.d.ts.map +1 -1
  188. package/resources/simulation-run-plan.js +6 -11
  189. package/resources/simulation-run-plan.js.map +1 -1
  190. package/resources/simulation-run-plan.mjs +6 -11
  191. package/resources/simulation-run-plan.mjs.map +1 -1
  192. package/resources/simulation.d.mts +379 -0
  193. package/resources/simulation.d.mts.map +1 -0
  194. package/resources/simulation.d.ts +379 -0
  195. package/resources/simulation.d.ts.map +1 -0
  196. package/resources/simulation.js +33 -0
  197. package/resources/simulation.js.map +1 -0
  198. package/resources/simulation.mjs +29 -0
  199. package/resources/simulation.mjs.map +1 -0
  200. package/resources/webhook.d.mts +4 -4
  201. package/resources/webhook.d.mts.map +1 -1
  202. package/resources/webhook.d.ts +4 -4
  203. package/resources/webhook.d.ts.map +1 -1
  204. package/resources/webhook.mjs.map +1 -1
  205. package/resources.d.mts.map +1 -1
  206. package/resources.d.ts.map +1 -1
  207. package/resources.mjs.map +1 -1
  208. package/src/client.ts +124 -28
  209. package/src/internal/types.ts +6 -8
  210. package/src/internal/utils/log.ts +2 -0
  211. package/src/resources/agent-endpoint.ts +36 -4
  212. package/src/resources/call.ts +326 -169
  213. package/src/resources/config.ts +1162 -0
  214. package/src/resources/customer-flow-edge-case.ts +2884 -0
  215. package/src/resources/customer-flow.ts +11713 -0
  216. package/src/resources/index.ts +42 -12
  217. package/src/resources/metric-collection-job.ts +5 -3
  218. package/src/resources/metric.ts +1057 -115
  219. package/src/resources/simulation-environment.ts +147 -0
  220. package/src/resources/simulation-job.ts +122 -10
  221. package/src/resources/simulation-persona.ts +192 -24
  222. package/src/resources/simulation-run-plan-job.ts +109 -27
  223. package/src/resources/simulation-run-plan.ts +445 -40
  224. package/src/resources/simulation.ts +444 -0
  225. package/src/resources/webhook.ts +8 -0
  226. package/src/version.ts +1 -1
  227. package/uploads.d.mts +1 -0
  228. package/uploads.d.mts.map +1 -1
  229. package/uploads.d.ts +1 -0
  230. package/uploads.d.ts.map +1 -1
  231. package/uploads.mjs +1 -0
  232. package/uploads.mjs.map +1 -1
  233. package/version.d.mts +1 -1
  234. package/version.d.ts +1 -1
  235. package/version.js +1 -1
  236. package/version.mjs +1 -1
  237. package/resources/simulation-scenario.d.mts +0 -424
  238. package/resources/simulation-scenario.d.mts.map +0 -1
  239. package/resources/simulation-scenario.d.ts +0 -424
  240. package/resources/simulation-scenario.d.ts.map +0 -1
  241. package/resources/simulation-scenario.js +0 -40
  242. package/resources/simulation-scenario.js.map +0 -1
  243. package/resources/simulation-scenario.mjs +0 -36
  244. package/resources/simulation-scenario.mjs.map +0 -1
  245. package/src/resources/simulation-scenario.ts +0 -602
@@ -7,8 +7,11 @@ import { path } from '../internal/utils/path';
7
7
 
8
8
  export class SimulationRunPlan extends APIResource {
9
9
  /**
10
- * Creates a new simulation run plan. Optionally triggers a job immediately if
11
- * autoRun is true.
10
+ * Creates a new simulation run plan.
11
+ *
12
+ * To run a simulation, use POST /v1/simulation/run instead: it starts a run from a
13
+ * plan or from an inline configuration, and takes runtime variables. Create a plan
14
+ * here when you want a reusable, named one to run later.
12
15
  *
13
16
  * @example
14
17
  * ```ts
@@ -19,16 +22,8 @@ export class SimulationRunPlan extends APIResource {
19
22
  * ],
20
23
  * direction: 'INBOUND',
21
24
  * maxSimulationDurationSeconds: 300,
22
- * metrics: [
23
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
24
- * ],
25
+ * metrics: [{}],
25
26
  * name: 'My Run Plan',
26
- * personas: [
27
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
28
- * ],
29
- * scenarios: [
30
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
31
- * ],
32
27
  * });
33
28
  * ```
34
29
  */
@@ -174,6 +169,11 @@ export namespace SimulationRunPlanCreateResponse {
174
169
  */
175
170
  executionMode: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
176
171
 
172
+ /**
173
+ * Customer flows included in this run plan
174
+ */
175
+ flows: Array<RunPlan.Flow>;
176
+
177
177
  /**
178
178
  * Number of iterations to run for each test case
179
179
  */
@@ -200,12 +200,13 @@ export namespace SimulationRunPlanCreateResponse {
200
200
  name: string;
201
201
 
202
202
  /**
203
- * Personas included in this run plan
203
+ * Personas included in this run plan. Only meaningful alongside `scenarios`.
204
204
  */
205
205
  personas: Array<RunPlan.Persona>;
206
206
 
207
207
  /**
208
- * Scenarios included in this run plan
208
+ * @deprecated Deprecated: use `flows` instead. Scenarios included in this run
209
+ * plan.
209
210
  */
210
211
  scenarios: Array<RunPlan.Scenario>;
211
212
 
@@ -239,6 +240,61 @@ export namespace SimulationRunPlanCreateResponse {
239
240
  id: string;
240
241
  }
241
242
 
243
+ /**
244
+ * One customer flow attached to a run plan, and which of its ways of running you
245
+ * cover.
246
+ *
247
+ * Attaching the same flow more than once with different overrides is how you fan
248
+ * it out across personas or values.
249
+ */
250
+ export interface Flow {
251
+ /**
252
+ * The customer flow to run.
253
+ */
254
+ id: string;
255
+
256
+ /**
257
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
258
+ * later is covered. An array runs only the ones you name, each able to carry its
259
+ * own persona override and values.
260
+ */
261
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
262
+
263
+ /**
264
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
265
+ */
266
+ happyPath?: boolean;
267
+
268
+ /**
269
+ * Runs everything this attachment resolves as that persona instead of its own.
270
+ */
271
+ personaOverrideId?: string | null;
272
+
273
+ /**
274
+ * Values for everything it resolves.
275
+ */
276
+ variables?: { [key: string]: string };
277
+ }
278
+
279
+ export namespace Flow {
280
+ export interface UnionMember1 {
281
+ /**
282
+ * The edge case to run.
283
+ */
284
+ id: string;
285
+
286
+ /**
287
+ * Run this one as that persona instead of its own.
288
+ */
289
+ personaOverrideId?: string | null;
290
+
291
+ /**
292
+ * Values for this one only.
293
+ */
294
+ variables?: { [key: string]: string };
295
+ }
296
+ }
297
+
242
298
  export interface Metric {
243
299
  id: string;
244
300
  }
@@ -285,6 +341,7 @@ export namespace SimulationRunPlanCreateResponse {
285
341
  | 'QUEUED'
286
342
  | 'CREATING_SNAPSHOTS'
287
343
  | 'CREATING_SIMULATIONS'
344
+ | 'PREPARING_CAPACITY'
288
345
  | 'RUNNING_SIMULATIONS'
289
346
  | 'COMPLETED'
290
347
  | 'FAILED'
@@ -349,6 +406,11 @@ export namespace SimulationRunPlanUpdateResponse {
349
406
  */
350
407
  executionMode: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
351
408
 
409
+ /**
410
+ * Customer flows included in this run plan
411
+ */
412
+ flows: Array<Data.Flow>;
413
+
352
414
  /**
353
415
  * Number of iterations to run for each test case
354
416
  */
@@ -375,12 +437,13 @@ export namespace SimulationRunPlanUpdateResponse {
375
437
  name: string;
376
438
 
377
439
  /**
378
- * Personas included in this run plan
440
+ * Personas included in this run plan. Only meaningful alongside `scenarios`.
379
441
  */
380
442
  personas: Array<Data.Persona>;
381
443
 
382
444
  /**
383
- * Scenarios included in this run plan
445
+ * @deprecated Deprecated: use `flows` instead. Scenarios included in this run
446
+ * plan.
384
447
  */
385
448
  scenarios: Array<Data.Scenario>;
386
449
 
@@ -414,6 +477,61 @@ export namespace SimulationRunPlanUpdateResponse {
414
477
  id: string;
415
478
  }
416
479
 
480
+ /**
481
+ * One customer flow attached to a run plan, and which of its ways of running you
482
+ * cover.
483
+ *
484
+ * Attaching the same flow more than once with different overrides is how you fan
485
+ * it out across personas or values.
486
+ */
487
+ export interface Flow {
488
+ /**
489
+ * The customer flow to run.
490
+ */
491
+ id: string;
492
+
493
+ /**
494
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
495
+ * later is covered. An array runs only the ones you name, each able to carry its
496
+ * own persona override and values.
497
+ */
498
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
499
+
500
+ /**
501
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
502
+ */
503
+ happyPath?: boolean;
504
+
505
+ /**
506
+ * Runs everything this attachment resolves as that persona instead of its own.
507
+ */
508
+ personaOverrideId?: string | null;
509
+
510
+ /**
511
+ * Values for everything it resolves.
512
+ */
513
+ variables?: { [key: string]: string };
514
+ }
515
+
516
+ export namespace Flow {
517
+ export interface UnionMember1 {
518
+ /**
519
+ * The edge case to run.
520
+ */
521
+ id: string;
522
+
523
+ /**
524
+ * Run this one as that persona instead of its own.
525
+ */
526
+ personaOverrideId?: string | null;
527
+
528
+ /**
529
+ * Values for this one only.
530
+ */
531
+ variables?: { [key: string]: string };
532
+ }
533
+ }
534
+
417
535
  export interface Metric {
418
536
  id: string;
419
537
  }
@@ -489,6 +607,11 @@ export namespace SimulationRunPlanListResponse {
489
607
  */
490
608
  executionMode: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
491
609
 
610
+ /**
611
+ * Customer flows included in this run plan
612
+ */
613
+ flows: Array<Data.Flow>;
614
+
492
615
  /**
493
616
  * Number of iterations to run for each test case
494
617
  */
@@ -515,12 +638,13 @@ export namespace SimulationRunPlanListResponse {
515
638
  name: string;
516
639
 
517
640
  /**
518
- * Personas included in this run plan
641
+ * Personas included in this run plan. Only meaningful alongside `scenarios`.
519
642
  */
520
643
  personas: Array<Data.Persona>;
521
644
 
522
645
  /**
523
- * Scenarios included in this run plan
646
+ * @deprecated Deprecated: use `flows` instead. Scenarios included in this run
647
+ * plan.
524
648
  */
525
649
  scenarios: Array<Data.Scenario>;
526
650
 
@@ -554,6 +678,61 @@ export namespace SimulationRunPlanListResponse {
554
678
  id: string;
555
679
  }
556
680
 
681
+ /**
682
+ * One customer flow attached to a run plan, and which of its ways of running you
683
+ * cover.
684
+ *
685
+ * Attaching the same flow more than once with different overrides is how you fan
686
+ * it out across personas or values.
687
+ */
688
+ export interface Flow {
689
+ /**
690
+ * The customer flow to run.
691
+ */
692
+ id: string;
693
+
694
+ /**
695
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
696
+ * later is covered. An array runs only the ones you name, each able to carry its
697
+ * own persona override and values.
698
+ */
699
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
700
+
701
+ /**
702
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
703
+ */
704
+ happyPath?: boolean;
705
+
706
+ /**
707
+ * Runs everything this attachment resolves as that persona instead of its own.
708
+ */
709
+ personaOverrideId?: string | null;
710
+
711
+ /**
712
+ * Values for everything it resolves.
713
+ */
714
+ variables?: { [key: string]: string };
715
+ }
716
+
717
+ export namespace Flow {
718
+ export interface UnionMember1 {
719
+ /**
720
+ * The edge case to run.
721
+ */
722
+ id: string;
723
+
724
+ /**
725
+ * Run this one as that persona instead of its own.
726
+ */
727
+ personaOverrideId?: string | null;
728
+
729
+ /**
730
+ * Values for this one only.
731
+ */
732
+ variables?: { [key: string]: string };
733
+ }
734
+ }
735
+
557
736
  export interface Metric {
558
737
  id: string;
559
738
  }
@@ -657,6 +836,11 @@ export namespace SimulationRunPlanGetByIDResponse {
657
836
  */
658
837
  executionMode: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
659
838
 
839
+ /**
840
+ * Customer flows included in this run plan
841
+ */
842
+ flows: Array<Data.Flow>;
843
+
660
844
  /**
661
845
  * Number of iterations to run for each test case
662
846
  */
@@ -683,12 +867,13 @@ export namespace SimulationRunPlanGetByIDResponse {
683
867
  name: string;
684
868
 
685
869
  /**
686
- * Personas included in this run plan
870
+ * Personas included in this run plan. Only meaningful alongside `scenarios`.
687
871
  */
688
872
  personas: Array<Data.Persona>;
689
873
 
690
874
  /**
691
- * Scenarios included in this run plan
875
+ * @deprecated Deprecated: use `flows` instead. Scenarios included in this run
876
+ * plan.
692
877
  */
693
878
  scenarios: Array<Data.Scenario>;
694
879
 
@@ -722,6 +907,61 @@ export namespace SimulationRunPlanGetByIDResponse {
722
907
  id: string;
723
908
  }
724
909
 
910
+ /**
911
+ * One customer flow attached to a run plan, and which of its ways of running you
912
+ * cover.
913
+ *
914
+ * Attaching the same flow more than once with different overrides is how you fan
915
+ * it out across personas or values.
916
+ */
917
+ export interface Flow {
918
+ /**
919
+ * The customer flow to run.
920
+ */
921
+ id: string;
922
+
923
+ /**
924
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
925
+ * later is covered. An array runs only the ones you name, each able to carry its
926
+ * own persona override and values.
927
+ */
928
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
929
+
930
+ /**
931
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
932
+ */
933
+ happyPath?: boolean;
934
+
935
+ /**
936
+ * Runs everything this attachment resolves as that persona instead of its own.
937
+ */
938
+ personaOverrideId?: string | null;
939
+
940
+ /**
941
+ * Values for everything it resolves.
942
+ */
943
+ variables?: { [key: string]: string };
944
+ }
945
+
946
+ export namespace Flow {
947
+ export interface UnionMember1 {
948
+ /**
949
+ * The edge case to run.
950
+ */
951
+ id: string;
952
+
953
+ /**
954
+ * Run this one as that persona instead of its own.
955
+ */
956
+ personaOverrideId?: string | null;
957
+
958
+ /**
959
+ * Values for this one only.
960
+ */
961
+ variables?: { [key: string]: string };
962
+ }
963
+ }
964
+
725
965
  export interface Metric {
726
966
  id: string;
727
967
  }
@@ -759,7 +999,8 @@ export interface SimulationRunPlanCreateParams {
759
999
  maxSimulationDurationSeconds: number;
760
1000
 
761
1001
  /**
762
- * Metric definitions to include in this run plan
1002
+ * Metric definitions to include in this run plan. Reference each by `id` (UUID) or
1003
+ * `slug`.
763
1004
  */
764
1005
  metrics: Array<SimulationRunPlanCreateParams.Metric>;
765
1006
 
@@ -769,18 +1010,9 @@ export interface SimulationRunPlanCreateParams {
769
1010
  name: string;
770
1011
 
771
1012
  /**
772
- * Personas to include in this run plan
773
- */
774
- personas: Array<SimulationRunPlanCreateParams.Persona>;
775
-
776
- /**
777
- * Scenarios to include in this run plan. The same scenario ID can appear multiple
778
- * times with different variables.
779
- */
780
- scenarios: Array<SimulationRunPlanCreateParams.Scenario>;
781
-
782
- /**
783
- * Whether to automatically trigger a job after creating the run plan
1013
+ * @deprecated Deprecated: use POST /v1/simulation/run, which starts a run and
1014
+ * accepts runtime `variables` as well. This flag runs the plan with only the
1015
+ * values pinned on it.
784
1016
  */
785
1017
  autoRun?: boolean;
786
1018
 
@@ -806,8 +1038,13 @@ export interface SimulationRunPlanCreateParams {
806
1038
  executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
807
1039
 
808
1040
  /**
809
- * Number of iterations to run for each test case. Must be 1 for OUTBOUND
810
- * direction.
1041
+ * Customer flows to include in this run plan. The same flow can appear more than
1042
+ * once with a different persona override or different variables.
1043
+ */
1044
+ flows?: Array<SimulationRunPlanCreateParams.Flow>;
1045
+
1046
+ /**
1047
+ * Number of iterations to run for each test case (1-10000)
811
1048
  */
812
1049
  iterationCount?: number;
813
1050
 
@@ -816,6 +1053,18 @@ export interface SimulationRunPlanCreateParams {
816
1053
  */
817
1054
  maxConcurrentJobs?: number;
818
1055
 
1056
+ /**
1057
+ * Personas to include in this run plan. Required with `scenarios`; ignored with
1058
+ * `flows`, where each variant carries its own persona.
1059
+ */
1060
+ personas?: Array<SimulationRunPlanCreateParams.Persona>;
1061
+
1062
+ /**
1063
+ * @deprecated Deprecated: use `flows` instead. Scenarios to include in this run
1064
+ * plan. The same scenario ID can appear multiple times with different variables.
1065
+ */
1066
+ scenarios?: Array<SimulationRunPlanCreateParams.Scenario>;
1067
+
819
1068
  /**
820
1069
  * Timeout in seconds for silence detection
821
1070
  */
@@ -828,7 +1077,77 @@ export namespace SimulationRunPlanCreateParams {
828
1077
  }
829
1078
 
830
1079
  export interface Metric {
1080
+ /**
1081
+ * Metric definition UUID. Provide either this or `slug`, not both.
1082
+ */
1083
+ id?: string;
1084
+
1085
+ /**
1086
+ * Alias of `slug` accepted for backwards compatibility. Use `slug` for new
1087
+ * integrations.
1088
+ */
1089
+ metricId?: string;
1090
+
1091
+ /**
1092
+ * Stable metric slug (e.g. `customer_satisfaction`). Provide either this or `id`,
1093
+ * not both.
1094
+ */
1095
+ slug?: string;
1096
+ }
1097
+
1098
+ /**
1099
+ * One customer flow attached to a run plan, and which of its ways of running you
1100
+ * cover.
1101
+ *
1102
+ * Attaching the same flow more than once with different overrides is how you fan
1103
+ * it out across personas or values.
1104
+ */
1105
+ export interface Flow {
1106
+ /**
1107
+ * The customer flow to run.
1108
+ */
831
1109
  id: string;
1110
+
1111
+ /**
1112
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
1113
+ * later is covered. An array runs only the ones you name, each able to carry its
1114
+ * own persona override and values.
1115
+ */
1116
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
1117
+
1118
+ /**
1119
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
1120
+ */
1121
+ happyPath?: boolean;
1122
+
1123
+ /**
1124
+ * Runs everything this attachment resolves as that persona instead of its own.
1125
+ */
1126
+ personaOverrideId?: string | null;
1127
+
1128
+ /**
1129
+ * Values for everything it resolves.
1130
+ */
1131
+ variables?: { [key: string]: string };
1132
+ }
1133
+
1134
+ export namespace Flow {
1135
+ export interface UnionMember1 {
1136
+ /**
1137
+ * The edge case to run.
1138
+ */
1139
+ id: string;
1140
+
1141
+ /**
1142
+ * Run this one as that persona instead of its own.
1143
+ */
1144
+ personaOverrideId?: string | null;
1145
+
1146
+ /**
1147
+ * Values for this one only.
1148
+ */
1149
+ variables?: { [key: string]: string };
1150
+ }
832
1151
  }
833
1152
 
834
1153
  export interface Persona {
@@ -882,8 +1201,22 @@ export interface SimulationRunPlanUpdateParams {
882
1201
  executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
883
1202
 
884
1203
  /**
885
- * Number of iterations to run for each test case. Must be 1 for OUTBOUND
886
- * direction.
1204
+ * Replaces the customer flows attached to this run plan. Omit to leave them
1205
+ * unchanged; send an empty array to detach them all.
1206
+ */
1207
+ flows?: Array<SimulationRunPlanUpdateParams.Flow>;
1208
+
1209
+ /**
1210
+ * Whether this plan is hidden from GET /v1/simulation/plan.
1211
+ *
1212
+ * A run started without `saveAsPlan` creates a hidden plan to carry it. Send
1213
+ * `{ "name": "...", "isHidden": false }` to keep that configuration as a reusable
1214
+ * plan, which is what the app does when you save a one-off run.
1215
+ */
1216
+ isHidden?: boolean;
1217
+
1218
+ /**
1219
+ * Number of iterations to run for each test case (1-10000)
887
1220
  */
888
1221
  iterationCount?: number;
889
1222
 
@@ -898,7 +1231,8 @@ export interface SimulationRunPlanUpdateParams {
898
1231
  maxSimulationDurationSeconds?: number;
899
1232
 
900
1233
  /**
901
- * Metric definitions to include in this run plan
1234
+ * Metric definitions to include in this run plan. Reference each by `id` (UUID) or
1235
+ * `slug`.
902
1236
  */
903
1237
  metrics?: Array<SimulationRunPlanUpdateParams.Metric>;
904
1238
 
@@ -913,8 +1247,9 @@ export interface SimulationRunPlanUpdateParams {
913
1247
  personas?: Array<SimulationRunPlanUpdateParams.Persona>;
914
1248
 
915
1249
  /**
916
- * Scenarios to include in this run plan. The same scenario ID can appear multiple
917
- * times with different variables.
1250
+ * @deprecated Deprecated: use `flows` instead. Replaces the scenarios on this run
1251
+ * plan. Omit to leave them unchanged; send an empty array to detach them all,
1252
+ * which is how a scenario-based plan is moved over to flows.
918
1253
  */
919
1254
  scenarios?: Array<SimulationRunPlanUpdateParams.Scenario>;
920
1255
 
@@ -929,8 +1264,78 @@ export namespace SimulationRunPlanUpdateParams {
929
1264
  id: string;
930
1265
  }
931
1266
 
932
- export interface Metric {
1267
+ /**
1268
+ * One customer flow attached to a run plan, and which of its ways of running you
1269
+ * cover.
1270
+ *
1271
+ * Attaching the same flow more than once with different overrides is how you fan
1272
+ * it out across personas or values.
1273
+ */
1274
+ export interface Flow {
1275
+ /**
1276
+ * The customer flow to run.
1277
+ */
933
1278
  id: string;
1279
+
1280
+ /**
1281
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
1282
+ * later is covered. An array runs only the ones you name, each able to carry its
1283
+ * own persona override and values.
1284
+ */
1285
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
1286
+
1287
+ /**
1288
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
1289
+ */
1290
+ happyPath?: boolean;
1291
+
1292
+ /**
1293
+ * Runs everything this attachment resolves as that persona instead of its own.
1294
+ */
1295
+ personaOverrideId?: string | null;
1296
+
1297
+ /**
1298
+ * Values for everything it resolves.
1299
+ */
1300
+ variables?: { [key: string]: string };
1301
+ }
1302
+
1303
+ export namespace Flow {
1304
+ export interface UnionMember1 {
1305
+ /**
1306
+ * The edge case to run.
1307
+ */
1308
+ id: string;
1309
+
1310
+ /**
1311
+ * Run this one as that persona instead of its own.
1312
+ */
1313
+ personaOverrideId?: string | null;
1314
+
1315
+ /**
1316
+ * Values for this one only.
1317
+ */
1318
+ variables?: { [key: string]: string };
1319
+ }
1320
+ }
1321
+
1322
+ export interface Metric {
1323
+ /**
1324
+ * Metric definition UUID. Provide either this or `slug`, not both.
1325
+ */
1326
+ id?: string;
1327
+
1328
+ /**
1329
+ * Alias of `slug` accepted for backwards compatibility. Use `slug` for new
1330
+ * integrations.
1331
+ */
1332
+ metricId?: string;
1333
+
1334
+ /**
1335
+ * Stable metric slug (e.g. `customer_satisfaction`). Provide either this or `id`,
1336
+ * not both.
1337
+ */
1338
+ slug?: string;
934
1339
  }
935
1340
 
936
1341
  export interface Persona {