@cloudinary/environment-config-mcp 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/README.md +5 -5
  2. package/bin/mcp-server.js +1401 -695
  3. package/bin/mcp-server.js.map +150 -127
  4. package/esm/core.d.ts.map +1 -1
  5. package/esm/core.js +1 -0
  6. package/esm/core.js.map +1 -1
  7. package/esm/funcs/streamingProfilesCreateStreamingProfile.d.ts.map +1 -1
  8. package/esm/funcs/streamingProfilesCreateStreamingProfile.js +1 -0
  9. package/esm/funcs/streamingProfilesCreateStreamingProfile.js.map +1 -1
  10. package/esm/funcs/streamingProfilesDeleteStreamingProfile.d.ts.map +1 -1
  11. package/esm/funcs/streamingProfilesDeleteStreamingProfile.js +1 -0
  12. package/esm/funcs/streamingProfilesDeleteStreamingProfile.js.map +1 -1
  13. package/esm/funcs/streamingProfilesGetStreamingProfile.d.ts.map +1 -1
  14. package/esm/funcs/streamingProfilesGetStreamingProfile.js +1 -0
  15. package/esm/funcs/streamingProfilesGetStreamingProfile.js.map +1 -1
  16. package/esm/funcs/streamingProfilesGetStreamingProfiles.d.ts.map +1 -1
  17. package/esm/funcs/streamingProfilesGetStreamingProfiles.js +1 -0
  18. package/esm/funcs/streamingProfilesGetStreamingProfiles.js.map +1 -1
  19. package/esm/funcs/streamingProfilesUpdateStreamingProfile.d.ts.map +1 -1
  20. package/esm/funcs/streamingProfilesUpdateStreamingProfile.js +1 -0
  21. package/esm/funcs/streamingProfilesUpdateStreamingProfile.js.map +1 -1
  22. package/esm/funcs/transformationsCreateTransformation.d.ts +1 -1
  23. package/esm/funcs/transformationsCreateTransformation.d.ts.map +1 -1
  24. package/esm/funcs/transformationsCreateTransformation.js +2 -1
  25. package/esm/funcs/transformationsCreateTransformation.js.map +1 -1
  26. package/esm/funcs/transformationsDeleteTransformation.d.ts.map +1 -1
  27. package/esm/funcs/transformationsDeleteTransformation.js +1 -0
  28. package/esm/funcs/transformationsDeleteTransformation.js.map +1 -1
  29. package/esm/funcs/transformationsGetTransformation.d.ts.map +1 -1
  30. package/esm/funcs/transformationsGetTransformation.js +1 -0
  31. package/esm/funcs/transformationsGetTransformation.js.map +1 -1
  32. package/esm/funcs/transformationsListTransformations.d.ts +1 -1
  33. package/esm/funcs/transformationsListTransformations.d.ts.map +1 -1
  34. package/esm/funcs/transformationsListTransformations.js +2 -1
  35. package/esm/funcs/transformationsListTransformations.js.map +1 -1
  36. package/esm/funcs/transformationsUpdateTransformation.d.ts +2 -2
  37. package/esm/funcs/transformationsUpdateTransformation.d.ts.map +1 -1
  38. package/esm/funcs/transformationsUpdateTransformation.js +3 -2
  39. package/esm/funcs/transformationsUpdateTransformation.js.map +1 -1
  40. package/esm/funcs/triggersCreateTrigger.d.ts +1 -1
  41. package/esm/funcs/triggersCreateTrigger.d.ts.map +1 -1
  42. package/esm/funcs/triggersCreateTrigger.js +2 -1
  43. package/esm/funcs/triggersCreateTrigger.js.map +1 -1
  44. package/esm/funcs/triggersDeleteTrigger.d.ts.map +1 -1
  45. package/esm/funcs/triggersDeleteTrigger.js +1 -0
  46. package/esm/funcs/triggersDeleteTrigger.js.map +1 -1
  47. package/esm/funcs/triggersListTrigger.d.ts +3 -2
  48. package/esm/funcs/triggersListTrigger.d.ts.map +1 -1
  49. package/esm/funcs/triggersListTrigger.js +2 -1
  50. package/esm/funcs/triggersListTrigger.js.map +1 -1
  51. package/esm/funcs/triggersTestTrigger.d.ts +2 -2
  52. package/esm/funcs/triggersTestTrigger.d.ts.map +1 -1
  53. package/esm/funcs/triggersTestTrigger.js +10 -7
  54. package/esm/funcs/triggersTestTrigger.js.map +1 -1
  55. package/esm/funcs/triggersUpdateTrigger.d.ts +2 -2
  56. package/esm/funcs/triggersUpdateTrigger.d.ts.map +1 -1
  57. package/esm/funcs/triggersUpdateTrigger.js +10 -7
  58. package/esm/funcs/triggersUpdateTrigger.js.map +1 -1
  59. package/esm/funcs/uploadMappingsCreateUploadMapping.d.ts +2 -2
  60. package/esm/funcs/uploadMappingsCreateUploadMapping.d.ts.map +1 -1
  61. package/esm/funcs/uploadMappingsCreateUploadMapping.js +3 -2
  62. package/esm/funcs/uploadMappingsCreateUploadMapping.js.map +1 -1
  63. package/esm/funcs/uploadMappingsDeleteUploadMapping.d.ts.map +1 -1
  64. package/esm/funcs/uploadMappingsDeleteUploadMapping.js +1 -0
  65. package/esm/funcs/uploadMappingsDeleteUploadMapping.js.map +1 -1
  66. package/esm/funcs/uploadMappingsListUploadMappings.d.ts.map +1 -1
  67. package/esm/funcs/uploadMappingsListUploadMappings.js +1 -0
  68. package/esm/funcs/uploadMappingsListUploadMappings.js.map +1 -1
  69. package/esm/funcs/uploadMappingsReplaceUploadMappings.d.ts +1 -1
  70. package/esm/funcs/uploadMappingsReplaceUploadMappings.d.ts.map +1 -1
  71. package/esm/funcs/uploadMappingsReplaceUploadMappings.js +2 -1
  72. package/esm/funcs/uploadMappingsReplaceUploadMappings.js.map +1 -1
  73. package/esm/funcs/uploadMappingsUpdateUploadMapping.d.ts +3 -3
  74. package/esm/funcs/uploadMappingsUpdateUploadMapping.d.ts.map +1 -1
  75. package/esm/funcs/uploadMappingsUpdateUploadMapping.js +4 -3
  76. package/esm/funcs/uploadMappingsUpdateUploadMapping.js.map +1 -1
  77. package/esm/funcs/uploadPresetsCreateUploadPreset.d.ts +2 -2
  78. package/esm/funcs/uploadPresetsCreateUploadPreset.d.ts.map +1 -1
  79. package/esm/funcs/uploadPresetsCreateUploadPreset.js +3 -2
  80. package/esm/funcs/uploadPresetsCreateUploadPreset.js.map +1 -1
  81. package/esm/funcs/uploadPresetsDeleteUploadPreset.d.ts.map +1 -1
  82. package/esm/funcs/uploadPresetsDeleteUploadPreset.js +1 -0
  83. package/esm/funcs/uploadPresetsDeleteUploadPreset.js.map +1 -1
  84. package/esm/funcs/uploadPresetsGetUploadPreset.d.ts.map +1 -1
  85. package/esm/funcs/uploadPresetsGetUploadPreset.js +1 -0
  86. package/esm/funcs/uploadPresetsGetUploadPreset.js.map +1 -1
  87. package/esm/funcs/uploadPresetsListUploadPresets.d.ts +3 -2
  88. package/esm/funcs/uploadPresetsListUploadPresets.d.ts.map +1 -1
  89. package/esm/funcs/uploadPresetsListUploadPresets.js +6 -3
  90. package/esm/funcs/uploadPresetsListUploadPresets.js.map +1 -1
  91. package/esm/funcs/uploadPresetsUpdateUploadPreset.d.ts +2 -2
  92. package/esm/funcs/uploadPresetsUpdateUploadPreset.d.ts.map +1 -1
  93. package/esm/funcs/uploadPresetsUpdateUploadPreset.js +8 -5
  94. package/esm/funcs/uploadPresetsUpdateUploadPreset.js.map +1 -1
  95. package/esm/hooks/cloudConfig.d.ts +15 -0
  96. package/esm/hooks/cloudConfig.d.ts.map +1 -1
  97. package/esm/hooks/cloudConfig.js +28 -0
  98. package/esm/hooks/cloudConfig.js.map +1 -1
  99. package/esm/hooks/cloudinaryAuthHook.d.ts +13 -16
  100. package/esm/hooks/cloudinaryAuthHook.d.ts.map +1 -1
  101. package/esm/hooks/cloudinaryAuthHook.js +43 -180
  102. package/esm/hooks/cloudinaryAuthHook.js.map +1 -1
  103. package/esm/hooks/customHeadersHook.d.ts +13 -0
  104. package/esm/hooks/customHeadersHook.d.ts.map +1 -0
  105. package/esm/hooks/customHeadersHook.js +21 -0
  106. package/esm/hooks/customHeadersHook.js.map +1 -0
  107. package/esm/hooks/hooks.d.ts.map +1 -1
  108. package/esm/hooks/hooks.js +1 -0
  109. package/esm/hooks/hooks.js.map +1 -1
  110. package/esm/hooks/oauth2scopes.d.ts.map +1 -1
  111. package/esm/hooks/oauth2scopes.js +1 -0
  112. package/esm/hooks/oauth2scopes.js.map +1 -1
  113. package/esm/hooks/registration.d.ts.map +1 -1
  114. package/esm/hooks/registration.js +9 -7
  115. package/esm/hooks/registration.js.map +1 -1
  116. package/esm/hooks/responseHeadersHook.d.ts +15 -0
  117. package/esm/hooks/responseHeadersHook.d.ts.map +1 -0
  118. package/esm/hooks/responseHeadersHook.js +83 -0
  119. package/esm/hooks/responseHeadersHook.js.map +1 -0
  120. package/esm/hooks/types.d.ts.map +1 -1
  121. package/esm/hooks/types.js +1 -0
  122. package/esm/hooks/types.js.map +1 -1
  123. package/esm/landing-page.d.ts.map +1 -1
  124. package/esm/landing-page.js +10 -3
  125. package/esm/landing-page.js.map +1 -1
  126. package/esm/lib/base64.d.ts.map +1 -1
  127. package/esm/lib/base64.js +1 -0
  128. package/esm/lib/base64.js.map +1 -1
  129. package/esm/lib/config.d.ts +4 -4
  130. package/esm/lib/config.d.ts.map +1 -1
  131. package/esm/lib/config.js +5 -4
  132. package/esm/lib/config.js.map +1 -1
  133. package/esm/lib/encodings.d.ts +1 -0
  134. package/esm/lib/encodings.d.ts.map +1 -1
  135. package/esm/lib/encodings.js +28 -6
  136. package/esm/lib/encodings.js.map +1 -1
  137. package/esm/lib/env.d.ts.map +1 -1
  138. package/esm/lib/env.js +3 -2
  139. package/esm/lib/env.js.map +1 -1
  140. package/esm/lib/files.d.ts +13 -0
  141. package/esm/lib/files.d.ts.map +1 -1
  142. package/esm/lib/files.js +19 -0
  143. package/esm/lib/files.js.map +1 -1
  144. package/esm/lib/http.d.ts +1 -1
  145. package/esm/lib/http.d.ts.map +1 -1
  146. package/esm/lib/http.js +2 -1
  147. package/esm/lib/http.js.map +1 -1
  148. package/esm/lib/logger.d.ts.map +1 -1
  149. package/esm/lib/logger.js +1 -0
  150. package/esm/lib/logger.js.map +1 -1
  151. package/esm/lib/primitives.d.ts +1 -0
  152. package/esm/lib/primitives.d.ts.map +1 -1
  153. package/esm/lib/primitives.js +18 -0
  154. package/esm/lib/primitives.js.map +1 -1
  155. package/esm/lib/result.d.ts.map +1 -1
  156. package/esm/lib/result.js +1 -0
  157. package/esm/lib/result.js.map +1 -1
  158. package/esm/lib/retries.d.ts.map +1 -1
  159. package/esm/lib/retries.js +8 -0
  160. package/esm/lib/retries.js.map +1 -1
  161. package/esm/lib/schemas.d.ts.map +1 -1
  162. package/esm/lib/schemas.js +1 -0
  163. package/esm/lib/schemas.js.map +1 -1
  164. package/esm/lib/sdks.d.ts.map +1 -1
  165. package/esm/lib/sdks.js +1 -2
  166. package/esm/lib/sdks.js.map +1 -1
  167. package/esm/lib/security.d.ts +6 -5
  168. package/esm/lib/security.d.ts.map +1 -1
  169. package/esm/lib/security.js +34 -22
  170. package/esm/lib/security.js.map +1 -1
  171. package/esm/lib/url.d.ts.map +1 -1
  172. package/esm/lib/url.js +1 -0
  173. package/esm/lib/url.js.map +1 -1
  174. package/esm/mcp-server/cli/serve/command.d.ts.map +1 -1
  175. package/esm/mcp-server/cli/serve/command.js +8 -1
  176. package/esm/mcp-server/cli/serve/command.js.map +1 -1
  177. package/esm/mcp-server/cli/serve/impl.d.ts.map +1 -1
  178. package/esm/mcp-server/cli/serve/impl.js +4 -1
  179. package/esm/mcp-server/cli/serve/impl.js.map +1 -1
  180. package/esm/mcp-server/cli/start/command.d.ts.map +1 -1
  181. package/esm/mcp-server/cli/start/command.js +8 -1
  182. package/esm/mcp-server/cli/start/command.js.map +1 -1
  183. package/esm/mcp-server/cli/start/impl.d.ts.map +1 -1
  184. package/esm/mcp-server/cli/start/impl.js +4 -0
  185. package/esm/mcp-server/cli/start/impl.js.map +1 -1
  186. package/esm/mcp-server/cli.d.ts.map +1 -1
  187. package/esm/mcp-server/cli.js +1 -0
  188. package/esm/mcp-server/cli.js.map +1 -1
  189. package/esm/mcp-server/console-logger.d.ts.map +1 -1
  190. package/esm/mcp-server/console-logger.js +1 -0
  191. package/esm/mcp-server/console-logger.js.map +1 -1
  192. package/esm/mcp-server/extensions.d.ts.map +1 -1
  193. package/esm/mcp-server/extensions.js +1 -0
  194. package/esm/mcp-server/extensions.js.map +1 -1
  195. package/esm/mcp-server/flags.d.ts +1 -0
  196. package/esm/mcp-server/flags.d.ts.map +1 -1
  197. package/esm/mcp-server/flags.js +1 -0
  198. package/esm/mcp-server/flags.js.map +1 -1
  199. package/esm/mcp-server/mcp-server.d.ts.map +1 -1
  200. package/esm/mcp-server/mcp-server.js +2 -1
  201. package/esm/mcp-server/mcp-server.js.map +1 -1
  202. package/esm/mcp-server/prompts.d.ts.map +1 -1
  203. package/esm/mcp-server/prompts.js +1 -0
  204. package/esm/mcp-server/prompts.js.map +1 -1
  205. package/esm/mcp-server/resources.d.ts.map +1 -1
  206. package/esm/mcp-server/resources.js +1 -0
  207. package/esm/mcp-server/resources.js.map +1 -1
  208. package/esm/mcp-server/scopes.d.ts.map +1 -1
  209. package/esm/mcp-server/scopes.js +1 -0
  210. package/esm/mcp-server/scopes.js.map +1 -1
  211. package/esm/mcp-server/server.d.ts +2 -0
  212. package/esm/mcp-server/server.d.ts.map +1 -1
  213. package/esm/mcp-server/server.js +4 -3
  214. package/esm/mcp-server/server.js.map +1 -1
  215. package/esm/mcp-server/shared.d.ts.map +1 -1
  216. package/esm/mcp-server/shared.js +1 -0
  217. package/esm/mcp-server/shared.js.map +1 -1
  218. package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.d.ts.map +1 -1
  219. package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js +2 -1
  220. package/esm/mcp-server/tools/streamingProfilesCreateStreamingProfile.js.map +1 -1
  221. package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.d.ts.map +1 -1
  222. package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js +2 -1
  223. package/esm/mcp-server/tools/streamingProfilesDeleteStreamingProfile.js.map +1 -1
  224. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.d.ts.map +1 -1
  225. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js +2 -1
  226. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfile.js.map +1 -1
  227. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.d.ts.map +1 -1
  228. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js +1 -0
  229. package/esm/mcp-server/tools/streamingProfilesGetStreamingProfiles.js.map +1 -1
  230. package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.d.ts.map +1 -1
  231. package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js +3 -2
  232. package/esm/mcp-server/tools/streamingProfilesUpdateStreamingProfile.js.map +1 -1
  233. package/esm/mcp-server/tools/transformationsCreateTransformation.d.ts.map +1 -1
  234. package/esm/mcp-server/tools/transformationsCreateTransformation.js +4 -3
  235. package/esm/mcp-server/tools/transformationsCreateTransformation.js.map +1 -1
  236. package/esm/mcp-server/tools/transformationsDeleteTransformation.d.ts.map +1 -1
  237. package/esm/mcp-server/tools/transformationsDeleteTransformation.js +1 -0
  238. package/esm/mcp-server/tools/transformationsDeleteTransformation.js.map +1 -1
  239. package/esm/mcp-server/tools/transformationsGetTransformation.d.ts.map +1 -1
  240. package/esm/mcp-server/tools/transformationsGetTransformation.js +1 -0
  241. package/esm/mcp-server/tools/transformationsGetTransformation.js.map +1 -1
  242. package/esm/mcp-server/tools/transformationsListTransformations.d.ts.map +1 -1
  243. package/esm/mcp-server/tools/transformationsListTransformations.js +2 -1
  244. package/esm/mcp-server/tools/transformationsListTransformations.js.map +1 -1
  245. package/esm/mcp-server/tools/transformationsUpdateTransformation.d.ts.map +1 -1
  246. package/esm/mcp-server/tools/transformationsUpdateTransformation.js +4 -3
  247. package/esm/mcp-server/tools/transformationsUpdateTransformation.js.map +1 -1
  248. package/esm/mcp-server/tools/triggersCreateTrigger.d.ts +1 -1
  249. package/esm/mcp-server/tools/triggersCreateTrigger.d.ts.map +1 -1
  250. package/esm/mcp-server/tools/triggersCreateTrigger.js +3 -2
  251. package/esm/mcp-server/tools/triggersCreateTrigger.js.map +1 -1
  252. package/esm/mcp-server/tools/triggersDeleteTrigger.d.ts.map +1 -1
  253. package/esm/mcp-server/tools/triggersDeleteTrigger.js +2 -1
  254. package/esm/mcp-server/tools/triggersDeleteTrigger.js.map +1 -1
  255. package/esm/mcp-server/tools/triggersListTrigger.d.ts +30 -2
  256. package/esm/mcp-server/tools/triggersListTrigger.d.ts.map +1 -1
  257. package/esm/mcp-server/tools/triggersListTrigger.js +4 -3
  258. package/esm/mcp-server/tools/triggersListTrigger.js.map +1 -1
  259. package/esm/mcp-server/tools/triggersTestTrigger.d.ts +1 -1
  260. package/esm/mcp-server/tools/triggersTestTrigger.d.ts.map +1 -1
  261. package/esm/mcp-server/tools/triggersTestTrigger.js +6 -5
  262. package/esm/mcp-server/tools/triggersTestTrigger.js.map +1 -1
  263. package/esm/mcp-server/tools/triggersUpdateTrigger.d.ts +1 -1
  264. package/esm/mcp-server/tools/triggersUpdateTrigger.d.ts.map +1 -1
  265. package/esm/mcp-server/tools/triggersUpdateTrigger.js +5 -4
  266. package/esm/mcp-server/tools/triggersUpdateTrigger.js.map +1 -1
  267. package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.d.ts +1 -1
  268. package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.d.ts.map +1 -1
  269. package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js +3 -2
  270. package/esm/mcp-server/tools/uploadMappingsCreateUploadMapping.js.map +1 -1
  271. package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.d.ts.map +1 -1
  272. package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js +1 -0
  273. package/esm/mcp-server/tools/uploadMappingsDeleteUploadMapping.js.map +1 -1
  274. package/esm/mcp-server/tools/uploadMappingsListUploadMappings.d.ts.map +1 -1
  275. package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js +1 -0
  276. package/esm/mcp-server/tools/uploadMappingsListUploadMappings.js.map +1 -1
  277. package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.d.ts +1 -1
  278. package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.d.ts.map +1 -1
  279. package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js +4 -3
  280. package/esm/mcp-server/tools/uploadMappingsUpdateUploadMapping.js.map +1 -1
  281. package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.d.ts +1 -1
  282. package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.d.ts.map +1 -1
  283. package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js +3 -2
  284. package/esm/mcp-server/tools/uploadPresetsCreateUploadPreset.js.map +1 -1
  285. package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.d.ts.map +1 -1
  286. package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js +2 -1
  287. package/esm/mcp-server/tools/uploadPresetsDeleteUploadPreset.js.map +1 -1
  288. package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.d.ts.map +1 -1
  289. package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js +2 -1
  290. package/esm/mcp-server/tools/uploadPresetsGetUploadPreset.js.map +1 -1
  291. package/esm/mcp-server/tools/uploadPresetsListUploadPresets.d.ts +2 -1
  292. package/esm/mcp-server/tools/uploadPresetsListUploadPresets.d.ts.map +1 -1
  293. package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js +7 -4
  294. package/esm/mcp-server/tools/uploadPresetsListUploadPresets.js.map +1 -1
  295. package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.d.ts +1 -1
  296. package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.d.ts.map +1 -1
  297. package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js +5 -4
  298. package/esm/mcp-server/tools/uploadPresetsUpdateUploadPreset.js.map +1 -1
  299. package/esm/mcp-server/tools.d.ts +8 -1
  300. package/esm/mcp-server/tools.d.ts.map +1 -1
  301. package/esm/mcp-server/tools.js +59 -10
  302. package/esm/mcp-server/tools.js.map +1 -1
  303. package/esm/models/accesscontrolitem.d.ts +12 -2
  304. package/esm/models/accesscontrolitem.d.ts.map +1 -1
  305. package/esm/models/accesscontrolitem.js +19 -4
  306. package/esm/models/accesscontrolitem.js.map +1 -1
  307. package/esm/models/apierror.d.ts.map +1 -1
  308. package/esm/models/apierror.js +1 -0
  309. package/esm/models/apierror.js.map +1 -1
  310. package/esm/models/assetdeliverytype.d.ts +16 -0
  311. package/esm/models/assetdeliverytype.d.ts.map +1 -0
  312. package/esm/models/assetdeliverytype.js +15 -0
  313. package/esm/models/assetdeliverytype.js.map +1 -0
  314. package/esm/models/createrequest.d.ts.map +1 -1
  315. package/esm/models/createrequest.js +3 -2
  316. package/esm/models/createrequest.js.map +1 -1
  317. package/esm/models/createstreamingprofileop.d.ts +2 -9
  318. package/esm/models/createstreamingprofileop.d.ts.map +1 -1
  319. package/esm/models/createstreamingprofileop.js +3 -5
  320. package/esm/models/createstreamingprofileop.js.map +1 -1
  321. package/esm/models/createtransformationop.d.ts +2 -8
  322. package/esm/models/createtransformationop.d.ts.map +1 -1
  323. package/esm/models/createtransformationop.js +5 -6
  324. package/esm/models/createtransformationop.js.map +1 -1
  325. package/esm/models/createtriggerop.d.ts +0 -5
  326. package/esm/models/createtriggerop.d.ts.map +1 -1
  327. package/esm/models/createtriggerop.js +1 -5
  328. package/esm/models/createtriggerop.js.map +1 -1
  329. package/esm/models/createtriggerrequest.d.ts +8 -0
  330. package/esm/models/createtriggerrequest.d.ts.map +1 -0
  331. package/esm/models/createtriggerrequest.js +12 -0
  332. package/esm/models/createtriggerrequest.js.map +1 -0
  333. package/esm/models/createuploadmappingop.d.ts +2 -15
  334. package/esm/models/createuploadmappingop.d.ts.map +1 -1
  335. package/esm/models/createuploadmappingop.js +3 -10
  336. package/esm/models/createuploadmappingop.js.map +1 -1
  337. package/esm/models/createuploadpresetop.d.ts +2 -10
  338. package/esm/models/createuploadpresetop.d.ts.map +1 -1
  339. package/esm/models/createuploadpresetop.js +3 -6
  340. package/esm/models/createuploadpresetop.js.map +1 -1
  341. package/esm/models/deletestreamingprofileop.d.ts +2 -8
  342. package/esm/models/deletestreamingprofileop.d.ts.map +1 -1
  343. package/esm/models/deletestreamingprofileop.js +4 -5
  344. package/esm/models/deletestreamingprofileop.js.map +1 -1
  345. package/esm/models/deletetransformationop.d.ts +2 -8
  346. package/esm/models/deletetransformationop.d.ts.map +1 -1
  347. package/esm/models/deletetransformationop.js +3 -4
  348. package/esm/models/deletetransformationop.js.map +1 -1
  349. package/esm/models/deletetriggerop.d.ts +2 -8
  350. package/esm/models/deletetriggerop.d.ts.map +1 -1
  351. package/esm/models/deletetriggerop.js +4 -5
  352. package/esm/models/deletetriggerop.js.map +1 -1
  353. package/esm/models/deleteuploadmappingop.d.ts +2 -9
  354. package/esm/models/deleteuploadmappingop.d.ts.map +1 -1
  355. package/esm/models/deleteuploadmappingop.js +3 -5
  356. package/esm/models/deleteuploadmappingop.js.map +1 -1
  357. package/esm/models/deleteuploadpresetop.d.ts +2 -9
  358. package/esm/models/deleteuploadpresetop.d.ts.map +1 -1
  359. package/esm/models/deleteuploadpresetop.js +4 -6
  360. package/esm/models/deleteuploadpresetop.js.map +1 -1
  361. package/esm/models/directionenum.d.ts +18 -0
  362. package/esm/models/directionenum.d.ts.map +1 -0
  363. package/esm/models/directionenum.js +17 -0
  364. package/esm/models/directionenum.js.map +1 -0
  365. package/esm/models/errors/apierror.d.ts.map +1 -1
  366. package/esm/models/errors/apierror.js +1 -0
  367. package/esm/models/errors/apierror.js.map +1 -1
  368. package/esm/models/errors/httpclienterrors.d.ts.map +1 -1
  369. package/esm/models/errors/httpclienterrors.js +1 -0
  370. package/esm/models/errors/httpclienterrors.js.map +1 -1
  371. package/esm/models/errors/sdkvalidationerror.d.ts.map +1 -1
  372. package/esm/models/errors/sdkvalidationerror.js +1 -0
  373. package/esm/models/errors/sdkvalidationerror.js.map +1 -1
  374. package/esm/models/eventtype.d.ts +70 -0
  375. package/esm/models/eventtype.d.ts.map +1 -0
  376. package/esm/models/eventtype.js +69 -0
  377. package/esm/models/eventtype.js.map +1 -0
  378. package/esm/models/getstreamingprofileop.d.ts +2 -9
  379. package/esm/models/getstreamingprofileop.d.ts.map +1 -1
  380. package/esm/models/getstreamingprofileop.js +4 -6
  381. package/esm/models/getstreamingprofileop.js.map +1 -1
  382. package/esm/models/getstreamingprofilesop.d.ts +2 -9
  383. package/esm/models/getstreamingprofilesop.d.ts.map +1 -1
  384. package/esm/models/getstreamingprofilesop.js +3 -5
  385. package/esm/models/getstreamingprofilesop.js.map +1 -1
  386. package/esm/models/gettransformationop.d.ts.map +1 -1
  387. package/esm/models/gettransformationop.js +1 -0
  388. package/esm/models/gettransformationop.js.map +1 -1
  389. package/esm/models/getuploadpresetop.d.ts +2 -2
  390. package/esm/models/getuploadpresetop.d.ts.map +1 -1
  391. package/esm/models/getuploadpresetop.js +4 -3
  392. package/esm/models/getuploadpresetop.js.map +1 -1
  393. package/esm/models/listtransformationsop.d.ts +2 -2
  394. package/esm/models/listtransformationsop.d.ts.map +1 -1
  395. package/esm/models/listtransformationsop.js +3 -2
  396. package/esm/models/listtransformationsop.js.map +1 -1
  397. package/esm/models/listtriggerop.d.ts +4 -11
  398. package/esm/models/listtriggerop.d.ts.map +1 -1
  399. package/esm/models/listtriggerop.js +5 -7
  400. package/esm/models/listtriggerop.js.map +1 -1
  401. package/esm/models/listuploadmappingsop.d.ts +3 -11
  402. package/esm/models/listuploadmappingsop.d.ts.map +1 -1
  403. package/esm/models/listuploadmappingsop.js +4 -7
  404. package/esm/models/listuploadmappingsop.js.map +1 -1
  405. package/esm/models/listuploadpresetsop.d.ts +16 -24
  406. package/esm/models/listuploadpresetsop.d.ts.map +1 -1
  407. package/esm/models/listuploadpresetsop.js +17 -22
  408. package/esm/models/listuploadpresetsop.js.map +1 -1
  409. package/esm/models/manageddeliverytype.d.ts +20 -0
  410. package/esm/models/manageddeliverytype.d.ts.map +1 -0
  411. package/esm/models/manageddeliverytype.js +19 -0
  412. package/esm/models/manageddeliverytype.js.map +1 -0
  413. package/esm/models/messageresponse.d.ts +6 -0
  414. package/esm/models/messageresponse.d.ts.map +1 -0
  415. package/esm/models/messageresponse.js +9 -0
  416. package/esm/models/messageresponse.js.map +1 -0
  417. package/esm/models/replaceuploadmappingsop.d.ts +2 -17
  418. package/esm/models/replaceuploadmappingsop.d.ts.map +1 -1
  419. package/esm/models/replaceuploadmappingsop.js +3 -11
  420. package/esm/models/replaceuploadmappingsop.js.map +1 -1
  421. package/esm/models/replaceuploadmappingsrequest.d.ts +7 -0
  422. package/esm/models/replaceuploadmappingsrequest.d.ts.map +1 -0
  423. package/esm/models/replaceuploadmappingsrequest.js +10 -0
  424. package/esm/models/replaceuploadmappingsrequest.js.map +1 -0
  425. package/esm/models/responsivebreakpoint.d.ts +11 -0
  426. package/esm/models/responsivebreakpoint.d.ts.map +1 -0
  427. package/esm/models/responsivebreakpoint.js +15 -0
  428. package/esm/models/responsivebreakpoint.js.map +1 -0
  429. package/esm/models/schemecloudinaryauth.d.ts.map +1 -1
  430. package/esm/models/schemecloudinaryauth.js +1 -0
  431. package/esm/models/schemecloudinaryauth.js.map +1 -1
  432. package/esm/models/security.d.ts.map +1 -1
  433. package/esm/models/security.js +1 -0
  434. package/esm/models/security.js.map +1 -1
  435. package/esm/models/streamingprofile.d.ts.map +1 -1
  436. package/esm/models/streamingprofile.js +8 -6
  437. package/esm/models/streamingprofile.js.map +1 -1
  438. package/esm/models/streamingprofilecreate.d.ts.map +1 -1
  439. package/esm/models/streamingprofilecreate.js +4 -3
  440. package/esm/models/streamingprofilecreate.js.map +1 -1
  441. package/esm/models/streamingprofiledataresponse.d.ts +7 -0
  442. package/esm/models/streamingprofiledataresponse.d.ts.map +1 -0
  443. package/esm/models/streamingprofiledataresponse.js +10 -0
  444. package/esm/models/streamingprofiledataresponse.js.map +1 -0
  445. package/esm/models/streamingprofilelistresponse.d.ts +7 -0
  446. package/esm/models/streamingprofilelistresponse.d.ts.map +1 -0
  447. package/esm/models/streamingprofilelistresponse.js +10 -0
  448. package/esm/models/streamingprofilelistresponse.js.map +1 -0
  449. package/esm/models/streamingprofileupdate.d.ts.map +1 -1
  450. package/esm/models/streamingprofileupdate.js +3 -2
  451. package/esm/models/streamingprofileupdate.js.map +1 -1
  452. package/esm/models/streamingprofileupdateresponse.d.ts +8 -0
  453. package/esm/models/streamingprofileupdateresponse.d.ts.map +1 -0
  454. package/esm/models/streamingprofileupdateresponse.js +11 -0
  455. package/esm/models/streamingprofileupdateresponse.js.map +1 -0
  456. package/esm/models/structuredmetadataparam.d.ts +12 -0
  457. package/esm/models/structuredmetadataparam.d.ts.map +1 -0
  458. package/esm/models/structuredmetadataparam.js +11 -0
  459. package/esm/models/structuredmetadataparam.js.map +1 -0
  460. package/esm/models/structuredmetadatavalue.d.ts +4 -0
  461. package/esm/models/structuredmetadatavalue.d.ts.map +1 -0
  462. package/esm/models/structuredmetadatavalue.js +11 -0
  463. package/esm/models/structuredmetadatavalue.js.map +1 -0
  464. package/esm/models/tagsparam.d.ts +7 -0
  465. package/esm/models/tagsparam.d.ts.map +1 -0
  466. package/esm/models/tagsparam.js +10 -0
  467. package/esm/models/tagsparam.js.map +1 -0
  468. package/esm/models/testtriggerop.d.ts +7 -23
  469. package/esm/models/testtriggerop.d.ts.map +1 -1
  470. package/esm/models/testtriggerop.js +8 -17
  471. package/esm/models/testtriggerop.js.map +1 -1
  472. package/esm/models/testtriggerrequest.d.ts +11 -0
  473. package/esm/models/testtriggerrequest.d.ts.map +1 -0
  474. package/esm/models/testtriggerrequest.js +12 -0
  475. package/esm/models/testtriggerrequest.js.map +1 -0
  476. package/esm/models/testtriggerresponse.d.ts +8 -0
  477. package/esm/models/testtriggerresponse.d.ts.map +1 -0
  478. package/esm/models/testtriggerresponse.js +12 -0
  479. package/esm/models/testtriggerresponse.js.map +1 -0
  480. package/esm/models/transformationinfo.d.ts.map +1 -1
  481. package/esm/models/transformationinfo.js +5 -4
  482. package/esm/models/transformationinfo.js.map +1 -1
  483. package/esm/models/{listresponse.d.ts → transformationlistresponse.d.ts} +3 -3
  484. package/esm/models/transformationlistresponse.d.ts.map +1 -0
  485. package/esm/models/{listresponse.js → transformationlistresponse.js} +3 -2
  486. package/esm/models/transformationlistresponse.js.map +1 -0
  487. package/esm/models/transformationsummary.d.ts.map +1 -1
  488. package/esm/models/transformationsummary.js +1 -0
  489. package/esm/models/transformationsummary.js.map +1 -1
  490. package/esm/models/triggerinfo.d.ts +2 -1
  491. package/esm/models/triggerinfo.d.ts.map +1 -1
  492. package/esm/models/triggerinfo.js +3 -1
  493. package/esm/models/triggerinfo.js.map +1 -1
  494. package/esm/models/triggerlistresponse.d.ts +11 -0
  495. package/esm/models/triggerlistresponse.d.ts.map +1 -0
  496. package/esm/models/triggerlistresponse.js +12 -0
  497. package/esm/models/triggerlistresponse.js.map +1 -0
  498. package/esm/models/updaterequest.d.ts.map +1 -1
  499. package/esm/models/updaterequest.js +3 -2
  500. package/esm/models/updaterequest.js.map +1 -1
  501. package/esm/models/updatestreamingprofileop.d.ts +2 -10
  502. package/esm/models/updatestreamingprofileop.d.ts.map +1 -1
  503. package/esm/models/updatestreamingprofileop.js +5 -8
  504. package/esm/models/updatestreamingprofileop.js.map +1 -1
  505. package/esm/models/updatetransformationop.d.ts +2 -8
  506. package/esm/models/updatetransformationop.d.ts.map +1 -1
  507. package/esm/models/updatetransformationop.js +4 -5
  508. package/esm/models/updatetransformationop.js.map +1 -1
  509. package/esm/models/updatetriggerop.d.ts +6 -15
  510. package/esm/models/updatetriggerop.d.ts.map +1 -1
  511. package/esm/models/updatetriggerop.js +7 -11
  512. package/esm/models/updatetriggerop.js.map +1 -1
  513. package/esm/models/updatetriggerrequest.d.ts +6 -0
  514. package/esm/models/updatetriggerrequest.d.ts.map +1 -0
  515. package/esm/models/updatetriggerrequest.js +10 -0
  516. package/esm/models/updatetriggerrequest.js.map +1 -0
  517. package/esm/models/updateuploadmappingop.d.ts +2 -14
  518. package/esm/models/updateuploadmappingop.d.ts.map +1 -1
  519. package/esm/models/updateuploadmappingop.js +3 -9
  520. package/esm/models/updateuploadmappingop.js.map +1 -1
  521. package/esm/models/updateuploadpresetop.d.ts +4 -11
  522. package/esm/models/updateuploadpresetop.d.ts.map +1 -1
  523. package/esm/models/updateuploadpresetop.js +6 -8
  524. package/esm/models/updateuploadpresetop.js.map +1 -1
  525. package/esm/models/uploaddeliverytype.d.ts +9 -0
  526. package/esm/models/uploaddeliverytype.d.ts.map +1 -0
  527. package/esm/models/uploaddeliverytype.js +13 -0
  528. package/esm/models/uploaddeliverytype.js.map +1 -0
  529. package/esm/models/uploadmapping.d.ts.map +1 -1
  530. package/esm/models/uploadmapping.js +5 -4
  531. package/esm/models/uploadmapping.js.map +1 -1
  532. package/esm/models/uploadmappingcreateresponse.d.ts +8 -0
  533. package/esm/models/uploadmappingcreateresponse.d.ts.map +1 -0
  534. package/esm/models/uploadmappingcreateresponse.js +11 -0
  535. package/esm/models/uploadmappingcreateresponse.js.map +1 -0
  536. package/esm/models/uploadmappinginput.d.ts +7 -0
  537. package/esm/models/uploadmappinginput.d.ts.map +1 -0
  538. package/esm/models/uploadmappinginput.js +11 -0
  539. package/esm/models/uploadmappinginput.js.map +1 -0
  540. package/esm/models/uploadmappinglistresponse.d.ts +12 -0
  541. package/esm/models/uploadmappinglistresponse.d.ts.map +1 -0
  542. package/esm/models/uploadmappinglistresponse.js +12 -0
  543. package/esm/models/uploadmappinglistresponse.js.map +1 -0
  544. package/esm/models/uploadmappingmutationresponse.d.ts +7 -0
  545. package/esm/models/uploadmappingmutationresponse.d.ts.map +1 -0
  546. package/esm/models/uploadmappingmutationresponse.js +10 -0
  547. package/esm/models/uploadmappingmutationresponse.js.map +1 -0
  548. package/esm/models/uploadpresetcreateresponse.d.ts +8 -0
  549. package/esm/models/uploadpresetcreateresponse.d.ts.map +1 -0
  550. package/esm/models/uploadpresetcreateresponse.js +11 -0
  551. package/esm/models/uploadpresetcreateresponse.js.map +1 -0
  552. package/esm/models/uploadpresetdetail.d.ts +13 -0
  553. package/esm/models/uploadpresetdetail.d.ts.map +1 -0
  554. package/esm/models/uploadpresetdetail.js +14 -0
  555. package/esm/models/uploadpresetdetail.js.map +1 -0
  556. package/esm/models/{uploadpreset.d.ts → uploadpresetinput.d.ts} +81 -83
  557. package/esm/models/uploadpresetinput.d.ts.map +1 -0
  558. package/esm/models/uploadpresetinput.js +129 -0
  559. package/esm/models/uploadpresetinput.js.map +1 -0
  560. package/esm/models/uploadpresetlistresponse.d.ts +8 -0
  561. package/esm/models/uploadpresetlistresponse.d.ts.map +1 -0
  562. package/esm/models/uploadpresetlistresponse.js +11 -0
  563. package/esm/models/uploadpresetlistresponse.js.map +1 -0
  564. package/esm/models/uploadpresetmutationresponse.d.ts +7 -0
  565. package/esm/models/uploadpresetmutationresponse.d.ts.map +1 -0
  566. package/esm/models/uploadpresetmutationresponse.js +10 -0
  567. package/esm/models/uploadpresetmutationresponse.js.map +1 -0
  568. package/esm/models/uploadpresetparsedsettings.d.ts +129 -0
  569. package/esm/models/uploadpresetparsedsettings.d.ts.map +1 -0
  570. package/esm/models/uploadpresetparsedsettings.js +110 -0
  571. package/esm/models/uploadpresetparsedsettings.js.map +1 -0
  572. package/esm/models/uploadpresetsummary.d.ts +16 -0
  573. package/esm/models/uploadpresetsummary.d.ts.map +1 -0
  574. package/esm/models/uploadpresetsummary.js +20 -0
  575. package/esm/models/uploadpresetsummary.js.map +1 -0
  576. package/esm/models/uritype.d.ts.map +1 -1
  577. package/esm/models/uritype.js +1 -0
  578. package/esm/models/uritype.js.map +1 -1
  579. package/esm/tool-names.js +5 -5
  580. package/esm/tool-names.js.map +1 -1
  581. package/esm/types/async.d.ts.map +1 -1
  582. package/esm/types/async.js +7 -6
  583. package/esm/types/async.js.map +1 -1
  584. package/esm/types/bigint.d.ts.map +1 -1
  585. package/esm/types/bigint.js +5 -3
  586. package/esm/types/bigint.js.map +1 -1
  587. package/esm/types/blobs.d.ts.map +1 -1
  588. package/esm/types/blobs.js +1 -0
  589. package/esm/types/blobs.js.map +1 -1
  590. package/esm/types/enums.d.ts.map +1 -1
  591. package/esm/types/enums.js +1 -0
  592. package/esm/types/enums.js.map +1 -1
  593. package/esm/types/fp.d.ts.map +1 -1
  594. package/esm/types/fp.js +1 -0
  595. package/esm/types/fp.js.map +1 -1
  596. package/esm/types/rfcdate.d.ts.map +1 -1
  597. package/esm/types/rfcdate.js +1 -0
  598. package/esm/types/rfcdate.js.map +1 -1
  599. package/esm/types/streams.d.ts.map +1 -1
  600. package/esm/types/streams.js +1 -0
  601. package/esm/types/streams.js.map +1 -1
  602. package/package.json +8 -3
  603. package/src/core.ts +1 -0
  604. package/src/funcs/streamingProfilesCreateStreamingProfile.ts +1 -0
  605. package/src/funcs/streamingProfilesDeleteStreamingProfile.ts +1 -0
  606. package/src/funcs/streamingProfilesGetStreamingProfile.ts +1 -0
  607. package/src/funcs/streamingProfilesGetStreamingProfiles.ts +1 -0
  608. package/src/funcs/streamingProfilesUpdateStreamingProfile.ts +1 -0
  609. package/src/funcs/transformationsCreateTransformation.ts +2 -1
  610. package/src/funcs/transformationsDeleteTransformation.ts +1 -0
  611. package/src/funcs/transformationsGetTransformation.ts +1 -0
  612. package/src/funcs/transformationsListTransformations.ts +2 -1
  613. package/src/funcs/transformationsUpdateTransformation.ts +3 -2
  614. package/src/funcs/triggersCreateTrigger.ts +2 -1
  615. package/src/funcs/triggersDeleteTrigger.ts +1 -0
  616. package/src/funcs/triggersListTrigger.ts +5 -3
  617. package/src/funcs/triggersTestTrigger.ts +13 -10
  618. package/src/funcs/triggersUpdateTrigger.ts +13 -10
  619. package/src/funcs/uploadMappingsCreateUploadMapping.ts +8 -7
  620. package/src/funcs/uploadMappingsDeleteUploadMapping.ts +1 -0
  621. package/src/funcs/uploadMappingsListUploadMappings.ts +1 -0
  622. package/src/funcs/uploadMappingsReplaceUploadMappings.ts +2 -1
  623. package/src/funcs/uploadMappingsUpdateUploadMapping.ts +8 -7
  624. package/src/funcs/uploadPresetsCreateUploadPreset.ts +7 -6
  625. package/src/funcs/uploadPresetsDeleteUploadPreset.ts +1 -0
  626. package/src/funcs/uploadPresetsGetUploadPreset.ts +1 -0
  627. package/src/funcs/uploadPresetsListUploadPresets.ts +9 -3
  628. package/src/funcs/uploadPresetsUpdateUploadPreset.ts +9 -6
  629. package/src/hooks/cloudConfig.ts +41 -0
  630. package/src/hooks/cloudinaryAuthHook.ts +59 -212
  631. package/src/hooks/customHeadersHook.ts +30 -0
  632. package/src/hooks/hooks.ts +1 -0
  633. package/src/hooks/oauth2scopes.ts +1 -0
  634. package/src/hooks/registration.ts +10 -8
  635. package/src/hooks/responseHeadersHook.ts +98 -0
  636. package/src/hooks/types.ts +1 -0
  637. package/src/landing-page.ts +10 -3
  638. package/src/lib/base64.ts +1 -0
  639. package/src/lib/config.ts +5 -4
  640. package/src/lib/encodings.ts +34 -5
  641. package/src/lib/env.ts +7 -3
  642. package/src/lib/files.ts +23 -0
  643. package/src/lib/http.ts +4 -1
  644. package/src/lib/logger.ts +1 -0
  645. package/src/lib/primitives.ts +17 -0
  646. package/src/lib/result.ts +1 -0
  647. package/src/lib/retries.ts +9 -0
  648. package/src/lib/schemas.ts +1 -0
  649. package/src/lib/sdks.ts +1 -2
  650. package/src/lib/security.ts +25 -7
  651. package/src/lib/url.ts +1 -0
  652. package/src/mcp-server/cli/serve/command.ts +9 -1
  653. package/src/mcp-server/cli/serve/impl.ts +4 -1
  654. package/src/mcp-server/cli/start/command.ts +9 -1
  655. package/src/mcp-server/cli/start/impl.ts +4 -0
  656. package/src/mcp-server/cli.ts +1 -0
  657. package/src/mcp-server/console-logger.ts +1 -0
  658. package/src/mcp-server/extensions.ts +1 -0
  659. package/src/mcp-server/flags.ts +2 -0
  660. package/src/mcp-server/mcp-server.ts +2 -1
  661. package/src/mcp-server/prompts.ts +1 -0
  662. package/src/mcp-server/resources.ts +1 -0
  663. package/src/mcp-server/scopes.ts +1 -0
  664. package/src/mcp-server/server.ts +9 -2
  665. package/src/mcp-server/shared.ts +1 -0
  666. package/src/mcp-server/tools/streamingProfilesCreateStreamingProfile.ts +4 -1
  667. package/src/mcp-server/tools/streamingProfilesDeleteStreamingProfile.ts +2 -1
  668. package/src/mcp-server/tools/streamingProfilesGetStreamingProfile.ts +2 -1
  669. package/src/mcp-server/tools/streamingProfilesGetStreamingProfiles.ts +1 -0
  670. package/src/mcp-server/tools/streamingProfilesUpdateStreamingProfile.ts +5 -2
  671. package/src/mcp-server/tools/transformationsCreateTransformation.ts +6 -3
  672. package/src/mcp-server/tools/transformationsDeleteTransformation.ts +1 -0
  673. package/src/mcp-server/tools/transformationsGetTransformation.ts +1 -0
  674. package/src/mcp-server/tools/transformationsListTransformations.ts +2 -1
  675. package/src/mcp-server/tools/transformationsUpdateTransformation.ts +6 -3
  676. package/src/mcp-server/tools/triggersCreateTrigger.ts +5 -2
  677. package/src/mcp-server/tools/triggersDeleteTrigger.ts +2 -1
  678. package/src/mcp-server/tools/triggersListTrigger.ts +6 -5
  679. package/src/mcp-server/tools/triggersTestTrigger.ts +8 -5
  680. package/src/mcp-server/tools/triggersUpdateTrigger.ts +7 -4
  681. package/src/mcp-server/tools/uploadMappingsCreateUploadMapping.ts +5 -2
  682. package/src/mcp-server/tools/uploadMappingsDeleteUploadMapping.ts +1 -0
  683. package/src/mcp-server/tools/uploadMappingsListUploadMappings.ts +1 -0
  684. package/src/mcp-server/tools/uploadMappingsUpdateUploadMapping.ts +6 -3
  685. package/src/mcp-server/tools/uploadPresetsCreateUploadPreset.ts +5 -2
  686. package/src/mcp-server/tools/uploadPresetsDeleteUploadPreset.ts +2 -1
  687. package/src/mcp-server/tools/uploadPresetsGetUploadPreset.ts +2 -1
  688. package/src/mcp-server/tools/uploadPresetsListUploadPresets.ts +13 -6
  689. package/src/mcp-server/tools/uploadPresetsUpdateUploadPreset.ts +7 -4
  690. package/src/mcp-server/tools.ts +86 -10
  691. package/src/models/accesscontrolitem.ts +45 -6
  692. package/src/models/apierror.ts +1 -0
  693. package/src/models/assetdeliverytype.ts +22 -0
  694. package/src/models/createrequest.ts +5 -2
  695. package/src/models/createstreamingprofileop.ts +6 -16
  696. package/src/models/createtransformationop.ts +11 -17
  697. package/src/models/createtriggerop.ts +1 -8
  698. package/src/models/createtriggerrequest.ts +17 -0
  699. package/src/models/createuploadmappingop.ts +7 -28
  700. package/src/models/createuploadpresetop.ts +7 -21
  701. package/src/models/deletestreamingprofileop.ts +8 -16
  702. package/src/models/deletetransformationop.ts +7 -15
  703. package/src/models/deletetriggerop.ts +8 -14
  704. package/src/models/deleteuploadmappingop.ts +7 -17
  705. package/src/models/deleteuploadpresetop.ts +8 -18
  706. package/src/models/directionenum.ts +24 -0
  707. package/src/models/errors/apierror.ts +1 -0
  708. package/src/models/errors/httpclienterrors.ts +1 -0
  709. package/src/models/errors/sdkvalidationerror.ts +1 -0
  710. package/src/models/eventtype.ts +76 -0
  711. package/src/models/getstreamingprofileop.ts +7 -17
  712. package/src/models/getstreamingprofilesop.ts +6 -18
  713. package/src/models/gettransformationop.ts +1 -0
  714. package/src/models/getuploadpresetop.ts +8 -4
  715. package/src/models/listtransformationsop.ts +7 -3
  716. package/src/models/listtriggerop.ts +11 -21
  717. package/src/models/listuploadmappingsop.ts +11 -19
  718. package/src/models/listuploadpresetsop.ts +35 -40
  719. package/src/models/manageddeliverytype.ts +28 -0
  720. package/src/models/messageresponse.ts +12 -0
  721. package/src/models/replaceuploadmappingsop.ts +7 -30
  722. package/src/models/replaceuploadmappingsrequest.ts +20 -0
  723. package/src/models/responsivebreakpoint.ts +37 -0
  724. package/src/models/schemecloudinaryauth.ts +1 -0
  725. package/src/models/security.ts +1 -0
  726. package/src/models/streamingprofile.ts +16 -6
  727. package/src/models/streamingprofilecreate.ts +8 -3
  728. package/src/models/streamingprofiledataresponse.ts +18 -0
  729. package/src/models/streamingprofilelistresponse.ts +18 -0
  730. package/src/models/streamingprofileupdate.ts +7 -2
  731. package/src/models/streamingprofileupdateresponse.ts +22 -0
  732. package/src/models/structuredmetadataparam.ts +28 -0
  733. package/src/models/structuredmetadatavalue.ts +16 -0
  734. package/src/models/tagsparam.ts +16 -0
  735. package/src/models/testtriggerop.ts +25 -45
  736. package/src/models/testtriggerrequest.ts +23 -0
  737. package/src/models/testtriggerresponse.ts +23 -0
  738. package/src/models/transformationinfo.ts +13 -4
  739. package/src/models/{listresponse.ts → transformationlistresponse.ts} +5 -2
  740. package/src/models/transformationsummary.ts +1 -0
  741. package/src/models/triggerinfo.ts +6 -2
  742. package/src/models/triggerlistresponse.ts +23 -0
  743. package/src/models/updaterequest.ts +7 -2
  744. package/src/models/updatestreamingprofileop.ts +11 -23
  745. package/src/models/updatetransformationop.ts +10 -16
  746. package/src/models/updatetriggerop.ts +20 -27
  747. package/src/models/updatetriggerrequest.ts +15 -0
  748. package/src/models/updateuploadmappingop.ts +7 -26
  749. package/src/models/updateuploadpresetop.ts +16 -21
  750. package/src/models/uploaddeliverytype.ts +25 -0
  751. package/src/models/uploadmapping.ts +7 -4
  752. package/src/models/uploadmappingcreateresponse.ts +20 -0
  753. package/src/models/uploadmappinginput.ts +14 -0
  754. package/src/models/uploadmappinglistresponse.ts +28 -0
  755. package/src/models/uploadmappingmutationresponse.ts +18 -0
  756. package/src/models/uploadpresetcreateresponse.ts +22 -0
  757. package/src/models/uploadpresetdetail.ts +36 -0
  758. package/src/models/uploadpresetinput.ts +414 -0
  759. package/src/models/uploadpresetlistresponse.ts +24 -0
  760. package/src/models/uploadpresetmutationresponse.ts +22 -0
  761. package/src/models/uploadpresetparsedsettings.ts +369 -0
  762. package/src/models/uploadpresetsummary.ts +45 -0
  763. package/src/models/uritype.ts +1 -0
  764. package/src/tool-names.ts +5 -5
  765. package/src/types/async.ts +9 -7
  766. package/src/types/bigint.ts +19 -17
  767. package/src/types/blobs.ts +1 -0
  768. package/src/types/enums.ts +1 -0
  769. package/src/types/fp.ts +1 -0
  770. package/src/types/rfcdate.ts +1 -0
  771. package/src/types/streams.ts +1 -0
  772. package/esm/lib/dlv.d.ts +0 -14
  773. package/esm/lib/dlv.d.ts.map +0 -1
  774. package/esm/lib/dlv.js +0 -46
  775. package/esm/lib/dlv.js.map +0 -1
  776. package/esm/lib/is-plain-object.d.ts +0 -2
  777. package/esm/lib/is-plain-object.d.ts.map +0 -1
  778. package/esm/lib/is-plain-object.js +0 -38
  779. package/esm/lib/is-plain-object.js.map +0 -1
  780. package/esm/models/listresponse.d.ts.map +0 -1
  781. package/esm/models/listresponse.js.map +0 -1
  782. package/esm/models/uploadpreset.d.ts.map +0 -1
  783. package/esm/models/uploadpreset.js +0 -134
  784. package/esm/models/uploadpreset.js.map +0 -1
  785. package/src/lib/dlv.ts +0 -53
  786. package/src/lib/is-plain-object.ts +0 -43
  787. package/src/models/uploadpreset.ts +0 -259
