@scenario-labs/sdk 2.2.1 → 2.4.0-alpha.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 (163) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts.map +1 -1
  4. package/client.js +9 -1
  5. package/client.js.map +1 -1
  6. package/client.mjs +9 -1
  7. package/client.mjs.map +1 -1
  8. package/index.d.mts +1 -0
  9. package/index.d.mts.map +1 -1
  10. package/index.d.ts +1 -0
  11. package/index.d.ts.map +1 -1
  12. package/index.js +3 -1
  13. package/index.js.map +1 -1
  14. package/index.mjs +1 -0
  15. package/index.mjs.map +1 -1
  16. package/lib/auth-refresh.d.mts +52 -0
  17. package/lib/auth-refresh.d.mts.map +1 -0
  18. package/lib/auth-refresh.d.ts +52 -0
  19. package/lib/auth-refresh.d.ts.map +1 -0
  20. package/lib/auth-refresh.js +81 -0
  21. package/lib/auth-refresh.js.map +1 -0
  22. package/lib/auth-refresh.mjs +78 -0
  23. package/lib/auth-refresh.mjs.map +1 -0
  24. package/lib/generate.js +7 -7
  25. package/lib/generate.js.map +1 -1
  26. package/lib/generate.mjs +7 -7
  27. package/lib/generate.mjs.map +1 -1
  28. package/lib/job.d.mts +15 -3
  29. package/lib/job.d.mts.map +1 -1
  30. package/lib/job.d.ts +15 -3
  31. package/lib/job.d.ts.map +1 -1
  32. package/lib/job.js +22 -8
  33. package/lib/job.js.map +1 -1
  34. package/lib/job.mjs +22 -8
  35. package/lib/job.mjs.map +1 -1
  36. package/lib/models.d.mts +8 -2
  37. package/lib/models.d.mts.map +1 -1
  38. package/lib/models.d.ts +8 -2
  39. package/lib/models.d.ts.map +1 -1
  40. package/lib/models.js +13 -5
  41. package/lib/models.js.map +1 -1
  42. package/lib/models.mjs +13 -5
  43. package/lib/models.mjs.map +1 -1
  44. package/lib/scenario.d.mts +28 -13
  45. package/lib/scenario.d.mts.map +1 -1
  46. package/lib/scenario.d.ts +28 -13
  47. package/lib/scenario.d.ts.map +1 -1
  48. package/lib/scenario.js +31 -12
  49. package/lib/scenario.js.map +1 -1
  50. package/lib/scenario.mjs +31 -12
  51. package/lib/scenario.mjs.map +1 -1
  52. package/lib/scope.d.mts +41 -0
  53. package/lib/scope.d.mts.map +1 -0
  54. package/lib/scope.d.ts +41 -0
  55. package/lib/scope.d.ts.map +1 -0
  56. package/lib/scope.js +55 -0
  57. package/lib/scope.js.map +1 -0
  58. package/lib/scope.mjs +49 -0
  59. package/lib/scope.mjs.map +1 -0
  60. package/lib/upload.d.mts +15 -3
  61. package/lib/upload.d.mts.map +1 -1
  62. package/lib/upload.d.ts +15 -3
  63. package/lib/upload.d.ts.map +1 -1
  64. package/lib/upload.js +29 -12
  65. package/lib/upload.js.map +1 -1
  66. package/lib/upload.mjs +29 -12
  67. package/lib/upload.mjs.map +1 -1
  68. package/lib/workflow.d.mts +8 -2
  69. package/lib/workflow.d.mts.map +1 -1
  70. package/lib/workflow.d.ts +8 -2
  71. package/lib/workflow.d.ts.map +1 -1
  72. package/lib/workflow.js +14 -6
  73. package/lib/workflow.js.map +1 -1
  74. package/lib/workflow.mjs +14 -6
  75. package/lib/workflow.mjs.map +1 -1
  76. package/lib/workflow_converter.d.mts +8 -2
  77. package/lib/workflow_converter.d.mts.map +1 -1
  78. package/lib/workflow_converter.d.ts +8 -2
  79. package/lib/workflow_converter.d.ts.map +1 -1
  80. package/lib/workflow_converter.js +83 -19
  81. package/lib/workflow_converter.js.map +1 -1
  82. package/lib/workflow_converter.mjs +83 -19
  83. package/lib/workflow_converter.mjs.map +1 -1
  84. package/lib/workflow_import_validator.d.mts +1 -1
  85. package/lib/workflow_import_validator.d.mts.map +1 -1
  86. package/lib/workflow_import_validator.d.ts +1 -1
  87. package/lib/workflow_import_validator.d.ts.map +1 -1
  88. package/lib/workflow_import_validator.js +1 -0
  89. package/lib/workflow_import_validator.js.map +1 -1
  90. package/lib/workflow_import_validator.mjs +1 -0
  91. package/lib/workflow_import_validator.mjs.map +1 -1
  92. package/package.json +9 -3
  93. package/resources/assets/assets.d.mts +1 -1
  94. package/resources/assets/assets.d.mts.map +1 -1
  95. package/resources/assets/assets.d.ts +1 -1
  96. package/resources/assets/assets.d.ts.map +1 -1
  97. package/resources/generate.d.mts +594 -10
  98. package/resources/generate.d.mts.map +1 -1
  99. package/resources/generate.d.ts +594 -10
  100. package/resources/generate.d.ts.map +1 -1
  101. package/resources/generate.js +2 -2
  102. package/resources/generate.js.map +1 -1
  103. package/resources/generate.mjs +2 -2
  104. package/resources/generate.mjs.map +1 -1
  105. package/resources/jobs.d.mts +3 -3
  106. package/resources/jobs.d.mts.map +1 -1
  107. package/resources/jobs.d.ts +3 -3
  108. package/resources/jobs.d.ts.map +1 -1
  109. package/resources/models/examples.d.mts +2 -2
  110. package/resources/models/examples.d.mts.map +1 -1
  111. package/resources/models/examples.d.ts +2 -2
  112. package/resources/models/examples.d.ts.map +1 -1
  113. package/resources/models/models.d.mts +126 -7
  114. package/resources/models/models.d.mts.map +1 -1
  115. package/resources/models/models.d.ts +126 -7
  116. package/resources/models/models.d.ts.map +1 -1
  117. package/resources/models/models.js.map +1 -1
  118. package/resources/models/models.mjs.map +1 -1
  119. package/resources/models/train.d.mts +106 -3
  120. package/resources/models/train.d.mts.map +1 -1
  121. package/resources/models/train.d.ts +106 -3
  122. package/resources/models/train.d.ts.map +1 -1
  123. package/resources/usages.d.mts +23 -3
  124. package/resources/usages.d.mts.map +1 -1
  125. package/resources/usages.d.ts +23 -3
  126. package/resources/usages.d.ts.map +1 -1
  127. package/resources/workflows.d.mts +22 -5
  128. package/resources/workflows.d.mts.map +1 -1
  129. package/resources/workflows.d.ts +22 -5
  130. package/resources/workflows.d.ts.map +1 -1
  131. package/resources/workflows.js +4 -1
  132. package/resources/workflows.js.map +1 -1
  133. package/resources/workflows.mjs +4 -1
  134. package/resources/workflows.mjs.map +1 -1
  135. package/src/client.ts +9 -1
  136. package/src/index.ts +1 -0
  137. package/src/lib/auth-refresh.ts +98 -0
  138. package/src/lib/generate.ts +7 -7
  139. package/src/lib/job.ts +29 -7
  140. package/src/lib/models.ts +14 -4
  141. package/src/lib/scenario.ts +51 -13
  142. package/src/lib/scope.ts +68 -0
  143. package/src/lib/upload.ts +36 -11
  144. package/src/lib/workflow.ts +15 -5
  145. package/src/lib/workflow_converter.ts +128 -19
  146. package/src/lib/workflow_import_validator.ts +3 -1
  147. package/src/resources/assets/assets.ts +1 -1
  148. package/src/resources/generate.ts +713 -12
  149. package/src/resources/jobs.ts +3 -3
  150. package/src/resources/models/examples.ts +2 -2
  151. package/src/resources/models/models.ts +189 -7
  152. package/src/resources/models/train.ts +138 -3
  153. package/src/resources/usages.ts +27 -1
  154. package/src/resources/workflows.ts +24 -5
  155. package/src/version.ts +1 -1
  156. package/version.d.mts +1 -1
  157. package/version.d.mts.map +1 -1
  158. package/version.d.ts +1 -1
  159. package/version.d.ts.map +1 -1
  160. package/version.js +1 -1
  161. package/version.js.map +1 -1
  162. package/version.mjs +1 -1
  163. package/version.mjs.map +1 -1
