@scenario-labs/sdk 3.1.0 → 3.3.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 (529) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/client.d.mts +22 -7
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +22 -7
  5. package/client.d.ts.map +1 -1
  6. package/client.js +9 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +9 -0
  9. package/client.mjs.map +1 -1
  10. package/core/pagination.d.mts +42 -0
  11. package/core/pagination.d.mts.map +1 -1
  12. package/core/pagination.d.ts +42 -0
  13. package/core/pagination.d.ts.map +1 -1
  14. package/core/pagination.js +79 -1
  15. package/core/pagination.js.map +1 -1
  16. package/core/pagination.mjs +75 -0
  17. package/core/pagination.mjs.map +1 -1
  18. package/internal/utils/values.d.mts +6 -0
  19. package/internal/utils/values.d.mts.map +1 -1
  20. package/internal/utils/values.d.ts +6 -0
  21. package/internal/utils/values.d.ts.map +1 -1
  22. package/internal/utils/values.js +11 -0
  23. package/internal/utils/values.js.map +1 -1
  24. package/internal/utils/values.mjs +10 -0
  25. package/internal/utils/values.mjs.map +1 -1
  26. package/lib/generate.js +7 -7
  27. package/lib/generate.js.map +1 -1
  28. package/lib/generate.mjs +7 -7
  29. package/lib/generate.mjs.map +1 -1
  30. package/lib/job.d.mts +1 -1
  31. package/lib/job.d.mts.map +1 -1
  32. package/lib/job.d.ts +1 -1
  33. package/lib/job.d.ts.map +1 -1
  34. package/lib/job.js +5 -6
  35. package/lib/job.js.map +1 -1
  36. package/lib/job.mjs +6 -7
  37. package/lib/job.mjs.map +1 -1
  38. package/lib/models.d.mts.map +1 -1
  39. package/lib/models.d.ts.map +1 -1
  40. package/lib/models.js +7 -5
  41. package/lib/models.js.map +1 -1
  42. package/lib/models.mjs +8 -6
  43. package/lib/models.mjs.map +1 -1
  44. package/lib/query.d.mts +21 -0
  45. package/lib/query.d.mts.map +1 -0
  46. package/lib/query.d.ts +21 -0
  47. package/lib/query.d.ts.map +1 -0
  48. package/lib/query.js +36 -0
  49. package/lib/query.js.map +1 -0
  50. package/lib/query.mjs +33 -0
  51. package/lib/query.mjs.map +1 -0
  52. package/lib/scenario.d.mts +3 -0
  53. package/lib/scenario.d.mts.map +1 -1
  54. package/lib/scenario.d.ts +3 -0
  55. package/lib/scenario.d.ts.map +1 -1
  56. package/lib/scenario.js +6 -0
  57. package/lib/scenario.js.map +1 -1
  58. package/lib/scenario.mjs +6 -0
  59. package/lib/scenario.mjs.map +1 -1
  60. package/lib/scope.d.mts +27 -7
  61. package/lib/scope.d.mts.map +1 -1
  62. package/lib/scope.d.ts +27 -7
  63. package/lib/scope.d.ts.map +1 -1
  64. package/lib/scope.js +40 -7
  65. package/lib/scope.js.map +1 -1
  66. package/lib/scope.mjs +37 -7
  67. package/lib/scope.mjs.map +1 -1
  68. package/lib/upload.d.mts +1 -1
  69. package/lib/upload.d.mts.map +1 -1
  70. package/lib/upload.d.ts +1 -1
  71. package/lib/upload.d.ts.map +1 -1
  72. package/lib/upload.js +6 -7
  73. package/lib/upload.js.map +1 -1
  74. package/lib/upload.mjs +7 -8
  75. package/lib/upload.mjs.map +1 -1
  76. package/lib/workflow.d.mts.map +1 -1
  77. package/lib/workflow.d.ts.map +1 -1
  78. package/lib/workflow.js +8 -6
  79. package/lib/workflow.js.map +1 -1
  80. package/lib/workflow.mjs +9 -7
  81. package/lib/workflow.mjs.map +1 -1
  82. package/lib/workflow_converter.d.mts +6 -0
  83. package/lib/workflow_converter.d.mts.map +1 -1
  84. package/lib/workflow_converter.d.ts +6 -0
  85. package/lib/workflow_converter.d.ts.map +1 -1
  86. package/lib/workflow_converter.js +99 -12
  87. package/lib/workflow_converter.js.map +1 -1
  88. package/lib/workflow_converter.mjs +99 -12
  89. package/lib/workflow_converter.mjs.map +1 -1
  90. package/lib/workflow_validator.d.mts +8 -1
  91. package/lib/workflow_validator.d.mts.map +1 -1
  92. package/lib/workflow_validator.d.ts +8 -1
  93. package/lib/workflow_validator.d.ts.map +1 -1
  94. package/lib/workflow_validator.js +154 -1
  95. package/lib/workflow_validator.js.map +1 -1
  96. package/lib/workflow_validator.mjs +154 -1
  97. package/lib/workflow_validator.mjs.map +1 -1
  98. package/package.json +1 -1
  99. package/resources/assets/assets.d.mts +304 -122
  100. package/resources/assets/assets.d.mts.map +1 -1
  101. package/resources/assets/assets.d.ts +304 -122
  102. package/resources/assets/assets.d.ts.map +1 -1
  103. package/resources/assets/assets.js +34 -11
  104. package/resources/assets/assets.js.map +1 -1
  105. package/resources/assets/assets.mjs +34 -11
  106. package/resources/assets/assets.mjs.map +1 -1
  107. package/resources/assets/download.d.mts +39 -5
  108. package/resources/assets/download.d.mts.map +1 -1
  109. package/resources/assets/download.d.ts +39 -5
  110. package/resources/assets/download.d.ts.map +1 -1
  111. package/resources/assets/download.js +16 -4
  112. package/resources/assets/download.js.map +1 -1
  113. package/resources/assets/download.mjs +16 -4
  114. package/resources/assets/download.mjs.map +1 -1
  115. package/resources/collections/assets.d.mts.map +1 -1
  116. package/resources/collections/assets.d.ts.map +1 -1
  117. package/resources/collections/assets.js +3 -2
  118. package/resources/collections/assets.js.map +1 -1
  119. package/resources/collections/assets.mjs +3 -2
  120. package/resources/collections/assets.mjs.map +1 -1
  121. package/resources/collections/collections.d.mts.map +1 -1
  122. package/resources/collections/collections.d.ts.map +1 -1
  123. package/resources/collections/collections.js +20 -5
  124. package/resources/collections/collections.js.map +1 -1
  125. package/resources/collections/collections.mjs +20 -5
  126. package/resources/collections/collections.mjs.map +1 -1
  127. package/resources/collections/models.d.mts.map +1 -1
  128. package/resources/collections/models.d.ts.map +1 -1
  129. package/resources/collections/models.js +3 -2
  130. package/resources/collections/models.js.map +1 -1
  131. package/resources/collections/models.mjs +3 -2
  132. package/resources/collections/models.mjs.map +1 -1
  133. package/resources/generate.d.mts +2089 -437
  134. package/resources/generate.d.mts.map +1 -1
  135. package/resources/generate.d.ts +2089 -437
  136. package/resources/generate.d.ts.map +1 -1
  137. package/resources/generate.js +62 -9
  138. package/resources/generate.js.map +1 -1
  139. package/resources/generate.mjs +62 -9
  140. package/resources/generate.mjs.map +1 -1
  141. package/resources/index.d.mts +6 -3
  142. package/resources/index.d.mts.map +1 -1
  143. package/resources/index.d.ts +6 -3
  144. package/resources/index.d.ts.map +1 -1
  145. package/resources/index.js +7 -1
  146. package/resources/index.js.map +1 -1
  147. package/resources/index.mjs +3 -0
  148. package/resources/index.mjs.map +1 -1
  149. package/resources/jobs.d.mts +253 -120
  150. package/resources/jobs.d.mts.map +1 -1
  151. package/resources/jobs.d.ts +253 -120
  152. package/resources/jobs.d.ts.map +1 -1
  153. package/resources/jobs.js +13 -5
  154. package/resources/jobs.js.map +1 -1
  155. package/resources/jobs.mjs +13 -5
  156. package/resources/jobs.mjs.map +1 -1
  157. package/resources/models/description.d.mts +18 -0
  158. package/resources/models/description.d.mts.map +1 -1
  159. package/resources/models/description.d.ts +18 -0
  160. package/resources/models/description.d.ts.map +1 -1
  161. package/resources/models/description.js +6 -2
  162. package/resources/models/description.js.map +1 -1
  163. package/resources/models/description.mjs +6 -2
  164. package/resources/models/description.mjs.map +1 -1
  165. package/resources/models/examples.d.mts +198 -92
  166. package/resources/models/examples.d.mts.map +1 -1
  167. package/resources/models/examples.d.ts +198 -92
  168. package/resources/models/examples.d.ts.map +1 -1
  169. package/resources/models/examples.js +6 -2
  170. package/resources/models/examples.js.map +1 -1
  171. package/resources/models/examples.mjs +6 -2
  172. package/resources/models/examples.mjs.map +1 -1
  173. package/resources/models/index.d.mts +3 -0
  174. package/resources/models/index.d.mts.map +1 -1
  175. package/resources/models/index.d.ts +3 -0
  176. package/resources/models/index.d.ts.map +1 -1
  177. package/resources/models/index.js +7 -1
  178. package/resources/models/index.js.map +1 -1
  179. package/resources/models/index.mjs +3 -0
  180. package/resources/models/index.mjs.map +1 -1
  181. package/resources/models/models.d.mts +346 -112
  182. package/resources/models/models.d.mts.map +1 -1
  183. package/resources/models/models.d.ts +346 -112
  184. package/resources/models/models.d.ts.map +1 -1
  185. package/resources/models/models.js +57 -12
  186. package/resources/models/models.js.map +1 -1
  187. package/resources/models/models.mjs +57 -12
  188. package/resources/models/models.mjs.map +1 -1
  189. package/resources/models/presets.d.mts +1016 -0
  190. package/resources/models/presets.d.mts.map +1 -0
  191. package/resources/models/presets.d.ts +1016 -0
  192. package/resources/models/presets.d.ts.map +1 -0
  193. package/resources/models/presets.js +52 -0
  194. package/resources/models/presets.js.map +1 -0
  195. package/resources/models/presets.mjs +48 -0
  196. package/resources/models/presets.mjs.map +1 -0
  197. package/resources/models/prompt-guide.d.mts +64 -0
  198. package/resources/models/prompt-guide.d.mts.map +1 -0
  199. package/resources/models/prompt-guide.d.ts +64 -0
  200. package/resources/models/prompt-guide.d.ts.map +1 -0
  201. package/resources/models/prompt-guide.js +31 -0
  202. package/resources/models/prompt-guide.js.map +1 -0
  203. package/resources/models/prompt-guide.mjs +27 -0
  204. package/resources/models/prompt-guide.mjs.map +1 -0
  205. package/resources/models/scores.d.mts +278 -0
  206. package/resources/models/scores.d.mts.map +1 -0
  207. package/resources/models/scores.d.ts +278 -0
  208. package/resources/models/scores.d.ts.map +1 -0
  209. package/resources/models/scores.js +29 -0
  210. package/resources/models/scores.js.map +1 -0
  211. package/resources/models/scores.mjs +25 -0
  212. package/resources/models/scores.mjs.map +1 -0
  213. package/resources/models/train.d.mts +186 -83
  214. package/resources/models/train.d.mts.map +1 -1
  215. package/resources/models/train.d.ts +186 -83
  216. package/resources/models/train.d.ts.map +1 -1
  217. package/resources/models/train.js +4 -3
  218. package/resources/models/train.js.map +1 -1
  219. package/resources/models/train.mjs +4 -3
  220. package/resources/models/train.mjs.map +1 -1
  221. package/resources/models/training-images.d.mts.map +1 -1
  222. package/resources/models/training-images.d.ts.map +1 -1
  223. package/resources/models/training-images.js +5 -4
  224. package/resources/models/training-images.js.map +1 -1
  225. package/resources/models/training-images.mjs +5 -4
  226. package/resources/models/training-images.mjs.map +1 -1
  227. package/resources/projects/api-keys.d.mts +54 -0
  228. package/resources/projects/api-keys.d.mts.map +1 -0
  229. package/resources/projects/api-keys.d.ts +54 -0
  230. package/resources/projects/api-keys.d.ts.map +1 -0
  231. package/resources/projects/api-keys.js +23 -0
  232. package/resources/projects/api-keys.js.map +1 -0
  233. package/resources/projects/api-keys.mjs +19 -0
  234. package/resources/projects/api-keys.mjs.map +1 -0
  235. package/resources/projects/brief.d.mts +149 -0
  236. package/resources/projects/brief.d.mts.map +1 -0
  237. package/resources/projects/brief.d.ts +149 -0
  238. package/resources/projects/brief.d.ts.map +1 -0
  239. package/resources/projects/brief.js +28 -0
  240. package/resources/projects/brief.js.map +1 -0
  241. package/resources/projects/brief.mjs +24 -0
  242. package/resources/projects/brief.mjs.map +1 -0
  243. package/resources/projects/index.d.mts +9 -0
  244. package/resources/projects/index.d.mts.map +1 -0
  245. package/resources/projects/index.d.ts +9 -0
  246. package/resources/projects/index.d.ts.map +1 -0
  247. package/resources/projects/index.js +21 -0
  248. package/resources/projects/index.js.map +1 -0
  249. package/resources/projects/index.mjs +10 -0
  250. package/resources/projects/index.mjs.map +1 -0
  251. package/resources/projects/instructions.d.mts +102 -0
  252. package/resources/projects/instructions.d.mts.map +1 -0
  253. package/resources/projects/instructions.d.ts +102 -0
  254. package/resources/projects/instructions.d.ts.map +1 -0
  255. package/resources/projects/instructions.js +24 -0
  256. package/resources/projects/instructions.js.map +1 -0
  257. package/resources/projects/instructions.mjs +20 -0
  258. package/resources/projects/instructions.mjs.map +1 -0
  259. package/resources/projects/members.d.mts +788 -0
  260. package/resources/projects/members.d.mts.map +1 -0
  261. package/resources/projects/members.d.ts +788 -0
  262. package/resources/projects/members.d.ts.map +1 -0
  263. package/resources/projects/members.js +30 -0
  264. package/resources/projects/members.js.map +1 -0
  265. package/resources/projects/members.mjs +26 -0
  266. package/resources/projects/members.mjs.map +1 -0
  267. package/resources/projects/memory.d.mts +102 -0
  268. package/resources/projects/memory.d.mts.map +1 -0
  269. package/resources/projects/memory.d.ts +102 -0
  270. package/resources/projects/memory.d.ts.map +1 -0
  271. package/resources/projects/memory.js +24 -0
  272. package/resources/projects/memory.js.map +1 -0
  273. package/resources/projects/memory.mjs +20 -0
  274. package/resources/projects/memory.mjs.map +1 -0
  275. package/resources/projects/projects.d.mts +1129 -0
  276. package/resources/projects/projects.d.mts.map +1 -0
  277. package/resources/projects/projects.d.ts +1129 -0
  278. package/resources/projects/projects.d.ts.map +1 -0
  279. package/resources/projects/projects.js +79 -0
  280. package/resources/projects/projects.js.map +1 -0
  281. package/resources/projects/projects.mjs +74 -0
  282. package/resources/projects/projects.mjs.map +1 -0
  283. package/resources/projects/watermark.d.mts +459 -0
  284. package/resources/projects/watermark.d.mts.map +1 -0
  285. package/resources/projects/watermark.d.ts +459 -0
  286. package/resources/projects/watermark.d.ts.map +1 -0
  287. package/resources/projects/watermark.js +46 -0
  288. package/resources/projects/watermark.js.map +1 -0
  289. package/resources/projects/watermark.mjs +42 -0
  290. package/resources/projects/watermark.mjs.map +1 -0
  291. package/resources/projects/webhook-endpoints/events.d.mts +87 -0
  292. package/resources/projects/webhook-endpoints/events.d.mts.map +1 -0
  293. package/resources/projects/webhook-endpoints/events.d.ts +87 -0
  294. package/resources/projects/webhook-endpoints/events.d.ts.map +1 -0
  295. package/resources/projects/webhook-endpoints/events.js +28 -0
  296. package/resources/projects/webhook-endpoints/events.js.map +1 -0
  297. package/resources/projects/webhook-endpoints/events.mjs +24 -0
  298. package/resources/projects/webhook-endpoints/events.mjs.map +1 -0
  299. package/resources/projects/webhook-endpoints/index.d.mts +3 -0
  300. package/resources/projects/webhook-endpoints/index.d.mts.map +1 -0
  301. package/resources/projects/webhook-endpoints/index.d.ts +3 -0
  302. package/resources/projects/webhook-endpoints/index.d.ts.map +1 -0
  303. package/resources/projects/webhook-endpoints/index.js +9 -0
  304. package/resources/projects/webhook-endpoints/index.js.map +1 -0
  305. package/resources/projects/webhook-endpoints/index.mjs +4 -0
  306. package/resources/projects/webhook-endpoints/index.mjs.map +1 -0
  307. package/resources/projects/webhook-endpoints/webhook-endpoints.d.mts +249 -0
  308. package/resources/projects/webhook-endpoints/webhook-endpoints.d.mts.map +1 -0
  309. package/resources/projects/webhook-endpoints/webhook-endpoints.d.ts +249 -0
  310. package/resources/projects/webhook-endpoints/webhook-endpoints.d.ts.map +1 -0
  311. package/resources/projects/webhook-endpoints/webhook-endpoints.js +44 -0
  312. package/resources/projects/webhook-endpoints/webhook-endpoints.js.map +1 -0
  313. package/resources/projects/webhook-endpoints/webhook-endpoints.mjs +39 -0
  314. package/resources/projects/webhook-endpoints/webhook-endpoints.mjs.map +1 -0
  315. package/resources/projects/webhook-endpoints.d.mts +2 -0
  316. package/resources/projects/webhook-endpoints.d.mts.map +1 -0
  317. package/resources/projects/webhook-endpoints.d.ts +2 -0
  318. package/resources/projects/webhook-endpoints.d.ts.map +1 -0
  319. package/resources/projects/webhook-endpoints.js +6 -0
  320. package/resources/projects/webhook-endpoints.js.map +1 -0
  321. package/resources/projects/webhook-endpoints.mjs +3 -0
  322. package/resources/projects/webhook-endpoints.mjs.map +1 -0
  323. package/resources/projects.d.mts +2 -0
  324. package/resources/projects.d.mts.map +1 -0
  325. package/resources/projects.d.ts +2 -0
  326. package/resources/projects.d.ts.map +1 -0
  327. package/resources/projects.js +6 -0
  328. package/resources/projects.js.map +1 -0
  329. package/resources/projects.mjs +3 -0
  330. package/resources/projects.mjs.map +1 -0
  331. package/resources/recommendations.d.mts +1107 -0
  332. package/resources/recommendations.d.mts.map +1 -0
  333. package/resources/recommendations.d.ts +1107 -0
  334. package/resources/recommendations.d.ts.map +1 -0
  335. package/resources/recommendations.js +17 -0
  336. package/resources/recommendations.js.map +1 -0
  337. package/resources/recommendations.mjs +13 -0
  338. package/resources/recommendations.mjs.map +1 -0
  339. package/resources/search.d.mts +168 -5
  340. package/resources/search.d.mts.map +1 -1
  341. package/resources/search.d.ts +168 -5
  342. package/resources/search.d.ts.map +1 -1
  343. package/resources/search.js +17 -3
  344. package/resources/search.js.map +1 -1
  345. package/resources/search.mjs +17 -3
  346. package/resources/search.mjs.map +1 -1
  347. package/resources/tags.d.mts.map +1 -1
  348. package/resources/tags.d.ts.map +1 -1
  349. package/resources/tags.js +5 -1
  350. package/resources/tags.js.map +1 -1
  351. package/resources/tags.mjs +5 -1
  352. package/resources/tags.mjs.map +1 -1
  353. package/resources/teams/brief.d.mts +149 -0
  354. package/resources/teams/brief.d.mts.map +1 -0
  355. package/resources/teams/brief.d.ts +149 -0
  356. package/resources/teams/brief.d.ts.map +1 -0
  357. package/resources/teams/brief.js +28 -0
  358. package/resources/teams/brief.js.map +1 -0
  359. package/resources/teams/brief.mjs +24 -0
  360. package/resources/teams/brief.mjs.map +1 -0
  361. package/resources/teams/index.d.mts +7 -0
  362. package/resources/teams/index.d.mts.map +1 -0
  363. package/resources/teams/index.d.ts +7 -0
  364. package/resources/teams/index.d.ts.map +1 -0
  365. package/resources/teams/index.js +17 -0
  366. package/resources/teams/index.js.map +1 -0
  367. package/resources/teams/index.mjs +8 -0
  368. package/resources/teams/index.mjs.map +1 -0
  369. package/resources/teams/ip-filters.d.mts +115 -0
  370. package/resources/teams/ip-filters.d.mts.map +1 -0
  371. package/resources/teams/ip-filters.d.ts +115 -0
  372. package/resources/teams/ip-filters.d.ts.map +1 -0
  373. package/resources/teams/ip-filters.js +45 -0
  374. package/resources/teams/ip-filters.js.map +1 -0
  375. package/resources/teams/ip-filters.mjs +41 -0
  376. package/resources/teams/ip-filters.mjs.map +1 -0
  377. package/resources/teams/members.d.mts +204 -0
  378. package/resources/teams/members.d.mts.map +1 -0
  379. package/resources/teams/members.d.ts +204 -0
  380. package/resources/teams/members.d.ts.map +1 -0
  381. package/resources/teams/members.js +30 -0
  382. package/resources/teams/members.js.map +1 -0
  383. package/resources/teams/members.mjs +26 -0
  384. package/resources/teams/members.mjs.map +1 -0
  385. package/resources/teams/teams.d.mts +878 -0
  386. package/resources/teams/teams.d.mts.map +1 -0
  387. package/resources/teams/teams.d.ts +878 -0
  388. package/resources/teams/teams.d.ts.map +1 -0
  389. package/resources/teams/teams.js +66 -0
  390. package/resources/teams/teams.js.map +1 -0
  391. package/resources/teams/teams.mjs +61 -0
  392. package/resources/teams/teams.mjs.map +1 -0
  393. package/resources/teams/watermark.d.mts +459 -0
  394. package/resources/teams/watermark.d.mts.map +1 -0
  395. package/resources/teams/watermark.d.ts +459 -0
  396. package/resources/teams/watermark.d.ts.map +1 -0
  397. package/resources/teams/watermark.js +46 -0
  398. package/resources/teams/watermark.js.map +1 -0
  399. package/resources/teams/watermark.mjs +42 -0
  400. package/resources/teams/watermark.mjs.map +1 -0
  401. package/resources/teams/webhook-endpoints/events.d.mts +87 -0
  402. package/resources/teams/webhook-endpoints/events.d.mts.map +1 -0
  403. package/resources/teams/webhook-endpoints/events.d.ts +87 -0
  404. package/resources/teams/webhook-endpoints/events.d.ts.map +1 -0
  405. package/resources/teams/webhook-endpoints/events.js +28 -0
  406. package/resources/teams/webhook-endpoints/events.js.map +1 -0
  407. package/resources/teams/webhook-endpoints/events.mjs +24 -0
  408. package/resources/teams/webhook-endpoints/events.mjs.map +1 -0
  409. package/resources/teams/webhook-endpoints/index.d.mts +3 -0
  410. package/resources/teams/webhook-endpoints/index.d.mts.map +1 -0
  411. package/resources/teams/webhook-endpoints/index.d.ts +3 -0
  412. package/resources/teams/webhook-endpoints/index.d.ts.map +1 -0
  413. package/resources/teams/webhook-endpoints/index.js +9 -0
  414. package/resources/teams/webhook-endpoints/index.js.map +1 -0
  415. package/resources/teams/webhook-endpoints/index.mjs +4 -0
  416. package/resources/teams/webhook-endpoints/index.mjs.map +1 -0
  417. package/resources/teams/webhook-endpoints/webhook-endpoints.d.mts +250 -0
  418. package/resources/teams/webhook-endpoints/webhook-endpoints.d.mts.map +1 -0
  419. package/resources/teams/webhook-endpoints/webhook-endpoints.d.ts +250 -0
  420. package/resources/teams/webhook-endpoints/webhook-endpoints.d.ts.map +1 -0
  421. package/resources/teams/webhook-endpoints/webhook-endpoints.js +45 -0
  422. package/resources/teams/webhook-endpoints/webhook-endpoints.js.map +1 -0
  423. package/resources/teams/webhook-endpoints/webhook-endpoints.mjs +40 -0
  424. package/resources/teams/webhook-endpoints/webhook-endpoints.mjs.map +1 -0
  425. package/resources/teams/webhook-endpoints.d.mts +2 -0
  426. package/resources/teams/webhook-endpoints.d.mts.map +1 -0
  427. package/resources/teams/webhook-endpoints.d.ts +2 -0
  428. package/resources/teams/webhook-endpoints.d.ts.map +1 -0
  429. package/resources/teams/webhook-endpoints.js +6 -0
  430. package/resources/teams/webhook-endpoints.js.map +1 -0
  431. package/resources/teams/webhook-endpoints.mjs +3 -0
  432. package/resources/teams/webhook-endpoints.mjs.map +1 -0
  433. package/resources/teams.d.mts +2 -0
  434. package/resources/teams.d.mts.map +1 -0
  435. package/resources/teams.d.ts +2 -0
  436. package/resources/teams.d.ts.map +1 -0
  437. package/resources/teams.js +6 -0
  438. package/resources/teams.js.map +1 -0
  439. package/resources/teams.mjs +3 -0
  440. package/resources/teams.mjs.map +1 -0
  441. package/resources/uploads.d.mts +13 -3
  442. package/resources/uploads.d.mts.map +1 -1
  443. package/resources/uploads.d.ts +13 -3
  444. package/resources/uploads.d.ts.map +1 -1
  445. package/resources/uploads.js +16 -4
  446. package/resources/uploads.js.map +1 -1
  447. package/resources/uploads.mjs +16 -4
  448. package/resources/uploads.mjs.map +1 -1
  449. package/resources/usages.d.mts +85 -51
  450. package/resources/usages.d.mts.map +1 -1
  451. package/resources/usages.d.ts +85 -51
  452. package/resources/usages.d.ts.map +1 -1
  453. package/resources/usages.js +2 -1
  454. package/resources/usages.js.map +1 -1
  455. package/resources/usages.mjs +2 -1
  456. package/resources/usages.mjs.map +1 -1
  457. package/resources/workflows.d.mts +1639 -385
  458. package/resources/workflows.d.mts.map +1 -1
  459. package/resources/workflows.d.ts +1639 -385
  460. package/resources/workflows.d.ts.map +1 -1
  461. package/resources/workflows.js +39 -8
  462. package/resources/workflows.js.map +1 -1
  463. package/resources/workflows.mjs +39 -8
  464. package/resources/workflows.mjs.map +1 -1
  465. package/src/client.ts +107 -0
  466. package/src/core/pagination.ts +144 -0
  467. package/src/internal/utils/values.ts +10 -0
  468. package/src/lib/generate.ts +7 -7
  469. package/src/lib/job.ts +9 -7
  470. package/src/lib/models.ts +8 -6
  471. package/src/lib/query.ts +42 -0
  472. package/src/lib/scenario.ts +8 -0
  473. package/src/lib/scope.ts +42 -7
  474. package/src/lib/upload.ts +10 -8
  475. package/src/lib/workflow.ts +9 -7
  476. package/src/lib/workflow_converter.ts +126 -12
  477. package/src/lib/workflow_validator.ts +183 -1
  478. package/src/resources/assets/assets.ts +766 -132
  479. package/src/resources/assets/download.ts +61 -9
  480. package/src/resources/collections/assets.ts +3 -2
  481. package/src/resources/collections/collections.ts +20 -5
  482. package/src/resources/collections/models.ts +3 -2
  483. package/src/resources/generate.ts +2935 -512
  484. package/src/resources/index.ts +37 -0
  485. package/src/resources/jobs.ts +277 -121
  486. package/src/resources/models/description.ts +126 -2
  487. package/src/resources/models/examples.ts +318 -92
  488. package/src/resources/models/index.ts +25 -0
  489. package/src/resources/models/models.ts +463 -124
  490. package/src/resources/models/presets.ts +1335 -0
  491. package/src/resources/models/prompt-guide.ts +102 -0
  492. package/src/resources/models/scores.ts +383 -0
  493. package/src/resources/models/train.ts +202 -87
  494. package/src/resources/models/training-images.ts +5 -4
  495. package/src/resources/projects/api-keys.ts +86 -0
  496. package/src/resources/projects/brief.ts +197 -0
  497. package/src/resources/projects/index.ts +71 -0
  498. package/src/resources/projects/instructions.ts +134 -0
  499. package/src/resources/projects/members.ts +958 -0
  500. package/src/resources/projects/memory.ts +134 -0
  501. package/src/resources/projects/projects.ts +1478 -0
  502. package/src/resources/projects/watermark.ts +590 -0
  503. package/src/resources/projects/webhook-endpoints/events.ts +179 -0
  504. package/src/resources/projects/webhook-endpoints/index.ts +19 -0
  505. package/src/resources/projects/webhook-endpoints/webhook-endpoints.ts +452 -0
  506. package/src/resources/projects/webhook-endpoints.ts +3 -0
  507. package/src/resources/projects.ts +3 -0
  508. package/src/resources/recommendations.ts +1502 -0
  509. package/src/resources/search.ts +220 -8
  510. package/src/resources/tags.ts +5 -1
  511. package/src/resources/teams/brief.ts +193 -0
  512. package/src/resources/teams/index.ts +62 -0
  513. package/src/resources/teams/ip-filters.ts +177 -0
  514. package/src/resources/teams/members.ts +282 -0
  515. package/src/resources/teams/teams.ts +1255 -0
  516. package/src/resources/teams/watermark.ts +590 -0
  517. package/src/resources/teams/webhook-endpoints/events.ts +179 -0
  518. package/src/resources/teams/webhook-endpoints/index.ts +19 -0
  519. package/src/resources/teams/webhook-endpoints/webhook-endpoints.ts +453 -0
  520. package/src/resources/teams/webhook-endpoints.ts +3 -0
  521. package/src/resources/teams.ts +3 -0
  522. package/src/resources/uploads.ts +30 -7
  523. package/src/resources/usages.ts +98 -50
  524. package/src/resources/workflows.ts +2053 -434
  525. package/src/version.ts +1 -1
  526. package/version.d.mts +1 -1
  527. package/version.d.ts +1 -1
  528. package/version.js +1 -1
  529. package/version.mjs +1 -1
