@scenario-labs/sdk 2.7.0 → 3.0.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 (214) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/client.d.mts +10 -10
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +10 -10
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/lib/job.d.mts +2 -2
  9. package/lib/job.d.mts.map +1 -1
  10. package/lib/job.d.ts +2 -2
  11. package/lib/job.d.ts.map +1 -1
  12. package/lib/job.js +3 -3
  13. package/lib/job.js.map +1 -1
  14. package/lib/job.mjs +3 -3
  15. package/lib/job.mjs.map +1 -1
  16. package/lib/upload.d.mts +2 -2
  17. package/lib/upload.d.mts.map +1 -1
  18. package/lib/upload.d.ts +2 -2
  19. package/lib/upload.d.ts.map +1 -1
  20. package/lib/upload.js +4 -4
  21. package/lib/upload.js.map +1 -1
  22. package/lib/upload.mjs +4 -4
  23. package/lib/upload.mjs.map +1 -1
  24. package/lib/workflow.d.mts +2 -2
  25. package/lib/workflow.d.mts.map +1 -1
  26. package/lib/workflow.d.ts +2 -2
  27. package/lib/workflow.d.ts.map +1 -1
  28. package/lib/workflow.js +2 -2
  29. package/lib/workflow.js.map +1 -1
  30. package/lib/workflow.mjs +2 -2
  31. package/lib/workflow.mjs.map +1 -1
  32. package/package.json +1 -1
  33. package/resources/assets/assets.d.mts +1091 -8
  34. package/resources/assets/assets.d.mts.map +1 -1
  35. package/resources/assets/assets.d.ts +1091 -8
  36. package/resources/assets/assets.d.ts.map +1 -1
  37. package/resources/assets/assets.js +34 -16
  38. package/resources/assets/assets.js.map +1 -1
  39. package/resources/assets/assets.mjs +34 -16
  40. package/resources/assets/assets.mjs.map +1 -1
  41. package/resources/assets/download.d.mts +28 -5
  42. package/resources/assets/download.d.mts.map +1 -1
  43. package/resources/assets/download.d.ts +28 -5
  44. package/resources/assets/download.d.ts.map +1 -1
  45. package/resources/assets/download.js +8 -6
  46. package/resources/assets/download.js.map +1 -1
  47. package/resources/assets/download.mjs +8 -6
  48. package/resources/assets/download.mjs.map +1 -1
  49. package/resources/assets/index.d.mts +1 -1
  50. package/resources/assets/index.d.mts.map +1 -1
  51. package/resources/assets/index.d.ts +1 -1
  52. package/resources/assets/index.d.ts.map +1 -1
  53. package/resources/assets/index.js.map +1 -1
  54. package/resources/assets/index.mjs.map +1 -1
  55. package/resources/collections/assets.d.mts +15 -4
  56. package/resources/collections/assets.d.mts.map +1 -1
  57. package/resources/collections/assets.d.ts +15 -4
  58. package/resources/collections/assets.d.ts.map +1 -1
  59. package/resources/collections/assets.js +14 -4
  60. package/resources/collections/assets.js.map +1 -1
  61. package/resources/collections/assets.mjs +14 -4
  62. package/resources/collections/assets.mjs.map +1 -1
  63. package/resources/collections/collections.d.mts +38 -9
  64. package/resources/collections/collections.d.mts.map +1 -1
  65. package/resources/collections/collections.d.ts +38 -9
  66. package/resources/collections/collections.d.ts.map +1 -1
  67. package/resources/collections/collections.js +11 -8
  68. package/resources/collections/collections.js.map +1 -1
  69. package/resources/collections/collections.mjs +11 -8
  70. package/resources/collections/collections.mjs.map +1 -1
  71. package/resources/collections/index.d.mts +1 -1
  72. package/resources/collections/index.d.mts.map +1 -1
  73. package/resources/collections/index.d.ts +1 -1
  74. package/resources/collections/index.d.ts.map +1 -1
  75. package/resources/collections/index.js.map +1 -1
  76. package/resources/collections/index.mjs.map +1 -1
  77. package/resources/collections/models.d.mts +15 -4
  78. package/resources/collections/models.d.mts.map +1 -1
  79. package/resources/collections/models.d.ts +15 -4
  80. package/resources/collections/models.d.ts.map +1 -1
  81. package/resources/collections/models.js +14 -4
  82. package/resources/collections/models.js.map +1 -1
  83. package/resources/collections/models.mjs +14 -4
  84. package/resources/collections/models.mjs.map +1 -1
  85. package/resources/generate.d.mts +941 -0
  86. package/resources/generate.d.mts.map +1 -1
  87. package/resources/generate.d.ts +941 -0
  88. package/resources/generate.d.ts.map +1 -1
  89. package/resources/generate.js +28 -16
  90. package/resources/generate.js.map +1 -1
  91. package/resources/generate.mjs +28 -16
  92. package/resources/generate.mjs.map +1 -1
  93. package/resources/index.d.mts +5 -5
  94. package/resources/index.d.mts.map +1 -1
  95. package/resources/index.d.ts +5 -5
  96. package/resources/index.d.ts.map +1 -1
  97. package/resources/index.js.map +1 -1
  98. package/resources/index.mjs.map +1 -1
  99. package/resources/jobs.d.mts +146 -2
  100. package/resources/jobs.d.mts.map +1 -1
  101. package/resources/jobs.d.ts +146 -2
  102. package/resources/jobs.d.ts.map +1 -1
  103. package/resources/jobs.js +8 -4
  104. package/resources/jobs.js.map +1 -1
  105. package/resources/jobs.mjs +8 -4
  106. package/resources/jobs.mjs.map +1 -1
  107. package/resources/models/description.d.mts +10 -0
  108. package/resources/models/description.d.mts.map +1 -1
  109. package/resources/models/description.d.ts +10 -0
  110. package/resources/models/description.d.ts.map +1 -1
  111. package/resources/models/description.js +2 -2
  112. package/resources/models/description.js.map +1 -1
  113. package/resources/models/description.mjs +2 -2
  114. package/resources/models/description.mjs.map +1 -1
  115. package/resources/models/examples.d.mts +344 -0
  116. package/resources/models/examples.d.mts.map +1 -1
  117. package/resources/models/examples.d.ts +344 -0
  118. package/resources/models/examples.d.ts.map +1 -1
  119. package/resources/models/examples.js +2 -2
  120. package/resources/models/examples.js.map +1 -1
  121. package/resources/models/examples.mjs +2 -2
  122. package/resources/models/examples.mjs.map +1 -1
  123. package/resources/models/index.d.mts +1 -1
  124. package/resources/models/index.d.mts.map +1 -1
  125. package/resources/models/index.d.ts +1 -1
  126. package/resources/models/index.d.ts.map +1 -1
  127. package/resources/models/index.js.map +1 -1
  128. package/resources/models/index.mjs.map +1 -1
  129. package/resources/models/models.d.mts +71 -13
  130. package/resources/models/models.d.mts.map +1 -1
  131. package/resources/models/models.d.ts +71 -13
  132. package/resources/models/models.d.ts.map +1 -1
  133. package/resources/models/models.js +30 -18
  134. package/resources/models/models.js.map +1 -1
  135. package/resources/models/models.mjs +30 -18
  136. package/resources/models/models.mjs.map +1 -1
  137. package/resources/models/train.d.mts +93 -0
  138. package/resources/models/train.d.mts.map +1 -1
  139. package/resources/models/train.d.ts +93 -0
  140. package/resources/models/train.d.ts.map +1 -1
  141. package/resources/models/train.js +4 -4
  142. package/resources/models/train.js.map +1 -1
  143. package/resources/models/train.mjs +4 -4
  144. package/resources/models/train.mjs.map +1 -1
  145. package/resources/models/training-images.d.mts +22 -2
  146. package/resources/models/training-images.d.mts.map +1 -1
  147. package/resources/models/training-images.d.ts +22 -2
  148. package/resources/models/training-images.d.ts.map +1 -1
  149. package/resources/models/training-images.js +15 -8
  150. package/resources/models/training-images.js.map +1 -1
  151. package/resources/models/training-images.mjs +15 -8
  152. package/resources/models/training-images.mjs.map +1 -1
  153. package/resources/search.d.mts +10 -0
  154. package/resources/search.d.mts.map +1 -1
  155. package/resources/search.d.ts +10 -0
  156. package/resources/search.d.ts.map +1 -1
  157. package/resources/search.js +4 -4
  158. package/resources/search.js.map +1 -1
  159. package/resources/search.mjs +4 -4
  160. package/resources/search.mjs.map +1 -1
  161. package/resources/tags.d.mts +5 -0
  162. package/resources/tags.d.mts.map +1 -1
  163. package/resources/tags.d.ts +5 -0
  164. package/resources/tags.d.ts.map +1 -1
  165. package/resources/uploads.d.mts +35 -20
  166. package/resources/uploads.d.mts.map +1 -1
  167. package/resources/uploads.d.ts +35 -20
  168. package/resources/uploads.d.ts.map +1 -1
  169. package/resources/uploads.js +8 -6
  170. package/resources/uploads.js.map +1 -1
  171. package/resources/uploads.mjs +8 -6
  172. package/resources/uploads.mjs.map +1 -1
  173. package/resources/usages.d.mts +53 -10
  174. package/resources/usages.d.mts.map +1 -1
  175. package/resources/usages.d.ts +53 -10
  176. package/resources/usages.d.ts.map +1 -1
  177. package/resources/workflows.d.mts +446 -266
  178. package/resources/workflows.d.mts.map +1 -1
  179. package/resources/workflows.d.ts +446 -266
  180. package/resources/workflows.d.ts.map +1 -1
  181. package/resources/workflows.js +20 -12
  182. package/resources/workflows.js.map +1 -1
  183. package/resources/workflows.mjs +20 -12
  184. package/resources/workflows.mjs.map +1 -1
  185. package/src/client.ts +14 -0
  186. package/src/lib/job.ts +8 -3
  187. package/src/lib/upload.ts +5 -3
  188. package/src/lib/workflow.ts +3 -1
  189. package/src/resources/assets/assets.ts +1310 -32
  190. package/src/resources/assets/download.ts +40 -7
  191. package/src/resources/assets/index.ts +1 -0
  192. package/src/resources/collections/assets.ts +29 -6
  193. package/src/resources/collections/collections.ts +59 -12
  194. package/src/resources/collections/index.ts +2 -0
  195. package/src/resources/collections/models.ts +29 -6
  196. package/src/resources/generate.ts +1247 -30
  197. package/src/resources/index.ts +7 -0
  198. package/src/resources/jobs.ts +169 -4
  199. package/src/resources/models/description.ts +14 -2
  200. package/src/resources/models/examples.ts +394 -2
  201. package/src/resources/models/index.ts +1 -0
  202. package/src/resources/models/models.ts +112 -26
  203. package/src/resources/models/train.ts +126 -4
  204. package/src/resources/models/training-images.ts +41 -10
  205. package/src/resources/search.ts +16 -4
  206. package/src/resources/tags.ts +6 -0
  207. package/src/resources/uploads.ts +47 -22
  208. package/src/resources/usages.ts +63 -10
  209. package/src/resources/workflows.ts +783 -563
  210. package/src/version.ts +1 -1
  211. package/version.d.mts +1 -1
  212. package/version.d.ts +1 -1
  213. package/version.js +1 -1
  214. package/version.mjs +1 -1
