payload 4.0.0-internal.2fddfc0 → 4.0.0-internal.31ba7ee

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 (1826) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +17 -13
  3. package/dist/__testing__/predefinedMigration.d.ts +4 -3
  4. package/dist/__testing__/predefinedMigration.d.ts.map +1 -1
  5. package/dist/admin/RichText.d.ts +2 -22
  6. package/dist/admin/RichText.d.ts.map +1 -1
  7. package/dist/admin/RichText.js.map +1 -1
  8. package/dist/admin/adapters/devReload.d.ts +13 -0
  9. package/dist/admin/adapters/devReload.d.ts.map +1 -1
  10. package/dist/admin/adapters/devReload.js +14 -1
  11. package/dist/admin/adapters/devReload.js.map +1 -1
  12. package/dist/admin/adapters/router.d.ts +8 -0
  13. package/dist/admin/adapters/router.d.ts.map +1 -1
  14. package/dist/admin/adapters/router.js.map +1 -1
  15. package/dist/admin/fields/Array.d.ts +11 -13
  16. package/dist/admin/fields/Array.d.ts.map +1 -1
  17. package/dist/admin/fields/Array.js.map +1 -1
  18. package/dist/admin/fields/Blocks.d.ts +13 -16
  19. package/dist/admin/fields/Blocks.d.ts.map +1 -1
  20. package/dist/admin/fields/Blocks.js.map +1 -1
  21. package/dist/admin/fields/Checkbox.d.ts +11 -13
  22. package/dist/admin/fields/Checkbox.d.ts.map +1 -1
  23. package/dist/admin/fields/Checkbox.js.map +1 -1
  24. package/dist/admin/fields/Code.d.ts +11 -13
  25. package/dist/admin/fields/Code.d.ts.map +1 -1
  26. package/dist/admin/fields/Code.js.map +1 -1
  27. package/dist/admin/fields/Collapsible.d.ts +11 -13
  28. package/dist/admin/fields/Collapsible.d.ts.map +1 -1
  29. package/dist/admin/fields/Collapsible.js.map +1 -1
  30. package/dist/admin/fields/Date.d.ts +11 -13
  31. package/dist/admin/fields/Date.d.ts.map +1 -1
  32. package/dist/admin/fields/Date.js.map +1 -1
  33. package/dist/admin/fields/Email.d.ts +11 -13
  34. package/dist/admin/fields/Email.d.ts.map +1 -1
  35. package/dist/admin/fields/Email.js.map +1 -1
  36. package/dist/admin/fields/Group.d.ts +11 -13
  37. package/dist/admin/fields/Group.d.ts.map +1 -1
  38. package/dist/admin/fields/Group.js.map +1 -1
  39. package/dist/admin/fields/JSON.d.ts +11 -13
  40. package/dist/admin/fields/JSON.d.ts.map +1 -1
  41. package/dist/admin/fields/JSON.js.map +1 -1
  42. package/dist/admin/fields/Join.d.ts +12 -14
  43. package/dist/admin/fields/Join.d.ts.map +1 -1
  44. package/dist/admin/fields/Join.js.map +1 -1
  45. package/dist/admin/fields/Number.d.ts +11 -13
  46. package/dist/admin/fields/Number.d.ts.map +1 -1
  47. package/dist/admin/fields/Number.js.map +1 -1
  48. package/dist/admin/fields/Point.d.ts +11 -13
  49. package/dist/admin/fields/Point.d.ts.map +1 -1
  50. package/dist/admin/fields/Point.js.map +1 -1
  51. package/dist/admin/fields/Radio.d.ts +11 -13
  52. package/dist/admin/fields/Radio.d.ts.map +1 -1
  53. package/dist/admin/fields/Radio.js.map +1 -1
  54. package/dist/admin/fields/Relationship.d.ts +11 -13
  55. package/dist/admin/fields/Relationship.d.ts.map +1 -1
  56. package/dist/admin/fields/Relationship.js.map +1 -1
  57. package/dist/admin/fields/RichText.d.ts +13 -15
  58. package/dist/admin/fields/RichText.d.ts.map +1 -1
  59. package/dist/admin/fields/RichText.js.map +1 -1
  60. package/dist/admin/fields/Row.d.ts +10 -12
  61. package/dist/admin/fields/Row.d.ts.map +1 -1
  62. package/dist/admin/fields/Row.js.map +1 -1
  63. package/dist/admin/fields/Select.d.ts +11 -13
  64. package/dist/admin/fields/Select.d.ts.map +1 -1
  65. package/dist/admin/fields/Select.js.map +1 -1
  66. package/dist/admin/fields/Tabs.d.ts +11 -13
  67. package/dist/admin/fields/Tabs.d.ts.map +1 -1
  68. package/dist/admin/fields/Tabs.js.map +1 -1
  69. package/dist/admin/fields/Text.d.ts +11 -13
  70. package/dist/admin/fields/Text.d.ts.map +1 -1
  71. package/dist/admin/fields/Text.js.map +1 -1
  72. package/dist/admin/fields/Textarea.d.ts +11 -13
  73. package/dist/admin/fields/Textarea.d.ts.map +1 -1
  74. package/dist/admin/fields/Textarea.js.map +1 -1
  75. package/dist/admin/fields/UI.d.ts +3 -5
  76. package/dist/admin/fields/UI.d.ts.map +1 -1
  77. package/dist/admin/fields/UI.js.map +1 -1
  78. package/dist/admin/fields/Upload.d.ts +11 -13
  79. package/dist/admin/fields/Upload.d.ts.map +1 -1
  80. package/dist/admin/fields/Upload.js.map +1 -1
  81. package/dist/admin/forms/Description.d.ts +0 -2
  82. package/dist/admin/forms/Description.d.ts.map +1 -1
  83. package/dist/admin/forms/Description.js.map +1 -1
  84. package/dist/admin/forms/Diff.d.ts +0 -2
  85. package/dist/admin/forms/Diff.d.ts.map +1 -1
  86. package/dist/admin/forms/Diff.js.map +1 -1
  87. package/dist/admin/forms/Error.d.ts +0 -2
  88. package/dist/admin/forms/Error.d.ts.map +1 -1
  89. package/dist/admin/forms/Error.js.map +1 -1
  90. package/dist/admin/forms/Field.d.ts +6 -4
  91. package/dist/admin/forms/Field.d.ts.map +1 -1
  92. package/dist/admin/forms/Field.js.map +1 -1
  93. package/dist/admin/forms/Form.d.ts +2 -29
  94. package/dist/admin/forms/Form.d.ts.map +1 -1
  95. package/dist/admin/forms/Form.js.map +1 -1
  96. package/dist/admin/forms/Label.d.ts +0 -2
  97. package/dist/admin/forms/Label.d.ts.map +1 -1
  98. package/dist/admin/forms/Label.js.map +1 -1
  99. package/dist/admin/functions/index.d.ts +16 -12
  100. package/dist/admin/functions/index.d.ts.map +1 -1
  101. package/dist/admin/functions/index.js.map +1 -1
  102. package/dist/admin/getRequestLocale.d.ts +6 -0
  103. package/dist/admin/getRequestLocale.d.ts.map +1 -0
  104. package/dist/admin/getRequestLocale.js +38 -0
  105. package/dist/admin/getRequestLocale.js.map +1 -0
  106. package/dist/admin/initAdminContext.d.ts +39 -0
  107. package/dist/admin/initAdminContext.d.ts.map +1 -0
  108. package/dist/admin/initAdminContext.js +154 -0
  109. package/dist/admin/initAdminContext.js.map +1 -0
  110. package/dist/admin/types.d.ts +31 -30
  111. package/dist/admin/types.d.ts.map +1 -1
  112. package/dist/admin/types.js.map +1 -1
  113. package/dist/admin/views/dashboard.d.ts +2 -2
  114. package/dist/admin/views/dashboard.d.ts.map +1 -1
  115. package/dist/admin/views/dashboard.js.map +1 -1
  116. package/dist/admin/views/index.d.ts +2 -2
  117. package/dist/admin/views/index.d.ts.map +1 -1
  118. package/dist/admin/views/index.js.map +1 -1
  119. package/dist/auth/applyUserReadAccess.d.ts +13 -0
  120. package/dist/auth/applyUserReadAccess.d.ts.map +1 -0
  121. package/dist/auth/applyUserReadAccess.js +41 -0
  122. package/dist/auth/applyUserReadAccess.js.map +1 -0
  123. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.d.ts +4 -0
  124. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.d.ts.map +1 -0
  125. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.js +20 -0
  126. package/dist/auth/baseFields/apiKey/canCreateOrUpdateAPIKey.js.map +1 -0
  127. package/dist/auth/baseFields/apiKey/encryptAPIKey.d.ts +4 -0
  128. package/dist/auth/baseFields/apiKey/encryptAPIKey.d.ts.map +1 -0
  129. package/dist/auth/baseFields/apiKey/encryptAPIKey.js +11 -0
  130. package/dist/auth/baseFields/apiKey/encryptAPIKey.js.map +1 -0
  131. package/dist/auth/baseFields/apiKey/getAPIKeyLast4.d.ts +3 -0
  132. package/dist/auth/baseFields/apiKey/getAPIKeyLast4.d.ts.map +1 -0
  133. package/dist/auth/baseFields/apiKey/getAPIKeyLast4.js +5 -0
  134. package/dist/auth/baseFields/apiKey/getAPIKeyLast4.js.map +1 -0
  135. package/dist/auth/baseFields/apiKey/omitAPIKey.d.ts +5 -0
  136. package/dist/auth/baseFields/apiKey/omitAPIKey.d.ts.map +1 -0
  137. package/dist/auth/baseFields/apiKey/omitAPIKey.js +11 -0
  138. package/dist/auth/baseFields/apiKey/omitAPIKey.js.map +1 -0
  139. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.d.ts +4 -0
  140. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.d.ts.map +1 -0
  141. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.js +5 -0
  142. package/dist/auth/baseFields/apiKey/omitAPIKeyIndex.js.map +1 -0
  143. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.d.ts +4 -0
  144. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.d.ts.map +1 -0
  145. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.js +5 -0
  146. package/dist/auth/baseFields/apiKey/omitEncryptedAPIKey.js.map +1 -0
  147. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.d.ts +4 -0
  148. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.d.ts.map +1 -0
  149. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.js +12 -0
  150. package/dist/auth/baseFields/apiKey/setAPIKeyIndex.js.map +1 -0
  151. package/dist/auth/baseFields/apiKey/setKeyLast4.d.ts +4 -0
  152. package/dist/auth/baseFields/apiKey/setKeyLast4.d.ts.map +1 -0
  153. package/dist/auth/baseFields/apiKey/setKeyLast4.js +12 -0
  154. package/dist/auth/baseFields/apiKey/setKeyLast4.js.map +1 -0
  155. package/dist/auth/baseFields/apiKey.d.ts +6 -6
  156. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  157. package/dist/auth/baseFields/apiKey.js +88 -57
  158. package/dist/auth/baseFields/apiKey.js.map +1 -1
  159. package/dist/auth/baseFields/auth.d.ts +1 -0
  160. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  161. package/dist/auth/baseFields/auth.js +9 -0
  162. package/dist/auth/baseFields/auth.js.map +1 -1
  163. package/dist/auth/cookies.d.ts +2 -2
  164. package/dist/auth/cookies.d.ts.map +1 -1
  165. package/dist/auth/crypto.d.ts +73 -2
  166. package/dist/auth/crypto.d.ts.map +1 -1
  167. package/dist/auth/crypto.js +90 -13
  168. package/dist/auth/crypto.js.map +1 -1
  169. package/dist/auth/defaultAccess.d.ts.map +1 -1
  170. package/dist/auth/defaultUnlockAccess.d.ts +3 -0
  171. package/dist/auth/defaultUnlockAccess.d.ts.map +1 -0
  172. package/dist/auth/defaultUnlockAccess.js +8 -0
  173. package/dist/auth/defaultUnlockAccess.js.map +1 -0
  174. package/dist/auth/endpoints/index.d.ts +1 -0
  175. package/dist/auth/endpoints/index.d.ts.map +1 -1
  176. package/dist/auth/endpoints/index.js +8 -0
  177. package/dist/auth/endpoints/index.js.map +1 -1
  178. package/dist/auth/endpoints/login.d.ts.map +1 -1
  179. package/dist/auth/endpoints/login.js +2 -11
  180. package/dist/auth/endpoints/login.js.map +1 -1
  181. package/dist/auth/endpoints/refresh.d.ts.map +1 -1
  182. package/dist/auth/endpoints/refresh.js +4 -6
  183. package/dist/auth/endpoints/refresh.js.map +1 -1
  184. package/dist/auth/endpoints/revealAPIKey.d.ts +7 -0
  185. package/dist/auth/endpoints/revealAPIKey.d.ts.map +1 -0
  186. package/dist/auth/endpoints/revealAPIKey.js +122 -0
  187. package/dist/auth/endpoints/revealAPIKey.js.map +1 -0
  188. package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
  189. package/dist/auth/executeAccess.d.ts +2 -1
  190. package/dist/auth/executeAccess.d.ts.map +1 -1
  191. package/dist/auth/executeAccess.js +2 -1
  192. package/dist/auth/executeAccess.js.map +1 -1
  193. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  194. package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
  195. package/dist/auth/extractJWT.d.ts +1 -1
  196. package/dist/auth/extractJWT.d.ts.map +1 -1
  197. package/dist/auth/getAccessResults.js +1 -0
  198. package/dist/auth/getAccessResults.js.map +1 -1
  199. package/dist/auth/getAuthFields.d.ts +1 -1
  200. package/dist/auth/getAuthFields.d.ts.map +1 -1
  201. package/dist/auth/getAuthFields.js +7 -4
  202. package/dist/auth/getAuthFields.js.map +1 -1
  203. package/dist/auth/getFieldsToSign.d.ts +1 -1
  204. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  205. package/dist/auth/getFieldsToSign.js +20 -10
  206. package/dist/auth/getFieldsToSign.js.map +1 -1
  207. package/dist/auth/getLoginOptions.d.ts +1 -1
  208. package/dist/auth/getLoginOptions.d.ts.map +1 -1
  209. package/dist/auth/getLoginOptions.js.map +1 -1
  210. package/dist/auth/isUserLocked.d.ts.map +1 -1
  211. package/dist/auth/jwt.d.ts.map +1 -1
  212. package/dist/auth/jwt.js +2 -0
  213. package/dist/auth/jwt.js.map +1 -1
  214. package/dist/auth/jwtAuth.d.ts +9 -0
  215. package/dist/auth/jwtAuth.d.ts.map +1 -0
  216. package/dist/auth/jwtAuth.js +8 -0
  217. package/dist/auth/jwtAuth.js.map +1 -0
  218. package/dist/auth/loginWithCookie.d.ts +33 -0
  219. package/dist/auth/loginWithCookie.d.ts.map +1 -0
  220. package/dist/auth/loginWithCookie.js +34 -0
  221. package/dist/auth/loginWithCookie.js.map +1 -0
  222. package/dist/auth/operations/access.d.ts.map +1 -1
  223. package/dist/auth/operations/access.js +3 -9
  224. package/dist/auth/operations/access.js.map +1 -1
  225. package/dist/auth/operations/auth.d.ts +2 -2
  226. package/dist/auth/operations/auth.d.ts.map +1 -1
  227. package/dist/auth/operations/auth.js +16 -21
  228. package/dist/auth/operations/auth.js.map +1 -1
  229. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  230. package/dist/auth/operations/forgotPassword.js +97 -14
  231. package/dist/auth/operations/forgotPassword.js.map +1 -1
  232. package/dist/auth/operations/init.d.ts.map +1 -1
  233. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  234. package/dist/auth/operations/local/auth.js +7 -4
  235. package/dist/auth/operations/local/auth.js.map +1 -1
  236. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  237. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  238. package/dist/auth/operations/local/forgotPassword.js +6 -3
  239. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  240. package/dist/auth/operations/local/login.d.ts +2 -2
  241. package/dist/auth/operations/local/login.d.ts.map +1 -1
  242. package/dist/auth/operations/local/login.js +6 -3
  243. package/dist/auth/operations/local/login.js.map +1 -1
  244. package/dist/auth/operations/local/resetPassword.js +5 -2
  245. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  246. package/dist/auth/operations/local/unlock.d.ts +2 -2
  247. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  248. package/dist/auth/operations/local/unlock.js +6 -3
  249. package/dist/auth/operations/local/unlock.js.map +1 -1
  250. package/dist/auth/operations/local/verifyEmail.js +5 -2
  251. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  252. package/dist/auth/operations/login.d.ts +2 -1
  253. package/dist/auth/operations/login.d.ts.map +1 -1
  254. package/dist/auth/operations/login.js +48 -26
  255. package/dist/auth/operations/login.js.map +1 -1
  256. package/dist/auth/operations/logout.d.ts.map +1 -1
  257. package/dist/auth/operations/me.d.ts +2 -9
  258. package/dist/auth/operations/me.d.ts.map +1 -1
  259. package/dist/auth/operations/me.js +0 -6
  260. package/dist/auth/operations/me.js.map +1 -1
  261. package/dist/auth/operations/refresh.d.ts +0 -7
  262. package/dist/auth/operations/refresh.d.ts.map +1 -1
  263. package/dist/auth/operations/refresh.js +41 -18
  264. package/dist/auth/operations/refresh.js.map +1 -1
  265. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  266. package/dist/auth/operations/registerFirstUser.js +4 -4
  267. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  268. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  269. package/dist/auth/operations/resetPassword.js +31 -22
  270. package/dist/auth/operations/resetPassword.js.map +1 -1
  271. package/dist/auth/operations/unlock.d.ts.map +1 -1
  272. package/dist/auth/operations/unlock.js +1 -0
  273. package/dist/auth/operations/unlock.js.map +1 -1
  274. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  275. package/dist/auth/rotateSecret.d.ts +51 -0
  276. package/dist/auth/rotateSecret.d.ts.map +1 -0
  277. package/dist/auth/rotateSecret.js +131 -0
  278. package/dist/auth/rotateSecret.js.map +1 -0
  279. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  280. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  281. package/dist/auth/sendVerificationEmail.js +1 -1
  282. package/dist/auth/sendVerificationEmail.js.map +1 -1
  283. package/dist/auth/serverFunctions/cookies.d.ts +47 -0
  284. package/dist/auth/serverFunctions/cookies.d.ts.map +1 -0
  285. package/dist/auth/serverFunctions/cookies.js +52 -0
  286. package/dist/auth/serverFunctions/cookies.js.map +1 -0
  287. package/dist/auth/serverFunctions/login.d.ts +29 -0
  288. package/dist/auth/serverFunctions/login.d.ts.map +1 -0
  289. package/dist/auth/serverFunctions/login.js +65 -0
  290. package/dist/auth/serverFunctions/login.js.map +1 -0
  291. package/dist/auth/serverFunctions/logout.d.ts +17 -0
  292. package/dist/auth/serverFunctions/logout.d.ts.map +1 -0
  293. package/dist/auth/serverFunctions/logout.js +59 -0
  294. package/dist/auth/serverFunctions/logout.js.map +1 -0
  295. package/dist/auth/serverFunctions/refresh.d.ts +17 -0
  296. package/dist/auth/serverFunctions/refresh.d.ts.map +1 -0
  297. package/dist/auth/serverFunctions/refresh.js +62 -0
  298. package/dist/auth/serverFunctions/refresh.js.map +1 -0
  299. package/dist/auth/sessions.d.ts +4 -5
  300. package/dist/auth/sessions.d.ts.map +1 -1
  301. package/dist/auth/sessions.js +5 -3
  302. package/dist/auth/sessions.js.map +1 -1
  303. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  304. package/dist/auth/strategies/apiKey.js +42 -4
  305. package/dist/auth/strategies/apiKey.js.map +1 -1
  306. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  307. package/dist/auth/strategies/jwt.js +83 -11
  308. package/dist/auth/strategies/jwt.js.map +1 -1
  309. package/dist/auth/strategies/local/authenticate.d.ts +5 -1
  310. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  311. package/dist/auth/strategies/local/authenticate.js +8 -3
  312. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  313. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts +9 -1
  314. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  315. package/dist/auth/strategies/local/generatePasswordSaltHash.js +61 -34
  316. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  317. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  318. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  319. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  320. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  321. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  322. package/dist/auth/strategies/local/register.js +1 -0
  323. package/dist/auth/strategies/local/register.js.map +1 -1
  324. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  325. package/dist/auth/types.d.ts +58 -38
  326. package/dist/auth/types.d.ts.map +1 -1
  327. package/dist/auth/types.js.map +1 -1
  328. package/dist/auth/withBaseAccess.d.ts +22 -0
  329. package/dist/auth/withBaseAccess.d.ts.map +1 -0
  330. package/dist/auth/withBaseAccess.js +61 -0
  331. package/dist/auth/withBaseAccess.js.map +1 -0
  332. package/dist/cli/commands/build/build.d.ts +44 -0
  333. package/dist/cli/commands/build/build.d.ts.map +1 -0
  334. package/dist/cli/commands/build/build.js +225 -0
  335. package/dist/cli/commands/build/build.js.map +1 -0
  336. package/dist/cli/commands/build/index.d.ts +2 -0
  337. package/dist/cli/commands/build/index.d.ts.map +1 -0
  338. package/dist/cli/commands/build/index.js +26 -0
  339. package/dist/cli/commands/build/index.js.map +1 -0
  340. package/dist/cli/commands/collections/countDocuments.d.ts +2 -0
  341. package/dist/cli/commands/collections/countDocuments.d.ts.map +1 -0
  342. package/dist/cli/commands/collections/countDocuments.js +37 -0
  343. package/dist/cli/commands/collections/countDocuments.js.map +1 -0
  344. package/dist/cli/commands/collections/countVersions.d.ts +2 -0
  345. package/dist/cli/commands/collections/countVersions.d.ts.map +1 -0
  346. package/dist/cli/commands/collections/countVersions.js +36 -0
  347. package/dist/cli/commands/collections/countVersions.js.map +1 -0
  348. package/dist/cli/commands/collections/createDocuments.d.ts +2 -0
  349. package/dist/cli/commands/collections/createDocuments.d.ts.map +1 -0
  350. package/dist/cli/commands/collections/createDocuments.js +132 -0
  351. package/dist/cli/commands/collections/createDocuments.js.map +1 -0
  352. package/dist/cli/commands/collections/deleteDocuments.d.ts +2 -0
  353. package/dist/cli/commands/collections/deleteDocuments.d.ts.map +1 -0
  354. package/dist/cli/commands/collections/deleteDocuments.js +64 -0
  355. package/dist/cli/commands/collections/deleteDocuments.js.map +1 -0
  356. package/dist/cli/commands/collections/duplicateDocument.d.ts +2 -0
  357. package/dist/cli/commands/collections/duplicateDocument.d.ts.map +1 -0
  358. package/dist/cli/commands/collections/duplicateDocument.js +109 -0
  359. package/dist/cli/commands/collections/duplicateDocument.js.map +1 -0
  360. package/dist/cli/commands/collections/findDistinct.d.ts +2 -0
  361. package/dist/cli/commands/collections/findDistinct.d.ts.map +1 -0
  362. package/dist/cli/commands/collections/findDistinct.js +52 -0
  363. package/dist/cli/commands/collections/findDistinct.js.map +1 -0
  364. package/dist/cli/commands/collections/findDocuments.d.ts +2 -0
  365. package/dist/cli/commands/collections/findDocuments.d.ts.map +1 -0
  366. package/dist/cli/commands/collections/findDocuments.js +79 -0
  367. package/dist/cli/commands/collections/findDocuments.js.map +1 -0
  368. package/dist/cli/commands/collections/findVersionByID.d.ts +2 -0
  369. package/dist/cli/commands/collections/findVersionByID.d.ts.map +1 -0
  370. package/dist/cli/commands/collections/findVersionByID.js +48 -0
  371. package/dist/cli/commands/collections/findVersionByID.js.map +1 -0
  372. package/dist/cli/commands/collections/findVersions.d.ts +2 -0
  373. package/dist/cli/commands/collections/findVersions.d.ts.map +1 -0
  374. package/dist/cli/commands/collections/findVersions.js +57 -0
  375. package/dist/cli/commands/collections/findVersions.js.map +1 -0
  376. package/dist/cli/commands/collections/getCollectionSchema.d.ts +2 -0
  377. package/dist/cli/commands/collections/getCollectionSchema.d.ts.map +1 -0
  378. package/dist/cli/commands/collections/getCollectionSchema.js +51 -0
  379. package/dist/cli/commands/collections/getCollectionSchema.js.map +1 -0
  380. package/dist/cli/commands/collections/restoreVersion.d.ts +2 -0
  381. package/dist/cli/commands/collections/restoreVersion.d.ts.map +1 -0
  382. package/dist/cli/commands/collections/restoreVersion.js +47 -0
  383. package/dist/cli/commands/collections/restoreVersion.js.map +1 -0
  384. package/dist/cli/commands/collections/updateDocument.d.ts +2 -0
  385. package/dist/cli/commands/collections/updateDocument.d.ts.map +1 -0
  386. package/dist/cli/commands/collections/updateDocument.js +192 -0
  387. package/dist/cli/commands/collections/updateDocument.js.map +1 -0
  388. package/dist/cli/commands/data/input.d.ts +28 -0
  389. package/dist/cli/commands/data/input.d.ts.map +1 -0
  390. package/dist/cli/commands/data/input.js +76 -0
  391. package/dist/cli/commands/data/input.js.map +1 -0
  392. package/dist/cli/commands/data/utilities.d.ts +65 -0
  393. package/dist/cli/commands/data/utilities.d.ts.map +1 -0
  394. package/dist/cli/commands/data/utilities.js +67 -0
  395. package/dist/cli/commands/data/utilities.js.map +1 -0
  396. package/dist/cli/commands/generateDBSchema.d.ts +2 -0
  397. package/dist/cli/commands/generateDBSchema.d.ts.map +1 -0
  398. package/dist/cli/commands/generateDBSchema.js +29 -0
  399. package/dist/cli/commands/generateDBSchema.js.map +1 -0
  400. package/dist/cli/commands/generateImportMap/frameworkConventions.d.ts +8 -0
  401. package/dist/cli/commands/generateImportMap/frameworkConventions.d.ts.map +1 -0
  402. package/dist/cli/commands/generateImportMap/frameworkConventions.js +8 -0
  403. package/dist/cli/commands/generateImportMap/frameworkConventions.js.map +1 -0
  404. package/dist/{bin/generateImportMap/index.d.ts → cli/commands/generateImportMap/generateImportMap.d.ts} +8 -4
  405. package/dist/cli/commands/generateImportMap/generateImportMap.d.ts.map +1 -0
  406. package/dist/{bin/generateImportMap/index.js → cli/commands/generateImportMap/generateImportMap.js} +9 -4
  407. package/dist/cli/commands/generateImportMap/generateImportMap.js.map +1 -0
  408. package/dist/cli/commands/generateImportMap/index.d.ts +2 -0
  409. package/dist/cli/commands/generateImportMap/index.d.ts.map +1 -0
  410. package/dist/cli/commands/generateImportMap/index.js +18 -0
  411. package/dist/cli/commands/generateImportMap/index.js.map +1 -0
  412. package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.d.ts +3 -3
  413. package/dist/cli/commands/generateImportMap/iterateCollections.d.ts.map +1 -0
  414. package/dist/{bin → cli/commands}/generateImportMap/iterateCollections.js +10 -0
  415. package/dist/cli/commands/generateImportMap/iterateCollections.js.map +1 -0
  416. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.d.ts +2 -2
  417. package/dist/cli/commands/generateImportMap/iterateConfig.d.ts.map +1 -0
  418. package/dist/{bin → cli/commands}/generateImportMap/iterateConfig.js +1 -1
  419. package/dist/cli/commands/generateImportMap/iterateConfig.js.map +1 -0
  420. package/dist/{bin → cli/commands}/generateImportMap/iterateFields.d.ts +3 -3
  421. package/dist/cli/commands/generateImportMap/iterateFields.d.ts.map +1 -0
  422. package/dist/cli/commands/generateImportMap/iterateFields.js.map +1 -0
  423. package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.d.ts +3 -3
  424. package/dist/cli/commands/generateImportMap/iterateGlobals.d.ts.map +1 -0
  425. package/dist/cli/commands/generateImportMap/iterateGlobals.js.map +1 -0
  426. package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts +2 -2
  427. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +1 -0
  428. package/dist/cli/commands/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +1 -0
  429. package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.d.ts +2 -2
  430. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -0
  431. package/dist/cli/commands/generateImportMap/utilities/getFromImportMap.js.map +1 -0
  432. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +1 -0
  433. package/dist/cli/commands/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +1 -0
  434. package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.d.ts +1 -1
  435. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.d.ts.map +1 -0
  436. package/dist/cli/commands/generateImportMap/utilities/parsePayloadComponent.js.map +1 -0
  437. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -0
  438. package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.js +13 -4
  439. package/dist/cli/commands/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -0
  440. package/dist/cli/commands/generateTypes.d.ts +12 -0
  441. package/dist/cli/commands/generateTypes.d.ts.map +1 -0
  442. package/dist/{bin → cli/commands}/generateTypes.js +33 -7
  443. package/dist/cli/commands/generateTypes.js.map +1 -0
  444. package/dist/cli/commands/getConfigInfo.d.ts +2 -0
  445. package/dist/cli/commands/getConfigInfo.d.ts.map +1 -0
  446. package/dist/cli/commands/getConfigInfo.js +23 -0
  447. package/dist/cli/commands/getConfigInfo.js.map +1 -0
  448. package/dist/cli/commands/globals/countGlobalVersions.d.ts +2 -0
  449. package/dist/cli/commands/globals/countGlobalVersions.d.ts.map +1 -0
  450. package/dist/cli/commands/globals/countGlobalVersions.js +36 -0
  451. package/dist/cli/commands/globals/countGlobalVersions.js.map +1 -0
  452. package/dist/cli/commands/globals/findGlobal.d.ts +2 -0
  453. package/dist/cli/commands/globals/findGlobal.d.ts.map +1 -0
  454. package/dist/cli/commands/globals/findGlobal.js +42 -0
  455. package/dist/cli/commands/globals/findGlobal.js.map +1 -0
  456. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts +2 -0
  457. package/dist/cli/commands/globals/findGlobalVersionByID.d.ts.map +1 -0
  458. package/dist/cli/commands/globals/findGlobalVersionByID.js +46 -0
  459. package/dist/cli/commands/globals/findGlobalVersionByID.js.map +1 -0
  460. package/dist/cli/commands/globals/findGlobalVersions.d.ts +2 -0
  461. package/dist/cli/commands/globals/findGlobalVersions.d.ts.map +1 -0
  462. package/dist/cli/commands/globals/findGlobalVersions.js +55 -0
  463. package/dist/cli/commands/globals/findGlobalVersions.js.map +1 -0
  464. package/dist/cli/commands/globals/getGlobalSchema.d.ts +2 -0
  465. package/dist/cli/commands/globals/getGlobalSchema.d.ts.map +1 -0
  466. package/dist/cli/commands/globals/getGlobalSchema.js +36 -0
  467. package/dist/cli/commands/globals/getGlobalSchema.js.map +1 -0
  468. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts +2 -0
  469. package/dist/cli/commands/globals/restoreGlobalVersion.d.ts.map +1 -0
  470. package/dist/cli/commands/globals/restoreGlobalVersion.js +46 -0
  471. package/dist/cli/commands/globals/restoreGlobalVersion.js.map +1 -0
  472. package/dist/cli/commands/globals/updateGlobal.d.ts +2 -0
  473. package/dist/cli/commands/globals/updateGlobal.d.ts.map +1 -0
  474. package/dist/cli/commands/globals/updateGlobal.js +95 -0
  475. package/dist/cli/commands/globals/updateGlobal.js.map +1 -0
  476. package/dist/cli/commands/help.d.ts +2 -0
  477. package/dist/cli/commands/help.d.ts.map +1 -0
  478. package/dist/cli/commands/help.js +42 -0
  479. package/dist/cli/commands/help.js.map +1 -0
  480. package/dist/cli/commands/info.d.ts +2 -0
  481. package/dist/cli/commands/info.d.ts.map +1 -0
  482. package/dist/cli/commands/info.js +78 -0
  483. package/dist/cli/commands/info.js.map +1 -0
  484. package/dist/cli/commands/jobs/handleSchedules.d.ts +2 -0
  485. package/dist/cli/commands/jobs/handleSchedules.d.ts.map +1 -0
  486. package/dist/cli/commands/jobs/handleSchedules.js +17 -0
  487. package/dist/cli/commands/jobs/handleSchedules.js.map +1 -0
  488. package/dist/cli/commands/jobs/run.d.ts +2 -0
  489. package/dist/cli/commands/jobs/run.d.ts.map +1 -0
  490. package/dist/cli/commands/jobs/run.js +30 -0
  491. package/dist/cli/commands/jobs/run.js.map +1 -0
  492. package/dist/cli/commands/migrate/create.d.ts +2 -0
  493. package/dist/cli/commands/migrate/create.d.ts.map +1 -0
  494. package/dist/cli/commands/migrate/create.js +44 -0
  495. package/dist/cli/commands/migrate/create.js.map +1 -0
  496. package/dist/cli/commands/migrate/down.d.ts +2 -0
  497. package/dist/cli/commands/migrate/down.d.ts.map +1 -0
  498. package/dist/cli/commands/migrate/down.js +22 -0
  499. package/dist/cli/commands/migrate/down.js.map +1 -0
  500. package/dist/cli/commands/migrate/fresh.d.ts +2 -0
  501. package/dist/cli/commands/migrate/fresh.d.ts.map +1 -0
  502. package/dist/cli/commands/migrate/fresh.js +28 -0
  503. package/dist/cli/commands/migrate/fresh.js.map +1 -0
  504. package/dist/cli/commands/migrate/initialize.d.ts +11 -0
  505. package/dist/cli/commands/migrate/initialize.d.ts.map +1 -0
  506. package/dist/cli/commands/migrate/initialize.js +17 -0
  507. package/dist/cli/commands/migrate/initialize.js.map +1 -0
  508. package/dist/cli/commands/migrate/refresh.d.ts +2 -0
  509. package/dist/cli/commands/migrate/refresh.d.ts.map +1 -0
  510. package/dist/cli/commands/migrate/refresh.js +22 -0
  511. package/dist/cli/commands/migrate/refresh.js.map +1 -0
  512. package/dist/cli/commands/migrate/reset.d.ts +2 -0
  513. package/dist/cli/commands/migrate/reset.d.ts.map +1 -0
  514. package/dist/cli/commands/migrate/reset.js +22 -0
  515. package/dist/cli/commands/migrate/reset.js.map +1 -0
  516. package/dist/cli/commands/migrate/run.d.ts +2 -0
  517. package/dist/cli/commands/migrate/run.d.ts.map +1 -0
  518. package/dist/cli/commands/migrate/run.js +28 -0
  519. package/dist/cli/commands/migrate/run.js.map +1 -0
  520. package/dist/cli/commands/migrate/status.d.ts +2 -0
  521. package/dist/cli/commands/migrate/status.d.ts.map +1 -0
  522. package/dist/cli/commands/migrate/status.js +22 -0
  523. package/dist/cli/commands/migrate/status.js.map +1 -0
  524. package/dist/cli/commands/run.d.ts +2 -0
  525. package/dist/cli/commands/run.d.ts.map +1 -0
  526. package/dist/cli/commands/run.js +45 -0
  527. package/dist/cli/commands/run.js.map +1 -0
  528. package/dist/cli/defineCLICommand.d.ts +32 -0
  529. package/dist/cli/defineCLICommand.d.ts.map +1 -0
  530. package/dist/cli/defineCLICommand.js +26 -0
  531. package/dist/cli/defineCLICommand.js.map +1 -0
  532. package/dist/cli/index.d.ts +7 -0
  533. package/dist/cli/index.d.ts.map +1 -0
  534. package/dist/cli/index.js +95 -0
  535. package/dist/cli/index.js.map +1 -0
  536. package/dist/cli/program/createHelp.d.ts +8 -0
  537. package/dist/cli/program/createHelp.d.ts.map +1 -0
  538. package/dist/cli/program/createHelp.js +26 -0
  539. package/dist/cli/program/createHelp.js.map +1 -0
  540. package/dist/cli/program/loadCommands.d.ts +12 -0
  541. package/dist/cli/program/loadCommands.d.ts.map +1 -0
  542. package/dist/cli/program/loadCommands.js +62 -0
  543. package/dist/cli/program/loadCommands.js.map +1 -0
  544. package/dist/cli/program/normalizeHelpArguments.d.ts +12 -0
  545. package/dist/cli/program/normalizeHelpArguments.d.ts.map +1 -0
  546. package/dist/cli/program/normalizeHelpArguments.js +34 -0
  547. package/dist/cli/program/normalizeHelpArguments.js.map +1 -0
  548. package/dist/cli/program/registerCommand.d.ts +10 -0
  549. package/dist/cli/program/registerCommand.d.ts.map +1 -0
  550. package/dist/cli/program/registerCommand.js +185 -0
  551. package/dist/cli/program/registerCommand.js.map +1 -0
  552. package/dist/cli/runtime/createRuntime.d.ts +9 -0
  553. package/dist/cli/runtime/createRuntime.d.ts.map +1 -0
  554. package/dist/cli/runtime/createRuntime.js +81 -0
  555. package/dist/cli/runtime/createRuntime.js.map +1 -0
  556. package/dist/cli/runtime/getCommandInput.d.ts +17 -0
  557. package/dist/cli/runtime/getCommandInput.d.ts.map +1 -0
  558. package/dist/cli/runtime/getCommandInput.js +86 -0
  559. package/dist/cli/runtime/getCommandInput.js.map +1 -0
  560. package/dist/cli/runtime/invokeCommand.d.ts +23 -0
  561. package/dist/cli/runtime/invokeCommand.d.ts.map +1 -0
  562. package/dist/cli/runtime/invokeCommand.js +107 -0
  563. package/dist/cli/runtime/invokeCommand.js.map +1 -0
  564. package/dist/cli/runtime/loadEnv.d.ts.map +1 -0
  565. package/dist/{bin → cli/runtime}/loadEnv.js +1 -1
  566. package/dist/cli/runtime/loadEnv.js.map +1 -0
  567. package/dist/cli/runtime/output.d.ts +50 -0
  568. package/dist/cli/runtime/output.d.ts.map +1 -0
  569. package/dist/cli/runtime/output.js +125 -0
  570. package/dist/cli/runtime/output.js.map +1 -0
  571. package/dist/cli/runtime/redirectOutputToStderr.d.ts +8 -0
  572. package/dist/cli/runtime/redirectOutputToStderr.d.ts.map +1 -0
  573. package/dist/cli/runtime/redirectOutputToStderr.js +31 -0
  574. package/dist/cli/runtime/redirectOutputToStderr.js.map +1 -0
  575. package/dist/collections/config/client.d.ts +12 -5
  576. package/dist/collections/config/client.d.ts.map +1 -1
  577. package/dist/collections/config/client.js +10 -1
  578. package/dist/collections/config/client.js.map +1 -1
  579. package/dist/collections/config/defaults.d.ts +6 -8
  580. package/dist/collections/config/defaults.d.ts.map +1 -1
  581. package/dist/collections/config/defaults.js +49 -48
  582. package/dist/collections/config/defaults.js.map +1 -1
  583. package/dist/collections/config/sanitize.d.ts +4 -8
  584. package/dist/collections/config/sanitize.d.ts.map +1 -1
  585. package/dist/collections/config/sanitize.js +89 -27
  586. package/dist/collections/config/sanitize.js.map +1 -1
  587. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  588. package/dist/collections/config/types.d.ts +76 -51
  589. package/dist/collections/config/types.d.ts.map +1 -1
  590. package/dist/collections/config/types.js.map +1 -1
  591. package/dist/collections/config/useAsTitle.d.ts.map +1 -1
  592. package/dist/collections/dataloader.d.ts +1 -1
  593. package/dist/collections/dataloader.d.ts.map +1 -1
  594. package/dist/collections/endpoints/index.d.ts +1 -0
  595. package/dist/collections/endpoints/index.d.ts.map +1 -1
  596. package/dist/collections/endpoints/index.js +6 -5
  597. package/dist/collections/endpoints/index.js.map +1 -1
  598. package/dist/collections/operations/count.d.ts.map +1 -1
  599. package/dist/collections/operations/count.js +65 -70
  600. package/dist/collections/operations/count.js.map +1 -1
  601. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  602. package/dist/collections/operations/countVersions.js +61 -66
  603. package/dist/collections/operations/countVersions.js.map +1 -1
  604. package/dist/collections/operations/create.d.ts.map +1 -1
  605. package/dist/collections/operations/create.js +144 -13
  606. package/dist/collections/operations/create.js.map +1 -1
  607. package/dist/collections/operations/delete.d.ts.map +1 -1
  608. package/dist/collections/operations/delete.js +215 -129
  609. package/dist/collections/operations/delete.js.map +1 -1
  610. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  611. package/dist/collections/operations/deleteByID.js +14 -13
  612. package/dist/collections/operations/deleteByID.js.map +1 -1
  613. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  614. package/dist/collections/operations/docAccess.js +19 -25
  615. package/dist/collections/operations/docAccess.js.map +1 -1
  616. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  617. package/dist/collections/operations/find.d.ts.map +1 -1
  618. package/dist/collections/operations/find.js +248 -246
  619. package/dist/collections/operations/find.js.map +1 -1
  620. package/dist/collections/operations/findByID.d.ts.map +1 -1
  621. package/dist/collections/operations/findByID.js +258 -215
  622. package/dist/collections/operations/findByID.js.map +1 -1
  623. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  624. package/dist/collections/operations/findDistinct.js +235 -153
  625. package/dist/collections/operations/findDistinct.js.map +1 -1
  626. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  627. package/dist/collections/operations/findVersionByID.js +145 -128
  628. package/dist/collections/operations/findVersionByID.js.map +1 -1
  629. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  630. package/dist/collections/operations/findVersions.js +152 -149
  631. package/dist/collections/operations/findVersions.js.map +1 -1
  632. package/dist/collections/operations/inputSchemas.d.ts +877 -0
  633. package/dist/collections/operations/inputSchemas.d.ts.map +1 -0
  634. package/dist/collections/operations/inputSchemas.js +217 -0
  635. package/dist/collections/operations/inputSchemas.js.map +1 -0
  636. package/dist/collections/operations/local/count.d.ts +5 -10
  637. package/dist/collections/operations/local/count.d.ts.map +1 -1
  638. package/dist/collections/operations/local/count.js +6 -3
  639. package/dist/collections/operations/local/count.js.map +1 -1
  640. package/dist/collections/operations/local/countVersions.d.ts +5 -10
  641. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  642. package/dist/collections/operations/local/countVersions.js +6 -3
  643. package/dist/collections/operations/local/countVersions.js.map +1 -1
  644. package/dist/collections/operations/local/create.d.ts +5 -10
  645. package/dist/collections/operations/local/create.d.ts.map +1 -1
  646. package/dist/collections/operations/local/create.js +6 -3
  647. package/dist/collections/operations/local/create.js.map +1 -1
  648. package/dist/collections/operations/local/delete.d.ts +5 -10
  649. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  650. package/dist/collections/operations/local/delete.js +6 -3
  651. package/dist/collections/operations/local/delete.js.map +1 -1
  652. package/dist/collections/operations/local/duplicate.d.ts +5 -10
  653. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  654. package/dist/collections/operations/local/duplicate.js +6 -3
  655. package/dist/collections/operations/local/duplicate.js.map +1 -1
  656. package/dist/collections/operations/local/find.d.ts +5 -10
  657. package/dist/collections/operations/local/find.d.ts.map +1 -1
  658. package/dist/collections/operations/local/find.js +6 -3
  659. package/dist/collections/operations/local/find.js.map +1 -1
  660. package/dist/collections/operations/local/findByID.d.ts +5 -10
  661. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  662. package/dist/collections/operations/local/findByID.js +6 -3
  663. package/dist/collections/operations/local/findByID.js.map +1 -1
  664. package/dist/collections/operations/local/findDistinct.d.ts +4 -9
  665. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  666. package/dist/collections/operations/local/findDistinct.js +6 -3
  667. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  668. package/dist/collections/operations/local/findVersionByID.d.ts +5 -10
  669. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  670. package/dist/collections/operations/local/findVersionByID.js +6 -3
  671. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  672. package/dist/collections/operations/local/findVersions.d.ts +5 -10
  673. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  674. package/dist/collections/operations/local/findVersions.js +6 -3
  675. package/dist/collections/operations/local/findVersions.js.map +1 -1
  676. package/dist/collections/operations/local/restoreVersion.d.ts +5 -10
  677. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  678. package/dist/collections/operations/local/restoreVersion.js +6 -3
  679. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  680. package/dist/collections/operations/local/update.d.ts +5 -10
  681. package/dist/collections/operations/local/update.d.ts.map +1 -1
  682. package/dist/collections/operations/local/update.js +6 -3
  683. package/dist/collections/operations/local/update.js.map +1 -1
  684. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  685. package/dist/collections/operations/restoreVersion.js +48 -13
  686. package/dist/collections/operations/restoreVersion.js.map +1 -1
  687. package/dist/collections/operations/update.d.ts.map +1 -1
  688. package/dist/collections/operations/update.js +148 -24
  689. package/dist/collections/operations/update.js.map +1 -1
  690. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  691. package/dist/collections/operations/updateByID.js +80 -2
  692. package/dist/collections/operations/updateByID.js.map +1 -1
  693. package/dist/collections/operations/utilities/buildAfterOperation.d.ts +1 -1
  694. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  695. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -1
  696. package/dist/collections/operations/utilities/prefetchVersionForInheritedReadAccess.d.ts +15 -0
  697. package/dist/collections/operations/utilities/prefetchVersionForInheritedReadAccess.d.ts.map +1 -0
  698. package/dist/collections/operations/utilities/prefetchVersionForInheritedReadAccess.js +54 -0
  699. package/dist/collections/operations/utilities/prefetchVersionForInheritedReadAccess.js.map +1 -0
  700. package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
  701. package/dist/collections/operations/utilities/types.d.ts +20 -29
  702. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  703. package/dist/collections/operations/utilities/types.js.map +1 -1
  704. package/dist/collections/operations/utilities/update.d.ts +2 -2
  705. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  706. package/dist/collections/operations/utilities/update.js +83 -19
  707. package/dist/collections/operations/utilities/update.js.map +1 -1
  708. package/dist/config/build.js +1 -1
  709. package/dist/config/build.js.map +1 -1
  710. package/dist/config/client.d.ts +4 -4
  711. package/dist/config/client.d.ts.map +1 -1
  712. package/dist/config/client.js +2 -4
  713. package/dist/config/client.js.map +1 -1
  714. package/dist/config/defaults.d.ts +0 -4
  715. package/dist/config/defaults.d.ts.map +1 -1
  716. package/dist/config/defaults.js +94 -119
  717. package/dist/config/defaults.js.map +1 -1
  718. package/dist/config/definePlugin.d.ts +10 -10
  719. package/dist/config/definePlugin.d.ts.map +1 -1
  720. package/dist/config/definePlugin.js +7 -11
  721. package/dist/config/definePlugin.js.map +1 -1
  722. package/dist/config/orderable/fractional-indexing.d.ts +23 -23
  723. package/dist/config/orderable/fractional-indexing.d.ts.map +1 -1
  724. package/dist/config/orderable/index.d.ts +1 -1
  725. package/dist/config/orderable/index.d.ts.map +1 -1
  726. package/dist/config/orderable/index.js +73 -16
  727. package/dist/config/orderable/index.js.map +1 -1
  728. package/dist/config/orderable/utils/getJoinScopeContext.d.ts.map +1 -1
  729. package/dist/config/orderable/utils/getJoinScopeContext.js +1 -0
  730. package/dist/config/orderable/utils/getJoinScopeContext.js.map +1 -1
  731. package/dist/config/orderable/utils/resolvePendingTargetKey.d.ts.map +1 -1
  732. package/dist/config/orderable/utils/resolvePendingTargetKey.js +1 -0
  733. package/dist/config/orderable/utils/resolvePendingTargetKey.js.map +1 -1
  734. package/dist/config/sanitize.d.ts +1 -1
  735. package/dist/config/sanitize.d.ts.map +1 -1
  736. package/dist/config/sanitize.js +175 -40
  737. package/dist/config/sanitize.js.map +1 -1
  738. package/dist/config/types.d.ts +516 -408
  739. package/dist/config/types.d.ts.map +1 -1
  740. package/dist/config/types.js.map +1 -1
  741. package/dist/database/combineQueries.d.ts.map +1 -1
  742. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  743. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  744. package/dist/database/createDatabaseAdapter.js +0 -2
  745. package/dist/database/createDatabaseAdapter.js.map +1 -1
  746. package/dist/database/createSchemaBuildContext.d.ts +12 -0
  747. package/dist/database/createSchemaBuildContext.d.ts.map +1 -0
  748. package/dist/database/createSchemaBuildContext.js +24 -0
  749. package/dist/database/createSchemaBuildContext.js.map +1 -0
  750. package/dist/database/getLocalizedPaths.d.ts +2 -1
  751. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  752. package/dist/database/getLocalizedPaths.js +12 -3
  753. package/dist/database/getLocalizedPaths.js.map +1 -1
  754. package/dist/database/isNestedRelationshipQuery.d.ts +14 -0
  755. package/dist/database/isNestedRelationshipQuery.d.ts.map +1 -0
  756. package/dist/database/isNestedRelationshipQuery.js +19 -0
  757. package/dist/database/isNestedRelationshipQuery.js.map +1 -0
  758. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  759. package/dist/database/migrations/createMigration.js +4 -0
  760. package/dist/database/migrations/createMigration.js.map +1 -1
  761. package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
  762. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  763. package/dist/database/migrations/getMigrations.js +1 -0
  764. package/dist/database/migrations/getMigrations.js.map +1 -1
  765. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  766. package/dist/database/migrations/getPredefinedMigration.js +2 -2
  767. package/dist/database/migrations/getPredefinedMigration.js.map +1 -1
  768. package/dist/database/migrations/migrate.d.ts.map +1 -1
  769. package/dist/database/migrations/migrate.js +14 -2
  770. package/dist/database/migrations/migrate.js.map +1 -1
  771. package/dist/database/migrations/migrateDown.d.ts +2 -2
  772. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  773. package/dist/database/migrations/migrateDown.js +17 -4
  774. package/dist/database/migrations/migrateDown.js.map +1 -1
  775. package/dist/database/migrations/migrateRefresh.d.ts +2 -2
  776. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  777. package/dist/database/migrations/migrateRefresh.js +16 -4
  778. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  779. package/dist/database/migrations/migrateReset.d.ts +2 -2
  780. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  781. package/dist/database/migrations/migrateReset.js +17 -3
  782. package/dist/database/migrations/migrateReset.js.map +1 -1
  783. package/dist/database/migrations/migrateStatus.d.ts +2 -2
  784. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  785. package/dist/database/migrations/migrateStatus.js +11 -6
  786. package/dist/database/migrations/migrateStatus.js.map +1 -1
  787. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  788. package/dist/database/migrations/migrationsCollection.js +1 -0
  789. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  790. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  791. package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
  792. package/dist/database/prefixWherePaths.d.ts +6 -0
  793. package/dist/database/prefixWherePaths.d.ts.map +1 -0
  794. package/dist/database/prefixWherePaths.js +19 -0
  795. package/dist/database/prefixWherePaths.js.map +1 -0
  796. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -1
  797. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  798. package/dist/database/queryValidation/validateQueryPaths.js +12 -2
  799. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  800. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -1
  801. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  802. package/dist/database/queryValidation/validateSearchParams.js +88 -7
  803. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  804. package/dist/database/queryValidation/validateSortQuery.d.ts +23 -0
  805. package/dist/database/queryValidation/validateSortQuery.d.ts.map +1 -0
  806. package/dist/database/queryValidation/validateSortQuery.js +54 -0
  807. package/dist/database/queryValidation/validateSortQuery.js.map +1 -0
  808. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  809. package/dist/database/sanitizeJoinQuery.js +7 -0
  810. package/dist/database/sanitizeJoinQuery.js.map +1 -1
  811. package/dist/database/sanitizeWhereQuery.d.ts +1 -1
  812. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  813. package/dist/database/sanitizeWhereQuery.js +44 -1
  814. package/dist/database/sanitizeWhereQuery.js.map +1 -1
  815. package/dist/database/types.d.ts +42 -13
  816. package/dist/database/types.d.ts.map +1 -1
  817. package/dist/database/types.js.map +1 -1
  818. package/dist/duplicateDocument/index.d.ts.map +1 -1
  819. package/dist/duplicateDocument/index.js +1 -0
  820. package/dist/duplicateDocument/index.js.map +1 -1
  821. package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
  822. package/dist/errors/APIError.d.ts.map +1 -1
  823. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  824. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  825. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  826. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  827. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  828. package/dist/errors/FileRetrievalError.d.ts.map +1 -1
  829. package/dist/errors/FileUploadError.d.ts.map +1 -1
  830. package/dist/errors/Forbidden.d.ts.map +1 -1
  831. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  832. package/dist/errors/InvalidFieldJoin.d.ts.map +1 -1
  833. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  834. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  835. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  836. package/dist/errors/Locked.d.ts.map +1 -1
  837. package/dist/errors/LockedAuth.d.ts.map +1 -1
  838. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  839. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  840. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  841. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  842. package/dist/errors/MissingFile.d.ts.map +1 -1
  843. package/dist/errors/NotFound.d.ts.map +1 -1
  844. package/dist/errors/QueryError.d.ts.map +1 -1
  845. package/dist/errors/ReservedFieldName.d.ts.map +1 -1
  846. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  847. package/dist/errors/UnauthorizedError.d.ts.map +1 -1
  848. package/dist/errors/UnverifiedEmail.d.ts.map +1 -1
  849. package/dist/errors/ValidationError.d.ts.map +1 -1
  850. package/dist/exports/auth.d.ts +5 -0
  851. package/dist/exports/auth.d.ts.map +1 -0
  852. package/dist/exports/auth.js +6 -0
  853. package/dist/exports/auth.js.map +1 -0
  854. package/dist/exports/cli.d.ts +4 -0
  855. package/dist/exports/cli.d.ts.map +1 -0
  856. package/dist/exports/cli.js +4 -0
  857. package/dist/exports/cli.js.map +1 -0
  858. package/dist/exports/cliBuiltin.d.ts +37 -0
  859. package/dist/exports/cliBuiltin.d.ts.map +1 -0
  860. package/dist/exports/cliBuiltin.js +38 -0
  861. package/dist/exports/cliBuiltin.js.map +1 -0
  862. package/dist/exports/internal.d.ts +18 -1
  863. package/dist/exports/internal.d.ts.map +1 -1
  864. package/dist/exports/internal.js +16 -1
  865. package/dist/exports/internal.js.map +1 -1
  866. package/dist/exports/node.d.ts +2 -2
  867. package/dist/exports/node.d.ts.map +1 -1
  868. package/dist/exports/node.js +2 -2
  869. package/dist/exports/node.js.map +1 -1
  870. package/dist/exports/shared.d.ts +12 -6
  871. package/dist/exports/shared.d.ts.map +1 -1
  872. package/dist/exports/shared.js +10 -5
  873. package/dist/exports/shared.js.map +1 -1
  874. package/dist/fields/baseFields/authorship/index.d.ts +30 -0
  875. package/dist/fields/baseFields/authorship/index.d.ts.map +1 -0
  876. package/dist/fields/baseFields/authorship/index.js +151 -0
  877. package/dist/fields/baseFields/authorship/index.js.map +1 -0
  878. package/dist/fields/baseFields/authorship/types.d.ts +28 -0
  879. package/dist/fields/baseFields/authorship/types.d.ts.map +1 -0
  880. package/dist/fields/baseFields/authorship/types.js +10 -0
  881. package/dist/fields/baseFields/authorship/types.js.map +1 -0
  882. package/dist/fields/baseFields/slug/duplicateContext.d.ts +11 -0
  883. package/dist/fields/baseFields/slug/duplicateContext.d.ts.map +1 -0
  884. package/dist/fields/baseFields/slug/duplicateContext.js +21 -0
  885. package/dist/fields/baseFields/slug/duplicateContext.js.map +1 -0
  886. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts +23 -0
  887. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.d.ts.map +1 -0
  888. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js +65 -0
  889. package/dist/fields/baseFields/slug/fillEmptyLocalizedSlugs.js.map +1 -0
  890. package/dist/fields/baseFields/slug/generateSlug.d.ts +19 -7
  891. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  892. package/dist/fields/baseFields/slug/generateSlug.js +111 -74
  893. package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
  894. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts +18 -0
  895. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.d.ts.map +1 -0
  896. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js +20 -0
  897. package/dist/fields/baseFields/slug/generateSlugBeforeDuplicate.js.map +1 -0
  898. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts +23 -0
  899. package/dist/fields/baseFields/slug/getSlugFallbackValue.d.ts.map +1 -0
  900. package/dist/fields/baseFields/slug/getSlugFallbackValue.js +24 -0
  901. package/dist/fields/baseFields/slug/getSlugFallbackValue.js.map +1 -0
  902. package/dist/fields/baseFields/slug/hasValue.d.ts +3 -0
  903. package/dist/fields/baseFields/slug/hasValue.d.ts.map +1 -0
  904. package/dist/fields/baseFields/slug/hasValue.js +3 -0
  905. package/dist/fields/baseFields/slug/hasValue.js.map +1 -0
  906. package/dist/fields/baseFields/slug/types.d.ts +14 -0
  907. package/dist/fields/baseFields/slug/types.d.ts.map +1 -0
  908. package/dist/fields/baseFields/slug/types.js +6 -0
  909. package/dist/fields/baseFields/slug/types.js.map +1 -0
  910. package/dist/fields/config/client.d.ts +5 -5
  911. package/dist/fields/config/client.d.ts.map +1 -1
  912. package/dist/fields/config/client.js +3 -2
  913. package/dist/fields/config/client.js.map +1 -1
  914. package/dist/fields/config/reservedFieldNames.js.map +1 -1
  915. package/dist/fields/config/sanitize.d.ts +6 -6
  916. package/dist/fields/config/sanitize.d.ts.map +1 -1
  917. package/dist/fields/config/sanitize.js +68 -19
  918. package/dist/fields/config/sanitize.js.map +1 -1
  919. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  920. package/dist/fields/config/types.d.ts +97 -57
  921. package/dist/fields/config/types.d.ts.map +1 -1
  922. package/dist/fields/config/types.js +1 -1
  923. package/dist/fields/config/types.js.map +1 -1
  924. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  925. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  926. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  927. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  928. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  929. package/dist/fields/hooks/afterRead/promise.js +11 -1
  930. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  931. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  932. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  933. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  934. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  935. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  936. package/dist/fields/hooks/beforeChange/index.d.ts +7 -1
  937. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  938. package/dist/fields/hooks/beforeChange/index.js +4 -2
  939. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  940. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -1
  941. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  942. package/dist/fields/hooks/beforeChange/promise.js +52 -9
  943. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  944. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +2 -1
  945. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  946. package/dist/fields/hooks/beforeChange/traverseFields.js +3 -2
  947. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  948. package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
  949. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  950. package/dist/fields/hooks/beforeDuplicate/promise.js +4 -0
  951. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  952. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  953. package/dist/fields/hooks/beforeValidate/getFallbackValue.d.ts +2 -1
  954. package/dist/fields/hooks/beforeValidate/getFallbackValue.d.ts.map +1 -1
  955. package/dist/fields/hooks/beforeValidate/getFallbackValue.js +2 -2
  956. package/dist/fields/hooks/beforeValidate/getFallbackValue.js.map +1 -1
  957. package/dist/fields/hooks/beforeValidate/index.d.ts +6 -1
  958. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  959. package/dist/fields/hooks/beforeValidate/index.js +3 -1
  960. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  961. package/dist/fields/hooks/beforeValidate/promise.d.ts +6 -1
  962. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  963. package/dist/fields/hooks/beforeValidate/promise.js +37 -11
  964. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  965. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
  966. package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
  967. package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
  968. package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
  969. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +6 -1
  970. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  971. package/dist/fields/hooks/beforeValidate/traverseFields.js +5 -1
  972. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  973. package/dist/fields/isFieldDisabled.d.ts.map +1 -1
  974. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  975. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  976. package/dist/fields/setDefaultBeforeDuplicate.js +1 -0
  977. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  978. package/dist/fields/sortableFieldTypes.d.ts.map +1 -1
  979. package/dist/fields/sortableFieldTypes.js +1 -0
  980. package/dist/fields/sortableFieldTypes.js.map +1 -1
  981. package/dist/fields/validations.d.ts +4 -1
  982. package/dist/fields/validations.d.ts.map +1 -1
  983. package/dist/fields/validations.js +18 -9
  984. package/dist/fields/validations.js.map +1 -1
  985. package/dist/globals/config/client.d.ts +5 -5
  986. package/dist/globals/config/client.d.ts.map +1 -1
  987. package/dist/globals/config/client.js.map +1 -1
  988. package/dist/globals/config/sanitize.d.ts +3 -7
  989. package/dist/globals/config/sanitize.d.ts.map +1 -1
  990. package/dist/globals/config/sanitize.js +78 -9
  991. package/dist/globals/config/sanitize.js.map +1 -1
  992. package/dist/globals/config/types.d.ts +33 -16
  993. package/dist/globals/config/types.d.ts.map +1 -1
  994. package/dist/globals/config/types.js.map +1 -1
  995. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  996. package/dist/globals/operations/countGlobalVersions.js +57 -55
  997. package/dist/globals/operations/countGlobalVersions.js.map +1 -1
  998. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  999. package/dist/globals/operations/docAccess.js +19 -25
  1000. package/dist/globals/operations/docAccess.js.map +1 -1
  1001. package/dist/globals/operations/findOne.d.ts.map +1 -1
  1002. package/dist/globals/operations/findOne.js +169 -174
  1003. package/dist/globals/operations/findOne.js.map +1 -1
  1004. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  1005. package/dist/globals/operations/findVersionByID.js +112 -108
  1006. package/dist/globals/operations/findVersionByID.js.map +1 -1
  1007. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  1008. package/dist/globals/operations/findVersions.js +118 -109
  1009. package/dist/globals/operations/findVersions.js.map +1 -1
  1010. package/dist/globals/operations/inputSchemas.d.ts +365 -0
  1011. package/dist/globals/operations/inputSchemas.d.ts.map +1 -0
  1012. package/dist/globals/operations/inputSchemas.js +104 -0
  1013. package/dist/globals/operations/inputSchemas.js.map +1 -0
  1014. package/dist/globals/operations/local/countVersions.d.ts +5 -10
  1015. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  1016. package/dist/globals/operations/local/countVersions.js +6 -3
  1017. package/dist/globals/operations/local/countVersions.js.map +1 -1
  1018. package/dist/globals/operations/local/findOne.d.ts +5 -10
  1019. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  1020. package/dist/globals/operations/local/findOne.js +6 -3
  1021. package/dist/globals/operations/local/findOne.js.map +1 -1
  1022. package/dist/globals/operations/local/findVersionByID.d.ts +5 -10
  1023. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  1024. package/dist/globals/operations/local/findVersionByID.js +6 -3
  1025. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  1026. package/dist/globals/operations/local/findVersions.d.ts +5 -10
  1027. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  1028. package/dist/globals/operations/local/findVersions.js +6 -3
  1029. package/dist/globals/operations/local/findVersions.js.map +1 -1
  1030. package/dist/globals/operations/local/restoreVersion.d.ts +5 -10
  1031. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  1032. package/dist/globals/operations/local/restoreVersion.js +6 -3
  1033. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  1034. package/dist/globals/operations/local/update.d.ts +5 -10
  1035. package/dist/globals/operations/local/update.d.ts.map +1 -1
  1036. package/dist/globals/operations/local/update.js +6 -3
  1037. package/dist/globals/operations/local/update.js.map +1 -1
  1038. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  1039. package/dist/globals/operations/restoreVersion.js +60 -14
  1040. package/dist/globals/operations/restoreVersion.js.map +1 -1
  1041. package/dist/globals/operations/update.d.ts.map +1 -1
  1042. package/dist/globals/operations/update.js +106 -19
  1043. package/dist/globals/operations/update.js.map +1 -1
  1044. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  1045. package/dist/hierarchy/addHierarchyToCollection.js +2 -0
  1046. package/dist/hierarchy/addHierarchyToCollection.js.map +1 -1
  1047. package/dist/hierarchy/buildParentField.d.ts.map +1 -1
  1048. package/dist/hierarchy/constants.d.ts.map +1 -1
  1049. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  1050. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
  1051. package/dist/hierarchy/hooks/collectionAfterDelete.js +1 -0
  1052. package/dist/hierarchy/hooks/collectionAfterDelete.js.map +1 -1
  1053. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
  1054. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
  1055. package/dist/hierarchy/hooks/collectionBeforeChange.js +1 -0
  1056. package/dist/hierarchy/hooks/collectionBeforeChange.js.map +1 -1
  1057. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
  1058. package/dist/hierarchy/hooks/collectionBeforeDelete.js +1 -0
  1059. package/dist/hierarchy/hooks/collectionBeforeDelete.js.map +1 -1
  1060. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
  1061. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
  1062. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
  1063. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
  1064. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  1065. package/dist/index.bundled.d.ts +5570 -3818
  1066. package/dist/index.d.ts +170 -67
  1067. package/dist/index.d.ts.map +1 -1
  1068. package/dist/index.js +89 -67
  1069. package/dist/index.js.map +1 -1
  1070. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  1071. package/dist/kv/adapters/DatabaseKVAdapter.js +2 -1
  1072. package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
  1073. package/dist/kv/adapters/InMemoryKVAdapter.d.ts.map +1 -1
  1074. package/dist/locked-documents/config.d.ts.map +1 -1
  1075. package/dist/locked-documents/config.js +1 -0
  1076. package/dist/locked-documents/config.js.map +1 -1
  1077. package/dist/preferences/config.d.ts.map +1 -1
  1078. package/dist/preferences/config.js +3 -1
  1079. package/dist/preferences/config.js.map +1 -1
  1080. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  1081. package/dist/preferences/keys.d.ts +8 -4
  1082. package/dist/preferences/keys.d.ts.map +1 -1
  1083. package/dist/preferences/keys.js +4 -1
  1084. package/dist/preferences/keys.js.map +1 -1
  1085. package/dist/preferences/types.d.ts +15 -0
  1086. package/dist/preferences/types.d.ts.map +1 -1
  1087. package/dist/preferences/types.js +3 -1
  1088. package/dist/preferences/types.js.map +1 -1
  1089. package/dist/query-presets/access.d.ts.map +1 -1
  1090. package/dist/query-presets/access.js +2 -1
  1091. package/dist/query-presets/access.js.map +1 -1
  1092. package/dist/query-presets/config.d.ts.map +1 -1
  1093. package/dist/query-presets/config.js +1 -0
  1094. package/dist/query-presets/config.js.map +1 -1
  1095. package/dist/query-presets/constraints.d.ts.map +1 -1
  1096. package/dist/query-presets/constraints.js +1 -1
  1097. package/dist/query-presets/constraints.js.map +1 -1
  1098. package/dist/query-presets/preventLockout.js +6 -3
  1099. package/dist/query-presets/preventLockout.js.map +1 -1
  1100. package/dist/query-presets/types.d.ts +1 -1
  1101. package/dist/query-presets/types.d.ts.map +1 -1
  1102. package/dist/queues/config/collection.d.ts.map +1 -1
  1103. package/dist/queues/config/collection.js +44 -43
  1104. package/dist/queues/config/collection.js.map +1 -1
  1105. package/dist/queues/config/global.d.ts +5 -6
  1106. package/dist/queues/config/global.d.ts.map +1 -1
  1107. package/dist/queues/config/global.js +2 -1
  1108. package/dist/queues/config/global.js.map +1 -1
  1109. package/dist/queues/config/types/index.d.ts +33 -25
  1110. package/dist/queues/config/types/index.d.ts.map +1 -1
  1111. package/dist/queues/config/types/index.js.map +1 -1
  1112. package/dist/queues/config/types/taskTypes.d.ts +4 -7
  1113. package/dist/queues/config/types/taskTypes.d.ts.map +1 -1
  1114. package/dist/queues/config/types/taskTypes.js.map +1 -1
  1115. package/dist/queues/config/types/workflowJSONTypes.d.ts +10 -9
  1116. package/dist/queues/config/types/workflowJSONTypes.d.ts.map +1 -1
  1117. package/dist/queues/config/types/workflowJSONTypes.js.map +1 -1
  1118. package/dist/queues/config/types/workflowTypes.d.ts +11 -58
  1119. package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
  1120. package/dist/queues/config/types/workflowTypes.js.map +1 -1
  1121. package/dist/queues/endpoints/handleSchedules.d.ts.map +1 -1
  1122. package/dist/queues/endpoints/handleSchedules.js +3 -2
  1123. package/dist/queues/endpoints/handleSchedules.js.map +1 -1
  1124. package/dist/queues/endpoints/run.d.ts.map +1 -1
  1125. package/dist/queues/endpoints/run.js +2 -1
  1126. package/dist/queues/endpoints/run.js.map +1 -1
  1127. package/dist/queues/errors/handleTaskError.js +4 -4
  1128. package/dist/queues/errors/handleTaskError.js.map +1 -1
  1129. package/dist/queues/errors/handleWorkflowError.js +1 -1
  1130. package/dist/queues/errors/handleWorkflowError.js.map +1 -1
  1131. package/dist/queues/errors/index.d.ts +6 -0
  1132. package/dist/queues/errors/index.d.ts.map +1 -1
  1133. package/dist/queues/errors/index.js +5 -0
  1134. package/dist/queues/errors/index.js.map +1 -1
  1135. package/dist/queues/localAPI.d.ts +14 -67
  1136. package/dist/queues/localAPI.d.ts.map +1 -1
  1137. package/dist/queues/localAPI.js +87 -78
  1138. package/dist/queues/localAPI.js.map +1 -1
  1139. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts +4 -4
  1140. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.d.ts.map +1 -1
  1141. package/dist/queues/operations/handleSchedules/countRunnableOrActiveJobsForQueue.js.map +1 -1
  1142. package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
  1143. package/dist/queues/operations/handleSchedules/index.d.ts +1 -1
  1144. package/dist/queues/operations/handleSchedules/index.d.ts.map +1 -1
  1145. package/dist/queues/operations/handleSchedules/index.js +2 -1
  1146. package/dist/queues/operations/handleSchedules/index.js.map +1 -1
  1147. package/dist/queues/operations/runJobs/heartbeat.d.ts +13 -0
  1148. package/dist/queues/operations/runJobs/heartbeat.d.ts.map +1 -0
  1149. package/dist/queues/operations/runJobs/heartbeat.js +66 -0
  1150. package/dist/queues/operations/runJobs/heartbeat.js.map +1 -0
  1151. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  1152. package/dist/queues/operations/runJobs/index.js +133 -84
  1153. package/dist/queues/operations/runJobs/index.js.map +1 -1
  1154. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  1155. package/dist/queues/operations/runJobs/runJSONJob/index.js +6 -3
  1156. package/dist/queues/operations/runJobs/runJSONJob/index.js.map +1 -1
  1157. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  1158. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js +5 -5
  1159. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.js.map +1 -1
  1160. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts +2 -1
  1161. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.d.ts.map +1 -1
  1162. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js +39 -8
  1163. package/dist/queues/operations/runJobs/runJob/getUpdateJobFunction.js.map +1 -1
  1164. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts +1 -1
  1165. package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts.map +1 -1
  1166. package/dist/queues/operations/runJobs/runJob/importHandlerPath.js.map +1 -1
  1167. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  1168. package/dist/queues/operations/runJobs/runJob/index.js +4 -4
  1169. package/dist/queues/operations/runJobs/runJob/index.js.map +1 -1
  1170. package/dist/queues/utilities/getCurrentDate.d.ts.map +1 -1
  1171. package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
  1172. package/dist/queues/utilities/updateJob.d.ts.map +1 -1
  1173. package/dist/queues/utilities/updateJob.js +3 -0
  1174. package/dist/queues/utilities/updateJob.js.map +1 -1
  1175. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  1176. package/dist/types/constants.d.ts +23 -2
  1177. package/dist/types/constants.d.ts.map +1 -1
  1178. package/dist/types/constants.js +23 -0
  1179. package/dist/types/constants.js.map +1 -1
  1180. package/dist/types/index.d.ts +13 -10
  1181. package/dist/types/index.d.ts.map +1 -1
  1182. package/dist/types/index.js.map +1 -1
  1183. package/dist/types/operations.d.ts +9 -0
  1184. package/dist/types/operations.d.ts.map +1 -0
  1185. package/dist/types/operations.js +3 -0
  1186. package/dist/types/operations.js.map +1 -0
  1187. package/dist/uploads/assertClientUploadAccess.d.ts +7 -0
  1188. package/dist/uploads/assertClientUploadAccess.d.ts.map +1 -0
  1189. package/dist/uploads/assertClientUploadAccess.js +29 -0
  1190. package/dist/uploads/assertClientUploadAccess.js.map +1 -0
  1191. package/dist/uploads/assertClientUploadAllowed.d.ts +10 -0
  1192. package/dist/uploads/assertClientUploadAllowed.d.ts.map +1 -0
  1193. package/dist/uploads/assertClientUploadAllowed.js +41 -0
  1194. package/dist/uploads/assertClientUploadAllowed.js.map +1 -0
  1195. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  1196. package/dist/uploads/checkFileAccess.js +1 -0
  1197. package/dist/uploads/checkFileAccess.js.map +1 -1
  1198. package/dist/uploads/checkFileRestrictions.d.ts +11 -1
  1199. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  1200. package/dist/uploads/checkFileRestrictions.js +91 -26
  1201. package/dist/uploads/checkFileRestrictions.js.map +1 -1
  1202. package/dist/uploads/clientUploadReceipt.d.ts +29 -0
  1203. package/dist/uploads/clientUploadReceipt.d.ts.map +1 -0
  1204. package/dist/uploads/clientUploadReceipt.js +76 -0
  1205. package/dist/uploads/clientUploadReceipt.js.map +1 -0
  1206. package/dist/uploads/cropImage.d.ts +1 -1
  1207. package/dist/uploads/cropImage.d.ts.map +1 -1
  1208. package/dist/uploads/cropImage.js +2 -5
  1209. package/dist/uploads/cropImage.js.map +1 -1
  1210. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  1211. package/dist/uploads/deleteAssociatedFiles.js +57 -9
  1212. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  1213. package/dist/uploads/detectSvgFromXml.d.ts +1 -4
  1214. package/dist/uploads/detectSvgFromXml.d.ts.map +1 -1
  1215. package/dist/uploads/detectSvgFromXml.js +2 -41
  1216. package/dist/uploads/detectSvgFromXml.js.map +1 -1
  1217. package/dist/uploads/docWithFilenameExists.d.ts +2 -1
  1218. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  1219. package/dist/uploads/docWithFilenameExists.js +27 -10
  1220. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  1221. package/dist/uploads/downloadFileToBuffer.d.ts +11 -0
  1222. package/dist/uploads/downloadFileToBuffer.d.ts.map +1 -0
  1223. package/dist/uploads/downloadFileToBuffer.js +72 -0
  1224. package/dist/uploads/downloadFileToBuffer.js.map +1 -0
  1225. package/dist/uploads/endpoints/getFile.d.ts.map +1 -1
  1226. package/dist/uploads/endpoints/getFile.js +5 -3
  1227. package/dist/uploads/endpoints/getFile.js.map +1 -1
  1228. package/dist/uploads/endpoints/index.js +2 -2
  1229. package/dist/uploads/endpoints/index.js.map +1 -1
  1230. package/dist/uploads/endpoints/pasteURL.d.ts +3 -0
  1231. package/dist/uploads/endpoints/pasteURL.d.ts.map +1 -0
  1232. package/dist/uploads/endpoints/{getFileFromURL.js → pasteURL.js} +19 -55
  1233. package/dist/uploads/endpoints/pasteURL.js.map +1 -0
  1234. package/dist/uploads/endpoints/uploadInstructions.d.ts +15 -0
  1235. package/dist/uploads/endpoints/uploadInstructions.d.ts.map +1 -0
  1236. package/dist/uploads/endpoints/uploadInstructions.js +87 -0
  1237. package/dist/uploads/endpoints/uploadInstructions.js.map +1 -0
  1238. package/dist/uploads/fetchAPI-multipart/handlers.d.ts +2 -2
  1239. package/dist/uploads/fetchAPI-multipart/handlers.d.ts.map +1 -1
  1240. package/dist/uploads/fetchAPI-multipart/handlers.js +18 -5
  1241. package/dist/uploads/fetchAPI-multipart/handlers.js.map +1 -1
  1242. package/dist/uploads/fetchAPI-multipart/index.d.ts.map +1 -1
  1243. package/dist/uploads/fetchAPI-multipart/index.js +24 -2
  1244. package/dist/uploads/fetchAPI-multipart/index.js.map +1 -1
  1245. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  1246. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js +1 -2
  1247. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
  1248. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts +0 -6
  1249. package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
  1250. package/dist/uploads/fetchAPI-multipart/processMultipart.js +146 -139
  1251. package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
  1252. package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
  1253. package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
  1254. package/dist/uploads/fetchWithRedirects.d.ts +19 -0
  1255. package/dist/uploads/fetchWithRedirects.d.ts.map +1 -0
  1256. package/dist/uploads/fetchWithRedirects.js +53 -0
  1257. package/dist/uploads/fetchWithRedirects.js.map +1 -0
  1258. package/dist/uploads/fileExists.d.ts.map +1 -1
  1259. package/dist/uploads/generateFileData.d.ts +31 -1
  1260. package/dist/uploads/generateFileData.d.ts.map +1 -1
  1261. package/dist/uploads/generateFileData.js +117 -65
  1262. package/dist/uploads/generateFileData.js.map +1 -1
  1263. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  1264. package/dist/uploads/getBaseFields.js +3 -1
  1265. package/dist/uploads/getBaseFields.js.map +1 -1
  1266. package/dist/uploads/getFileByPath.d.ts +1 -1
  1267. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  1268. package/dist/uploads/getFileContentRequirement.d.ts +32 -0
  1269. package/dist/uploads/getFileContentRequirement.d.ts.map +1 -0
  1270. package/dist/uploads/getFileContentRequirement.js +40 -0
  1271. package/dist/uploads/getFileContentRequirement.js.map +1 -0
  1272. package/dist/uploads/getFileFromUploadInstructions.d.ts +8 -0
  1273. package/dist/uploads/getFileFromUploadInstructions.d.ts.map +1 -0
  1274. package/dist/uploads/getFileFromUploadInstructions.js +279 -0
  1275. package/dist/uploads/getFileFromUploadInstructions.js.map +1 -0
  1276. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  1277. package/dist/uploads/getFileTypeFallback.js +3 -1
  1278. package/dist/uploads/getFileTypeFallback.js.map +1 -1
  1279. package/dist/uploads/getFileTypeIdentity.d.ts +19 -0
  1280. package/dist/uploads/getFileTypeIdentity.d.ts.map +1 -0
  1281. package/dist/uploads/getFileTypeIdentity.js +34 -0
  1282. package/dist/uploads/getFileTypeIdentity.js.map +1 -0
  1283. package/dist/uploads/getImageSize.d.ts +12 -1
  1284. package/dist/uploads/getImageSize.d.ts.map +1 -1
  1285. package/dist/uploads/getImageSize.js +20 -18
  1286. package/dist/uploads/getImageSize.js.map +1 -1
  1287. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  1288. package/dist/uploads/hasCropOrResizeEdit.d.ts +7 -0
  1289. package/dist/uploads/hasCropOrResizeEdit.d.ts.map +1 -0
  1290. package/dist/uploads/hasCropOrResizeEdit.js +6 -0
  1291. package/dist/uploads/hasCropOrResizeEdit.js.map +1 -0
  1292. package/dist/uploads/hasFullFileContents.d.ts +13 -0
  1293. package/dist/uploads/hasFullFileContents.d.ts.map +1 -0
  1294. package/dist/uploads/hasFullFileContents.js +12 -0
  1295. package/dist/uploads/hasFullFileContents.js.map +1 -0
  1296. package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
  1297. package/dist/uploads/image-resizing/createImageSizes.d.ts.map +1 -1
  1298. package/dist/uploads/image-resizing/createImageSizes.js +2 -5
  1299. package/dist/uploads/image-resizing/createImageSizes.js.map +1 -1
  1300. package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
  1301. package/dist/uploads/image-resizing/getImageResizeAction.d.ts +1 -1
  1302. package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
  1303. package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
  1304. package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
  1305. package/dist/uploads/isAnimatedImage.d.ts +8 -0
  1306. package/dist/uploads/isAnimatedImage.d.ts.map +1 -0
  1307. package/dist/uploads/isAnimatedImage.js +22 -0
  1308. package/dist/uploads/isAnimatedImage.js.map +1 -0
  1309. package/dist/uploads/isProcessableImage.d.ts +2 -0
  1310. package/dist/uploads/isProcessableImage.d.ts.map +1 -0
  1311. package/dist/uploads/isProcessableImage.js +7 -0
  1312. package/dist/uploads/isProcessableImage.js.map +1 -0
  1313. package/dist/uploads/matchMimeType.d.ts +8 -0
  1314. package/dist/uploads/matchMimeType.d.ts.map +1 -0
  1315. package/dist/uploads/matchMimeType.js +19 -0
  1316. package/dist/uploads/matchMimeType.js.map +1 -0
  1317. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  1318. package/dist/uploads/probeImageSize.d.ts +39 -0
  1319. package/dist/uploads/probeImageSize.d.ts.map +1 -0
  1320. package/dist/uploads/probeImageSize.js +374 -0
  1321. package/dist/uploads/probeImageSize.js.map +1 -0
  1322. package/dist/uploads/resolveURLUploadInput.d.ts +25 -0
  1323. package/dist/uploads/resolveURLUploadInput.d.ts.map +1 -0
  1324. package/dist/uploads/resolveURLUploadInput.js +53 -0
  1325. package/dist/uploads/resolveURLUploadInput.js.map +1 -0
  1326. package/dist/uploads/safeFetch.d.ts.map +1 -1
  1327. package/dist/uploads/safeFetch.js +3 -2
  1328. package/dist/uploads/safeFetch.js.map +1 -1
  1329. package/dist/uploads/sanitizeUploadData.d.ts +26 -0
  1330. package/dist/uploads/sanitizeUploadData.d.ts.map +1 -0
  1331. package/dist/uploads/sanitizeUploadData.js +161 -0
  1332. package/dist/uploads/sanitizeUploadData.js.map +1 -0
  1333. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  1334. package/dist/uploads/stagedUpload.d.ts +27 -0
  1335. package/dist/uploads/stagedUpload.d.ts.map +1 -0
  1336. package/dist/uploads/stagedUpload.js +197 -0
  1337. package/dist/uploads/stagedUpload.js.map +1 -0
  1338. package/dist/uploads/types.d.ts +122 -10
  1339. package/dist/uploads/types.d.ts.map +1 -1
  1340. package/dist/uploads/types.js.map +1 -1
  1341. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  1342. package/dist/uploads/unlinkTempFiles.js +6 -2
  1343. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  1344. package/dist/uploads/uploadContentSecurityPolicy.d.ts +2 -0
  1345. package/dist/uploads/uploadContentSecurityPolicy.d.ts.map +1 -0
  1346. package/dist/uploads/uploadContentSecurityPolicy.js +3 -0
  1347. package/dist/uploads/uploadContentSecurityPolicy.js.map +1 -0
  1348. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  1349. package/dist/uploads/uploadFiles.js +7 -2
  1350. package/dist/uploads/uploadFiles.js.map +1 -1
  1351. package/dist/uploads/validateISOBaseMediaFile.d.ts +4 -0
  1352. package/dist/uploads/validateISOBaseMediaFile.d.ts.map +1 -0
  1353. package/dist/uploads/validateISOBaseMediaFile.js +91 -0
  1354. package/dist/uploads/validateISOBaseMediaFile.js.map +1 -0
  1355. package/dist/uploads/validateSvg.d.ts +10 -4
  1356. package/dist/uploads/validateSvg.d.ts.map +1 -1
  1357. package/dist/uploads/validateSvg.js +280 -40
  1358. package/dist/uploads/validateSvg.js.map +1 -1
  1359. package/dist/uploads/validateUploadFilename.d.ts +3 -0
  1360. package/dist/uploads/validateUploadFilename.d.ts.map +1 -0
  1361. package/dist/uploads/validateUploadFilename.js +13 -0
  1362. package/dist/uploads/validateUploadFilename.js.map +1 -0
  1363. package/dist/uploads/validateUploadURL.d.ts +13 -0
  1364. package/dist/uploads/validateUploadURL.d.ts.map +1 -0
  1365. package/dist/uploads/validateUploadURL.js +37 -0
  1366. package/dist/uploads/validateUploadURL.js.map +1 -0
  1367. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  1368. package/dist/utilities/addDataAndFileToRequest.js +14 -39
  1369. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  1370. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  1371. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  1372. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
  1373. package/dist/utilities/appendNonTrashedFilter.d.ts +1 -1
  1374. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  1375. package/dist/utilities/appendNonTrashedFilter.js.map +1 -1
  1376. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  1377. package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
  1378. package/dist/utilities/canAccessAdmin.js +2 -0
  1379. package/dist/utilities/canAccessAdmin.js.map +1 -1
  1380. package/dist/utilities/checkDocumentLockStatus.d.ts +19 -0
  1381. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  1382. package/dist/utilities/checkDocumentLockStatus.js +74 -0
  1383. package/dist/utilities/checkDocumentLockStatus.js.map +1 -1
  1384. package/dist/utilities/configToJSONSchema.d.ts +13 -4
  1385. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  1386. package/dist/utilities/configToJSONSchema.js +139 -61
  1387. package/dist/utilities/configToJSONSchema.js.map +1 -1
  1388. package/dist/utilities/createPayloadRequest.d.ts +12 -10
  1389. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  1390. package/dist/utilities/createPayloadRequest.js +98 -80
  1391. package/dist/utilities/createPayloadRequest.js.map +1 -1
  1392. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts +14 -0
  1393. package/dist/utilities/createPayloadRequestFromWebRequest.d.ts.map +1 -0
  1394. package/dist/utilities/createPayloadRequestFromWebRequest.js +95 -0
  1395. package/dist/utilities/createPayloadRequestFromWebRequest.js.map +1 -0
  1396. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  1397. package/dist/utilities/deepCopyObject.js +110 -19
  1398. package/dist/utilities/deepCopyObject.js.map +1 -1
  1399. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
  1400. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts +30 -0
  1401. package/dist/utilities/entityInputSchema/filterFieldsByAccess.d.ts.map +1 -0
  1402. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js +71 -0
  1403. package/dist/utilities/entityInputSchema/filterFieldsByAccess.js.map +1 -0
  1404. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts +13 -0
  1405. package/dist/utilities/entityInputSchema/getEntityInputSchema.d.ts.map +1 -0
  1406. package/dist/utilities/entityInputSchema/getEntityInputSchema.js +66 -0
  1407. package/dist/utilities/entityInputSchema/getEntityInputSchema.js.map +1 -0
  1408. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts +10 -0
  1409. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.d.ts.map +1 -0
  1410. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js +384 -0
  1411. package/dist/utilities/entityInputSchema/sanitizeEntitySchema.js.map +1 -0
  1412. package/dist/utilities/entityInputSchema/types.d.ts +16 -0
  1413. package/dist/utilities/entityInputSchema/types.d.ts.map +1 -0
  1414. package/dist/utilities/entityInputSchema/types.js +3 -0
  1415. package/dist/utilities/entityInputSchema/types.js.map +1 -0
  1416. package/dist/utilities/entityInputSchema/validateEntityData.d.ts +13 -0
  1417. package/dist/utilities/entityInputSchema/validateEntityData.d.ts.map +1 -0
  1418. package/dist/utilities/entityInputSchema/validateEntityData.js +138 -0
  1419. package/dist/utilities/entityInputSchema/validateEntityData.js.map +1 -0
  1420. package/dist/utilities/escapeRegExp.d.ts.map +1 -1
  1421. package/dist/utilities/extractID.d.ts.map +1 -1
  1422. package/dist/utilities/fieldPath.d.ts +13 -0
  1423. package/dist/utilities/fieldPath.d.ts.map +1 -0
  1424. package/dist/utilities/fieldPath.js +51 -0
  1425. package/dist/utilities/fieldPath.js.map +1 -0
  1426. package/dist/utilities/fieldValueExists.d.ts +29 -0
  1427. package/dist/utilities/fieldValueExists.d.ts.map +1 -0
  1428. package/dist/utilities/fieldValueExists.js +37 -0
  1429. package/dist/utilities/fieldValueExists.js.map +1 -0
  1430. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  1431. package/dist/utilities/formatAdminURL.d.ts +1 -0
  1432. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  1433. package/dist/utilities/formatAdminURL.js +22 -4
  1434. package/dist/utilities/formatAdminURL.js.map +1 -1
  1435. package/dist/utilities/formatErrors.d.ts.map +1 -1
  1436. package/dist/utilities/formatLabels.d.ts.map +1 -1
  1437. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
  1438. package/dist/utilities/getBlockSelect.d.ts.map +1 -1
  1439. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  1440. package/dist/utilities/getEntityPermissions/entityDocExists.d.ts.map +1 -1
  1441. package/dist/utilities/getEntityPermissions/entityDocExists.js +36 -5
  1442. package/dist/utilities/getEntityPermissions/entityDocExists.js.map +1 -1
  1443. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  1444. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +3 -0
  1445. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  1446. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
  1447. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  1448. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +19 -2
  1449. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  1450. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  1451. package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
  1452. package/dist/utilities/getNextVersion.d.ts +7 -0
  1453. package/dist/utilities/getNextVersion.d.ts.map +1 -0
  1454. package/dist/utilities/getNextVersion.js +20 -0
  1455. package/dist/utilities/getNextVersion.js.map +1 -0
  1456. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  1457. package/dist/utilities/getObjectDotNotation.js +7 -1
  1458. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  1459. package/dist/utilities/getRequestEntity.d.ts.map +1 -1
  1460. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  1461. package/dist/utilities/getRequestOrigin.d.ts +2 -2
  1462. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  1463. package/dist/utilities/getRequestOrigin.js.map +1 -1
  1464. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  1465. package/dist/utilities/getSafeRedirect.js +16 -9
  1466. package/dist/utilities/getSafeRedirect.js.map +1 -1
  1467. package/dist/utilities/getSelectMode.d.ts.map +1 -1
  1468. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  1469. package/dist/utilities/getTopLevelFieldNames.d.ts +2 -0
  1470. package/dist/utilities/getTopLevelFieldNames.d.ts.map +1 -0
  1471. package/dist/utilities/getTopLevelFieldNames.js +3 -0
  1472. package/dist/utilities/getTopLevelFieldNames.js.map +1 -0
  1473. package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
  1474. package/dist/utilities/getUniqueFieldValue.d.ts +28 -0
  1475. package/dist/utilities/getUniqueFieldValue.d.ts.map +1 -0
  1476. package/dist/utilities/getUniqueFieldValue.js +27 -0
  1477. package/dist/utilities/getUniqueFieldValue.js.map +1 -0
  1478. package/dist/utilities/getVersionsConfig.d.ts +1 -1
  1479. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  1480. package/dist/utilities/getVirtualFieldNames.d.ts +14 -0
  1481. package/dist/utilities/getVirtualFieldNames.d.ts.map +1 -0
  1482. package/dist/utilities/getVirtualFieldNames.js +35 -0
  1483. package/dist/utilities/getVirtualFieldNames.js.map +1 -0
  1484. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  1485. package/dist/utilities/handleEndpoints.js +8 -7
  1486. package/dist/utilities/handleEndpoints.js.map +1 -1
  1487. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  1488. package/dist/utilities/headersWithCors.js +1 -1
  1489. package/dist/utilities/headersWithCors.js.map +1 -1
  1490. package/dist/utilities/isEntityHidden.d.ts +2 -2
  1491. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  1492. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  1493. package/dist/utilities/isURLAllowed.js +9 -3
  1494. package/dist/utilities/isURLAllowed.js.map +1 -1
  1495. package/dist/utilities/isValidID.d.ts +1 -1
  1496. package/dist/utilities/isValidID.d.ts.map +1 -1
  1497. package/dist/utilities/killTransaction.d.ts +7 -0
  1498. package/dist/utilities/killTransaction.d.ts.map +1 -1
  1499. package/dist/utilities/killTransaction.js +7 -0
  1500. package/dist/utilities/killTransaction.js.map +1 -1
  1501. package/dist/utilities/logError.d.ts.map +1 -1
  1502. package/dist/utilities/logError.js +5 -2
  1503. package/dist/utilities/logError.js.map +1 -1
  1504. package/dist/utilities/logger.d.ts +1 -1
  1505. package/dist/utilities/logger.d.ts.map +1 -1
  1506. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  1507. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
  1508. package/dist/utilities/miniChalk.d.ts.map +1 -1
  1509. package/dist/utilities/nextJsDevReloadStrategy.d.ts +7 -0
  1510. package/dist/utilities/nextJsDevReloadStrategy.d.ts.map +1 -0
  1511. package/dist/utilities/nextJsDevReloadStrategy.js +59 -0
  1512. package/dist/utilities/nextJsDevReloadStrategy.js.map +1 -0
  1513. package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
  1514. package/dist/utilities/parseBooleanString.d.ts.map +1 -1
  1515. package/dist/utilities/parseCookies.d.ts +1 -1
  1516. package/dist/utilities/parseCookies.d.ts.map +1 -1
  1517. package/dist/utilities/parseDocumentID.d.ts +4 -1
  1518. package/dist/utilities/parseDocumentID.d.ts.map +1 -1
  1519. package/dist/utilities/parseDocumentID.js +7 -1
  1520. package/dist/utilities/parseDocumentID.js.map +1 -1
  1521. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  1522. package/dist/utilities/parseParams/index.js +3 -1
  1523. package/dist/utilities/parseParams/index.js.map +1 -1
  1524. package/dist/utilities/profiling.d.ts.map +1 -1
  1525. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  1526. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  1527. package/dist/utilities/routeError.d.ts.map +1 -1
  1528. package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
  1529. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  1530. package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
  1531. package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
  1532. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  1533. package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
  1534. package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
  1535. package/dist/utilities/sanitizeUploadPrefix.d.ts +5 -0
  1536. package/dist/utilities/sanitizeUploadPrefix.d.ts.map +1 -0
  1537. package/dist/utilities/sanitizeUploadPrefix.js +18 -0
  1538. package/dist/utilities/sanitizeUploadPrefix.js.map +1 -0
  1539. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  1540. package/dist/utilities/sharedInputSchemas.d.ts +52 -0
  1541. package/dist/utilities/sharedInputSchemas.d.ts.map +1 -0
  1542. package/dist/utilities/sharedInputSchemas.js +101 -0
  1543. package/dist/utilities/sharedInputSchemas.js.map +1 -0
  1544. package/dist/utilities/slugify.d.ts.map +1 -1
  1545. package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
  1546. package/dist/utilities/telemetry/conf/envPaths.d.ts.map +1 -1
  1547. package/dist/utilities/telemetry/conf/envPaths.js +40 -31
  1548. package/dist/utilities/telemetry/conf/envPaths.js.map +1 -1
  1549. package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
  1550. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  1551. package/dist/utilities/telemetry/events/adminInit.js +2 -3
  1552. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  1553. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  1554. package/dist/utilities/telemetry/events/serverInit.js +2 -3
  1555. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  1556. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts +4 -0
  1557. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.d.ts.map +1 -0
  1558. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js +261 -0
  1559. package/dist/utilities/telemetry/featureInfo/getFeatureInfo.js.map +1 -0
  1560. package/dist/utilities/telemetry/featureInfo/types.d.ts +63 -0
  1561. package/dist/utilities/telemetry/featureInfo/types.d.ts.map +1 -0
  1562. package/dist/utilities/telemetry/featureInfo/types.js +3 -0
  1563. package/dist/utilities/telemetry/featureInfo/types.js.map +1 -0
  1564. package/dist/utilities/telemetry/getProjectContext.d.ts +16 -0
  1565. package/dist/utilities/telemetry/getProjectContext.d.ts.map +1 -0
  1566. package/dist/utilities/telemetry/getProjectContext.js +43 -0
  1567. package/dist/utilities/telemetry/getProjectContext.js.map +1 -0
  1568. package/dist/utilities/telemetry/index.d.ts +21 -5
  1569. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  1570. package/dist/utilities/telemetry/index.js +26 -1
  1571. package/dist/utilities/telemetry/index.js.map +1 -1
  1572. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  1573. package/dist/utilities/timestamp.d.ts.map +1 -1
  1574. package/dist/utilities/toKebabCase.d.ts.map +1 -1
  1575. package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
  1576. package/dist/utilities/transformPointDataToPayload.d.ts +7 -0
  1577. package/dist/utilities/transformPointDataToPayload.d.ts.map +1 -0
  1578. package/dist/utilities/transformPointDataToPayload.js +28 -0
  1579. package/dist/utilities/transformPointDataToPayload.js.map +1 -0
  1580. package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
  1581. package/dist/utilities/traverseFields.d.ts.map +1 -1
  1582. package/dist/utilities/traverseFields.js +25 -36
  1583. package/dist/utilities/traverseFields.js.map +1 -1
  1584. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  1585. package/dist/utilities/unflatten.d.ts.map +1 -1
  1586. package/dist/utilities/unflatten.js +21 -9
  1587. package/dist/utilities/unflatten.js.map +1 -1
  1588. package/dist/utilities/unflattenData.d.ts +3 -0
  1589. package/dist/utilities/unflattenData.d.ts.map +1 -0
  1590. package/dist/utilities/unflattenData.js +14 -0
  1591. package/dist/utilities/unflattenData.js.map +1 -0
  1592. package/dist/utilities/validateMimeType.d.ts.map +1 -1
  1593. package/dist/utilities/validateTimezones.d.ts.map +1 -1
  1594. package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
  1595. package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
  1596. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  1597. package/dist/utilities/zod.d.ts +5 -0
  1598. package/dist/utilities/zod.d.ts.map +1 -0
  1599. package/dist/utilities/zod.js +21 -0
  1600. package/dist/utilities/zod.js.map +1 -0
  1601. package/dist/versions/allLocalesPublicationStatus.d.ts +38 -0
  1602. package/dist/versions/allLocalesPublicationStatus.d.ts.map +1 -0
  1603. package/dist/versions/allLocalesPublicationStatus.js +57 -0
  1604. package/dist/versions/allLocalesPublicationStatus.js.map +1 -0
  1605. package/dist/versions/baseFields.d.ts.map +1 -1
  1606. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  1607. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  1608. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  1609. package/dist/versions/defaults.d.ts.map +1 -1
  1610. package/dist/versions/deleteCollectionVersions.d.ts +11 -1
  1611. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  1612. package/dist/versions/deleteCollectionVersions.js +10 -3
  1613. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  1614. package/dist/versions/deleteScheduledPublishJobs.d.ts +5 -1
  1615. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  1616. package/dist/versions/deleteScheduledPublishJobs.js +11 -5
  1617. package/dist/versions/deleteScheduledPublishJobs.js.map +1 -1
  1618. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -0
  1619. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  1620. package/dist/versions/drafts/appendVersionToQueryKey.js +6 -12
  1621. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  1622. package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
  1623. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  1624. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  1625. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  1626. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  1627. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  1628. package/dist/versions/getLatestGlobalVersion.js +10 -2
  1629. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  1630. package/dist/versions/getRestoredStatusesToAuthorize.d.ts +9 -0
  1631. package/dist/versions/getRestoredStatusesToAuthorize.d.ts.map +1 -0
  1632. package/dist/versions/getRestoredStatusesToAuthorize.js +22 -0
  1633. package/dist/versions/getRestoredStatusesToAuthorize.js.map +1 -0
  1634. package/dist/versions/isInheritedReadVersionsAccess.d.ts +6 -0
  1635. package/dist/versions/isInheritedReadVersionsAccess.d.ts.map +1 -0
  1636. package/dist/versions/isInheritedReadVersionsAccess.js +30 -0
  1637. package/dist/versions/isInheritedReadVersionsAccess.js.map +1 -0
  1638. package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
  1639. package/dist/versions/payloadPackageList.d.ts.map +1 -1
  1640. package/dist/versions/payloadPackageList.js +0 -1
  1641. package/dist/versions/payloadPackageList.js.map +1 -1
  1642. package/dist/versions/schedule/job.d.ts +2 -2
  1643. package/dist/versions/schedule/job.d.ts.map +1 -1
  1644. package/dist/versions/schedule/job.js +16 -9
  1645. package/dist/versions/schedule/job.js.map +1 -1
  1646. package/dist/versions/schedule/types.d.ts +5 -1
  1647. package/dist/versions/schedule/types.d.ts.map +1 -1
  1648. package/dist/versions/schedule/types.js.map +1 -1
  1649. package/package.json +29 -11
  1650. package/skills/payload/SKILL.md +544 -0
  1651. package/skills/payload/reference/ACCESS-CONTROL-ADVANCED.md +718 -0
  1652. package/skills/payload/reference/ACCESS-CONTROL.md +700 -0
  1653. package/skills/payload/reference/ADAPTERS.md +312 -0
  1654. package/skills/payload/reference/ADVANCED.md +393 -0
  1655. package/skills/payload/reference/COLLECTIONS.md +336 -0
  1656. package/skills/payload/reference/ENDPOINTS.md +650 -0
  1657. package/skills/payload/reference/FIELD-TYPE-GUARDS.md +553 -0
  1658. package/skills/payload/reference/FIELDS.md +748 -0
  1659. package/skills/payload/reference/HOOKS.md +186 -0
  1660. package/skills/payload/reference/PLUGIN-DEVELOPMENT.md +1445 -0
  1661. package/skills/payload/reference/QUERIES.md +282 -0
  1662. package/dist/auth/cookies.spec.js +0 -34
  1663. package/dist/auth/cookies.spec.js.map +0 -1
  1664. package/dist/auth/strategies/local/authenticate.spec.js +0 -83
  1665. package/dist/auth/strategies/local/authenticate.spec.js.map +0 -1
  1666. package/dist/bin/build.d.ts +0 -25
  1667. package/dist/bin/build.d.ts.map +0 -1
  1668. package/dist/bin/build.js +0 -80
  1669. package/dist/bin/build.js.map +0 -1
  1670. package/dist/bin/build.spec.js +0 -170
  1671. package/dist/bin/build.spec.js.map +0 -1
  1672. package/dist/bin/generateImportMap/generateImportMap.spec.js +0 -176
  1673. package/dist/bin/generateImportMap/generateImportMap.spec.js.map +0 -1
  1674. package/dist/bin/generateImportMap/index.d.ts.map +0 -1
  1675. package/dist/bin/generateImportMap/index.js.map +0 -1
  1676. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +0 -1
  1677. package/dist/bin/generateImportMap/iterateCollections.js.map +0 -1
  1678. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +0 -1
  1679. package/dist/bin/generateImportMap/iterateConfig.js.map +0 -1
  1680. package/dist/bin/generateImportMap/iterateFields.d.ts.map +0 -1
  1681. package/dist/bin/generateImportMap/iterateFields.js.map +0 -1
  1682. package/dist/bin/generateImportMap/iterateGlobals.d.ts.map +0 -1
  1683. package/dist/bin/generateImportMap/iterateGlobals.js.map +0 -1
  1684. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.d.ts.map +0 -1
  1685. package/dist/bin/generateImportMap/utilities/addPayloadComponentToImportMap.js.map +0 -1
  1686. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +0 -1
  1687. package/dist/bin/generateImportMap/utilities/getFromImportMap.js.map +0 -1
  1688. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts.map +0 -1
  1689. package/dist/bin/generateImportMap/utilities/getImportMapToBaseDirPath.js.map +0 -1
  1690. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.d.ts.map +0 -1
  1691. package/dist/bin/generateImportMap/utilities/parsePayloadComponent.js.map +0 -1
  1692. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +0 -1
  1693. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +0 -1
  1694. package/dist/bin/generateTypes.d.ts +0 -6
  1695. package/dist/bin/generateTypes.d.ts.map +0 -1
  1696. package/dist/bin/generateTypes.js.map +0 -1
  1697. package/dist/bin/index.d.ts +0 -2
  1698. package/dist/bin/index.d.ts.map +0 -1
  1699. package/dist/bin/index.js +0 -200
  1700. package/dist/bin/index.js.map +0 -1
  1701. package/dist/bin/info.d.ts +0 -2
  1702. package/dist/bin/info.d.ts.map +0 -1
  1703. package/dist/bin/info.js +0 -56
  1704. package/dist/bin/info.js.map +0 -1
  1705. package/dist/bin/loadEnv.d.ts.map +0 -1
  1706. package/dist/bin/loadEnv.js.map +0 -1
  1707. package/dist/bin/migrate.d.ts +0 -15
  1708. package/dist/bin/migrate.d.ts.map +0 -1
  1709. package/dist/bin/migrate.js +0 -102
  1710. package/dist/bin/migrate.js.map +0 -1
  1711. package/dist/collections/config/defaults.spec.js +0 -47
  1712. package/dist/collections/config/defaults.spec.js.map +0 -1
  1713. package/dist/collections/config/sanitize.spec.js +0 -120
  1714. package/dist/collections/config/sanitize.spec.js.map +0 -1
  1715. package/dist/collections/config/useAsTitle.spec.js +0 -187
  1716. package/dist/collections/config/useAsTitle.spec.js.map +0 -1
  1717. package/dist/database/defaultUpdateJobs.d.ts +0 -3
  1718. package/dist/database/defaultUpdateJobs.d.ts.map +0 -1
  1719. package/dist/database/defaultUpdateJobs.js +0 -41
  1720. package/dist/database/defaultUpdateJobs.js.map +0 -1
  1721. package/dist/database/migrations/findMigrationDir.spec.js +0 -47
  1722. package/dist/database/migrations/findMigrationDir.spec.js.map +0 -1
  1723. package/dist/fields/baseFields/slug/countVersions.d.ts +0 -13
  1724. package/dist/fields/baseFields/slug/countVersions.d.ts.map +0 -1
  1725. package/dist/fields/baseFields/slug/countVersions.js +0 -29
  1726. package/dist/fields/baseFields/slug/countVersions.js.map +0 -1
  1727. package/dist/fields/baseFields/slug/index.d.ts +0 -89
  1728. package/dist/fields/baseFields/slug/index.d.ts.map +0 -1
  1729. package/dist/fields/baseFields/slug/index.js +0 -81
  1730. package/dist/fields/baseFields/slug/index.js.map +0 -1
  1731. package/dist/fields/config/reservedFieldNames.spec.js +0 -149
  1732. package/dist/fields/config/reservedFieldNames.spec.js.map +0 -1
  1733. package/dist/fields/config/sanitize.spec.js +0 -745
  1734. package/dist/fields/config/sanitize.spec.js.map +0 -1
  1735. package/dist/fields/isFieldDisabled.spec.js +0 -134
  1736. package/dist/fields/isFieldDisabled.spec.js.map +0 -1
  1737. package/dist/fields/validations.spec.js +0 -990
  1738. package/dist/fields/validations.spec.js.map +0 -1
  1739. package/dist/globals/config/sanitize.spec.js +0 -43
  1740. package/dist/globals/config/sanitize.spec.js.map +0 -1
  1741. package/dist/hierarchy/utils/getLocalizedValue.spec.js +0 -250
  1742. package/dist/hierarchy/utils/getLocalizedValue.spec.js.map +0 -1
  1743. package/dist/locked-documents/config.spec.js +0 -298
  1744. package/dist/locked-documents/config.spec.js.map +0 -1
  1745. package/dist/uploads/checkFileAccess.spec.js +0 -109
  1746. package/dist/uploads/checkFileAccess.spec.js.map +0 -1
  1747. package/dist/uploads/endpoints/getFileFromURL.d.ts +0 -3
  1748. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +0 -1
  1749. package/dist/uploads/endpoints/getFileFromURL.js.map +0 -1
  1750. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js +0 -29
  1751. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.spec.js.map +0 -1
  1752. package/dist/uploads/getExternalFile.d.ts +0 -10
  1753. package/dist/uploads/getExternalFile.d.ts.map +0 -1
  1754. package/dist/uploads/getExternalFile.js +0 -73
  1755. package/dist/uploads/getExternalFile.js.map +0 -1
  1756. package/dist/uploads/getSafeFilename.spec.js +0 -274
  1757. package/dist/uploads/getSafeFilename.spec.js.map +0 -1
  1758. package/dist/uploads/mimeTypeValidator.spec.js +0 -84
  1759. package/dist/uploads/mimeTypeValidator.spec.js.map +0 -1
  1760. package/dist/uploads/tempFile.d.ts +0 -7
  1761. package/dist/uploads/tempFile.d.ts.map +0 -1
  1762. package/dist/uploads/tempFile.js +0 -39
  1763. package/dist/uploads/tempFile.js.map +0 -1
  1764. package/dist/utilities/addDataAndFileToRequest.spec.js +0 -41
  1765. package/dist/utilities/addDataAndFileToRequest.spec.js.map +0 -1
  1766. package/dist/utilities/addSelectGenericsToGeneratedTypes.spec.js +0 -563
  1767. package/dist/utilities/addSelectGenericsToGeneratedTypes.spec.js.map +0 -1
  1768. package/dist/utilities/combineWhereConstraints.spec.js +0 -131
  1769. package/dist/utilities/combineWhereConstraints.spec.js.map +0 -1
  1770. package/dist/utilities/configToJSONSchema.spec.js +0 -806
  1771. package/dist/utilities/configToJSONSchema.spec.js.map +0 -1
  1772. package/dist/utilities/createLocalReq.d.ts +0 -15
  1773. package/dist/utilities/createLocalReq.d.ts.map +0 -1
  1774. package/dist/utilities/createLocalReq.js +0 -110
  1775. package/dist/utilities/createLocalReq.js.map +0 -1
  1776. package/dist/utilities/createLocalReq.spec.js +0 -125
  1777. package/dist/utilities/createLocalReq.spec.js.map +0 -1
  1778. package/dist/utilities/filterDataToSelectedLocales.spec.js +0 -529
  1779. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +0 -1
  1780. package/dist/utilities/flattenTopLevelFields.spec.js +0 -659
  1781. package/dist/utilities/flattenTopLevelFields.spec.js.map +0 -1
  1782. package/dist/utilities/formatAdminURL.spec.js +0 -168
  1783. package/dist/utilities/formatAdminURL.spec.js.map +0 -1
  1784. package/dist/utilities/formatErrors.spec.js +0 -101
  1785. package/dist/utilities/formatErrors.spec.js.map +0 -1
  1786. package/dist/utilities/formatLabels.spec.js +0 -38
  1787. package/dist/utilities/formatLabels.spec.js.map +0 -1
  1788. package/dist/utilities/getFieldByPath.spec.js +0 -157
  1789. package/dist/utilities/getFieldByPath.spec.js.map +0 -1
  1790. package/dist/utilities/getFieldPermissions.spec.js +0 -78
  1791. package/dist/utilities/getFieldPermissions.spec.js.map +0 -1
  1792. package/dist/utilities/getRequestOrigin.spec.js +0 -151
  1793. package/dist/utilities/getRequestOrigin.spec.js.map +0 -1
  1794. package/dist/utilities/getSafeRedirect.spec.js +0 -84
  1795. package/dist/utilities/getSafeRedirect.spec.js.map +0 -1
  1796. package/dist/utilities/isRSCEnabled.d.ts +0 -12
  1797. package/dist/utilities/isRSCEnabled.d.ts.map +0 -1
  1798. package/dist/utilities/isRSCEnabled.js +0 -14
  1799. package/dist/utilities/isRSCEnabled.js.map +0 -1
  1800. package/dist/utilities/isolateObjectProperty.spec.js +0 -120
  1801. package/dist/utilities/isolateObjectProperty.spec.js.map +0 -1
  1802. package/dist/utilities/mergeLocalizedData.spec.js +0 -1108
  1803. package/dist/utilities/mergeLocalizedData.spec.js.map +0 -1
  1804. package/dist/utilities/optionsAreEqual.spec.js +0 -319
  1805. package/dist/utilities/optionsAreEqual.spec.js.map +0 -1
  1806. package/dist/utilities/parseParams/index.spec.js +0 -384
  1807. package/dist/utilities/parseParams/index.spec.js.map +0 -1
  1808. package/dist/utilities/profiling.spec.js +0 -53
  1809. package/dist/utilities/profiling.spec.js.map +0 -1
  1810. package/dist/utilities/sanitizePermissions.spec.js +0 -1639
  1811. package/dist/utilities/sanitizePermissions.spec.js.map +0 -1
  1812. package/dist/utilities/sanitizeUserDataForEmail.spec.js +0 -134
  1813. package/dist/utilities/sanitizeUserDataForEmail.spec.js.map +0 -1
  1814. package/dist/utilities/traverseFields.spec.js +0 -53
  1815. package/dist/utilities/traverseFields.spec.js.map +0 -1
  1816. package/dist/utilities/validateTimezones.spec.js +0 -493
  1817. package/dist/utilities/validateTimezones.spec.js.map +0 -1
  1818. /package/dist/{bin → cli/commands}/generateImportMap/iterateFields.js +0 -0
  1819. /package/dist/{bin → cli/commands}/generateImportMap/iterateGlobals.js +0 -0
  1820. /package/dist/{bin → cli/commands}/generateImportMap/utilities/addPayloadComponentToImportMap.js +0 -0
  1821. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getFromImportMap.js +0 -0
  1822. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.d.ts +0 -0
  1823. /package/dist/{bin → cli/commands}/generateImportMap/utilities/getImportMapToBaseDirPath.js +0 -0
  1824. /package/dist/{bin → cli/commands}/generateImportMap/utilities/parsePayloadComponent.js +0 -0
  1825. /package/dist/{bin → cli/commands}/generateImportMap/utilities/resolveImportMapFilePath.d.ts +0 -0
  1826. /package/dist/{bin → cli/runtime}/loadEnv.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/getFileFromUploadInstructions.ts"],"sourcesContent":["import type { ReadableStream } from 'node:stream/web'\n\nimport { randomUUID } from 'node:crypto'\nimport fs from 'node:fs'\nimport { mkdir, rm } from 'node:fs/promises'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { Readable } from 'node:stream'\nimport { pipeline } from 'node:stream/promises'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { SanitizedUploadConfig, UploadEdits, UploadInstructions } from './types.js'\n\nimport { APIError } from '../errors/APIError.js'\nimport { sanitizeFilename } from '../utilities/sanitizeFilename.js'\nimport { sanitizeUploadPrefix } from '../utilities/sanitizeUploadPrefix.js'\nimport { verifyClientUploadReceipt } from './clientUploadReceipt.js'\nimport { docWithFilenameExists } from './docWithFilenameExists.js'\nimport { getFileContentRequirement, HEADER_PROBE_BYTE_LENGTH } from './getFileContentRequirement.js'\nimport { getImageSize } from './getImageSize.js'\nimport { hasCropOrResizeEdit } from './hasCropOrResizeEdit.js'\nimport { getStagedFile } from './stagedUpload.js'\n\nexport const getFileFromUploadInstructions = async ({\n collectionSlug,\n file,\n req,\n}: {\n collectionSlug: string\n file: UploadInstructions['file']\n req: PayloadRequest\n}): Promise<NonNullable<PayloadRequest['file']>> => {\n if (\n !file ||\n typeof file !== 'object' ||\n typeof file.filename !== 'string' ||\n typeof file.mimeType !== 'string' ||\n !Number.isSafeInteger(file.size) ||\n file.size < 0 ||\n !file.uploadReference ||\n typeof file.uploadReference !== 'object' ||\n Array.isArray(file.uploadReference)\n ) {\n throw new APIError('Invalid upload reference.', 400)\n }\n\n /**\n * Handlers fetch files uploaded to a storage provider. An uploadId points to a temporary file\n * already stored by Payload, so no handler is needed.\n */\n if ('uploadId' in file.uploadReference) {\n return getStagedFile({ collectionSlug, req, uploadReference: file.uploadReference })\n }\n\n const uploadConfig = req.payload.collections[collectionSlug]!.config.upload\n let allowOverwrite = false\n\n if (uploadConfig?.uploadInstructions?.requiresUploadReceipt) {\n const signedReceipt =\n 'signedReceipt' in file.uploadReference ? file.uploadReference.signedReceipt : undefined\n const receipt = verifyClientUploadReceipt({\n collectionSlug,\n filename: file.filename,\n req,\n signedReceipt,\n })\n allowOverwrite = receipt.allowOverwrite === true\n file = {\n ...file,\n uploadReference: {\n _objectKey: receipt._objectKey,\n prefix: receipt.filePrefix,\n signedReceipt,\n },\n }\n }\n\n const prefix =\n 'prefix' in file.uploadReference && typeof file.uploadReference.prefix === 'string'\n ? file.uploadReference.prefix\n : undefined\n\n let sanitizedFilename: string\n\n try {\n sanitizedFilename = sanitizeFilename(file.filename)\n } catch {\n throw new APIError('Invalid upload reference.', 400)\n }\n\n if (\n sanitizedFilename !== file.filename ||\n (typeof prefix === 'string' && sanitizeUploadPrefix(prefix) !== prefix)\n ) {\n throw new APIError('Invalid upload reference.', 400)\n }\n\n // Provider-backed references are submitted with the document request. They may only claim a\n // new object identity; existing top-level and generated filenames already belong to another\n // document and must continue through that document's read access checks.\n if (\n !allowOverwrite &&\n (await docWithFilenameExists({\n collectionSlug,\n filename: file.filename,\n matchAnyPrefix: true,\n path: '',\n prefix,\n req,\n }))\n ) {\n throw new APIError('Invalid upload reference.', 400)\n }\n\n if (!uploadConfig || !uploadConfig.handlers) {\n throw new APIError('uploadConfig.handlers is not present for ' + collectionSlug)\n }\n\n const contentRequirement = getFileContentRequirement({\n hasSizeEdits: requestHasSizeEdits(req),\n mimeType: file.mimeType,\n uploadConfig,\n })\n\n // Nothing downstream reads this file's content - use the client-reported metadata directly\n // instead of re-downloading a file that, for a chunked upload, can be far larger than\n // the server's available memory or disk.\n if (contentRequirement === 'none') {\n return {\n name: file.filename,\n data: Buffer.alloc(0),\n mimetype: file.mimeType,\n size: file.size,\n uploadReference: file.uploadReference,\n }\n }\n\n if (contentRequirement === 'header') {\n const headerFile = await fetchHeaderOnly({ collectionSlug, file, req, uploadConfig })\n if (headerFile) {\n return headerFile\n }\n // The header wasn't enough to determine the image's dimensions - fall through to a full fetch.\n }\n\n const response = await fetchUploadResponse({ collectionSlug, file, req, uploadConfig })\n\n const tempFilePath = await streamResponseToTempFile({ req, response })\n req.context ??= {}\n req.context._payloadClientUploadTempFile = true\n\n return {\n name: file.filename,\n data: Buffer.alloc(0),\n mimetype: response.headers.get('Content-Type') || file.mimeType,\n size: file.size,\n tempFilePath,\n uploadReference: file.uploadReference,\n }\n}\n\n/**\n * Whether the request's `uploadEdits` query param carries a crop or resize edit - reads the raw\n * `req.query.uploadEdits`, since a full parse (with its `data`/`originalDoc` focal-point\n * fallback, done in generateFileData.ts) isn't available yet at this point in the request\n * lifecycle.\n */\nconst requestHasSizeEdits = (req: PayloadRequest): boolean => {\n const uploadEdits = req.query?.uploadEdits\n if (typeof uploadEdits !== 'object' || uploadEdits === null) {\n return false\n }\n\n return hasCropOrResizeEdit(uploadEdits as UploadEdits)\n}\n\n/**\n * Fetches only the first `HEADER_PROBE_BYTE_LENGTH` bytes of the upload (via a best-effort byte\n * range request) and uses them to probe an image's dimensions, without downloading the rest of\n * the file. Returns null if that isn't enough to determine the dimensions, so the caller can\n * fall back to a full fetch.\n */\nconst fetchHeaderOnly = async ({\n collectionSlug,\n file,\n req,\n uploadConfig,\n}: {\n collectionSlug: string\n file: UploadInstructions['file']\n req: PayloadRequest\n uploadConfig: SanitizedUploadConfig\n}): Promise<NonNullable<PayloadRequest['file']> | null> => {\n const response = await fetchUploadResponse({\n collectionSlug,\n file,\n rangeHeader: `bytes=0-${HEADER_PROBE_BYTE_LENGTH - 1}`,\n req,\n uploadConfig,\n })\n\n const headerBuffer = await readBoundedPrefix(response, HEADER_PROBE_BYTE_LENGTH)\n\n try {\n await getImageSize({\n file: {\n name: file.filename,\n data: headerBuffer,\n mimetype: file.mimeType,\n size: file.size,\n },\n })\n } catch {\n return null\n }\n\n return {\n name: file.filename,\n data: headerBuffer,\n mimetype: response.headers.get('Content-Type') || file.mimeType,\n size: file.size,\n uploadReference: file.uploadReference,\n }\n}\n\n/**\n * Runs the collection's upload handlers, following a single redirect if one is returned.\n * `rangeHeader`, when passed, is a best-effort hint - handlers that ignore it simply return the\n * full file, which callers must still bound their own reads against.\n */\nconst fetchUploadResponse = async ({\n collectionSlug,\n file,\n rangeHeader,\n req,\n uploadConfig,\n}: {\n collectionSlug: string\n file: UploadInstructions['file']\n rangeHeader?: string\n req: PayloadRequest\n uploadConfig: SanitizedUploadConfig\n}): Promise<Response> => {\n const scopedReq = rangeHeader ? withRangeHeader(req, rangeHeader) : req\n\n let response: null | Response = null\n let error: unknown\n\n for (const handler of uploadConfig.handlers!) {\n try {\n const result = await handler(scopedReq, {\n doc: null!,\n params: {\n collection: collectionSlug,\n filename: file.filename,\n uploadReference: file.uploadReference,\n },\n })\n if (result) {\n response = result\n /**\n * - If a handler returns a Response, the response will be sent to the client and no further handlers will be run.\n * - If a handler returns null, the next handler will be run.\n *\n * @see packages/payload/src/uploads/types.ts\n */\n break\n }\n } catch (err) {\n error = err\n }\n }\n\n if (!response) {\n if (error) {\n req.payload.logger.error(error)\n }\n\n throw new APIError('Expected response from the upload handler.')\n }\n\n if (response.status >= 300 && response.status < 400) {\n const redirectUrl = response.headers.get('Location')\n if (redirectUrl) {\n response = await fetch(redirectUrl)\n }\n }\n\n return response\n}\n\n/**\n * Overrides `req.headers` with a `Range` header while leaving the real incoming request\n * untouched. Uses a Proxy, rather than cloning `req`, because `req` is a native `Request`\n * instance at runtime - accessors like `.signal` are brand-checked against `req`'s internal\n * slots, so a plain clone (e.g. `Object.create(req)`) throws once a handler reads one of them.\n * Forwarding reads through `Reflect.get(req, prop, req)` keeps `this` bound to the real `req`\n * so those accessors keep working.\n */\nconst withRangeHeader = (req: PayloadRequest, rangeHeader: string): PayloadRequest => {\n const headers = new Headers(req.headers)\n headers.set('range', rangeHeader)\n\n return new Proxy(req, {\n get(target, prop) {\n return prop === 'headers' ? headers : Reflect.get(target, prop, target)\n },\n })\n}\n\n/**\n * Reads at most `maxBytes` from the response body, then cancels the reader - so a handler that\n * ignores the range hint and starts streaming the whole file is still cut short on our end.\n */\nconst readBoundedPrefix = async (response: Response, maxBytes: number): Promise<Buffer> => {\n if (!response.body) {\n return Buffer.alloc(0)\n }\n\n const reader = response.body.getReader()\n const chunks: Buffer[] = []\n let total = 0\n\n try {\n while (total < maxBytes) {\n const { done, value } = await reader.read()\n if (done || !value) {\n break\n }\n\n const remaining = maxBytes - total\n const chunk = value.byteLength > remaining ? value.subarray(0, remaining) : value\n chunks.push(Buffer.from(chunk))\n total += chunk.byteLength\n }\n } finally {\n await reader.cancel().catch(() => {})\n }\n\n return Buffer.concat(chunks, total)\n}\n\n/**\n * Streams the fetched upload straight to disk instead of buffering it in memory. A client upload\n * (e.g. Azure's chunkLargeFiles) can be far larger than the server's available memory, so this\n * avoids re-downloading the whole file into a single in-memory buffer just to read it back out.\n */\nconst streamResponseToTempFile = async ({\n req,\n response,\n}: {\n req: PayloadRequest\n response: Response\n}): Promise<string> => {\n if (!response.body) {\n throw new APIError('Expected a response body from the upload handler.')\n }\n\n const tempFileDir = req.payload.config.upload?.tempFileDir || os.tmpdir()\n await mkdir(tempFileDir, { recursive: true })\n const tempFilePath = path.join(tempFileDir, `payload-client-upload-${randomUUID()}`)\n\n try {\n await pipeline(\n Readable.fromWeb(response.body as ReadableStream<Uint8Array>),\n fs.createWriteStream(tempFilePath),\n )\n } catch (error) {\n await rm(tempFilePath, { force: true })\n throw error\n }\n\n return tempFilePath\n}\n"],"names":["randomUUID","fs","mkdir","rm","os","path","Readable","pipeline","APIError","sanitizeFilename","sanitizeUploadPrefix","verifyClientUploadReceipt","docWithFilenameExists","getFileContentRequirement","HEADER_PROBE_BYTE_LENGTH","getImageSize","hasCropOrResizeEdit","getStagedFile","getFileFromUploadInstructions","collectionSlug","file","req","filename","mimeType","Number","isSafeInteger","size","uploadReference","Array","isArray","uploadConfig","payload","collections","config","upload","allowOverwrite","uploadInstructions","requiresUploadReceipt","signedReceipt","undefined","receipt","_objectKey","prefix","filePrefix","sanitizedFilename","matchAnyPrefix","handlers","contentRequirement","hasSizeEdits","requestHasSizeEdits","name","data","Buffer","alloc","mimetype","headerFile","fetchHeaderOnly","response","fetchUploadResponse","tempFilePath","streamResponseToTempFile","context","_payloadClientUploadTempFile","headers","get","uploadEdits","query","rangeHeader","headerBuffer","readBoundedPrefix","scopedReq","withRangeHeader","error","handler","result","doc","params","collection","err","logger","status","redirectUrl","fetch","Headers","set","Proxy","target","prop","Reflect","maxBytes","body","reader","getReader","chunks","total","done","value","read","remaining","chunk","byteLength","subarray","push","from","cancel","catch","concat","tempFileDir","tmpdir","recursive","join","fromWeb","createWriteStream","force"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFileTypeFallback.d.ts","sourceRoot":"","sources":["../../src/uploads/getFileTypeFallback.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAiBD,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,UAOlD,CAAA"}
1
+ {"version":3,"file":"getFileTypeFallback.d.ts","sourceRoot":"","sources":["../../src/uploads/getFileTypeFallback.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAkBD,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,UAOlD,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { getFileExtension, getSanitizedUploadFilename } from './getFileTypeIdentity.js';
1
2
  const extensionMap = {
2
3
  css: 'text/css',
3
4
  csv: 'text/csv',
@@ -7,11 +8,12 @@ const extensionMap = {
7
8
  json: 'application/json',
8
9
  md: 'text/markdown',
9
10
  svg: 'image/svg+xml',
11
+ xhtml: 'application/xhtml+xml',
10
12
  xml: 'application/xml',
11
13
  yml: 'application/x-yaml'
12
14
  };
13
15
  export const getFileTypeFallback = (path)=>{
14
- const ext = path.split('.').pop() || 'txt';
16
+ const ext = getFileExtension(getSanitizedUploadFilename(path)).toLowerCase() || 'txt';
15
17
  return {
16
18
  ext,
17
19
  mime: extensionMap[ext] || 'text/plain'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uploads/getFileTypeFallback.ts"],"sourcesContent":["type ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = path.split('.').pop() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"names":["extensionMap","css","csv","htm","html","js","json","md","svg","xml","yml","getFileTypeFallback","path","ext","split","pop","mime"],"mappings":"AAKA,MAAMA,eAEF;IACFC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,MAAM;IACNC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,CAACC;IAClC,MAAMC,MAAMD,KAAKE,KAAK,CAAC,KAAKC,GAAG,MAAM;IAErC,OAAO;QACLF;QACAG,MAAMhB,YAAY,CAACa,IAAI,IAAI;IAC7B;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/uploads/getFileTypeFallback.ts"],"sourcesContent":["import { getFileExtension, getSanitizedUploadFilename } from './getFileTypeIdentity.js'\n\ntype ReturnType = {\n ext: string\n mime: string\n}\n\nconst extensionMap: {\n [ext: string]: string\n} = {\n css: 'text/css',\n csv: 'text/csv',\n htm: 'text/html',\n html: 'text/html',\n js: 'application/javascript',\n json: 'application/json',\n md: 'text/markdown',\n svg: 'image/svg+xml',\n xhtml: 'application/xhtml+xml',\n xml: 'application/xml',\n yml: 'application/x-yaml',\n}\n\nexport const getFileTypeFallback = (path: string): ReturnType => {\n const ext = getFileExtension(getSanitizedUploadFilename(path)).toLowerCase() || 'txt'\n\n return {\n ext,\n mime: extensionMap[ext] || 'text/plain',\n }\n}\n"],"names":["getFileExtension","getSanitizedUploadFilename","extensionMap","css","csv","htm","html","js","json","md","svg","xhtml","xml","yml","getFileTypeFallback","path","ext","toLowerCase","mime"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,0BAA0B,QAAQ,2BAA0B;AAOvF,MAAMC,eAEF;IACFC,KAAK;IACLC,KAAK;IACLC,KAAK;IACLC,MAAM;IACNC,IAAI;IACJC,MAAM;IACNC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,KAAK;IACLC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,CAACC;IAClC,MAAMC,MAAMhB,iBAAiBC,2BAA2Bc,OAAOE,WAAW,MAAM;IAEhF,OAAO;QACLD;QACAE,MAAMhB,YAAY,CAACc,IAAI,IAAI;IAC7B;AACF,EAAC"}
@@ -0,0 +1,19 @@
1
+ export declare const getFileExtension: (filename: string) => string;
2
+ export declare const getSanitizedUploadFilename: (filename: string, outputExtension?: string) => string;
3
+ export declare const getMimeTypeEssence: (mimeType?: null | string) => string;
4
+ export declare const isSvgMimeType: (mimeType?: null | string) => boolean;
5
+ export declare const isXmlMimeType: (mimeType?: null | string) => boolean;
6
+ export declare const isSvgUpload: ({ filename, mimeType, }: {
7
+ filename: string;
8
+ mimeType?: null | string;
9
+ }) => boolean;
10
+ export declare const isXmlUpload: ({ filename, mimeType, }: {
11
+ filename: string;
12
+ mimeType?: null | string;
13
+ }) => boolean;
14
+ export declare const uploadRequiresServerValidation: (upload: {
15
+ allowRestrictedFileTypes?: boolean;
16
+ filename: string;
17
+ mimeType?: null | string;
18
+ }) => boolean;
19
+ //# sourceMappingURL=getFileTypeIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFileTypeIdentity.d.ts","sourceRoot":"","sources":["../../src/uploads/getFileTypeIdentity.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,aAAc,MAAM,KAAG,MASnD,CAAA;AAED,eAAO,MAAM,0BAA0B,aAAc,MAAM,oBAAoB,MAAM,KAAG,MAOvF,CAAA;AAED,eAAO,MAAM,kBAAkB,cAAe,IAAI,GAAG,MAAM,KAAG,MAQ7D,CAAA;AAED,eAAO,MAAM,aAAa,cAAe,IAAI,GAAG,MAAM,KAAG,OACP,CAAA;AAElD,eAAO,MAAM,aAAa,cAAe,IAAI,GAAG,MAAM,KAAG,OAQxD,CAAA;AAED,eAAO,MAAM,WAAW,4BAGrB;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CACzB,KAAG,OAEqB,CAAA;AAEzB,eAAO,MAAM,WAAW,4BAGrB;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CACzB,KAAG,OAEqB,CAAA;AAEzB,eAAO,MAAM,8BAA8B,WAAY;IACrD,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CACzB,KAAG,OAA2F,CAAA"}
@@ -0,0 +1,34 @@
1
+ import sanitize from 'sanitize-filename';
2
+ import { sanitizeFilename } from '../utilities/sanitizeFilename.js';
3
+ export const getFileExtension = (filename)=>{
4
+ if (!filename.includes('.')) {
5
+ return '';
6
+ }
7
+ const extension = filename.split('.').pop() || '';
8
+ const [extensionWithoutSuffix = ''] = extension.split(/[?#]/, 1);
9
+ return extensionWithoutSuffix;
10
+ };
11
+ export const getSanitizedUploadFilename = (filename, outputExtension)=>{
12
+ const basename = sanitizeFilename(filename);
13
+ const sourceExtension = getFileExtension(basename);
14
+ const baseFilename = sanitize(basename.substring(0, basename.lastIndexOf('.')) || basename);
15
+ const extension = outputExtension ?? sourceExtension;
16
+ return `${baseFilename}${extension ? `.${extension}` : ''}`;
17
+ };
18
+ export const getMimeTypeEssence = (mimeType)=>{
19
+ if (!mimeType) {
20
+ return '';
21
+ }
22
+ const [essence = ''] = mimeType.split(';', 1);
23
+ return essence.trim().toLowerCase();
24
+ };
25
+ export const isSvgMimeType = (mimeType)=>getMimeTypeEssence(mimeType) === 'image/svg+xml';
26
+ export const isXmlMimeType = (mimeType)=>{
27
+ const mimeTypeEssence = getMimeTypeEssence(mimeType);
28
+ return mimeTypeEssence === 'application/xml' || mimeTypeEssence === 'text/xml' || mimeTypeEssence.endsWith('+xml');
29
+ };
30
+ export const isSvgUpload = ({ filename, mimeType })=>getFileExtension(getSanitizedUploadFilename(filename)).toLowerCase() === 'svg' || isSvgMimeType(mimeType);
31
+ export const isXmlUpload = ({ filename, mimeType })=>getFileExtension(getSanitizedUploadFilename(filename)).toLowerCase() === 'xml' || isXmlMimeType(mimeType);
32
+ export const uploadRequiresServerValidation = (upload)=>!upload.allowRestrictedFileTypes && (isSvgUpload(upload) || isXmlUpload(upload));
33
+
34
+ //# sourceMappingURL=getFileTypeIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/getFileTypeIdentity.ts"],"sourcesContent":["import sanitize from 'sanitize-filename'\n\nimport { sanitizeFilename } from '../utilities/sanitizeFilename.js'\n\nexport const getFileExtension = (filename: string): string => {\n if (!filename.includes('.')) {\n return ''\n }\n\n const extension = filename.split('.').pop() || ''\n const [extensionWithoutSuffix = ''] = extension.split(/[?#]/, 1)\n\n return extensionWithoutSuffix\n}\n\nexport const getSanitizedUploadFilename = (filename: string, outputExtension?: string): string => {\n const basename = sanitizeFilename(filename)\n const sourceExtension = getFileExtension(basename)\n const baseFilename = sanitize(basename.substring(0, basename.lastIndexOf('.')) || basename)\n const extension = outputExtension ?? sourceExtension\n\n return `${baseFilename}${extension ? `.${extension}` : ''}`\n}\n\nexport const getMimeTypeEssence = (mimeType?: null | string): string => {\n if (!mimeType) {\n return ''\n }\n\n const [essence = ''] = mimeType.split(';', 1)\n\n return essence.trim().toLowerCase()\n}\n\nexport const isSvgMimeType = (mimeType?: null | string): boolean =>\n getMimeTypeEssence(mimeType) === 'image/svg+xml'\n\nexport const isXmlMimeType = (mimeType?: null | string): boolean => {\n const mimeTypeEssence = getMimeTypeEssence(mimeType)\n\n return (\n mimeTypeEssence === 'application/xml' ||\n mimeTypeEssence === 'text/xml' ||\n mimeTypeEssence.endsWith('+xml')\n )\n}\n\nexport const isSvgUpload = ({\n filename,\n mimeType,\n}: {\n filename: string\n mimeType?: null | string\n}): boolean =>\n getFileExtension(getSanitizedUploadFilename(filename)).toLowerCase() === 'svg' ||\n isSvgMimeType(mimeType)\n\nexport const isXmlUpload = ({\n filename,\n mimeType,\n}: {\n filename: string\n mimeType?: null | string\n}): boolean =>\n getFileExtension(getSanitizedUploadFilename(filename)).toLowerCase() === 'xml' ||\n isXmlMimeType(mimeType)\n\nexport const uploadRequiresServerValidation = (upload: {\n allowRestrictedFileTypes?: boolean\n filename: string\n mimeType?: null | string\n}): boolean => !upload.allowRestrictedFileTypes && (isSvgUpload(upload) || isXmlUpload(upload))\n"],"names":["sanitize","sanitizeFilename","getFileExtension","filename","includes","extension","split","pop","extensionWithoutSuffix","getSanitizedUploadFilename","outputExtension","basename","sourceExtension","baseFilename","substring","lastIndexOf","getMimeTypeEssence","mimeType","essence","trim","toLowerCase","isSvgMimeType","isXmlMimeType","mimeTypeEssence","endsWith","isSvgUpload","isXmlUpload","uploadRequiresServerValidation","upload","allowRestrictedFileTypes"],"mappings":"AAAA,OAAOA,cAAc,oBAAmB;AAExC,SAASC,gBAAgB,QAAQ,mCAAkC;AAEnE,OAAO,MAAMC,mBAAmB,CAACC;IAC/B,IAAI,CAACA,SAASC,QAAQ,CAAC,MAAM;QAC3B,OAAO;IACT;IAEA,MAAMC,YAAYF,SAASG,KAAK,CAAC,KAAKC,GAAG,MAAM;IAC/C,MAAM,CAACC,yBAAyB,EAAE,CAAC,GAAGH,UAAUC,KAAK,CAAC,QAAQ;IAE9D,OAAOE;AACT,EAAC;AAED,OAAO,MAAMC,6BAA6B,CAACN,UAAkBO;IAC3D,MAAMC,WAAWV,iBAAiBE;IAClC,MAAMS,kBAAkBV,iBAAiBS;IACzC,MAAME,eAAeb,SAASW,SAASG,SAAS,CAAC,GAAGH,SAASI,WAAW,CAAC,SAASJ;IAClF,MAAMN,YAAYK,mBAAmBE;IAErC,OAAO,GAAGC,eAAeR,YAAY,CAAC,CAAC,EAAEA,WAAW,GAAG,IAAI;AAC7D,EAAC;AAED,OAAO,MAAMW,qBAAqB,CAACC;IACjC,IAAI,CAACA,UAAU;QACb,OAAO;IACT;IAEA,MAAM,CAACC,UAAU,EAAE,CAAC,GAAGD,SAASX,KAAK,CAAC,KAAK;IAE3C,OAAOY,QAAQC,IAAI,GAAGC,WAAW;AACnC,EAAC;AAED,OAAO,MAAMC,gBAAgB,CAACJ,WAC5BD,mBAAmBC,cAAc,gBAAe;AAElD,OAAO,MAAMK,gBAAgB,CAACL;IAC5B,MAAMM,kBAAkBP,mBAAmBC;IAE3C,OACEM,oBAAoB,qBACpBA,oBAAoB,cACpBA,gBAAgBC,QAAQ,CAAC;AAE7B,EAAC;AAED,OAAO,MAAMC,cAAc,CAAC,EAC1BtB,QAAQ,EACRc,QAAQ,EAIT,GACCf,iBAAiBO,2BAA2BN,WAAWiB,WAAW,OAAO,SACzEC,cAAcJ,UAAS;AAEzB,OAAO,MAAMS,cAAc,CAAC,EAC1BvB,QAAQ,EACRc,QAAQ,EAIT,GACCf,iBAAiBO,2BAA2BN,WAAWiB,WAAW,OAAO,SACzEE,cAAcL,UAAS;AAEzB,OAAO,MAAMU,iCAAiC,CAACC,SAIhC,CAACA,OAAOC,wBAAwB,IAAKJ,CAAAA,YAAYG,WAAWF,YAAYE,OAAM,EAAE"}
@@ -1,4 +1,15 @@
1
+ import type { SharpDependency } from '../config/types.js';
1
2
  import type { PayloadRequest } from '../types/index.js';
2
3
  import type { ProbedImageSize } from './types.js';
3
- export declare function getImageSize(file: PayloadRequest['file']): Promise<ProbedImageSize>;
4
+ type Args = {
5
+ file: PayloadRequest['file'];
6
+ /**
7
+ * The configured `sharp` instance, when available. Preferred for reading
8
+ * dimensions because it covers every format sharp can process. Falls back to
9
+ * the dependency-free probe when sharp is not configured.
10
+ */
11
+ sharp?: SharpDependency;
12
+ };
13
+ export declare function getImageSize({ file, sharp }: Args): Promise<ProbedImageSize>;
14
+ export {};
4
15
  //# sourceMappingURL=getImageSize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getImageSize.d.ts","sourceRoot":"","sources":["../../src/uploads/getImageSize.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBzF"}
1
+ {"version":3,"file":"getImageSize.d.ts","sourceRoot":"","sources":["../../src/uploads/getImageSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIjD,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB,CAAA;AAED,wBAAsB,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAqBlF"}
@@ -1,23 +1,25 @@
1
- import fs from 'fs/promises';
2
- import { imageSize } from 'image-size';
3
- import { imageSizeFromFile } from 'image-size/fromFile';
4
- import { temporaryFileTask } from './tempFile.js';
5
- export async function getImageSize(file) {
6
- if (file?.tempFilePath) {
7
- return imageSizeFromFile(file.tempFilePath);
1
+ import { probeImageSize, probeImageSizeFromPath } from './probeImageSize.js';
2
+ export async function getImageSize({ file, sharp }) {
3
+ // `tempFilePath` may be an empty string when the file is held in memory
4
+ const tempFilePath = file?.tempFilePath || undefined;
5
+ if (sharp) {
6
+ try {
7
+ const { height, width } = await sharp(tempFilePath ?? file.data).metadata();
8
+ if (width && height) {
9
+ return {
10
+ height,
11
+ width
12
+ };
13
+ }
14
+ } catch {
15
+ // sharp decodes the full image and rejects truncated/header-only files
16
+ // that the byte-level probe can still measure, so fall through to it
17
+ }
8
18
  }
9
- // Tiff file do not support buffers or streams, so we must write to file first
10
- // then retrieve dimensions. https://github.com/image-size/image-size/issues/103
11
- if (file?.mimetype === 'image/tiff') {
12
- const dimensions = await temporaryFileTask(async (filepath)=>{
13
- await fs.writeFile(filepath, file.data);
14
- return imageSizeFromFile(filepath);
15
- }, {
16
- extension: 'tiff'
17
- });
18
- return dimensions;
19
+ if (tempFilePath) {
20
+ return probeImageSizeFromPath(tempFilePath);
19
21
  }
20
- return imageSize(file.data);
22
+ return probeImageSize(file.data);
21
23
  }
22
24
 
23
25
  //# sourceMappingURL=getImageSize.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/uploads/getImageSize.ts"],"sourcesContent":["import fs from 'fs/promises'\nimport { imageSize } from 'image-size'\nimport { imageSizeFromFile } from 'image-size/fromFile'\n\nimport type { PayloadRequest } from '../types/index.js'\nimport type { ProbedImageSize } from './types.js'\n\nimport { temporaryFileTask } from './tempFile.js'\n\nexport async function getImageSize(file: PayloadRequest['file']): Promise<ProbedImageSize> {\n if (file?.tempFilePath) {\n return imageSizeFromFile(file.tempFilePath)\n }\n\n // Tiff file do not support buffers or streams, so we must write to file first\n // then retrieve dimensions. https://github.com/image-size/image-size/issues/103\n if (file?.mimetype === 'image/tiff') {\n const dimensions = await temporaryFileTask(\n async (filepath: string) => {\n await fs.writeFile(filepath, file.data)\n return imageSizeFromFile(filepath)\n },\n { extension: 'tiff' },\n )\n return dimensions\n }\n\n return imageSize(file!.data)\n}\n"],"names":["fs","imageSize","imageSizeFromFile","temporaryFileTask","getImageSize","file","tempFilePath","mimetype","dimensions","filepath","writeFile","data","extension"],"mappings":"AAAA,OAAOA,QAAQ,cAAa;AAC5B,SAASC,SAAS,QAAQ,aAAY;AACtC,SAASC,iBAAiB,QAAQ,sBAAqB;AAKvD,SAASC,iBAAiB,QAAQ,gBAAe;AAEjD,OAAO,eAAeC,aAAaC,IAA4B;IAC7D,IAAIA,MAAMC,cAAc;QACtB,OAAOJ,kBAAkBG,KAAKC,YAAY;IAC5C;IAEA,8EAA8E;IAC9E,gFAAgF;IAChF,IAAID,MAAME,aAAa,cAAc;QACnC,MAAMC,aAAa,MAAML,kBACvB,OAAOM;YACL,MAAMT,GAAGU,SAAS,CAACD,UAAUJ,KAAKM,IAAI;YACtC,OAAOT,kBAAkBO;QAC3B,GACA;YAAEG,WAAW;QAAO;QAEtB,OAAOJ;IACT;IAEA,OAAOP,UAAUI,KAAMM,IAAI;AAC7B"}
1
+ {"version":3,"sources":["../../src/uploads/getImageSize.ts"],"sourcesContent":["import type { SharpDependency } from '../config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\nimport type { ProbedImageSize } from './types.js'\n\nimport { probeImageSize, probeImageSizeFromPath } from './probeImageSize.js'\n\ntype Args = {\n file: PayloadRequest['file']\n /**\n * The configured `sharp` instance, when available. Preferred for reading\n * dimensions because it covers every format sharp can process. Falls back to\n * the dependency-free probe when sharp is not configured.\n */\n sharp?: SharpDependency\n}\n\nexport async function getImageSize({ file, sharp }: Args): Promise<ProbedImageSize> {\n // `tempFilePath` may be an empty string when the file is held in memory\n const tempFilePath = file?.tempFilePath || undefined\n\n if (sharp) {\n try {\n const { height, width } = await sharp(tempFilePath ?? file!.data).metadata()\n if (width && height) {\n return { height, width }\n }\n } catch {\n // sharp decodes the full image and rejects truncated/header-only files\n // that the byte-level probe can still measure, so fall through to it\n }\n }\n\n if (tempFilePath) {\n return probeImageSizeFromPath(tempFilePath)\n }\n\n return probeImageSize(file!.data)\n}\n"],"names":["probeImageSize","probeImageSizeFromPath","getImageSize","file","sharp","tempFilePath","undefined","height","width","data","metadata"],"mappings":"AAIA,SAASA,cAAc,EAAEC,sBAAsB,QAAQ,sBAAqB;AAY5E,OAAO,eAAeC,aAAa,EAAEC,IAAI,EAAEC,KAAK,EAAQ;IACtD,wEAAwE;IACxE,MAAMC,eAAeF,MAAME,gBAAgBC;IAE3C,IAAIF,OAAO;QACT,IAAI;YACF,MAAM,EAAEG,MAAM,EAAEC,KAAK,EAAE,GAAG,MAAMJ,MAAMC,gBAAgBF,KAAMM,IAAI,EAAEC,QAAQ;YAC1E,IAAIF,SAASD,QAAQ;gBACnB,OAAO;oBAAEA;oBAAQC;gBAAM;YACzB;QACF,EAAE,OAAM;QACN,uEAAuE;QACvE,qEAAqE;QACvE;IACF;IAEA,IAAIH,cAAc;QAChB,OAAOJ,uBAAuBI;IAChC;IAEA,OAAOL,eAAeG,KAAMM,IAAI;AAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSafeFilename.d.ts","sourceRoot":"","sources":["../../src/uploads/getSafeFilename.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAe5C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,MAAM,EACN,GAAG,EACH,UAAU,GACX,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxB"}
1
+ {"version":3,"file":"getSafeFilename.d.ts","sourceRoot":"","sources":["../../src/uploads/getSafeFilename.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,MAe5C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,cAAc,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,MAAM,EACN,GAAG,EACH,UAAU,GACX,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxB"}
@@ -0,0 +1,7 @@
1
+ import type { UploadEdits } from './types.js';
2
+ /**
3
+ * Whether upload edits change the image's pixel dimensions (crop or an explicit resize), as
4
+ * opposed to `focalPoint`, which does not.
5
+ */
6
+ export declare const hasCropOrResizeEdit: (uploadEdits: undefined | UploadEdits) => boolean;
7
+ //# sourceMappingURL=hasCropOrResizeEdit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasCropOrResizeEdit.d.ts","sourceRoot":"","sources":["../../src/uploads/hasCropOrResizeEdit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,gBAAiB,SAAS,GAAG,WAAW,KAAG,OACc,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Whether upload edits change the image's pixel dimensions (crop or an explicit resize), as
3
+ * opposed to `focalPoint`, which does not.
4
+ */ export const hasCropOrResizeEdit = (uploadEdits)=>Boolean(uploadEdits?.crop || uploadEdits?.heightInPixels || uploadEdits?.widthInPixels);
5
+
6
+ //# sourceMappingURL=hasCropOrResizeEdit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/hasCropOrResizeEdit.ts"],"sourcesContent":["import type { UploadEdits } from './types.js'\n\n/**\n * Whether upload edits change the image's pixel dimensions (crop or an explicit resize), as\n * opposed to `focalPoint`, which does not.\n */\nexport const hasCropOrResizeEdit = (uploadEdits: undefined | UploadEdits): boolean =>\n Boolean(uploadEdits?.crop || uploadEdits?.heightInPixels || uploadEdits?.widthInPixels)\n"],"names":["hasCropOrResizeEdit","uploadEdits","Boolean","crop","heightInPixels","widthInPixels"],"mappings":"AAEA;;;CAGC,GACD,OAAO,MAAMA,sBAAsB,CAACC,cAClCC,QAAQD,aAAaE,QAAQF,aAAaG,kBAAkBH,aAAaI,eAAc"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * True when the upload's bytes are fully available for processing - either wholly in-memory
3
+ * (data.length matches the declared size) or wholly on disk at tempFilePath with no partial
4
+ * in-memory probe alongside it. Bounded header-only probes returned by
5
+ * getFileFromUploadInstructions therefore report false, so callers can gate Sharp routing on
6
+ * complete content.
7
+ */
8
+ export declare function hasFullFileContents(file: {
9
+ data: Buffer;
10
+ size: number;
11
+ tempFilePath?: string;
12
+ }): boolean;
13
+ //# sourceMappingURL=hasFullFileContents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasFullFileContents.d.ts","sourceRoot":"","sources":["../../src/uploads/hasFullFileContents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAGV"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * True when the upload's bytes are fully available for processing - either wholly in-memory
3
+ * (data.length matches the declared size) or wholly on disk at tempFilePath with no partial
4
+ * in-memory probe alongside it. Bounded header-only probes returned by
5
+ * getFileFromUploadInstructions therefore report false, so callers can gate Sharp routing on
6
+ * complete content.
7
+ */ export function hasFullFileContents(file) {
8
+ const isCompleteTempFile = Boolean(file.tempFilePath) && (!file.data || file.data.length === 0);
9
+ return isCompleteTempFile || file.data.length === file.size;
10
+ }
11
+
12
+ //# sourceMappingURL=hasFullFileContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/hasFullFileContents.ts"],"sourcesContent":["/**\n * True when the upload's bytes are fully available for processing - either wholly in-memory\n * (data.length matches the declared size) or wholly on disk at tempFilePath with no partial\n * in-memory probe alongside it. Bounded header-only probes returned by\n * getFileFromUploadInstructions therefore report false, so callers can gate Sharp routing on\n * complete content.\n */\nexport function hasFullFileContents(file: {\n data: Buffer\n size: number\n tempFilePath?: string\n}): boolean {\n const isCompleteTempFile = Boolean(file.tempFilePath) && (!file.data || file.data.length === 0)\n return isCompleteTempFile || file.data.length === file.size\n}\n"],"names":["hasFullFileContents","file","isCompleteTempFile","Boolean","tempFilePath","data","length","size"],"mappings":"AAAA;;;;;;CAMC,GACD,OAAO,SAASA,oBAAoBC,IAInC;IACC,MAAMC,qBAAqBC,QAAQF,KAAKG,YAAY,KAAM,CAAA,CAACH,KAAKI,IAAI,IAAIJ,KAAKI,IAAI,CAACC,MAAM,KAAK,CAAA;IAC7F,OAAOJ,sBAAsBD,KAAKI,IAAI,CAACC,MAAM,KAAKL,KAAKM,IAAI;AAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"createImageSize.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/createImageSize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;CAC1B,CAAA;AACD,eAAO,MAAM,eAAe,GAAI,uDAO7B,gBAAgB,KAAG,QASrB,CAAA"}
1
+ {"version":3,"file":"createImageSize.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/createImageSize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;CAC1B,CAAA;AACD,eAAO,MAAM,eAAe,0DAOzB,gBAAgB,KAAG,QASrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createImageSizes.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/createImageSizes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAW/F;;;;;;;;;;;;;GAaG;AAEH,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,UAAU,EACV,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,GACb,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyOxC"}
1
+ {"version":3,"file":"createImageSizes.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/createImageSizes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAY/F;;;;;;;;;;;;;GAaG;AAEH,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,UAAU,EACV,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,GAAG,EACH,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,GACb,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyOxC"}
@@ -1,6 +1,7 @@
1
1
  import { fileTypeFromBuffer } from 'file-type';
2
2
  import fs from 'fs/promises';
3
3
  import { fileExists } from '../fileExists.js';
4
+ import { isAnimatedImage } from '../isAnimatedImage.js';
4
5
  import { optionallyAppendMetadata } from '../optionallyAppendMetadata.js';
5
6
  import { createImageSize } from './createImageSize.js';
6
7
  import { extractHeightFromImage } from './extractHeightFromImage.js';
@@ -17,11 +18,7 @@ export async function createImageSizes({ config, dimensions, file, focalPoint, m
17
18
  };
18
19
  }
19
20
  // Determine if the file is animated
20
- const fileIsAnimatedType = [
21
- 'image/avif',
22
- 'image/gif',
23
- 'image/webp'
24
- ].includes(file.mimetype);
21
+ const fileIsAnimatedType = isAnimatedImage(file.mimetype);
25
22
  const sharpOptions = {};
26
23
  if (fileIsAnimatedType) {
27
24
  sharpOptions.animated = true;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/uploads/image-resizing/createImageSizes.ts"],"sourcesContent":["import type { Sharp, SharpOptions } from 'sharp'\n\nimport { fileTypeFromBuffer } from 'file-type'\nimport fs from 'fs/promises'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SharpDependency } from '../../config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { WithMetadata } from '../optionallyAppendMetadata.js'\nimport type { FileSize, FileSizes, FileToSave, FocalPoint, ProbedImageSize } from '../types.js'\n\nimport { fileExists } from '../fileExists.js'\nimport { optionallyAppendMetadata } from '../optionallyAppendMetadata.js'\nimport { createImageSize } from './createImageSize.js'\nimport { extractHeightFromImage } from './extractHeightFromImage.js'\nimport { generateImageSizeFilename } from './generateImageSizeFilename.js'\nimport { getImageResizeAction } from './getImageResizeAction.js'\nimport { parseFilename } from './parseFilename.js'\nimport { sanitizeResizeConfig } from './sanitizeResizeConfig.js'\n\n/**\n * For the provided image sizes, handle the resizing and the transforms\n * (format, trim, etc.) of each requested image size and return the result object.\n * This only handles the image sizes. The transforms of the original image\n * are handled in {@link ./generateFileData.ts}.\n *\n * The image will be resized according to the provided\n * resize config. If no image sizes are requested, the resolved data will be empty.\n * For every image that does not need to be resized, a result object with `null`\n * parameters will be returned.\n *\n * @param resizeConfig - the resize config\n * @returns the result of the resize operation(s)\n */\n\ntype ResizeArgs = {\n config: SanitizedCollectionConfig\n dimensions: ProbedImageSize\n file: PayloadRequest['file']\n focalPoint?: FocalPoint\n mimeType: string\n req: PayloadRequest\n savedFilename: string\n sharp?: SharpDependency\n staticPath: string\n withMetadata?: WithMetadata\n}\n\n/** Result from resizing and transforming the requested image sizes */\ntype ImageSizesResult = {\n sizeData: FileSizes\n sizesToSave: FileToSave[]\n}\n\nexport async function createImageSizes({\n config,\n dimensions,\n file,\n focalPoint,\n mimeType,\n req,\n savedFilename,\n sharp,\n staticPath,\n withMetadata,\n}: ResizeArgs): Promise<ImageSizesResult> {\n const { imageSizes } = config.upload\n\n if (!imageSizes || !sharp) {\n return {\n sizeData: {},\n sizesToSave: [],\n }\n }\n\n // Determine if the file is animated\n const fileIsAnimatedType = ['image/avif', 'image/gif', 'image/webp'].includes(file!.mimetype)\n const sharpOptions: SharpOptions = {}\n\n if (fileIsAnimatedType) {\n sharpOptions.animated = true\n }\n\n const sharpBase: Sharp | undefined = sharp(\n file!.tempFilePath || file!.data,\n sharpOptions,\n ).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081\n const originalImageMeta = await sharpBase.metadata()\n\n let adjustedDimensions = { ...dimensions }\n\n // Images with an exif orientation of 5, 6, 7, or 8 are auto-rotated by sharp\n // Need to adjust the dimensions to match the original image\n if ([5, 6, 7, 8].includes(originalImageMeta.orientation!)) {\n adjustedDimensions = {\n ...dimensions,\n height: dimensions.width,\n width: dimensions.height,\n }\n }\n\n const resizeImageMeta = {\n height: originalImageMeta.height,\n width: originalImageMeta.width,\n }\n\n const sizes = {} as Record<string, FileSize>\n const imageSizeFiles: FileToSave[] = []\n\n await Promise.all(\n imageSizes.map(async (imageResizeConfig): Promise<void> => {\n imageResizeConfig = sanitizeResizeConfig(imageResizeConfig)\n\n const resizeAction = getImageResizeAction({\n dimensions,\n hasFocalPoint: Boolean(focalPoint),\n imageResizeConfig,\n })\n\n if (resizeAction === 'omit') {\n sizes[imageResizeConfig.name] = createImageSize({})\n return\n }\n\n const imageToResize = sharpBase.clone()\n let resized = imageToResize\n\n if (resizeAction === 'resizeWithFocalPoint') {\n let { height: resizeHeight, width: resizeWidth } = imageResizeConfig\n\n const originalAspectRatio = adjustedDimensions.width / adjustedDimensions.height\n\n // Calculate resizeWidth based on original aspect ratio if it's undefined\n if (resizeHeight && !resizeWidth) {\n resizeWidth = Math.round(resizeHeight * originalAspectRatio)\n }\n\n // Calculate resizeHeight based on original aspect ratio if it's undefined\n if (resizeWidth && !resizeHeight) {\n resizeHeight = Math.round(resizeWidth / originalAspectRatio)\n }\n\n if (!resizeHeight) {\n resizeHeight = resizeImageMeta.height\n }\n if (!resizeWidth) {\n resizeWidth = resizeImageMeta.width\n }\n\n const resizeAspectRatio = resizeWidth! / resizeHeight!\n const prioritizeHeight = resizeAspectRatio < originalAspectRatio\n // Scales the image before extracting from it\n resized = imageToResize.resize({\n fastShrinkOnLoad: false,\n height: prioritizeHeight ? resizeHeight : undefined,\n width: prioritizeHeight ? undefined : resizeWidth,\n })\n\n const metadataAppendedFile = await optionallyAppendMetadata({\n req,\n sharpFile: resized,\n withMetadata: withMetadata!,\n })\n\n // Must read from buffer, resized.metadata will return the original image metadata\n const { info } = await metadataAppendedFile.toBuffer({ resolveWithObject: true })\n\n resizeImageMeta.height = extractHeightFromImage({\n ...originalImageMeta,\n height: info.height,\n })\n resizeImageMeta.width = info.width\n\n const halfResizeX = resizeWidth! / 2\n const xFocalCenter = resizeImageMeta.width * (focalPoint!.x / 100)\n const calculatedRightPixelBound = xFocalCenter + halfResizeX\n let leftBound = xFocalCenter - halfResizeX\n\n // if the right bound is greater than the image width, adjust the left bound\n // keeping focus on the right\n if (calculatedRightPixelBound > resizeImageMeta.width) {\n leftBound = resizeImageMeta.width - resizeWidth!\n }\n\n // if the left bound is less than 0, adjust the left bound to 0\n // keeping the focus on the left\n if (leftBound < 0) {\n leftBound = 0\n }\n\n const halfResizeY = resizeHeight! / 2\n const yFocalCenter = resizeImageMeta.height * (focalPoint!.y / 100)\n const calculatedBottomPixelBound = yFocalCenter + halfResizeY\n let topBound = yFocalCenter - halfResizeY\n\n // if the bottom bound is greater than the image height, adjust the top bound\n // keeping the image as far right as possible\n if (calculatedBottomPixelBound > resizeImageMeta.height) {\n topBound = resizeImageMeta.height - resizeHeight!\n }\n\n // if the top bound is less than 0, adjust the top bound to 0\n // keeping the image focus near the top\n if (topBound < 0) {\n topBound = 0\n }\n\n resized = resized.extract({\n height: resizeHeight!,\n left: Math.floor(leftBound),\n top: Math.floor(topBound),\n width: resizeWidth!,\n })\n } else {\n resized = imageToResize.resize(imageResizeConfig)\n }\n\n if (imageResizeConfig.formatOptions) {\n resized = resized.toFormat(\n imageResizeConfig.formatOptions.format,\n imageResizeConfig.formatOptions.options,\n )\n }\n\n if (imageResizeConfig.trimOptions) {\n resized = resized.trim(imageResizeConfig.trimOptions)\n }\n\n const metadataAppendedFile = await optionallyAppendMetadata({\n req,\n sharpFile: resized,\n withMetadata: withMetadata!,\n })\n\n const { data: bufferData, info: bufferInfo } = await metadataAppendedFile.toBuffer({\n resolveWithObject: true,\n })\n\n const { name, ext } = parseFilename(savedFilename)\n\n if (req.payloadUploadSizes) {\n req.payloadUploadSizes[imageResizeConfig.name] = bufferData\n }\n\n const mimeInfo = await fileTypeFromBuffer(bufferData)\n\n const imageNameWithDimensions = imageResizeConfig.generateImageName\n ? imageResizeConfig.generateImageName({\n extension: mimeInfo?.ext || ext,\n height: extractHeightFromImage({\n ...originalImageMeta,\n height: bufferInfo.height,\n }),\n originalName: name,\n sizeName: imageResizeConfig.name,\n width: bufferInfo.width,\n })\n : generateImageSizeFilename({\n extension: mimeInfo?.ext || ext,\n height: extractHeightFromImage({\n ...originalImageMeta,\n height: bufferInfo.height,\n }),\n outputImageName: name,\n width: bufferInfo.width,\n })\n\n const imagePath = `${staticPath}/${imageNameWithDimensions}`\n\n if (await fileExists(imagePath)) {\n try {\n await fs.unlink(imagePath)\n } catch {\n // Ignore unlink errors\n }\n }\n\n const { height, size, width } = bufferInfo\n sizes[imageResizeConfig.name] = createImageSize({\n filename: imageNameWithDimensions,\n filesize: size,\n height:\n fileIsAnimatedType && originalImageMeta.pages ? height / originalImageMeta.pages : height,\n mimeType: mimeInfo?.mime || mimeType,\n width,\n })\n\n imageSizeFiles.push({\n buffer: bufferData,\n path: imagePath,\n })\n }),\n )\n\n return {\n sizeData: sizes,\n sizesToSave: imageSizeFiles,\n }\n}\n"],"names":["fileTypeFromBuffer","fs","fileExists","optionallyAppendMetadata","createImageSize","extractHeightFromImage","generateImageSizeFilename","getImageResizeAction","parseFilename","sanitizeResizeConfig","createImageSizes","config","dimensions","file","focalPoint","mimeType","req","savedFilename","sharp","staticPath","withMetadata","imageSizes","upload","sizeData","sizesToSave","fileIsAnimatedType","includes","mimetype","sharpOptions","animated","sharpBase","tempFilePath","data","rotate","originalImageMeta","metadata","adjustedDimensions","orientation","height","width","resizeImageMeta","sizes","imageSizeFiles","Promise","all","map","imageResizeConfig","resizeAction","hasFocalPoint","Boolean","name","imageToResize","clone","resized","resizeHeight","resizeWidth","originalAspectRatio","Math","round","resizeAspectRatio","prioritizeHeight","resize","fastShrinkOnLoad","undefined","metadataAppendedFile","sharpFile","info","toBuffer","resolveWithObject","halfResizeX","xFocalCenter","x","calculatedRightPixelBound","leftBound","halfResizeY","yFocalCenter","y","calculatedBottomPixelBound","topBound","extract","left","floor","top","formatOptions","toFormat","format","options","trimOptions","trim","bufferData","bufferInfo","ext","payloadUploadSizes","mimeInfo","imageNameWithDimensions","generateImageName","extension","originalName","sizeName","outputImageName","imagePath","unlink","size","filename","filesize","pages","mime","push","buffer","path"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/uploads/image-resizing/createImageSizes.ts"],"sourcesContent":["import type { Sharp, SharpOptions } from 'sharp'\n\nimport { fileTypeFromBuffer } from 'file-type'\nimport fs from 'fs/promises'\n\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SharpDependency } from '../../config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\nimport type { WithMetadata } from '../optionallyAppendMetadata.js'\nimport type { FileSize, FileSizes, FileToSave, FocalPoint, ProbedImageSize } from '../types.js'\n\nimport { fileExists } from '../fileExists.js'\nimport { isAnimatedImage } from '../isAnimatedImage.js'\nimport { optionallyAppendMetadata } from '../optionallyAppendMetadata.js'\nimport { createImageSize } from './createImageSize.js'\nimport { extractHeightFromImage } from './extractHeightFromImage.js'\nimport { generateImageSizeFilename } from './generateImageSizeFilename.js'\nimport { getImageResizeAction } from './getImageResizeAction.js'\nimport { parseFilename } from './parseFilename.js'\nimport { sanitizeResizeConfig } from './sanitizeResizeConfig.js'\n\n/**\n * For the provided image sizes, handle the resizing and the transforms\n * (format, trim, etc.) of each requested image size and return the result object.\n * This only handles the image sizes. The transforms of the original image\n * are handled in {@link ./generateFileData.ts}.\n *\n * The image will be resized according to the provided\n * resize config. If no image sizes are requested, the resolved data will be empty.\n * For every image that does not need to be resized, a result object with `null`\n * parameters will be returned.\n *\n * @param resizeConfig - the resize config\n * @returns the result of the resize operation(s)\n */\n\ntype ResizeArgs = {\n config: SanitizedCollectionConfig\n dimensions: ProbedImageSize\n file: PayloadRequest['file']\n focalPoint?: FocalPoint\n mimeType: string\n req: PayloadRequest\n savedFilename: string\n sharp?: SharpDependency\n staticPath: string\n withMetadata?: WithMetadata\n}\n\n/** Result from resizing and transforming the requested image sizes */\ntype ImageSizesResult = {\n sizeData: FileSizes\n sizesToSave: FileToSave[]\n}\n\nexport async function createImageSizes({\n config,\n dimensions,\n file,\n focalPoint,\n mimeType,\n req,\n savedFilename,\n sharp,\n staticPath,\n withMetadata,\n}: ResizeArgs): Promise<ImageSizesResult> {\n const { imageSizes } = config.upload\n\n if (!imageSizes || !sharp) {\n return {\n sizeData: {},\n sizesToSave: [],\n }\n }\n\n // Determine if the file is animated\n const fileIsAnimatedType = isAnimatedImage(file!.mimetype)\n const sharpOptions: SharpOptions = {}\n\n if (fileIsAnimatedType) {\n sharpOptions.animated = true\n }\n\n const sharpBase: Sharp | undefined = sharp(\n file!.tempFilePath || file!.data,\n sharpOptions,\n ).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081\n const originalImageMeta = await sharpBase.metadata()\n\n let adjustedDimensions = { ...dimensions }\n\n // Images with an exif orientation of 5, 6, 7, or 8 are auto-rotated by sharp\n // Need to adjust the dimensions to match the original image\n if ([5, 6, 7, 8].includes(originalImageMeta.orientation!)) {\n adjustedDimensions = {\n ...dimensions,\n height: dimensions.width,\n width: dimensions.height,\n }\n }\n\n const resizeImageMeta = {\n height: originalImageMeta.height,\n width: originalImageMeta.width,\n }\n\n const sizes = {} as Record<string, FileSize>\n const imageSizeFiles: FileToSave[] = []\n\n await Promise.all(\n imageSizes.map(async (imageResizeConfig): Promise<void> => {\n imageResizeConfig = sanitizeResizeConfig(imageResizeConfig)\n\n const resizeAction = getImageResizeAction({\n dimensions,\n hasFocalPoint: Boolean(focalPoint),\n imageResizeConfig,\n })\n\n if (resizeAction === 'omit') {\n sizes[imageResizeConfig.name] = createImageSize({})\n return\n }\n\n const imageToResize = sharpBase.clone()\n let resized = imageToResize\n\n if (resizeAction === 'resizeWithFocalPoint') {\n let { height: resizeHeight, width: resizeWidth } = imageResizeConfig\n\n const originalAspectRatio = adjustedDimensions.width / adjustedDimensions.height\n\n // Calculate resizeWidth based on original aspect ratio if it's undefined\n if (resizeHeight && !resizeWidth) {\n resizeWidth = Math.round(resizeHeight * originalAspectRatio)\n }\n\n // Calculate resizeHeight based on original aspect ratio if it's undefined\n if (resizeWidth && !resizeHeight) {\n resizeHeight = Math.round(resizeWidth / originalAspectRatio)\n }\n\n if (!resizeHeight) {\n resizeHeight = resizeImageMeta.height\n }\n if (!resizeWidth) {\n resizeWidth = resizeImageMeta.width\n }\n\n const resizeAspectRatio = resizeWidth! / resizeHeight!\n const prioritizeHeight = resizeAspectRatio < originalAspectRatio\n // Scales the image before extracting from it\n resized = imageToResize.resize({\n fastShrinkOnLoad: false,\n height: prioritizeHeight ? resizeHeight : undefined,\n width: prioritizeHeight ? undefined : resizeWidth,\n })\n\n const metadataAppendedFile = await optionallyAppendMetadata({\n req,\n sharpFile: resized,\n withMetadata: withMetadata!,\n })\n\n // Must read from buffer, resized.metadata will return the original image metadata\n const { info } = await metadataAppendedFile.toBuffer({ resolveWithObject: true })\n\n resizeImageMeta.height = extractHeightFromImage({\n ...originalImageMeta,\n height: info.height,\n })\n resizeImageMeta.width = info.width\n\n const halfResizeX = resizeWidth! / 2\n const xFocalCenter = resizeImageMeta.width * (focalPoint!.x / 100)\n const calculatedRightPixelBound = xFocalCenter + halfResizeX\n let leftBound = xFocalCenter - halfResizeX\n\n // if the right bound is greater than the image width, adjust the left bound\n // keeping focus on the right\n if (calculatedRightPixelBound > resizeImageMeta.width) {\n leftBound = resizeImageMeta.width - resizeWidth!\n }\n\n // if the left bound is less than 0, adjust the left bound to 0\n // keeping the focus on the left\n if (leftBound < 0) {\n leftBound = 0\n }\n\n const halfResizeY = resizeHeight! / 2\n const yFocalCenter = resizeImageMeta.height * (focalPoint!.y / 100)\n const calculatedBottomPixelBound = yFocalCenter + halfResizeY\n let topBound = yFocalCenter - halfResizeY\n\n // if the bottom bound is greater than the image height, adjust the top bound\n // keeping the image as far right as possible\n if (calculatedBottomPixelBound > resizeImageMeta.height) {\n topBound = resizeImageMeta.height - resizeHeight!\n }\n\n // if the top bound is less than 0, adjust the top bound to 0\n // keeping the image focus near the top\n if (topBound < 0) {\n topBound = 0\n }\n\n resized = resized.extract({\n height: resizeHeight!,\n left: Math.floor(leftBound),\n top: Math.floor(topBound),\n width: resizeWidth!,\n })\n } else {\n resized = imageToResize.resize(imageResizeConfig)\n }\n\n if (imageResizeConfig.formatOptions) {\n resized = resized.toFormat(\n imageResizeConfig.formatOptions.format,\n imageResizeConfig.formatOptions.options,\n )\n }\n\n if (imageResizeConfig.trimOptions) {\n resized = resized.trim(imageResizeConfig.trimOptions)\n }\n\n const metadataAppendedFile = await optionallyAppendMetadata({\n req,\n sharpFile: resized,\n withMetadata: withMetadata!,\n })\n\n const { data: bufferData, info: bufferInfo } = await metadataAppendedFile.toBuffer({\n resolveWithObject: true,\n })\n\n const { name, ext } = parseFilename(savedFilename)\n\n if (req.payloadUploadSizes) {\n req.payloadUploadSizes[imageResizeConfig.name] = bufferData\n }\n\n const mimeInfo = await fileTypeFromBuffer(bufferData)\n\n const imageNameWithDimensions = imageResizeConfig.generateImageName\n ? imageResizeConfig.generateImageName({\n extension: mimeInfo?.ext || ext,\n height: extractHeightFromImage({\n ...originalImageMeta,\n height: bufferInfo.height,\n }),\n originalName: name,\n sizeName: imageResizeConfig.name,\n width: bufferInfo.width,\n })\n : generateImageSizeFilename({\n extension: mimeInfo?.ext || ext,\n height: extractHeightFromImage({\n ...originalImageMeta,\n height: bufferInfo.height,\n }),\n outputImageName: name,\n width: bufferInfo.width,\n })\n\n const imagePath = `${staticPath}/${imageNameWithDimensions}`\n\n if (await fileExists(imagePath)) {\n try {\n await fs.unlink(imagePath)\n } catch {\n // Ignore unlink errors\n }\n }\n\n const { height, size, width } = bufferInfo\n sizes[imageResizeConfig.name] = createImageSize({\n filename: imageNameWithDimensions,\n filesize: size,\n height:\n fileIsAnimatedType && originalImageMeta.pages ? height / originalImageMeta.pages : height,\n mimeType: mimeInfo?.mime || mimeType,\n width,\n })\n\n imageSizeFiles.push({\n buffer: bufferData,\n path: imagePath,\n })\n }),\n )\n\n return {\n sizeData: sizes,\n sizesToSave: imageSizeFiles,\n }\n}\n"],"names":["fileTypeFromBuffer","fs","fileExists","isAnimatedImage","optionallyAppendMetadata","createImageSize","extractHeightFromImage","generateImageSizeFilename","getImageResizeAction","parseFilename","sanitizeResizeConfig","createImageSizes","config","dimensions","file","focalPoint","mimeType","req","savedFilename","sharp","staticPath","withMetadata","imageSizes","upload","sizeData","sizesToSave","fileIsAnimatedType","mimetype","sharpOptions","animated","sharpBase","tempFilePath","data","rotate","originalImageMeta","metadata","adjustedDimensions","includes","orientation","height","width","resizeImageMeta","sizes","imageSizeFiles","Promise","all","map","imageResizeConfig","resizeAction","hasFocalPoint","Boolean","name","imageToResize","clone","resized","resizeHeight","resizeWidth","originalAspectRatio","Math","round","resizeAspectRatio","prioritizeHeight","resize","fastShrinkOnLoad","undefined","metadataAppendedFile","sharpFile","info","toBuffer","resolveWithObject","halfResizeX","xFocalCenter","x","calculatedRightPixelBound","leftBound","halfResizeY","yFocalCenter","y","calculatedBottomPixelBound","topBound","extract","left","floor","top","formatOptions","toFormat","format","options","trimOptions","trim","bufferData","bufferInfo","ext","payloadUploadSizes","mimeInfo","imageNameWithDimensions","generateImageName","extension","originalName","sizeName","outputImageName","imagePath","unlink","size","filename","filesize","pages","mime","push","buffer","path"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateImageSizeFilename.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/generateImageSizeFilename.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,eAAO,MAAM,yBAAyB,GAAI,gDAKvC,mBAAmB,KAAG,MAExB,CAAA"}
1
+ {"version":3,"file":"generateImageSizeFilename.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/generateImageSizeFilename.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AACD,eAAO,MAAM,yBAAyB,mDAKnC,mBAAmB,KAAG,MAExB,CAAA"}
@@ -20,5 +20,5 @@ export declare const getImageResizeAction: ({ dimensions: originalImage, hasFoca
20
20
  dimensions: ProbedImageSize;
21
21
  hasFocalPoint?: boolean;
22
22
  imageResizeConfig: ImageSize;
23
- }) => "omit" | "resize" | "resizeWithFocalPoint";
23
+ }) => 'omit' | 'resize' | 'resizeWithFocalPoint';
24
24
  //# sourceMappingURL=getImageResizeAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getImageResizeAction.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/getImageResizeAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,GAAI,kEAIlC;IACD,UAAU,EAAE,eAAe,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,EAAE,SAAS,CAAA;CAC7B,KAAG,MAAM,GAAG,QAAQ,GAAG,sBA8CvB,CAAA"}
1
+ {"version":3,"file":"getImageResizeAction.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/getImageResizeAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,qEAI9B;IACD,UAAU,EAAE,eAAe,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,EAAE,SAAS,CAAA;CAC7B,KAAG,MAAM,GAAG,QAAQ,GAAG,sBA8CvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseFilename.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/parseFilename.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,aAAa,MAAM,KAAG,kBAInD,CAAA"}
1
+ {"version":3,"file":"parseFilename.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/parseFilename.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,gBAAiB,MAAM,KAAG,kBAInD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeResizeConfig.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/sanitizeResizeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,cAAc,SAAS,KAAG,SAU9D,CAAA"}
1
+ {"version":3,"file":"sanitizeResizeConfig.d.ts","sourceRoot":"","sources":["../../../src/uploads/image-resizing/sanitizeResizeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,iBAAkB,SAAS,KAAG,SAU9D,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Whether sharp needs to read every frame/page of this mime type (rather than just the first) to
3
+ * process it correctly - used to decide whether a file needs its full bytes fetched/processed
4
+ * even without any resize/format/trim adjustments configured, and whether sharp should be asked
5
+ * to read all frames when it does run.
6
+ */
7
+ export declare function isAnimatedImage(mimeType: string): boolean;
8
+ //# sourceMappingURL=isAnimatedImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAnimatedImage.d.ts","sourceRoot":"","sources":["../../src/uploads/isAnimatedImage.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD"}
@@ -0,0 +1,22 @@
1
+ // Matches the formats sharp's own `animated` input option documents as supported (reading every
2
+ // frame/page instead of just the first): https://sharp.pixelplumbing.com/api-constructor - "Set to
3
+ // true to read all frames/pages of an animated image (GIF, WebP, TIFF)". AVIF is deliberately
4
+ // excluded even though the format itself supports animation: this sharp version's AVIF encoder
5
+ // silently flattens `join({ animated: true })` frames into a single tall static image instead of
6
+ // a multi-page sequence (verified directly - the output always comes back as `pages: 1`), so
7
+ // there's no working animated-AVIF path to account for here.
8
+ const ANIMATED_IMAGE_MIME_TYPES = [
9
+ 'image/gif',
10
+ 'image/tiff',
11
+ 'image/webp'
12
+ ];
13
+ /**
14
+ * Whether sharp needs to read every frame/page of this mime type (rather than just the first) to
15
+ * process it correctly - used to decide whether a file needs its full bytes fetched/processed
16
+ * even without any resize/format/trim adjustments configured, and whether sharp should be asked
17
+ * to read all frames when it does run.
18
+ */ export function isAnimatedImage(mimeType) {
19
+ return ANIMATED_IMAGE_MIME_TYPES.includes(mimeType);
20
+ }
21
+
22
+ //# sourceMappingURL=isAnimatedImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/isAnimatedImage.ts"],"sourcesContent":["// Matches the formats sharp's own `animated` input option documents as supported (reading every\n// frame/page instead of just the first): https://sharp.pixelplumbing.com/api-constructor - \"Set to\n// true to read all frames/pages of an animated image (GIF, WebP, TIFF)\". AVIF is deliberately\n// excluded even though the format itself supports animation: this sharp version's AVIF encoder\n// silently flattens `join({ animated: true })` frames into a single tall static image instead of\n// a multi-page sequence (verified directly - the output always comes back as `pages: 1`), so\n// there's no working animated-AVIF path to account for here.\nconst ANIMATED_IMAGE_MIME_TYPES = ['image/gif', 'image/tiff', 'image/webp']\n\n/**\n * Whether sharp needs to read every frame/page of this mime type (rather than just the first) to\n * process it correctly - used to decide whether a file needs its full bytes fetched/processed\n * even without any resize/format/trim adjustments configured, and whether sharp should be asked\n * to read all frames when it does run.\n */\nexport function isAnimatedImage(mimeType: string): boolean {\n return ANIMATED_IMAGE_MIME_TYPES.includes(mimeType)\n}\n"],"names":["ANIMATED_IMAGE_MIME_TYPES","isAnimatedImage","mimeType","includes"],"mappings":"AAAA,gGAAgG;AAChG,mGAAmG;AACnG,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,6FAA6F;AAC7F,6DAA6D;AAC7D,MAAMA,4BAA4B;IAAC;IAAa;IAAc;CAAa;AAE3E;;;;;CAKC,GACD,OAAO,SAASC,gBAAgBC,QAAgB;IAC9C,OAAOF,0BAA0BG,QAAQ,CAACD;AAC5C"}
@@ -0,0 +1,2 @@
1
+ export declare function isProcessableImage(mimeType: string): boolean;
2
+ //# sourceMappingURL=isProcessableImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isProcessableImage.d.ts","sourceRoot":"","sources":["../../src/uploads/isProcessableImage.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D"}
@@ -0,0 +1,7 @@
1
+ import { canResizeImage } from './canResizeImage.js';
2
+ import { isImage } from './isImage.js';
3
+ export function isProcessableImage(mimeType) {
4
+ return isImage(mimeType) || canResizeImage(mimeType);
5
+ }
6
+
7
+ //# sourceMappingURL=isProcessableImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/isProcessableImage.ts"],"sourcesContent":["import { canResizeImage } from './canResizeImage.js'\nimport { isImage } from './isImage.js'\n\nexport function isProcessableImage(mimeType: string): boolean {\n return isImage(mimeType) || canResizeImage(mimeType)\n}\n"],"names":["canResizeImage","isImage","isProcessableImage","mimeType"],"mappings":"AAAA,SAASA,cAAc,QAAQ,sBAAqB;AACpD,SAASC,OAAO,QAAQ,eAAc;AAEtC,OAAO,SAASC,mBAAmBC,QAAgB;IACjD,OAAOF,QAAQE,aAAaH,eAAeG;AAC7C"}
@@ -0,0 +1,8 @@
1
+ import type { PayloadComponent } from '../config/types.js';
2
+ /**
3
+ * Resolves a PayloadComponent from a MIME-type keyed map.
4
+ *
5
+ * Priority: exact match → category wildcard (e.g. `video/*`) → universal fallback (`*`).
6
+ */
7
+ export declare function matchMimeType(map: Record<string, PayloadComponent>, mimeType: string): PayloadComponent | undefined;
8
+ //# sourceMappingURL=matchMimeType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMimeType.d.ts","sourceRoot":"","sources":["../../src/uploads/matchMimeType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACrC,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,SAAS,CAY9B"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Resolves a PayloadComponent from a MIME-type keyed map.
3
+ *
4
+ * Priority: exact match → category wildcard (e.g. `video/*`) → universal fallback (`*`).
5
+ */ export function matchMimeType(map, mimeType) {
6
+ if (mimeType in map) {
7
+ return map[mimeType];
8
+ }
9
+ const category = mimeType.split('/')[0];
10
+ if (`${category}/*` in map) {
11
+ return map[`${category}/*`];
12
+ }
13
+ if ('*' in map) {
14
+ return map['*'];
15
+ }
16
+ return undefined;
17
+ }
18
+
19
+ //# sourceMappingURL=matchMimeType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/uploads/matchMimeType.ts"],"sourcesContent":["import type { PayloadComponent } from '../config/types.js'\n\n/**\n * Resolves a PayloadComponent from a MIME-type keyed map.\n *\n * Priority: exact match → category wildcard (e.g. `video/*`) → universal fallback (`*`).\n */\nexport function matchMimeType(\n map: Record<string, PayloadComponent>,\n mimeType: string,\n): PayloadComponent | undefined {\n if (mimeType in map) {\n return map[mimeType]\n }\n const category = mimeType.split('/')[0]\n if (`${category}/*` in map) {\n return map[`${category}/*`]\n }\n if ('*' in map) {\n return map['*']\n }\n return undefined\n}\n"],"names":["matchMimeType","map","mimeType","category","split","undefined"],"mappings":"AAEA;;;;CAIC,GACD,OAAO,SAASA,cACdC,GAAqC,EACrCC,QAAgB;IAEhB,IAAIA,YAAYD,KAAK;QACnB,OAAOA,GAAG,CAACC,SAAS;IACtB;IACA,MAAMC,WAAWD,SAASE,KAAK,CAAC,IAAI,CAAC,EAAE;IACvC,IAAI,GAAGD,SAAS,EAAE,CAAC,IAAIF,KAAK;QAC1B,OAAOA,GAAG,CAAC,GAAGE,SAAS,EAAE,CAAC,CAAC;IAC7B;IACA,IAAI,OAAOF,KAAK;QACd,OAAOA,GAAG,CAAC,IAAI;IACjB;IACA,OAAOI;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"mimeTypeValidator.d.ts","sourceRoot":"","sources":["../../src/uploads/mimeTypeValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAIzD,eAAO,MAAM,iBAAiB,GAC3B,WAAW,MAAM,EAAE,KAAG,QAYtB,CAAA"}
1
+ {"version":3,"file":"mimeTypeValidator.d.ts","sourceRoot":"","sources":["../../src/uploads/mimeTypeValidator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAIzD,eAAO,MAAM,iBAAiB,cAChB,MAAM,EAAE,KAAG,QAYtB,CAAA"}