@@ -8,18 +8,27 @@ const VALID_NODE_TYPES = new Set([
8
8
  'remove-background',
9
9
  'transform',
10
10
  'user-approval',
11
+ 'user-selection',
11
12
  'workflow',
12
13
  ]);
13
14
 
15
+ const USER_SELECTION_MIN_SELECT = 1;
16
+ const USER_SELECTION_MAX_SELECT = 100;
17
+ const USER_SELECTION_INPUT_TYPES = new Set(['file_array', 'string_array']);
18
+
14
19
  type RawRef = {
15
20
  node?: unknown;
21
+ equal?: unknown;
16
22
  conditional?: unknown;
17
23
  };
18
24
 
19
25
  type RawInput = {
20
26
  name?: unknown;
27
+ type?: unknown;
21
28
  ref?: RawRef;
22
29
  items?: unknown[][];
30
+ min?: unknown;
31
+ max?: unknown;
23
32
  };
24
33
 
25
34
  type RawNode = {
@@ -47,12 +56,19 @@ type RawNode = {
47
56
  * - custom-model → modelId
48
57
  * - workflow → workflowId
49
58
  * - logic → logicType
50
- * - for-each → loopBodyNodeIds (non-empty) OR count (>0)
59
+ * - for-each → loopBodyNodeIds (non-empty) OR count (>0)
60
+ * - user-selection → exactly one file_array/string_array input (optional connection);
61
+ * input.min ≤ input.max
51
62
  * 5. Cross-references all point to node IDs that exist in the flow:
52
63
  * - dependsOn entries
53
64
  * - input ref.node (excluding "workflow" which is a reserved keyword)
54
65
  * - input ref.conditional entries
55
66
  * - loopBodyNodeIds entries
67
+ * 6. A node an if-else branch can skip is read through a plain `ref.node` only by nodes
68
+ * gated by the same branch. A node is skippable when it has a `connection` input on that
69
+ * branch, or when every target of one of its `ref.conditional` inputs is skippable on it.
70
+ * Any other reader never resolves when the branch is not taken, and the workflow job
71
+ * never completes. A `ref.conditional` merge reads whichever branch ran, so it is allowed.
56
72
  */
57
73
  export function validateWorkflowFlow(flow: unknown[]): void {
58
74
  const nodeIds = new Set<string>();
@@ -101,6 +117,9 @@ export function validateWorkflowFlow(flow: unknown[]): void {
101
117
  );
102
118
  }
103
119
  }
120
+ if (type === 'user-selection') {
121
+ validateUserSelectionNode(label, node);
122
+ }
104
123
  }
