@cloudinary/asset-management-mcp 0.9.2 → 0.10.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 (686) hide show
  1. package/README.md +2 -2
  2. package/bin/mcp-server.js +1356 -188
  3. package/bin/mcp-server.js.map +70 -35
  4. package/esm/funcs/assetsDestroyByAssetId.d.ts +2 -2
  5. package/esm/funcs/assetsDestroyByAssetId.d.ts.map +1 -1
  6. package/esm/funcs/assetsDestroyByAssetId.js +2 -2
  7. package/esm/funcs/assetsDestroyByAssetId.js.map +1 -1
  8. package/esm/funcs/assetsDownloadAssetByAssetId.d.ts +22 -0
  9. package/esm/funcs/assetsDownloadAssetByAssetId.d.ts.map +1 -0
  10. package/esm/funcs/assetsDownloadAssetByAssetId.js +116 -0
  11. package/esm/funcs/assetsDownloadAssetByAssetId.js.map +1 -0
  12. package/esm/funcs/assetsGetResourceByBody.d.ts +16 -0
  13. package/esm/funcs/assetsGetResourceByBody.d.ts.map +1 -0
  14. package/esm/funcs/assetsGetResourceByBody.js +89 -0
  15. package/esm/funcs/assetsGetResourceByBody.js.map +1 -0
  16. package/esm/funcs/assetsInvalidateDerivedByUrls.d.ts +16 -0
  17. package/esm/funcs/assetsInvalidateDerivedByUrls.d.ts.map +1 -0
  18. package/esm/funcs/assetsInvalidateDerivedByUrls.js +89 -0
  19. package/esm/funcs/assetsInvalidateDerivedByUrls.js.map +1 -0
  20. package/esm/funcs/assetsListResourcesByContainerId.d.ts +15 -0
  21. package/esm/funcs/assetsListResourcesByContainerId.d.ts.map +1 -0
  22. package/esm/funcs/assetsListResourcesByContainerId.js +106 -0
  23. package/esm/funcs/assetsListResourcesByContainerId.js.map +1 -0
  24. package/esm/funcs/assetsUpdateResourceByBody.d.ts +16 -0
  25. package/esm/funcs/assetsUpdateResourceByBody.d.ts.map +1 -0
  26. package/esm/funcs/assetsUpdateResourceByBody.js +89 -0
  27. package/esm/funcs/assetsUpdateResourceByBody.js.map +1 -0
  28. package/esm/funcs/foldersGetFolderById.d.ts +16 -0
  29. package/esm/funcs/foldersGetFolderById.d.ts.map +1 -0
  30. package/esm/funcs/foldersGetFolderById.js +89 -0
  31. package/esm/funcs/foldersGetFolderById.js.map +1 -0
  32. package/esm/funcs/foldersGetFolderByPath.d.ts +16 -0
  33. package/esm/funcs/foldersGetFolderByPath.d.ts.map +1 -0
  34. package/esm/funcs/foldersGetFolderByPath.js +89 -0
  35. package/esm/funcs/foldersGetFolderByPath.js.map +1 -0
  36. package/esm/funcs/foldersGetFolderDescendants.d.ts +16 -0
  37. package/esm/funcs/foldersGetFolderDescendants.d.ts.map +1 -0
  38. package/esm/funcs/foldersGetFolderDescendants.js +89 -0
  39. package/esm/funcs/foldersGetFolderDescendants.js.map +1 -0
  40. package/esm/funcs/foldersRenameFolderOperation.d.ts +16 -0
  41. package/esm/funcs/foldersRenameFolderOperation.d.ts.map +1 -0
  42. package/esm/funcs/foldersRenameFolderOperation.js +89 -0
  43. package/esm/funcs/foldersRenameFolderOperation.js.map +1 -0
  44. package/esm/funcs/generationGenerateImage.d.ts +21 -0
  45. package/esm/funcs/generationGenerateImage.d.ts.map +1 -0
  46. package/esm/funcs/generationGenerateImage.js +94 -0
  47. package/esm/funcs/generationGenerateImage.js.map +1 -0
  48. package/esm/funcs/generationGenerateImageFromImages.d.ts +31 -0
  49. package/esm/funcs/generationGenerateImageFromImages.d.ts.map +1 -0
  50. package/esm/funcs/generationGenerateImageFromImages.js +104 -0
  51. package/esm/funcs/generationGenerateImageFromImages.js.map +1 -0
  52. package/esm/funcs/initialBackupCreateInitialBackup.d.ts +18 -0
  53. package/esm/funcs/initialBackupCreateInitialBackup.d.ts.map +1 -0
  54. package/esm/funcs/initialBackupCreateInitialBackup.js +93 -0
  55. package/esm/funcs/initialBackupCreateInitialBackup.js.map +1 -0
  56. package/esm/funcs/initialBackupGetInitialBackup.d.ts +15 -0
  57. package/esm/funcs/initialBackupGetInitialBackup.d.ts.map +1 -0
  58. package/esm/funcs/initialBackupGetInitialBackup.js +95 -0
  59. package/esm/funcs/initialBackupGetInitialBackup.js.map +1 -0
  60. package/esm/funcs/initialBackupListInitialBackups.d.ts +15 -0
  61. package/esm/funcs/initialBackupListInitialBackups.d.ts.map +1 -0
  62. package/esm/funcs/initialBackupListInitialBackups.js +97 -0
  63. package/esm/funcs/initialBackupListInitialBackups.js.map +1 -0
  64. package/esm/funcs/peopleInspectPeoplePermissions.d.ts +16 -0
  65. package/esm/funcs/peopleInspectPeoplePermissions.d.ts.map +1 -0
  66. package/esm/funcs/peopleInspectPeoplePermissions.js +89 -0
  67. package/esm/funcs/peopleInspectPeoplePermissions.js.map +1 -0
  68. package/esm/funcs/searchSearchAssets.d.ts +3 -2
  69. package/esm/funcs/searchSearchAssets.d.ts.map +1 -1
  70. package/esm/funcs/searchSearchAssets.js +3 -2
  71. package/esm/funcs/searchSearchAssets.js.map +1 -1
  72. package/esm/funcs/tasksGetGenerationTaskStatus.d.ts +15 -0
  73. package/esm/funcs/tasksGetGenerationTaskStatus.d.ts.map +1 -0
  74. package/esm/funcs/tasksGetGenerationTaskStatus.js +95 -0
  75. package/esm/funcs/tasksGetGenerationTaskStatus.js.map +1 -0
  76. package/esm/funcs/uploadConcat.d.ts +20 -0
  77. package/esm/funcs/uploadConcat.d.ts.map +1 -0
  78. package/esm/funcs/uploadConcat.js +93 -0
  79. package/esm/funcs/uploadConcat.js.map +1 -0
  80. package/esm/funcs/uploadEvalUploadParams.d.ts +16 -0
  81. package/esm/funcs/uploadEvalUploadParams.d.ts.map +1 -0
  82. package/esm/funcs/uploadEvalUploadParams.js +89 -0
  83. package/esm/funcs/uploadEvalUploadParams.js.map +1 -0
  84. package/esm/funcs/uploadUploadChunk.d.ts +12 -1
  85. package/esm/funcs/uploadUploadChunk.d.ts.map +1 -1
  86. package/esm/funcs/uploadUploadChunk.js +19 -4
  87. package/esm/funcs/uploadUploadChunk.js.map +1 -1
  88. package/esm/hooks/oauth2scopes.d.ts +5 -1
  89. package/esm/hooks/oauth2scopes.d.ts.map +1 -1
  90. package/esm/landing-page.js +1 -1
  91. package/esm/lib/config.d.ts +4 -4
  92. package/esm/lib/config.js +4 -4
  93. package/esm/lib/config.js.map +1 -1
  94. package/esm/lib/encodings.js +1 -1
  95. package/esm/lib/encodings.js.map +1 -1
  96. package/esm/lib/env.d.ts.map +1 -1
  97. package/esm/lib/env.js +2 -2
  98. package/esm/lib/env.js.map +1 -1
  99. package/esm/lib/http.d.ts +1 -1
  100. package/esm/lib/http.d.ts.map +1 -1
  101. package/esm/lib/http.js +1 -1
  102. package/esm/lib/http.js.map +1 -1
  103. package/esm/lib/primitives.d.ts +1 -0
  104. package/esm/lib/primitives.d.ts.map +1 -1
  105. package/esm/lib/primitives.js +17 -0
  106. package/esm/lib/primitives.js.map +1 -1
  107. package/esm/lib/retries.js +7 -0
  108. package/esm/lib/retries.js.map +1 -1
  109. package/esm/lib/security.d.ts +5 -4
  110. package/esm/lib/security.d.ts.map +1 -1
  111. package/esm/lib/security.js +4 -5
  112. package/esm/lib/security.js.map +1 -1
  113. package/esm/mcp-server/apps/app-shared.d.ts +3 -3
  114. package/esm/mcp-server/apps/app-shared.d.ts.map +1 -1
  115. package/esm/mcp-server/apps/app-shared.js +56 -3
  116. package/esm/mcp-server/apps/app-shared.js.map +1 -1
  117. package/esm/mcp-server/apps/asset-gallery-app.js +24 -8
  118. package/esm/mcp-server/apps/asset-gallery-app.js.map +1 -1
  119. package/esm/mcp-server/mcp-server.js +1 -1
  120. package/esm/mcp-server/mcp-server.js.map +1 -1
  121. package/esm/mcp-server/server.d.ts.map +1 -1
  122. package/esm/mcp-server/server.js +7 -1
  123. package/esm/mcp-server/server.js.map +1 -1
  124. package/esm/mcp-server/tools/assetsDestroyByAssetId.d.ts +1 -1
  125. package/esm/mcp-server/tools/assetsDestroyByAssetId.js +2 -2
  126. package/esm/mcp-server/tools/assetsDestroyByAssetId.js.map +1 -1
  127. package/esm/mcp-server/tools/generationGenerateImage.d.ts +7 -0
  128. package/esm/mcp-server/tools/generationGenerateImage.d.ts.map +1 -0
  129. package/esm/mcp-server/tools/generationGenerateImage.js +42 -0
  130. package/esm/mcp-server/tools/generationGenerateImage.js.map +1 -0
  131. package/esm/mcp-server/tools/generationGenerateImageFromImages.d.ts +7 -0
  132. package/esm/mcp-server/tools/generationGenerateImageFromImages.d.ts.map +1 -0
  133. package/esm/mcp-server/tools/generationGenerateImageFromImages.js +59 -0
  134. package/esm/mcp-server/tools/generationGenerateImageFromImages.js.map +1 -0
  135. package/esm/mcp-server/tools/searchSearchAssets.d.ts.map +1 -1
  136. package/esm/mcp-server/tools/searchSearchAssets.js +3 -2
  137. package/esm/mcp-server/tools/searchSearchAssets.js.map +1 -1
  138. package/esm/mcp-server/tools/tasksGetGenerationTaskStatus.d.ts +8 -0
  139. package/esm/mcp-server/tools/tasksGetGenerationTaskStatus.d.ts.map +1 -0
  140. package/esm/mcp-server/tools/tasksGetGenerationTaskStatus.js +36 -0
  141. package/esm/mcp-server/tools/tasksGetGenerationTaskStatus.js.map +1 -0
  142. package/esm/mcp-server/tools.d.ts.map +1 -1
  143. package/esm/mcp-server/tools.js +2 -0
  144. package/esm/mcp-server/tools.js.map +1 -1
  145. package/esm/models/addonquota.d.ts +13 -0
  146. package/esm/models/addonquota.d.ts.map +1 -0
  147. package/esm/models/addonquota.js +13 -0
  148. package/esm/models/addonquota.js.map +1 -0
  149. package/esm/models/admincontextoperation.d.ts +12 -0
  150. package/esm/models/admincontextoperation.d.ts.map +1 -0
  151. package/esm/models/admincontextoperation.js +12 -0
  152. package/esm/models/admincontextoperation.js.map +1 -0
  153. package/esm/models/assignfolderrolesrequest.d.ts +8 -8
  154. package/esm/models/assignfolderrolesrequest.d.ts.map +1 -1
  155. package/esm/models/assignfolderrolesrequest.js +4 -4
  156. package/esm/models/assignfolderrolesrequest.js.map +1 -1
  157. package/esm/models/concatop.d.ts +10 -0
  158. package/esm/models/concatop.d.ts.map +1 -0
  159. package/esm/models/concatop.js +16 -0
  160. package/esm/models/concatop.js.map +1 -0
  161. package/esm/models/concatrequest.d.ts +121 -0
  162. package/esm/models/concatrequest.d.ts.map +1 -0
  163. package/esm/models/concatrequest.js +110 -0
  164. package/esm/models/concatrequest.js.map +1 -0
  165. package/esm/models/concatresponse.d.ts +39 -0
  166. package/esm/models/concatresponse.d.ts.map +1 -0
  167. package/esm/models/concatresponse.js +30 -0
  168. package/esm/models/concatresponse.js.map +1 -0
  169. package/esm/models/createfolderop.d.ts +1 -1
  170. package/esm/models/createfolderop.d.ts.map +1 -1
  171. package/esm/models/createfolderop.js +1 -1
  172. package/esm/models/createfolderop.js.map +1 -1
  173. package/esm/models/createfolderresponse.d.ts +4 -2
  174. package/esm/models/createfolderresponse.d.ts.map +1 -1
  175. package/esm/models/createfolderresponse.js +4 -2
  176. package/esm/models/createfolderresponse.js.map +1 -1
  177. package/esm/models/createinitialbackupop.d.ts +10 -0
  178. package/esm/models/createinitialbackupop.d.ts.map +1 -0
  179. package/esm/models/createinitialbackupop.js +16 -0
  180. package/esm/models/createinitialbackupop.js.map +1 -0
  181. package/esm/models/declarativeimagesize.d.ts +74 -0
  182. package/esm/models/declarativeimagesize.d.ts.map +1 -0
  183. package/esm/models/declarativeimagesize.js +53 -0
  184. package/esm/models/declarativeimagesize.js.map +1 -0
  185. package/esm/models/destroybyassetidop.d.ts +3 -3
  186. package/esm/models/destroybyassetidop.d.ts.map +1 -1
  187. package/esm/models/destroybyassetidop.js +3 -3
  188. package/esm/models/destroybyassetidop.js.map +1 -1
  189. package/esm/models/destroybyassetidrequest.d.ts +9 -0
  190. package/esm/models/destroybyassetidrequest.d.ts.map +1 -0
  191. package/esm/models/{componentsdestroyrequest.js → destroybyassetidrequest.js} +3 -3
  192. package/esm/models/destroybyassetidrequest.js.map +1 -0
  193. package/esm/models/destroybyassetidresponse.d.ts +22 -0
  194. package/esm/models/destroybyassetidresponse.d.ts.map +1 -0
  195. package/esm/models/destroybyassetidresponse.js +20 -0
  196. package/esm/models/destroybyassetidresponse.js.map +1 -0
  197. package/esm/models/dimensionsimagesize.d.ts +10 -0
  198. package/esm/models/dimensionsimagesize.d.ts.map +1 -0
  199. package/esm/models/dimensionsimagesize.js +11 -0
  200. package/esm/models/dimensionsimagesize.js.map +1 -0
  201. package/esm/models/downloadassetbyassetidop.d.ts +19 -0
  202. package/esm/models/downloadassetbyassetidop.d.ts.map +1 -0
  203. package/esm/models/downloadassetbyassetidop.js +27 -0
  204. package/esm/models/downloadassetbyassetidop.js.map +1 -0
  205. package/esm/models/error.d.ts +18 -0
  206. package/esm/models/error.d.ts.map +1 -0
  207. package/esm/models/error.js +14 -0
  208. package/esm/models/error.js.map +1 -0
  209. package/esm/models/errorcategory.d.ts +34 -0
  210. package/esm/models/errorcategory.d.ts.map +1 -0
  211. package/esm/models/errorcategory.js +27 -0
  212. package/esm/models/errorcategory.js.map +1 -0
  213. package/esm/models/errorresponse.d.ts +11 -0
  214. package/esm/models/errorresponse.d.ts.map +1 -0
  215. package/esm/models/errorresponse.js +11 -0
  216. package/esm/models/errorresponse.js.map +1 -0
  217. package/esm/models/evalrequest.d.ts +17 -0
  218. package/esm/models/evalrequest.d.ts.map +1 -0
  219. package/esm/models/evalrequest.js +22 -0
  220. package/esm/models/evalrequest.js.map +1 -0
  221. package/esm/models/evaluploadparamsop.d.ts +11 -0
  222. package/esm/models/evaluploadparamsop.d.ts.map +1 -0
  223. package/esm/models/evaluploadparamsop.js +15 -0
  224. package/esm/models/evaluploadparamsop.js.map +1 -0
  225. package/esm/models/explicitrequest.d.ts +9 -9
  226. package/esm/models/explicitrequest.d.ts.map +1 -1
  227. package/esm/models/explicitrequest.js +7 -7
  228. package/esm/models/explicitrequest.js.map +1 -1
  229. package/esm/models/exploderesourceop.d.ts +4 -4
  230. package/esm/models/exploderesourceop.d.ts.map +1 -1
  231. package/esm/models/exploderesourceop.js +4 -4
  232. package/esm/models/exploderesourceop.js.map +1 -1
  233. package/esm/models/feature.d.ts +16 -0
  234. package/esm/models/feature.d.ts.map +1 -0
  235. package/esm/models/feature.js +15 -0
  236. package/esm/models/feature.js.map +1 -0
  237. package/esm/models/folderbyidrequest.d.ts +9 -0
  238. package/esm/models/folderbyidrequest.d.ts.map +1 -0
  239. package/esm/models/folderbyidrequest.js +10 -0
  240. package/esm/models/folderbyidrequest.js.map +1 -0
  241. package/esm/models/folderbypathrequest.d.ts +10 -0
  242. package/esm/models/folderbypathrequest.d.ts.map +1 -0
  243. package/esm/models/folderbypathrequest.js +11 -0
  244. package/esm/models/folderbypathrequest.js.map +1 -0
  245. package/esm/models/folderdescendantsrequest.d.ts +11 -0
  246. package/esm/models/folderdescendantsrequest.d.ts.map +1 -0
  247. package/esm/models/folderdescendantsrequest.js +11 -0
  248. package/esm/models/folderdescendantsrequest.js.map +1 -0
  249. package/esm/models/folderdescendantsresponse.d.ts +10 -0
  250. package/esm/models/folderdescendantsresponse.d.ts.map +1 -0
  251. package/esm/models/folderdescendantsresponse.js +10 -0
  252. package/esm/models/folderdescendantsresponse.js.map +1 -0
  253. package/esm/models/folderdetailresponse.d.ts +24 -0
  254. package/esm/models/folderdetailresponse.d.ts.map +1 -0
  255. package/esm/models/folderdetailresponse.js +36 -0
  256. package/esm/models/folderdetailresponse.js.map +1 -0
  257. package/esm/models/folderrenamerequest.d.ts +13 -0
  258. package/esm/models/folderrenamerequest.d.ts.map +1 -0
  259. package/esm/models/folderrenamerequest.js +14 -0
  260. package/esm/models/folderrenamerequest.js.map +1 -0
  261. package/esm/models/folderrenameresponse.d.ts +12 -0
  262. package/esm/models/folderrenameresponse.d.ts.map +1 -0
  263. package/esm/models/folderrenameresponse.js +13 -0
  264. package/esm/models/folderrenameresponse.js.map +1 -0
  265. package/esm/models/generatearchiveop.d.ts +4 -4
  266. package/esm/models/generatearchiveop.d.ts.map +1 -1
  267. package/esm/models/generatearchiveop.js +4 -4
  268. package/esm/models/generatearchiveop.js.map +1 -1
  269. package/esm/models/generatedasset.d.ts +40 -0
  270. package/esm/models/generatedasset.d.ts.map +1 -0
  271. package/esm/models/generatedasset.js +31 -0
  272. package/esm/models/generatedasset.js.map +1 -0
  273. package/esm/models/generatedassets.d.ts +10 -0
  274. package/esm/models/generatedassets.d.ts.map +1 -0
  275. package/esm/models/generatedassets.js +10 -0
  276. package/esm/models/generatedassets.js.map +1 -0
  277. package/esm/models/generateimagefromimagesop.d.ts +12 -0
  278. package/esm/models/generateimagefromimagesop.d.ts.map +1 -0
  279. package/esm/models/generateimagefromimagesop.js +20 -0
  280. package/esm/models/generateimagefromimagesop.js.map +1 -0
  281. package/esm/models/generateimageop.d.ts +12 -0
  282. package/esm/models/generateimageop.d.ts.map +1 -0
  283. package/esm/models/generateimageop.js +20 -0
  284. package/esm/models/generateimageop.js.map +1 -0
  285. package/esm/models/generateimagerequest.d.ts +23 -0
  286. package/esm/models/generateimagerequest.d.ts.map +1 -0
  287. package/esm/models/generateimagerequest.js +21 -0
  288. package/esm/models/generateimagerequest.js.map +1 -0
  289. package/esm/models/generateimageresult.d.ts +13 -0
  290. package/esm/models/generateimageresult.d.ts.map +1 -0
  291. package/esm/models/generateimageresult.js +14 -0
  292. package/esm/models/generateimageresult.js.map +1 -0
  293. package/esm/models/getfolderbyidop.d.ts +10 -0
  294. package/esm/models/getfolderbyidop.d.ts.map +1 -0
  295. package/esm/models/getfolderbyidop.js +16 -0
  296. package/esm/models/getfolderbyidop.js.map +1 -0
  297. package/esm/models/getfolderbypathop.d.ts +10 -0
  298. package/esm/models/getfolderbypathop.d.ts.map +1 -0
  299. package/esm/models/getfolderbypathop.js +16 -0
  300. package/esm/models/getfolderbypathop.js.map +1 -0
  301. package/esm/models/getfolderdescendantsop.d.ts +10 -0
  302. package/esm/models/getfolderdescendantsop.d.ts.map +1 -0
  303. package/esm/models/getfolderdescendantsop.js +16 -0
  304. package/esm/models/getfolderdescendantsop.js.map +1 -0
  305. package/esm/models/getgenerationtaskstatusop.d.ts +15 -0
  306. package/esm/models/getgenerationtaskstatusop.d.ts.map +1 -0
  307. package/esm/models/getgenerationtaskstatusop.js +21 -0
  308. package/esm/models/getgenerationtaskstatusop.js.map +1 -0
  309. package/esm/models/getinitialbackupop.d.ts +14 -0
  310. package/esm/models/getinitialbackupop.d.ts.map +1 -0
  311. package/esm/models/getinitialbackupop.js +19 -0
  312. package/esm/models/getinitialbackupop.js.map +1 -0
  313. package/esm/models/getresourcebybodyop.d.ts +10 -0
  314. package/esm/models/getresourcebybodyop.d.ts.map +1 -0
  315. package/esm/models/getresourcebybodyop.js +16 -0
  316. package/esm/models/getresourcebybodyop.js.map +1 -0
  317. package/esm/models/getvideoviewsop.d.ts +4 -4
  318. package/esm/models/getvideoviewsop.d.ts.map +1 -1
  319. package/esm/models/getvideoviewsop.js +4 -4
  320. package/esm/models/getvideoviewsop.js.map +1 -1
  321. package/esm/models/imageformat.d.ts +32 -0
  322. package/esm/models/imageformat.d.ts.map +1 -0
  323. package/esm/models/imageformat.js +25 -0
  324. package/esm/models/imageformat.js.map +1 -0
  325. package/esm/models/imagesize.d.ts +20 -0
  326. package/esm/models/imagesize.d.ts.map +1 -0
  327. package/esm/models/imagesize.js +12 -0
  328. package/esm/models/imagesize.js.map +1 -0
  329. package/esm/models/imagetoimagerequest.d.ts +26 -0
  330. package/esm/models/imagetoimagerequest.d.ts.map +1 -0
  331. package/esm/models/imagetoimagerequest.js +23 -0
  332. package/esm/models/imagetoimagerequest.js.map +1 -0
  333. package/esm/models/info.d.ts +15 -15
  334. package/esm/models/info.d.ts.map +1 -1
  335. package/esm/models/info.js +11 -11
  336. package/esm/models/info.js.map +1 -1
  337. package/esm/models/initialbackupcreaterequest.d.ts +6 -0
  338. package/esm/models/initialbackupcreaterequest.d.ts.map +1 -0
  339. package/esm/models/initialbackupcreaterequest.js +9 -0
  340. package/esm/models/initialbackupcreaterequest.js.map +1 -0
  341. package/esm/models/initialbackupcreateresponse.d.ts +6 -0
  342. package/esm/models/initialbackupcreateresponse.d.ts.map +1 -0
  343. package/esm/models/initialbackupcreateresponse.js +9 -0
  344. package/esm/models/initialbackupcreateresponse.js.map +1 -0
  345. package/esm/models/initialbackuplistresponse.d.ts +8 -0
  346. package/esm/models/initialbackuplistresponse.d.ts.map +1 -0
  347. package/esm/models/initialbackuplistresponse.js +11 -0
  348. package/esm/models/initialbackuplistresponse.js.map +1 -0
  349. package/esm/models/initialbackupprogressresponse.d.ts +29 -0
  350. package/esm/models/initialbackupprogressresponse.d.ts.map +1 -0
  351. package/esm/models/initialbackupprogressresponse.js +28 -0
  352. package/esm/models/initialbackupprogressresponse.js.map +1 -0
  353. package/esm/models/initialbackupstatusenum.d.ts +22 -0
  354. package/esm/models/initialbackupstatusenum.d.ts.map +1 -0
  355. package/esm/models/initialbackupstatusenum.js +21 -0
  356. package/esm/models/initialbackupstatusenum.js.map +1 -0
  357. package/esm/models/initialbackupsummary.d.ts +9 -0
  358. package/esm/models/initialbackupsummary.d.ts.map +1 -0
  359. package/esm/models/initialbackupsummary.js +13 -0
  360. package/esm/models/initialbackupsummary.js.map +1 -0
  361. package/esm/models/inspectpeoplepermissionsop.d.ts +10 -0
  362. package/esm/models/inspectpeoplepermissionsop.d.ts.map +1 -0
  363. package/esm/models/inspectpeoplepermissionsop.js +16 -0
  364. package/esm/models/inspectpeoplepermissionsop.js.map +1 -0
  365. package/esm/models/invalidatebyurlsrequest.d.ts +10 -0
  366. package/esm/models/invalidatebyurlsrequest.d.ts.map +1 -0
  367. package/esm/models/invalidatebyurlsrequest.js +10 -0
  368. package/esm/models/invalidatebyurlsrequest.js.map +1 -0
  369. package/esm/models/invalidatebyurlsresponse.d.ts +12 -0
  370. package/esm/models/invalidatebyurlsresponse.d.ts.map +1 -0
  371. package/esm/models/invalidatebyurlsresponse.js +12 -0
  372. package/esm/models/invalidatebyurlsresponse.js.map +1 -0
  373. package/esm/models/invalidatederivedbyurlsop.d.ts +10 -0
  374. package/esm/models/invalidatederivedbyurlsop.d.ts.map +1 -0
  375. package/esm/models/invalidatederivedbyurlsop.js +16 -0
  376. package/esm/models/invalidatederivedbyurlsop.js.map +1 -0
  377. package/esm/models/limits.d.ts +10 -0
  378. package/esm/models/limits.d.ts.map +1 -0
  379. package/esm/models/limits.js +10 -0
  380. package/esm/models/limits.js.map +1 -0
  381. package/esm/models/listinitialbackupsop.d.ts +15 -0
  382. package/esm/models/listinitialbackupsop.d.ts.map +1 -0
  383. package/esm/models/listinitialbackupsop.js +20 -0
  384. package/esm/models/listinitialbackupsop.js.map +1 -0
  385. package/esm/models/listpeopleop.d.ts +4 -4
  386. package/esm/models/listpeopleop.d.ts.map +1 -1
  387. package/esm/models/listpeopleop.js +4 -4
  388. package/esm/models/listpeopleop.js.map +1 -1
  389. package/esm/models/listresourcesbycontaineridop.d.ts +18 -0
  390. package/esm/models/listresourcesbycontaineridop.d.ts.map +1 -0
  391. package/esm/models/listresourcesbycontaineridop.js +23 -0
  392. package/esm/models/listresourcesbycontaineridop.js.map +1 -0
  393. package/esm/models/managedassetreference.d.ts +27 -0
  394. package/esm/models/managedassetreference.d.ts.map +1 -0
  395. package/esm/models/managedassetreference.js +19 -0
  396. package/esm/models/managedassetreference.js.map +1 -0
  397. package/esm/models/managedassetstorage.d.ts +50 -0
  398. package/esm/models/managedassetstorage.d.ts.map +1 -0
  399. package/esm/models/managedassetstorage.js +38 -0
  400. package/esm/models/managedassetstorage.js.map +1 -0
  401. package/esm/models/managedassettarget.d.ts +25 -0
  402. package/esm/models/managedassettarget.d.ts.map +1 -0
  403. package/esm/models/managedassettarget.js +21 -0
  404. package/esm/models/managedassettarget.js.map +1 -0
  405. package/esm/models/model.d.ts +11 -0
  406. package/esm/models/model.d.ts.map +1 -0
  407. package/esm/models/model.js +11 -0
  408. package/esm/models/model.js.map +1 -0
  409. package/esm/models/modelbyfamily.d.ts +64 -0
  410. package/esm/models/modelbyfamily.d.ts.map +1 -0
  411. package/esm/models/modelbyfamily.js +45 -0
  412. package/esm/models/modelbyfamily.js.map +1 -0
  413. package/esm/models/modelbyid.d.ts +63 -0
  414. package/esm/models/modelbyid.d.ts.map +1 -0
  415. package/esm/models/modelbyid.js +54 -0
  416. package/esm/models/modelbyid.js.map +1 -0
  417. package/esm/models/modelselection.d.ts +15 -0
  418. package/esm/models/modelselection.d.ts.map +1 -0
  419. package/esm/models/modelselection.js +12 -0
  420. package/esm/models/modelselection.js.map +1 -0
  421. package/esm/models/peopleinspectiongroup.d.ts +14 -0
  422. package/esm/models/peopleinspectiongroup.d.ts.map +1 -0
  423. package/esm/models/peopleinspectiongroup.js +10 -0
  424. package/esm/models/peopleinspectiongroup.js.map +1 -0
  425. package/esm/models/peopleinspectiontargets.d.ts +14 -0
  426. package/esm/models/peopleinspectiontargets.d.ts.map +1 -0
  427. package/esm/models/peopleinspectiontargets.js +24 -0
  428. package/esm/models/peopleinspectiontargets.js.map +1 -0
  429. package/esm/models/peopleinspectrequest.d.ts +10 -0
  430. package/esm/models/peopleinspectrequest.d.ts.map +1 -0
  431. package/esm/models/peopleinspectrequest.js +11 -0
  432. package/esm/models/peopleinspectrequest.js.map +1 -0
  433. package/esm/models/peopleinspectresponse.d.ts +12 -0
  434. package/esm/models/peopleinspectresponse.d.ts.map +1 -0
  435. package/esm/models/peopleinspectresponse.js +10 -0
  436. package/esm/models/peopleinspectresponse.js.map +1 -0
  437. package/esm/models/ratelimitedresponse.d.ts +13 -0
  438. package/esm/models/ratelimitedresponse.d.ts.map +1 -0
  439. package/esm/models/ratelimitedresponse.js +14 -0
  440. package/esm/models/ratelimitedresponse.js.map +1 -0
  441. package/esm/models/referenceimage.d.ts +19 -0
  442. package/esm/models/referenceimage.d.ts.map +1 -0
  443. package/esm/models/referenceimage.js +16 -0
  444. package/esm/models/referenceimage.js.map +1 -0
  445. package/esm/models/renamefolderoperationop.d.ts +10 -0
  446. package/esm/models/renamefolderoperationop.d.ts.map +1 -0
  447. package/esm/models/renamefolderoperationop.js +16 -0
  448. package/esm/models/renamefolderoperationop.js.map +1 -0
  449. package/esm/models/resourcegetbybodyrequest.d.ts +53 -0
  450. package/esm/models/resourcegetbybodyrequest.d.ts.map +1 -0
  451. package/esm/models/resourcegetbybodyrequest.js +57 -0
  452. package/esm/models/resourcegetbybodyrequest.js.map +1 -0
  453. package/esm/models/resourceinternalresponse.d.ts +118 -0
  454. package/esm/models/resourceinternalresponse.d.ts.map +1 -0
  455. package/esm/models/resourceinternalresponse.js +164 -0
  456. package/esm/models/resourceinternalresponse.js.map +1 -0
  457. package/esm/models/resourcesbycontaineridresponse.d.ts +12 -0
  458. package/esm/models/resourcesbycontaineridresponse.d.ts.map +1 -0
  459. package/esm/models/resourcesbycontaineridresponse.js +12 -0
  460. package/esm/models/resourcesbycontaineridresponse.js.map +1 -0
  461. package/esm/models/resourceupdatebybodyrequest.d.ts +85 -0
  462. package/esm/models/resourceupdatebybodyrequest.d.ts.map +1 -0
  463. package/esm/models/resourceupdatebybodyrequest.js +85 -0
  464. package/esm/models/resourceupdatebybodyrequest.js.map +1 -0
  465. package/esm/models/searchparameters.d.ts +18 -18
  466. package/esm/models/searchparameters.d.ts.map +1 -1
  467. package/esm/models/searchparameters.js +14 -14
  468. package/esm/models/searchparameters.js.map +1 -1
  469. package/esm/models/searchresponse.d.ts +8 -8
  470. package/esm/models/searchresponse.d.ts.map +1 -1
  471. package/esm/models/searchresponse.js +9 -8
  472. package/esm/models/searchresponse.js.map +1 -1
  473. package/esm/models/storage.d.ts +16 -0
  474. package/esm/models/storage.d.ts.map +1 -0
  475. package/esm/models/storage.js +16 -0
  476. package/esm/models/storage.js.map +1 -0
  477. package/esm/models/target.d.ts +16 -0
  478. package/esm/models/target.d.ts.map +1 -0
  479. package/esm/models/target.js +16 -0
  480. package/esm/models/target.js.map +1 -0
  481. package/esm/models/task.d.ts +28 -0
  482. package/esm/models/task.d.ts.map +1 -0
  483. package/esm/models/task.js +18 -0
  484. package/esm/models/task.js.map +1 -0
  485. package/esm/models/taskresponse.d.ts +14 -0
  486. package/esm/models/taskresponse.d.ts.map +1 -0
  487. package/esm/models/taskresponse.js +11 -0
  488. package/esm/models/taskresponse.js.map +1 -0
  489. package/esm/models/taskstatus.d.ts +34 -0
  490. package/esm/models/taskstatus.d.ts.map +1 -0
  491. package/esm/models/taskstatus.js +27 -0
  492. package/esm/models/taskstatus.js.map +1 -0
  493. package/esm/models/temporarystorage.d.ts +25 -0
  494. package/esm/models/temporarystorage.d.ts.map +1 -0
  495. package/esm/models/temporarystorage.js +20 -0
  496. package/esm/models/temporarystorage.js.map +1 -0
  497. package/esm/models/temporarytarget.d.ts +23 -0
  498. package/esm/models/temporarytarget.d.ts.map +1 -0
  499. package/esm/models/temporarytarget.js +18 -0
  500. package/esm/models/temporarytarget.js.map +1 -0
  501. package/esm/models/textop.d.ts +4 -4
  502. package/esm/models/textop.d.ts.map +1 -1
  503. package/esm/models/textop.js +4 -4
  504. package/esm/models/textop.js.map +1 -1
  505. package/esm/models/updateresourcebybodyop.d.ts +10 -0
  506. package/esm/models/updateresourcebybodyop.d.ts.map +1 -0
  507. package/esm/models/updateresourcebybodyop.js +16 -0
  508. package/esm/models/updateresourcebybodyop.js.map +1 -0
  509. package/esm/models/uploadchunkop.d.ts +3 -1
  510. package/esm/models/uploadchunkop.d.ts.map +1 -1
  511. package/esm/models/uploadchunkop.js +3 -1
  512. package/esm/models/uploadchunkop.js.map +1 -1
  513. package/esm/models/uploadrequest.d.ts +9 -9
  514. package/esm/models/uploadrequest.d.ts.map +1 -1
  515. package/esm/models/uploadrequest.js +7 -7
  516. package/esm/models/uploadrequest.js.map +1 -1
  517. package/esm/models/urlreference.d.ts +24 -0
  518. package/esm/models/urlreference.d.ts.map +1 -0
  519. package/esm/models/urlreference.js +19 -0
  520. package/esm/models/urlreference.js.map +1 -0
  521. package/esm/models/usageresponse.d.ts +3 -3
  522. package/esm/models/usageresponse.d.ts.map +1 -1
  523. package/esm/models/usageresponse.js +3 -2
  524. package/esm/models/usageresponse.js.map +1 -1
  525. package/esm/tool-names.d.ts.map +1 -1
  526. package/esm/tool-names.js +13 -1
  527. package/esm/tool-names.js.map +1 -1
  528. package/esm/types/async.d.ts.map +1 -1
  529. package/esm/types/async.js +6 -6
  530. package/esm/types/async.js.map +1 -1
  531. package/package.json +4 -2
  532. package/src/funcs/assetsDestroyByAssetId.ts +6 -6
  533. package/src/funcs/assetsDownloadAssetByAssetId.ts +202 -0
  534. package/src/funcs/assetsGetResourceByBody.ts +154 -0
  535. package/src/funcs/assetsInvalidateDerivedByUrls.ts +156 -0
  536. package/src/funcs/assetsListResourcesByContainerId.ts +186 -0
  537. package/src/funcs/assetsUpdateResourceByBody.ts +154 -0
  538. package/src/funcs/foldersGetFolderById.ts +154 -0
  539. package/src/funcs/foldersGetFolderByPath.ts +154 -0
  540. package/src/funcs/foldersGetFolderDescendants.ts +154 -0
  541. package/src/funcs/foldersRenameFolderOperation.ts +154 -0
  542. package/src/funcs/generationGenerateImage.ts +159 -0
  543. package/src/funcs/generationGenerateImageFromImages.ts +169 -0
  544. package/src/funcs/initialBackupCreateInitialBackup.ts +158 -0
  545. package/src/funcs/initialBackupGetInitialBackup.ts +161 -0
  546. package/src/funcs/initialBackupListInitialBackups.ts +166 -0
  547. package/src/funcs/peopleInspectPeoplePermissions.ts +154 -0
  548. package/src/funcs/searchSearchAssets.ts +3 -2
  549. package/src/funcs/tasksGetGenerationTaskStatus.ts +161 -0
  550. package/src/funcs/uploadConcat.ts +158 -0
  551. package/src/funcs/uploadEvalUploadParams.ts +154 -0
  552. package/src/funcs/uploadUploadChunk.ts +33 -4
  553. package/src/hooks/oauth2scopes.ts +5 -1
  554. package/src/landing-page.ts +1 -1
  555. package/src/lib/config.ts +4 -4
  556. package/src/lib/encodings.ts +1 -1
  557. package/src/lib/env.ts +6 -3
  558. package/src/lib/http.ts +3 -1
  559. package/src/lib/primitives.ts +16 -0
  560. package/src/lib/retries.ts +8 -0
  561. package/src/lib/security.ts +10 -5
  562. package/src/mcp-server/apps/app-shared.ts +56 -3
  563. package/src/mcp-server/apps/asset-gallery-app.ts +24 -8
  564. package/src/mcp-server/mcp-server.ts +1 -1
  565. package/src/mcp-server/server.ts +7 -1
  566. package/src/mcp-server/tools/assetsDestroyByAssetId.ts +2 -2
  567. package/src/mcp-server/tools/generationGenerateImage.ts +52 -0
  568. package/src/mcp-server/tools/generationGenerateImageFromImages.ts +71 -0
  569. package/src/mcp-server/tools/searchSearchAssets.ts +3 -2
  570. package/src/mcp-server/tools/tasksGetGenerationTaskStatus.ts +44 -0
  571. package/src/mcp-server/tools.ts +2 -0
  572. package/src/models/addonquota.ts +28 -0
  573. package/src/models/admincontextoperation.ts +30 -0
  574. package/src/models/assignfolderrolesrequest.ts +14 -14
  575. package/src/models/concatop.ts +24 -0
  576. package/src/models/concatrequest.ts +363 -0
  577. package/src/models/concatresponse.ts +64 -0
  578. package/src/models/createfolderop.ts +2 -2
  579. package/src/models/createfolderresponse.ts +10 -4
  580. package/src/models/createinitialbackupop.ts +31 -0
  581. package/src/models/declarativeimagesize.ts +98 -0
  582. package/src/models/destroybyassetidop.ts +9 -7
  583. package/src/models/{componentsdestroyrequest.ts → destroybyassetidrequest.ts} +4 -4
  584. package/src/models/destroybyassetidresponse.ts +38 -0
  585. package/src/models/dimensionsimagesize.ts +19 -0
  586. package/src/models/downloadassetbyassetidop.ts +77 -0
  587. package/src/models/error.ts +43 -0
  588. package/src/models/errorcategory.ts +42 -0
  589. package/src/models/errorresponse.ts +23 -0
  590. package/src/models/evalrequest.ts +48 -0
  591. package/src/models/evaluploadparamsop.ts +25 -0
  592. package/src/models/explicitrequest.ts +28 -28
  593. package/src/models/exploderesourceop.ts +9 -9
  594. package/src/models/feature.ts +22 -0
  595. package/src/models/folderbyidrequest.ts +18 -0
  596. package/src/models/folderbypathrequest.ts +24 -0
  597. package/src/models/folderdescendantsrequest.ts +29 -0
  598. package/src/models/folderdescendantsresponse.ts +25 -0
  599. package/src/models/folderdetailresponse.ts +75 -0
  600. package/src/models/folderrenamerequest.ts +32 -0
  601. package/src/models/folderrenameresponse.ts +32 -0
  602. package/src/models/generatearchiveop.ts +9 -9
  603. package/src/models/generatedasset.ts +75 -0
  604. package/src/models/generatedassets.ts +18 -0
  605. package/src/models/generateimagefromimagesop.ts +42 -0
  606. package/src/models/generateimageop.ts +39 -0
  607. package/src/models/generateimagerequest.ts +57 -0
  608. package/src/models/generateimageresult.ts +33 -0
  609. package/src/models/getfolderbyidop.ts +28 -0
  610. package/src/models/getfolderbypathop.ts +29 -0
  611. package/src/models/getfolderdescendantsop.ts +29 -0
  612. package/src/models/getgenerationtaskstatusop.ts +44 -0
  613. package/src/models/getinitialbackupop.ts +39 -0
  614. package/src/models/getresourcebybodyop.ts +29 -0
  615. package/src/models/getvideoviewsop.ts +9 -9
  616. package/src/models/imageformat.ts +40 -0
  617. package/src/models/imagesize.ts +37 -0
  618. package/src/models/imagetoimagerequest.ts +63 -0
  619. package/src/models/info.ts +23 -21
  620. package/src/models/initialbackupcreaterequest.ts +16 -0
  621. package/src/models/initialbackupcreateresponse.ts +16 -0
  622. package/src/models/initialbackuplistresponse.ts +26 -0
  623. package/src/models/initialbackupprogressresponse.ts +61 -0
  624. package/src/models/initialbackupstatusenum.ts +30 -0
  625. package/src/models/initialbackupsummary.ts +29 -0
  626. package/src/models/inspectpeoplepermissionsop.ts +31 -0
  627. package/src/models/invalidatebyurlsrequest.ts +27 -0
  628. package/src/models/invalidatebyurlsresponse.ts +33 -0
  629. package/src/models/invalidatederivedbyurlsop.ts +33 -0
  630. package/src/models/limits.ts +18 -0
  631. package/src/models/listinitialbackupsop.ts +45 -0
  632. package/src/models/listpeopleop.ts +9 -9
  633. package/src/models/listresourcesbycontaineridop.ts +61 -0
  634. package/src/models/managedassetreference.ts +47 -0
  635. package/src/models/managedassetstorage.ts +83 -0
  636. package/src/models/managedassettarget.ts +48 -0
  637. package/src/models/model.ts +17 -0
  638. package/src/models/modelbyfamily.ts +84 -0
  639. package/src/models/modelbyid.ts +75 -0
  640. package/src/models/modelselection.ts +26 -0
  641. package/src/models/peopleinspectiongroup.ts +26 -0
  642. package/src/models/peopleinspectiontargets.ts +45 -0
  643. package/src/models/peopleinspectrequest.ts +22 -0
  644. package/src/models/peopleinspectresponse.ts +24 -0
  645. package/src/models/ratelimitedresponse.ts +30 -0
  646. package/src/models/referenceimage.ts +39 -0
  647. package/src/models/renamefolderoperationop.ts +29 -0
  648. package/src/models/resourcegetbybodyrequest.ts +109 -0
  649. package/src/models/resourceinternalresponse.ts +376 -0
  650. package/src/models/resourcesbycontaineridresponse.ts +35 -0
  651. package/src/models/resourceupdatebybodyrequest.ts +168 -0
  652. package/src/models/searchparameters.ts +35 -35
  653. package/src/models/searchresponse.ts +24 -19
  654. package/src/models/storage.ts +39 -0
  655. package/src/models/target.ts +39 -0
  656. package/src/models/task.ts +53 -0
  657. package/src/models/taskresponse.ts +26 -0
  658. package/src/models/taskstatus.ts +42 -0
  659. package/src/models/temporarystorage.ts +47 -0
  660. package/src/models/temporarytarget.ts +35 -0
  661. package/src/models/textop.ts +7 -7
  662. package/src/models/updateresourcebybodyop.ts +29 -0
  663. package/src/models/uploadchunkop.ts +11 -3
  664. package/src/models/uploadrequest.ts +28 -28
  665. package/src/models/urlreference.ts +34 -0
  666. package/src/models/usageresponse.ts +11 -10
  667. package/src/tool-names.ts +13 -1
  668. package/src/types/async.ts +8 -7
  669. package/esm/lib/dlv.d.ts +0 -14
  670. package/esm/lib/dlv.d.ts.map +0 -1
  671. package/esm/lib/dlv.js +0 -47
  672. package/esm/lib/dlv.js.map +0 -1
  673. package/esm/lib/is-plain-object.d.ts +0 -2
  674. package/esm/lib/is-plain-object.d.ts.map +0 -1
  675. package/esm/lib/is-plain-object.js +0 -39
  676. package/esm/lib/is-plain-object.js.map +0 -1
  677. package/esm/models/componentsdestroyrequest.d.ts +0 -9
  678. package/esm/models/componentsdestroyrequest.d.ts.map +0 -1
  679. package/esm/models/componentsdestroyrequest.js.map +0 -1
  680. package/esm/models/componentsdestroyresponse.d.ts +0 -22
  681. package/esm/models/componentsdestroyresponse.d.ts.map +0 -1
  682. package/esm/models/componentsdestroyresponse.js +0 -20
  683. package/esm/models/componentsdestroyresponse.js.map +0 -1
  684. package/src/lib/dlv.ts +0 -54
  685. package/src/lib/is-plain-object.ts +0 -44
  686. package/src/models/componentsdestroyresponse.ts +0 -38