@@ -1,6 +1,6 @@
1
1
  import { APIResource } from "../../core/resource.mjs";
2
2
  import * as DownloadAPI from "./download.mjs";
3
- import { Download, DownloadGetStatusResponse, DownloadRequestBatchParams, DownloadRequestBatchResponse, DownloadRequestParams, DownloadRequestResponse } from "./download.mjs";
3
+ import { Download, DownloadGetStatusParams, DownloadGetStatusResponse, DownloadRequestBatchParams, DownloadRequestBatchResponse, DownloadRequestParams, DownloadRequestResponse } from "./download.mjs";
4
4
  import { APIPromise } from "../../core/api-promise.mjs";
5
5
  import { AssetsCursor, type AssetsCursorParams, PagePromise, SnapshotsCursor, type SnapshotsCursorParams } from "../../core/pagination.mjs";
6
6
  import { RequestOptions } from "../../internal/request-options.mjs";
@@ -25,7 +25,7 @@ export declare class Assets extends APIResource {
25
25
  /**
26
26
  * Delete multiple assets
27
27
  */
28
- deleteMultiple(body: AssetDeleteMultipleParams, options?: RequestOptions): APIPromise<unknown>;
28
+ deleteMultiple(params: AssetDeleteMultipleParams, options?: RequestOptions): APIPromise<unknown>;
29
29
  /**
30
30
  * Duplicate an asset
31
31
  */
@@ -49,7 +49,7 @@ export declare class Assets extends APIResource {
49
49
  /**
50
50
  * Add/delete tags on a specific asset
51
51
  */
52
- updateTags(assetID: string, body: AssetUpdateTagsParams, options?: RequestOptions): APIPromise<AssetUpdateTagsResponse>;
52
+ updateTags(assetID: string, params: AssetUpdateTagsParams, options?: RequestOptions): APIPromise<AssetUpdateTagsResponse>;
53
53
  /**
54
54
  * Upload an image or canvas
55
55
  */
@@ -186,6 +186,13 @@ export declare namespace AssetRetrieveResponse {
186
186
  * Contains the assetId and the url of the preview.
187
187
  */
188
188
  preview?: Asset.Preview;
189
+ /**
190
+ * SlopGuard detection result, computed asynchronously after generation.
191
+ *
192
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
193
+ * asset is read with `withSlopGuardDetails=true`.
194
+ */
195
+ slopGuard?: Asset.SlopGuard;
189
196
  /**
190
197
  * The asset's thumbnail.
191
198
  *
@@ -801,6 +808,121 @@ export declare namespace AssetRetrieveResponse {
801
808
  assetId: string;
802
809
  url: string;
803
810
  }
811
+ /**
812
+ * SlopGuard detection result, computed asynchronously after generation.
813
+ *
814
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
815
+ * asset is read with `withSlopGuardDetails=true`.
816
+ */
817
+ interface SlopGuard {
818
+ /**
819
+ * ISO-8601 timestamp of when scoring ran
820
+ */
821
+ computedAt: string;
822
+ /**
823
+ * Whether scoring succeeded or errored
824
+ */
825
+ status: 'error' | 'scored';
826
+ /**
827
+ * Rubric/model version that produced this result
828
+ */
829
+ version: string;
830
+ /**
831
+ * Generic AI-quality sub-score
832
+ */
833
+ aiQualityScore?: number;
834
+ /**
835
+ * Ids of briefs that contributed
836
+ */
837
+ appliedBriefIds?: Array<string>;
838
+ /**
839
+ * Brief-compliance sub-score (omitted when no brief applied)
840
+ */
841
+ briefComplianceScore?: number;
842
+ /**
843
+ * Per-dimension reasons and suggestions, as produced by the detector.
844
+ *
845
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
846
+ * project that owns it — the brief-compliance text paraphrases that project's
847
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
848
+ * omitted when the archived verdict is unavailable (asset scored by an older
849
+ * version, or an unreadable archive).
850
+ */
851
+ details?: SlopGuard.Details;
852
+ /**
853
+ * Error message when status is 'error' (truncated)
854
+ */
855
+ error?: string;
856
+ /**
857
+ * 0–100 composite score (present when status is 'scored')
858
+ */
859
+ overallScore?: number;
860
+ /**
861
+ * Sensitivity used for the verdict
862
+ */
863
+ sensitivity?: 'high' | 'low' | 'medium';
864
+ /**
865
+ * pass / warn / fail (present when status is 'scored')
866
+ */
867
+ verdict?: 'fail' | 'pass' | 'warn';
868
+ }
869
+ namespace SlopGuard {
870
+ /**
871
+ * Per-dimension reasons and suggestions, as produced by the detector.
872
+ *
873
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
874
+ * project that owns it — the brief-compliance text paraphrases that project's
875
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
876
+ * omitted when the archived verdict is unavailable (asset scored by an older
877
+ * version, or an unreadable archive).
878
+ */
879
+ interface Details {
880
+ /**
881
+ * Always-on generic AI-quality dimension
882
+ */
883
+ aiQuality: Details.AIQuality;
884
+ /**
885
+ * Brief-compliance dimension; omitted when no brief applied
886
+ */
887
+ briefCompliance?: Details.BriefCompliance;
888
+ }
889
+ namespace Details {
890
+ /**
891
+ * Always-on generic AI-quality dimension
892
+ */
893
+ interface AIQuality {
894
+ /**
895
+ * Why the image scored as it did
896
+ */
897
+ reasons: Array<string>;
898
+ /**
899
+ * 0–100; higher is better (more compliant / less AI-looking)
900
+ */
901
+ score: number;
902
+ /**
903
+ * Actionable suggestions to improve the score
904
+ */
905
+ suggestions: Array<string>;
906
+ }
907
+ /**
908
+ * Brief-compliance dimension; omitted when no brief applied
909
+ */
910
+ interface BriefCompliance {
911
+ /**
912
+ * Why the image scored as it did
913
+ */
914
+ reasons: Array<string>;
915
+ /**
916
+ * 0–100; higher is better (more compliant / less AI-looking)
917
+ */
918
+ score: number;
919
+ /**
920
+ * Actionable suggestions to improve the score
921
+ */
922
+ suggestions: Array<string>;
923
+ }
924
+ }
925
+ }
804
926
  /**
805
927
  * The asset's thumbnail.
806
928
  *
@@ -941,6 +1063,13 @@ export declare namespace AssetUpdateResponse {
941
1063
  * Contains the assetId and the url of the preview.
942
1064
  */
943
1065
  preview?: Asset.Preview;
1066
+ /**
1067
+ * SlopGuard detection result, computed asynchronously after generation.
1068
+ *
1069
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
1070
+ * asset is read with `withSlopGuardDetails=true`.
1071
+ */
1072
+ slopGuard?: Asset.SlopGuard;
944
1073
  /**
945
1074
  * The asset's thumbnail.
946
1075
  *
@@ -1556,6 +1685,121 @@ export declare namespace AssetUpdateResponse {
1556
1685
  assetId: string;
1557
1686
  url: string;
1558
1687
  }
1688
+ /**
1689
+ * SlopGuard detection result, computed asynchronously after generation.
1690
+ *
1691
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
1692
+ * asset is read with `withSlopGuardDetails=true`.
1693
+ */
1694
+ interface SlopGuard {
1695
+ /**
1696
+ * ISO-8601 timestamp of when scoring ran
1697
+ */
1698
+ computedAt: string;
1699
+ /**
1700
+ * Whether scoring succeeded or errored
1701
+ */
1702
+ status: 'error' | 'scored';
1703
+ /**
1704
+ * Rubric/model version that produced this result
1705
+ */
1706
+ version: string;
1707
+ /**
1708
+ * Generic AI-quality sub-score
1709
+ */
1710
+ aiQualityScore?: number;
1711
+ /**
1712
+ * Ids of briefs that contributed
1713
+ */
1714
+ appliedBriefIds?: Array<string>;
1715
+ /**
1716
+ * Brief-compliance sub-score (omitted when no brief applied)
1717
+ */
1718
+ briefComplianceScore?: number;
1719
+ /**
1720
+ * Per-dimension reasons and suggestions, as produced by the detector.
1721
+ *
1722
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
1723
+ * project that owns it — the brief-compliance text paraphrases that project's
1724
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
1725
+ * omitted when the archived verdict is unavailable (asset scored by an older
1726
+ * version, or an unreadable archive).
1727
+ */
1728
+ details?: SlopGuard.Details;
1729
+ /**
1730
+ * Error message when status is 'error' (truncated)
1731
+ */
1732
+ error?: string;
1733
+ /**
1734
+ * 0–100 composite score (present when status is 'scored')
1735
+ */
1736
+ overallScore?: number;
1737
+ /**
1738
+ * Sensitivity used for the verdict
1739
+ */
1740
+ sensitivity?: 'high' | 'low' | 'medium';
1741
+ /**
1742
+ * pass / warn / fail (present when status is 'scored')
1743
+ */
1744
+ verdict?: 'fail' | 'pass' | 'warn';
1745
+ }
1746
+ namespace SlopGuard {
1747
+ /**
1748
+ * Per-dimension reasons and suggestions, as produced by the detector.
1749
+ *
1750
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
1751
+ * project that owns it — the brief-compliance text paraphrases that project's
1752
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
1753
+ * omitted when the archived verdict is unavailable (asset scored by an older
1754
+ * version, or an unreadable archive).
1755
+ */
1756
+ interface Details {
1757
+ /**
1758
+ * Always-on generic AI-quality dimension
1759
+ */
1760
+ aiQuality: Details.AIQuality;
1761
+ /**
1762
+ * Brief-compliance dimension; omitted when no brief applied
1763
+ */
1764
+ briefCompliance?: Details.BriefCompliance;
1765
+ }
1766
+ namespace Details {
1767
+ /**
1768
+ * Always-on generic AI-quality dimension
1769
+ */
1770
+ interface AIQuality {
1771
+ /**
1772
+ * Why the image scored as it did
1773
+ */
1774
+ reasons: Array<string>;
1775
+ /**
1776
+ * 0–100; higher is better (more compliant / less AI-looking)
1777
+ */
1778
+ score: number;
1779
+ /**
1780
+ * Actionable suggestions to improve the score
1781
+ */
1782
+ suggestions: Array<string>;
1783
+ }
1784
+ /**
1785
+ * Brief-compliance dimension; omitted when no brief applied
1786
+ */
1787
+ interface BriefCompliance {
1788
+ /**
1789
+ * Why the image scored as it did
1790
+ */
1791
+ reasons: Array<string>;
1792
+ /**
1793
+ * 0–100; higher is better (more compliant / less AI-looking)
1794
+ */
1795
+ score: number;
1796
+ /**
1797
+ * Actionable suggestions to improve the score
1798
+ */
1799
+ suggestions: Array<string>;
1800
+ }
1801
+ }
1802
+ }
1559
1803
  /**
1560
1804
  * The asset's thumbnail.
1561
1805
  *
@@ -1692,6 +1936,13 @@ export interface AssetListResponse {
1692
1936
  * Contains the assetId and the url of the preview.
1693
1937
  */
1694
1938
  preview?: AssetListResponse.Preview;
1939
+ /**
1940
+ * SlopGuard detection result, computed asynchronously after generation.
1941
+ *
1942
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
1943
+ * asset is read with `withSlopGuardDetails=true`.
1944
+ */
1945
+ slopGuard?: AssetListResponse.SlopGuard;
1695
1946
  /**
1696
1947
  * The asset's thumbnail.
1697
1948
  *
@@ -2307,6 +2558,121 @@ export declare namespace AssetListResponse {
2307
2558
  assetId: string;
2308
2559
  url: string;
2309
2560
  }
2561
+ /**
2562
+ * SlopGuard detection result, computed asynchronously after generation.
2563
+ *
2564
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
2565
+ * asset is read with `withSlopGuardDetails=true`.
2566
+ */
2567
+ interface SlopGuard {
2568
+ /**
2569
+ * ISO-8601 timestamp of when scoring ran
2570
+ */
2571
+ computedAt: string;
2572
+ /**
2573
+ * Whether scoring succeeded or errored
2574
+ */
2575
+ status: 'error' | 'scored';
2576
+ /**
2577
+ * Rubric/model version that produced this result
2578
+ */
2579
+ version: string;
2580
+ /**
2581
+ * Generic AI-quality sub-score
2582
+ */
2583
+ aiQualityScore?: number;
2584
+ /**
2585
+ * Ids of briefs that contributed
2586
+ */
2587
+ appliedBriefIds?: Array<string>;
2588
+ /**
2589
+ * Brief-compliance sub-score (omitted when no brief applied)
2590
+ */
2591
+ briefComplianceScore?: number;
2592
+ /**
2593
+ * Per-dimension reasons and suggestions, as produced by the detector.
2594
+ *
2595
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
2596
+ * project that owns it — the brief-compliance text paraphrases that project's
2597
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
2598
+ * omitted when the archived verdict is unavailable (asset scored by an older
2599
+ * version, or an unreadable archive).
2600
+ */
2601
+ details?: SlopGuard.Details;
2602
+ /**
2603
+ * Error message when status is 'error' (truncated)
2604
+ */
2605
+ error?: string;
2606
+ /**
2607
+ * 0–100 composite score (present when status is 'scored')
2608
+ */
2609
+ overallScore?: number;
2610
+ /**
2611
+ * Sensitivity used for the verdict
2612
+ */
2613
+ sensitivity?: 'high' | 'low' | 'medium';
2614
+ /**
2615
+ * pass / warn / fail (present when status is 'scored')
2616
+ */
2617
+ verdict?: 'fail' | 'pass' | 'warn';
2618
+ }
2619
+ namespace SlopGuard {
2620
+ /**
2621
+ * Per-dimension reasons and suggestions, as produced by the detector.
2622
+ *
2623
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
2624
+ * project that owns it — the brief-compliance text paraphrases that project's
2625
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
2626
+ * omitted when the archived verdict is unavailable (asset scored by an older
2627
+ * version, or an unreadable archive).
2628
+ */
2629
+ interface Details {
2630
+ /**
2631
+ * Always-on generic AI-quality dimension
2632
+ */
2633
+ aiQuality: Details.AIQuality;
2634
+ /**
2635
+ * Brief-compliance dimension; omitted when no brief applied
2636
+ */
2637
+ briefCompliance?: Details.BriefCompliance;
2638
+ }
2639
+ namespace Details {
2640
+ /**
2641
+ * Always-on generic AI-quality dimension
2642
+ */
2643
+ interface AIQuality {
2644
+ /**
2645
+ * Why the image scored as it did
2646
+ */
2647
+ reasons: Array<string>;
2648
+ /**
2649
+ * 0–100; higher is better (more compliant / less AI-looking)
2650
+ */
2651
+ score: number;
2652
+ /**
2653
+ * Actionable suggestions to improve the score
2654
+ */
2655
+ suggestions: Array<string>;
2656
+ }
2657
+ /**
2658
+ * Brief-compliance dimension; omitted when no brief applied
2659
+ */
2660
+ interface BriefCompliance {
2661
+ /**
2662
+ * Why the image scored as it did
2663
+ */
2664
+ reasons: Array<string>;
2665
+ /**
2666
+ * 0–100; higher is better (more compliant / less AI-looking)
2667
+ */
2668
+ score: number;
2669
+ /**
2670
+ * Actionable suggestions to improve the score
2671
+ */
2672
+ suggestions: Array<string>;
2673
+ }
2674
+ }
2675
+ }
2310
2676
  /**
2311
2677
  * The asset's thumbnail.
2312
2678
  *
@@ -2447,6 +2813,13 @@ export declare namespace AssetDuplicateResponse {
2447
2813
  * Contains the assetId and the url of the preview.
2448
2814
  */
2449
2815
  preview?: Asset.Preview;
2816
+ /**
2817
+ * SlopGuard detection result, computed asynchronously after generation.
2818
+ *
2819
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
2820
+ * asset is read with `withSlopGuardDetails=true`.
2821
+ */
2822
+ slopGuard?: Asset.SlopGuard;
2450
2823
  /**
2451
2824
  * The asset's thumbnail.
2452
2825
  *
@@ -3062,6 +3435,121 @@ export declare namespace AssetDuplicateResponse {
3062
3435
  assetId: string;
3063
3436
  url: string;
3064
3437
  }
3438
+ /**
3439
+ * SlopGuard detection result, computed asynchronously after generation.
3440
+ *
3441
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
3442
+ * asset is read with `withSlopGuardDetails=true`.
3443
+ */
3444
+ interface SlopGuard {
3445
+ /**
3446
+ * ISO-8601 timestamp of when scoring ran
3447
+ */
3448
+ computedAt: string;
3449
+ /**
3450
+ * Whether scoring succeeded or errored
3451
+ */
3452
+ status: 'error' | 'scored';
3453
+ /**
3454
+ * Rubric/model version that produced this result
3455
+ */
3456
+ version: string;
3457
+ /**
3458
+ * Generic AI-quality sub-score
3459
+ */
3460
+ aiQualityScore?: number;
3461
+ /**
3462
+ * Ids of briefs that contributed
3463
+ */
3464
+ appliedBriefIds?: Array<string>;
3465
+ /**
3466
+ * Brief-compliance sub-score (omitted when no brief applied)
3467
+ */
3468
+ briefComplianceScore?: number;
3469
+ /**
3470
+ * Per-dimension reasons and suggestions, as produced by the detector.
3471
+ *
3472
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
3473
+ * project that owns it — the brief-compliance text paraphrases that project's
3474
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
3475
+ * omitted when the archived verdict is unavailable (asset scored by an older
3476
+ * version, or an unreadable archive).
3477
+ */
3478
+ details?: SlopGuard.Details;
3479
+ /**
3480
+ * Error message when status is 'error' (truncated)
3481
+ */
3482
+ error?: string;
3483
+ /**
3484
+ * 0–100 composite score (present when status is 'scored')
3485
+ */
3486
+ overallScore?: number;
3487
+ /**
3488
+ * Sensitivity used for the verdict
3489
+ */
3490
+ sensitivity?: 'high' | 'low' | 'medium';
3491
+ /**
3492
+ * pass / warn / fail (present when status is 'scored')
3493
+ */
3494
+ verdict?: 'fail' | 'pass' | 'warn';
3495
+ }
3496
+ namespace SlopGuard {
3497
+ /**
3498
+ * Per-dimension reasons and suggestions, as produced by the detector.
3499
+ *
3500
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
3501
+ * project that owns it — the brief-compliance text paraphrases that project's
3502
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
3503
+ * omitted when the archived verdict is unavailable (asset scored by an older
3504
+ * version, or an unreadable archive).
3505
+ */
3506
+ interface Details {
3507
+ /**
3508
+ * Always-on generic AI-quality dimension
3509
+ */
3510
+ aiQuality: Details.AIQuality;
3511
+ /**
3512
+ * Brief-compliance dimension; omitted when no brief applied
3513
+ */
3514
+ briefCompliance?: Details.BriefCompliance;
3515
+ }
3516
+ namespace Details {
3517
+ /**
3518
+ * Always-on generic AI-quality dimension
3519
+ */
3520
+ interface AIQuality {
3521
+ /**
3522
+ * Why the image scored as it did
3523
+ */
3524
+ reasons: Array<string>;
3525
+ /**
3526
+ * 0–100; higher is better (more compliant / less AI-looking)
3527
+ */
3528
+ score: number;
3529
+ /**
3530
+ * Actionable suggestions to improve the score
3531
+ */
3532
+ suggestions: Array<string>;
3533
+ }
3534
+ /**
3535
+ * Brief-compliance dimension; omitted when no brief applied
3536
+ */
3537
+ interface BriefCompliance {
3538
+ /**
3539
+ * Why the image scored as it did
3540
+ */
3541
+ reasons: Array<string>;
3542
+ /**
3543
+ * 0–100; higher is better (more compliant / less AI-looking)
3544
+ */
3545
+ score: number;
3546
+ /**
3547
+ * Actionable suggestions to improve the score
3548
+ */
3549
+ suggestions: Array<string>;
3550
+ }
3551
+ }
3552
+ }
3065
3553
  /**
3066
3554
  * The asset's thumbnail.
3067
3555
  *
@@ -3202,6 +3690,13 @@ export declare namespace AssetGetBulkResponse {
3202
3690
  * Contains the assetId and the url of the preview.
3203
3691
  */
3204
3692
  preview?: Asset.Preview;
3693
+ /**
3694
+ * SlopGuard detection result, computed asynchronously after generation.
3695
+ *
3696
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
3697
+ * asset is read with `withSlopGuardDetails=true`.
3698
+ */
3699
+ slopGuard?: Asset.SlopGuard;
3205
3700
  /**
3206
3701
  * The asset's thumbnail.
3207
3702
  *
@@ -3817,6 +4312,121 @@ export declare namespace AssetGetBulkResponse {
3817
4312
  assetId: string;
3818
4313
  url: string;
3819
4314
  }
4315
+ /**
4316
+ * SlopGuard detection result, computed asynchronously after generation.
4317
+ *
4318
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
4319
+ * asset is read with `withSlopGuardDetails=true`.
4320
+ */
4321
+ interface SlopGuard {
4322
+ /**
4323
+ * ISO-8601 timestamp of when scoring ran
4324
+ */
4325
+ computedAt: string;
4326
+ /**
4327
+ * Whether scoring succeeded or errored
4328
+ */
4329
+ status: 'error' | 'scored';
4330
+ /**
4331
+ * Rubric/model version that produced this result
4332
+ */
4333
+ version: string;
4334
+ /**
4335
+ * Generic AI-quality sub-score
4336
+ */
4337
+ aiQualityScore?: number;
4338
+ /**
4339
+ * Ids of briefs that contributed
4340
+ */
4341
+ appliedBriefIds?: Array<string>;
4342
+ /**
4343
+ * Brief-compliance sub-score (omitted when no brief applied)
4344
+ */
4345
+ briefComplianceScore?: number;
4346
+ /**
4347
+ * Per-dimension reasons and suggestions, as produced by the detector.
4348
+ *
4349
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
4350
+ * project that owns it — the brief-compliance text paraphrases that project's
4351
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
4352
+ * omitted when the archived verdict is unavailable (asset scored by an older
4353
+ * version, or an unreadable archive).
4354
+ */
4355
+ details?: SlopGuard.Details;
4356
+ /**
4357
+ * Error message when status is 'error' (truncated)
4358
+ */
4359
+ error?: string;
4360
+ /**
4361
+ * 0–100 composite score (present when status is 'scored')
4362
+ */
4363
+ overallScore?: number;
4364
+ /**
4365
+ * Sensitivity used for the verdict
4366
+ */
4367
+ sensitivity?: 'high' | 'low' | 'medium';
4368
+ /**
4369
+ * pass / warn / fail (present when status is 'scored')
4370
+ */
4371
+ verdict?: 'fail' | 'pass' | 'warn';
4372
+ }
4373
+ namespace SlopGuard {
4374
+ /**
4375
+ * Per-dimension reasons and suggestions, as produced by the detector.
4376
+ *
4377
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
4378
+ * project that owns it — the brief-compliance text paraphrases that project's
4379
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
4380
+ * omitted when the archived verdict is unavailable (asset scored by an older
4381
+ * version, or an unreadable archive).
4382
+ */
4383
+ interface Details {
4384
+ /**
4385
+ * Always-on generic AI-quality dimension
4386
+ */
4387
+ aiQuality: Details.AIQuality;
4388
+ /**
4389
+ * Brief-compliance dimension; omitted when no brief applied
4390
+ */
4391
+ briefCompliance?: Details.BriefCompliance;
4392
+ }
4393
+ namespace Details {
4394
+ /**
4395
+ * Always-on generic AI-quality dimension
4396
+ */
4397
+ interface AIQuality {
4398
+ /**
4399
+ * Why the image scored as it did
4400
+ */
4401
+ reasons: Array<string>;
4402
+ /**
4403
+ * 0–100; higher is better (more compliant / less AI-looking)
4404
+ */
4405
+ score: number;
4406
+ /**
4407
+ * Actionable suggestions to improve the score
4408
+ */
4409
+ suggestions: Array<string>;
4410
+ }
4411
+ /**
4412
+ * Brief-compliance dimension; omitted when no brief applied
4413
+ */
4414
+ interface BriefCompliance {
4415
+ /**
4416
+ * Why the image scored as it did
4417
+ */
4418
+ reasons: Array<string>;
4419
+ /**
4420
+ * 0–100; higher is better (more compliant / less AI-looking)
4421
+ */
4422
+ score: number;
4423
+ /**
4424
+ * Actionable suggestions to improve the score
4425
+ */
4426
+ suggestions: Array<string>;
4427
+ }
4428
+ }
4429
+ }
3820
4430
  /**
3821
4431
  * The asset's thumbnail.
3822
4432
  *
@@ -3967,6 +4577,13 @@ export declare namespace AssetLockResponse {
3967
4577
  * Contains the assetId and the url of the preview.
3968
4578
  */
3969
4579
  preview?: Asset.Preview;
4580
+ /**
4581
+ * SlopGuard detection result, computed asynchronously after generation.
4582
+ *
4583
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
4584
+ * asset is read with `withSlopGuardDetails=true`.
4585
+ */
4586
+ slopGuard?: Asset.SlopGuard;
3970
4587
  /**
3971
4588
  * The asset's thumbnail.
3972
4589
  *
@@ -4582,6 +5199,121 @@ export declare namespace AssetLockResponse {
4582
5199
  assetId: string;
4583
5200
  url: string;
4584
5201
  }
5202
+ /**
5203
+ * SlopGuard detection result, computed asynchronously after generation.
5204
+ *
5205
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
5206
+ * asset is read with `withSlopGuardDetails=true`.
5207
+ */
5208
+ interface SlopGuard {
5209
+ /**
5210
+ * ISO-8601 timestamp of when scoring ran
5211
+ */
5212
+ computedAt: string;
5213
+ /**
5214
+ * Whether scoring succeeded or errored
5215
+ */
5216
+ status: 'error' | 'scored';
5217
+ /**
5218
+ * Rubric/model version that produced this result
5219
+ */
5220
+ version: string;
5221
+ /**
5222
+ * Generic AI-quality sub-score
5223
+ */
5224
+ aiQualityScore?: number;
5225
+ /**
5226
+ * Ids of briefs that contributed
5227
+ */
5228
+ appliedBriefIds?: Array<string>;
5229
+ /**
5230
+ * Brief-compliance sub-score (omitted when no brief applied)
5231
+ */
5232
+ briefComplianceScore?: number;
5233
+ /**
5234
+ * Per-dimension reasons and suggestions, as produced by the detector.
5235
+ *
5236
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
5237
+ * project that owns it — the brief-compliance text paraphrases that project's
5238
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
5239
+ * omitted when the archived verdict is unavailable (asset scored by an older
5240
+ * version, or an unreadable archive).
5241
+ */
5242
+ details?: SlopGuard.Details;
5243
+ /**
5244
+ * Error message when status is 'error' (truncated)
5245
+ */
5246
+ error?: string;
5247
+ /**
5248
+ * 0–100 composite score (present when status is 'scored')
5249
+ */
5250
+ overallScore?: number;
5251
+ /**
5252
+ * Sensitivity used for the verdict
5253
+ */
5254
+ sensitivity?: 'high' | 'low' | 'medium';
5255
+ /**
5256
+ * pass / warn / fail (present when status is 'scored')
5257
+ */
5258
+ verdict?: 'fail' | 'pass' | 'warn';
5259
+ }
5260
+ namespace SlopGuard {
5261
+ /**
5262
+ * Per-dimension reasons and suggestions, as produced by the detector.
5263
+ *
5264
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
5265
+ * project that owns it — the brief-compliance text paraphrases that project's
5266
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
5267
+ * omitted when the archived verdict is unavailable (asset scored by an older
5268
+ * version, or an unreadable archive).
5269
+ */
5270
+ interface Details {
5271
+ /**
5272
+ * Always-on generic AI-quality dimension
5273
+ */
5274
+ aiQuality: Details.AIQuality;
5275
+ /**
5276
+ * Brief-compliance dimension; omitted when no brief applied
5277
+ */
5278
+ briefCompliance?: Details.BriefCompliance;
5279
+ }
5280
+ namespace Details {
5281
+ /**
5282
+ * Always-on generic AI-quality dimension
5283
+ */
5284
+ interface AIQuality {
5285
+ /**
5286
+ * Why the image scored as it did
5287
+ */
5288
+ reasons: Array<string>;
5289
+ /**
5290
+ * 0–100; higher is better (more compliant / less AI-looking)
5291
+ */
5292
+ score: number;
5293
+ /**
5294
+ * Actionable suggestions to improve the score
5295
+ */
5296
+ suggestions: Array<string>;
5297
+ }
5298
+ /**
5299
+ * Brief-compliance dimension; omitted when no brief applied
5300
+ */
5301
+ interface BriefCompliance {
5302
+ /**
5303
+ * Why the image scored as it did
5304
+ */
5305
+ reasons: Array<string>;
5306
+ /**
5307
+ * 0–100; higher is better (more compliant / less AI-looking)
5308
+ */
5309
+ score: number;
5310
+ /**
5311
+ * Actionable suggestions to improve the score
5312
+ */
5313
+ suggestions: Array<string>;
5314
+ }
5315
+ }
5316
+ }
4585
5317
  /**
4586
5318
  * The asset's thumbnail.
4587
5319
  *
@@ -4722,6 +5454,13 @@ export declare namespace AssetUnlockResponse {
4722
5454
  * Contains the assetId and the url of the preview.
4723
5455
  */
4724
5456
  preview?: Asset.Preview;
5457
+ /**
5458
+ * SlopGuard detection result, computed asynchronously after generation.
5459
+ *
5460
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
5461
+ * asset is read with `withSlopGuardDetails=true`.
5462
+ */
5463
+ slopGuard?: Asset.SlopGuard;
4725
5464
  /**
4726
5465
  * The asset's thumbnail.
4727
5466
  *
@@ -5337,6 +6076,121 @@ export declare namespace AssetUnlockResponse {
5337
6076
  assetId: string;
5338
6077
  url: string;
5339
6078
  }
6079
+ /**
6080
+ * SlopGuard detection result, computed asynchronously after generation.
6081
+ *
6082
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
6083
+ * asset is read with `withSlopGuardDetails=true`.
6084
+ */
6085
+ interface SlopGuard {
6086
+ /**
6087
+ * ISO-8601 timestamp of when scoring ran
6088
+ */
6089
+ computedAt: string;
6090
+ /**
6091
+ * Whether scoring succeeded or errored
6092
+ */
6093
+ status: 'error' | 'scored';
6094
+ /**
6095
+ * Rubric/model version that produced this result
6096
+ */
6097
+ version: string;
6098
+ /**
6099
+ * Generic AI-quality sub-score
6100
+ */
6101
+ aiQualityScore?: number;
6102
+ /**
6103
+ * Ids of briefs that contributed
6104
+ */
6105
+ appliedBriefIds?: Array<string>;
6106
+ /**
6107
+ * Brief-compliance sub-score (omitted when no brief applied)
6108
+ */
6109
+ briefComplianceScore?: number;
6110
+ /**
6111
+ * Per-dimension reasons and suggestions, as produced by the detector.
6112
+ *
6113
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
6114
+ * project that owns it — the brief-compliance text paraphrases that project's
6115
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
6116
+ * omitted when the archived verdict is unavailable (asset scored by an older
6117
+ * version, or an unreadable archive).
6118
+ */
6119
+ details?: SlopGuard.Details;
6120
+ /**
6121
+ * Error message when status is 'error' (truncated)
6122
+ */
6123
+ error?: string;
6124
+ /**
6125
+ * 0–100 composite score (present when status is 'scored')
6126
+ */
6127
+ overallScore?: number;
6128
+ /**
6129
+ * Sensitivity used for the verdict
6130
+ */
6131
+ sensitivity?: 'high' | 'low' | 'medium';
6132
+ /**
6133
+ * pass / warn / fail (present when status is 'scored')
6134
+ */
6135
+ verdict?: 'fail' | 'pass' | 'warn';
6136
+ }
6137
+ namespace SlopGuard {
6138
+ /**
6139
+ * Per-dimension reasons and suggestions, as produced by the detector.
6140
+ *
6141
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
6142
+ * project that owns it — the brief-compliance text paraphrases that project's
6143
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
6144
+ * omitted when the archived verdict is unavailable (asset scored by an older
6145
+ * version, or an unreadable archive).
6146
+ */
6147
+ interface Details {
6148
+ /**
6149
+ * Always-on generic AI-quality dimension
6150
+ */
6151
+ aiQuality: Details.AIQuality;
6152
+ /**
6153
+ * Brief-compliance dimension; omitted when no brief applied
6154
+ */
6155
+ briefCompliance?: Details.BriefCompliance;
6156
+ }
6157
+ namespace Details {
6158
+ /**
6159
+ * Always-on generic AI-quality dimension
6160
+ */
6161
+ interface AIQuality {
6162
+ /**
6163
+ * Why the image scored as it did
6164
+ */
6165
+ reasons: Array<string>;
6166
+ /**
6167
+ * 0–100; higher is better (more compliant / less AI-looking)
6168
+ */
6169
+ score: number;
6170
+ /**
6171
+ * Actionable suggestions to improve the score
6172
+ */
6173
+ suggestions: Array<string>;
6174
+ }
6175
+ /**
6176
+ * Brief-compliance dimension; omitted when no brief applied
6177
+ */
6178
+ interface BriefCompliance {
6179
+ /**
6180
+ * Why the image scored as it did
6181
+ */
6182
+ reasons: Array<string>;
6183
+ /**
6184
+ * 0–100; higher is better (more compliant / less AI-looking)
6185
+ */
6186
+ score: number;
6187
+ /**
6188
+ * Actionable suggestions to improve the score
6189
+ */
6190
+ suggestions: Array<string>;
6191
+ }
6192
+ }
6193
+ }
5340
6194
  /**
5341
6195
  * The asset's thumbnail.
5342
6196
  *
@@ -5488,6 +6342,13 @@ export declare namespace AssetUploadResponse {
5488
6342
  * Contains the assetId and the url of the preview.
5489
6343
  */
5490
6344
  preview?: Asset.Preview;
6345
+ /**
6346
+ * SlopGuard detection result, computed asynchronously after generation.
6347
+ *
6348
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
6349
+ * asset is read with `withSlopGuardDetails=true`.
6350
+ */
6351
+ slopGuard?: Asset.SlopGuard;
5491
6352
  /**
5492
6353
  * The asset's thumbnail.
5493
6354
  *
@@ -6103,6 +6964,121 @@ export declare namespace AssetUploadResponse {
6103
6964
  assetId: string;
6104
6965
  url: string;
6105
6966
  }
6967
+ /**
6968
+ * SlopGuard detection result, computed asynchronously after generation.
6969
+ *
6970
+ * `details` (the per-dimension reasons and suggestions) is returned only when the
6971
+ * asset is read with `withSlopGuardDetails=true`.
6972
+ */
6973
+ interface SlopGuard {
6974
+ /**
6975
+ * ISO-8601 timestamp of when scoring ran
6976
+ */
6977
+ computedAt: string;
6978
+ /**
6979
+ * Whether scoring succeeded or errored
6980
+ */
6981
+ status: 'error' | 'scored';
6982
+ /**
6983
+ * Rubric/model version that produced this result
6984
+ */
6985
+ version: string;
6986
+ /**
6987
+ * Generic AI-quality sub-score
6988
+ */
6989
+ aiQualityScore?: number;
6990
+ /**
6991
+ * Ids of briefs that contributed
6992
+ */
6993
+ appliedBriefIds?: Array<string>;
6994
+ /**
6995
+ * Brief-compliance sub-score (omitted when no brief applied)
6996
+ */
6997
+ briefComplianceScore?: number;
6998
+ /**
6999
+ * Per-dimension reasons and suggestions, as produced by the detector.
7000
+ *
7001
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
7002
+ * project that owns it — the brief-compliance text paraphrases that project's
7003
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
7004
+ * omitted when the archived verdict is unavailable (asset scored by an older
7005
+ * version, or an unreadable archive).
7006
+ */
7007
+ details?: SlopGuard.Details;
7008
+ /**
7009
+ * Error message when status is 'error' (truncated)
7010
+ */
7011
+ error?: string;
7012
+ /**
7013
+ * 0–100 composite score (present when status is 'scored')
7014
+ */
7015
+ overallScore?: number;
7016
+ /**
7017
+ * Sensitivity used for the verdict
7018
+ */
7019
+ sensitivity?: 'high' | 'low' | 'medium';
7020
+ /**
7021
+ * pass / warn / fail (present when status is 'scored')
7022
+ */
7023
+ verdict?: 'fail' | 'pass' | 'warn';
7024
+ }
7025
+ namespace SlopGuard {
7026
+ /**
7027
+ * Per-dimension reasons and suggestions, as produced by the detector.
7028
+ *
7029
+ * Returned only when the asset is read with `withSlopGuardDetails=true` by the
7030
+ * project that owns it — the brief-compliance text paraphrases that project's
7031
+ * brief, so a cross-project read of a public asset gets the summary alone. Also
7032
+ * omitted when the archived verdict is unavailable (asset scored by an older
7033
+ * version, or an unreadable archive).
7034
+ */
7035
+ interface Details {
7036
+ /**
7037
+ * Always-on generic AI-quality dimension
7038
+ */
7039
+ aiQuality: Details.AIQuality;
7040
+ /**
7041
+ * Brief-compliance dimension; omitted when no brief applied
7042
+ */
7043
+ briefCompliance?: Details.BriefCompliance;
7044
+ }
7045
+ namespace Details {
7046
+ /**
7047
+ * Always-on generic AI-quality dimension
7048
+ */
7049
+ interface AIQuality {
7050
+ /**
7051
+ * Why the image scored as it did
7052
+ */
7053
+ reasons: Array<string>;
7054
+ /**
7055
+ * 0–100; higher is better (more compliant / less AI-looking)
7056
+ */
7057
+ score: number;
7058
+ /**
7059
+ * Actionable suggestions to improve the score
7060
+ */
7061
+ suggestions: Array<string>;
7062
+ }
7063
+ /**
7064
+ * Brief-compliance dimension; omitted when no brief applied
7065
+ */
7066
+ interface BriefCompliance {
7067
+ /**
7068
+ * Why the image scored as it did
7069
+ */
7070
+ reasons: Array<string>;
7071
+ /**
7072
+ * 0–100; higher is better (more compliant / less AI-looking)
7073
+ */
7074
+ score: number;
7075
+ /**
7076
+ * Actionable suggestions to improve the score
7077
+ */
7078
+ suggestions: Array<string>;
7079
+ }
7080
+ }
7081
+ }
6106
7082
  /**
6107
7083
  * The asset's thumbnail.
6108
7084
  *
@@ -6794,6 +7770,26 @@ export declare namespace AssetUploadResponse {
6794
7770
  interface Billing {
6795
7771
  cuCost: number;
6796
7772
  cuDiscount: number;
7773
+ /**
7774
+ * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7775
+ * top of the generation itself, such as `slop-detection`.
7776
+ *
7777
+ * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7778
+ * values here.
7779
+ *
7780
+ * Two caveats when displaying it:
7781
+ *
7782
+ * - These are a remaining refundable balance, not a receipt: a job that failed or
7783
+ * was cancelled has had its add-ons refunded, so they read 0 while `cuCost`
7784
+ * still shows the main action's original charge.
7785
+ * - `ip-detection` is part of the shape but is never populated today: that fee is
7786
+ * charged outside the job and reported once, as
7787
+ * `ipDetection.creativeUnitsCharged`, in the response of the request that ran
7788
+ * it.
7789
+ *
7790
+ * Absent when the job paid for no add-on.
7791
+ */
7792
+ cuCostDetails?: Billing.CuCostDetails;
6797
7793
  /**
6798
7794
  * When true, the credits charged for this job are not automatically refunded if
6799
7795
  * the generation fails, because the model used does not support refund-on-failure.
@@ -6801,6 +7797,31 @@ export declare namespace AssetUploadResponse {
6801
7797
  */
6802
7798
  disableRefund?: boolean;
6803
7799
  }
7800
+ namespace Billing {
7801
+ /**
7802
+ * Compute Units charged for the ADD-ONS of this job, per action — the fees paid on
7803
+ * top of the generation itself, such as `slop-detection`.
7804
+ *
7805
+ * `cuCost` above is the main action alone, so the job's total is `cuCost` plus the
7806
+ * values here.
7807
+ *
7808
+ * Two caveats when displaying it:
7809
+ *
7810
+ * - These are a remaining refundable balance, not a receipt: a job that failed or
7811
+ * was cancelled has had its add-ons refunded, so they read 0 while `cuCost`
7812
+ * still shows the main action's original charge.
7813
+ * - `ip-detection` is part of the shape but is never populated today: that fee is
7814
+ * charged outside the job and reported once, as
7815
+ * `ipDetection.creativeUnitsCharged`, in the response of the request that ran
7816
+ * it.
7817
+ *
7818
+ * Absent when the job paid for no add-on.
7819
+ */
7820
+ interface CuCostDetails {
7821
+ 'ip-detection'?: number;
7822
+ 'slop-detection'?: number;
7823
+ }
7824
+ }
6804
7825
  }
6805
7826
  }
