@roarkanalytics/sdk 2.31.0 → 2.33.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 (245) hide show
  1. package/CHANGELOG.md +61 -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
@@ -6,8 +6,11 @@ const resource_1 = require("../core/resource.js");
6
6
  const path_1 = require("../internal/utils/path.js");
7
7
  class SimulationRunPlan extends resource_1.APIResource {
8
8
  /**
9
- * Creates a new simulation run plan. Optionally triggers a job immediately if
10
- * autoRun is true.
9
+ * Creates a new simulation run plan.
10
+ *
11
+ * To run a simulation, use POST /v1/simulation/run instead: it starts a run from a
12
+ * plan or from an inline configuration, and takes runtime variables. Create a plan
13
+ * here when you want a reusable, named one to run later.
11
14
  *
12
15
  * @example
13
16
  * ```ts
@@ -18,16 +21,8 @@ class SimulationRunPlan extends resource_1.APIResource {
18
21
  * ],
19
22
  * direction: 'INBOUND',
20
23
  * maxSimulationDurationSeconds: 300,
21
- * metrics: [
22
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
23
- * ],
24
+ * metrics: [{}],
24
25
  * name: 'My Run Plan',
25
- * personas: [
26
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
27
- * ],
28
- * scenarios: [
29
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
30
- * ],
31
26
  * });
32
27
  * ```
33
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-run-plan.js","sourceRoot":"","sources":["../src/resources/simulation-run-plan.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAG/C,oDAA8C;AAE9C,MAAa,iBAAkB,SAAQ,sBAAW;IAChD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CACJ,IAAmC,EACnC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CACJ,MAAc,EACd,OAAyD,EAAE,EAC3D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,QAAwD,EAAE,EAC1D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAc,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAc,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF;AAlGD,8CAkGC"}
1
+ {"version":3,"file":"simulation-run-plan.js","sourceRoot":"","sources":["../src/resources/simulation-run-plan.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAG/C,oDAA8C;AAE9C,MAAa,iBAAkB,SAAQ,sBAAW;IAChD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CACJ,IAAmC,EACnC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CACJ,MAAc,EACd,OAAyD,EAAE,EAC3D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,QAAwD,EAAE,EAC1D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAc,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAc,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF;AA7FD,8CA6FC"}
@@ -3,8 +3,11 @@ import { APIResource } from "../core/resource.mjs";
3
3
  import { path } from "../internal/utils/path.mjs";
4
4
  export class SimulationRunPlan extends APIResource {
5
5
  /**
6
- * Creates a new simulation run plan. Optionally triggers a job immediately if
7
- * autoRun is true.
6
+ * Creates a new simulation run plan.
7
+ *
8
+ * To run a simulation, use POST /v1/simulation/run instead: it starts a run from a
9
+ * plan or from an inline configuration, and takes runtime variables. Create a plan
10
+ * here when you want a reusable, named one to run later.
8
11
  *
9
12
  * @example
10
13
  * ```ts
@@ -15,16 +18,8 @@ export class SimulationRunPlan extends APIResource {
15
18
  * ],
16
19
  * direction: 'INBOUND',
17
20
  * maxSimulationDurationSeconds: 300,
18
- * metrics: [
19
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
20
- * ],
21
+ * metrics: [{}],
21
22
  * name: 'My Run Plan',
22
- * personas: [
23
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
24
- * ],
25
- * scenarios: [
26
- * { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },
27
- * ],
28
23
  * });
29
24
  * ```
30
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"simulation-run-plan.mjs","sourceRoot":"","sources":["../src/resources/simulation-run-plan.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAGf,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CACJ,IAAmC,EACnC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CACJ,MAAc,EACd,OAAyD,EAAE,EAC3D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,QAAwD,EAAE,EAC1D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAc,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAc,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"simulation-run-plan.mjs","sourceRoot":"","sources":["../src/resources/simulation-run-plan.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAG/C,OAAO,EAAE,IAAI,EAAE,mCAA+B;AAE9C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CACJ,IAAmC,EACnC,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CACJ,MAAc,EACd,OAAyD,EAAE,EAC3D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,QAAwD,EAAE,EAC1D,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAc,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAc,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,uBAAuB,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,379 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import { APIPromise } from "../core/api-promise.mjs";
3
+ import { RequestOptions } from "../internal/request-options.mjs";
4
+ export declare class Simulation extends APIResource {
5
+ /**
6
+ * Starts a simulation and returns the run.
7
+ *
8
+ * Send `plan` to describe a simulation and run it once. Add `saveAsPlan` to keep
9
+ * that configuration as a reusable run plan. Send `planId` instead to run a plan
10
+ * you already have.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const response = await client.simulation.run({
15
+ * plan: {
16
+ * agentEndpoints: [
17
+ * { id: '7c9e6679-7425-40de-944b-e07fc1f90ae7' },
18
+ * ],
19
+ * direction: 'OUTBOUND',
20
+ * maxSimulationDurationSeconds: 300,
21
+ * metrics: [{}],
22
+ * },
23
+ * });
24
+ * ```
25
+ */
26
+ run(body: SimulationRunParams, options?: RequestOptions): APIPromise<SimulationRunResponse>;
27
+ }
28
+ export interface SimulationRunResponse {
29
+ /**
30
+ * A started simulation run.
31
+ */
32
+ data: SimulationRunResponse.Data;
33
+ }
34
+ export declare namespace SimulationRunResponse {
35
+ /**
36
+ * A started simulation run.
37
+ */
38
+ interface Data {
39
+ /**
40
+ * When the run was created, ISO 8601.
41
+ */
42
+ createdAt: string;
43
+ /**
44
+ * Whether that plan is listed by GET /v1/simulation/plan. False for an unsaved
45
+ * run, whose plan is hidden.
46
+ */
47
+ savedAsPlan: boolean;
48
+ /**
49
+ * How many simulated calls this run places.
50
+ */
51
+ simulationJobCount: number;
52
+ /**
53
+ * The run plan behind this run, present whether or not it was saved. Pass it back
54
+ * as `planId` to run the same configuration again.
55
+ */
56
+ simulationRunPlanId: string;
57
+ /**
58
+ * The run. Poll it with GET /v1/simulation/plan/job/{jobId}.
59
+ */
60
+ simulationRunPlanJobId: string;
61
+ /**
62
+ * Initial status. PENDING normally, or QUEUED when the plan runs sequentially and
63
+ * another job of its is still active.
64
+ */
65
+ status: 'PENDING' | 'QUEUED' | 'CREATING_SNAPSHOTS' | 'CREATING_SIMULATIONS' | 'PREPARING_CAPACITY' | 'RUNNING_SIMULATIONS' | 'COMPLETED' | 'FAILED' | 'TIMED_OUT' | 'CANCELLED' | 'CANCELLING' | 'ENDING_SIMULATIONS';
66
+ }
67
+ }
68
+ export type SimulationRunParams = SimulationRunParams.RunSimulationFromConfig | SimulationRunParams.RunSimulationFromPlanID;
69
+ export declare namespace SimulationRunParams {
70
+ interface RunSimulationFromConfig {
71
+ /**
72
+ * The simulation to run: what to call, who calls it, and what to measure.
73
+ */
74
+ plan: RunSimulationFromConfig.Plan;
75
+ /**
76
+ * Keeps this configuration as a run plan, listed by GET /v1/simulation/plan and
77
+ * re-runnable with `planId`. Requires `plan.name`, since a plan you meant to keep
78
+ * should not be filed under a generated one.
79
+ *
80
+ * Omitted or false gives a one-off. The run still needs a plan to execute, so one
81
+ * is created either way, but it is hidden: it carries this run and nothing else.
82
+ */
83
+ saveAsPlan?: boolean;
84
+ /**
85
+ * Values for the {{variables}} the run resolves, overriding whatever the plan has
86
+ * pinned.
87
+ *
88
+ * An object applies them to the whole run:
89
+ *
90
+ * { "orderNumber": "12345", "tier": "gold" }
91
+ *
92
+ * An array applies them per flow, or to just its happy path or one of its edge
93
+ * cases, when a single set will not do. Each entry carries what it applies to:
94
+ *
95
+ * [ { "flowId": "550e8400-...", "variables": { "orderNumber": "12345" } }, {
96
+ * "flowId": "550e8400-...", "happyPath": true, "variables": { "orderNumber":
97
+ * "55555" } }, { "flowId": "550e8400-...", "edgeCaseId": "7a3d2e1f-...",
98
+ * "variables": { "orderNumber": "67890" } } ]
99
+ *
100
+ * An entry that narrows to neither covers everything that flow resolves. A flow
101
+ * this plan does not attach, or an edge case that does not belong to the flow, is
102
+ * rejected rather than ignored.
103
+ *
104
+ * A plan built on scenarios rather than customer flows targets them the same way,
105
+ * with `scenarioId` in place of `flowId`. That form is deprecated alongside
106
+ * scenarios themselves, and still accepted so runs against those plans keep
107
+ * working.
108
+ */
109
+ variables?: {
110
+ [key: string]: string;
111
+ } | Array<RunSimulationFromConfig.UnionMember1> | Array<RunSimulationFromConfig.UnionMember2>;
112
+ }
113
+ namespace RunSimulationFromConfig {
114
+ /**
115
+ * The simulation to run: what to call, who calls it, and what to measure.
116
+ */
117
+ interface Plan {
118
+ /**
119
+ * Agent endpoints to include in this run plan
120
+ */
121
+ agentEndpoints: Array<Plan.AgentEndpoint>;
122
+ /**
123
+ * Direction of the simulation (INBOUND or OUTBOUND)
124
+ */
125
+ direction: 'INBOUND' | 'OUTBOUND';
126
+ /**
127
+ * Maximum duration in seconds for each simulation
128
+ */
129
+ maxSimulationDurationSeconds: number;
130
+ /**
131
+ * Metric definitions to include in this run plan. Reference each by `id` (UUID) or
132
+ * `slug`.
133
+ */
134
+ metrics: Array<Plan.Metric>;
135
+ /**
136
+ * Description of the run plan
137
+ */
138
+ description?: string;
139
+ /**
140
+ * Phrases that trigger end of call. Empty array disables the feature.
141
+ */
142
+ endCallPhrases?: Array<string>;
143
+ /**
144
+ * Semantic conditions that trigger end of call. The LLM evaluates the conversation
145
+ * against these conditions. Empty array disables the feature.
146
+ */
147
+ endCallReasons?: Array<string>;
148
+ /**
149
+ * Execution mode (PARALLEL or SEQUENTIAL)
150
+ */
151
+ executionMode?: 'PARALLEL' | 'SEQUENTIAL_SAME_RUN_PLAN' | 'SEQUENTIAL_PROJECT';
152
+ /**
153
+ * Customer flows to include in this run plan. The same flow can appear more than
154
+ * once with a different persona override or different variables.
155
+ */
156
+ flows?: Array<Plan.Flow>;
157
+ /**
158
+ * Number of iterations to run for each test case (1-10000)
159
+ */
160
+ iterationCount?: number;
161
+ /**
162
+ * Maximum number of concurrent simulation jobs
163
+ */
164
+ maxConcurrentJobs?: number;
165
+ /**
166
+ * What to call this. Generated from the date when omitted, and required with
167
+ * `saveAsPlan`.
168
+ */
169
+ name?: string;
170
+ /**
171
+ * Personas to include in this run plan. Required with `scenarios`; ignored with
172
+ * `flows`, where each variant carries its own persona.
173
+ */
174
+ personas?: Array<Plan.Persona>;
175
+ /**
176
+ * @deprecated Deprecated: use `flows` instead. Scenarios to include in this run
177
+ * plan. The same scenario ID can appear multiple times with different variables.
178
+ */
179
+ scenarios?: Array<Plan.Scenario>;
180
+ /**
181
+ * Timeout in seconds for silence detection
182
+ */
183
+ silenceTimeoutSeconds?: number;
184
+ }
185
+ namespace Plan {
186
+ interface AgentEndpoint {
187
+ id: string;
188
+ }
189
+ interface Metric {
190
+ /**
191
+ * Metric definition UUID. Provide either this or `slug`, not both.
192
+ */
193
+ id?: string;
194
+ /**
195
+ * Alias of `slug` accepted for backwards compatibility. Use `slug` for new
196
+ * integrations.
197
+ */
198
+ metricId?: string;
199
+ /**
200
+ * Stable metric slug (e.g. `customer_satisfaction`). Provide either this or `id`,
201
+ * not both.
202
+ */
203
+ slug?: string;
204
+ }
205
+ /**
206
+ * One customer flow attached to a run plan, and which of its ways of running you
207
+ * cover.
208
+ *
209
+ * Attaching the same flow more than once with different overrides is how you fan
210
+ * it out across personas or values.
211
+ */
212
+ interface Flow {
213
+ /**
214
+ * The customer flow to run.
215
+ */
216
+ id: string;
217
+ /**
218
+ * `"ALL"` runs every edge case the flow has when the run starts, so one added
219
+ * later is covered. An array runs only the ones you name, each able to carry its
220
+ * own persona override and values.
221
+ */
222
+ edgeCases?: 'ALL' | Array<Flow.UnionMember1>;
223
+ /**
224
+ * Run the flow's happy path. Resolved when the run starts, so it follows the flow.
225
+ */
226
+ happyPath?: boolean;
227
+ /**
228
+ * Runs everything this attachment resolves as that persona instead of its own.
229
+ */
230
+ personaOverrideId?: string | null;
231
+ /**
232
+ * Values for everything it resolves.
233
+ */
234
+ variables?: {
235
+ [key: string]: string;
236
+ };
237
+ }
238
+ namespace Flow {
239
+ interface UnionMember1 {
240
+ /**
241
+ * The edge case to run.
242
+ */
243
+ id: string;
244
+ /**
245
+ * Run this one as that persona instead of its own.
246
+ */
247
+ personaOverrideId?: string | null;
248
+ /**
249
+ * Values for this one only.
250
+ */
251
+ variables?: {
252
+ [key: string]: string;
253
+ };
254
+ }
255
+ }
256
+ interface Persona {
257
+ id: string;
258
+ }
259
+ interface Scenario {
260
+ /**
261
+ * Scenario ID
262
+ */
263
+ id: string;
264
+ /**
265
+ * Template variables for this scenario instance. The same scenario can appear
266
+ * multiple times with different variables.
267
+ */
268
+ variables?: {
269
+ [key: string]: string;
270
+ };
271
+ }
272
+ }
273
+ interface UnionMember1 {
274
+ /**
275
+ * A customer flow this plan runs.
276
+ */
277
+ flowId: string;
278
+ /**
279
+ * The values to apply.
280
+ */
281
+ variables: {
282
+ [key: string]: string;
283
+ };
284
+ /**
285
+ * Narrow to one edge case of that flow.
286
+ */
287
+ edgeCaseId?: string;
288
+ /**
289
+ * Narrow to the flow's happy path.
290
+ */
291
+ happyPath?: true;
292
+ }
293
+ interface UnionMember2 {
294
+ /**
295
+ * ID of the scenario to apply variables to
296
+ */
297
+ scenarioId: string;
298
+ /**
299
+ * Key-value pairs for this scenario
300
+ */
301
+ variables: {
302
+ [key: string]: string;
303
+ };
304
+ }
305
+ }
306
+ interface RunSimulationFromPlanID {
307
+ /**
308
+ * The run plan to run, saved or hidden. Rename or unhide it with PUT
309
+ * /v1/simulation/plan/{planId}.
310
+ */
311
+ planId: string;
312
+ /**
313
+ * Values for the {{variables}} the run resolves, overriding whatever the plan has
314
+ * pinned.
315
+ *
316
+ * An object applies them to the whole run:
317
+ *
318
+ * { "orderNumber": "12345", "tier": "gold" }
319
+ *
320
+ * An array applies them per flow, or to just its happy path or one of its edge
321
+ * cases, when a single set will not do. Each entry carries what it applies to:
322
+ *
323
+ * [ { "flowId": "550e8400-...", "variables": { "orderNumber": "12345" } }, {
324
+ * "flowId": "550e8400-...", "happyPath": true, "variables": { "orderNumber":
325
+ * "55555" } }, { "flowId": "550e8400-...", "edgeCaseId": "7a3d2e1f-...",
326
+ * "variables": { "orderNumber": "67890" } } ]
327
+ *
328
+ * An entry that narrows to neither covers everything that flow resolves. A flow
329
+ * this plan does not attach, or an edge case that does not belong to the flow, is
330
+ * rejected rather than ignored.
331
+ *
332
+ * A plan built on scenarios rather than customer flows targets them the same way,
333
+ * with `scenarioId` in place of `flowId`. That form is deprecated alongside
334
+ * scenarios themselves, and still accepted so runs against those plans keep
335
+ * working.
336
+ */
337
+ variables?: {
338
+ [key: string]: string;
339
+ } | Array<RunSimulationFromPlanID.UnionMember1> | Array<RunSimulationFromPlanID.UnionMember2>;
340
+ }
341
+ namespace RunSimulationFromPlanID {
342
+ interface UnionMember1 {
343
+ /**
344
+ * A customer flow this plan runs.
345
+ */
346
+ flowId: string;
347
+ /**
348
+ * The values to apply.
349
+ */
350
+ variables: {
351
+ [key: string]: string;
352
+ };
353
+ /**
354
+ * Narrow to one edge case of that flow.
355
+ */
356
+ edgeCaseId?: string;
357
+ /**
358
+ * Narrow to the flow's happy path.
359
+ */
360
+ happyPath?: true;
361
+ }
362
+ interface UnionMember2 {
363
+ /**
364
+ * ID of the scenario to apply variables to
365
+ */
366
+ scenarioId: string;
367
+ /**
368
+ * Key-value pairs for this scenario
369
+ */
370
+ variables: {
371
+ [key: string]: string;
372
+ };
373
+ }
374
+ }
375
+ }
376
+ export declare namespace Simulation {
377
+ export { type SimulationRunResponse as SimulationRunResponse, type SimulationRunParams as SimulationRunParams, };
378
+ }
379
+ //# sourceMappingURL=simulation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulation.d.mts","sourceRoot":"","sources":["../src/resources/simulation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAC/C,OAAO,EAAE,UAAU,EAAE,gCAA4B;AACjD,OAAO,EAAE,cAAc,EAAE,wCAAoC;AAE7D,qBAAa,UAAW,SAAQ,WAAW;IACzC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,qBAAqB,CAAC;CAG5F;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;CAClC;AAED,yBAAiB,qBAAqB,CAAC;IACrC;;OAEG;IACH,UAAiB,IAAI;QACnB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAC;QAElB;;;WAGG;QACH,WAAW,EAAE,OAAO,CAAC;QAErB;;WAEG;QACH,kBAAkB,EAAE,MAAM,CAAC;QAE3B;;;WAGG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAE5B;;WAEG;QACH,sBAAsB,EAAE,MAAM,CAAC;QAE/B;;;WAGG;QACH,MAAM,EACF,SAAS,GACT,QAAQ,GACR,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,WAAW,GACX,YAAY,GACZ,oBAAoB,CAAC;KAC1B;CACF;AAED,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,CAAC,uBAAuB,GAC3C,mBAAmB,CAAC,uBAAuB,CAAC;AAEhD,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC;IAC3C,UAAiB,uBAAuB;QACtC;;WAEG;QACH,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC;QAEnC;;;;;;;WAOG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;QAErB;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,SAAS,CAAC,EACN;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACzB,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,GAC3C,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;KACjD;IAED,UAAiB,uBAAuB,CAAC;QACvC;;WAEG;QACH,UAAiB,IAAI;YACnB;;eAEG;YACH,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE1C;;eAEG;YACH,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;YAElC;;eAEG;YACH,4BAA4B,EAAE,MAAM,CAAC;YAErC;;;eAGG;YACH,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE5B;;eAEG;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;YAErB;;eAEG;YACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B;;;eAGG;YACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B;;eAEG;YACH,aAAa,CAAC,EAAE,UAAU,GAAG,0BAA0B,GAAG,oBAAoB,CAAC;YAE/E;;;eAGG;YACH,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzB;;eAEG;YACH,cAAc,CAAC,EAAE,MAAM,CAAC;YAExB;;eAEG;YACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAE3B;;;eAGG;YACH,IAAI,CAAC,EAAE,MAAM,CAAC;YAEd;;;eAGG;YACH,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/B;;;eAGG;YACH,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjC;;eAEG;YACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;SAChC;QAED,UAAiB,IAAI,CAAC;YACpB,UAAiB,aAAa;gBAC5B,EAAE,EAAE,MAAM,CAAC;aACZ;YAED,UAAiB,MAAM;gBACrB;;mBAEG;gBACH,EAAE,CAAC,EAAE,MAAM,CAAC;gBAEZ;;;mBAGG;gBACH,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAElB;;;mBAGG;gBACH,IAAI,CAAC,EAAE,MAAM,CAAC;aACf;YAED;;;;;;eAMG;YACH,UAAiB,IAAI;gBACnB;;mBAEG;gBACH,EAAE,EAAE,MAAM,CAAC;gBAEX;;;;mBAIG;gBACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE7C;;mBAEG;gBACH,SAAS,CAAC,EAAE,OAAO,CAAC;gBAEpB;;mBAEG;gBACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAElC;;mBAEG;gBACH,SAAS,CAAC,EAAE;oBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;iBAAE,CAAC;aACvC;YAED,UAAiB,IAAI,CAAC;gBACpB,UAAiB,YAAY;oBAC3B;;uBAEG;oBACH,EAAE,EAAE,MAAM,CAAC;oBAEX;;uBAEG;oBACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;oBAElC;;uBAEG;oBACH,SAAS,CAAC,EAAE;wBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;qBAAE,CAAC;iBACvC;aACF;YAED,UAAiB,OAAO;gBACtB,EAAE,EAAE,MAAM,CAAC;aACZ;YAED,UAAiB,QAAQ;gBACvB;;mBAEG;gBACH,EAAE,EAAE,MAAM,CAAC;gBAEX;;;mBAGG;gBACH,SAAS,CAAC,EAAE;oBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;iBAAE,CAAC;aACvC;SACF;QAED,UAAiB,YAAY;YAC3B;;eAEG;YACH,MAAM,EAAE,MAAM,CAAC;YAEf;;eAEG;YACH,SAAS,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;YAErC;;eAEG;YACH,UAAU,CAAC,EAAE,MAAM,CAAC;YAEpB;;eAEG;YACH,SAAS,CAAC,EAAE,IAAI,CAAC;SAClB;QAED,UAAiB,YAAY;YAC3B;;eAEG;YACH,UAAU,EAAE,MAAM,CAAC;YAEnB;;eAEG;YACH,SAAS,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;SACtC;KACF;IAED,UAAiB,uBAAuB;QACtC;;;WAGG;QACH,MAAM,EAAE,MAAM,CAAC;QAEf;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,SAAS,CAAC,EACN;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GACzB,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,GAC3C,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;KACjD;IAED,UAAiB,uBAAuB,CAAC;QACvC,UAAiB,YAAY;YAC3B;;eAEG;YACH,MAAM,EAAE,MAAM,CAAC;YAEf;;eAEG;YACH,SAAS,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;YAErC;;eAEG;YACH,UAAU,CAAC,EAAE,MAAM,CAAC;YAEpB;;eAEG;YACH,SAAS,CAAC,EAAE,IAAI,CAAC;SAClB;QAED,UAAiB,YAAY;YAC3B;;eAEG;YACH,UAAU,EAAE,MAAM,CAAC;YAEnB;;eAEG;YACH,SAAS,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC;SACtC;KACF;CACF;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,OAAO,EACL,KAAK,qBAAqB,IAAI,qBAAqB,EACnD,KAAK,mBAAmB,IAAI,mBAAmB,GAChD,CAAC;CACH"}