@@ -0,0 +1,154 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: ec50bea37a36
4
+ */
5
+
6
+ import { CloudinaryAssetMgmtCore } from "../core.js";
7
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { APIError } from "../models/errors/apierror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
22
+ import {
23
+ EvalRequest,
24
+ EvalRequest$zodSchemaOutbound,
25
+ } from "../models/evalrequest.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Evaluate a dynamic upload-parameter expression
31
+ *
32
+ * @remarks
33
+ * Evaluates a dynamic eval expression against the supplied upload parameters and returns the resulting upload parameters.
34
+ */
35
+ export function uploadEvalUploadParams(
36
+ client$: CloudinaryAssetMgmtCore,
37
+ request: EvalRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ Response,
42
+ | APIError
43
+ | SDKValidationError
44
+ | UnexpectedClientError
45
+ | InvalidRequestError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | ConnectionError
49
+ >
50
+ > {
51
+ return new APIPromise($do(
52
+ client$,
53
+ request,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client$: CloudinaryAssetMgmtCore,
60
+ request: EvalRequest,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ Response,
66
+ | APIError
67
+ | SDKValidationError
68
+ | UnexpectedClientError
69
+ | InvalidRequestError
70
+ | RequestAbortedError
71
+ | RequestTimeoutError
72
+ | ConnectionError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed$ = safeParse(
78
+ request,
79
+ (value$) => EvalRequest$zodSchemaOutbound.parse(value$),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed$.ok) {
83
+ return [parsed$, { status: "invalid" }];
84
+ }
85
+ const payload$ = parsed$.value;
86
+ const body$ = encodeJSON("body", payload$, { explode: true });
87
+
88
+ const pathParams$ = {
89
+ cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+ const path$ = pathToFunc("/v1_1/{cloud_name}/eval")(
95
+ pathParams$,
96
+ );
97
+
98
+ const headers$ = new Headers(compactMap({
99
+ "Content-Type": "application/json",
100
+ Accept: "application/json",
101
+ }));
102
+ const securityInput = await extractSecurity(client$._options.security);
103
+ const requestSecurity = resolveGlobalSecurity(securityInput);
104
+
105
+ const context = {
106
+ options: client$._options,
107
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
108
+ operationID: "evalUploadParams",
109
+ oAuth2Scopes: null,
110
+ resolvedSecurity: requestSecurity,
111
+ securitySource: client$._options.security,
112
+ retryConfig: options?.retries
113
+ || client$._options.retryConfig
114
+ || { strategy: "none" },
115
+ retryCodes: options?.retryCodes || [
116
+ "429",
117
+ "500",
118
+ "502",
119
+ "503",
120
+ "504",
121
+ ],
122
+ };
123
+
124
+ const requestRes = client$._createRequest(context, {
125
+ security: requestSecurity,
126
+ method: "POST",
127
+ baseURL: options?.serverURL,
128
+ path: path$,
129
+ headers: headers$,
130
+ body: body$,
131
+ userAgent: client$._options.userAgent,
132
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs
133
+ || -1,
134
+ }, options);
135
+ if (!requestRes.ok) {
136
+ return [requestRes, { status: "invalid" }];
137
+ }
138
+ const req$ = requestRes.value;
139
+
140
+ const doResult = await client$._do(req$, {
141
+ context,
142
+ errorCodes: [],
143
+ retryConfig: context.retryConfig,
144
+ retryCodes: context.retryCodes,
145
+ });
146
+ if (!doResult.ok) {
147
+ return [doResult, { status: "request-error", request: req$ }];
148
+ }
149
+ return [doResult, {
150
+ status: "complete",
151
+ "request": req$,
152
+ response: doResult.value,
153
+ }];
154
+ }
@@ -41,13 +41,26 @@ export enum UploadChunkAcceptEnum {
41
41
  * large files with the ability to resume interrupted uploads. Each request uploads one chunk of the file.
42
42
  * It is required for any files that are larger than 100 MB. This is often relevant for video files, as they
43
43
  * tend to have larger file sizes. Minimum chunk size is 5 MB.
44
+ *
45
+ * The `file` field accepts either the chunk bytes (multipart) or an HTTP/HTTPS URL. When a URL is supplied,
46
+ * Cloudinary downloads it and validates the response `Content-Length` against the chunk-size contract
47
+ * (exact match in the uniform-size flow; within 5 MB floor and 5 GiB cap in explicit-order mode) before
48
+ * storing any bytes. A mismatch aborts with 400 and persists no state. The remote server must return a
49
+ * `Content-Length` header; chunked transfer-encoded responses are rejected.
50
+ *
51
+ * **Explicit-order totals** (`X-Upload-Part-Number`): `X-Upload-Total-Parts` may be omitted on non-terminal
52
+ * chunks until the session total *N* is established by any earlier chunk that sent the header. After *N* is
53
+ * known, the chunk for part index *N* must include `X-Upload-Total-Parts: N`. Whenever the header appears,
54
+ * its value must be the same integer *N* for that `X-Unique-Upload-Id` (no conflicting totals).
44
55
  */
45
56
  export function uploadUploadChunk(
46
57
  client$: CloudinaryAssetMgmtCore,
47
58
  resource_type: UploadResourceType | undefined,
48
- contentRange: string,
49
59
  xUniqueUploadId: string,
50
60
  upload_request: UploadRequest,
61
+ contentRange?: string | undefined,
62
+ xUploadPartNumber?: number | undefined,
63
+ xUploadTotalParts?: number | undefined,
51
64
  options?: RequestOptions,
52
65
  ): APIPromise<
53
66
  Result<
@@ -64,9 +77,11 @@ export function uploadUploadChunk(
64
77
  return new APIPromise($do(
65
78
  client$,
66
79
  resource_type,
67
- contentRange,
68
80
  xUniqueUploadId,
69
81
  upload_request,
82
+ contentRange,
83
+ xUploadPartNumber,
84
+ xUploadTotalParts,
70
85
  options,
71
86
  ));
72
87
  }
@@ -74,9 +89,11 @@ export function uploadUploadChunk(
74
89
  async function $do(
75
90
  client$: CloudinaryAssetMgmtCore,
76
91
  resource_type: UploadResourceType | undefined,
77
- contentRange: string,
78
92
  xUniqueUploadId: string,
79
93
  upload_request: UploadRequest,
94
+ contentRange?: string | undefined,
95
+ xUploadPartNumber?: number | undefined,
96
+ xUploadTotalParts?: number | undefined,
80
97
  options?: RequestOptions & { acceptHeaderOverride?: UploadChunkAcceptEnum },
81
98
  ): Promise<
82
99
  [
@@ -95,9 +112,11 @@ async function $do(
95
112
  > {
96
113
  const input$: UploadChunkRequest = {
97
114
  resource_type: resource_type,
98
- contentRange: contentRange,
99
115
  xUniqueUploadId: xUniqueUploadId,
100
116
  upload_request: upload_request,
117
+ contentRange: contentRange,
118
+ xUploadPartNumber: xUploadPartNumber,
119
+ xUploadTotalParts: xUploadTotalParts,
101
120
  };
102
121
 
103
122
  const parsed$ = safeParse(
@@ -138,6 +157,16 @@ async function $do(
138
157
  payload$.xUniqueUploadId,
139
158
  { explode: false, charEncoding: "none" },
140
159
  ),
160
+ "X-Upload-Part-Number": encodeSimple(
161
+ "X-Upload-Part-Number",
162
+ payload$.xUploadPartNumber,
163
+ { explode: false, charEncoding: "none" },
164
+ ),
165
+ "X-Upload-Total-Parts": encodeSimple(
166
+ "X-Upload-Total-Parts",
167
+ payload$.xUploadTotalParts,
168
+ { explode: false, charEncoding: "none" },
169
+ ),
141
170
  }));
142
171
  const securityInput = await extractSecurity(client$._options.security);
143
172
  const requestSecurity = resolveGlobalSecurity(securityInput);
@@ -17,4 +17,8 @@ export type OAuth2Scope =
17
17
  /**
18
18
  * Allows uploading new assets.
19
19
  */
20
- | "upload";
20
+ | "upload"
21
+ /**
22
+ * Generate media
23
+ */
24
+ | "media_generation";
@@ -939,7 +939,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
939
939
  <h1>Instructions</h1>
940
940
  <p>One-click installation for Claude Desktop users</p>
941
941
  <div class="instruction-item">
942
- <a href="https://github.com/cloudinary/asset-management-mcp/releases/download/v0.9.2/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
942
+ <a href="https://github.com/cloudinary/asset-management-mcp/releases/download/v0.10.0/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
943
943
  📥 Download MCP Bundle
944
944
  </a>
945
945
  </div>
package/src/lib/config.ts CHANGED
@@ -112,9 +112,9 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
112
112
 
113
113
  export const SDK_METADATA = {
114
114
  language: "typescript",
115
- openapiDocVersion: "0.5.1",
116
- sdkVersion: "0.9.2",
117
- genVersion: "2.885.1",
115
+ openapiDocVersion: "0.7.4",
116
+ sdkVersion: "0.10.0",
117
+ genVersion: "2.918.4",
118
118
  userAgent:
119
- "speakeasy-sdk/mcp-typescript 0.9.2 2.885.1 0.5.1 @cloudinary/asset-management-mcp",
119
+ "speakeasy-sdk/mcp-typescript 0.10.0 2.918.4 0.7.4 @cloudinary/asset-management-mcp",
120
120
  } as const;
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import { bytesToBase64 } from "./base64.js";
7
- import { isPlainObject } from "./is-plain-object.js";
7
+ import { isPlainObject } from "./primitives.js";
8
8
 
9
9
  export class EncodingError extends Error {
10
10
  constructor(message: string) {
package/src/lib/env.ts CHANGED
@@ -3,8 +3,6 @@
3
3
  * @generated-id: c52972a3b198
4
4
  */
5
5
 
6
- import { dlv } from "./dlv.js";
7
-
8
6
  import * as z from "zod";
9
7
  import { SDKOptions } from "./config.js";
10
8
 
@@ -40,8 +38,13 @@ export function env(): Env {
40
38
  return envMemo;
41
39
  }
42
40
 
41
+ const globals = globalThis as {
42
+ process?: { env?: Record<string, string | undefined> };
43
+ Deno?: { env?: { toObject?: () => Record<string, string | undefined> } };
44
+ };
45
+
43
46
  envMemo = envSchema.parse(
44
- dlv(globalThis, "process.env") ?? dlv(globalThis, "Deno.env") ?? {},
47
+ globals.process?.env ?? globals.Deno?.env?.toObject?.() ?? {},
45
48
  );
46
49
  return envMemo;
47
50
  }
package/src/lib/http.ts CHANGED
@@ -46,8 +46,10 @@ export class HTTPClient {
46
46
  private requestHooks: BeforeRequestHook[] = [];
47
47
  private requestErrorHooks: RequestErrorHook[] = [];
48
48
  private responseHooks: ResponseHook[] = [];
49
+ private options: HTTPClientOptions;
49
50
 
50
- constructor(private options: HTTPClientOptions = {}) {
51
+ constructor(options: HTTPClientOptions = {}) {
52
+ this.options = options;
51
53
  this.fetcher = options.fetcher || DEFAULT_FETCHER;
52
54
  }
53
55
 
@@ -112,3 +112,19 @@ export function invariant(
112
112
  throw new InvariantError(message);
113
113
  }
114
114
  }
115
+
116
+ export function isPlainObject(
117
+ value: unknown,
118
+ ): value is Record<string, unknown> {
119
+ if (value === null || typeof value !== "object") return false;
120
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
121
+ const proto = Object.getPrototypeOf(value);
122
+ if (proto === null || proto === Object.prototype) return true;
123
+ // cross-realm plain objects (vm contexts, iframes) inherit from a
124
+ // different realm's Object.prototype, which itself has a null prototype
125
+ try {
126
+ return Object.getPrototypeOf(proto) === null;
127
+ } catch {
128
+ return false;
129
+ }
130
+ }
@@ -195,6 +195,14 @@ async function retryBackoff(
195
195
  }
196
196
 
197
197
  function retryIntervalFromResponse(res: Response): number {
198
+ const retryAfterMsVal = res.headers.get("retry-after-ms");
199
+ if (retryAfterMsVal) {
200
+ const parsedMs = Number(retryAfterMsVal);
201
+ if (Number.isFinite(parsedMs) && parsedMs >= 0) {
202
+ return parsedMs;
203
+ }
204
+ }
205
+
198
206
  const retryVal = res.headers.get("retry-after") || "";
199
207
  if (!retryVal) {
200
208
  return 0;
@@ -14,17 +14,22 @@ type OAuth2PasswordFlow = {
14
14
  tokenURL: string;
15
15
  };
16
16
 
17
- export enum SecurityErrorCode {
18
- Incomplete = "incomplete",
19
- UnrecognisedSecurityType = "unrecognized_security_type",
20
- }
17
+ export const SecurityErrorCode = {
18
+ Incomplete: "incomplete",
19
+ UnrecognisedSecurityType: "unrecognized_security_type",
20
+ } as const;
21
+ export type SecurityErrorCode =
22
+ (typeof SecurityErrorCode)[keyof typeof SecurityErrorCode];
21
23
 
22
24
  export class SecurityError extends Error {
25
+ public code: SecurityErrorCode;
26
+
23
27
  constructor(
24
- public code: SecurityErrorCode,
28
+ code: SecurityErrorCode,
25
29
  message: string,
26
30
  ) {
27
31
  super(message);
32
+ this.code = code;
28
33
  this.name = "SecurityError";
29
34
  }
30
35
 
@@ -116,7 +116,7 @@ export const SHARED_CSS_TOKENS = /* css */ `
116
116
  [data-theme="dark"] .status-warn, .dark .status-warn { background: #854d0e; color: #fef08a; }
117
117
  [data-theme="dark"] .status-err, .dark .status-err { background: #991b1b; color: #fecaca; }
118
118
 
119
- html { overflow: hidden; }
119
+ html { scrollbar-gutter: auto; }
120
120
  body {
121
121
  font-family: var(--cld-font);
122
122
  background: var(--cld-bg);
@@ -125,6 +125,7 @@ body {
125
125
  line-height: 1.5;
126
126
  font-size: var(--cld-font-xs);
127
127
  position: relative;
128
+ overflow-x: hidden;
128
129
  }
129
130
  .theme-btn {
130
131
  width: 22px; height: 22px; border-radius: 50%;
@@ -163,9 +164,11 @@ export const SHARED_CSS_COMPONENTS = /* css */ `
163
164
  .link { cursor: pointer; }
164
165
  .link:hover { color: var(--cld-accent); text-decoration: underline; }
165
166
 
166
- /* Modal */
167
+ /* Modal — positioned absolutely so it can be placed in the part of the
168
+ * iframe that is currently visible in the host's viewport (since position:fixed
169
+ * inside a tall iframe anchors to iframe-center, not the user's visible area). */
167
170
  .modal-overlay {
168
- position: fixed; inset: 0;
171
+ position: absolute; left: 0; right: 0;
169
172
  background: rgba(0,0,0,0.45);
170
173
  display: flex; align-items: center; justify-content: center;
171
174
  z-index: 1000; backdrop-filter: blur(3px); padding: 24px;
@@ -1013,6 +1016,55 @@ function closeModal() {
1013
1016
  if (ov) ov.remove();
1014
1017
  }
1015
1018
 
1019
+ /* Position the modal overlay so it's centered on the part of the iframe
1020
+ * the user is currently looking at. Inside an iframe that the host has
1021
+ * sized to scrollHeight, position: fixed anchors to iframe-center, not
1022
+ * the user's visible band — so we compute the visible band ourselves
1023
+ * via IntersectionObserver and place the overlay absolutely there. */
1024
+ function positionModalInVisibleArea(overlay) {
1025
+ if (!overlay) return;
1026
+ var docH = Math.max(document.documentElement.scrollHeight, window.innerHeight);
1027
+
1028
+ // Try IntersectionObserver first (works cross-origin too)
1029
+ if (typeof IntersectionObserver !== "undefined") {
1030
+ var probe = document.createElement("div");
1031
+ probe.style.cssText = "position:absolute;left:0;top:0;width:1px;height:" + docH + "px;pointer-events:none;visibility:hidden;";
1032
+ document.body.appendChild(probe);
1033
+ var io = new IntersectionObserver(function(entries) {
1034
+ try {
1035
+ var entry = entries[0];
1036
+ var rect = entry.intersectionRect;
1037
+ var rootRect = entry.rootBounds || entry.boundingClientRect;
1038
+ // intersectionRect.top is in viewport coords; visible band of the
1039
+ // document is from (probe.top + rect.top) to (probe.top + rect.bottom).
1040
+ var probeTop = entry.boundingClientRect.top; // viewport-relative
1041
+ var visibleTop = rect.top - probeTop; // document-relative
1042
+ var visibleHeight = rect.height;
1043
+ if (visibleHeight > 0) {
1044
+ overlay.style.top = visibleTop + "px";
1045
+ overlay.style.height = visibleHeight + "px";
1046
+ } else {
1047
+ // Fallback: probe not intersecting (shouldn't happen with full-height probe)
1048
+ overlay.style.top = (window.scrollY || 0) + "px";
1049
+ overlay.style.height = window.innerHeight + "px";
1050
+ }
1051
+ } finally {
1052
+ io.disconnect();
1053
+ if (probe.parentNode) probe.parentNode.removeChild(probe);
1054
+ }
1055
+ });
1056
+ io.observe(probe);
1057
+ return;
1058
+ }
1059
+
1060
+ // Fallback: same-origin only — read iframe's bounding rect
1061
+ var rect = document.documentElement.getBoundingClientRect();
1062
+ var visibleTop = rect.top < 0 ? -rect.top : 0;
1063
+ var visibleHeight = Math.min(window.innerHeight, rect.bottom) - Math.max(0, rect.top);
1064
+ overlay.style.top = visibleTop + "px";
1065
+ overlay.style.height = Math.max(visibleHeight, 200) + "px";
1066
+ }
1067
+
1016
1068
  function openModal(headerHtml, bodyHtml) {
1017
1069
  closeModal();
1018
1070
  var h = '<div class="modal-overlay"><div class="modal">';
@@ -1022,6 +1074,7 @@ function openModal(headerHtml, bodyHtml) {
1022
1074
  document.body.insertAdjacentHTML("beforeend", h);
1023
1075
 
1024
1076
  var overlay = document.querySelector(".modal-overlay");
1077
+ positionModalInVisibleArea(overlay);
1025
1078
  overlay.addEventListener("click", function(e) {
1026
1079
  if (e.target === overlay || e.target.classList.contains("modal-close")) {
1027
1080
  closeModal();
@@ -168,17 +168,27 @@ const GALLERY_CSS = /* css */ `
168
168
  }
169
169
 
170
170
  /* ── Multi-select bar ── */
171
+ /* Wrapper takes layout space ONLY when a selection is active. When idle
172
+ * it's display:none so it contributes 0 to scrollHeight (no phantom
173
+ * scrollbar gutter / no extra iframe height). */
174
+ .select-bar-wrap {
175
+ display: none;
176
+ position: sticky; bottom: 0; left: 0; right: 0;
177
+ justify-content: center; pointer-events: none;
178
+ z-index: 100; height: 64px;
179
+ }
180
+ .select-bar-wrap.visible { display: flex; }
171
181
  .select-bar {
172
- position: fixed; bottom: 16px; left: 50%;
173
- transform: translateX(-50%) translateY(80px);
182
+ position: absolute; bottom: 8px;
183
+ transform: translateY(80px);
174
184
  background: #1a1d24; color: white; border-radius: 40px;
175
185
  padding: 0 6px 0 16px; height: 48px;
176
186
  display: flex; align-items: center; gap: 4px;
177
187
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
178
188
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s;
179
- opacity: 0; pointer-events: none; z-index: 100; white-space: nowrap;
189
+ opacity: 0; pointer-events: none; white-space: nowrap;
180
190
  }
181
- .select-bar.visible { transform: translateX(-50%) translateY(0); opacity: 1; pointer-events: all; }
191
+ .select-bar-wrap.visible .select-bar { transform: translateY(0); opacity: 1; pointer-events: all; }
182
192
  .select-count { font-size: 13px; font-weight: 600; margin-right: 8px; }
183
193
  .bar-btn {
184
194
  height: 36px; padding: 0 14px; border: none; border-radius: 30px;
@@ -243,12 +253,12 @@ function showToast(msg) {
243
253
  }
244
254
 
245
255
  function updateSelectBar() {
246
- var bar = document.getElementById("select-bar");
256
+ var wrap = document.getElementById("select-bar-wrap");
247
257
  var countEl = document.getElementById("select-count");
248
- if (!bar || !countEl) return;
258
+ if (!wrap || !countEl) return;
249
259
  var n = selected.size;
250
260
  countEl.textContent = n + " selected";
251
- bar.classList.toggle("visible", n > 0);
261
+ wrap.classList.toggle("visible", n > 0);
252
262
  var btn = document.getElementById("select-all-btn");
253
263
  if (btn) {
254
264
  var visible = getVisibleIndices();
@@ -528,7 +538,8 @@ function render() {
528
538
  h += "</div>";
529
539
  }
530
540
 
531
- // Multi-select bar
541
+ // Multi-select bar (sticky, in-flow wrapper so iframe sizing stays truthful)
542
+ h += '<div class="select-bar-wrap" id="select-bar-wrap">';
532
543
  h += '<div class="select-bar" id="select-bar">';
533
544
  h += '<span class="select-count" id="select-count">0 selected</span>';
534
545
  h += '<div class="bar-divider"></div>';
@@ -538,6 +549,7 @@ function render() {
538
549
  h += '<div class="bar-divider"></div>';
539
550
  h += '<button class="bar-btn bar-ghost" id="bar-clear">' + IC.x + '</button>';
540
551
  h += '</div>';
552
+ h += '</div>';
541
553
 
542
554
  // Toast
543
555
  h += '<div class="gallery-toast" id="gallery-toast"></div>';
@@ -767,6 +779,9 @@ async function fetchDirect() {
767
779
  console.log(LOG_PREFIX, "fetchDirect ->", name);
768
780
 
769
781
  document.getElementById("app").innerHTML = '<div class="status">Fetching assets\\u2026</div>';
782
+ requestAnimationFrame(function() {
783
+ app.reportSize(Math.max(document.documentElement.scrollHeight, MIN_HEIGHT));
784
+ });
770
785
  try {
771
786
  var res = await app.callServerTool({ name: name, arguments: args });
772
787
  var data = ingestResult(res);
@@ -818,6 +833,7 @@ async function loadMore() {
818
833
  function refreshGallery() {
819
834
  allResources = [];
820
835
  lastCursor = null;
836
+ selected.clear();
821
837
  fetchDirect();
822
838
  }
823
839
 
@@ -22,7 +22,7 @@ const routes = buildRouteMap({
22
22
  export const app = buildApplication(routes, {
23
23
  name: "mcp",
24
24
  versionInfo: {
25
- currentVersion: "0.9.2",
25
+ currentVersion: "0.10.0",
26
26
  },
27
27
  });
28
28
 
@@ -38,8 +38,11 @@ import { tool$foldersCreateFolder } from "./tools/foldersCreateFolder.js";
38
38
  import { tool$foldersDestroyFolder } from "./tools/foldersDestroyFolder.js";
39
39
  import { tool$foldersSearchFolders } from "./tools/foldersSearchFolders.js";
40
40
  import { tool$foldersUpdateFolder } from "./tools/foldersUpdateFolder.js";
41
+ import { tool$generationGenerateImage } from "./tools/generationGenerateImage.js";
42
+ import { tool$generationGenerateImageFromImages } from "./tools/generationGenerateImageFromImages.js";
41
43
  import { tool$searchSearchAssets } from "./tools/searchSearchAssets.js";
42
44
  import { tool$searchVisualSearchAssets } from "./tools/searchVisualSearchAssets.js";
45
+ import { tool$tasksGetGenerationTaskStatus } from "./tools/tasksGetGenerationTaskStatus.js";
43
46
  import { tool$uploadUpload } from "./tools/uploadUpload.js";
44
47
  import { tool$usageGetUsage } from "./tools/usageGetUsage.js";
45
48
 
@@ -60,7 +63,7 @@ export function createMCPServer(deps: {
60
63
  }) {
61
64
  const server = new McpServer({
62
65
  name: "CloudinaryAssetMgmt",
63
- version: "0.9.2",
66
+ version: "0.10.0",
64
67
  });
65
68
 
66
69
  const getClient = deps.getSDK || (() =>
@@ -130,6 +133,9 @@ export function createMCPServer(deps: {
130
133
  tool(tool$foldersSearchFolders);
131
134
  tool(tool$searchSearchAssets);
132
135
  tool(tool$searchVisualSearchAssets);
136
+ tool(tool$generationGenerateImage);
137
+ tool(tool$generationGenerateImageFromImages);
138
+ tool(tool$tasksGetGenerationTaskStatus);
133
139
 
134
140
  if (deps.dynamic) {
135
141
  registerDynamicTools(deps.logger, server, getClient, toolMap, scopes);
@@ -4,11 +4,11 @@
4
4
  */
5
5
 
6
6
  import { assetsDestroyByAssetId } from "../../funcs/assetsDestroyByAssetId.js";
7
- import { ComponentsDestroyRequest$zodSchema } from "../../models/componentsdestroyrequest.js";
7
+ import { DestroyByAssetIdRequest$zodSchema } from "../../models/destroybyassetidrequest.js";
8
8
  import { formatResult, ToolDefinition } from "../tools.js";
9
9
 
10
10
  const args = {
11
- request: ComponentsDestroyRequest$zodSchema.describe(
11
+ request: DestroyByAssetIdRequest$zodSchema.describe(
12
12
  `The asset to delete and related options.`,
13
13
  ),
14
14
  };
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 358095938b5f
4
+ */
5
+
6
+ import { generationGenerateImage } from "../../funcs/generationGenerateImage.js";
7
+ import { GenerateImageRequest$zodSchema } from "../../models/generateimagerequest.js";
8
+ import { formatResult, ToolDefinition } from "../tools.js";
9
+
10
+ const args = {
11
+ request: GenerateImageRequest$zodSchema.describe(
12
+ `A JSON object containing the generation request parameters.`,
13
+ ),
14
+ };
15
+
16
+ export const tool$generationGenerateImage: ToolDefinition<typeof args> = {
17
+ name: "generate-image",
18
+ description: `Generate an image
19
+
20
+ Generate an image from a text prompt using AI models.
21
+
22
+ The model is selected via the optional \`model\` object:
23
+ 1. If \`model.id\` is provided, use that exact model.
24
+ 2. Else if \`model.family\` (+ optional \`model.tier\`) is provided, resolve via the model registry; a missing tier defaults to \`standard\`.
25
+ 3. If \`model\` is omitted, use the global default (nano-banana / premium, i.e. \`nano-banana-2\`).
26
+ `,
27
+ scopes: ["builder"],
28
+ annotations: {
29
+ "title": "Generate an Image",
30
+ "destructiveHint": false,
31
+ "idempotentHint": false,
32
+ "openWorldHint": false,
33
+ "readOnlyHint": false,
34
+ },
35
+ args,
36
+ tool: async (client, args, ctx) => {
37
+ const [result] = await generationGenerateImage(
38
+ client,
39
+ args.request,
40
+ { fetchOptions: { signal: ctx.signal } },
41
+ ).$inspect();
42
+
43
+ if (!result.ok) {
44
+ return {
45
+ content: [{ type: "text", text: result.error.message }],
46
+ isError: true,
47
+ };
48
+ }
49
+
50
+ return formatResult(result.value);
51
+ },
52
+ };