6806
7827
  export interface AssetRetrieveParams {
@@ -6808,16 +7829,33 @@ export interface AssetRetrieveParams {
6808
7829
  * If set to true, returns the original asset without transformation
6809
7830
  */
6810
7831
  originalAssets?: boolean;
7832
+ /**
7833
+ * The projectId used for ownership resource management. Either to assert ownership
7834
+ * or to set the owner of the resource(s)
7835
+ */
7836
+ projectId?: string;
6811
7837
  /**
6812
7838
  * Include the embedding in the response
6813
7839
  */
6814
7840
  withEmbedding?: boolean;
7841
+ /**
7842
+ * Include the per-dimension SlopGuard verdict (`slopGuard.details`: reasons and
7843
+ * suggestions for each scored dimension). Honoured only when the asset belongs to
7844
+ * the calling project, since the brief-compliance text paraphrases that project’s
7845
+ * brief; ignored otherwise, including on public unauthenticated access.
7846
+ */
7847
+ withSlopGuardDetails?: boolean;
6815
7848
  }
6816
7849
  export interface AssetUpdateParams {
6817
7850
  /**
6818
7851
  * Query param: If set to true, returns the original asset without transformation
6819
7852
  */
6820
7853
  originalAssets?: boolean;
7854
+ /**
7855
+ * Query param: The projectId used for ownership resource management. Either to
7856
+ * assert ownership or to set the owner of the resource(s)
7857
+ */
7858
+ projectId?: string;
6821
7859
  /**
6822
7860
  * Body param: The new value for the canvas as a stringified JSON.
6823
7861
  */
@@ -6890,6 +7928,11 @@ export interface AssetListParams extends AssetsCursorParams {
6890
7928
  * assets from all organizations
6891
7929
  */
6892
7930
  privacy?: string;
7931
+ /**
7932
+ * The projectId used for ownership resource management. Either to assert ownership
7933
+ * or to set the owner of the resource(s)
7934
+ */
7935
+ projectId?: string;
6893
7936
  /**
6894
7937
  * List all the children assets that were generated from a specific root asset
6895
7938
  */
@@ -6966,15 +8009,25 @@ export interface AssetListParams extends AssetsCursorParams {
6966
8009
  }
6967
8010
  export interface AssetDeleteMultipleParams {
6968
8011
  /**
6969
- * The ids of the assets to delete. (Max 100 at once)
8012
+ * Body param: The ids of the assets to delete. (Max 100 at once)
6970
8013
  */
6971
8014
  assetIds: Array<string>;
8015
+ /**
8016
+ * Query param: The projectId used for ownership resource management. Either to
8017
+ * assert ownership or to set the owner of the resource(s)
8018
+ */
8019
+ projectId?: string;
6972
8020
  }
6973
8021
  export interface AssetDuplicateParams {
6974
8022
  /**
6975
8023
  * Query param: If set to true, returns the original asset without transformation
6976
8024
  */
6977
8025
  originalAssets?: boolean;
8026
+ /**
8027
+ * Query param: The projectId used for ownership resource management. Either to
8028
+ * assert ownership or to set the owner of the resource(s)
8029
+ */
8030
+ projectId?: string;
6978
8031
  /**
6979
8032
  * Body param: The id of the project to copy the asset to. If not provided, the
6980
8033
  * asset will be copied to the canvas project.
@@ -6986,6 +8039,11 @@ export interface AssetGetBulkParams {
6986
8039
  * Query param: If set to true, returns the original asset without transformation
6987
8040
  */
6988
8041
  originalAssets?: boolean;
8042
+ /**
8043
+ * Query param: The projectId used for ownership resource management. Either to
8044
+ * assert ownership or to set the owner of the resource(s)
8045
+ */
8046
+ projectId?: string;
6989
8047
  /**
6990
8048
  * Body param: The list of asset ids the team has read access to. Limit of 200
6991
8049
  * assets.
@@ -6998,6 +8056,11 @@ export interface AssetListSnapshotsParams extends SnapshotsCursorParams {
6998
8056
  * value is 100, minimum value is 10
6999
8057
  */
7000
8058
  pageSize?: number;
8059
+ /**
8060
+ * The projectId used for ownership resource management. Either to assert ownership
8061
+ * or to set the owner of the resource(s)
8062
+ */
8063
+ projectId?: string;
7001
8064
  }
7002
8065
  export interface AssetLockParams {
7003
8066
  /**
@@ -7008,12 +8071,22 @@ export interface AssetLockParams {
7008
8071
  * Query param: If set to true, returns the original asset without transformation
7009
8072
  */
7010
8073
  originalAssets?: boolean;
8074
+ /**
8075
+ * Query param: The projectId used for ownership resource management. Either to
8076
+ * assert ownership or to set the owner of the resource(s)
8077
+ */
8078
+ projectId?: string;
7011
8079
  }
7012
8080
  export interface AssetUnlockParams {
7013
8081
  /**
7014
8082
  * Query param: If set to true, returns the original asset without transformation
7015
8083
  */
7016
8084
  originalAssets?: boolean;
8085
+ /**
8086
+ * Query param: The projectId used for ownership resource management. Either to
8087
+ * assert ownership or to set the owner of the resource(s)
8088
+ */
8089
+ projectId?: string;
7017
8090
  /**
7018
8091
  * Body param: If true, no need to pass a lockId.
7019
8092
  */
@@ -7025,15 +8098,20 @@ export interface AssetUnlockParams {
7025
8098
  }
7026
8099
  export interface AssetUpdateTagsParams {
7027
8100
  /**
7028
- * The list of tags to add
8101
+ * Query param: The projectId used for ownership resource management. Either to
8102
+ * assert ownership or to set the owner of the resource(s)
8103
+ */
8104
+ projectId?: string;
8105
+ /**
8106
+ * Body param: The list of tags to add
7029
8107
  */
7030
8108
  add?: Array<string>;
7031
8109
  /**
7032
- * The list of tags to delete
8110
+ * Body param: The list of tags to delete
7033
8111
  */
7034
8112
  delete?: Array<string>;
7035
8113
  /**
7036
- * If true, the function will throw an error if:
8114
+ * Body param: If true, the function will throw an error if:
7037
8115
  *
7038
8116
  * - one of the tags to add already exists
7039
8117
  * - one of the tags to delete is not found If false, the endpoint will behave as
@@ -7050,6 +8128,11 @@ export interface AssetUploadParams {
7050
8128
  * Query param: If set to true, returns the original asset without transformation
7051
8129
  */
7052
8130
  originalAssets?: boolean;
8131
+ /**
8132
+ * Query param: The projectId used for ownership resource management. Either to
8133
+ * assert ownership or to set the owner of the resource(s)
8134
+ */
8135
+ projectId?: string;
7053
8136
  /**
7054
8137
  * Body param: The canvas to upload as a stringified JSON. Ignored if `image` is
7055
8138
  * provided.
@@ -7080,6 +8163,6 @@ export interface AssetUploadParams {
7080
8163
  }
7081
8164
  export declare namespace Assets {
7082
8165
  export { type AssetRetrieveResponse as AssetRetrieveResponse, type AssetUpdateResponse as AssetUpdateResponse, type AssetListResponse as AssetListResponse, type AssetDeleteMultipleResponse as AssetDeleteMultipleResponse, type AssetDuplicateResponse as AssetDuplicateResponse, type AssetGetBulkResponse as AssetGetBulkResponse, type AssetListSnapshotsResponse as AssetListSnapshotsResponse, type AssetLockResponse as AssetLockResponse, type AssetUnlockResponse as AssetUnlockResponse, type AssetUpdateTagsResponse as AssetUpdateTagsResponse, type AssetUploadResponse as AssetUploadResponse, type AssetListResponsesAssetsCursor as AssetListResponsesAssetsCursor, type AssetListSnapshotsResponsesSnapshotsCursor as AssetListSnapshotsResponsesSnapshotsCursor, type AssetRetrieveParams as AssetRetrieveParams, type AssetUpdateParams as AssetUpdateParams, type AssetListParams as AssetListParams, type AssetDeleteMultipleParams as AssetDeleteMultipleParams, type AssetDuplicateParams as AssetDuplicateParams, type AssetGetBulkParams as AssetGetBulkParams, type AssetListSnapshotsParams as AssetListSnapshotsParams, type AssetLockParams as AssetLockParams, type AssetUnlockParams as AssetUnlockParams, type AssetUpdateTagsParams as AssetUpdateTagsParams, type AssetUploadParams as AssetUploadParams, };
7083
- export { Download as Download, type DownloadGetStatusResponse as DownloadGetStatusResponse, type DownloadRequestResponse as DownloadRequestResponse, type DownloadRequestBatchResponse as DownloadRequestBatchResponse, type DownloadRequestParams as DownloadRequestParams, type DownloadRequestBatchParams as DownloadRequestBatchParams, };
8166
+ export { Download as Download, type DownloadGetStatusResponse as DownloadGetStatusResponse, type DownloadRequestResponse as DownloadRequestResponse, type DownloadRequestBatchResponse as DownloadRequestBatchResponse, type DownloadGetStatusParams as DownloadGetStatusParams, type DownloadRequestParams as DownloadRequestParams, type DownloadRequestBatchParams as DownloadRequestBatchParams, };
7084
8167
  }
7085
8168
  //# sourceMappingURL=assets.d.mts.map