@@ -215,7 +215,7 @@ export namespace JobRetrieveResponse {
215
215
  /**
216
216
  * The status of the node. Only available for WorkflowJob nodes.
217
217
  */
218
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
218
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
219
219
 
220
220
  /**
221
221
  * The type of the job for the node.
@@ -1176,7 +1176,7 @@ export namespace JobListResponse {
1176
1176
  /**
1177
1177
  * The status of the node. Only available for WorkflowJob nodes.
1178
1178
  */
1179
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
1179
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
1180
1180
 
1181
1181
  /**
1182
1182
  * The type of the job for the node.
@@ -2141,7 +2141,7 @@ export namespace JobTriggerActionResponse {
2141
2141
  /**
2142
2142
  * The status of the node. Only available for WorkflowJob nodes.
2143
2143
  */
2144
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
2144
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
2145
2145
 
2146
2146
  /**
2147
2147
  * The type of the job for the node.
@@ -1745,7 +1745,7 @@ export namespace ExampleUpdateResponse {
1745
1745
  /**
1746
1746
  * The status of the node. Only available for WorkflowJob nodes.
1747
1747
  */
1748
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
1748
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
1749
1749
 
1750
1750
  /**
1751
1751
  * The type of the job for the node.
@@ -4250,7 +4250,7 @@ export namespace ExampleListResponse {
4250
4250
  /**
4251
4251
  * The status of the node. Only available for WorkflowJob nodes.
4252
4252
  */
4253
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
4253
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
4254
4254
 
4255
4255
  /**
4256
4256
  * The type of the job for the node.
@@ -1286,13 +1286,25 @@ export namespace ModelCreateResponse {
1286
1286
  /**
1287
1287
  * The stage of the request
1288
1288
  */
1289
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
1289
+ stage:
1290
+ | 'pending'
1291
+ | 'pending-captcha'
1292
+ | 'queued-for-train'
1293
+ | 'ready-for-captcha'
1294
+ | 'running-train'
1295
+ | 'starting-train';
1290
1296
 
1291
1297
  /**
1292
1298
  * Timestamp in milliseconds of the last time the training progress was updated
1293
1299
  */
1294
1300
  updatedAt: number;
1295
1301
 
1302
+ /**
1303
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
1304
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
1305
+ */
1306
+ captchaImageUrl?: string;
1307
+
1296
1308
  /**
1297
1309
  * Position of the job in the queue (ie. the number of job in the queue before this
1298
1310
  * one)
@@ -1309,6 +1321,20 @@ export namespace ModelCreateResponse {
1309
1321
  */
1310
1322
  remainingTimeMs?: number;
1311
1323
 
1324
+ /**
1325
+ * Last recoverable failure message during PVC. Present when the model has bounced
1326
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
1327
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
1328
+ * user understands why they're back here.
1329
+ */
1330
+ retryableError?: string;
1331
+
1332
+ /**
1333
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
1334
+ * model is marked Failed when this reaches the platform's max retries.
1335
+ */
1336
+ retryCount?: number;
1337
+
1312
1338
  /**
1313
1339
  * The timestamp in millisecond marking the start of the process
1314
1340
  */
@@ -2592,13 +2618,25 @@ export namespace ModelRetrieveResponse {
2592
2618
  /**
2593
2619
  * The stage of the request
2594
2620
  */
2595
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
2621
+ stage:
2622
+ | 'pending'
2623
+ | 'pending-captcha'
2624
+ | 'queued-for-train'
2625
+ | 'ready-for-captcha'
2626
+ | 'running-train'
2627
+ | 'starting-train';
2596
2628
 
2597
2629
  /**
2598
2630
  * Timestamp in milliseconds of the last time the training progress was updated
2599
2631
  */
2600
2632
  updatedAt: number;
2601
2633
 
2634
+ /**
2635
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
2636
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
2637
+ */
2638
+ captchaImageUrl?: string;
2639
+
2602
2640
  /**
2603
2641
  * Position of the job in the queue (ie. the number of job in the queue before this
2604
2642
  * one)
@@ -2615,6 +2653,20 @@ export namespace ModelRetrieveResponse {
2615
2653
  */
2616
2654
  remainingTimeMs?: number;
2617
2655
 
2656
+ /**
2657
+ * Last recoverable failure message during PVC. Present when the model has bounced
2658
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
2659
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
2660
+ * user understands why they're back here.
2661
+ */
2662
+ retryableError?: string;
2663
+
2664
+ /**
2665
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
2666
+ * model is marked Failed when this reaches the platform's max retries.
2667
+ */
2668
+ retryCount?: number;
2669
+
2618
2670
  /**
2619
2671
  * The timestamp in millisecond marking the start of the process
2620
2672
  */
@@ -3898,13 +3950,25 @@ export namespace ModelUpdateResponse {
3898
3950
  /**
3899
3951
  * The stage of the request
3900
3952
  */
3901
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
3953
+ stage:
3954
+ | 'pending'
3955
+ | 'pending-captcha'
3956
+ | 'queued-for-train'
3957
+ | 'ready-for-captcha'
3958
+ | 'running-train'
3959
+ | 'starting-train';
3902
3960
 
3903
3961
  /**
3904
3962
  * Timestamp in milliseconds of the last time the training progress was updated
3905
3963
  */
3906
3964
  updatedAt: number;
3907
3965
 
3966
+ /**
3967
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
3968
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
3969
+ */
3970
+ captchaImageUrl?: string;
3971
+
3908
3972
  /**
3909
3973
  * Position of the job in the queue (ie. the number of job in the queue before this
3910
3974
  * one)
@@ -3921,6 +3985,20 @@ export namespace ModelUpdateResponse {
3921
3985
  */
3922
3986
  remainingTimeMs?: number;
3923
3987
 
3988
+ /**
3989
+ * Last recoverable failure message during PVC. Present when the model has bounced
3990
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
3991
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
3992
+ * user understands why they're back here.
3993
+ */
3994
+ retryableError?: string;
3995
+
3996
+ /**
3997
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
3998
+ * model is marked Failed when this reaches the platform's max retries.
3999
+ */
4000
+ retryCount?: number;
4001
+
3924
4002
  /**
3925
4003
  * The timestamp in millisecond marking the start of the process
3926
4004
  */
@@ -5199,13 +5277,25 @@ export namespace ModelListResponse {
5199
5277
  /**
5200
5278
  * The stage of the request
5201
5279
  */
5202
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
5280
+ stage:
5281
+ | 'pending'
5282
+ | 'pending-captcha'
5283
+ | 'queued-for-train'
5284
+ | 'ready-for-captcha'
5285
+ | 'running-train'
5286
+ | 'starting-train';
5203
5287
 
5204
5288
  /**
5205
5289
  * Timestamp in milliseconds of the last time the training progress was updated
5206
5290
  */
5207
5291
  updatedAt: number;
5208
5292
 
5293
+ /**
5294
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
5295
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
5296
+ */
5297
+ captchaImageUrl?: string;
5298
+
5209
5299
  /**
5210
5300
  * Position of the job in the queue (ie. the number of job in the queue before this
5211
5301
  * one)
@@ -5222,6 +5312,20 @@ export namespace ModelListResponse {
5222
5312
  */
5223
5313
  remainingTimeMs?: number;
5224
5314
 
5315
+ /**
5316
+ * Last recoverable failure message during PVC. Present when the model has bounced
5317
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
5318
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
5319
+ * user understands why they're back here.
5320
+ */
5321
+ retryableError?: string;
5322
+
5323
+ /**
5324
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
5325
+ * model is marked Failed when this reaches the platform's max retries.
5326
+ */
5327
+ retryCount?: number;
5328
+
5225
5329
  /**
5226
5330
  * The timestamp in millisecond marking the start of the process
5227
5331
  */
@@ -6506,13 +6610,25 @@ export namespace ModelCopyResponse {
6506
6610
  /**
6507
6611
  * The stage of the request
6508
6612
  */
6509
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
6613
+ stage:
6614
+ | 'pending'
6615
+ | 'pending-captcha'
6616
+ | 'queued-for-train'
6617
+ | 'ready-for-captcha'
6618
+ | 'running-train'
6619
+ | 'starting-train';
6510
6620
 
6511
6621
  /**
6512
6622
  * Timestamp in milliseconds of the last time the training progress was updated
6513
6623
  */
6514
6624
  updatedAt: number;
6515
6625
 
6626
+ /**
6627
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
6628
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
6629
+ */
6630
+ captchaImageUrl?: string;
6631
+
6516
6632
  /**
6517
6633
  * Position of the job in the queue (ie. the number of job in the queue before this
6518
6634
  * one)
@@ -6529,6 +6645,20 @@ export namespace ModelCopyResponse {
6529
6645
  */
6530
6646
  remainingTimeMs?: number;
6531
6647
 
6648
+ /**
6649
+ * Last recoverable failure message during PVC. Present when the model has bounced
6650
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
6651
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
6652
+ * user understands why they're back here.
6653
+ */
6654
+ retryableError?: string;
6655
+
6656
+ /**
6657
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
6658
+ * model is marked Failed when this reaches the platform's max retries.
6659
+ */
6660
+ retryCount?: number;
6661
+
6532
6662
  /**
6533
6663
  * The timestamp in millisecond marking the start of the process
6534
6664
  */
@@ -7821,13 +7951,25 @@ export namespace ModelGetBulkResponse {
7821
7951
  /**
7822
7952
  * The stage of the request
7823
7953
  */
7824
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
7954
+ stage:
7955
+ | 'pending'
7956
+ | 'pending-captcha'
7957
+ | 'queued-for-train'
7958
+ | 'ready-for-captcha'
7959
+ | 'running-train'
7960
+ | 'starting-train';
7825
7961
 
7826
7962
  /**
7827
7963
  * Timestamp in milliseconds of the last time the training progress was updated
7828
7964
  */
7829
7965
  updatedAt: number;
7830
7966
 
7967
+ /**
7968
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
7969
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
7970
+ */
7971
+ captchaImageUrl?: string;
7972
+
7831
7973
  /**
7832
7974
  * Position of the job in the queue (ie. the number of job in the queue before this
7833
7975
  * one)
@@ -7844,6 +7986,20 @@ export namespace ModelGetBulkResponse {
7844
7986
  */
7845
7987
  remainingTimeMs?: number;
7846
7988
 
7989
+ /**
7990
+ * Last recoverable failure message during PVC. Present when the model has bounced
7991
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
7992
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
7993
+ * user understands why they're back here.
7994
+ */
7995
+ retryableError?: string;
7996
+
7997
+ /**
7998
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
7999
+ * model is marked Failed when this reaches the platform's max retries.
8000
+ */
8001
+ retryCount?: number;
8002
+
7847
8003
  /**
7848
8004
  * The timestamp in millisecond marking the start of the process
7849
8005
  */
@@ -9127,13 +9283,25 @@ export namespace ModelTransferResponse {
9127
9283
  /**
9128
9284
  * The stage of the request
9129
9285
  */
9130
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
9286
+ stage:
9287
+ | 'pending'
9288
+ | 'pending-captcha'
9289
+ | 'queued-for-train'
9290
+ | 'ready-for-captcha'
9291
+ | 'running-train'
9292
+ | 'starting-train';
9131
9293
 
9132
9294
  /**
9133
9295
  * Timestamp in milliseconds of the last time the training progress was updated
9134
9296
  */
9135
9297
  updatedAt: number;
9136
9298
 
9299
+ /**
9300
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
9301
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
9302
+ */
9303
+ captchaImageUrl?: string;
9304
+
9137
9305
  /**
9138
9306
  * Position of the job in the queue (ie. the number of job in the queue before this
9139
9307
  * one)
@@ -9150,6 +9318,20 @@ export namespace ModelTransferResponse {
9150
9318
  */
9151
9319
  remainingTimeMs?: number;
9152
9320
 
9321
+ /**
9322
+ * Last recoverable failure message during PVC. Present when the model has bounced
9323
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
9324
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
9325
+ * user understands why they're back here.
9326
+ */
9327
+ retryableError?: string;
9328
+
9329
+ /**
9330
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
9331
+ * model is marked Failed when this reaches the platform's max retries.
9332
+ */
9333
+ retryCount?: number;
9334
+
9153
9335
  /**
9154
9336
  * The timestamp in millisecond marking the start of the process
9155
9337
  */
@@ -1159,13 +1159,25 @@ export namespace TrainActionResponse {
1159
1159
  /**
1160
1160
  * The stage of the request
1161
1161
  */
1162
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
1162
+ stage:
1163
+ | 'pending'
1164
+ | 'pending-captcha'
1165
+ | 'queued-for-train'
1166
+ | 'ready-for-captcha'
1167
+ | 'running-train'
1168
+ | 'starting-train';
1163
1169
 
1164
1170
  /**
1165
1171
  * Timestamp in milliseconds of the last time the training progress was updated
1166
1172
  */
1167
1173
  updatedAt: number;
1168
1174
 
1175
+ /**
1176
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
1177
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
1178
+ */
1179
+ captchaImageUrl?: string;
1180
+
1169
1181
  /**
1170
1182
  * Position of the job in the queue (ie. the number of job in the queue before this
1171
1183
  * one)
@@ -1182,6 +1194,20 @@ export namespace TrainActionResponse {
1182
1194
  */
1183
1195
  remainingTimeMs?: number;
1184
1196
 
1197
+ /**
1198
+ * Last recoverable failure message during PVC. Present when the model has bounced
1199
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
1200
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
1201
+ * user understands why they're back here.
1202
+ */
1203
+ retryableError?: string;
1204
+
1205
+ /**
1206
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
1207
+ * model is marked Failed when this reaches the platform's max retries.
1208
+ */
1209
+ retryCount?: number;
1210
+
1185
1211
  /**
1186
1212
  * The timestamp in millisecond marking the start of the process
1187
1213
  */
@@ -1359,6 +1385,11 @@ export interface TrainTriggerResponse {
1359
1385
  * The Creative Units discount for the request billed
1360
1386
  */
1361
1387
  creativeUnitsDiscount?: number;
1388
+
1389
+ /**
1390
+ * IP detection findings, when detection ran for this request.
1391
+ */
1392
+ ipDetection?: TrainTriggerResponse.IPDetection;
1362
1393
  }
1363
1394
 
1364
1395
  export namespace TrainTriggerResponse {
@@ -1530,7 +1561,7 @@ export namespace TrainTriggerResponse {
1530
1561
  /**
1531
1562
  * The status of the node. Only available for WorkflowJob nodes.
1532
1563
  */
1533
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
1564
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
1534
1565
 
1535
1566
  /**
1536
1567
  * The type of the job for the node.
@@ -3437,13 +3468,25 @@ export namespace TrainTriggerResponse {
3437
3468
  /**
3438
3469
  * The stage of the request
3439
3470
  */
3440
- stage: 'pending' | 'pending-captcha' | 'queued-for-train' | 'running-train' | 'starting-train';
3471
+ stage:
3472
+ | 'pending'
3473
+ | 'pending-captcha'
3474
+ | 'queued-for-train'
3475
+ | 'ready-for-captcha'
3476
+ | 'running-train'
3477
+ | 'starting-train';
3441
3478
 
3442
3479
  /**
3443
3480
  * Timestamp in milliseconds of the last time the training progress was updated
3444
3481
  */
3445
3482
  updatedAt: number;
3446
3483
 
3484
+ /**
3485
+ * Signed URL of the captcha image to read aloud during PVC voice cloning. Only
3486
+ * present when stage === 'pending-captcha'. Overwritten on each retry.
3487
+ */
3488
+ captchaImageUrl?: string;
3489
+
3447
3490
  /**
3448
3491
  * Position of the job in the queue (ie. the number of job in the queue before this
3449
3492
  * one)
@@ -3460,6 +3503,20 @@ export namespace TrainTriggerResponse {
3460
3503
  */
3461
3504
  remainingTimeMs?: number;
3462
3505
 
3506
+ /**
3507
+ * Last recoverable failure message during PVC. Present when the model has bounced
3508
+ * back to stage === 'ready-for-captcha' after a step 2 or step 3 failure (e.g.
3509
+ * captcha rejected, time limit exceeded). Surface above the retry button so the
3510
+ * user understands why they're back here.
3511
+ */
3512
+ retryableError?: string;
3513
+
3514
+ /**
3515
+ * Number of consecutive PVC step 2 / step 3 failures on this voice model. The
3516
+ * model is marked Failed when this reaches the platform's max retries.
3517
+ */
3518
+ retryCount?: number;
3519
+
3463
3520
  /**
3464
3521
  * The timestamp in millisecond marking the start of the process
3465
3522
  */
@@ -3621,6 +3678,84 @@ export namespace TrainTriggerResponse {
3621
3678
  }
3622
3679
  }
3623
3680
  }
3681
+
3682
+ /**
3683
+ * IP detection findings, when detection ran for this request.
3684
+ */
3685
+ export interface IPDetection {
3686
+ /**
3687
+ * Whether and how detection affected the request.
3688
+ */
3689
+ action: 'allowed' | 'blocked' | 'flagged';
3690
+
3691
+ /**
3692
+ * IP-detection CU fee, separate from creativeUnitsCost: a fixed base fee plus a
3693
+ * per-image fee for each analyzed input image.
3694
+ */
3695
+ creativeUnitsCharged: number;
3696
+
3697
+ /**
3698
+ * Number of enabled filters evaluated for this request.
3699
+ */
3700
+ evaluatedFilters: number;
3701
+
3702
+ /**
3703
+ * Per-filter verdicts gathered for this request.
3704
+ */
3705
+ findings: Array<IPDetection.Finding>;
3706
+
3707
+ /**
3708
+ * Convenience flag; always true when action is not 'allowed'.
3709
+ */
3710
+ flagged: boolean;
3711
+
3712
+ /**
3713
+ * True if one or more detectors errored while evaluating this request.
3714
+ */
3715
+ hasDetectorError?: boolean;
3716
+ }
3717
+
3718
+ export namespace IPDetection {
3719
+ /**
3720
+ * A single filter's verdict.
3721
+ */
3722
+ export interface Finding {
3723
+ /**
3724
+ * Category of the filter that produced this verdict.
3725
+ */
3726
+ category: 'artist-style' | 'brand-trademark' | 'celebrity-likeness' | 'custom' | 'fictional-character';
3727
+
3728
+ /**
3729
+ * Confidence score from 0 (low) to 1 (high).
3730
+ */
3731
+ confidence: number;
3732
+
3733
+ /**
3734
+ * Identifier of the filter that produced this verdict.
3735
+ */
3736
+ filterId: string;
3737
+
3738
+ /**
3739
+ * Display name of the filter that produced this verdict.
3740
+ */
3741
+ filterName: string;
3742
+
3743
+ /**
3744
+ * Whether this filter considered the request an IP risk.
3745
+ */
3746
+ flagged: boolean;
3747
+
3748
+ /**
3749
+ * Short, user-facing explanation of the verdict.
3750
+ */
3751
+ reason: string;
3752
+
3753
+ /**
3754
+ * Named entities the filter recognized (e.g. characters, brands, people).
3755
+ */
3756
+ entities?: Array<string>;
3757
+ }
3758
+ }
3624
3759
  }
3625
3760
 
3626
3761
  export interface TrainActionParams {
@@ -112,6 +112,7 @@ export namespace UsageListResponse {
112
112
  | 'project'
113
113
  | 'project-member'
114
114
  | 'reframe'
115
+ | 'refunds'
115
116
  | 'repaint'
116
117
  | 'restyle'
117
118
  | 'segmentation'
@@ -780,7 +781,7 @@ export namespace UsageListResponse {
780
781
  /**
781
782
  * The status of the node. Only available for WorkflowJob nodes.
782
783
  */
783
- status: 'failure' | 'pending' | 'processing' | 'skipped' | 'success';
784
+ status: 'failure' | 'pending' | 'processing' | 'rejected' | 'skipped' | 'success';
784
785
 
785
786
  /**
786
787
  * The type of the job for the node.
@@ -1748,6 +1749,7 @@ export namespace UsageListResponse {
1748
1749
  | 'models-training'
1749
1750
  | 'patch'
1750
1751
  | 'pixelate'
1752
+ | 'refunds'
1751
1753
  | 'repaint'
1752
1754
  | 'restyle'
1753
1755
  | 'segmentation'
@@ -1774,6 +1776,30 @@ export namespace UsageListResponse {
1774
1776
  * Value of the point
1775
1777
  */
1776
1778
  value: string;
1779
+
1780
+ /**
1781
+ * Cost in Creative Units for the point restricted to API-key calls (mirrors the
1782
+ * `apiKey` value field but on the cost axis).
1783
+ */
1784
+ apiKeyCost?: number;
1785
+
1786
+ /**
1787
+ * Discount in Creative Units for the point restricted to API-key calls.
1788
+ */
1789
+ apiKeyDiscount?: number;
1790
+
1791
+ /**
1792
+ * Cost in Creative Units (sum of `creativeUnitsCost`) for the point. Only
1793
+ * populated for usage actions that carry a CU cost (generations, trainings, etc.).
1794
+ * Free actions like `delete-asset` or `tag-asset` will report `0`.
1795
+ */
1796
+ cost?: number;
1797
+
1798
+ /**
1799
+ * Discount applied in Creative Units (sum of `creativeUnitsDiscount`) for the
1800
+ * point. Only populated for usage actions that carry a CU discount.
1801
+ */
1802
+ discount?: number;
1777
1803
  }
1778
1804
  }
1779
1805
  }