package/bin/mcp-server.js CHANGED
@@ -5401,10 +5401,10 @@ var init_config = __esm(() => {
5401
5401
  ]).describe("Regional endpoint selection");
5402
5402
  SDK_METADATA = {
5403
5403
  language: "typescript",
5404
- openapiDocVersion: "0.4.0",
5405
- sdkVersion: "0.6.0",
5406
- genVersion: "2.865.2",
5407
- userAgent: "speakeasy-sdk/mcp-typescript 0.6.0 2.865.2 0.4.0 @cloudinary/environment-config-mcp"
5404
+ openapiDocVersion: "0.5.5",
5405
+ sdkVersion: "0.6.1",
5406
+ genVersion: "2.918.4",
5407
+ userAgent: "speakeasy-sdk/mcp-typescript 0.6.1 2.918.4 0.5.5 @cloudinary/environment-config-mcp"
5408
5408
  };
5409
5409
  });
5410
5410
 
@@ -40048,6 +40048,10 @@ var require_data = __commonJS((exports, module) => {
40048
40048
  var require_utils4 = __commonJS((exports, module) => {
40049
40049
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
40050
40050
  var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
40051
+ var isHexPair = RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);
40052
+ var isUnreserved = RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);
40053
+ var isPathCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);
40054
+ var isQueryFragmentCharacter = RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/?]$/iu);
40051
40055
  function stringArrayToHexStripped(input) {
40052
40056
  let acc = "";
40053
40057
  let code = 0;
@@ -40191,7 +40195,7 @@ var require_utils4 = __commonJS((exports, module) => {
40191
40195
  continue;
40192
40196
  }
40193
40197
  } else if (input[0] === "/") {
40194
- if (input[1] === "." || input[1] === "/") {
40198
+ if (input[1] === ".") {
40195
40199
  output.push("/");
40196
40200
  break;
40197
40201
  }
@@ -40241,27 +40245,169 @@ var require_utils4 = __commonJS((exports, module) => {
40241
40245
  }
40242
40246
  return output.join("");
40243
40247
  }
40244
- function normalizeComponentEncoding(component, esc2) {
40245
- const func = esc2 !== true ? escape : unescape;
40246
- if (component.scheme !== undefined) {
40247
- component.scheme = func(component.scheme);
40248
+ var HOST_DELIMS = { "@": "%40", "/": "%2F", "?": "%3F", "#": "%23", ":": "%3A" };
40249
+ var HOST_DELIM_RE = /[@/?#:]/g;
40250
+ var HOST_DELIM_NO_COLON_RE = /[@/?#]/g;
40251
+ function reescapeHostDelimiters(host, isIP) {
40252
+ const re2 = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
40253
+ re2.lastIndex = 0;
40254
+ return host.replace(re2, (ch) => HOST_DELIMS[ch]);
40255
+ }
40256
+ function normalizePercentEncoding(input, decodeUnreserved = false) {
40257
+ if (input.indexOf("%") === -1) {
40258
+ return input;
40248
40259
  }
40249
- if (component.userinfo !== undefined) {
40250
- component.userinfo = func(component.userinfo);
40260
+ let output = "";
40261
+ for (let i = 0;i < input.length; i++) {
40262
+ if (input[i] === "%" && i + 2 < input.length) {
40263
+ const hex = input.slice(i + 1, i + 3);
40264
+ if (isHexPair(hex)) {
40265
+ const normalizedHex = hex.toUpperCase();
40266
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
40267
+ if (decodeUnreserved && isUnreserved(decoded)) {
40268
+ output += decoded;
40269
+ } else {
40270
+ output += "%" + normalizedHex;
40271
+ }
40272
+ i += 2;
40273
+ continue;
40274
+ }
40275
+ }
40276
+ output += input[i];
40251
40277
  }
40252
- if (component.host !== undefined) {
40253
- component.host = func(component.host);
40278
+ return output;
40279
+ }
40280
+ var BYTE_HEX = new Array(256);
40281
+ {
40282
+ const HEX_DIGITS = "0123456789ABCDEF";
40283
+ for (let i = 0;i < 256; i++) {
40284
+ BYTE_HEX[i] = "%" + HEX_DIGITS[i >> 4] + HEX_DIGITS[i & 15];
40254
40285
  }
40255
- if (component.path !== undefined) {
40256
- component.path = func(component.path);
40286
+ }
40287
+ function isEscapeSafe(cp) {
40288
+ return cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 42 || cp === 43 || cp === 45 || cp === 46 || cp === 47 || cp === 64 || cp === 95;
40289
+ }
40290
+ function percentEncodeNonAscii(cp) {
40291
+ if (cp < 2048) {
40292
+ return BYTE_HEX[192 | cp >> 6] + BYTE_HEX[128 | cp & 63];
40257
40293
  }
40258
- if (component.query !== undefined) {
40259
- component.query = func(component.query);
40294
+ if (cp < 65536) {
40295
+ return BYTE_HEX[224 | cp >> 12] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
40260
40296
  }
40261
- if (component.fragment !== undefined) {
40262
- component.fragment = func(component.fragment);
40297
+ return BYTE_HEX[240 | cp >> 18] + BYTE_HEX[128 | cp >> 12 & 63] + BYTE_HEX[128 | cp >> 6 & 63] + BYTE_HEX[128 | cp & 63];
40298
+ }
40299
+ function normalizePathEncoding(input) {
40300
+ let output = "";
40301
+ for (let i = 0;i < input.length; i++) {
40302
+ const ch = input[i];
40303
+ if (ch === "%" && i + 2 < input.length) {
40304
+ const hex = input.slice(i + 1, i + 3);
40305
+ if (isHexPair(hex)) {
40306
+ const normalizedHex = hex.toUpperCase();
40307
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
40308
+ if (decoded !== "." && isUnreserved(decoded)) {
40309
+ output += decoded;
40310
+ } else {
40311
+ output += "%" + normalizedHex;
40312
+ }
40313
+ i += 2;
40314
+ continue;
40315
+ }
40316
+ }
40317
+ if (isPathCharacter(ch)) {
40318
+ output += ch;
40319
+ } else {
40320
+ const code = input.charCodeAt(i);
40321
+ if (code < 128) {
40322
+ output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
40323
+ } else if (code < 55296 || code > 57343) {
40324
+ output += percentEncodeNonAscii(code);
40325
+ } else if (code <= 56319 && i + 1 < input.length) {
40326
+ const low = input.charCodeAt(i + 1);
40327
+ if (low >= 56320 && low <= 57343) {
40328
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
40329
+ i++;
40330
+ } else {
40331
+ output += percentEncodeNonAscii(65533);
40332
+ }
40333
+ } else {
40334
+ output += percentEncodeNonAscii(65533);
40335
+ }
40336
+ }
40263
40337
  }
40264
- return component;
40338
+ return output;
40339
+ }
40340
+ function normalizeQueryFragmentEncoding(input) {
40341
+ let output = "";
40342
+ for (let i = 0;i < input.length; i++) {
40343
+ const ch = input[i];
40344
+ if (ch === "%" && i + 2 < input.length) {
40345
+ const hex = input.slice(i + 1, i + 3);
40346
+ if (isHexPair(hex)) {
40347
+ const normalizedHex = hex.toUpperCase();
40348
+ const decoded = String.fromCharCode(parseInt(normalizedHex, 16));
40349
+ if (isUnreserved(decoded)) {
40350
+ output += decoded;
40351
+ } else {
40352
+ output += "%" + normalizedHex;
40353
+ }
40354
+ i += 2;
40355
+ continue;
40356
+ }
40357
+ }
40358
+ if (isQueryFragmentCharacter(ch)) {
40359
+ output += ch;
40360
+ } else {
40361
+ const code = input.charCodeAt(i);
40362
+ if (code < 128) {
40363
+ output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
40364
+ } else if (code < 55296 || code > 57343) {
40365
+ output += percentEncodeNonAscii(code);
40366
+ } else if (code <= 56319 && i + 1 < input.length) {
40367
+ const low = input.charCodeAt(i + 1);
40368
+ if (low >= 56320 && low <= 57343) {
40369
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
40370
+ i++;
40371
+ } else {
40372
+ output += percentEncodeNonAscii(65533);
40373
+ }
40374
+ } else {
40375
+ output += percentEncodeNonAscii(65533);
40376
+ }
40377
+ }
40378
+ }
40379
+ return output;
40380
+ }
40381
+ function escapePreservingEscapes(input) {
40382
+ let output = "";
40383
+ for (let i = 0;i < input.length; i++) {
40384
+ const ch = input[i];
40385
+ if (ch === "%" && i + 2 < input.length) {
40386
+ const hex = input.slice(i + 1, i + 3);
40387
+ if (isHexPair(hex)) {
40388
+ output += "%" + hex.toUpperCase();
40389
+ i += 2;
40390
+ continue;
40391
+ }
40392
+ }
40393
+ const code = input.charCodeAt(i);
40394
+ if (code < 128) {
40395
+ output += isEscapeSafe(code) ? ch : BYTE_HEX[code];
40396
+ } else if (code < 55296 || code > 57343) {
40397
+ output += percentEncodeNonAscii(code);
40398
+ } else if (code <= 56319 && i + 1 < input.length) {
40399
+ const low = input.charCodeAt(i + 1);
40400
+ if (low >= 56320 && low <= 57343) {
40401
+ output += percentEncodeNonAscii(65536 + (code - 55296 << 10) + (low - 56320));
40402
+ i++;
40403
+ } else {
40404
+ output += percentEncodeNonAscii(65533);
40405
+ }
40406
+ } else {
40407
+ output += percentEncodeNonAscii(65533);
40408
+ }
40409
+ }
40410
+ return output;
40265
40411
  }
40266
40412
  function recomposeAuthority(component) {
40267
40413
  const uriTokens = [];
@@ -40276,7 +40422,7 @@ var require_utils4 = __commonJS((exports, module) => {
40276
40422
  if (ipV6res.isIPV6 === true) {
40277
40423
  host = `[${ipV6res.escapedHost}]`;
40278
40424
  } else {
40279
- host = component.host;
40425
+ host = reescapeHostDelimiters(host, false);
40280
40426
  }
40281
40427
  }
40282
40428
  uriTokens.push(host);
@@ -40290,7 +40436,11 @@ var require_utils4 = __commonJS((exports, module) => {
40290
40436
  module.exports = {
40291
40437
  nonSimpleDomain,
40292
40438
  recomposeAuthority,
40293
- normalizeComponentEncoding,
40439
+ reescapeHostDelimiters,
40440
+ normalizePercentEncoding,
40441
+ normalizePathEncoding,
40442
+ normalizeQueryFragmentEncoding,
40443
+ escapePreservingEscapes,
40294
40444
  removeDotSegments,
40295
40445
  isIPv4,
40296
40446
  isUUID,
@@ -40475,11 +40625,11 @@ var require_schemes = __commonJS((exports, module) => {
40475
40625
 
40476
40626
  // node_modules/fast-uri/index.js
40477
40627
  var require_fast_uri = __commonJS((exports, module) => {
40478
- var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils4();
40628
+ var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, normalizeQueryFragmentEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils4();
40479
40629
  var { SCHEMES, getSchemeHandler } = require_schemes();
40480
40630
  function normalize(uri, options) {
40481
40631
  if (typeof uri === "string") {
40482
- uri = serialize(parse6(uri, options), options);
40632
+ uri = normalizeString(uri, options);
40483
40633
  } else if (typeof uri === "object") {
40484
40634
  uri = parse6(serialize(uri, options), options);
40485
40635
  }
@@ -40545,19 +40695,9 @@ var require_fast_uri = __commonJS((exports, module) => {
40545
40695
  return target;
40546
40696
  }
40547
40697
  function equal(uriA, uriB, options) {
40548
- if (typeof uriA === "string") {
40549
- uriA = unescape(uriA);
40550
- uriA = serialize(normalizeComponentEncoding(parse6(uriA, options), true), { ...options, skipEscape: true });
40551
- } else if (typeof uriA === "object") {
40552
- uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true });
40553
- }
40554
- if (typeof uriB === "string") {
40555
- uriB = unescape(uriB);
40556
- uriB = serialize(normalizeComponentEncoding(parse6(uriB, options), true), { ...options, skipEscape: true });
40557
- } else if (typeof uriB === "object") {
40558
- uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true });
40559
- }
40560
- return uriA.toLowerCase() === uriB.toLowerCase();
40698
+ const normalizedA = normalizeComparableURI(uriA, options);
40699
+ const normalizedB = normalizeComparableURI(uriB, options);
40700
+ return normalizedA !== undefined && normalizedB !== undefined && normalizedA.toLowerCase() === normalizedB.toLowerCase();
40561
40701
  }
40562
40702
  function serialize(cmpts, opts) {
40563
40703
  const component = {
@@ -40583,12 +40723,12 @@ var require_fast_uri = __commonJS((exports, module) => {
40583
40723
  schemeHandler.serialize(component, options);
40584
40724
  if (component.path !== undefined) {
40585
40725
  if (!options.skipEscape) {
40586
- component.path = escape(component.path);
40726
+ component.path = escapePreservingEscapes(component.path);
40587
40727
  if (component.scheme !== undefined) {
40588
40728
  component.path = component.path.split("%3A").join(":");
40589
40729
  }
40590
40730
  } else {
40591
- component.path = unescape(component.path);
40731
+ component.path = normalizePercentEncoding(component.path);
40592
40732
  }
40593
40733
  }
40594
40734
  if (options.reference !== "suffix" && component.scheme) {
@@ -40623,7 +40763,17 @@ var require_fast_uri = __commonJS((exports, module) => {
40623
40763
  return uriTokens.join("");
40624
40764
  }
40625
40765
  var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
40626
- function parse6(uri, opts) {
40766
+ var AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
40767
+ function getParseError(parsed, matches) {
40768
+ if (matches[2] !== undefined && parsed.path && parsed.path[0] !== "/") {
40769
+ return 'URI path must start with "/" when authority is present.';
40770
+ }
40771
+ if (typeof parsed.port === "number" && (parsed.port < 0 || parsed.port > 65535)) {
40772
+ return "URI port is malformed.";
40773
+ }
40774
+ return;
40775
+ }
40776
+ function parseWithStatus(uri, opts) {
40627
40777
  const options = Object.assign({}, opts);
40628
40778
  const parsed = {
40629
40779
  scheme: undefined,
@@ -40634,6 +40784,7 @@ var require_fast_uri = __commonJS((exports, module) => {
40634
40784
  query: undefined,
40635
40785
  fragment: undefined
40636
40786
  };
40787
+ let malformedAuthorityOrPort = false;
40637
40788
  let isIP = false;
40638
40789
  if (options.reference === "suffix") {
40639
40790
  if (options.scheme) {
@@ -40642,9 +40793,14 @@ var require_fast_uri = __commonJS((exports, module) => {
40642
40793
  uri = "//" + uri;
40643
40794
  }
40644
40795
  }
40796
+ const authorityMatch = uri.match(AUTHORITY_PREFIX);
40797
+ if (authorityMatch !== null && authorityMatch[1].indexOf("\\") !== -1) {
40798
+ parsed.error = "URI authority must not contain a literal backslash.";
40799
+ malformedAuthorityOrPort = true;
40800
+ }
40645
40801
  const matches = uri.match(URI_PARSE);
40646
40802
  if (matches) {
40647
- parsed.scheme = matches[1];
40803
+ parsed.scheme = matches[1] === undefined ? undefined : matches[1].toLowerCase();
40648
40804
  parsed.userinfo = matches[3];
40649
40805
  parsed.host = matches[4];
40650
40806
  parsed.port = parseInt(matches[5], 10);
@@ -40654,6 +40810,11 @@ var require_fast_uri = __commonJS((exports, module) => {
40654
40810
  if (isNaN(parsed.port)) {
40655
40811
  parsed.port = matches[5];
40656
40812
  }
40813
+ const parseError = getParseError(parsed, matches);
40814
+ if (parseError !== undefined) {
40815
+ parsed.error = parsed.error || parseError;
40816
+ malformedAuthorityOrPort = true;
40817
+ }
40657
40818
  if (parsed.host) {
40658
40819
  const ipv4result = isIPv4(parsed.host);
40659
40820
  if (ipv4result === false) {
@@ -40680,7 +40841,7 @@ var require_fast_uri = __commonJS((exports, module) => {
40680
40841
  if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
40681
40842
  if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) {
40682
40843
  try {
40683
- parsed.host = URL.domainToASCII(parsed.host.toLowerCase());
40844
+ parsed.host = new URL("http://" + parsed.host).hostname;
40684
40845
  } catch (e) {
40685
40846
  parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
40686
40847
  }
@@ -40692,14 +40853,17 @@ var require_fast_uri = __commonJS((exports, module) => {
40692
40853
  parsed.scheme = unescape(parsed.scheme);
40693
40854
  }
40694
40855
  if (parsed.host !== undefined) {
40695
- parsed.host = unescape(parsed.host);
40856
+ parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
40696
40857
  }
40697
40858
  }
40698
40859
  if (parsed.path) {
40699
- parsed.path = escape(unescape(parsed.path));
40860
+ parsed.path = normalizePathEncoding(parsed.path);
40861
+ }
40862
+ if (parsed.query) {
40863
+ parsed.query = normalizeQueryFragmentEncoding(parsed.query);
40700
40864
  }
40701
40865
  if (parsed.fragment) {
40702
- parsed.fragment = encodeURI(decodeURIComponent(parsed.fragment));
40866
+ parsed.fragment = normalizeQueryFragmentEncoding(parsed.fragment);
40703
40867
  }
40704
40868
  }
40705
40869
  if (schemeHandler && schemeHandler.parse) {
@@ -40708,7 +40872,29 @@ var require_fast_uri = __commonJS((exports, module) => {
40708
40872
  } else {
40709
40873
  parsed.error = parsed.error || "URI can not be parsed.";
40710
40874
  }
40711
- return parsed;
40875
+ return { parsed, malformedAuthorityOrPort };
40876
+ }
40877
+ function parse6(uri, opts) {
40878
+ return parseWithStatus(uri, opts).parsed;
40879
+ }
40880
+ function normalizeString(uri, opts) {
40881
+ return normalizeStringWithStatus(uri, opts).normalized;
40882
+ }
40883
+ function normalizeStringWithStatus(uri, opts) {
40884
+ const { parsed, malformedAuthorityOrPort } = parseWithStatus(uri, opts);
40885
+ return {
40886
+ normalized: malformedAuthorityOrPort ? uri : serialize(parsed, opts),
40887
+ malformedAuthorityOrPort
40888
+ };
40889
+ }
40890
+ function normalizeComparableURI(uri, opts) {
40891
+ if (typeof uri === "string") {
40892
+ const { normalized, malformedAuthorityOrPort } = normalizeStringWithStatus(uri, opts);
40893
+ return malformedAuthorityOrPort ? undefined : normalized;
40894
+ }
40895
+ if (typeof uri === "object") {
40896
+ return serialize(uri, opts);
40897
+ }
40712
40898
  }
40713
40899
  var fastUri = {
40714
40900
  SCHEMES,
@@ -50227,10 +50413,12 @@ class CloudConfig {
50227
50413
  cloudName;
50228
50414
  apiKey;
50229
50415
  apiSecret;
50416
+ collectHeaders;
50230
50417
  constructor() {
50231
50418
  this.cloudName = "";
50232
50419
  this.apiKey = "";
50233
50420
  this.apiSecret = "";
50421
+ this.collectHeaders = [];
50234
50422
  const process3 = globalThis?.process;
50235
50423
  let envVar = undefined;
50236
50424
  if (process3?.env?.CLOUDINARY_URL) {
@@ -50242,6 +50430,10 @@ class CloudConfig {
50242
50430
  this.cloudName = url.host;
50243
50431
  this.apiKey = url.username || "";
50244
50432
  this.apiSecret = url.password || "";
50433
+ const collectParam = url.searchParams.get("collect_headers");
50434
+ if (collectParam) {
50435
+ this.collectHeaders = CloudConfig.parseCollectHeaders(collectParam);
50436
+ }
50245
50437
  } catch (error2) {
50246
50438
  throw new Error(`Invalid CLOUDINARY_URL: '${envVar}'`);
50247
50439
  }
@@ -50256,191 +50448,142 @@ class CloudConfig {
50256
50448
  if (process3.env.CLOUDINARY_API_SECRET) {
50257
50449
  this.apiSecret = process3.env.CLOUDINARY_API_SECRET;
50258
50450
  }
50451
+ if (process3.env.CLOUDINARY_COLLECT_HEADERS) {
50452
+ this.collectHeaders = CloudConfig.parseCollectHeaders(process3.env.CLOUDINARY_COLLECT_HEADERS);
50453
+ }
50259
50454
  }
50260
50455
  if (this.cloudName && process3?.env && !process3.env.CLOUDINARY_CLOUD_NAME) {
50261
50456
  process3.env.CLOUDINARY_CLOUD_NAME = this.cloudName;
50262
50457
  }
50263
50458
  }
50459
+ static parseCollectHeaders(value) {
50460
+ const trimmed = value.trim().toLowerCase();
50461
+ if (trimmed === "true" || trimmed === "all") {
50462
+ return true;
50463
+ }
50464
+ const names = trimmed.split(",").map((h) => h.trim()).filter(Boolean);
50465
+ return names;
50466
+ }
50264
50467
  }
50265
50468
 
50266
50469
  // src/hooks/cloudinaryAuthHook.ts
50267
50470
  class CloudinaryAuthHook {
50268
- cloudConfig;
50269
- constructor() {
50270
- this.cloudConfig = new CloudConfig;
50471
+ config;
50472
+ constructor(config2) {
50473
+ this.config = config2;
50271
50474
  }
50272
50475
  async beforeRequest(hookCtx, request) {
50273
- let security = hookCtx.securitySource;
50274
- if (typeof security === "function") {
50275
- security = await security();
50276
- }
50277
- if (security && typeof security === "object" && "oauth2" in security && typeof security.oauth2 === "string") {
50278
- const token = security.oauth2;
50279
- if (token) {
50280
- request.headers.set("Authorization", `Bearer ${token}`);
50281
- return request;
50282
- }
50283
- }
50284
- let { apiKey, apiSecret } = this.cloudConfig;
50285
- if (security) {
50286
- if ("cloudinaryAuth" in security && security.cloudinaryAuth) {
50287
- if (security.cloudinaryAuth.apiKey || security.cloudinaryAuth.api_key) {
50288
- apiKey = security.cloudinaryAuth.apiKey || security.cloudinaryAuth.api_key;
50289
- }
50290
- if (security.cloudinaryAuth.apiSecret || security.cloudinaryAuth.api_secret) {
50291
- apiSecret = security.cloudinaryAuth.apiSecret || security.cloudinaryAuth.api_secret;
50292
- }
50293
- } else if ("apiKey" in security || "apiSecret" in security) {
50294
- if ("apiKey" in security && security.apiKey) {
50295
- apiKey = security.apiKey;
50296
- }
50297
- if ("apiSecret" in security && security.apiSecret) {
50298
- apiSecret = security.apiSecret;
50299
- }
50300
- }
50301
- }
50302
- if (!apiKey || !apiSecret) {
50476
+ const security = await this.resolveSecurity(hookCtx.securitySource);
50477
+ if (this.isOAuth2Token(security)) {
50478
+ request.headers.set("Authorization", `Bearer ${security.oauth2}`);
50303
50479
  return request;
50304
50480
  }
50305
- if (this.SIGNED_PATHS.every((path) => request.url.indexOf(path) === -1)) {
50306
- const authHeader = `Basic ${Buffer.from(`${apiKey}:${apiSecret}`).toString("base64")}`;
50307
- request.headers.set("Authorization", authHeader);
50481
+ const { apiKey, apiSecret } = this.resolveCredentials(security);
50482
+ if (!apiKey || !apiSecret) {
50308
50483
  return request;
50309
50484
  }
50310
- const url = new URL(request.url);
50311
- const queryParams = this.paramsFromQuery(url.searchParams);
50312
- if (!request.body) {
50313
- return this.signQueryOnlyRequest(request, apiKey, apiSecret, queryParams);
50314
- }
50315
- if (request.headers.get("Content-Type") === "application/json") {
50316
- const preprocessedBody = await this.preprocessJsonRequest(request);
50317
- return this.signJsonRequest(request, apiKey, apiSecret, queryParams, preprocessedBody);
50318
- }
50319
- if (request.headers.get("Content-Type")?.startsWith("multipart/form-data")) {
50320
- return this.signFormDataRequest(request, apiKey, apiSecret, queryParams);
50321
- }
50322
- if (queryParams.length > 0) {
50323
- return this.signQueryOnlyRequest(request, apiKey, apiSecret, queryParams);
50324
- }
50485
+ const encoded = Buffer.from(`${apiKey}:${apiSecret}`).toString("base64");
50486
+ request.headers.set("Authorization", `Basic ${encoded}`);
50325
50487
  return request;
50326
50488
  }
50327
- paramsFromQuery(searchParams) {
50328
- const params = [];
50329
- for (const [key, value] of searchParams.entries()) {
50330
- if (key !== "file" && key !== "cloud_name" && key !== "resource_type" && key !== "api_key" && key !== "signature" && key !== "timestamp") {
50331
- params.push(`${key}=${value}`);
50332
- }
50489
+ async resolveSecurity(source) {
50490
+ return typeof source === "function" ? source() : source;
50491
+ }
50492
+ isOAuth2Token(security) {
50493
+ return typeof security === "object" && security !== null && "oauth2" in security && typeof security.oauth2 === "string" && security.oauth2.length > 0;
50494
+ }
50495
+ resolveCredentials(security) {
50496
+ let { apiKey, apiSecret } = this.config;
50497
+ if (!security || typeof security !== "object") {
50498
+ return { apiKey, apiSecret };
50333
50499
  }
50334
- return params;
50500
+ const sec = security;
50501
+ if (sec["cloudinaryAuth"]) {
50502
+ const auth = sec["cloudinaryAuth"];
50503
+ apiKey = auth.apiKey || auth.api_key || apiKey;
50504
+ apiSecret = auth.apiSecret || auth.api_secret || apiSecret;
50505
+ } else if ("apiKey" in sec || "apiSecret" in sec) {
50506
+ apiKey = sec["apiKey"] || apiKey;
50507
+ apiSecret = sec["apiSecret"] || apiSecret;
50508
+ }
50509
+ return { apiKey, apiSecret };
50335
50510
  }
50336
- async signQueryOnlyRequest(request, apiKey, apiSecret, queryParams) {
50337
- const url = new URL(request.url);
50338
- if (url.searchParams.has("signature")) {
50511
+ }
50512
+
50513
+ // src/hooks/customHeadersHook.ts
50514
+ class CustomHeadersHook {
50515
+ async beforeRequest(hookCtx, request) {
50516
+ const customHeaders = hookCtx.options?.customHeaders;
50517
+ if (!customHeaders) {
50339
50518
  return request;
50340
50519
  }
50341
- const { signature, timestamp } = await this.computeSignature(queryParams, apiSecret);
50342
- url.searchParams.set("signature", signature);
50343
- url.searchParams.set("timestamp", timestamp.toString());
50344
- url.searchParams.set("api_key", apiKey);
50345
- return new Request(url.toString(), request);
50520
+ for (const [name, value] of Object.entries(customHeaders)) {
50521
+ request.headers.set(name, value);
50522
+ }
50523
+ return request;
50346
50524
  }
50347
- async computeSignature(params, apiSecret) {
50348
- const crypto3 = await import("node:crypto");
50349
- const timestamp = Math.floor(Date.now() / 1000);
50350
- params.push(`timestamp=${timestamp}`);
50351
- params.sort();
50352
- const paramsString = params.join("&");
50353
- const signature = crypto3.createHash("sha256").update(`${paramsString}${apiSecret}`).digest("hex");
50354
- return { signature, timestamp };
50525
+ }
50526
+
50527
+ // src/hooks/responseHeadersHook.ts
50528
+ function matchesSpec(headerName, spec) {
50529
+ if (spec.startsWith("prefix:")) {
50530
+ return headerName.startsWith(spec.slice(7));
50355
50531
  }
50356
- paramsToSignFormData(form) {
50357
- const params = [];
50358
- for (const [key, value] of form.entries()) {
50359
- if (key !== "file" && key !== "cloud_name" && key !== "resource_type" && key !== "api_key" && key !== "signature") {
50360
- params.push(`${key}=${value}`);
50361
- }
50532
+ if (spec.startsWith("regex:")) {
50533
+ try {
50534
+ return new RegExp(spec.slice(6)).test(headerName);
50535
+ } catch {
50536
+ return false;
50362
50537
  }
50363
- return params;
50364
50538
  }
50365
- paramsToSignJson(json) {
50366
- const params = [];
50367
- for (const [key, value] of Object.entries(json)) {
50368
- if (key !== "file" && key !== "cloud_name" && key !== "resource_type" && key !== "api_key" && key !== "signature") {
50369
- params.push(`${key}=${value}`);
50370
- }
50371
- }
50372
- return params;
50539
+ return headerName === spec;
50540
+ }
50541
+
50542
+ class ResponseHeadersHook {
50543
+ collectHeaders;
50544
+ constructor(collectHeaders) {
50545
+ this.collectHeaders = collectHeaders;
50373
50546
  }
50374
- async preprocessJsonRequest(request) {
50375
- const body = await request.json();
50376
- if (body.file && typeof body.file === "string" && body.file.startsWith("file://")) {
50377
- body.file = await this.convertFileToDataUri(body.file);
50547
+ async afterSuccess(hookCtx, response) {
50548
+ const optCollect = hookCtx.options?.collectHeaders;
50549
+ const effective = optCollect ?? this.collectHeaders;
50550
+ if (effective !== true && effective.length === 0) {
50551
+ return response;
50378
50552
  }
50379
- return body;
50380
- }
50381
- async signJsonRequest(request, apiKey, apiSecret, queryParams = [], preprocessedBody) {
50382
- const body = preprocessedBody || await request.json();
50383
- if (body.signature) {
50384
- return request;
50553
+ const contentType = response.headers.get("content-type") ?? "";
50554
+ if (!contentType.includes("json")) {
50555
+ return response;
50385
50556
  }
50386
- const bodyParams = this.paramsToSignJson(body);
50387
- const allParams = [...bodyParams, ...queryParams];
50388
- const { signature, timestamp } = await this.computeSignature(allParams, apiSecret);
50389
- body.signature = signature;
50390
- body.timestamp = timestamp;
50391
- body.api_key = apiKey;
50392
- return new Request(request, { body: JSON.stringify(body) });
50393
- }
50394
- async convertFileToDataUri(fileUrl) {
50395
- const filePath = fileUrl.replace(/^file:\/\//, "");
50396
- try {
50397
- const { readFile } = await import("node:fs/promises");
50398
- const fileBuffer = await readFile(filePath);
50399
- const base64Data = fileBuffer.toString("base64");
50400
- const mimeType = "application/octet-stream";
50401
- return `data:${mimeType};base64,${base64Data}`;
50402
- } catch (error2) {
50403
- console.error(`Failed to read file: ${filePath}`, error2);
50404
- throw new Error(`Failed to read file: ${filePath}. ${error2 instanceof Error ? error2.message : String(error2)}`);
50557
+ const hdrs = {};
50558
+ let found = false;
50559
+ if (effective === true) {
50560
+ for (const [name, value] of response.headers.entries()) {
50561
+ hdrs[name] = value;
50562
+ found = true;
50563
+ }
50564
+ } else {
50565
+ for (const [name, value] of response.headers.entries()) {
50566
+ for (const spec of effective) {
50567
+ if (matchesSpec(name, spec)) {
50568
+ hdrs[name] = value;
50569
+ found = true;
50570
+ break;
50571
+ }
50572
+ }
50573
+ }
50405
50574
  }
50406
- }
50407
- async signFormDataRequest(request, apiKey, apiSecret, queryParams = []) {
50408
- const form = await request.clone().formData();
50409
- if (form.get("signature")) {
50410
- return request;
50575
+ if (!found) {
50576
+ return response;
50411
50577
  }
50412
- const bodyParams = this.paramsToSignFormData(form);
50413
- const allParams = [...bodyParams, ...queryParams];
50414
- const { signature, timestamp } = await this.computeSignature(allParams, apiSecret);
50415
- const url = new URL(request.url);
50416
- url.searchParams.set("signature", signature);
50417
- url.searchParams.set("timestamp", timestamp.toString());
50418
- url.searchParams.set("api_key", apiKey);
50419
- const newHeaders = new Headers(request.headers);
50420
- newHeaders.delete("Authorization");
50421
- return new Request(url.toString(), request);
50422
- }
50423
- SIGNED_ACTIONS = [
50424
- "explicit",
50425
- "upload",
50426
- "download",
50427
- "destroy",
50428
- "sprite",
50429
- "tags",
50430
- "context",
50431
- "metadata_update",
50432
- "text",
50433
- "multi",
50434
- "explode",
50435
- "rename",
50436
- "create_slideshow",
50437
- "create_video",
50438
- "create_collage",
50439
- "generate_archive"
50440
- ];
50441
- SIGNED_PATHS = ["image", "video", "raw", "auto", "asset"].flatMap((resourceType) => this.SIGNED_ACTIONS.map((action) => `${resourceType}/${action}`));
50578
+ const body = await response.json();
50579
+ body._headers = hdrs;
50580
+ return new Response(JSON.stringify(body), {
50581
+ status: response.status,
50582
+ statusText: response.statusText,
50583
+ headers: response.headers
50584
+ });
50585
+ }
50442
50586
  }
50443
- var init_cloudinaryAuthHook = () => {};
50444
50587
 
50445
50588
  // src/hooks/userAgentHook.ts
50446
50589
  function getProductName(packageName) {
@@ -50505,13 +50648,13 @@ var init_userAgentHook = __esm(() => {
50505
50648
 
50506
50649
  // src/hooks/registration.ts
50507
50650
  function initHooks(hooks) {
50508
- const cloudinaryAuthHook = new CloudinaryAuthHook;
50509
- hooks.registerBeforeRequestHook(cloudinaryAuthHook);
50510
- const userAgentHook = new UserAgentHook;
50511
- hooks.registerSDKInitHook(userAgentHook);
50651
+ const config2 = new CloudConfig;
50652
+ hooks.registerBeforeRequestHook(new CloudinaryAuthHook(config2));
50653
+ hooks.registerBeforeRequestHook(new CustomHeadersHook);
50654
+ hooks.registerSDKInitHook(new UserAgentHook);
50655
+ hooks.registerAfterSuccessHook(new ResponseHeadersHook(config2.collectHeaders));
50512
50656
  }
50513
50657
  var init_registration = __esm(() => {
50514
- init_cloudinaryAuthHook();
50515
50658
  init_userAgentHook();
50516
50659
  });
50517
50660
 
@@ -50651,14 +50794,31 @@ var init_base64 = __esm(() => {
50651
50794
  zodInbound = custom((x) => x instanceof Uint8Array).or(string2().transform(bytesFromBase64));
50652
50795
  });
50653
50796
 
50654
- // src/lib/is-plain-object.ts
50797
+ // src/lib/primitives.ts
50798
+ function compactMap(values) {
50799
+ const out = {};
50800
+ for (const [k2, v2] of Object.entries(values)) {
50801
+ if (typeof v2 !== "undefined") {
50802
+ out[k2] = v2;
50803
+ }
50804
+ }
50805
+ return out;
50806
+ }
50655
50807
  function isPlainObject3(value) {
50656
- if (typeof value !== "object" || value === null) {
50808
+ if (value === null || typeof value !== "object")
50809
+ return false;
50810
+ if (Object.prototype.toString.call(value) !== "[object Object]")
50811
+ return false;
50812
+ const proto = Object.getPrototypeOf(value);
50813
+ if (proto === null || proto === Object.prototype)
50814
+ return true;
50815
+ try {
50816
+ return Object.getPrototypeOf(proto) === null;
50817
+ } catch {
50657
50818
  return false;
50658
50819
  }
50659
- const prototype = Object.getPrototypeOf(value);
50660
- return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
50661
50820
  }
50821
+ var init_primitives = () => {};
50662
50822
 
50663
50823
  // src/lib/encodings.ts
50664
50824
  function formEncoder(sep) {
@@ -50857,6 +51017,7 @@ var EncodingError, encodeForm, encodeSpaceDelimited, encodePipeDelimited, encode
50857
51017
  }, encodeJSONQuery, encodeFormQuery, encodeSpaceDelimitedQuery, encodePipeDelimitedQuery, encodeDeepObjectQuery;
50858
51018
  var init_encodings = __esm(() => {
50859
51019
  init_base64();
51020
+ init_primitives();
50860
51021
  EncodingError = class EncodingError extends Error {
50861
51022
  constructor(message) {
50862
51023
  super(message);
@@ -50873,22 +51034,13 @@ var init_encodings = __esm(() => {
50873
51034
  encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
50874
51035
  });
50875
51036
 
50876
- // src/lib/dlv.ts
50877
- function dlv(obj, key, def, p, undef) {
50878
- key = Array.isArray(key) ? key : key.split(".");
50879
- for (p = 0;p < key.length; p++) {
50880
- const k2 = key[p];
50881
- obj = k2 != null && obj ? obj[k2] : undef;
50882
- }
50883
- return obj === undef ? def : obj;
50884
- }
50885
-
50886
51037
  // src/lib/env.ts
50887
51038
  function env() {
50888
51039
  if (envMemo) {
50889
51040
  return envMemo;
50890
51041
  }
50891
- envMemo = envSchema.parse(dlv(globalThis, "process.env") ?? dlv(globalThis, "Deno.env") ?? {});
51042
+ const globals = globalThis;
51043
+ envMemo = envSchema.parse(globals.process?.env ?? globals.Deno?.env?.toObject?.() ?? {});
50892
51044
  return envMemo;
50893
51045
  }
50894
51046
  function fillGlobals(options) {
@@ -50913,11 +51065,11 @@ var init_env = __esm(() => {
50913
51065
 
50914
51066
  // src/lib/http.ts
50915
51067
  class HTTPClient {
50916
- options;
50917
51068
  fetcher;
50918
51069
  requestHooks = [];
50919
51070
  requestErrorHooks = [];
50920
51071
  responseHooks = [];
51072
+ options;
50921
51073
  constructor(options = {}) {
50922
51074
  this.options = options;
50923
51075
  this.fetcher = options.fetcher || DEFAULT_FETCHER;
@@ -51165,6 +51317,13 @@ async function retryBackoff(fn, strategy) {
51165
51317
  }
51166
51318
  }
51167
51319
  function retryIntervalFromResponse(res) {
51320
+ const retryAfterMsVal = res.headers.get("retry-after-ms");
51321
+ if (retryAfterMsVal) {
51322
+ const parsedMs = Number(retryAfterMsVal);
51323
+ if (Number.isFinite(parsedMs) && parsedMs >= 0) {
51324
+ return parsedMs;
51325
+ }
51326
+ }
51168
51327
  const retryVal = res.headers.get("retry-after") || "";
51169
51328
  if (!retryVal) {
51170
51329
  return 0;
@@ -51420,8 +51579,6 @@ async function logResponse(logger, res, req) {
51420
51579
  logger.log(await res.clone().json());
51421
51580
  break;
51422
51581
  case (matchContentType(res, "application/jsonl") || jsonlLikeContentTypeRE.test(ct)):
51423
- logger.log(await res.clone().text());
51424
- break;
51425
51582
  case matchContentType(res, "text/event-stream"):
51426
51583
  logger.log(`<${contentType}>`);
51427
51584
  break;
@@ -51576,6 +51733,21 @@ function createRegisterResourceTemplate(logger, server, getSDK, allowedScopes) {
51576
51733
  var init_resources = () => {};
51577
51734
 
51578
51735
  // src/mcp-server/tools.ts
51736
+ function buildAnnotationFilter(annotations) {
51737
+ const filter = {};
51738
+ if (!annotations || annotations.length === 0) {
51739
+ return filter;
51740
+ }
51741
+ for (const a of annotations) {
51742
+ if (!VALID_ANNOTATIONS.includes(a)) {
51743
+ throw new Error(`Invalid annotation filter: "${a}". Valid values are: ${VALID_ANNOTATIONS.join(", ")}`);
51744
+ }
51745
+ }
51746
+ for (const name of VALID_ANNOTATIONS) {
51747
+ filter[annotationToKey[name]] = annotations.includes(name);
51748
+ }
51749
+ return filter;
51750
+ }
51579
51751
  async function formatResult(response) {
51580
51752
  let content = [];
51581
51753
  const contentType = response?.headers.get("content-type") ?? "";
@@ -51591,7 +51763,7 @@ async function formatResult(response) {
51591
51763
  }
51592
51764
  return response.ok ? { content } : { content, isError: true };
51593
51765
  }
51594
- function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools, dynamic) {
51766
+ function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools, dynamic, annotationFilter) {
51595
51767
  const tools = [];
51596
51768
  const toolMap = new Map;
51597
51769
  const registerTool = (tool) => {
@@ -51605,6 +51777,21 @@ function createRegisterTool(logger, server, getSDK, allowedScopes, allowedTools,
51605
51777
  if (allowedScopes.size > 0 && !scopes.every((s) => allowedScopes.has(s))) {
51606
51778
  return;
51607
51779
  }
51780
+ if (annotationFilter) {
51781
+ const a = tool.annotations;
51782
+ if (annotationFilter.readOnlyHint !== undefined && a.readOnlyHint !== annotationFilter.readOnlyHint) {
51783
+ return;
51784
+ }
51785
+ if (annotationFilter.destructiveHint !== undefined && a.destructiveHint !== annotationFilter.destructiveHint) {
51786
+ return;
51787
+ }
51788
+ if (annotationFilter.idempotentHint !== undefined && a.idempotentHint !== annotationFilter.idempotentHint) {
51789
+ return;
51790
+ }
51791
+ if (annotationFilter.openWorldHint !== undefined && a.openWorldHint !== annotationFilter.openWorldHint) {
51792
+ return;
51793
+ }
51794
+ }
51608
51795
  toolMap.set(tool.name, tool);
51609
51796
  if (dynamic) {
51610
51797
  logger.debug("Collected tool for dynamic mode", { name: tool.name });
@@ -51709,7 +51896,9 @@ function registerDynamicTools(logger, server, getSDK, toolMap, allowedScopes) {
51709
51896
  `;
51710
51897
  if (def.args) {
51711
51898
  const jsonSchema = toJSONSchema(object(def.args), {
51712
- target: "draft-2020-12"
51899
+ target: "draft-2020-12",
51900
+ io: "input",
51901
+ unrepresentable: "any"
51713
51902
  });
51714
51903
  schemaText += JSON.stringify(jsonSchema, null, 2);
51715
51904
  } else {
@@ -51727,12 +51916,12 @@ function registerDynamicTools(logger, server, getSDK, toolMap, allowedScopes) {
51727
51916
 
51728
51917
  `) }] };
51729
51918
  });
51730
- logger.debug("Registered dynamic meta-tool", { name: "describe_tool" });
51919
+ logger.debug("Registered dynamic meta-tool", { name: "describe_tool_input" });
51731
51920
  server.registerTool("execute_tool", {
51732
- description: "Execute a tool by name with the provided input parameters. If executing a given tool for the first time, it is recommended to call describe_tool_input first to understand the expected input schema.",
51921
+ description: "Execute a tool by name with its arguments. If executing a given tool for the first time, it is recommended to call describe_tool_input first to understand the expected `arguments` shape.",
51733
51922
  inputSchema: {
51734
- tool_name: string2().describe("The name of the tool to execute"),
51735
- input: record(string2(), unknown()).optional().describe("Input parameters for the tool as a JSON object")
51923
+ name: string2().describe("The name of the tool to execute"),
51924
+ arguments: looseObject({}).optional().describe("Arguments for the target tool as a JSON object, matching the schema returned by describe_tool_input.")
51736
51925
  },
51737
51926
  annotations: {
51738
51927
  title: "Execute Tool",
@@ -51742,16 +51931,16 @@ function registerDynamicTools(logger, server, getSDK, toolMap, allowedScopes) {
51742
51931
  openWorldHint: true
51743
51932
  }
51744
51933
  }, async (args, ctx) => {
51745
- const def = toolMap.get(args.tool_name);
51934
+ const def = toolMap.get(args.name);
51746
51935
  if (!def) {
51747
51936
  return {
51748
- content: [{ type: "text", text: `Unknown tool: ${args.tool_name}` }],
51937
+ content: [{ type: "text", text: `Unknown tool: ${args.name}` }],
51749
51938
  isError: true
51750
51939
  };
51751
51940
  }
51752
51941
  let validatedInput = {};
51753
51942
  if (def.args) {
51754
- const vres = object(def.args).safeParse(args.input ?? {});
51943
+ const vres = object(def.args).safeParse(args.arguments ?? {});
51755
51944
  if (vres.success) {
51756
51945
  validatedInput = vres.data;
51757
51946
  } else {
@@ -51759,7 +51948,7 @@ function registerDynamicTools(logger, server, getSDK, toolMap, allowedScopes) {
51759
51948
  return {
51760
51949
  content: [{
51761
51950
  type: "text",
51762
- text: `Invalid input for tool ${args.tool_name}:
51951
+ text: `Invalid input for tool ${args.name}:
51763
51952
  <issues>
51764
51953
  ${issues}
51765
51954
  </issues>`
@@ -51779,7 +51968,7 @@ ${issues}
51779
51968
  return {
51780
51969
  content: [{
51781
51970
  type: "text",
51782
- text: `Error executing tool ${args.tool_name}: ${message}`
51971
+ text: `Error executing tool ${args.name}: ${message}`
51783
51972
  }],
51784
51973
  isError: true
51785
51974
  };
@@ -51844,26 +52033,27 @@ function buildSDK(headers, cliFlags, disableStaticAuth, logger) {
51844
52033
  } : undefined
51845
52034
  });
51846
52035
  }
52036
+ var VALID_ANNOTATIONS, annotationToKey;
51847
52037
  var init_tools = __esm(() => {
51848
52038
  init_zod();
51849
52039
  init_core3();
51850
52040
  init_config();
51851
52041
  init_scopes();
51852
52042
  init_shared();
52043
+ VALID_ANNOTATIONS = [
52044
+ "readOnly",
52045
+ "destructive",
52046
+ "idempotent",
52047
+ "openWorld"
52048
+ ];
52049
+ annotationToKey = {
52050
+ readOnly: "readOnlyHint",
52051
+ destructive: "destructiveHint",
52052
+ idempotent: "idempotentHint",
52053
+ openWorld: "openWorldHint"
52054
+ };
51853
52055
  });
51854
52056
 
51855
- // src/lib/primitives.ts
51856
- function compactMap(values) {
51857
- const out = {};
51858
- for (const [k2, v2] of Object.entries(values)) {
51859
- if (typeof v2 !== "undefined") {
51860
- out[k2] = v2;
51861
- }
51862
- }
51863
- return out;
51864
- }
51865
- var init_primitives = () => {};
51866
-
51867
52057
  // src/models/errors/sdkvalidationerror.ts
51868
52058
  function formatZodError(err) {
51869
52059
  return prettifyError(err);
@@ -52004,22 +52194,34 @@ function applyBearer(state, spec) {
52004
52194
  state.headers[spec.fieldName] = value;
52005
52195
  }
52006
52196
  }
52007
- function resolveGlobalSecurity(security) {
52008
- return resolveSecurity([
52009
- {
52010
- type: "http:custom",
52011
- value: {
52012
- api_key: security?.cloudinaryAuth?.api_key || env().CLOUDINARY_API_KEY,
52013
- api_secret: security?.cloudinaryAuth?.api_secret || env().CLOUDINARY_API_SECRET
52197
+ function resolveGlobalSecurity(security, allowedFields) {
52198
+ let inputs = [
52199
+ [
52200
+ {
52201
+ type: "http:custom",
52202
+ value: {
52203
+ api_key: security?.cloudinaryAuth?.api_key || env().CLOUDINARY_API_KEY,
52204
+ api_secret: security?.cloudinaryAuth?.api_secret || env().CLOUDINARY_API_SECRET
52205
+ }
52014
52206
  }
52015
- }
52016
- ], [
52017
- {
52018
- fieldName: "Authorization",
52019
- type: "oauth2",
52020
- value: security?.oauth2 || env().CLOUDINARY_OAUTH2
52021
- }
52022
- ]);
52207
+ ],
52208
+ [
52209
+ {
52210
+ fieldName: "Authorization",
52211
+ type: "oauth2",
52212
+ value: security?.oauth2 || env().CLOUDINARY_OAUTH2
52213
+ }
52214
+ ]
52215
+ ];
52216
+ if (allowedFields) {
52217
+ inputs = allowedFields.map((i) => {
52218
+ if (i < 0 || i >= inputs.length) {
52219
+ throw new RangeError(`invalid allowedFields index ${i}`);
52220
+ }
52221
+ return inputs[i];
52222
+ });
52223
+ }
52224
+ return resolveSecurity(...inputs);
52023
52225
  }
52024
52226
  async function extractSecurity(sec) {
52025
52227
  if (sec == null) {
@@ -52027,9 +52229,13 @@ async function extractSecurity(sec) {
52027
52229
  }
52028
52230
  return typeof sec === "function" ? sec() : sec;
52029
52231
  }
52030
- var SecurityError;
52232
+ var SecurityErrorCode, SecurityError;
52031
52233
  var init_security = __esm(() => {
52032
52234
  init_env();
52235
+ SecurityErrorCode = {
52236
+ Incomplete: "incomplete",
52237
+ UnrecognisedSecurityType: "unrecognized_security_type"
52238
+ };
52033
52239
  SecurityError = class SecurityError extends Error {
52034
52240
  code;
52035
52241
  constructor(code, message) {
@@ -52038,10 +52244,10 @@ var init_security = __esm(() => {
52038
52244
  this.name = "SecurityError";
52039
52245
  }
52040
52246
  static incomplete() {
52041
- return new SecurityError("incomplete" /* Incomplete */, "Security requirements not met in order to perform the operation");
52247
+ return new SecurityError(SecurityErrorCode.Incomplete, "Security requirements not met in order to perform the operation");
52042
52248
  }
52043
52249
  static unrecognizedType(type) {
52044
- return new SecurityError("unrecognized_security_type" /* UnrecognisedSecurityType */, `Unrecognised security type: ${type}`);
52250
+ return new SecurityError(SecurityErrorCode.UnrecognisedSecurityType, `Unrecognised security type: ${type}`);
52045
52251
  }
52046
52252
  };
52047
52253
  });
@@ -52051,9 +52257,9 @@ var StreamingProfileCreate$zodSchema;
52051
52257
  var init_streamingprofilecreate = __esm(() => {
52052
52258
  init_zod();
52053
52259
  StreamingProfileCreate$zodSchema = object({
52054
- display_name: string2().nullable().optional(),
52055
- name: string2(),
52056
- representations: string2()
52260
+ display_name: string2().nullable().optional().describe("The display name of the streaming profile"),
52261
+ name: string2().describe("The name of the streaming profile"),
52262
+ representations: string2().describe("A JSON string containing the list of representations with transformation parameters as strings")
52057
52263
  });
52058
52264
  });
52059
52265
 
@@ -52066,16 +52272,19 @@ var init_async = __esm(() => {
52066
52272
  [Symbol.toStringTag] = "APIPromise";
52067
52273
  constructor(p) {
52068
52274
  this.#promise = p instanceof Promise ? p : Promise.resolve(p);
52069
- this.#unwrapped = p instanceof Promise ? this.#promise.then(([value]) => value) : Promise.resolve(p[0]);
52275
+ this.#unwrapped = p instanceof Promise ? null : Promise.resolve(p[0]);
52276
+ }
52277
+ #getUnwrapped() {
52278
+ return this.#unwrapped ??= this.#promise.then(([value]) => value);
52070
52279
  }
52071
52280
  then(onfulfilled, onrejected) {
52072
52281
  return this.#promise.then(onfulfilled ? ([value]) => onfulfilled(value) : undefined, onrejected);
52073
52282
  }
52074
52283
  catch(onrejected) {
52075
- return this.#unwrapped.catch(onrejected);
52284
+ return this.#getUnwrapped().catch(onrejected);
52076
52285
  }
52077
52286
  finally(onfinally) {
52078
- return this.#unwrapped.finally(onfinally);
52287
+ return this.#getUnwrapped().finally(onfinally);
52079
52288
  }
52080
52289
  $inspect() {
52081
52290
  return this.#promise;
@@ -52169,7 +52378,7 @@ var init_streamingProfilesCreateStreamingProfile2 = __esm(() => {
52169
52378
  init_streamingprofilecreate();
52170
52379
  init_tools();
52171
52380
  args = {
52172
- request: StreamingProfileCreate$zodSchema
52381
+ request: StreamingProfileCreate$zodSchema.describe(`The streaming profile configuration.`)
52173
52382
  };
52174
52383
  tool$streamingProfilesCreateStreamingProfile = {
52175
52384
  name: "create-streaming-profile",
@@ -52208,22 +52417,29 @@ var init_apierror = __esm(() => {
52208
52417
  });
52209
52418
  });
52210
52419
 
52420
+ // src/models/messageresponse.ts
52421
+ var MessageResponse$zodSchema;
52422
+ var init_messageresponse = __esm(() => {
52423
+ init_zod();
52424
+ MessageResponse$zodSchema = object({
52425
+ message: string2().describe("A human-readable status message.")
52426
+ });
52427
+ });
52428
+
52211
52429
  // src/models/deletestreamingprofileop.ts
52212
- var DeleteStreamingProfileGlobals$zodSchema, DeleteStreamingProfileRequest$zodSchema, DeleteStreamingProfileResponseBody$zodSchema, DeleteStreamingProfileResponse$zodSchema;
52430
+ var DeleteStreamingProfileGlobals$zodSchema, DeleteStreamingProfileRequest$zodSchema, DeleteStreamingProfileResponse$zodSchema;
52213
52431
  var init_deletestreamingprofileop = __esm(() => {
52214
52432
  init_zod();
52215
52433
  init_apierror();
52434
+ init_messageresponse();
52216
52435
  DeleteStreamingProfileGlobals$zodSchema = object({
52217
52436
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52218
52437
  });
52219
52438
  DeleteStreamingProfileRequest$zodSchema = object({
52220
- name: string2()
52439
+ name: string2().describe("The name of the streaming profile.")
52221
52440
  });
52222
- DeleteStreamingProfileResponseBody$zodSchema = object({
52223
- message: string2()
52224
- }).describe("Streaming profile deleted or reverted");
52225
52441
  DeleteStreamingProfileResponse$zodSchema = union([
52226
- lazy(() => DeleteStreamingProfileResponseBody$zodSchema),
52442
+ MessageResponse$zodSchema,
52227
52443
  ApiError$zodSchema
52228
52444
  ]);
52229
52445
  });
@@ -52320,7 +52536,7 @@ var init_streamingProfilesDeleteStreamingProfile2 = __esm(() => {
52320
52536
  init_streamingProfilesDeleteStreamingProfile();
52321
52537
  init_tools();
52322
52538
  args2 = {
52323
- name: string2()
52539
+ name: string2().describe("The name of the streaming profile.")
52324
52540
  };
52325
52541
  tool$streamingProfilesDeleteStreamingProfile = {
52326
52542
  name: "delete-streaming-profile",
@@ -52352,34 +52568,41 @@ var Representation$zodSchema, StreamingProfile$zodSchema;
52352
52568
  var init_streamingprofile = __esm(() => {
52353
52569
  init_zod();
52354
52570
  Representation$zodSchema = object({
52355
- transformation: array(record(string2(), any())).optional()
52571
+ transformation: array(record(string2(), any())).optional().describe("The transformation parameters for this representation")
52356
52572
  });
52357
52573
  StreamingProfile$zodSchema = object({
52358
- display_name: string2().nullable().optional(),
52359
- external_id: string2(),
52360
- name: string2(),
52361
- predefined: boolean2(),
52362
- representations: array(lazy(() => Representation$zodSchema)).optional()
52574
+ display_name: string2().nullable().optional().describe("The display name of the streaming profile"),
52575
+ external_id: string2().describe("The unique identifier of the streaming profile"),
52576
+ name: string2().describe("The name of the streaming profile"),
52577
+ predefined: boolean2().describe("Whether this is a predefined streaming profile"),
52578
+ representations: array(lazy(() => Representation$zodSchema)).optional().describe("The list of representations in the streaming profile")
52579
+ });
52580
+ });
52581
+
52582
+ // src/models/streamingprofiledataresponse.ts
52583
+ var StreamingProfileDataResponse$zodSchema;
52584
+ var init_streamingprofiledataresponse = __esm(() => {
52585
+ init_zod();
52586
+ init_streamingprofile();
52587
+ StreamingProfileDataResponse$zodSchema = object({
52588
+ data: StreamingProfile$zodSchema
52363
52589
  });
52364
52590
  });
52365
52591
 
52366
52592
  // src/models/getstreamingprofileop.ts
52367
- var GetStreamingProfileGlobals$zodSchema, GetStreamingProfileRequest$zodSchema, GetStreamingProfileResponseBody$zodSchema, GetStreamingProfileResponse$zodSchema;
52593
+ var GetStreamingProfileGlobals$zodSchema, GetStreamingProfileRequest$zodSchema, GetStreamingProfileResponse$zodSchema;
52368
52594
  var init_getstreamingprofileop = __esm(() => {
52369
52595
  init_zod();
52370
52596
  init_apierror();
52371
- init_streamingprofile();
52597
+ init_streamingprofiledataresponse();
52372
52598
  GetStreamingProfileGlobals$zodSchema = object({
52373
52599
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52374
52600
  });
52375
52601
  GetStreamingProfileRequest$zodSchema = object({
52376
- name: string2()
52602
+ name: string2().describe("The name of the streaming profile.")
52377
52603
  });
52378
- GetStreamingProfileResponseBody$zodSchema = object({
52379
- data: StreamingProfile$zodSchema
52380
- }).describe("Streaming profile retrieved");
52381
52604
  GetStreamingProfileResponse$zodSchema = union([
52382
- lazy(() => GetStreamingProfileResponseBody$zodSchema),
52605
+ StreamingProfileDataResponse$zodSchema,
52383
52606
  ApiError$zodSchema
52384
52607
  ]);
52385
52608
  });
@@ -52476,7 +52699,7 @@ var init_streamingProfilesGetStreamingProfile2 = __esm(() => {
52476
52699
  init_streamingProfilesGetStreamingProfile();
52477
52700
  init_tools();
52478
52701
  args3 = {
52479
- name: string2()
52702
+ name: string2().describe("The name of the streaming profile.")
52480
52703
  };
52481
52704
  tool$streamingProfilesGetStreamingProfile = {
52482
52705
  name: "get-streaming-profile",
@@ -52572,21 +52795,28 @@ var init_streamingProfilesGetStreamingProfiles = __esm(() => {
52572
52795
  init_async();
52573
52796
  });
52574
52797
 
52798
+ // src/models/streamingprofilelistresponse.ts
52799
+ var StreamingProfileListResponse$zodSchema;
52800
+ var init_streamingprofilelistresponse = __esm(() => {
52801
+ init_zod();
52802
+ init_streamingprofile();
52803
+ StreamingProfileListResponse$zodSchema = object({
52804
+ data: array(StreamingProfile$zodSchema)
52805
+ });
52806
+ });
52807
+
52575
52808
  // src/models/getstreamingprofilesop.ts
52576
- var GetStreamingProfilesGlobals$zodSchema, GetStreamingProfilesRequest$zodSchema, GetStreamingProfilesResponseBody$zodSchema, GetStreamingProfilesResponse$zodSchema;
52809
+ var GetStreamingProfilesGlobals$zodSchema, GetStreamingProfilesRequest$zodSchema, GetStreamingProfilesResponse$zodSchema;
52577
52810
  var init_getstreamingprofilesop = __esm(() => {
52578
52811
  init_zod();
52579
52812
  init_apierror();
52580
- init_streamingprofile();
52813
+ init_streamingprofilelistresponse();
52581
52814
  GetStreamingProfilesGlobals$zodSchema = object({
52582
52815
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52583
52816
  });
52584
52817
  GetStreamingProfilesRequest$zodSchema = object({});
52585
- GetStreamingProfilesResponseBody$zodSchema = object({
52586
- data: array(StreamingProfile$zodSchema)
52587
- }).describe("Streaming profiles retrieved");
52588
52818
  GetStreamingProfilesResponse$zodSchema = union([
52589
- lazy(() => GetStreamingProfilesResponseBody$zodSchema),
52819
+ StreamingProfileListResponse$zodSchema,
52590
52820
  ApiError$zodSchema
52591
52821
  ]);
52592
52822
  });
@@ -52630,31 +52860,38 @@ var StreamingProfileUpdate$zodSchema;
52630
52860
  var init_streamingprofileupdate = __esm(() => {
52631
52861
  init_zod();
52632
52862
  StreamingProfileUpdate$zodSchema = object({
52633
- display_name: string2().nullable().optional(),
52634
- representations: string2()
52863
+ display_name: string2().nullable().optional().describe("The display name of the streaming profile"),
52864
+ representations: string2().describe("A JSON string containing the list of representations with transformation parameters as strings")
52865
+ });
52866
+ });
52867
+
52868
+ // src/models/streamingprofileupdateresponse.ts
52869
+ var StreamingProfileUpdateResponse$zodSchema;
52870
+ var init_streamingprofileupdateresponse = __esm(() => {
52871
+ init_zod();
52872
+ init_streamingprofile();
52873
+ StreamingProfileUpdateResponse$zodSchema = object({
52874
+ data: StreamingProfile$zodSchema,
52875
+ message: string2()
52635
52876
  });
52636
52877
  });
52637
52878
 
52638
52879
  // src/models/updatestreamingprofileop.ts
52639
- var UpdateStreamingProfileGlobals$zodSchema, UpdateStreamingProfileRequest$zodSchema, UpdateStreamingProfileResponseBody$zodSchema, UpdateStreamingProfileResponse$zodSchema;
52880
+ var UpdateStreamingProfileGlobals$zodSchema, UpdateStreamingProfileRequest$zodSchema, UpdateStreamingProfileResponse$zodSchema;
52640
52881
  var init_updatestreamingprofileop = __esm(() => {
52641
52882
  init_zod();
52642
52883
  init_apierror();
52643
- init_streamingprofile();
52644
52884
  init_streamingprofileupdate();
52885
+ init_streamingprofileupdateresponse();
52645
52886
  UpdateStreamingProfileGlobals$zodSchema = object({
52646
52887
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52647
52888
  });
52648
52889
  UpdateStreamingProfileRequest$zodSchema = object({
52649
- name: string2(),
52650
- streaming_profile_update: StreamingProfileUpdate$zodSchema
52890
+ name: string2().describe("The name of the streaming profile."),
52891
+ streaming_profile_update: StreamingProfileUpdate$zodSchema.describe("The updated streaming profile configuration.")
52651
52892
  });
52652
- UpdateStreamingProfileResponseBody$zodSchema = object({
52653
- data: StreamingProfile$zodSchema,
52654
- message: string2()
52655
- }).describe("Streaming profile updated");
52656
52893
  UpdateStreamingProfileResponse$zodSchema = union([
52657
- lazy(() => UpdateStreamingProfileResponseBody$zodSchema),
52894
+ StreamingProfileUpdateResponse$zodSchema,
52658
52895
  ApiError$zodSchema
52659
52896
  ]);
52660
52897
  });
@@ -52756,8 +52993,8 @@ var init_streamingProfilesUpdateStreamingProfile2 = __esm(() => {
52756
52993
  init_streamingprofileupdate();
52757
52994
  init_tools();
52758
52995
  args5 = {
52759
- name: string2(),
52760
- streaming_profile_update: StreamingProfileUpdate$zodSchema
52996
+ name: string2().describe("The name of the streaming profile."),
52997
+ streaming_profile_update: StreamingProfileUpdate$zodSchema.describe(`The updated streaming profile configuration.`)
52761
52998
  };
52762
52999
  tool$streamingProfilesUpdateStreamingProfile = {
52763
53000
  name: "update-streaming-profile",
@@ -52789,31 +53026,29 @@ var CreateRequest$zodSchema;
52789
53026
  var init_createrequest = __esm(() => {
52790
53027
  init_zod();
52791
53028
  CreateRequest$zodSchema = object({
52792
- allowed_for_strict: boolean2().optional(),
52793
- transformation: string2()
53029
+ allowed_for_strict: boolean2().optional().describe(`Whether to allow this named transformation when strict transformations are enabled. Strict transformations prevent transformations from being dynamically applied to media assets.
53030
+ `),
53031
+ transformation: string2().describe("A valid transformation string.")
52794
53032
  });
52795
53033
  });
52796
53034
 
52797
53035
  // src/models/createtransformationop.ts
52798
- var CreateTransformationGlobals$zodSchema, CreateTransformationRequest$zodSchema, CreateTransformationResponseBody$zodSchema, CreateTransformationResponse$zodSchema;
53036
+ var CreateTransformationGlobals$zodSchema, CreateTransformationRequest$zodSchema, CreateTransformationResponse$zodSchema;
52799
53037
  var init_createtransformationop = __esm(() => {
52800
53038
  init_zod();
52801
53039
  init_apierror();
52802
53040
  init_createrequest();
53041
+ init_messageresponse();
52803
53042
  CreateTransformationGlobals$zodSchema = object({
52804
53043
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52805
53044
  });
52806
53045
  CreateTransformationRequest$zodSchema = object({
52807
- create_request: CreateRequest$zodSchema,
52808
- transformation: string2().describe(`The valid transformation name to create.
52809
- `)
53046
+ create_request: CreateRequest$zodSchema.describe("The named transformation definition."),
53047
+ transformation: string2().describe("The valid transformation name to create.")
52810
53048
  });
52811
- CreateTransformationResponseBody$zodSchema = object({
52812
- message: string2().optional()
52813
- }).describe("Transformation created");
52814
53049
  CreateTransformationResponse$zodSchema = union([
52815
- ApiError$zodSchema,
52816
- lazy(() => CreateTransformationResponseBody$zodSchema)
53050
+ MessageResponse$zodSchema,
53051
+ ApiError$zodSchema
52817
53052
  ]);
52818
53053
  });
52819
53054
 
@@ -52912,13 +53147,12 @@ var init_transformationsCreateTransformation2 = __esm(() => {
52912
53147
  init_createrequest();
52913
53148
  init_tools();
52914
53149
  args6 = {
52915
- transformation: string2().describe(`The valid transformation name to create.
52916
- `),
52917
- create_request: CreateRequest$zodSchema
53150
+ transformation: string2().describe("The valid transformation name to create."),
53151
+ create_request: CreateRequest$zodSchema.describe(`The named transformation definition.`)
52918
53152
  };
52919
53153
  tool$transformationsCreateTransformation = {
52920
53154
  name: "create-transformation",
52921
- description: `Creates a new named transformation (assigning a custom name to a set of transformation
53155
+ description: `Creates a new named transformation by assigning a custom name to a set of transformation parameters
52922
53156
 
52923
53157
  Creates a new named transformation with the given name and transformation string.
52924
53158
  `,
@@ -52945,10 +53179,11 @@ Creates a new named transformation with the given name and transformation string
52945
53179
  });
52946
53180
 
52947
53181
  // src/models/deletetransformationop.ts
52948
- var DeleteTransformationGlobals$zodSchema, DeleteTransformationRequest$zodSchema, DeleteTransformationResponseBody$zodSchema, DeleteTransformationResponse$zodSchema;
53182
+ var DeleteTransformationGlobals$zodSchema, DeleteTransformationRequest$zodSchema, DeleteTransformationResponse$zodSchema;
52949
53183
  var init_deletetransformationop = __esm(() => {
52950
53184
  init_zod();
52951
53185
  init_apierror();
53186
+ init_messageresponse();
52952
53187
  DeleteTransformationGlobals$zodSchema = object({
52953
53188
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
52954
53189
  });
@@ -52957,12 +53192,9 @@ var init_deletetransformationop = __esm(() => {
52957
53192
  transformation: string2().describe(`The transformation identifier. Can be either a named transformation (e.g., 'small_profile_thumbnail') or a transformation string (e.g., 'w_100,h_150,c_fill,g_auto').
52958
53193
  `)
52959
53194
  });
52960
- DeleteTransformationResponseBody$zodSchema = object({
52961
- message: string2().optional()
52962
- }).describe("Transformation deleted");
52963
53195
  DeleteTransformationResponse$zodSchema = union([
52964
- ApiError$zodSchema,
52965
- lazy(() => DeleteTransformationResponseBody$zodSchema)
53196
+ MessageResponse$zodSchema,
53197
+ ApiError$zodSchema
52966
53198
  ]);
52967
53199
  });
52968
53200
 
@@ -53113,11 +53345,11 @@ var init_transformationinfo = __esm(() => {
53113
53345
  height: union([
53114
53346
  int(),
53115
53347
  string2()
53116
- ]).optional(),
53348
+ ]).optional().describe('Height - integer pixels or string variable reference (e.g., "$h")'),
53117
53349
  width: union([
53118
53350
  int(),
53119
53351
  string2()
53120
- ]).optional()
53352
+ ]).optional().describe('Width - integer pixels or string variable reference (e.g., "$w")')
53121
53353
  });
53122
53354
  Derived$zodSchema = object({
53123
53355
  bytes: int().optional(),
@@ -53130,9 +53362,10 @@ var init_transformationinfo = __esm(() => {
53130
53362
  url: string2().optional()
53131
53363
  });
53132
53364
  TransformationInfo$zodSchema = object({
53133
- allowed_for_strict: boolean2().optional(),
53365
+ allowed_for_strict: boolean2().optional().describe(`Whether to allow this named transformation when [strict transformations](https://cloudinary.com/documentation/control_access_to_media#strict_transformations) are enabled.
53366
+ `),
53134
53367
  derived: array(lazy(() => Derived$zodSchema)).optional(),
53135
- info: array(lazy(() => Info$zodSchema)).optional(),
53368
+ info: array(lazy(() => Info$zodSchema)).optional().describe("API transformation parameters"),
53136
53369
  name: string2().optional(),
53137
53370
  named: boolean2().optional(),
53138
53371
  next_cursor: string2().optional(),
@@ -53294,12 +53527,12 @@ var init_transformationsummary = __esm(() => {
53294
53527
  });
53295
53528
  });
53296
53529
 
53297
- // src/models/listresponse.ts
53298
- var ListResponse$zodSchema;
53299
- var init_listresponse = __esm(() => {
53530
+ // src/models/transformationlistresponse.ts
53531
+ var TransformationListResponse$zodSchema;
53532
+ var init_transformationlistresponse = __esm(() => {
53300
53533
  init_zod();
53301
53534
  init_transformationsummary();
53302
- ListResponse$zodSchema = object({
53535
+ TransformationListResponse$zodSchema = object({
53303
53536
  next_cursor: string2().nullable().optional(),
53304
53537
  transformations: array(TransformationSummary$zodSchema).optional()
53305
53538
  });
@@ -53310,7 +53543,7 @@ var ListTransformationsGlobals$zodSchema, ListTransformationsRequest$zodSchema,
53310
53543
  var init_listtransformationsop = __esm(() => {
53311
53544
  init_zod();
53312
53545
  init_apierror();
53313
- init_listresponse();
53546
+ init_transformationlistresponse();
53314
53547
  ListTransformationsGlobals$zodSchema = object({
53315
53548
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
53316
53549
  });
@@ -53321,7 +53554,7 @@ var init_listtransformationsop = __esm(() => {
53321
53554
  });
53322
53555
  ListTransformationsResponse$zodSchema = union([
53323
53556
  ApiError$zodSchema,
53324
- ListResponse$zodSchema
53557
+ TransformationListResponse$zodSchema
53325
53558
  ]);
53326
53559
  });
53327
53560
 
@@ -53427,7 +53660,7 @@ var init_transformationsListTransformations2 = __esm(() => {
53427
53660
  };
53428
53661
  tool$transformationsListTransformations = {
53429
53662
  name: "list-transformations",
53430
- description: `Lists all transformation definitions in your account (including named transformations
53663
+ description: `Lists all transformation definitions in your account, including named transformations
53431
53664
 
53432
53665
  Retrieves a list of all transformations, which can be filtered to show either only named or unnamed transformations.
53433
53666
  `,
@@ -53458,16 +53691,22 @@ var UpdateRequest$zodSchema;
53458
53691
  var init_updaterequest = __esm(() => {
53459
53692
  init_zod();
53460
53693
  UpdateRequest$zodSchema = object({
53461
- allowed_for_strict: boolean2().optional(),
53462
- unsafe_update: string2().optional()
53694
+ allowed_for_strict: boolean2().optional().describe(`Whether to allow this named transformation when strict transformations are enabled. Strict transformations prevent transformations from being dynamically applied to media assets.
53695
+ `),
53696
+ unsafe_update: string2().optional().describe(`Required when modifying the transformation parameters of an existing named transformation. The new transformation definition for the named transformation.
53697
+ Because the changed definition can be unsafe for (significantly change) assets in production, the change is applied only to newly generated derived assets that reference this named transformation.
53698
+
53699
+ To apply the change to existing derived assets using this named transformation, invalidate them so that they'll be regenerated with the new definition when next requested.
53700
+ `)
53463
53701
  });
53464
53702
  });
53465
53703
 
53466
53704
  // src/models/updatetransformationop.ts
53467
- var UpdateTransformationGlobals$zodSchema, UpdateTransformationRequest$zodSchema, UpdateTransformationResponseBody$zodSchema, UpdateTransformationResponse$zodSchema;
53705
+ var UpdateTransformationGlobals$zodSchema, UpdateTransformationRequest$zodSchema, UpdateTransformationResponse$zodSchema;
53468
53706
  var init_updatetransformationop = __esm(() => {
53469
53707
  init_zod();
53470
53708
  init_apierror();
53709
+ init_messageresponse();
53471
53710
  init_updaterequest();
53472
53711
  UpdateTransformationGlobals$zodSchema = object({
53473
53712
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
@@ -53475,14 +53714,11 @@ var init_updatetransformationop = __esm(() => {
53475
53714
  UpdateTransformationRequest$zodSchema = object({
53476
53715
  transformation: string2().describe(`The transformation identifier. Can be either a named transformation (e.g., 'small_profile_thumbnail') or a transformation string (e.g., 'w_100,h_150,c_fill,g_auto').
53477
53716
  `),
53478
- update_request: UpdateRequest$zodSchema
53717
+ update_request: UpdateRequest$zodSchema.describe("The updated transformation definition.")
53479
53718
  });
53480
- UpdateTransformationResponseBody$zodSchema = object({
53481
- message: string2().optional()
53482
- }).describe("Transformation updated");
53483
53719
  UpdateTransformationResponse$zodSchema = union([
53484
- ApiError$zodSchema,
53485
- lazy(() => UpdateTransformationResponseBody$zodSchema)
53720
+ MessageResponse$zodSchema,
53721
+ ApiError$zodSchema
53486
53722
  ]);
53487
53723
  });
53488
53724
 
@@ -53583,13 +53819,13 @@ var init_transformationsUpdateTransformation2 = __esm(() => {
53583
53819
  args10 = {
53584
53820
  transformation: string2().describe(`The transformation identifier. Can be either a named transformation (e.g., 'small_profile_thumbnail') or a transformation string (e.g., 'w_100,h_150,c_fill,g_auto').
53585
53821
  `),
53586
- update_request: UpdateRequest$zodSchema
53822
+ update_request: UpdateRequest$zodSchema.describe(`The updated transformation definition.`)
53587
53823
  };
53588
53824
  tool$transformationsUpdateTransformation = {
53589
53825
  name: "update-transformation",
53590
- description: `Updates the definition of an existing named transformation
53826
+ description: `Updates the definition of an existing transformation
53591
53827
 
53592
- Update an existing named or unnamed transformation.
53828
+ Updates a named or unnamed transformation.
53593
53829
  `,
53594
53830
  scopes: ["admin"],
53595
53831
  annotations: {
@@ -53613,49 +53849,51 @@ Update an existing named or unnamed transformation.
53613
53849
  };
53614
53850
  });
53615
53851
 
53616
- // src/models/uritype.ts
53617
- var UriType$zodSchema;
53618
- var init_uritype = __esm(() => {
53619
- init_zod();
53620
- UriType$zodSchema = _enum([
53621
- "webhook",
53622
- "flow"
53623
- ]);
53624
- });
53625
-
53626
- // src/models/triggerinfo.ts
53627
- var TriggerInfo$zodSchema;
53628
- var init_triggerinfo = __esm(() => {
53852
+ // src/models/eventtype.ts
53853
+ var EventType$zodSchema;
53854
+ var init_eventtype = __esm(() => {
53629
53855
  init_zod();
53630
- init_uritype();
53631
- TriggerInfo$zodSchema = object({
53632
- created_at: exports_iso.datetime({ offset: true }).optional(),
53633
- event_type: string2().optional(),
53634
- id: string2().optional(),
53635
- product_environment_id: string2().optional(),
53636
- updated_at: exports_iso.datetime({ offset: true }).optional(),
53637
- uri: string2(),
53638
- uri_type: UriType$zodSchema
53639
- });
53856
+ EventType$zodSchema = _enum([
53857
+ "all",
53858
+ "access_control_changed",
53859
+ "bulk_refresh_auto_fetch",
53860
+ "create_folder",
53861
+ "delete",
53862
+ "delete_by_token",
53863
+ "delete_folder",
53864
+ "eager",
53865
+ "error",
53866
+ "explode",
53867
+ "generate_archive",
53868
+ "info",
53869
+ "invalidate_custom_cdn",
53870
+ "moderation",
53871
+ "moderation_summary",
53872
+ "move",
53873
+ "move_or_rename_asset_folder",
53874
+ "multi",
53875
+ "publish",
53876
+ "rename",
53877
+ "report",
53878
+ "resource_context_changed",
53879
+ "resource_display_name_changed",
53880
+ "resource_metadata_changed",
53881
+ "resource_tags_changed",
53882
+ "restore_asset_version",
53883
+ "sprite",
53884
+ "upload"
53885
+ ]).describe("The type of notification event.");
53640
53886
  });
53641
53887
 
53642
- // src/models/createtriggerop.ts
53643
- var CreateTriggerGlobals$zodSchema, CreateTriggerRequest$zodSchema, CreateTriggerResponse$zodSchema;
53644
- var init_createtriggerop = __esm(() => {
53888
+ // src/models/createtriggerrequest.ts
53889
+ var CreateTriggerRequest$zodSchema;
53890
+ var init_createtriggerrequest = __esm(() => {
53645
53891
  init_zod();
53646
- init_apierror();
53647
- init_triggerinfo();
53648
- CreateTriggerGlobals$zodSchema = object({
53649
- cloud_name: string2().describe("The cloud name of your product environment.").optional()
53650
- });
53892
+ init_eventtype();
53651
53893
  CreateTriggerRequest$zodSchema = object({
53652
- event_type: string2(),
53653
- uri: string2()
53894
+ event_type: EventType$zodSchema.describe("The type of notification event."),
53895
+ uri: string2().describe("The URL that will receive the notification response.")
53654
53896
  });
53655
- CreateTriggerResponse$zodSchema = union([
53656
- TriggerInfo$zodSchema,
53657
- ApiError$zodSchema
53658
- ]);
53659
53897
  });
53660
53898
 
53661
53899
  // src/funcs/triggersCreateTrigger.ts
@@ -53733,7 +53971,7 @@ var init_triggersCreateTrigger = __esm(() => {
53733
53971
  init_schemas4();
53734
53972
  init_security();
53735
53973
  init_url();
53736
- init_createtriggerop();
53974
+ init_createtriggerrequest();
53737
53975
  init_async();
53738
53976
  });
53739
53977
 
@@ -53741,10 +53979,10 @@ var init_triggersCreateTrigger = __esm(() => {
53741
53979
  var args11, tool$triggersCreateTrigger;
53742
53980
  var init_triggersCreateTrigger2 = __esm(() => {
53743
53981
  init_triggersCreateTrigger();
53744
- init_createtriggerop();
53982
+ init_createtriggerrequest();
53745
53983
  init_tools();
53746
53984
  args11 = {
53747
- request: CreateTriggerRequest$zodSchema
53985
+ request: CreateTriggerRequest$zodSchema.describe(`The webhook notification trigger to create.`)
53748
53986
  };
53749
53987
  tool$triggersCreateTrigger = {
53750
53988
  name: "create-trigger",
@@ -53776,21 +54014,19 @@ Your product environment supports triggers up to a maximum determined by multipl
53776
54014
  });
53777
54015
 
53778
54016
  // src/models/deletetriggerop.ts
53779
- var DeleteTriggerGlobals$zodSchema, DeleteTriggerRequest$zodSchema, DeleteTriggerResponseBody$zodSchema, DeleteTriggerResponse$zodSchema;
54017
+ var DeleteTriggerGlobals$zodSchema, DeleteTriggerRequest$zodSchema, DeleteTriggerResponse$zodSchema;
53780
54018
  var init_deletetriggerop = __esm(() => {
53781
54019
  init_zod();
53782
54020
  init_apierror();
54021
+ init_messageresponse();
53783
54022
  DeleteTriggerGlobals$zodSchema = object({
53784
54023
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
53785
54024
  });
53786
54025
  DeleteTriggerRequest$zodSchema = object({
53787
- id: string2()
54026
+ id: string2().describe("The ID of the trigger.")
53788
54027
  });
53789
- DeleteTriggerResponseBody$zodSchema = object({
53790
- message: string2()
53791
- }).describe("Trigger deleted successfully");
53792
54028
  DeleteTriggerResponse$zodSchema = union([
53793
- lazy(() => DeleteTriggerResponseBody$zodSchema),
54029
+ MessageResponse$zodSchema,
53794
54030
  ApiError$zodSchema
53795
54031
  ]);
53796
54032
  });
@@ -53887,7 +54123,7 @@ var init_triggersDeleteTrigger2 = __esm(() => {
53887
54123
  init_triggersDeleteTrigger();
53888
54124
  init_tools();
53889
54125
  args12 = {
53890
- id: string2()
54126
+ id: string2().describe("The ID of the trigger.")
53891
54127
  };
53892
54128
  tool$triggersDeleteTrigger = {
53893
54129
  name: "delete-trigger",
@@ -53916,24 +54152,59 @@ Deletes a trigger.`,
53916
54152
  };
53917
54153
  });
53918
54154
 
54155
+ // src/models/uritype.ts
54156
+ var UriType$zodSchema;
54157
+ var init_uritype = __esm(() => {
54158
+ init_zod();
54159
+ UriType$zodSchema = _enum([
54160
+ "webhook",
54161
+ "flow"
54162
+ ]);
54163
+ });
54164
+
54165
+ // src/models/triggerinfo.ts
54166
+ var TriggerInfo$zodSchema;
54167
+ var init_triggerinfo = __esm(() => {
54168
+ init_zod();
54169
+ init_eventtype();
54170
+ init_uritype();
54171
+ TriggerInfo$zodSchema = object({
54172
+ created_at: exports_iso.datetime({ offset: true }).optional(),
54173
+ event_type: EventType$zodSchema.optional().describe("The type of notification event."),
54174
+ id: string2().optional(),
54175
+ product_environment_id: string2().optional(),
54176
+ updated_at: exports_iso.datetime({ offset: true }).optional(),
54177
+ uri: string2(),
54178
+ uri_type: UriType$zodSchema
54179
+ });
54180
+ });
54181
+
54182
+ // src/models/triggerlistresponse.ts
54183
+ var TriggerListResponse$zodSchema;
54184
+ var init_triggerlistresponse = __esm(() => {
54185
+ init_zod();
54186
+ init_triggerinfo();
54187
+ TriggerListResponse$zodSchema = object({
54188
+ total: int().describe("Total number of triggers."),
54189
+ triggers: array(TriggerInfo$zodSchema).describe("List of trigger objects.")
54190
+ }).describe("List response for triggers.");
54191
+ });
54192
+
53919
54193
  // src/models/listtriggerop.ts
53920
- var ListTriggerGlobals$zodSchema, ListTriggerRequest$zodSchema, ListTriggerResponseBody$zodSchema, ListTriggerResponse$zodSchema;
54194
+ var ListTriggerGlobals$zodSchema, ListTriggerRequest$zodSchema, ListTriggerResponse$zodSchema;
53921
54195
  var init_listtriggerop = __esm(() => {
53922
54196
  init_zod();
53923
54197
  init_apierror();
53924
- init_triggerinfo();
54198
+ init_eventtype();
54199
+ init_triggerlistresponse();
53925
54200
  ListTriggerGlobals$zodSchema = object({
53926
54201
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
53927
54202
  });
53928
54203
  ListTriggerRequest$zodSchema = object({
53929
- event_type: string2().describe("The type of event that will trigger the notification response.").optional()
54204
+ event_type: EventType$zodSchema.optional().describe("The type of event that will trigger the notification response.")
53930
54205
  });
53931
- ListTriggerResponseBody$zodSchema = object({
53932
- total: int(),
53933
- triggers: array(TriggerInfo$zodSchema)
53934
- }).describe("List response");
53935
54206
  ListTriggerResponse$zodSchema = union([
53936
- lazy(() => ListTriggerResponseBody$zodSchema),
54207
+ TriggerListResponse$zodSchema,
53937
54208
  ApiError$zodSchema
53938
54209
  ]);
53939
54210
  });
@@ -54026,15 +54297,15 @@ var init_triggersListTrigger = __esm(() => {
54026
54297
  // src/mcp-server/tools/triggersListTrigger.ts
54027
54298
  var args13, tool$triggersListTrigger;
54028
54299
  var init_triggersListTrigger2 = __esm(() => {
54029
- init_zod();
54030
54300
  init_triggersListTrigger();
54301
+ init_eventtype();
54031
54302
  init_tools();
54032
54303
  args13 = {
54033
- event_type: string2().describe("The type of event that will trigger the notification response.").optional()
54304
+ event_type: EventType$zodSchema.optional().describe(`The type of event that will trigger the notification response.`)
54034
54305
  };
54035
54306
  tool$triggersListTrigger = {
54036
54307
  name: "list-triggers",
54037
- description: `Lists all webhook notification triggers configured for your product environmentcloudinary
54308
+ description: `Lists all webhook notification triggers configured for your product environment
54038
54309
 
54039
54310
  Retrieves a list of all event triggers and notifications within your product environment.
54040
54311
  `,
@@ -54060,48 +54331,64 @@ Retrieves a list of all event triggers and notifications within your product env
54060
54331
  };
54061
54332
  });
54062
54333
 
54334
+ // src/models/testtriggerrequest.ts
54335
+ var SampleData$zodSchema, TestTriggerRequest$zodSchema;
54336
+ var init_testtriggerrequest = __esm(() => {
54337
+ init_zod();
54338
+ SampleData$zodSchema = object({}).describe("Sample notification data to evaluate the filter against.");
54339
+ TestTriggerRequest$zodSchema = object({
54340
+ sample_data: lazy(() => SampleData$zodSchema).optional().describe("Sample notification data to evaluate the filter against.")
54341
+ });
54342
+ });
54343
+
54344
+ // src/models/testtriggerresponse.ts
54345
+ var TestTriggerResponse$zodSchema;
54346
+ var init_testtriggerresponse = __esm(() => {
54347
+ init_zod();
54348
+ TestTriggerResponse$zodSchema = object({
54349
+ filter_present: boolean2().describe("Whether the trigger has a filter configured."),
54350
+ filter_result: boolean2().describe("Result of evaluating the filter against sample_data (true if no filter)."),
54351
+ trigger_id: string2().describe("The ID of the trigger that was tested.")
54352
+ });
54353
+ });
54354
+
54063
54355
  // src/models/testtriggerop.ts
54064
- var TestTriggerGlobals$zodSchema, SampleData$zodSchema, TestTriggerRequestBody$zodSchema, TestTriggerRequest$zodSchema, TestTriggerResponseBody$zodSchema, TestTriggerResponse$zodSchema;
54356
+ var TestTriggerGlobals$zodSchema, TestTriggerRequestRequest$zodSchema, TestTriggerResponseResponse$zodSchema;
54065
54357
  var init_testtriggerop = __esm(() => {
54066
54358
  init_zod();
54067
54359
  init_apierror();
54360
+ init_testtriggerrequest();
54361
+ init_testtriggerresponse();
54068
54362
  TestTriggerGlobals$zodSchema = object({
54069
54363
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
54070
54364
  });
54071
- SampleData$zodSchema = object({}).describe("Sample notification data to evaluate the filter against.");
54072
- TestTriggerRequestBody$zodSchema = object({
54073
- sample_data: lazy(() => SampleData$zodSchema).optional()
54365
+ TestTriggerRequestRequest$zodSchema = object({
54366
+ id: string2().describe("The ID of the trigger to test."),
54367
+ test_trigger_request: TestTriggerRequest$zodSchema.optional().describe("The test data for the trigger.")
54074
54368
  });
54075
- TestTriggerRequest$zodSchema = object({
54076
- RequestBody: lazy(() => TestTriggerRequestBody$zodSchema).optional(),
54077
- id: string2()
54078
- });
54079
- TestTriggerResponseBody$zodSchema = object({
54080
- filter_present: boolean2(),
54081
- filter_result: boolean2(),
54082
- trigger_id: string2()
54083
- }).describe("Test completed successfully");
54084
- TestTriggerResponse$zodSchema = union([
54085
- lazy(() => TestTriggerResponseBody$zodSchema),
54369
+ TestTriggerResponseResponse$zodSchema = union([
54370
+ TestTriggerResponse$zodSchema,
54086
54371
  ApiError$zodSchema
54087
54372
  ]);
54088
54373
  });
54089
54374
 
54090
54375
  // src/funcs/triggersTestTrigger.ts
54091
- function triggersTestTrigger(client$, id, RequestBody, options) {
54092
- return new APIPromise($do14(client$, id, RequestBody, options));
54376
+ function triggersTestTrigger(client$, id, test_trigger_request, options) {
54377
+ return new APIPromise($do14(client$, id, test_trigger_request, options));
54093
54378
  }
54094
- async function $do14(client$, id, RequestBody, options) {
54379
+ async function $do14(client$, id, test_trigger_request, options) {
54095
54380
  const input$ = {
54096
54381
  id,
54097
- RequestBody
54382
+ test_trigger_request
54098
54383
  };
54099
- const parsed$ = safeParse4(input$, (value$) => TestTriggerRequest$zodSchema.parse(value$), "Input validation failed");
54384
+ const parsed$ = safeParse4(input$, (value$) => TestTriggerRequestRequest$zodSchema.parse(value$), "Input validation failed");
54100
54385
  if (!parsed$.ok) {
54101
54386
  return [parsed$, { status: "invalid" }];
54102
54387
  }
54103
54388
  const payload$ = parsed$.value;
54104
- const body$ = encodeJSON("body", payload$.RequestBody, { explode: true });
54389
+ const body$ = encodeJSON("body", payload$.test_trigger_request, {
54390
+ explode: true
54391
+ });
54105
54392
  const pathParams$ = {
54106
54393
  cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, {
54107
54394
  explode: false,
@@ -54179,11 +54466,11 @@ var args14, tool$triggersTestTrigger;
54179
54466
  var init_triggersTestTrigger2 = __esm(() => {
54180
54467
  init_zod();
54181
54468
  init_triggersTestTrigger();
54182
- init_testtriggerop();
54469
+ init_testtriggerrequest();
54183
54470
  init_tools();
54184
54471
  args14 = {
54185
- id: string2(),
54186
- RequestBody: TestTriggerRequestBody$zodSchema.optional()
54472
+ id: string2().describe("The ID of the trigger to test."),
54473
+ test_trigger_request: TestTriggerRequest$zodSchema.optional().describe(`The test data for the trigger.`)
54187
54474
  };
54188
54475
  tool$triggersTestTrigger = {
54189
54476
  name: "test-trigger",
@@ -54196,13 +54483,13 @@ Use this endpoint to verify that a trigger's filter will match expected events.
54196
54483
  annotations: {
54197
54484
  title: "Test Trigger Filter",
54198
54485
  destructiveHint: false,
54199
- idempotentHint: false,
54486
+ idempotentHint: true,
54200
54487
  openWorldHint: false,
54201
54488
  readOnlyHint: true
54202
54489
  },
54203
54490
  args: args14,
54204
54491
  tool: async (client, args15, ctx) => {
54205
- const [result] = await triggersTestTrigger(client, args15.id, args15.RequestBody, { fetchOptions: { signal: ctx.signal } }).$inspect();
54492
+ const [result] = await triggersTestTrigger(client, args15.id, args15.test_trigger_request, { fetchOptions: { signal: ctx.signal } }).$inspect();
54206
54493
  if (!result.ok) {
54207
54494
  return {
54208
54495
  content: [{ type: "text", text: result.error.message }],
@@ -54214,45 +54501,52 @@ Use this endpoint to verify that a trigger's filter will match expected events.
54214
54501
  };
54215
54502
  });
54216
54503
 
54504
+ // src/models/updatetriggerrequest.ts
54505
+ var UpdateTriggerRequest$zodSchema;
54506
+ var init_updatetriggerrequest = __esm(() => {
54507
+ init_zod();
54508
+ UpdateTriggerRequest$zodSchema = object({
54509
+ new_uri: string2().describe("The updated URL that will receive the notification response.")
54510
+ });
54511
+ });
54512
+
54217
54513
  // src/models/updatetriggerop.ts
54218
- var UpdateTriggerGlobals$zodSchema, UpdateTriggerRequestBody$zodSchema, UpdateTriggerRequest$zodSchema, UpdateTriggerResponseBody$zodSchema, UpdateTriggerResponse$zodSchema;
54514
+ var UpdateTriggerGlobals$zodSchema, UpdateTriggerRequestRequest$zodSchema, UpdateTriggerResponse$zodSchema;
54219
54515
  var init_updatetriggerop = __esm(() => {
54220
54516
  init_zod();
54221
54517
  init_apierror();
54518
+ init_messageresponse();
54519
+ init_updatetriggerrequest();
54222
54520
  UpdateTriggerGlobals$zodSchema = object({
54223
54521
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
54224
54522
  });
54225
- UpdateTriggerRequestBody$zodSchema = object({
54226
- new_uri: string2()
54523
+ UpdateTriggerRequestRequest$zodSchema = object({
54524
+ id: string2().describe("The ID of the trigger."),
54525
+ update_trigger_request: UpdateTriggerRequest$zodSchema.describe("The updated trigger configuration.")
54227
54526
  });
54228
- UpdateTriggerRequest$zodSchema = object({
54229
- RequestBody: lazy(() => UpdateTriggerRequestBody$zodSchema),
54230
- id: string2()
54231
- });
54232
- UpdateTriggerResponseBody$zodSchema = object({
54233
- message: string2()
54234
- }).describe("Trigger updated successfully");
54235
54527
  UpdateTriggerResponse$zodSchema = union([
54236
- lazy(() => UpdateTriggerResponseBody$zodSchema),
54528
+ MessageResponse$zodSchema,
54237
54529
  ApiError$zodSchema
54238
54530
  ]);
54239
54531
  });
54240
54532
 
54241
54533
  // src/funcs/triggersUpdateTrigger.ts
54242
- function triggersUpdateTrigger(client$, id, RequestBody, options) {
54243
- return new APIPromise($do15(client$, id, RequestBody, options));
54534
+ function triggersUpdateTrigger(client$, id, update_trigger_request, options) {
54535
+ return new APIPromise($do15(client$, id, update_trigger_request, options));
54244
54536
  }
54245
- async function $do15(client$, id, RequestBody, options) {
54537
+ async function $do15(client$, id, update_trigger_request, options) {
54246
54538
  const input$ = {
54247
54539
  id,
54248
- RequestBody
54540
+ update_trigger_request
54249
54541
  };
54250
- const parsed$ = safeParse4(input$, (value$) => UpdateTriggerRequest$zodSchema.parse(value$), "Input validation failed");
54542
+ const parsed$ = safeParse4(input$, (value$) => UpdateTriggerRequestRequest$zodSchema.parse(value$), "Input validation failed");
54251
54543
  if (!parsed$.ok) {
54252
54544
  return [parsed$, { status: "invalid" }];
54253
54545
  }
54254
54546
  const payload$ = parsed$.value;
54255
- const body$ = encodeJSON("body", payload$.RequestBody, { explode: true });
54547
+ const body$ = encodeJSON("body", payload$.update_trigger_request, {
54548
+ explode: true
54549
+ });
54256
54550
  const pathParams$ = {
54257
54551
  cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, {
54258
54552
  explode: false,
@@ -54330,11 +54624,11 @@ var args15, tool$triggersUpdateTrigger;
54330
54624
  var init_triggersUpdateTrigger2 = __esm(() => {
54331
54625
  init_zod();
54332
54626
  init_triggersUpdateTrigger();
54333
- init_updatetriggerop();
54627
+ init_updatetriggerrequest();
54334
54628
  init_tools();
54335
54629
  args15 = {
54336
- id: string2(),
54337
- RequestBody: UpdateTriggerRequestBody$zodSchema
54630
+ id: string2().describe("The ID of the trigger."),
54631
+ update_trigger_request: UpdateTriggerRequest$zodSchema.describe(`The updated trigger configuration.`)
54338
54632
  };
54339
54633
  tool$triggersUpdateTrigger = {
54340
54634
  name: "update-trigger",
@@ -54351,7 +54645,7 @@ Updates a notification URL for a trigger.`,
54351
54645
  },
54352
54646
  args: args15,
54353
54647
  tool: async (client, args16, ctx) => {
54354
- const [result] = await triggersUpdateTrigger(client, args16.id, args16.RequestBody, { fetchOptions: { signal: ctx.signal } }).$inspect();
54648
+ const [result] = await triggersUpdateTrigger(client, args16.id, args16.update_trigger_request, { fetchOptions: { signal: ctx.signal } }).$inspect();
54355
54649
  if (!result.ok) {
54356
54650
  return {
54357
54651
  content: [{ type: "text", text: result.error.message }],
@@ -54363,27 +54657,14 @@ Updates a notification URL for a trigger.`,
54363
54657
  };
54364
54658
  });
54365
54659
 
54366
- // src/models/createuploadmappingop.ts
54367
- var CreateUploadMappingGlobals$zodSchema, CreateUploadMappingRequest$zodSchema, CreateUploadMappingResponseBody$zodSchema, CreateUploadMappingResponse$zodSchema;
54368
- var init_createuploadmappingop = __esm(() => {
54660
+ // src/models/uploadmappinginput.ts
54661
+ var UploadMappingInput$zodSchema;
54662
+ var init_uploadmappinginput = __esm(() => {
54369
54663
  init_zod();
54370
- init_apierror();
54371
- CreateUploadMappingGlobals$zodSchema = object({
54372
- cloud_name: string2().describe("The cloud name of your product environment.").optional()
54373
- });
54374
- CreateUploadMappingRequest$zodSchema = object({
54375
- folder: string2(),
54376
- template: string2()
54664
+ UploadMappingInput$zodSchema = object({
54665
+ folder: string2().describe("The folder name for the mapping."),
54666
+ template: string2().describe("The template URL.")
54377
54667
  });
54378
- CreateUploadMappingResponseBody$zodSchema = object({
54379
- external_id: string2(),
54380
- folder: string2(),
54381
- message: string2()
54382
- }).describe("Upload mapping created successfully");
54383
- CreateUploadMappingResponse$zodSchema = union([
54384
- lazy(() => CreateUploadMappingResponseBody$zodSchema),
54385
- ApiError$zodSchema
54386
- ]);
54387
54668
  });
54388
54669
 
54389
54670
  // src/funcs/uploadMappingsCreateUploadMapping.ts
@@ -54391,7 +54672,7 @@ function uploadMappingsCreateUploadMapping(client$, request, options) {
54391
54672
  return new APIPromise($do16(client$, request, options));
54392
54673
  }
54393
54674
  async function $do16(client$, request, options) {
54394
- const parsed$ = safeParse4(request, (value$) => CreateUploadMappingRequest$zodSchema.parse(value$), "Input validation failed");
54675
+ const parsed$ = safeParse4(request, (value$) => UploadMappingInput$zodSchema.parse(value$), "Input validation failed");
54395
54676
  if (!parsed$.ok) {
54396
54677
  return [parsed$, { status: "invalid" }];
54397
54678
  }
@@ -54461,7 +54742,7 @@ var init_uploadMappingsCreateUploadMapping = __esm(() => {
54461
54742
  init_schemas4();
54462
54743
  init_security();
54463
54744
  init_url();
54464
- init_createuploadmappingop();
54745
+ init_uploadmappinginput();
54465
54746
  init_async();
54466
54747
  });
54467
54748
 
@@ -54469,10 +54750,10 @@ var init_uploadMappingsCreateUploadMapping = __esm(() => {
54469
54750
  var args16, tool$uploadMappingsCreateUploadMapping;
54470
54751
  var init_uploadMappingsCreateUploadMapping2 = __esm(() => {
54471
54752
  init_uploadMappingsCreateUploadMapping();
54472
- init_createuploadmappingop();
54753
+ init_uploadmappinginput();
54473
54754
  init_tools();
54474
54755
  args16 = {
54475
- request: CreateUploadMappingRequest$zodSchema
54756
+ request: UploadMappingInput$zodSchema.describe(`The upload mapping folder and URL template.`)
54476
54757
  };
54477
54758
  tool$uploadMappingsCreateUploadMapping = {
54478
54759
  name: "create-upload-mapping",
@@ -54501,23 +54782,30 @@ Creates a new upload mapping for the specified folder`,
54501
54782
  };
54502
54783
  });
54503
54784
 
54785
+ // src/models/uploadmappingmutationresponse.ts
54786
+ var UploadMappingMutationResponse$zodSchema;
54787
+ var init_uploadmappingmutationresponse = __esm(() => {
54788
+ init_zod();
54789
+ UploadMappingMutationResponse$zodSchema = object({
54790
+ external_id: string2().describe("Unique identifier of the mapping."),
54791
+ message: string2()
54792
+ });
54793
+ });
54794
+
54504
54795
  // src/models/deleteuploadmappingop.ts
54505
- var DeleteUploadMappingGlobals$zodSchema, DeleteUploadMappingRequest$zodSchema, DeleteUploadMappingResponseBody$zodSchema, DeleteUploadMappingResponse$zodSchema;
54796
+ var DeleteUploadMappingGlobals$zodSchema, DeleteUploadMappingRequest$zodSchema, DeleteUploadMappingResponse$zodSchema;
54506
54797
  var init_deleteuploadmappingop = __esm(() => {
54507
54798
  init_zod();
54508
54799
  init_apierror();
54800
+ init_uploadmappingmutationresponse();
54509
54801
  DeleteUploadMappingGlobals$zodSchema = object({
54510
54802
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
54511
54803
  });
54512
54804
  DeleteUploadMappingRequest$zodSchema = object({
54513
54805
  folder: string2().describe("The folder name of the mapping to delete")
54514
54806
  });
54515
- DeleteUploadMappingResponseBody$zodSchema = object({
54516
- external_id: string2(),
54517
- message: string2()
54518
- }).describe("Upload mapping deleted successfully");
54519
54807
  DeleteUploadMappingResponse$zodSchema = union([
54520
- lazy(() => DeleteUploadMappingResponseBody$zodSchema),
54808
+ UploadMappingMutationResponse$zodSchema,
54521
54809
  ApiError$zodSchema
54522
54810
  ]);
54523
54811
  });
@@ -54648,19 +54936,32 @@ var UploadMapping$zodSchema;
54648
54936
  var init_uploadmapping = __esm(() => {
54649
54937
  init_zod();
54650
54938
  UploadMapping$zodSchema = object({
54651
- external_id: string2(),
54652
- folder: string2(),
54653
- template: string2(),
54654
- upload_preset_name: string2().nullable().optional()
54939
+ external_id: string2().describe("Unique identifier for the mapping"),
54940
+ folder: string2().describe("The folder name"),
54941
+ template: string2().describe("The template URL"),
54942
+ upload_preset_name: string2().nullable().optional().describe("Name of an upload preset if one is associated")
54655
54943
  }).describe("Represents an upload mapping");
54656
54944
  });
54657
54945
 
54946
+ // src/models/uploadmappinglistresponse.ts
54947
+ var UploadMappingListResponse$zodSchema;
54948
+ var init_uploadmappinglistresponse = __esm(() => {
54949
+ init_zod();
54950
+ init_uploadmapping();
54951
+ UploadMappingListResponse$zodSchema = object({
54952
+ mappings: array(UploadMapping$zodSchema).describe("Array of upload mapping objects."),
54953
+ next_cursor: string2().optional().describe("Cursor for getting the next page of results."),
54954
+ total_entries: int().describe("Total number of mappings.")
54955
+ }).describe("List response for upload mappings.");
54956
+ });
54957
+
54658
54958
  // src/models/listuploadmappingsop.ts
54659
- var ListUploadMappingsGlobals$zodSchema, ListUploadMappingsRequest$zodSchema, ResponseBody$zodSchema, ListUploadMappingsResponseBody$zodSchema, ListUploadMappingsResponse$zodSchema;
54959
+ var ListUploadMappingsGlobals$zodSchema, ListUploadMappingsRequest$zodSchema, ListUploadMappingsResponseBody$zodSchema, ListUploadMappingsResponse$zodSchema;
54660
54960
  var init_listuploadmappingsop = __esm(() => {
54661
54961
  init_zod();
54662
54962
  init_apierror();
54663
54963
  init_uploadmapping();
54964
+ init_uploadmappinglistresponse();
54664
54965
  ListUploadMappingsGlobals$zodSchema = object({
54665
54966
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
54666
54967
  });
@@ -54669,20 +54970,15 @@ var init_listuploadmappingsop = __esm(() => {
54669
54970
  max_results: int().default(10).describe("The maximum number of results to return. Default is 10."),
54670
54971
  next_cursor: string2().describe("The cursor for pagination. Use the next_cursor value from a previous response to get the next page of results.").optional()
54671
54972
  });
54672
- ResponseBody$zodSchema = object({
54673
- mappings: array(UploadMapping$zodSchema),
54674
- next_cursor: string2().optional(),
54675
- total_entries: int()
54676
- }).describe("List response");
54677
54973
  ListUploadMappingsResponseBody$zodSchema = union([
54678
54974
  UploadMapping$zodSchema,
54679
- lazy(() => ResponseBody$zodSchema)
54975
+ UploadMappingListResponse$zodSchema
54680
54976
  ]).describe("Upload mappings retrieved successfully");
54681
54977
  ListUploadMappingsResponse$zodSchema = union([
54682
54978
  ApiError$zodSchema,
54683
54979
  union([
54684
54980
  UploadMapping$zodSchema,
54685
- lazy(() => ResponseBody$zodSchema)
54981
+ UploadMappingListResponse$zodSchema
54686
54982
  ])
54687
54983
  ]);
54688
54984
  });
@@ -54816,34 +55112,12 @@ Upload mappings allow you to map an upload preset to a specific folder and URL t
54816
55112
  };
54817
55113
  });
54818
55114
 
54819
- // src/models/updateuploadmappingop.ts
54820
- var UpdateUploadMappingGlobals$zodSchema, UpdateUploadMappingRequest$zodSchema, UpdateUploadMappingResponseBody$zodSchema, UpdateUploadMappingResponse$zodSchema;
54821
- var init_updateuploadmappingop = __esm(() => {
54822
- init_zod();
54823
- init_apierror();
54824
- UpdateUploadMappingGlobals$zodSchema = object({
54825
- cloud_name: string2().describe("The cloud name of your product environment.").optional()
54826
- });
54827
- UpdateUploadMappingRequest$zodSchema = object({
54828
- folder: string2(),
54829
- template: string2()
54830
- });
54831
- UpdateUploadMappingResponseBody$zodSchema = object({
54832
- external_id: string2(),
54833
- message: string2()
54834
- }).describe("Upload mapping updated successfully");
54835
- UpdateUploadMappingResponse$zodSchema = union([
54836
- lazy(() => UpdateUploadMappingResponseBody$zodSchema),
54837
- ApiError$zodSchema
54838
- ]);
54839
- });
54840
-
54841
55115
  // src/funcs/uploadMappingsUpdateUploadMapping.ts
54842
55116
  function uploadMappingsUpdateUploadMapping(client$, request, options) {
54843
55117
  return new APIPromise($do19(client$, request, options));
54844
55118
  }
54845
55119
  async function $do19(client$, request, options) {
54846
- const parsed$ = safeParse4(request, (value$) => UpdateUploadMappingRequest$zodSchema.parse(value$), "Input validation failed");
55120
+ const parsed$ = safeParse4(request, (value$) => UploadMappingInput$zodSchema.parse(value$), "Input validation failed");
54847
55121
  if (!parsed$.ok) {
54848
55122
  return [parsed$, { status: "invalid" }];
54849
55123
  }
@@ -54913,7 +55187,7 @@ var init_uploadMappingsUpdateUploadMapping = __esm(() => {
54913
55187
  init_schemas4();
54914
55188
  init_security();
54915
55189
  init_url();
54916
- init_updateuploadmappingop();
55190
+ init_uploadmappinginput();
54917
55191
  init_async();
54918
55192
  });
54919
55193
 
@@ -54921,14 +55195,14 @@ var init_uploadMappingsUpdateUploadMapping = __esm(() => {
54921
55195
  var args19, tool$uploadMappingsUpdateUploadMapping;
54922
55196
  var init_uploadMappingsUpdateUploadMapping2 = __esm(() => {
54923
55197
  init_uploadMappingsUpdateUploadMapping();
54924
- init_updateuploadmappingop();
55198
+ init_uploadmappinginput();
54925
55199
  init_tools();
54926
55200
  args19 = {
54927
- request: UpdateUploadMappingRequest$zodSchema
55201
+ request: UploadMappingInput$zodSchema.describe(`The updated upload mapping folder and URL template.`)
54928
55202
  };
54929
55203
  tool$uploadMappingsUpdateUploadMapping = {
54930
55204
  name: "update-upload-mapping",
54931
- description: `Updates an existing upload mapping by changing its remote URL template for a given
55205
+ description: `Updates an existing upload mapping by changing its remote URL template for a given folder
54932
55206
 
54933
55207
  Updates the URL template for an existing folder mapping`,
54934
55208
  scopes: ["builder"],
@@ -54954,129 +55228,306 @@ Updates the URL template for an existing folder mapping`,
54954
55228
  });
54955
55229
 
54956
55230
  // src/models/accesscontrolitem.ts
54957
- var AccessType$zodSchema, AccessControlItem$zodSchema;
55231
+ var AccessType$zodSchema, Start$zodSchema, End$zodSchema, AccessControlItem$zodSchema;
54958
55232
  var init_accesscontrolitem = __esm(() => {
54959
55233
  init_zod();
54960
55234
  AccessType$zodSchema = _enum([
54961
55235
  "token",
54962
55236
  "anonymous"
54963
55237
  ]).describe("The type of access control to apply to the asset.");
55238
+ Start$zodSchema = union([
55239
+ string2(),
55240
+ int()
55241
+ ]).describe("The start date and time when anonymous access becomes available. Accepts ISO 8601 string or Unix timestamp.");
55242
+ End$zodSchema = union([
55243
+ string2(),
55244
+ int()
55245
+ ]).describe("The end date and time when anonymous access expires. Accepts ISO 8601 string or Unix timestamp.");
54964
55246
  AccessControlItem$zodSchema = object({
54965
- access_type: AccessType$zodSchema,
54966
- end: string2().optional(),
54967
- key: string2().optional(),
54968
- start: string2().optional()
55247
+ access_type: AccessType$zodSchema.describe("The type of access control to apply to the asset."),
55248
+ end: union([
55249
+ string2(),
55250
+ int()
55251
+ ]).optional().describe("The end date and time when anonymous access expires. Accepts ISO 8601 string or Unix timestamp."),
55252
+ key: string2().optional().describe("The authentication key identifier for token-based access. Default key is used if not specified or if set to 'default'."),
55253
+ start: union([
55254
+ string2(),
55255
+ int()
55256
+ ]).optional().describe("The start date and time when anonymous access becomes available. Accepts ISO 8601 string or Unix timestamp.")
54969
55257
  }).describe("Access control rule that defines when and how the asset can be accessed.");
54970
55258
  });
54971
55259
 
54972
- // src/models/uploadpreset.ts
54973
- var AutoTranscription$zodSchema, AutoTranscriptionUnion$zodSchema, ResponsiveBreakpoint$zodSchema, Type$zodSchema, AccessMode$zodSchema, ParameterWhitelistEnum$zodSchema, ParameterWhitelist$zodSchema, UploadPreset$zodSchema;
54974
- var init_uploadpreset = __esm(() => {
55260
+ // src/models/responsivebreakpoint.ts
55261
+ var ResponsiveBreakpoint$zodSchema;
55262
+ var init_responsivebreakpoint = __esm(() => {
54975
55263
  init_zod();
54976
- init_accesscontrolitem();
54977
- AutoTranscription$zodSchema = object({
54978
- translate: array(string2()).optional()
54979
- }).describe("Configuration object for automatic video transcription with translation options.");
54980
- AutoTranscriptionUnion$zodSchema = union([
54981
- boolean2(),
54982
- lazy(() => AutoTranscription$zodSchema)
54983
- ]);
54984
55264
  ResponsiveBreakpoint$zodSchema = object({
54985
- bytes_step: int().optional(),
54986
- create_derived: boolean2().optional(),
54987
- max_images: int().optional(),
54988
- max_width: int().optional(),
54989
- min_width: int().optional(),
54990
- transformation: string2().optional()
54991
- });
54992
- Type$zodSchema = _enum([
55265
+ bytes_step: int().optional().describe("The minimum byte size difference between consecutive breakpoint images."),
55266
+ create_derived: boolean2().optional().describe("Whether to generate and store the derived images. Default is true."),
55267
+ max_images: int().optional().describe("The maximum number of breakpoint images to generate."),
55268
+ max_width: int().optional().describe("The maximum width for responsive breakpoint images."),
55269
+ min_width: int().optional().describe("The minimum width for responsive breakpoint images."),
55270
+ transformation: string2().optional().describe("A transformation string to apply before generating breakpoints.")
55271
+ });
55272
+ });
55273
+
55274
+ // src/models/structuredmetadatavalue.ts
55275
+ var StructuredMetadataValue$zodSchema;
55276
+ var init_structuredmetadatavalue = __esm(() => {
55277
+ init_zod();
55278
+ StructuredMetadataValue$zodSchema = union([
55279
+ string2(),
55280
+ int(),
55281
+ array(string2())
55282
+ ]);
55283
+ });
55284
+
55285
+ // src/models/structuredmetadataparam.ts
55286
+ var StructuredMetadataParam$zodSchema;
55287
+ var init_structuredmetadataparam = __esm(() => {
55288
+ init_zod();
55289
+ init_structuredmetadatavalue();
55290
+ StructuredMetadataParam$zodSchema = union([
55291
+ string2(),
55292
+ record(string2(), StructuredMetadataValue$zodSchema)
55293
+ ]).describe(`A pipe-separated list or a map of custom metadata fields (by external_id) and the values to assign to each of them. The = " and | characters can be supported as values when escaped with a prepended backslash (\\). For a multi-select field, you can set a maximum of 3000 different metadata values on an asset.
55294
+ `);
55295
+ });
55296
+
55297
+ // src/models/tagsparam.ts
55298
+ var TagsParam$zodSchema;
55299
+ var init_tagsparam = __esm(() => {
55300
+ init_zod();
55301
+ TagsParam$zodSchema = union([
55302
+ string2(),
55303
+ array(string2())
55304
+ ]).describe("A comma-separated list of tag names, or an array of tag names.");
55305
+ });
55306
+
55307
+ // src/models/assetdeliverytype.ts
55308
+ var AssetDeliveryType$zodSchema;
55309
+ var init_assetdeliverytype = __esm(() => {
55310
+ init_zod();
55311
+ AssetDeliveryType$zodSchema = _enum([
55312
+ "asset"
55313
+ ]).describe("Static asset delivery type.");
55314
+ });
55315
+
55316
+ // src/models/manageddeliverytype.ts
55317
+ var ManagedDeliveryType$zodSchema;
55318
+ var init_manageddeliverytype = __esm(() => {
55319
+ init_zod();
55320
+ ManagedDeliveryType$zodSchema = _enum([
54993
55321
  "upload",
54994
- "authenticated",
54995
55322
  "private",
54996
- "asset"
54997
- ]).describe("The delivery type that defines if and how the uploaded asset is available for public delivery. By default, all uploaded assets are public (upload). Possible values are upload, authenticated, private or asset.");
54998
- AccessMode$zodSchema = _enum([
55323
+ "authenticated"
55324
+ ]).describe("Managed delivery types for assets uploaded and stored by Cloudinary.");
55325
+ });
55326
+
55327
+ // src/models/uploaddeliverytype.ts
55328
+ var UploadDeliveryType$zodSchema;
55329
+ var init_uploaddeliverytype = __esm(() => {
55330
+ init_zod();
55331
+ init_assetdeliverytype();
55332
+ init_manageddeliverytype();
55333
+ UploadDeliveryType$zodSchema = union([
55334
+ ManagedDeliveryType$zodSchema,
55335
+ AssetDeliveryType$zodSchema
55336
+ ]).describe("Delivery types accepted by upload and rename operations.");
55337
+ });
55338
+
55339
+ // src/models/uploadpresetinput.ts
55340
+ var UploadPresetInputAccessMode$zodSchema, ParameterWhitelistEnum$zodSchema, UploadPresetInputAutoTranscription$zodSchema, UploadPresetInputAutoTranscriptionUnion$zodSchema, UploadPresetInputRegions$zodSchema, UploadPresetInputResponsiveBreakpoints$zodSchema, ParameterWhitelist$zodSchema, UploadPresetInput$zodSchema;
55341
+ var init_uploadpresetinput = __esm(() => {
55342
+ init_zod();
55343
+ init_accesscontrolitem();
55344
+ init_responsivebreakpoint();
55345
+ init_structuredmetadataparam();
55346
+ init_tagsparam();
55347
+ init_uploaddeliverytype();
55348
+ UploadPresetInputAccessMode$zodSchema = _enum([
54999
55349
  "public",
55000
55350
  "authenticated"
55001
- ]).describe(`Allows the asset to behave as if it's of the authenticated 'type' (see above) while still using the default 'upload' type in delivery URLs. The asset can later be made public by changing its access_mode via the Admin API, without having to update any delivery URLs. Valid values: public, and authenticated.
55351
+ ]).describe(`Deprecated. Use access_control instead. Allows the asset to behave as if it's of the authenticated delivery type while still using the default 'upload' type in delivery URLs. The asset can later be made public by changing its access_mode via the Admin API, without having to update any delivery URLs.
55002
55352
  `);
55003
55353
  ParameterWhitelistEnum$zodSchema = _enum([
55004
55354
  "none"
55005
55355
  ]);
55356
+ UploadPresetInputAutoTranscription$zodSchema = object({
55357
+ translate: array(string2()).optional().describe("Array of target language codes for transcription translation.")
55358
+ }).describe("Configuration object for automatic video transcription with translation options.");
55359
+ UploadPresetInputAutoTranscriptionUnion$zodSchema = union([
55360
+ boolean2(),
55361
+ lazy(() => UploadPresetInputAutoTranscription$zodSchema)
55362
+ ]);
55363
+ UploadPresetInputRegions$zodSchema = union([
55364
+ string2(),
55365
+ record(string2(), array(array(int())))
55366
+ ]).describe(`Named region coordinate groups for cropping with region gravity.
55367
+ Can be a JSON-encoded string or an object. Each region name may contain
55368
+ only letters, numbers, or hyphens, and must have at least two coordinate pairs.
55369
+ `);
55370
+ UploadPresetInputResponsiveBreakpoints$zodSchema = union([
55371
+ array(ResponsiveBreakpoint$zodSchema),
55372
+ ResponsiveBreakpoint$zodSchema
55373
+ ]).describe("Settings to automatically generate breakpoints for responsive images.");
55006
55374
  ParameterWhitelist$zodSchema = union([
55007
55375
  array(string2()),
55008
55376
  ParameterWhitelistEnum$zodSchema
55009
- ]).describe(`The parameters that are allowed be used in an upload request utilizing this preset. If not specified or empty array, all parameters are allowed. If "none", no parameters are allowed.
55377
+ ]).describe(`The parameters that are allowed to be used in an upload request utilizing this preset. If not specified or empty array, all parameters are allowed. If "none", no parameters are allowed.
55010
55378
  `);
55011
- UploadPreset$zodSchema = object({
55012
- access_control: array(AccessControlItem$zodSchema).optional(),
55013
- access_mode: AccessMode$zodSchema.optional(),
55014
- accessibility_analysis: boolean2().optional(),
55015
- allowed_formats: string2().optional(),
55016
- asset_folder: string2().optional(),
55017
- async: boolean2().optional(),
55018
- auto_chaptering: boolean2().optional(),
55019
- auto_tagging: number2().optional(),
55379
+ UploadPresetInput$zodSchema = object({
55380
+ access_control: array(AccessControlItem$zodSchema).optional().describe(`Restricts access to the asset by specifying one or more access types.
55381
+ The asset is restricted unless at least one listed access type is valid.
55382
+ `),
55383
+ access_mode: UploadPresetInputAccessMode$zodSchema.optional().describe(`Deprecated. Use access_control instead. Allows the asset to behave as if it's of the authenticated delivery type while still using the default 'upload' type in delivery URLs. The asset can later be made public by changing its access_mode via the Admin API, without having to update any delivery URLs.
55384
+ `),
55385
+ accessibility_analysis: boolean2().optional().describe("Whether to return accessibility analysis values for the image."),
55386
+ allowed_formats: string2().optional().describe("A comma-separated list of file formats that are allowed for uploading. Files of other types will be rejected. The formats can be any combination of image types, video formats or raw file extensions.\nNote: You can also add the `format` parameter to convert other file types instead of rejecting them. In this case, only files that would normally be rejected are converted, any file format allowed for upload won't be converted.\n"),
55387
+ asset_folder: string2().optional().describe("The asset folder to assign to the asset."),
55388
+ async: boolean2().optional().describe(`When set to true, returns the uploaded asset's public_id immediately in the response, before the upload is completed (asynchronously). Default: false.
55389
+ `),
55390
+ auto_chaptering: boolean2().optional().describe("Whether to trigger automatic generation of video chapters. Chapters will be generated and saved as a .vtt file with -chapters appended to the public ID of the video. You can enable chapters as part of the Cloudinary Video Player. Relevant for videos only."),
55391
+ auto_tagging: number2().optional().describe(`Automatically assigns tags to an asset according to detected objects or categories with a confidence score higher than the specified value.
55392
+ Use together with the detection parameter for:
55393
+ - Cloudinary AI Content Analysis
55394
+ - Amazon Rekognition Celebrity Detection
55395
+ Use together with the categorization parameter for:
55396
+ - Google Automatic Video Tagging
55397
+ - Google Auto Tagging
55398
+ - Imagga Auto Tagging
55399
+ - Amazon Rekognition Auto Tagging
55400
+ `),
55020
55401
  auto_transcription: union([
55021
55402
  boolean2(),
55022
- lazy(() => AutoTranscription$zodSchema)
55403
+ lazy(() => UploadPresetInputAutoTranscription$zodSchema)
55023
55404
  ]).optional(),
55024
- background_removal: string2().optional(),
55025
- backup: boolean2().optional(),
55026
- callback: string2().optional(),
55027
- categorization: string2().optional(),
55028
- cinemagraph_analysis: boolean2().optional(),
55029
- colors: boolean2().default(false),
55030
- context: string2().optional(),
55031
- custom_coordinates: string2().optional(),
55032
- detection: string2().optional(),
55033
- disallow_public_id: boolean2().optional(),
55034
- discard_original_filename: boolean2().optional(),
55035
- display_name: string2().optional(),
55036
- eager: string2().optional(),
55037
- eager_async: boolean2().optional(),
55038
- eager_notification_url: string2().optional(),
55039
- eval: string2().optional(),
55040
- face_coordinates: string2().optional(),
55041
- faces: boolean2().optional(),
55042
- filename_override: string2().optional(),
55043
- folder: string2().optional(),
55044
- format: string2().optional(),
55045
- headers: string2().optional(),
55046
- invalidate: boolean2().optional(),
55047
- media_metadata: boolean2().optional(),
55048
- metadata: string2().optional(),
55049
- moderation: string2().optional(),
55050
- name: string2().optional(),
55051
- notification_url: string2().optional(),
55052
- ocr: string2().optional(),
55053
- on_success: string2().optional(),
55054
- overwrite: boolean2().optional(),
55405
+ background_removal: string2().optional().describe(`Automatically remove the background of an image using an add-on.
55406
+ - Set to cloudinary_ai to use the deep-learning based Cloudinary AI Background Removal add-on.
55407
+ Optionally append a template suffix (e.g., cloudinary_ai:fine_edges).
55408
+ - Note: this feature has been superseded by background removal on the fly.
55409
+ - Set to pixelz to use the human-powered Pixelz Remove-The-Background Editing add-on service.
55410
+ Relevant for images only.
55411
+ `),
55412
+ backup: boolean2().optional().describe("Whether to backup the uploaded asset. When set to true, backs up uploaded assets to a secondary storage bucket."),
55413
+ callback: string2().optional().describe(`A URL to redirect to after the upload/explicit is completed instead of returning the upload response.
55414
+ Signed upload result parameters are added to the callback URL. This parameter is ignored for XHR (Ajax XMLHttpRequest) or JavaScript Fetch API upload requests.
55415
+ Note: This parameter is relevant for direct uploads from a form in the browser. It is automatically set if you perform direct upload from the browser using Cloudinary's SDKs and the jQuery plugin.
55416
+ `),
55417
+ categorization: string2().optional().describe(`A comma-separated list of the categorization add-ons to run on the asset.
55418
+ Set to google_tagging, google_video_tagging, imagga_tagging and/or aws_rek_tagging
55419
+ to automatically classify the scenes of the uploaded asset.
55420
+ Optionally append a language code suffix (e.g., google_tagging:fr).
55421
+ `),
55422
+ cinemagraph_analysis: boolean2().optional().describe("Whether to return a cinemagraph analysis value for the media asset between 0 and 1, where 0 means the asset is not a cinemagraph and 1 means the asset is a cinemagraph. Relevant for animated images and video only. A static image will return 0."),
55423
+ clear_invalid: boolean2().default(false).describe("Whether to clear metadata field values that have become invalid due to a change in metadata rules. If false, the API returns an error if any existing metadata value is no longer valid. Default: false."),
55424
+ colors: boolean2().default(false).describe("Whether to retrieve predominant colors & color histogram of the uploaded image. Note: If all returned colors are opaque, then 6-digit RGB hex values are returned. If one or more colors contain an alpha channel, then 8-digit RGBA hex quadruplet values are returned."),
55425
+ context: string2().optional().describe('A pipe-separated list of key-value pairs of general textual context metadata to attach to the asset (e.g., "alt=My image|caption=Nice photo"). The =, ", and | characters can be escaped with a prepending backslash (\\).'),
55426
+ custom_coordinates: string2().optional().describe("Custom coordinates as comma-separated values, with multiple coordinates separated by pipes."),
55427
+ detection: string2().optional().describe(`Invokes the relevant add-on to return a list of detected content.
55428
+ Set to:
55429
+ - <content-aware model>_[<version>] (e.g. coco_v2) to return a list of detected content using the Cloudinary AI Content Analysis add-on. Can be used together with the auto_tagging parameter to apply tags automatically.
55430
+ - captioning to analyze an image and suggest a caption based on the image's contents.
55431
+ - iqa to analyze the quality of an image.
55432
+ - watermark-detection to detect watermarks in an image.
55433
+ - adv_face to return a list of facial attributes using the Advanced Facial Attribute Detection add-on.
55434
+ - aws_rek_face to return a list of detected celebrities and facial attributes using the Amazon Rekognition Celebrity Detection add-on. Can be used together with the auto_tagging parameter to apply tags automatically.
55435
+ `),
55436
+ disallow_public_id: boolean2().optional().describe(`When using unsigned upload with an upload preset, this parameter prevents specifying a public ID. Relevant only for unsigned upload presets.
55437
+ `),
55438
+ discard_original_filename: boolean2().optional().describe("Whether to discard the name of the original uploaded file. Relevant when delivering assets as attachments (setting the flag disposition:attachment in delivery URLs)."),
55439
+ display_name: string2().optional().describe("A display name for the asset."),
55440
+ eager: string2().optional().describe("A list of transformations to eagerly generate for the asset. Accepts either a single transformation or a pipe-separated list of transformations."),
55441
+ eager_async: boolean2().optional().describe("Whether to generate the eager transformations asynchronously in the background after the upload request is completed rather than before the upload is completed."),
55442
+ eager_notification_url: string2().optional().describe("A URL to notify when eager transformations are completed."),
55443
+ eval: string2().optional().describe("Allows you to modify upload parameters by specifying custom logic with JavaScript. This can be useful for conditionally adding tags, contextual metadata, structured metadata or eager transformations depending on specific criteria of the uploaded file."),
55444
+ face_coordinates: string2().optional().describe("Face coordinates as comma-separated values, with multiple faces separated by pipes."),
55445
+ faces: boolean2().optional().describe("Whether to detect faces in the asset."),
55446
+ filename_override: string2().optional().describe("Overrides the originally uploaded asset's file name in downloads that use flags like fl_attachment or fl_force_original."),
55447
+ folder: string2().optional().describe("Folder name where the uploaded asset will be stored. This parameter applies when using the Admin API, or when specifying the upload preset for unsigned uploading with the Upload API."),
55448
+ format: string2().optional().describe("An optional format to convert the uploaded asset to before saving in the cloud."),
55449
+ headers: string2().optional().describe(`An HTTP header or a list of headers lines for adding as response HTTP headers when delivering the asset to your users. Supported headers: Link, Authorization, X-Robots-Tag.
55450
+ `),
55451
+ invalidate: boolean2().optional().describe(`Whether to invalidate CDN cache copies of a previously uploaded asset that shares the same public ID. Default: false.
55452
+ `),
55453
+ media_metadata: boolean2().optional().describe(`Whether to return IPTC, XMP, and detailed Exif metadata of the uploaded asset in the response.
55454
+ Supported for images, video, and audio.
55455
+ - Returned metadata for images includes: PixelsPerUnitX, PixelsPerUnitY, PixelUnits, Colorspace, and DPI.
55456
+ - Returned metadata for audio and video includes: audio_codec, audio_bit_rate, audio_frequency, channels, channel_layout.
55457
+ - Additional metadata for video includes: pix_format, codec, level, profile, video_bit_rate, dar.
55458
+ `),
55459
+ metadata: StructuredMetadataParam$zodSchema.optional().describe(`A pipe-separated list or a map of custom metadata fields (by external_id) and the values to assign to each of them. The = " and | characters can be supported as values when escaped with a prepended backslash (\\). For a multi-select field, you can set a maximum of 3000 different metadata values on an asset.
55460
+ `),
55461
+ moderation: string2().optional().describe(`For all asset types, set to:
55462
+ - manual to add the uploaded asset to a list of pending assets that can be moderated using the Admin API or the Cloudinary Console.
55463
+ - perception_point to automatically moderate the uploaded asset using the Perception Point Malware Detection add-on.
55464
+
55465
+ For images only, set to:
55466
+ - webpurify to automatically moderate the uploaded image using the WebPurify Image Moderation add-on.
55467
+ - aws_rek to automatically moderate the uploaded image using the Amazon Rekognition AI Moderation add-on.
55468
+ - duplicate:<threshold> to detect if the same or a similar image already exists using the Cloudinary Duplicate Image Detection add-on. Set threshold to a float greater than 0 and less than or equal to 1.0 to specify how similar an image needs to be in order to be considered a duplicate. Set threshold to 0 to add an image to the index of images that are searched when duplicate detection is invoked for another image.
55469
+
55470
+ For videos only, set to:
55471
+ - aws_rek_video to automatically moderate the uploaded video using the Amazon Rekognition Video Moderation add-on.
55472
+ - google_video_moderation automatically moderate the uploaded video using the Google AI Video Moderation add-on.
55473
+
55474
+ To request multiple moderations in a single API call:
55475
+ - Send the desired list of moderations as a pipe-separated string with manual moderation, if relevant, being last.
55476
+
55477
+ Note: Rejected assets are automatically invalidated on the CDN within approximately ten minutes.
55478
+ `),
55479
+ name: string2().optional().describe("The name of the upload preset. If not provided on create, a random name is generated."),
55480
+ notification_url: string2().optional().describe("A URL to notify when the asset is ready."),
55481
+ ocr: string2().optional().describe(`Set to adv_ocr to extract all text elements in an image as well as the bounding box
55482
+ coordinates of each detected element using the OCR text detection and extraction add-on.
55483
+ Optionally append options (e.g., adv_ocr:document).
55484
+ `),
55485
+ on_success: string2().optional().describe("Allows you to update an asset by specifying custom logic with JavaScript that is executed after the upload to Cloudinary is completed successfully. This can be useful for conditionally adding tags, contextual metadata, and structured metadata, depending on the results of using the detection parameter on upload."),
55486
+ overwrite: boolean2().optional().describe(`Whether to overwrite existing assets with the same public ID. When set to false, return immediately if an asset with the same public ID already exists. Default: true (when using unsigned upload, the default is false and cannot be changed to true).
55487
+ `),
55055
55488
  parameter_whitelist: union([
55056
55489
  array(string2()),
55057
55490
  ParameterWhitelistEnum$zodSchema
55058
- ]).optional(),
55059
- phash: boolean2().optional(),
55060
- proxy: string2().optional(),
55061
- public_id: string2().optional(),
55062
- public_id_prefix: string2().optional(),
55063
- quality_analysis: boolean2().optional(),
55064
- raw_convert: string2().optional(),
55065
- regions: string2().optional(),
55066
- responsive_breakpoints: array(lazy(() => ResponsiveBreakpoint$zodSchema)).optional(),
55067
- return_delete_token: boolean2().optional(),
55068
- tags: string2().optional(),
55069
- transformation: string2().optional(),
55070
- type: Type$zodSchema.optional(),
55071
- unique_display_name: boolean2().optional(),
55072
- unique_filename: boolean2().optional(),
55073
- unsigned: boolean2().optional(),
55074
- upload_preset: string2().optional(),
55075
- use_asset_folder_as_public_id_prefix: boolean2().optional(),
55076
- use_filename: boolean2().optional(),
55077
- use_filename_as_display_name: boolean2().optional(),
55078
- visual_search: boolean2().optional()
55079
- });
55491
+ ]).optional().describe(`The parameters that are allowed to be used in an upload request utilizing this preset. If not specified or empty array, all parameters are allowed. If "none", no parameters are allowed.
55492
+ `),
55493
+ phash: boolean2().optional().describe(`Whether to return the perceptual hash (pHash) on the uploaded image for image similarity detection.
55494
+ `),
55495
+ proxy: string2().optional().describe("A proxy to use for fetching remote URLs. The format should be http://hostname:port."),
55496
+ public_id: string2().optional().describe("The identifier that is used for accessing the uploaded asset. If not specified, a unique ID is generated automatically."),
55497
+ public_id_prefix: string2().optional().describe("A string or path that's automatically prepended to the public_id with a forward slash. The value can contain the same characters as the public_id including additional forward slashes. This prefix can be useful to provide context and improve the SEO of an asset's filename in the delivery URL, but the value does not impact the location where the asset is stored."),
55498
+ quality_analysis: boolean2().optional().describe("Whether to return a quality analysis value for the image between 0 and 1, where 0 means the image is blurry and out of focus and 1 means the image is sharp and in focus. Relevant for images only."),
55499
+ raw_convert: string2().optional().describe(`Generates a related file based on the uploaded file.
55500
+ - Set to aspose to automatically create a PDF or other image format from a raw Office document using the Aspose Document Conversion add-on. (Asynchronous)
55501
+ - Set to google_speech to instruct the Google AI Video Transcription add-on to generate an automatic transcript raw file from an uploaded video. (Asynchronous)
55502
+ - Set to extract_text to extract all the text from a PDF file and store it in a raw JSON file with a public ID in the format: [pdf_public_id].extract_text.json. The full URL of the generated JSON file is included in the API response. Unlike the above raw_convert options, this option doesn't require registering for an add-on.(Synchronous)
55503
+ - Set to azure_video_indexer to generate AI-powered video insights from Microsoft Azure. (Asynchronous)
55504
+ `),
55505
+ regions: union([
55506
+ string2(),
55507
+ record(string2(), array(array(int())))
55508
+ ]).optional().describe(`Named region coordinate groups for cropping with region gravity.
55509
+ Can be a JSON-encoded string or an object. Each region name may contain
55510
+ only letters, numbers, or hyphens, and must have at least two coordinate pairs.
55511
+ `),
55512
+ responsive_breakpoints: union([
55513
+ array(ResponsiveBreakpoint$zodSchema),
55514
+ ResponsiveBreakpoint$zodSchema
55515
+ ]).optional().describe("Settings to automatically generate breakpoints for responsive images."),
55516
+ return_delete_token: boolean2().optional().describe("Whether to return a deletion token in the upload response. The token can be used to delete the uploaded asset within approximately 10 minutes using an unauthenticated API call."),
55517
+ tags: TagsParam$zodSchema.optional().describe("A comma-separated list of tag names, or an array of tag names."),
55518
+ transformation: string2().optional().describe("An incoming transformation to run on the uploaded asset before its storage. In contrast to eager, this parameter is applied before the file is stored."),
55519
+ type: UploadDeliveryType$zodSchema.optional().describe("The delivery type that defines if and how the uploaded asset is available for public delivery. By default, all uploaded assets are public (upload)."),
55520
+ unique_display_name: boolean2().optional().describe("Whether the display name should be unique."),
55521
+ unique_filename: boolean2().optional().describe(`When set to false and used together with use_filename, if an asset with the same file name already exists, no random characters are appended to the file name. Instead, the asset is overwritten. Default: true (random characters are added to the file name if needed).
55522
+ `),
55523
+ unsigned: boolean2().optional().describe("Whether the upload preset allows unsigned uploads."),
55524
+ upload_preset: string2().optional().describe("Name of an upload preset that you defined for your Cloudinary product environment. An upload preset consists of upload parameters centrally managed using the Admin API or from the Upload Presets page of the Console Settings."),
55525
+ use_asset_folder_as_public_id_prefix: boolean2().optional().describe("Whether to add the asset_folder value as a prefix to the public_id value (prepended with a forward slash). This ensures that the public ID path will always match the initial asset folder, and can help to retain the behavior that previously existed in fixed folder mode. However, keep in mind that even when this option is used during upload, an asset with a certain public ID path can later be moved to a completely different asset folder hierarchy without impacting the public ID. This option only ensures path matching for the initial upload. Relevant only when public_id_prefix (or folder) has not been separately specified."),
55526
+ use_filename: boolean2().optional().describe(`Whether to use the original file name of the uploaded asset if available for the public ID. The file name is normalized and random characters are appended to ensure uniqueness if the file name already exists. Default: false.
55527
+ `),
55528
+ use_filename_as_display_name: boolean2().optional().describe("Whether to automatically assign the original filename of the uploaded asset as the asset's display name. Relevant only if the display_name parameter isn't set."),
55529
+ visual_search: boolean2().optional().describe("Whether to index the image for use with visual searches. Relevant for images only.")
55530
+ }).describe("Upload preset configuration for create/update. Settings are sent as top-level string-encoded properties.");
55080
55531
  });
55081
55532
 
55082
55533
  // src/funcs/uploadPresetsCreateUploadPreset.ts
@@ -55084,7 +55535,7 @@ function uploadPresetsCreateUploadPreset(client$, request, options) {
55084
55535
  return new APIPromise($do20(client$, request, options));
55085
55536
  }
55086
55537
  async function $do20(client$, request, options) {
55087
- const parsed$ = safeParse4(request, (value$) => UploadPreset$zodSchema.parse(value$), "Input validation failed");
55538
+ const parsed$ = safeParse4(request, (value$) => UploadPresetInput$zodSchema.parse(value$), "Input validation failed");
55088
55539
  if (!parsed$.ok) {
55089
55540
  return [parsed$, { status: "invalid" }];
55090
55541
  }
@@ -55154,7 +55605,7 @@ var init_uploadPresetsCreateUploadPreset = __esm(() => {
55154
55605
  init_schemas4();
55155
55606
  init_security();
55156
55607
  init_url();
55157
- init_uploadpreset();
55608
+ init_uploadpresetinput();
55158
55609
  init_async();
55159
55610
  });
55160
55611
 
@@ -55162,10 +55613,10 @@ var init_uploadPresetsCreateUploadPreset = __esm(() => {
55162
55613
  var args20, tool$uploadPresetsCreateUploadPreset;
55163
55614
  var init_uploadPresetsCreateUploadPreset2 = __esm(() => {
55164
55615
  init_uploadPresetsCreateUploadPreset();
55165
- init_uploadpreset();
55616
+ init_uploadpresetinput();
55166
55617
  init_tools();
55167
55618
  args20 = {
55168
- request: UploadPreset$zodSchema
55619
+ request: UploadPresetInput$zodSchema.describe(`The upload preset configuration.`)
55169
55620
  };
55170
55621
  tool$uploadPresetsCreateUploadPreset = {
55171
55622
  name: "create-upload-preset",
@@ -55192,23 +55643,30 @@ var init_uploadPresetsCreateUploadPreset2 = __esm(() => {
55192
55643
  };
55193
55644
  });
55194
55645
 
55646
+ // src/models/uploadpresetmutationresponse.ts
55647
+ var UploadPresetMutationResponse$zodSchema;
55648
+ var init_uploadpresetmutationresponse = __esm(() => {
55649
+ init_zod();
55650
+ UploadPresetMutationResponse$zodSchema = object({
55651
+ external_id: string2().describe("The unique identifier for the upload preset."),
55652
+ message: string2().describe('The result message (e.g., "updated" or "deleted").')
55653
+ });
55654
+ });
55655
+
55195
55656
  // src/models/deleteuploadpresetop.ts
55196
- var DeleteUploadPresetGlobals$zodSchema, DeleteUploadPresetRequest$zodSchema, DeleteUploadPresetResponseBody$zodSchema, DeleteUploadPresetResponse$zodSchema;
55657
+ var DeleteUploadPresetGlobals$zodSchema, DeleteUploadPresetRequest$zodSchema, DeleteUploadPresetResponse$zodSchema;
55197
55658
  var init_deleteuploadpresetop = __esm(() => {
55198
55659
  init_zod();
55199
55660
  init_apierror();
55661
+ init_uploadpresetmutationresponse();
55200
55662
  DeleteUploadPresetGlobals$zodSchema = object({
55201
55663
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
55202
55664
  });
55203
55665
  DeleteUploadPresetRequest$zodSchema = object({
55204
- name: string2()
55666
+ name: string2().describe("The name of the upload preset.")
55205
55667
  });
55206
- DeleteUploadPresetResponseBody$zodSchema = object({
55207
- external_id: string2(),
55208
- message: string2()
55209
- }).describe("upload preset deleted");
55210
55668
  DeleteUploadPresetResponse$zodSchema = union([
55211
- lazy(() => DeleteUploadPresetResponseBody$zodSchema),
55669
+ UploadPresetMutationResponse$zodSchema,
55212
55670
  ApiError$zodSchema
55213
55671
  ]);
55214
55672
  });
@@ -55305,7 +55763,7 @@ var init_uploadPresetsDeleteUploadPreset2 = __esm(() => {
55305
55763
  init_uploadPresetsDeleteUploadPreset();
55306
55764
  init_tools();
55307
55765
  args21 = {
55308
- name: string2()
55766
+ name: string2().describe("The name of the upload preset.")
55309
55767
  };
55310
55768
  tool$uploadPresetsDeleteUploadPreset = {
55311
55769
  name: "delete-upload-preset",
@@ -55332,21 +55790,209 @@ var init_uploadPresetsDeleteUploadPreset2 = __esm(() => {
55332
55790
  };
55333
55791
  });
55334
55792
 
55793
+ // src/models/uploadpresetparsedsettings.ts
55794
+ var UploadPresetParsedSettingsAccessMode$zodSchema, UploadPresetParsedSettingsAutoTranscription$zodSchema, UploadPresetParsedSettingsAutoTranscriptionUnion$zodSchema, UploadPresetParsedSettingsRegions$zodSchema, UploadPresetParsedSettingsResponsiveBreakpoints$zodSchema, UploadPresetParsedSettings$zodSchema;
55795
+ var init_uploadpresetparsedsettings = __esm(() => {
55796
+ init_zod();
55797
+ init_accesscontrolitem();
55798
+ init_responsivebreakpoint();
55799
+ init_structuredmetadataparam();
55800
+ init_uploaddeliverytype();
55801
+ UploadPresetParsedSettingsAccessMode$zodSchema = _enum([
55802
+ "public",
55803
+ "authenticated"
55804
+ ]).describe(`Deprecated. Use access_control instead. Allows the asset to behave as if it's of the authenticated delivery type while still using the default 'upload' type in delivery URLs. The asset can later be made public by changing its access_mode via the Admin API, without having to update any delivery URLs.
55805
+ `);
55806
+ UploadPresetParsedSettingsAutoTranscription$zodSchema = object({
55807
+ translate: array(string2()).optional().describe("Array of target language codes for transcription translation.")
55808
+ }).describe("Configuration object for automatic video transcription with translation options.");
55809
+ UploadPresetParsedSettingsAutoTranscriptionUnion$zodSchema = union([
55810
+ boolean2(),
55811
+ lazy(() => UploadPresetParsedSettingsAutoTranscription$zodSchema)
55812
+ ]);
55813
+ UploadPresetParsedSettingsRegions$zodSchema = union([
55814
+ string2(),
55815
+ record(string2(), array(array(int())))
55816
+ ]).describe(`Named region coordinate groups for cropping with region gravity.
55817
+ Can be a JSON-encoded string or an object. Each region name may contain
55818
+ only letters, numbers, or hyphens, and must have at least two coordinate pairs.
55819
+ `);
55820
+ UploadPresetParsedSettingsResponsiveBreakpoints$zodSchema = union([
55821
+ array(ResponsiveBreakpoint$zodSchema),
55822
+ ResponsiveBreakpoint$zodSchema
55823
+ ]).describe("Settings to automatically generate breakpoints for responsive images.");
55824
+ UploadPresetParsedSettings$zodSchema = object({
55825
+ access_control: array(AccessControlItem$zodSchema).optional().describe(`Restricts access to the asset by specifying one or more access types.
55826
+ The asset is restricted unless at least one listed access type is valid.
55827
+ `),
55828
+ access_mode: UploadPresetParsedSettingsAccessMode$zodSchema.optional().describe(`Deprecated. Use access_control instead. Allows the asset to behave as if it's of the authenticated delivery type while still using the default 'upload' type in delivery URLs. The asset can later be made public by changing its access_mode via the Admin API, without having to update any delivery URLs.
55829
+ `),
55830
+ accessibility_analysis: boolean2().optional().describe("Whether to return accessibility analysis values for the image."),
55831
+ allowed_formats: array(string2()).optional().describe("Parsed list of allowed file formats."),
55832
+ asset_folder: string2().optional().describe("The asset folder to assign to the asset."),
55833
+ async: boolean2().optional().describe(`When set to true, returns the uploaded asset's public_id immediately in the response, before the upload is completed (asynchronously). Default: false.
55834
+ `),
55835
+ auto_chaptering: boolean2().optional().describe("Whether to trigger automatic generation of video chapters. Chapters will be generated and saved as a .vtt file with -chapters appended to the public ID of the video. You can enable chapters as part of the Cloudinary Video Player. Relevant for videos only."),
55836
+ auto_tagging: number2().optional().describe(`Automatically assigns tags to an asset according to detected objects or categories with a confidence score higher than the specified value.
55837
+ Use together with the detection parameter for:
55838
+ - Cloudinary AI Content Analysis
55839
+ - Amazon Rekognition Celebrity Detection
55840
+ Use together with the categorization parameter for:
55841
+ - Google Automatic Video Tagging
55842
+ - Google Auto Tagging
55843
+ - Imagga Auto Tagging
55844
+ - Amazon Rekognition Auto Tagging
55845
+ `),
55846
+ auto_transcription: union([
55847
+ boolean2(),
55848
+ lazy(() => UploadPresetParsedSettingsAutoTranscription$zodSchema)
55849
+ ]).optional(),
55850
+ background_removal: string2().optional().describe(`Automatically remove the background of an image using an add-on.
55851
+ - Set to cloudinary_ai to use the deep-learning based Cloudinary AI Background Removal add-on.
55852
+ Optionally append a template suffix (e.g., cloudinary_ai:fine_edges).
55853
+ - Note: this feature has been superseded by background removal on the fly.
55854
+ - Set to pixelz to use the human-powered Pixelz Remove-The-Background Editing add-on service.
55855
+ Relevant for images only.
55856
+ `),
55857
+ backup: boolean2().optional().describe("Whether to backup the uploaded asset. When set to true, backs up uploaded assets to a secondary storage bucket."),
55858
+ callback: string2().optional().describe(`A URL to redirect to after the upload/explicit is completed instead of returning the upload response.
55859
+ Signed upload result parameters are added to the callback URL. This parameter is ignored for XHR (Ajax XMLHttpRequest) or JavaScript Fetch API upload requests.
55860
+ Note: This parameter is relevant for direct uploads from a form in the browser. It is automatically set if you perform direct upload from the browser using Cloudinary's SDKs and the jQuery plugin.
55861
+ `),
55862
+ categorization: string2().optional().describe(`A comma-separated list of the categorization add-ons to run on the asset.
55863
+ Set to google_tagging, google_video_tagging, imagga_tagging and/or aws_rek_tagging
55864
+ to automatically classify the scenes of the uploaded asset.
55865
+ Optionally append a language code suffix (e.g., google_tagging:fr).
55866
+ `),
55867
+ cinemagraph_analysis: boolean2().optional().describe("Whether to return a cinemagraph analysis value for the media asset between 0 and 1, where 0 means the asset is not a cinemagraph and 1 means the asset is a cinemagraph. Relevant for animated images and video only. A static image will return 0."),
55868
+ clear_invalid: boolean2().default(false).describe("Whether to clear metadata field values that have become invalid due to a change in metadata rules. If false, the API returns an error if any existing metadata value is no longer valid. Default: false."),
55869
+ colors: boolean2().default(false).describe("Whether to retrieve predominant colors & color histogram of the uploaded image. Note: If all returned colors are opaque, then 6-digit RGB hex values are returned. If one or more colors contain an alpha channel, then 8-digit RGBA hex quadruplet values are returned."),
55870
+ context: record(string2(), string2()).nullable().optional().describe("Parsed contextual metadata as key-value pairs."),
55871
+ custom_coordinates: array(array(number2())).optional().describe("Parsed custom coordinate rectangles."),
55872
+ detection: string2().optional().describe(`Invokes the relevant add-on to return a list of detected content.
55873
+ Set to:
55874
+ - <content-aware model>_[<version>] (e.g. coco_v2) to return a list of detected content using the Cloudinary AI Content Analysis add-on. Can be used together with the auto_tagging parameter to apply tags automatically.
55875
+ - captioning to analyze an image and suggest a caption based on the image's contents.
55876
+ - iqa to analyze the quality of an image.
55877
+ - watermark-detection to detect watermarks in an image.
55878
+ - adv_face to return a list of facial attributes using the Advanced Facial Attribute Detection add-on.
55879
+ - aws_rek_face to return a list of detected celebrities and facial attributes using the Amazon Rekognition Celebrity Detection add-on. Can be used together with the auto_tagging parameter to apply tags automatically.
55880
+ `),
55881
+ discard_original_filename: boolean2().optional().describe("Whether to discard the name of the original uploaded file. Relevant when delivering assets as attachments (setting the flag disposition:attachment in delivery URLs)."),
55882
+ display_name: string2().optional().describe("A display name for the asset."),
55883
+ eager: array(array(record(string2(), any()))).optional().describe("Parsed eager transformations. Each item is an array of transformation step objects."),
55884
+ eager_async: boolean2().optional().describe("Whether to generate the eager transformations asynchronously in the background after the upload request is completed rather than before the upload is completed."),
55885
+ eager_notification_url: string2().optional().describe("A URL to notify when eager transformations are completed."),
55886
+ eval: string2().optional().describe("Allows you to modify upload parameters by specifying custom logic with JavaScript. This can be useful for conditionally adding tags, contextual metadata, structured metadata or eager transformations depending on specific criteria of the uploaded file."),
55887
+ face_coordinates: array(array(number2())).optional().describe("Parsed face coordinate rectangles."),
55888
+ faces: boolean2().optional().describe("Whether to detect faces in the asset."),
55889
+ filename_override: string2().optional().describe("Overrides the originally uploaded asset's file name in downloads that use flags like fl_attachment or fl_force_original."),
55890
+ folder: string2().optional().describe("Folder name where the uploaded asset will be stored. This parameter applies when using the Admin API, or when specifying the upload preset for unsigned uploading with the Upload API."),
55891
+ format: string2().optional().describe("An optional format to convert the uploaded asset to before saving in the cloud."),
55892
+ headers: record(string2(), string2()).optional().describe("Parsed custom HTTP headers as key-value pairs."),
55893
+ invalidate: boolean2().optional().describe(`Whether to invalidate CDN cache copies of a previously uploaded asset that shares the same public ID. Default: false.
55894
+ `),
55895
+ media_metadata: boolean2().optional().describe(`Whether to return IPTC, XMP, and detailed Exif metadata of the uploaded asset in the response.
55896
+ Supported for images, video, and audio.
55897
+ - Returned metadata for images includes: PixelsPerUnitX, PixelsPerUnitY, PixelUnits, Colorspace, and DPI.
55898
+ - Returned metadata for audio and video includes: audio_codec, audio_bit_rate, audio_frequency, channels, channel_layout.
55899
+ - Additional metadata for video includes: pix_format, codec, level, profile, video_bit_rate, dar.
55900
+ `),
55901
+ metadata: StructuredMetadataParam$zodSchema.optional().describe(`A pipe-separated list or a map of custom metadata fields (by external_id) and the values to assign to each of them. The = " and | characters can be supported as values when escaped with a prepended backslash (\\). For a multi-select field, you can set a maximum of 3000 different metadata values on an asset.
55902
+ `),
55903
+ moderation: string2().optional().describe(`For all asset types, set to:
55904
+ - manual to add the uploaded asset to a list of pending assets that can be moderated using the Admin API or the Cloudinary Console.
55905
+ - perception_point to automatically moderate the uploaded asset using the Perception Point Malware Detection add-on.
55906
+
55907
+ For images only, set to:
55908
+ - webpurify to automatically moderate the uploaded image using the WebPurify Image Moderation add-on.
55909
+ - aws_rek to automatically moderate the uploaded image using the Amazon Rekognition AI Moderation add-on.
55910
+ - duplicate:<threshold> to detect if the same or a similar image already exists using the Cloudinary Duplicate Image Detection add-on. Set threshold to a float greater than 0 and less than or equal to 1.0 to specify how similar an image needs to be in order to be considered a duplicate. Set threshold to 0 to add an image to the index of images that are searched when duplicate detection is invoked for another image.
55911
+
55912
+ For videos only, set to:
55913
+ - aws_rek_video to automatically moderate the uploaded video using the Amazon Rekognition Video Moderation add-on.
55914
+ - google_video_moderation automatically moderate the uploaded video using the Google AI Video Moderation add-on.
55915
+
55916
+ To request multiple moderations in a single API call:
55917
+ - Send the desired list of moderations as a pipe-separated string with manual moderation, if relevant, being last.
55918
+
55919
+ Note: Rejected assets are automatically invalidated on the CDN within approximately ten minutes.
55920
+ `),
55921
+ notification_url: string2().optional().describe("A URL to notify when the asset is ready."),
55922
+ ocr: string2().optional().describe(`Set to adv_ocr to extract all text elements in an image as well as the bounding box
55923
+ coordinates of each detected element using the OCR text detection and extraction add-on.
55924
+ Optionally append options (e.g., adv_ocr:document).
55925
+ `),
55926
+ on_success: string2().optional().describe("Allows you to update an asset by specifying custom logic with JavaScript that is executed after the upload to Cloudinary is completed successfully. This can be useful for conditionally adding tags, contextual metadata, and structured metadata, depending on the results of using the detection parameter on upload."),
55927
+ overwrite: boolean2().optional().describe(`Whether to overwrite existing assets with the same public ID. When set to false, return immediately if an asset with the same public ID already exists. Default: true (when using unsigned upload, the default is false and cannot be changed to true).
55928
+ `),
55929
+ phash: boolean2().optional().describe(`Whether to return the perceptual hash (pHash) on the uploaded image for image similarity detection.
55930
+ `),
55931
+ proxy: string2().optional().describe("A proxy to use for fetching remote URLs. The format should be http://hostname:port."),
55932
+ public_id: string2().optional().describe("The identifier that is used for accessing the uploaded asset. If not specified, a unique ID is generated automatically."),
55933
+ public_id_prefix: string2().optional().describe("A string or path that's automatically prepended to the public_id with a forward slash. The value can contain the same characters as the public_id including additional forward slashes. This prefix can be useful to provide context and improve the SEO of an asset's filename in the delivery URL, but the value does not impact the location where the asset is stored."),
55934
+ quality_analysis: boolean2().optional().describe("Whether to return a quality analysis value for the image between 0 and 1, where 0 means the image is blurry and out of focus and 1 means the image is sharp and in focus. Relevant for images only."),
55935
+ raw_convert: string2().optional().describe(`Generates a related file based on the uploaded file.
55936
+ - Set to aspose to automatically create a PDF or other image format from a raw Office document using the Aspose Document Conversion add-on. (Asynchronous)
55937
+ - Set to google_speech to instruct the Google AI Video Transcription add-on to generate an automatic transcript raw file from an uploaded video. (Asynchronous)
55938
+ - Set to extract_text to extract all the text from a PDF file and store it in a raw JSON file with a public ID in the format: [pdf_public_id].extract_text.json. The full URL of the generated JSON file is included in the API response. Unlike the above raw_convert options, this option doesn't require registering for an add-on.(Synchronous)
55939
+ - Set to azure_video_indexer to generate AI-powered video insights from Microsoft Azure. (Asynchronous)
55940
+ `),
55941
+ regions: union([
55942
+ string2(),
55943
+ record(string2(), array(array(int())))
55944
+ ]).optional().describe(`Named region coordinate groups for cropping with region gravity.
55945
+ Can be a JSON-encoded string or an object. Each region name may contain
55946
+ only letters, numbers, or hyphens, and must have at least two coordinate pairs.
55947
+ `),
55948
+ responsive_breakpoints: union([
55949
+ array(ResponsiveBreakpoint$zodSchema),
55950
+ ResponsiveBreakpoint$zodSchema
55951
+ ]).optional().describe("Settings to automatically generate breakpoints for responsive images."),
55952
+ return_delete_token: boolean2().optional().describe("Whether to return a deletion token in the upload response. The token can be used to delete the uploaded asset within approximately 10 minutes using an unauthenticated API call."),
55953
+ tags: array(string2()).nullable().optional().describe("Parsed tag names."),
55954
+ transformation: array(record(string2(), any())).optional().describe("Parsed incoming transformation steps."),
55955
+ type: UploadDeliveryType$zodSchema.optional().describe("The delivery type that defines if and how the uploaded asset is available for public delivery. By default, all uploaded assets are public (upload)."),
55956
+ unique_display_name: boolean2().optional().describe("Whether the display name should be unique."),
55957
+ unique_filename: boolean2().optional().describe(`When set to false and used together with use_filename, if an asset with the same file name already exists, no random characters are appended to the file name. Instead, the asset is overwritten. Default: true (random characters are added to the file name if needed).
55958
+ `),
55959
+ upload_preset: string2().optional().describe("Name of an upload preset that you defined for your Cloudinary product environment. An upload preset consists of upload parameters centrally managed using the Admin API or from the Upload Presets page of the Console Settings."),
55960
+ use_asset_folder_as_public_id_prefix: boolean2().optional().describe("Whether to add the asset_folder value as a prefix to the public_id value (prepended with a forward slash). This ensures that the public ID path will always match the initial asset folder, and can help to retain the behavior that previously existed in fixed folder mode. However, keep in mind that even when this option is used during upload, an asset with a certain public ID path can later be moved to a completely different asset folder hierarchy without impacting the public ID. This option only ensures path matching for the initial upload. Relevant only when public_id_prefix (or folder) has not been separately specified."),
55961
+ use_filename: boolean2().optional().describe(`Whether to use the original file name of the uploaded asset if available for the public ID. The file name is normalized and random characters are appended to ensure uniqueness if the file name already exists. Default: false.
55962
+ `),
55963
+ use_filename_as_display_name: boolean2().optional().describe("Whether to automatically assign the original filename of the uploaded asset as the asset's display name. Relevant only if the display_name parameter isn't set."),
55964
+ visual_search: boolean2().optional().describe("Whether to index the image for use with visual searches. Relevant for images only.")
55965
+ }).describe("Parsed preset configuration settings. Composed from base parameters (stable types) plus parsed serializable fields (arrays/objects instead of strings).");
55966
+ });
55967
+
55968
+ // src/models/uploadpresetdetail.ts
55969
+ var UploadPresetDetail$zodSchema;
55970
+ var init_uploadpresetdetail = __esm(() => {
55971
+ init_zod();
55972
+ init_uploadpresetparsedsettings();
55973
+ UploadPresetDetail$zodSchema = object({
55974
+ external_id: string2().describe("The unique identifier for the upload preset."),
55975
+ name: string2().describe("The name of the upload preset."),
55976
+ settings: UploadPresetParsedSettings$zodSchema.optional().describe("Parsed preset configuration settings. Composed from base parameters (stable types) plus parsed serializable fields (arrays/objects instead of strings)."),
55977
+ unsigned: boolean2().optional().describe("Whether the upload preset allows unsigned uploads.")
55978
+ }).describe("An upload preset as returned by the GET endpoint. Settings values are parsed into their proper types (e.g., tags become arrays, context becomes an object, booleans become true booleans).");
55979
+ });
55980
+
55335
55981
  // src/models/getuploadpresetop.ts
55336
55982
  var GetUploadPresetGlobals$zodSchema, GetUploadPresetRequest$zodSchema, GetUploadPresetResponse$zodSchema;
55337
55983
  var init_getuploadpresetop = __esm(() => {
55338
55984
  init_zod();
55339
55985
  init_apierror();
55340
- init_uploadpreset();
55986
+ init_uploadpresetdetail();
55341
55987
  GetUploadPresetGlobals$zodSchema = object({
55342
55988
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
55343
55989
  });
55344
55990
  GetUploadPresetRequest$zodSchema = object({
55345
- name: string2()
55991
+ name: string2().describe("The name of the upload preset.")
55346
55992
  });
55347
55993
  GetUploadPresetResponse$zodSchema = union([
55348
- ApiError$zodSchema,
55349
- UploadPreset$zodSchema
55994
+ UploadPresetDetail$zodSchema,
55995
+ ApiError$zodSchema
55350
55996
  ]);
55351
55997
  });
55352
55998
 
@@ -55442,7 +56088,7 @@ var init_uploadPresetsGetUploadPreset2 = __esm(() => {
55442
56088
  init_uploadPresetsGetUploadPreset();
55443
56089
  init_tools();
55444
56090
  args22 = {
55445
- name: string2()
56091
+ name: string2().describe("The name of the upload preset.")
55446
56092
  };
55447
56093
  tool$uploadPresetsGetUploadPreset = {
55448
56094
  name: "get-upload-preset-details",
@@ -55469,46 +56115,82 @@ var init_uploadPresetsGetUploadPreset2 = __esm(() => {
55469
56115
  };
55470
56116
  });
55471
56117
 
56118
+ // src/models/directionenum.ts
56119
+ var DirectionEnum$zodSchema;
56120
+ var init_directionenum = __esm(() => {
56121
+ init_zod();
56122
+ DirectionEnum$zodSchema = _enum([
56123
+ "asc",
56124
+ "desc"
56125
+ ]).describe("Sort direction.");
56126
+ });
56127
+
56128
+ // src/models/uploadpresetsummary.ts
56129
+ var Settings$zodSchema, UploadPresetSummary$zodSchema;
56130
+ var init_uploadpresetsummary = __esm(() => {
56131
+ init_zod();
56132
+ Settings$zodSchema = union([
56133
+ string2(),
56134
+ boolean2()
56135
+ ]);
56136
+ UploadPresetSummary$zodSchema = object({
56137
+ external_id: string2().describe("The unique identifier for the upload preset."),
56138
+ name: string2().describe("The name of the upload preset."),
56139
+ settings: record(string2(), union([
56140
+ string2(),
56141
+ boolean2()
56142
+ ])).optional().describe("Preset configuration settings. Most values are strings (e.g., tags are comma-separated, context is pipe-separated key=value pairs), but some boolean fields may be returned as native booleans."),
56143
+ unsigned: boolean2().optional().describe("Whether the upload preset allows unsigned uploads.")
56144
+ }).describe("An upload preset as returned in list responses. Most settings values are raw strings, but some boolean fields may be returned as native booleans.");
56145
+ });
56146
+
56147
+ // src/models/uploadpresetlistresponse.ts
56148
+ var UploadPresetListResponse$zodSchema;
56149
+ var init_uploadpresetlistresponse = __esm(() => {
56150
+ init_zod();
56151
+ init_uploadpresetsummary();
56152
+ UploadPresetListResponse$zodSchema = object({
56153
+ next_cursor: string2().nullable().optional().describe("Cursor for the next page of results."),
56154
+ presets: array(UploadPresetSummary$zodSchema)
56155
+ });
56156
+ });
56157
+
55472
56158
  // src/models/listuploadpresetsop.ts
55473
- var ListUploadPresetsGlobals$zodSchema, OrderBy$zodSchema, Direction$zodSchema, ListUploadPresetsRequest$zodSchema, ListUploadPresetsResponseBody$zodSchema, ListUploadPresetsResponse$zodSchema;
56159
+ var OrderBy$zodSchema, ListUploadPresetsGlobals$zodSchema, ListUploadPresetsRequest$zodSchema, ListUploadPresetsResponse$zodSchema;
55474
56160
  var init_listuploadpresetsop = __esm(() => {
55475
56161
  init_zod();
55476
56162
  init_apierror();
55477
- init_uploadpreset();
55478
- ListUploadPresetsGlobals$zodSchema = object({
55479
- cloud_name: string2().describe("The cloud name of your product environment.").optional()
55480
- });
56163
+ init_directionenum();
56164
+ init_uploadpresetlistresponse();
55481
56165
  OrderBy$zodSchema = _enum([
55482
56166
  "name",
55483
56167
  "id",
55484
- "updated_at"
55485
- ]);
55486
- Direction$zodSchema = _enum([
55487
- "asc",
55488
- "desc"
55489
- ]);
56168
+ "created_at"
56169
+ ]).describe("The field to sort presets by.");
56170
+ ListUploadPresetsGlobals$zodSchema = object({
56171
+ cloud_name: string2().describe("The cloud name of your product environment.").optional()
56172
+ });
55490
56173
  ListUploadPresetsRequest$zodSchema = object({
55491
- direction: Direction$zodSchema.optional(),
56174
+ direction: DirectionEnum$zodSchema.optional().describe('The sort direction for the results. Default is "desc".'),
56175
+ max_results: int().default(10).describe("The maximum number of results to return. Default is 10."),
55492
56176
  next_cursor: string2().describe("The cursor for pagination. Use the next_cursor value from a previous response to get the next page of results.").optional(),
55493
- order_by: OrderBy$zodSchema.optional()
56177
+ order_by: OrderBy$zodSchema.optional().describe("The field to sort presets by.")
55494
56178
  });
55495
- ListUploadPresetsResponseBody$zodSchema = object({
55496
- presets: array(UploadPreset$zodSchema)
55497
- }).describe("upload presets retrieved");
55498
56179
  ListUploadPresetsResponse$zodSchema = union([
55499
- lazy(() => ListUploadPresetsResponseBody$zodSchema),
56180
+ UploadPresetListResponse$zodSchema,
55500
56181
  ApiError$zodSchema
55501
56182
  ]);
55502
56183
  });
55503
56184
 
55504
56185
  // src/funcs/uploadPresetsListUploadPresets.ts
55505
- function uploadPresetsListUploadPresets(client$, order_by, direction, next_cursor, options) {
55506
- return new APIPromise($do23(client$, order_by, direction, next_cursor, options));
56186
+ function uploadPresetsListUploadPresets(client$, order_by, direction, max_results, next_cursor, options) {
56187
+ return new APIPromise($do23(client$, order_by, direction, max_results, next_cursor, options));
55507
56188
  }
55508
- async function $do23(client$, order_by, direction, next_cursor, options) {
56189
+ async function $do23(client$, order_by, direction, max_results, next_cursor, options) {
55509
56190
  const input$ = {
55510
56191
  order_by,
55511
56192
  direction,
56193
+ max_results,
55512
56194
  next_cursor
55513
56195
  };
55514
56196
  const parsed$ = safeParse4(input$, (value$) => ListUploadPresetsRequest$zodSchema.optional().parse(value$), "Input validation failed");
@@ -55526,6 +56208,7 @@ async function $do23(client$, order_by, direction, next_cursor, options) {
55526
56208
  const path$ = pathToFunc("/v1_1/{cloud_name}/upload_presets")(pathParams$);
55527
56209
  const query$ = encodeFormQuery({
55528
56210
  direction: payload$?.direction,
56211
+ max_results: payload$?.max_results,
55529
56212
  next_cursor: payload$?.next_cursor,
55530
56213
  order_by: payload$?.order_by
55531
56214
  });
@@ -55595,11 +56278,13 @@ var args23, tool$uploadPresetsListUploadPresets;
55595
56278
  var init_uploadPresetsListUploadPresets2 = __esm(() => {
55596
56279
  init_zod();
55597
56280
  init_uploadPresetsListUploadPresets();
56281
+ init_directionenum();
55598
56282
  init_listuploadpresetsop();
55599
56283
  init_tools();
55600
56284
  args23 = {
55601
- order_by: OrderBy$zodSchema.optional(),
55602
- direction: Direction$zodSchema.optional(),
56285
+ order_by: OrderBy$zodSchema.optional().describe(`The field to sort presets by.`),
56286
+ direction: DirectionEnum$zodSchema.optional().describe(`The sort direction for the results. Default is "desc".`),
56287
+ max_results: int().default(10).describe("The maximum number of results to return. Default is 10."),
55603
56288
  next_cursor: string2().describe("The cursor for pagination. Use the next_cursor value from a previous response to get the next page of results.").optional()
55604
56289
  };
55605
56290
  tool$uploadPresetsListUploadPresets = {
@@ -55615,7 +56300,7 @@ var init_uploadPresetsListUploadPresets2 = __esm(() => {
55615
56300
  },
55616
56301
  args: args23,
55617
56302
  tool: async (client, args24, ctx) => {
55618
- const [result] = await uploadPresetsListUploadPresets(client, args24.order_by, args24.direction, args24.next_cursor, { fetchOptions: { signal: ctx.signal } }).$inspect();
56303
+ const [result] = await uploadPresetsListUploadPresets(client, args24.order_by, args24.direction, args24.max_results, args24.next_cursor, { fetchOptions: { signal: ctx.signal } }).$inspect();
55619
56304
  if (!result.ok) {
55620
56305
  return {
55621
56306
  content: [{ type: "text", text: result.error.message }],
@@ -55628,43 +56313,42 @@ var init_uploadPresetsListUploadPresets2 = __esm(() => {
55628
56313
  });
55629
56314
 
55630
56315
  // src/models/updateuploadpresetop.ts
55631
- var UpdateUploadPresetGlobals$zodSchema, UpdateUploadPresetRequest$zodSchema, UpdateUploadPresetResponseBody$zodSchema, UpdateUploadPresetResponse$zodSchema;
56316
+ var UpdateUploadPresetGlobals$zodSchema, UpdateUploadPresetRequest$zodSchema, UpdateUploadPresetResponse$zodSchema;
55632
56317
  var init_updateuploadpresetop = __esm(() => {
55633
56318
  init_zod();
55634
56319
  init_apierror();
55635
- init_uploadpreset();
56320
+ init_uploadpresetinput();
56321
+ init_uploadpresetmutationresponse();
55636
56322
  UpdateUploadPresetGlobals$zodSchema = object({
55637
56323
  cloud_name: string2().describe("The cloud name of your product environment.").optional()
55638
56324
  });
55639
56325
  UpdateUploadPresetRequest$zodSchema = object({
55640
- name: string2(),
55641
- upload_preset: UploadPreset$zodSchema
56326
+ name: string2().describe("The name of the upload preset."),
56327
+ upload_preset_input: UploadPresetInput$zodSchema.describe("The updated upload preset configuration.")
55642
56328
  });
55643
- UpdateUploadPresetResponseBody$zodSchema = object({
55644
- external_id: string2(),
55645
- message: string2()
55646
- }).describe("upload preset updated");
55647
56329
  UpdateUploadPresetResponse$zodSchema = union([
55648
- lazy(() => UpdateUploadPresetResponseBody$zodSchema),
56330
+ UploadPresetMutationResponse$zodSchema,
55649
56331
  ApiError$zodSchema
55650
56332
  ]);
55651
56333
  });
55652
56334
 
55653
56335
  // src/funcs/uploadPresetsUpdateUploadPreset.ts
55654
- function uploadPresetsUpdateUploadPreset(client$, name, upload_preset, options) {
55655
- return new APIPromise($do24(client$, name, upload_preset, options));
56336
+ function uploadPresetsUpdateUploadPreset(client$, name, upload_preset_input, options) {
56337
+ return new APIPromise($do24(client$, name, upload_preset_input, options));
55656
56338
  }
55657
- async function $do24(client$, name, upload_preset, options) {
56339
+ async function $do24(client$, name, upload_preset_input, options) {
55658
56340
  const input$ = {
55659
56341
  name,
55660
- upload_preset
56342
+ upload_preset_input
55661
56343
  };
55662
56344
  const parsed$ = safeParse4(input$, (value$) => UpdateUploadPresetRequest$zodSchema.parse(value$), "Input validation failed");
55663
56345
  if (!parsed$.ok) {
55664
56346
  return [parsed$, { status: "invalid" }];
55665
56347
  }
55666
56348
  const payload$ = parsed$.value;
55667
- const body$ = encodeJSON("body", payload$.upload_preset, { explode: true });
56349
+ const body$ = encodeJSON("body", payload$.upload_preset_input, {
56350
+ explode: true
56351
+ });
55668
56352
  const pathParams$ = {
55669
56353
  cloud_name: encodeSimple("cloud_name", client$._options.cloud_name, {
55670
56354
  explode: false,
@@ -55742,11 +56426,11 @@ var args24, tool$uploadPresetsUpdateUploadPreset;
55742
56426
  var init_uploadPresetsUpdateUploadPreset2 = __esm(() => {
55743
56427
  init_zod();
55744
56428
  init_uploadPresetsUpdateUploadPreset();
55745
- init_uploadpreset();
56429
+ init_uploadpresetinput();
55746
56430
  init_tools();
55747
56431
  args24 = {
55748
- name: string2(),
55749
- upload_preset: UploadPreset$zodSchema
56432
+ name: string2().describe("The name of the upload preset."),
56433
+ upload_preset_input: UploadPresetInput$zodSchema.describe(`The updated upload preset configuration.`)
55750
56434
  };
55751
56435
  tool$uploadPresetsUpdateUploadPreset = {
55752
56436
  name: "update-upload-preset",
@@ -55761,7 +56445,7 @@ var init_uploadPresetsUpdateUploadPreset2 = __esm(() => {
55761
56445
  },
55762
56446
  args: args24,
55763
56447
  tool: async (client, args25, ctx) => {
55764
- const [result] = await uploadPresetsUpdateUploadPreset(client, args25.name, args25.upload_preset, { fetchOptions: { signal: ctx.signal } }).$inspect();
56448
+ const [result] = await uploadPresetsUpdateUploadPreset(client, args25.name, args25.upload_preset_input, { fetchOptions: { signal: ctx.signal } }).$inspect();
55765
56449
  if (!result.ok) {
55766
56450
  return {
55767
56451
  content: [{ type: "text", text: result.error.message }],
@@ -55777,7 +56461,7 @@ var init_uploadPresetsUpdateUploadPreset2 = __esm(() => {
55777
56461
  function createMCPServer(deps) {
55778
56462
  const server = new McpServer({
55779
56463
  name: "CloudinaryEnvConfig",
55780
- version: "0.6.0"
56464
+ version: "0.6.1"
55781
56465
  });
55782
56466
  const getClient = deps.getSDK || (() => new CloudinaryEnvConfigCore({
55783
56467
  security: deps.security,
@@ -55794,7 +56478,7 @@ function createMCPServer(deps) {
55794
56478
  }));
55795
56479
  const scopes = new Set(deps.scopes);
55796
56480
  const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
55797
- const [tool, tools, toolMap] = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools, deps.dynamic);
56481
+ const [tool, tools, toolMap] = createRegisterTool(deps.logger, server, getClient, scopes, allowedTools, deps.dynamic, deps.annotationFilter);
55798
56482
  const resource = createRegisterResource(deps.logger, server, getClient, scopes);
55799
56483
  const resourceTemplate = createRegisterResourceTemplate(deps.logger, server, getClient, scopes);
55800
56484
  const prompt = createRegisterPrompt(deps.logger, server, getClient, scopes);
@@ -55865,7 +56549,7 @@ var init_tool_names = __esm(() => {
55865
56549
  toolNames = [
55866
56550
  {
55867
56551
  name: "list-transformations",
55868
- description: `Lists all transformation definitions in your account (including named transformations
56552
+ description: `Lists all transformation definitions in your account, including named transformations
55869
56553
 
55870
56554
  Retrieves a list of all transformations, which can be filtered to show either only named or unnamed transformations.
55871
56555
  `
@@ -55879,16 +56563,16 @@ Retrieves details for a named or unnamed transformation.
55879
56563
  },
55880
56564
  {
55881
56565
  name: "create-transformation",
55882
- description: `Creates a new named transformation (assigning a custom name to a set of transformation
56566
+ description: `Creates a new named transformation by assigning a custom name to a set of transformation parameters
55883
56567
 
55884
56568
  Creates a new named transformation with the given name and transformation string.
55885
56569
  `
55886
56570
  },
55887
56571
  {
55888
56572
  name: "update-transformation",
55889
- description: `Updates the definition of an existing named transformation
56573
+ description: `Updates the definition of an existing transformation
55890
56574
 
55891
- Update an existing named or unnamed transformation.
56575
+ Updates a named or unnamed transformation.
55892
56576
  `
55893
56577
  },
55894
56578
  {
@@ -55934,7 +56618,7 @@ Creates a new upload mapping for the specified folder`
55934
56618
  },
55935
56619
  {
55936
56620
  name: "update-upload-mapping",
55937
- description: `Updates an existing upload mapping by changing its remote URL template for a given
56621
+ description: `Updates an existing upload mapping by changing its remote URL template for a given folder
55938
56622
 
55939
56623
  Updates the URL template for an existing folder mapping`
55940
56624
  },
@@ -55946,7 +56630,7 @@ Permanently deletes the upload mapping for the specified folder`
55946
56630
  },
55947
56631
  {
55948
56632
  name: "list-triggers",
55949
- description: `Lists all webhook notification triggers configured for your product environmentcloudinary
56633
+ description: `Lists all webhook notification triggers configured for your product environment
55950
56634
 
55951
56635
  Retrieves a list of all event triggers and notifications within your product environment.
55952
56636
  `
@@ -56004,8 +56688,13 @@ Use this endpoint to verify that a trigger's filter will match expected events.
56004
56688
 
56005
56689
  // src/landing-page.ts
56006
56690
  function landingPageExpress(req, res) {
56007
- const origin = new URL(req.host).href;
56008
- res.type("html").send(landingPageHTML(origin));
56691
+ const proto = req.get("x-forwarded-proto")?.split(",")[0]?.trim() || req.protocol;
56692
+ const host = req.get("host");
56693
+ if (!host) {
56694
+ res.status(400).send("Missing Host header");
56695
+ return;
56696
+ }
56697
+ res.type("html").send(landingPageHTML(`${proto}://${host}`));
56009
56698
  }
56010
56699
  function landingPageHTML(origin) {
56011
56700
  const o = origin;
@@ -56908,7 +57597,7 @@ http_headers = { "api-key" = "YOUR_API_KEY", "api-secret" = "YOUR_API_SECRET", "
56908
57597
  <h1>Instructions</h1>
56909
57598
  <p>One-click installation for Claude Desktop users</p>
56910
57599
  <div class="instruction-item">
56911
- <a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.0/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
57600
+ <a href="https://github.com/cloudinary/environment-config-mcp/releases/download/v0.6.1/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
56912
57601
  \uD83D\uDCE5 Download MCP Bundle
56913
57602
  </a>
56914
57603
  </div>
@@ -57070,7 +57759,7 @@ async function startStreamableHTTP(cliFlags) {
57070
57759
  app.use((req, res, next) => {
57071
57760
  res.header("Access-Control-Allow-Origin", "*");
57072
57761
  res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
57073
- res.header("Access-Control-Allow-Headers", "Content-Type, *");
57762
+ res.header("Access-Control-Allow-Headers", "*");
57074
57763
  if (req.method === "OPTIONS") {
57075
57764
  res.sendStatus(204);
57076
57765
  return;
@@ -57093,6 +57782,7 @@ async function startStreamableHTTP(cliFlags) {
57093
57782
  logger,
57094
57783
  allowedTools: cliFlags.tool,
57095
57784
  dynamic: cliFlags.mode === "dynamic",
57785
+ annotationFilter: buildAnnotationFilter(cliFlags["tool-annotations"]),
57096
57786
  scopes: cliFlags.scope,
57097
57787
  serverURL: cliFlags["server-url"],
57098
57788
  getSDK: () => buildSDK(headers, cliFlags, cliFlags["disable-static-auth"], logger),
@@ -57137,6 +57827,7 @@ var init_impl = __esm(() => {
57137
57827
  init_console_logger();
57138
57828
  init_server2();
57139
57829
  init_tools();
57830
+ init_tools();
57140
57831
  init_landing_page();
57141
57832
  import_express = __toESM(require_express2(), 1);
57142
57833
  });
@@ -57388,6 +58079,7 @@ async function startStdio(flags) {
57388
58079
  logger,
57389
58080
  allowedTools: flags.tool,
57390
58081
  dynamic: flags.mode === "dynamic",
58082
+ annotationFilter: buildAnnotationFilter(flags["tool-annotations"]),
57391
58083
  scopes: flags.scope,
57392
58084
  security: {
57393
58085
  cloudinaryAuth: flags["api-key"] != null && flags["api-secret"] != null ? {
@@ -57438,6 +58130,7 @@ async function startSSE(cliFlags) {
57438
58130
  logger,
57439
58131
  allowedTools: flags.tool,
57440
58132
  dynamic: flags.mode === "dynamic",
58133
+ annotationFilter: buildAnnotationFilter(flags["tool-annotations"]),
57441
58134
  scopes: flags.scope,
57442
58135
  security: {
57443
58136
  cloudinaryAuth: flags["api-key"] != null && flags["api-secret"] != null ? {
@@ -57532,6 +58225,7 @@ var init_impl2 = __esm(() => {
57532
58225
  init_stdio2();
57533
58226
  init_console_logger();
57534
58227
  init_server2();
58228
+ init_tools();
57535
58229
  init_landing_page();
57536
58230
  import_express2 = __toESM(require_express2(), 1);
57537
58231
  });
@@ -58564,10 +59258,16 @@ var serveCommand = sn({
58564
59258
  },
58565
59259
  mode: {
58566
59260
  kind: "enum",
58567
- brief: "Server mode (dynamic: expose list_tools, describe_tool, and execute_tool instead of individual tools)",
59261
+ brief: "Server mode (dynamic: expose list_tools, describe_tool_input, and execute_tool instead of individual tools)",
58568
59262
  values: ["dynamic"],
58569
59263
  optional: true
58570
59264
  },
59265
+ "tool-annotations": {
59266
+ kind: "parsed",
59267
+ brief: "Filter tools by annotations (comma-separated: readOnly, destructive, idempotent, openWorld). Listed = required true, unlisted = required false.",
59268
+ optional: true,
59269
+ parse: (value) => value.split(",").map((s) => s.trim())
59270
+ },
58571
59271
  scope: {
58572
59272
  kind: "enum",
58573
59273
  brief: "Mount tools/resources that match given scope (repeatable flag)",
@@ -58701,10 +59401,16 @@ var startCommand = sn({
58701
59401
  },
58702
59402
  mode: {
58703
59403
  kind: "enum",
58704
- brief: "Server mode (dynamic: expose list_tools, describe_tool, and execute_tool instead of individual tools)",
59404
+ brief: "Server mode (dynamic: expose list_tools, describe_tool_input, and execute_tool instead of individual tools)",
58705
59405
  values: ["dynamic"],
58706
59406
  optional: true
58707
59407
  },
59408
+ "tool-annotations": {
59409
+ kind: "parsed",
59410
+ brief: "Filter tools by annotations (comma-separated: readOnly, destructive, idempotent, openWorld). Listed = required true, unlisted = required false.",
59411
+ optional: true,
59412
+ parse: (value) => value.split(",").map((s) => s.trim())
59413
+ },
58708
59414
  scope: {
58709
59415
  kind: "enum",
58710
59416
  brief: "Mount tools/resources that match given scope (repeatable flag)",
@@ -58816,7 +59522,7 @@ var routes = ln({
58816
59522
  var app = _e(routes, {
58817
59523
  name: "mcp",
58818
59524
  versionInfo: {
58819
- currentVersion: "0.6.0"
59525
+ currentVersion: "0.6.1"
58820
59526
  }
58821
59527
  });
58822
59528
  Yt(app, process4.argv.slice(2), buildContext(process4));
@@ -58824,5 +59530,5 @@ export {
58824
59530
  app
58825
59531
  };
58826
59532
 
58827
- //# debugId=B6CCCB90945A03A264756E2164756E21
59533
+ //# debugId=DC7D6D5E210736C564756E2164756E21
58828
59534
  //# sourceMappingURL=mcp-server.js.map