105
124
 
106
125
  // Pass 2 — cross-reference checks (all node IDs are now collected)
@@ -130,6 +149,115 @@ export function validateWorkflowFlow(flow: unknown[]): void {
130
149
  }
131
150
  }
132
151
  }
152
+
153
+ // Pass 3 — readers of branch-gated nodes must be gated by the same branch
154
+ const branchGates = collectBranchGates(flow as RawNode[]);
155
+ if (branchGates.size === 0) return;
156
+
157
+ for (const rawNode of flow) {
158
+ const node = rawNode as RawNode;
159
+ const nodeId = node.id as string;
160
+ if (!Array.isArray(node.inputs)) continue;
161
+ const readerGates = branchGates.get(nodeId);
162
+
163
+ for (const { inputName, refNode } of collectPlainRefs(node.inputs as RawInput[])) {
164
+ const producerGates = branchGates.get(refNode);
165
+ if (!producerGates) continue;
166
+ const missing = [...producerGates].find((gate) => !readerGates?.has(gate));
167
+ if (missing) {
168
+ throw new Error(
169
+ `Node "${nodeId}" input "${inputName}" reads node "${refNode}", which the if-else branch ${missing} can skip, ` +
170
+ `but "${nodeId}" is not gated by that branch, so it would never run and the workflow job would never complete. ` +
171
+ `Gate "${nodeId}" through the same branch, or merge the branches with a conditional ref.`,
172
+ );
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Maps each node an if-else branch can skip to its gates, formatted as `"<ifElseId>" == "<value>"`.
180
+ * Direct gates come from `connection` inputs. A `ref.conditional` input whose targets all share a
181
+ * gate is skipped with them, so its node inherits the shared gates, through chains too.
182
+ */
183
+ function collectBranchGates(flow: RawNode[]): Map<string, Set<string>> {
184
+ const ifElseIds = new Set(
185
+ flow.filter((n) => n.type === 'logic' && n.logicType === 'if-else').map((n) => n.id as string),
186
+ );
187
+ const gates = new Map<string, Set<string>>();
188
+ if (ifElseIds.size === 0) return gates;
189
+
190
+ for (const node of flow) {
191
+ if (!Array.isArray(node.inputs)) continue;
192
+ for (const input of node.inputs as RawInput[]) {
193
+ const ref = input.ref;
194
+ if (input.type !== 'connection' || typeof ref?.node !== 'string' || !ifElseIds.has(ref.node)) continue;
195
+ const gate = `"${ref.node}" == "${String(ref.equal)}"`;
196
+ const nodeGates = gates.get(node.id as string) ?? new Set<string>();
197
+ nodeGates.add(gate);
198
+ gates.set(node.id as string, nodeGates);
199
+ }
200
+ }
201
+
202
+ let changed = true;
203
+ while (changed) {
204
+ changed = false;
205
+ for (const node of flow) {
206
+ if (!Array.isArray(node.inputs)) continue;
207
+ for (const targets of collectConditionalRefs(node.inputs as RawInput[])) {
208
+ const targetGates = targets.map((id) => gates.get(id));
209
+ if (targetGates.length === 0 || targetGates.some((g) => !g)) continue;
210
+ const [first, ...rest] = targetGates as Set<string>[];
211
+ const shared = [...first!].filter((gate) => rest.every((g) => g.has(gate)));
212
+ const nodeGates = gates.get(node.id as string) ?? new Set<string>();
213
+ for (const gate of shared) {
214
+ if (!nodeGates.has(gate)) {
215
+ nodeGates.add(gate);
216
+ changed = true;
217
+ }
218
+ }
219
+ if (nodeGates.size > 0) gates.set(node.id as string, nodeGates);
220
+ }
221
+ }
222
+ }
223
+ return gates;
224
+ }
225
+
226
+ /** Target lists of a node's `ref.conditional` inputs, INPUTS_ARRAY sub-inputs included. */
227
+ function collectConditionalRefs(inputs: RawInput[]): string[][] {
228
+ const lists: string[][] = [];
229
+ for (const input of inputs) {
230
+ const conditional = input.ref?.conditional;
231
+ if (Array.isArray(conditional)) {
232
+ lists.push(conditional.filter((id): id is string => typeof id === 'string'));
233
+ }
234
+ if (Array.isArray(input.items)) {
235
+ for (const item of input.items) {
236
+ if (Array.isArray(item)) lists.push(...collectConditionalRefs(item as RawInput[]));
237
+ }
238
+ }
239
+ }
240
+ return lists;
241
+ }
242
+
243
+ /** Plain `ref.node` data refs of a node's inputs, INPUTS_ARRAY sub-inputs included; `connection` inputs excluded. */
244
+ function collectPlainRefs(inputs: RawInput[]): Array<{ inputName: string; refNode: string }> {
245
+ const refs: Array<{ inputName: string; refNode: string }> = [];
246
+ for (const input of inputs) {
247
+ const refNode = input.ref?.node;
248
+ if (input.type !== 'connection' && typeof refNode === 'string' && refNode !== 'workflow') {
249
+ refs.push({
250
+ inputName: typeof input.name === 'string' && input.name ? input.name : '(unnamed)',
251
+ refNode,
252
+ });
253
+ }
254
+ if (Array.isArray(input.items)) {
255
+ for (const item of input.items) {
256
+ if (Array.isArray(item)) refs.push(...collectPlainRefs(item as RawInput[]));
257
+ }
258
+ }
259
+ }
260
+ return refs;
133
261
  }
134
262
 
135
263
  function validateInputRefs(nodeId: string, input: RawInput, nodeIds: Set<string>): void {
@@ -165,3 +293,57 @@ function validateInputRefs(nodeId: string, input: RawInput, nodeIds: Set<string>
165
293
  }
166
294
  }
167
295
  }
296
+
297
+ function validateUserSelectionNode(label: string, node: RawNode): void {
298
+ const inputs = Array.isArray(node.inputs) ? (node.inputs as RawInput[]) : [];
299
+ const selectionInputs = inputs.filter(
300
+ (input) => typeof input.type === 'string' && USER_SELECTION_INPUT_TYPES.has(input.type),
301
+ );
302
+ const otherInputs = inputs.filter(
303
+ (input) => !(typeof input.type === 'string' && USER_SELECTION_INPUT_TYPES.has(input.type)),
304
+ );
305
+
306
+ if (selectionInputs.length !== 1) {
307
+ throw new Error(
308
+ `Node ${label} (user-selection) must have exactly one input of type file_array or string_array`,
309
+ );
310
+ }
311
+ for (const input of otherInputs) {
312
+ if (input.type !== 'connection') {
313
+ throw new Error(
314
+ `Node ${label} (user-selection) only allows an optional connection input besides the selection array, got "${String(
315
+ input.type,
316
+ )}"`,
317
+ );
318
+ }
319
+ }
320
+
321
+ const input = selectionInputs[0]!;
322
+
323
+ const min = input.min === undefined ? USER_SELECTION_MIN_SELECT : input.min;
324
+ const max = input.max === undefined ? USER_SELECTION_MAX_SELECT : input.max;
325
+
326
+ if (
327
+ typeof min !== 'number' ||
328
+ !Number.isInteger(min) ||
329
+ min < USER_SELECTION_MIN_SELECT ||
330
+ min > USER_SELECTION_MAX_SELECT
331
+ ) {
332
+ throw new Error(
333
+ `Node ${label} (user-selection) input.min must be an integer between ${USER_SELECTION_MIN_SELECT} and ${USER_SELECTION_MAX_SELECT}`,
334
+ );
335
+ }
336
+ if (
337
+ typeof max !== 'number' ||
338
+ !Number.isInteger(max) ||
339
+ max < USER_SELECTION_MIN_SELECT ||
340
+ max > USER_SELECTION_MAX_SELECT
341
+ ) {
342
+ throw new Error(
343
+ `Node ${label} (user-selection) input.max must be an integer between ${USER_SELECTION_MIN_SELECT} and ${USER_SELECTION_MAX_SELECT}`,
344
+ );
345
+ }
346
+ if (min > max) {
347
+ throw new Error(`Node ${label} (user-selection) input.min (${min}) must be <= input.max (${max})`);
348
+ }
349
+ }