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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/queues/operations/runJobs/index.ts"],"sourcesContent":["import type { Job } from '../../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../../types/index.js'\nimport type { WorkflowJSON } from '../../config/types/workflowJSONTypes.js'\nimport type { WorkflowConfig, WorkflowHandler } from '../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../localAPI.js'\nimport type { RunJobResult } from './runJob/index.js'\n\nimport { Forbidden } from '../../../errors/Forbidden.js'\nimport { isolateObjectProperty } from '../../../utilities/isolateObjectProperty.js'\nimport { jobsCollectionSlug } from '../../config/collection.js'\nimport { JobCancelledError } from '../../errors/index.js'\nimport { getCurrentDate } from '../../utilities/getCurrentDate.js'\nimport { updateJob, updateJobs } from '../../utilities/updateJob.js'\nimport { getUpdateJobFunction } from './runJob/getUpdateJobFunction.js'\nimport { importHandlerPath } from './runJob/importHandlerPath.js'\nimport { runJob } from './runJob/index.js'\nimport { runJSONJob } from './runJSONJob/index.js'\n\nexport type RunJobsArgs = {\n /**\n * If you want to run jobs from all queues, set this to true.\n * If you set this to true, the `queue` property will be ignored.\n *\n * @default false\n */\n allQueues?: boolean\n /**\n * ID of the job to run\n */\n id?: number | string\n /**\n * The maximum number of jobs to run in this invocation\n *\n * @default 10\n */\n limit?: number\n overrideAccess?: boolean\n /**\n * Adjust the job processing order\n *\n * FIFO would equal `createdAt` and LIFO would equal `-createdAt`.\n *\n * @default all jobs for all queues will be executed in FIFO order.\n */\n processingOrder?: Sort\n /**\n * If you want to run jobs from a specific queue, set this to the queue name.\n *\n * @default jobs from the `default` queue will be executed.\n */\n queue?: string\n req: PayloadRequest\n /**\n * By default, jobs are run in parallel.\n * If you want to run them in sequence, set this to true.\n */\n sequential?: boolean\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n where?: Where\n}\n\nexport type RunJobsResult = {\n jobStatus?: Record<string, RunJobResult>\n /**\n * If this is true, there for sure are no jobs remaining, regardless of the limit\n */\n noJobsRemaining?: boolean\n /**\n * Out of the jobs that were queried & processed (within the set limit), how many are remaining and retryable?\n */\n remainingJobsFromQueried: number\n}\n\nexport const runJobs = async (args: RunJobsArgs): Promise<RunJobsResult> => {\n const {\n id,\n allQueues = false,\n limit = 10,\n overrideAccess,\n processingOrder,\n queue = 'default',\n req,\n req: {\n payload,\n payload: {\n config: { jobs: jobsConfig },\n },\n },\n sequential,\n silent = false,\n where: whereFromProps,\n } = args\n\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.run will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = jobsConfig?.access?.run ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n const and: Where[] = [\n {\n completedAt: {\n exists: false,\n },\n },\n {\n hasError: {\n not_equals: true,\n },\n },\n {\n processing: {\n equals: false,\n },\n },\n {\n or: [\n {\n waitUntil: {\n exists: false,\n },\n },\n {\n waitUntil: {\n less_than: getCurrentDate().toISOString(),\n },\n },\n ],\n },\n ]\n\n if (allQueues !== true) {\n and.push({\n queue: {\n equals: queue ?? 'default',\n },\n })\n }\n\n if (whereFromProps) {\n and.push(whereFromProps)\n }\n\n // Only enforce concurrency controls if the feature is enabled\n if (jobsConfig.enableConcurrencyControl) {\n // Find currently running jobs with concurrency keys to enforce exclusive concurrency\n // Jobs with the same concurrencyKey should not run in parallel\n const runningJobsWithConcurrency = await payload.db.find({\n collection: jobsCollectionSlug,\n limit: 0,\n pagination: false,\n req: { transactionID: undefined },\n select: {\n concurrencyKey: true,\n },\n where: {\n and: [{ processing: { equals: true } }, { concurrencyKey: { exists: true } }],\n },\n })\n\n const runningConcurrencyKeys = new Set<string>()\n if (runningJobsWithConcurrency?.docs) {\n for (const doc of runningJobsWithConcurrency.docs) {\n const concurrencyKey = (doc as Job).concurrencyKey\n if (concurrencyKey) {\n runningConcurrencyKeys.add(concurrencyKey)\n }\n }\n }\n\n // Exclude jobs whose concurrencyKey is already running\n if (runningConcurrencyKeys.size > 0) {\n and.push({\n or: [\n // Jobs without a concurrency key can always run\n { concurrencyKey: { exists: false } },\n // Jobs with a concurrency key that is not currently running can run\n { concurrencyKey: { not_in: [...runningConcurrencyKeys] } },\n ],\n })\n }\n }\n\n // Find all jobs and ensure we set job to processing: true as early as possible to reduce the chance of\n // the same job being picked up by another worker\n let jobs: Job[] = []\n\n if (id) {\n // Only one job to run\n const job = await updateJob({\n id,\n data: {\n processing: true,\n },\n req,\n returning: true,\n })\n if (job) {\n jobs = [job]\n }\n } else {\n let defaultProcessingOrder: Sort =\n payload.collections[jobsCollectionSlug]?.config.defaultSort ?? 'createdAt'\n\n const processingOrderConfig = jobsConfig.processingOrder\n if (typeof processingOrderConfig === 'function') {\n defaultProcessingOrder = await processingOrderConfig(args)\n } else if (typeof processingOrderConfig === 'object' && !Array.isArray(processingOrderConfig)) {\n if (\n !allQueues &&\n queue &&\n processingOrderConfig.queues &&\n processingOrderConfig.queues[queue]\n ) {\n defaultProcessingOrder = processingOrderConfig.queues[queue]\n } else if (processingOrderConfig.default) {\n defaultProcessingOrder = processingOrderConfig.default\n }\n } else if (typeof processingOrderConfig === 'string') {\n defaultProcessingOrder = processingOrderConfig\n }\n const updatedDocs = await updateJobs({\n data: {\n processing: true,\n },\n limit,\n req,\n returning: true,\n sort: processingOrder ?? defaultProcessingOrder,\n where: { and },\n })\n\n if (updatedDocs) {\n jobs = updatedDocs\n }\n }\n\n if (!jobs.length) {\n return {\n noJobsRemaining: true,\n remainingJobsFromQueried: 0,\n }\n }\n\n // Only handle concurrency deduplication if the feature is enabled\n if (jobsConfig.enableConcurrencyControl) {\n // Handle the case where multiple jobs with the same concurrencyKey were picked up in the same batch\n // We should only run one job per concurrencyKey, release the others back to pending\n const seenConcurrencyKeys = new Set<string>()\n const jobsToRun: Job[] = []\n const jobsToRelease: Job[] = []\n\n for (const job of jobs) {\n if (job.concurrencyKey) {\n if (seenConcurrencyKeys.has(job.concurrencyKey)) {\n // This job has the same concurrencyKey as another job we're already running\n jobsToRelease.push(job)\n } else {\n seenConcurrencyKeys.add(job.concurrencyKey)\n jobsToRun.push(job)\n }\n } else {\n jobsToRun.push(job)\n }\n }\n\n // Release duplicate concurrencyKey jobs back to pending state\n if (jobsToRelease.length > 0) {\n const releaseIds = jobsToRelease.map((job) => job.id)\n await updateJobs({\n data: { processing: false },\n req,\n returning: false,\n where: { id: { in: releaseIds } },\n })\n }\n\n // Use only the filtered jobs going forward\n jobs = jobsToRun\n }\n\n if (!jobs.length) {\n return {\n noJobsRemaining: false,\n remainingJobsFromQueried: 0,\n }\n }\n\n if (!silent || (typeof silent === 'object' && !silent.info)) {\n let newCount = 0\n let retryCount = 0\n\n for (const job of jobs) {\n if (job.totalTried > 0) {\n retryCount++\n } else {\n newCount++\n }\n }\n\n payload.logger.info({\n msg: `Running ${jobs.length} jobs.`,\n new: newCount,\n retrying: retryCount,\n })\n }\n\n const successfullyCompletedJobs: (number | string)[] = []\n\n const runSingleJob = async (\n job: Job,\n ): Promise<{\n id: number | string\n result: RunJobResult\n }> => {\n if (!job.workflowSlug && !job.taskSlug) {\n throw new Error('Job must have either a workflowSlug or a taskSlug')\n }\n const jobReq = isolateObjectProperty(req, 'transactionID')\n\n let workflowConfig: undefined | WorkflowConfig = undefined\n\n if (job.workflowSlug && jobsConfig.workflows?.length) {\n workflowConfig = jobsConfig.workflows.find(({ slug }) => slug === job.workflowSlug)\n } else if (job.taskSlug && jobsConfig.tasks?.length) {\n const taskExists = jobsConfig.tasks.some(({ slug }) => slug === job.taskSlug)\n if (taskExists) {\n workflowConfig = {\n slug: 'singleTask',\n handler: async ({ job, tasks }) => {\n await tasks[job.taskSlug as string]!('1', {\n input: job.input,\n })\n },\n }\n }\n }\n\n if (!workflowConfig) {\n // Permanently fail jobs whose task/workflow slug is no longer registered in config — they can never complete.\n const errorMessage = `${job.taskSlug ? `Task '${job.taskSlug}'` : `Workflow '${job.workflowSlug}'`} is not registered in payload.config.jobs.`\n\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error({\n msg: `Error running job ${job.workflowSlug || `Task: ${job.taskSlug}`} id: ${job.id} - ${errorMessage}`,\n })\n }\n\n const updateJob = getUpdateJobFunction(job, jobReq)\n await updateJob({\n error: { message: errorMessage },\n hasError: true,\n processing: false,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n\n try {\n const updateJob = getUpdateJobFunction(job, jobReq)\n\n // the runner will either be passed to the config\n // OR it will be a path, which we will need to import via eval to avoid\n // Next.js compiler dynamic import expression errors\n let workflowHandler: WorkflowHandler | WorkflowJSON\n if (\n typeof workflowConfig.handler === 'function' ||\n (typeof workflowConfig.handler === 'object' && Array.isArray(workflowConfig.handler))\n ) {\n workflowHandler = workflowConfig.handler\n } else {\n workflowHandler = await importHandlerPath<typeof workflowHandler>(workflowConfig.handler)\n\n if (!workflowHandler) {\n const jobLabel = job.workflowSlug || `Task: ${job.taskSlug}`\n const errorMessage = `Can't find runner while importing with the path ${workflowConfig.handler} in job type ${jobLabel}.`\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error(errorMessage)\n }\n\n await updateJob({\n error: {\n error: errorMessage,\n },\n hasError: true,\n processing: false,\n })\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n }\n\n if (typeof workflowHandler === 'function') {\n const result = await runJob({\n job,\n req: jobReq,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n\n if (result.status === 'success') {\n successfullyCompletedJobs.push(job.id)\n }\n\n return { id: job.id, result }\n } else {\n const result = await runJSONJob({\n job,\n req: jobReq,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n\n if (result.status === 'success') {\n successfullyCompletedJobs.push(job.id)\n }\n\n return { id: job.id, result }\n }\n } catch (error) {\n if (error instanceof JobCancelledError) {\n if (\n !(job.error as Record<string, unknown> | undefined)?.cancelled ||\n !job.hasError ||\n job.processing ||\n job.completedAt ||\n job.waitUntil\n ) {\n // When using the local API to cancel jobs, the local API will update the job data for us to ensure the job is cancelled.\n // But when throwing a JobCancelledError within a task or workflow handler, we are responsible for updating the job data ourselves.\n await updateJob({\n id: job.id,\n data: {\n completedAt: null,\n error: {\n cancelled: true,\n message: error.message,\n },\n hasError: true,\n processing: false,\n waitUntil: null,\n },\n req,\n returning: false,\n })\n }\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n throw error\n }\n }\n\n let resultsArray: { id: number | string; result: RunJobResult }[] = []\n if (sequential) {\n for (const job of jobs) {\n const result = await runSingleJob(job)\n if (result) {\n resultsArray.push(result)\n }\n }\n } else {\n const jobPromises = jobs.map(runSingleJob)\n resultsArray = (await Promise.all(jobPromises)) as {\n id: number | string\n result: RunJobResult\n }[]\n }\n\n if (jobsConfig.deleteJobOnComplete && successfullyCompletedJobs.length) {\n try {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n where: { id: { in: successfullyCompletedJobs } },\n })\n } catch (err) {\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error({\n err,\n msg: `Failed to delete jobs ${successfullyCompletedJobs.join(', ')} on complete`,\n })\n }\n }\n }\n\n const resultsObject: RunJobsResult['jobStatus'] = resultsArray.reduce(\n (acc, cur) => {\n if (cur !== null) {\n // Check if there's a valid result to include\n acc[cur.id] = cur.result\n }\n return acc\n },\n {} as Record<string, RunJobResult>,\n )\n\n let remainingJobsFromQueried = 0\n for (const jobID in resultsObject) {\n const jobResult = resultsObject[jobID]\n if (jobResult?.status === 'error') {\n remainingJobsFromQueried++ // Can be retried\n }\n }\n\n return {\n jobStatus: resultsObject,\n remainingJobsFromQueried,\n }\n}\n"],"names":["Forbidden","isolateObjectProperty","jobsCollectionSlug","JobCancelledError","getCurrentDate","updateJob","updateJobs","getUpdateJobFunction","importHandlerPath","runJob","runJSONJob","runJobs","args","id","allQueues","limit","overrideAccess","processingOrder","queue","req","payload","config","jobs","jobsConfig","sequential","silent","where","whereFromProps","accessFn","access","run","hasAccess","t","and","completedAt","exists","hasError","not_equals","processing","equals","or","waitUntil","less_than","toISOString","push","enableConcurrencyControl","runningJobsWithConcurrency","db","find","collection","pagination","transactionID","undefined","select","concurrencyKey","runningConcurrencyKeys","Set","docs","doc","add","size","not_in","job","data","returning","defaultProcessingOrder","collections","defaultSort","processingOrderConfig","Array","isArray","queues","default","updatedDocs","sort","length","noJobsRemaining","remainingJobsFromQueried","seenConcurrencyKeys","jobsToRun","jobsToRelease","has","releaseIds","map","in","info","newCount","retryCount","totalTried","logger","msg","new","retrying","successfullyCompletedJobs","runSingleJob","workflowSlug","taskSlug","Error","jobReq","workflowConfig","workflows","slug","tasks","taskExists","some","handler","input","errorMessage","error","message","result","status","workflowHandler","jobLabel","cancelled","resultsArray","jobPromises","Promise","all","deleteJobOnComplete","deleteMany","err","join","resultsObject","reduce","acc","cur","jobID","jobResult","jobStatus"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/queues/operations/runJobs/index.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid'\n\nimport type { Job } from '../../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../../types/index.js'\nimport type { WorkflowJSON } from '../../config/types/workflowJSONTypes.js'\nimport type { WorkflowConfig, WorkflowHandler } from '../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../localAPI.js'\nimport type { RunJobResult } from './runJob/index.js'\n\nimport { Forbidden } from '../../../errors/Forbidden.js'\nimport { isolateObjectProperty } from '../../../utilities/isolateObjectProperty.js'\nimport { jobsCollectionSlug } from '../../config/collection.js'\nimport { JobCancelledError, JobRunAbortedError } from '../../errors/index.js'\nimport { getCurrentDate } from '../../utilities/getCurrentDate.js'\nimport { updateJobs } from '../../utilities/updateJob.js'\nimport { startProcessingLeaseHeartbeat } from './heartbeat.js'\nimport { getUpdateJobFunction } from './runJob/getUpdateJobFunction.js'\nimport { importHandlerPath } from './runJob/importHandlerPath.js'\nimport { runJob } from './runJob/index.js'\nimport { runJSONJob } from './runJSONJob/index.js'\n\nexport type RunJobsArgs = {\n /**\n * If you want to run jobs from all queues, set this to true.\n * If you set this to true, the `queue` property will be ignored.\n *\n * @default false\n */\n allQueues?: boolean\n /**\n * ID of the job to run\n */\n id?: number | string\n /**\n * The maximum number of jobs to run in this invocation\n *\n * @default 10\n */\n limit?: number\n overrideAccess?: boolean\n /**\n * Adjust the job processing order\n *\n * FIFO would equal `createdAt` and LIFO would equal `-createdAt`.\n *\n * @default all jobs for all queues will be executed in FIFO order.\n */\n processingOrder?: Sort\n /**\n * If you want to run jobs from a specific queue, set this to the queue name.\n *\n * @default jobs from the `default` queue will be executed.\n */\n queue?: string\n req: PayloadRequest\n /**\n * By default, jobs are run in parallel.\n * If you want to run them in sequence, set this to true.\n */\n sequential?: boolean\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n where?: Where\n}\n\nexport type RunJobsResult = {\n jobStatus?: Record<string, RunJobResult>\n /**\n * If this is true, there for sure are no jobs remaining, regardless of the limit\n */\n noJobsRemaining?: boolean\n /**\n * Out of the jobs that were queried & processed (within the set limit), how many are remaining and retryable?\n */\n remainingJobsFromQueried: number\n}\n\nexport const runJobs = async (args: RunJobsArgs): Promise<RunJobsResult> => {\n const {\n id,\n allQueues = false,\n limit = 10,\n overrideAccess,\n processingOrder,\n queue = 'default',\n req,\n req: {\n payload,\n payload: {\n config: { jobs: jobsConfig },\n },\n },\n sequential,\n silent = false,\n where: whereFromProps,\n } = args\n\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.run will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = jobsConfig?.access?.run ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n const now = getCurrentDate()\n const { duration: processingLeaseDuration, safetyBuffer: processingLeaseSafetyBuffer } =\n jobsConfig.processingLease\n const nowISOString = now.toISOString()\n const processingUntil = new Date(now.getTime() + processingLeaseDuration).toISOString()\n const processingToken = uuid()\n const and: Where[] = [\n {\n completedAt: {\n exists: false,\n },\n },\n {\n hasError: {\n not_equals: true,\n },\n },\n {\n or: [\n { processingUntil: { exists: false } },\n { processingUntil: { less_than_equal: nowISOString } },\n ],\n },\n {\n or: [\n {\n waitUntil: {\n exists: false,\n },\n },\n {\n waitUntil: {\n less_than: nowISOString,\n },\n },\n ],\n },\n ]\n\n if (!id && allQueues !== true) {\n and.push({\n queue: {\n equals: queue ?? 'default',\n },\n })\n }\n\n if (whereFromProps) {\n and.push(whereFromProps)\n }\n\n if (id) {\n and.push({ id: { equals: id } })\n }\n\n if (jobsConfig.hasConcurrency) {\n // Find currently running jobs with concurrency keys to enforce exclusive concurrency.\n // Jobs with the same concurrencyKey should not run in parallel.\n const runningJobsWithConcurrency = await payload.db.find({\n collection: jobsCollectionSlug,\n limit: 0,\n pagination: false,\n req: { transactionID: undefined },\n select: {\n concurrencyKey: true,\n },\n where: {\n and: [\n { processingUntil: { greater_than: nowISOString } },\n { concurrencyKey: { exists: true } },\n ],\n },\n })\n\n const runningConcurrencyKeys = new Set<string>()\n if (runningJobsWithConcurrency?.docs) {\n for (const doc of runningJobsWithConcurrency.docs) {\n const concurrencyKey = (doc as Job).concurrencyKey\n if (concurrencyKey) {\n runningConcurrencyKeys.add(concurrencyKey)\n }\n }\n }\n\n // Exclude jobs whose concurrencyKey is already running\n if (runningConcurrencyKeys.size > 0) {\n and.push({\n or: [\n // Jobs without a concurrency key can always run\n { concurrencyKey: { exists: false } },\n // Jobs with a concurrency key that is not currently running can run\n { concurrencyKey: { not_in: [...runningConcurrencyKeys] } },\n ],\n })\n }\n }\n\n // Claim jobs before running them so another worker cannot pick up the same jobs.\n // `processingToken` identifies which jobs were claimed by this runner.\n let jobs: Job[] = []\n\n if (id) {\n const updatedDocs = await updateJobs({\n data: {\n processingToken,\n processingUntil,\n },\n limit: 1,\n req,\n returning: true,\n where: { and },\n })\n if (updatedDocs) {\n jobs = updatedDocs\n }\n } else {\n let defaultProcessingOrder: Sort =\n payload.collections[jobsCollectionSlug]?.config.defaultSort ?? 'createdAt'\n\n const processingOrderConfig = jobsConfig.processingOrder\n if (typeof processingOrderConfig === 'function') {\n defaultProcessingOrder = await processingOrderConfig(args)\n } else if (typeof processingOrderConfig === 'object' && !Array.isArray(processingOrderConfig)) {\n if (\n !allQueues &&\n queue &&\n processingOrderConfig.queues &&\n processingOrderConfig.queues[queue]\n ) {\n defaultProcessingOrder = processingOrderConfig.queues[queue]\n } else if (processingOrderConfig.default) {\n defaultProcessingOrder = processingOrderConfig.default\n }\n } else if (typeof processingOrderConfig === 'string') {\n defaultProcessingOrder = processingOrderConfig\n }\n const updatedDocs = await updateJobs({\n data: {\n processingToken,\n processingUntil,\n },\n limit,\n req,\n returning: true,\n sort: processingOrder ?? defaultProcessingOrder,\n where: { and },\n })\n\n if (updatedDocs) {\n jobs = updatedDocs\n }\n }\n\n if (!jobs.length) {\n return {\n noJobsRemaining: true,\n remainingJobsFromQueried: 0,\n }\n }\n\n if (jobsConfig.hasConcurrency) {\n // Handle the case where multiple jobs with the same concurrencyKey were picked up in the same batch.\n // We should only run one job per concurrencyKey, releasing the others back to pending.\n const seenConcurrencyKeys = new Set<string>()\n const jobsToRun: Job[] = []\n const jobsToRelease: Job[] = []\n\n for (const job of jobs) {\n if (job.concurrencyKey) {\n if (seenConcurrencyKeys.has(job.concurrencyKey)) {\n // This job has the same concurrencyKey as another job we're already running\n jobsToRelease.push(job)\n } else {\n seenConcurrencyKeys.add(job.concurrencyKey)\n jobsToRun.push(job)\n }\n } else {\n jobsToRun.push(job)\n }\n }\n\n // Release duplicate concurrencyKey jobs back to pending state\n if (jobsToRelease.length > 0) {\n const releaseIds = jobsToRelease.map((job) => job.id)\n await updateJobs({\n data: { processingUntil: null },\n req,\n returning: false,\n where: {\n and: [\n { id: { in: releaseIds } },\n { processingToken: { equals: processingToken } },\n {\n processingUntil: {\n greater_than: new Date(\n getCurrentDate().getTime() + processingLeaseSafetyBuffer,\n ).toISOString(),\n },\n },\n ],\n },\n })\n }\n\n // Use only the filtered jobs going forward\n jobs = jobsToRun\n\n if (!jobs.length) {\n return {\n noJobsRemaining: false,\n remainingJobsFromQueried: 0,\n }\n }\n }\n\n if (!silent || (typeof silent === 'object' && !silent.info)) {\n let newCount = 0\n let retryCount = 0\n\n for (const job of jobs) {\n if (job.totalTried > 0) {\n retryCount++\n } else {\n newCount++\n }\n }\n\n payload.logger.info({\n msg: `Running ${jobs.length} jobs.`,\n new: newCount,\n retrying: retryCount,\n })\n }\n\n const successfullyCompletedJobs: (number | string)[] = []\n\n const runSingleJob = async (\n job: Job,\n ): Promise<{\n id: number | string\n result: RunJobResult\n } | null> => {\n if (!job.workflowSlug && !job.taskSlug) {\n throw new Error('Job must have either a workflowSlug or a taskSlug')\n }\n const jobReq = isolateObjectProperty(req, 'transactionID')\n\n let workflowConfig: undefined | WorkflowConfig = undefined\n\n if (job.workflowSlug && jobsConfig.workflows?.length) {\n workflowConfig = jobsConfig.workflows.find(({ slug }) => slug === job.workflowSlug)\n } else if (job.taskSlug && jobsConfig.tasks?.length) {\n const taskExists = jobsConfig.tasks.some(({ slug }) => slug === job.taskSlug)\n if (taskExists) {\n workflowConfig = {\n slug: 'singleTask',\n handler: async ({ job, tasks }) => {\n await tasks[job.taskSlug as string]!('1', {\n input: job.input,\n })\n },\n }\n }\n }\n\n try {\n if (!workflowConfig) {\n // Permanently fail jobs whose task/workflow slug is no longer registered in config — they can never complete.\n const errorMessage = `${job.taskSlug ? `Task '${job.taskSlug}'` : `Workflow '${job.workflowSlug}'`} is not registered in payload.config.jobs.`\n\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error({\n msg: `Error running job ${job.workflowSlug || `Task: ${job.taskSlug}`} id: ${job.id} - ${errorMessage}`,\n })\n }\n\n const updateJob = getUpdateJobFunction(job, jobReq)\n await updateJob({\n error: { message: errorMessage },\n hasError: true,\n processingUntil: null,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n\n const updateJob = getUpdateJobFunction(job, jobReq)\n\n // the runner will either be passed to the config\n // OR it will be a path, which we will need to import via eval to avoid\n // Next.js compiler dynamic import expression errors\n let workflowHandler: WorkflowHandler | WorkflowJSON\n if (\n typeof workflowConfig.handler === 'function' ||\n (typeof workflowConfig.handler === 'object' && Array.isArray(workflowConfig.handler))\n ) {\n workflowHandler = workflowConfig.handler\n } else {\n workflowHandler = await importHandlerPath<typeof workflowHandler>(workflowConfig.handler)\n\n if (!workflowHandler) {\n const jobLabel = job.workflowSlug || `Task: ${job.taskSlug}`\n const errorMessage = `Can't find runner while importing with the path ${workflowConfig.handler} in job type ${jobLabel}.`\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error(errorMessage)\n }\n\n await updateJob({\n error: {\n error: errorMessage,\n },\n hasError: true,\n processingUntil: null,\n })\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n }\n\n if (typeof workflowHandler === 'function') {\n const result = await runJob({\n job,\n req: jobReq,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n\n if (result.status === 'success') {\n successfullyCompletedJobs.push(job.id)\n }\n\n return { id: job.id, result }\n } else {\n const result = await runJSONJob({\n job,\n req: jobReq,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n\n if (result.status === 'success') {\n successfullyCompletedJobs.push(job.id)\n }\n\n return { id: job.id, result }\n }\n } catch (error) {\n if (error instanceof JobRunAbortedError) {\n return null\n }\n if (error instanceof JobCancelledError) {\n if (\n !(job.error as Record<string, unknown> | undefined)?.cancelled ||\n !job.hasError ||\n job.processingUntil ||\n job.completedAt ||\n job.waitUntil\n ) {\n // When using the local API to cancel jobs, the local API will update the job data for us to ensure the job is cancelled.\n // But when throwing a JobCancelledError within a task or workflow handler, we are responsible for updating the job data ourselves.\n // Use the lease-protected getUpdateJobFunction so an old worker cannot cancel the job after another worker claims it.\n const updateJob = getUpdateJobFunction(job, jobReq)\n await updateJob({\n completedAt: null,\n error: {\n cancelled: true,\n message: error.message,\n },\n hasError: true,\n processingUntil: null,\n waitUntil: null,\n })\n }\n\n return {\n id: job.id,\n result: {\n status: 'error-reached-max-retries',\n },\n }\n }\n throw error\n }\n }\n\n const stopHeartbeat = startProcessingLeaseHeartbeat({\n jobIDs: jobs.map((job) => job.id),\n processingLeaseDuration,\n processingLeaseSafetyBuffer,\n processingToken,\n req,\n silent,\n })\n\n let resultsArray: { id: number | string; result: RunJobResult }[] = []\n try {\n if (sequential) {\n for (const job of jobs) {\n const result = await runSingleJob(job)\n if (result) {\n resultsArray.push(result)\n }\n }\n } else {\n const jobPromises = jobs.map(runSingleJob)\n resultsArray = (await Promise.all(jobPromises)).filter((result) => result !== null)\n }\n } finally {\n stopHeartbeat()\n }\n\n if (jobsConfig.deleteJobOnComplete && successfullyCompletedJobs.length) {\n try {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n where: { id: { in: successfullyCompletedJobs } },\n })\n } catch (err) {\n if (!silent || (typeof silent === 'object' && !silent.error)) {\n payload.logger.error({\n err,\n msg: `Failed to delete jobs ${successfullyCompletedJobs.join(', ')} on complete`,\n })\n }\n }\n }\n\n const resultsObject: RunJobsResult['jobStatus'] = resultsArray.reduce(\n (acc, cur) => {\n if (cur !== null) {\n // Check if there's a valid result to include\n acc[cur.id] = cur.result\n }\n return acc\n },\n {} as Record<string, RunJobResult>,\n )\n\n let remainingJobsFromQueried = 0\n for (const jobID in resultsObject) {\n const jobResult = resultsObject[jobID]\n if (jobResult?.status === 'error') {\n remainingJobsFromQueried++ // Can be retried\n }\n }\n\n return {\n jobStatus: resultsObject,\n remainingJobsFromQueried,\n }\n}\n"],"names":["v4","uuid","Forbidden","isolateObjectProperty","jobsCollectionSlug","JobCancelledError","JobRunAbortedError","getCurrentDate","updateJobs","startProcessingLeaseHeartbeat","getUpdateJobFunction","importHandlerPath","runJob","runJSONJob","runJobs","args","id","allQueues","limit","overrideAccess","processingOrder","queue","req","payload","config","jobs","jobsConfig","sequential","silent","where","whereFromProps","accessFn","access","run","hasAccess","t","now","duration","processingLeaseDuration","safetyBuffer","processingLeaseSafetyBuffer","processingLease","nowISOString","toISOString","processingUntil","Date","getTime","processingToken","and","completedAt","exists","hasError","not_equals","or","less_than_equal","waitUntil","less_than","push","equals","hasConcurrency","runningJobsWithConcurrency","db","find","collection","pagination","transactionID","undefined","select","concurrencyKey","greater_than","runningConcurrencyKeys","Set","docs","doc","add","size","not_in","updatedDocs","data","returning","defaultProcessingOrder","collections","defaultSort","processingOrderConfig","Array","isArray","queues","default","sort","length","noJobsRemaining","remainingJobsFromQueried","seenConcurrencyKeys","jobsToRun","jobsToRelease","job","has","releaseIds","map","in","info","newCount","retryCount","totalTried","logger","msg","new","retrying","successfullyCompletedJobs","runSingleJob","workflowSlug","taskSlug","Error","jobReq","workflowConfig","workflows","slug","tasks","taskExists","some","handler","input","errorMessage","error","updateJob","message","result","status","workflowHandler","jobLabel","cancelled","stopHeartbeat","jobIDs","resultsArray","jobPromises","Promise","all","filter","deleteJobOnComplete","deleteMany","err","join","resultsObject","reduce","acc","cur","jobID","jobResult","jobStatus"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJSONJob/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,4CAA4C,CAAA;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOtD,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,cAAc,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,YAAY,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,mEAO9B,IAAI,KAAG,OAAO,CAAC,gBAAgB,CAwGjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJSONJob/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,4CAA4C,CAAA;AAC5F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOtD,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,cAAc,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,YAAY,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,UAAU,sEAOpB,IAAI,KAAG,OAAO,CAAC,gBAAgB,CA4GjC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { handleWorkflowError } from '../../../errors/handleWorkflowError.js';
2
- import { WorkflowError } from '../../../errors/index.js';
2
+ import { JobCancelledError, JobRunAbortedError, WorkflowError } from '../../../errors/index.js';
3
3
  import { getCurrentDate } from '../../../utilities/getCurrentDate.js';
4
4
  import { getRunTaskFunction } from '../runJob/getRunTaskFunction.js';
5
5
  export const runJSONJob = async ({ job, req, silent = false, updateJob, workflowConfig, workflowHandler })=>{
@@ -41,6 +41,9 @@ export const runJSONJob = async ({ job, req, silent = false, updateJob, workflow
41
41
  }
42
42
  }));
43
43
  } catch (error) {
44
+ if (error instanceof JobCancelledError || error instanceof JobRunAbortedError) {
45
+ throw error;
46
+ }
44
47
  const { hasFinalError } = await handleWorkflowError({
45
48
  error: error instanceof WorkflowError ? error : new WorkflowError({
46
49
  job,
@@ -77,14 +80,14 @@ export const runJSONJob = async ({ job, req, silent = false, updateJob, workflow
77
80
  if (workflowCompleted) {
78
81
  await updateJob({
79
82
  completedAt: getCurrentDate().toISOString(),
80
- processing: false,
83
+ processingUntil: null,
81
84
  totalTried: (job.totalTried ?? 0) + 1
82
85
  });
83
86
  return {
84
87
  status: 'success'
85
88
  };
86
89
  } else {
87
- // Retry the job - no need to bump processing or totalTried as this does not count as a retry. A condition of a different task might have just opened up!
90
+ // Retry the job - no need to bump processingUntil or totalTried as this does not count as a retry. A condition of a different task might have just opened up!
88
91
  return await runJSONJob({
89
92
  job,
90
93
  req,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJSONJob/index.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type { WorkflowJSON, WorkflowStep } from '../../../config/types/workflowJSONTypes.js'\nimport type { WorkflowConfig } from '../../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../../localAPI.js'\nimport type { UpdateJobFunction } from '../runJob/getUpdateJobFunction.js'\nimport type { JobRunStatus } from '../runJob/index.js'\n\nimport { handleWorkflowError } from '../../../errors/handleWorkflowError.js'\nimport { WorkflowError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getRunTaskFunction } from '../runJob/getRunTaskFunction.js'\n\ntype Args = {\n job: Job\n req: PayloadRequest\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n updateJob: UpdateJobFunction\n workflowConfig: WorkflowConfig\n workflowHandler: WorkflowJSON\n}\n\nexport type RunJSONJobResult = {\n status: JobRunStatus\n}\n\nexport const runJSONJob = async ({\n job,\n req,\n silent = false,\n updateJob,\n workflowConfig,\n workflowHandler,\n}: Args): Promise<RunJSONJobResult> => {\n const stepsToRun: WorkflowStep<string>[] = []\n\n for (const step of workflowHandler) {\n if ('task' in step) {\n if (job?.taskStatus?.[step.task]?.[step.id]?.complete) {\n continue\n }\n } else {\n if (job?.taskStatus?.['inline']?.[step.id]?.complete) {\n continue\n }\n }\n if (step.condition && !step.condition({ job })) {\n continue\n }\n stepsToRun.push(step)\n }\n\n const tasks = getRunTaskFunction(job, workflowConfig, req, false, updateJob)\n const inlineTask = getRunTaskFunction(job, workflowConfig, req, true, updateJob)\n\n // Run the job\n try {\n await Promise.all(\n stepsToRun.map(async (step) => {\n if ('task' in step) {\n await tasks[step.task]!(step.id, {\n input: step.input ? step.input({ job }) : {},\n retries: step.retries,\n })\n } else {\n await inlineTask(step.id, {\n retries: step.retries,\n task: step.inlineTask as any, // TODO: Fix type\n })\n }\n }),\n )\n } catch (error) {\n const { hasFinalError } = await handleWorkflowError({\n error:\n error instanceof WorkflowError\n ? error\n : new WorkflowError({\n job,\n message:\n typeof error === 'object' && error && 'message' in error\n ? (error.message as string)\n : 'An unhandled error occurred',\n workflowConfig,\n }),\n silent,\n\n req,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n // Check if workflow has completed\n let workflowCompleted = false\n for (const [slug, map] of Object.entries(job.taskStatus)) {\n for (const [id, taskStatus] of Object.entries(map)) {\n if (taskStatus.complete) {\n const step = workflowHandler.find((step) => {\n if ('task' in step) {\n return step.task === slug && step.id === id\n } else {\n return step.id === id && slug === 'inline'\n }\n })\n if (step?.completesJob) {\n workflowCompleted = true\n break\n }\n }\n }\n }\n\n if (workflowCompleted) {\n await updateJob({\n completedAt: getCurrentDate().toISOString(),\n processing: false,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n status: 'success',\n }\n } else {\n // Retry the job - no need to bump processing or totalTried as this does not count as a retry. A condition of a different task might have just opened up!\n return await runJSONJob({\n job,\n req,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n }\n}\n"],"names":["handleWorkflowError","WorkflowError","getCurrentDate","getRunTaskFunction","runJSONJob","job","req","silent","updateJob","workflowConfig","workflowHandler","stepsToRun","step","taskStatus","task","id","complete","condition","push","tasks","inlineTask","Promise","all","map","input","retries","error","hasFinalError","message","status","workflowCompleted","slug","Object","entries","find","completesJob","completedAt","toISOString","processing","totalTried"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJSONJob/index.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type { WorkflowJSON, WorkflowStep } from '../../../config/types/workflowJSONTypes.js'\nimport type { WorkflowConfig } from '../../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../../localAPI.js'\nimport type { UpdateJobFunction } from '../runJob/getUpdateJobFunction.js'\nimport type { JobRunStatus } from '../runJob/index.js'\n\nimport { handleWorkflowError } from '../../../errors/handleWorkflowError.js'\nimport { JobCancelledError, JobRunAbortedError, WorkflowError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getRunTaskFunction } from '../runJob/getRunTaskFunction.js'\n\ntype Args = {\n job: Job\n req: PayloadRequest\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n updateJob: UpdateJobFunction\n workflowConfig: WorkflowConfig\n workflowHandler: WorkflowJSON\n}\n\nexport type RunJSONJobResult = {\n status: JobRunStatus\n}\n\nexport const runJSONJob = async ({\n job,\n req,\n silent = false,\n updateJob,\n workflowConfig,\n workflowHandler,\n}: Args): Promise<RunJSONJobResult> => {\n const stepsToRun: WorkflowStep<string>[] = []\n\n for (const step of workflowHandler) {\n if ('task' in step) {\n if (job?.taskStatus?.[step.task]?.[step.id]?.complete) {\n continue\n }\n } else {\n if (job?.taskStatus?.['inline']?.[step.id]?.complete) {\n continue\n }\n }\n if (step.condition && !step.condition({ job })) {\n continue\n }\n stepsToRun.push(step)\n }\n\n const tasks = getRunTaskFunction(job, workflowConfig, req, false, updateJob)\n const inlineTask = getRunTaskFunction(job, workflowConfig, req, true, updateJob)\n\n // Run the job\n try {\n await Promise.all(\n stepsToRun.map(async (step) => {\n if ('task' in step) {\n await tasks[step.task]!(step.id, {\n input: step.input ? step.input({ job }) : {},\n retries: step.retries,\n })\n } else {\n await inlineTask(step.id, {\n retries: step.retries,\n task: step.inlineTask,\n })\n }\n }),\n )\n } catch (error) {\n if (error instanceof JobCancelledError || error instanceof JobRunAbortedError) {\n throw error\n }\n\n const { hasFinalError } = await handleWorkflowError({\n error:\n error instanceof WorkflowError\n ? error\n : new WorkflowError({\n job,\n message:\n typeof error === 'object' && error && 'message' in error\n ? (error.message as string)\n : 'An unhandled error occurred',\n workflowConfig,\n }),\n silent,\n\n req,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n // Check if workflow has completed\n let workflowCompleted = false\n for (const [slug, map] of Object.entries(job.taskStatus)) {\n for (const [id, taskStatus] of Object.entries(map)) {\n if (taskStatus.complete) {\n const step = workflowHandler.find((step) => {\n if ('task' in step) {\n return step.task === slug && step.id === id\n } else {\n return step.id === id && slug === 'inline'\n }\n })\n if (step?.completesJob) {\n workflowCompleted = true\n break\n }\n }\n }\n }\n\n if (workflowCompleted) {\n await updateJob({\n completedAt: getCurrentDate().toISOString(),\n processingUntil: null,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n status: 'success',\n }\n } else {\n // Retry the job - no need to bump processingUntil or totalTried as this does not count as a retry. A condition of a different task might have just opened up!\n return await runJSONJob({\n job,\n req,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n })\n }\n}\n"],"names":["handleWorkflowError","JobCancelledError","JobRunAbortedError","WorkflowError","getCurrentDate","getRunTaskFunction","runJSONJob","job","req","silent","updateJob","workflowConfig","workflowHandler","stepsToRun","step","taskStatus","task","id","complete","condition","push","tasks","inlineTask","Promise","all","map","input","retries","error","hasFinalError","message","status","workflowCompleted","slug","Object","entries","find","completesJob","completedAt","toISOString","processingUntil","totalTried"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRunTaskFunction.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/getRunTaskFunction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAEV,qBAAqB,EAErB,gBAAgB,EAKjB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQlE,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,OAAO,EAC1D,KAAK,GAAG,EACR,gBAAgB,cAAc,EAC9B,KAAK,cAAc,EACnB,UAAU,SAAS,EACnB,WAAW,iBAAiB,EAC5B,SAAS,UAAU,KAClB,SAAS,SAAS,IAAI,GAAG,qBAAqB,GAAG,gBA0KnD,CAAA"}
1
+ {"version":3,"file":"getRunTaskFunction.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/getRunTaskFunction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAEV,qBAAqB,EAErB,gBAAgB,EAKjB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQlE,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,OAAO,OACrD,GAAG,kBACQ,cAAc,OACzB,cAAc,YACT,SAAS,aACR,iBAAiB,WACnB,UAAU,KAClB,SAAS,SAAS,IAAI,GAAG,qBAAqB,GAAG,gBA0KnD,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import ObjectIdImport from 'bson-objectid';
2
- import { JobCancelledError, TaskError } from '../../../errors/index.js';
2
+ import { JobCancelledError, JobRunAbortedError, TaskError } from '../../../errors/index.js';
3
3
  import { getCurrentDate } from '../../../utilities/getCurrentDate.js';
4
4
  import { getTaskHandlerFromConfig } from './importHandlerPath.js';
5
5
  const ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport;
@@ -75,8 +75,8 @@ export const getRunTaskFunction = (job, workflowConfig, req, isInline, updateJob
75
75
  })
76
76
  }))?.output;
77
77
  } catch (err) {
78
- if (err instanceof JobCancelledError) {
79
- // Re-throw JobCancelledError to be handled by the top-level error handler
78
+ if (err instanceof JobCancelledError || err instanceof JobRunAbortedError) {
79
+ // Job run aborts are handled by the top-level runner.
80
80
  throw err;
81
81
  }
82
82
  throw new TaskError({
@@ -106,9 +106,9 @@ export const getRunTaskFunction = (job, workflowConfig, req, isInline, updateJob
106
106
  id: new ObjectId().toHexString(),
107
107
  completedAt: getCurrentDate().toISOString(),
108
108
  executedAt: executedAt.toISOString(),
109
- input,
109
+ input: input ?? {},
110
110
  output,
111
- parent: jobConfig.addParentToTaskLog ? parent : undefined,
111
+ parent,
112
112
  state: 'succeeded',
113
113
  taskID,
114
114
  taskSlug
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/getRunTaskFunction.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\n\nimport type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type {\n RetryConfig,\n RunInlineTaskFunction,\n RunTaskFunction,\n RunTaskFunctions,\n TaskConfig,\n TaskHandler,\n TaskHandlerResult,\n TaskType,\n} from '../../../config/types/taskTypes.js'\nimport type {\n JobLog,\n SingleTaskStatus,\n WorkflowConfig,\n WorkflowTypes,\n} from '../../../config/types/workflowTypes.js'\nimport type { UpdateJobFunction } from './getUpdateJobFunction.js'\n\nimport { JobCancelledError, TaskError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getTaskHandlerFromConfig } from './importHandlerPath.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type TaskParent = {\n taskID: string\n taskSlug: string\n}\n\nexport const getRunTaskFunction = <TIsInline extends boolean>(\n job: Job,\n workflowConfig: WorkflowConfig,\n req: PayloadRequest,\n isInline: TIsInline,\n updateJob: UpdateJobFunction,\n parent?: TaskParent,\n): TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions => {\n const jobConfig = req.payload.config.jobs\n\n const runTask: <TTaskSlug extends string>(\n taskSlug: TTaskSlug,\n ) => TTaskSlug extends 'inline' ? RunInlineTaskFunction : RunTaskFunction<TTaskSlug> = (\n taskSlug,\n ) =>\n (async (\n taskID: Parameters<RunInlineTaskFunction>[0],\n {\n input,\n retries,\n // Only available for inline tasks:\n task,\n }: Parameters<RunInlineTaskFunction>[1] & Parameters<RunTaskFunction<string>>[1],\n ) => {\n const executedAt = getCurrentDate()\n\n let taskConfig: TaskConfig | undefined\n if (!isInline) {\n taskConfig = (jobConfig.tasks?.length &&\n jobConfig.tasks.find((t) => t.slug === taskSlug)) as TaskConfig<string>\n\n if (!taskConfig) {\n throw new Error(`Task ${taskSlug} not found in workflow ${job.workflowSlug}`)\n }\n }\n\n const retriesConfigFromPropsNormalized =\n retries == undefined || retries == null\n ? {}\n : typeof retries === 'number'\n ? { attempts: retries }\n : retries\n const retriesConfigFromTaskConfigNormalized = taskConfig\n ? typeof taskConfig.retries === 'number'\n ? { attempts: taskConfig.retries }\n : taskConfig.retries\n : {}\n\n const finalRetriesConfig: RetryConfig = {\n ...retriesConfigFromTaskConfigNormalized,\n ...retriesConfigFromPropsNormalized, // Retry config from props takes precedence\n }\n\n const taskStatus: null | SingleTaskStatus<string> = job?.taskStatus?.[taskSlug]\n ? job.taskStatus[taskSlug][taskID]!\n : null\n\n // Handle restoration of task if it succeeded in a previous run\n if (taskStatus && taskStatus.complete === true) {\n let shouldRestore = true\n if (finalRetriesConfig?.shouldRestore === false) {\n shouldRestore = false\n } else if (typeof finalRetriesConfig?.shouldRestore === 'function') {\n shouldRestore = await finalRetriesConfig.shouldRestore({\n input,\n job,\n req,\n taskStatus,\n })\n }\n if (shouldRestore) {\n return taskStatus.output\n }\n }\n\n const runner = isInline\n ? (task as TaskHandler<TaskType>)\n : await getTaskHandlerFromConfig(taskConfig)\n\n if (!runner || typeof runner !== 'function') {\n throw new TaskError({\n executedAt,\n input,\n job,\n message: isInline\n ? `Inline task with ID ${taskID} does not have a valid handler.`\n : `Task with slug ${taskSlug} in workflow ${job.workflowSlug} does not have a valid handler.`,\n parent,\n retriesConfig: finalRetriesConfig,\n taskConfig,\n taskID,\n taskSlug,\n taskStatus,\n workflowConfig,\n })\n }\n\n let output: TaskHandlerResult<string>['output']\n\n try {\n output = (\n await runner({\n inlineTask: getRunTaskFunction(job, workflowConfig, req, true, updateJob, {\n taskID,\n taskSlug,\n }),\n input,\n job: job as unknown as Job<WorkflowTypes>,\n req,\n tasks: getRunTaskFunction(job, workflowConfig, req, false, updateJob, {\n taskID,\n taskSlug,\n }),\n })\n )?.output\n } catch (err: any) {\n if (err instanceof JobCancelledError) {\n // Re-throw JobCancelledError to be handled by the top-level error handler\n throw err\n }\n throw new TaskError({\n executedAt,\n input: input!,\n job,\n message: err.message || 'Task handler threw an error',\n output,\n parent,\n retriesConfig: finalRetriesConfig,\n taskConfig,\n taskID,\n taskSlug,\n taskStatus,\n workflowConfig,\n })\n }\n\n if (taskConfig?.onSuccess) {\n await taskConfig.onSuccess({\n input,\n job,\n req,\n taskStatus,\n })\n }\n\n const newLogItem: JobLog = {\n id: new ObjectId().toHexString(),\n completedAt: getCurrentDate().toISOString(),\n executedAt: executedAt.toISOString(),\n input,\n output,\n parent: jobConfig.addParentToTaskLog ? parent : undefined,\n state: 'succeeded',\n taskID,\n taskSlug,\n }\n\n await updateJob({\n log: {\n $push: newLogItem,\n } as any,\n // Set to null to skip main row update on postgres. 2 => 1 db round trips\n updatedAt: null as any,\n })\n\n return output\n }) as any\n\n if (isInline) {\n return runTask('inline') as TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions\n } else {\n const tasks: RunTaskFunctions = {}\n for (const task of jobConfig.tasks ?? []) {\n tasks[task.slug] = runTask(task.slug) as RunTaskFunction<string>\n }\n return tasks as TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions\n }\n}\n"],"names":["ObjectIdImport","JobCancelledError","TaskError","getCurrentDate","getTaskHandlerFromConfig","ObjectId","default","getRunTaskFunction","job","workflowConfig","req","isInline","updateJob","parent","jobConfig","payload","config","jobs","runTask","taskSlug","taskID","input","retries","task","executedAt","taskConfig","tasks","length","find","t","slug","Error","workflowSlug","retriesConfigFromPropsNormalized","undefined","attempts","retriesConfigFromTaskConfigNormalized","finalRetriesConfig","taskStatus","complete","shouldRestore","output","runner","message","retriesConfig","inlineTask","err","onSuccess","newLogItem","id","toHexString","completedAt","toISOString","addParentToTaskLog","state","log","$push","updatedAt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/getRunTaskFunction.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\n\nimport type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type {\n RetryConfig,\n RunInlineTaskFunction,\n RunTaskFunction,\n RunTaskFunctions,\n TaskConfig,\n TaskHandler,\n TaskHandlerResult,\n TaskSlug,\n} from '../../../config/types/taskTypes.js'\nimport type {\n JobLog,\n SingleTaskStatus,\n WorkflowConfig,\n WorkflowSlug,\n} from '../../../config/types/workflowTypes.js'\nimport type { UpdateJobFunction } from './getUpdateJobFunction.js'\n\nimport { JobCancelledError, JobRunAbortedError, TaskError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getTaskHandlerFromConfig } from './importHandlerPath.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\nexport type TaskParent = {\n taskID: string\n taskSlug: string\n}\n\nexport const getRunTaskFunction = <TIsInline extends boolean>(\n job: Job,\n workflowConfig: WorkflowConfig,\n req: PayloadRequest,\n isInline: TIsInline,\n updateJob: UpdateJobFunction,\n parent?: TaskParent,\n): TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions => {\n const jobConfig = req.payload.config.jobs\n\n const runTask: <TTaskSlug extends string>(\n taskSlug: TTaskSlug,\n ) => TTaskSlug extends 'inline' ? RunInlineTaskFunction : RunTaskFunction<TTaskSlug> = (\n taskSlug,\n ) =>\n (async (\n taskID: Parameters<RunInlineTaskFunction>[0],\n {\n input,\n retries,\n // Only available for inline tasks:\n task,\n }: Parameters<RunInlineTaskFunction>[1] & Parameters<RunTaskFunction<string>>[1],\n ) => {\n const executedAt = getCurrentDate()\n\n let taskConfig: TaskConfig | undefined\n if (!isInline) {\n taskConfig = (jobConfig.tasks?.length &&\n jobConfig.tasks.find((t) => t.slug === taskSlug)) as TaskConfig<string>\n\n if (!taskConfig) {\n throw new Error(`Task ${taskSlug} not found in workflow ${job.workflowSlug}`)\n }\n }\n\n const retriesConfigFromPropsNormalized =\n retries == undefined || retries == null\n ? {}\n : typeof retries === 'number'\n ? { attempts: retries }\n : retries\n const retriesConfigFromTaskConfigNormalized = taskConfig\n ? typeof taskConfig.retries === 'number'\n ? { attempts: taskConfig.retries }\n : taskConfig.retries\n : {}\n\n const finalRetriesConfig: RetryConfig = {\n ...retriesConfigFromTaskConfigNormalized,\n ...retriesConfigFromPropsNormalized, // Retry config from props takes precedence\n }\n\n const taskStatus: null | SingleTaskStatus<string> = job?.taskStatus?.[taskSlug]\n ? job.taskStatus[taskSlug][taskID]!\n : null\n\n // Handle restoration of task if it succeeded in a previous run\n if (taskStatus && taskStatus.complete === true) {\n let shouldRestore = true\n if (finalRetriesConfig?.shouldRestore === false) {\n shouldRestore = false\n } else if (typeof finalRetriesConfig?.shouldRestore === 'function') {\n shouldRestore = await finalRetriesConfig.shouldRestore({\n input,\n job,\n req,\n taskStatus,\n })\n }\n if (shouldRestore) {\n return taskStatus.output\n }\n }\n\n const runner = isInline\n ? (task as TaskHandler<TaskSlug>)\n : await getTaskHandlerFromConfig(taskConfig)\n\n if (!runner || typeof runner !== 'function') {\n throw new TaskError({\n executedAt,\n input,\n job,\n message: isInline\n ? `Inline task with ID ${taskID} does not have a valid handler.`\n : `Task with slug ${taskSlug} in workflow ${job.workflowSlug} does not have a valid handler.`,\n parent,\n retriesConfig: finalRetriesConfig,\n taskConfig,\n taskID,\n taskSlug,\n taskStatus,\n workflowConfig,\n })\n }\n\n let output: TaskHandlerResult<string>['output']\n\n try {\n output = (\n await runner({\n inlineTask: getRunTaskFunction(job, workflowConfig, req, true, updateJob, {\n taskID,\n taskSlug,\n }),\n input,\n job: job as unknown as Job<WorkflowSlug>,\n req,\n tasks: getRunTaskFunction(job, workflowConfig, req, false, updateJob, {\n taskID,\n taskSlug,\n }),\n })\n )?.output\n } catch (err: any) {\n if (err instanceof JobCancelledError || err instanceof JobRunAbortedError) {\n // Job run aborts are handled by the top-level runner.\n throw err\n }\n throw new TaskError({\n executedAt,\n input: input!,\n job,\n message: err.message || 'Task handler threw an error',\n output,\n parent,\n retriesConfig: finalRetriesConfig,\n taskConfig,\n taskID,\n taskSlug,\n taskStatus,\n workflowConfig,\n })\n }\n\n if (taskConfig?.onSuccess) {\n await taskConfig.onSuccess({\n input,\n job,\n req,\n taskStatus,\n })\n }\n\n const newLogItem: JobLog = {\n id: new ObjectId().toHexString(),\n completedAt: getCurrentDate().toISOString(),\n executedAt: executedAt.toISOString(),\n input: input ?? {},\n output,\n parent,\n state: 'succeeded',\n taskID,\n taskSlug,\n }\n\n await updateJob({\n log: {\n $push: newLogItem,\n } as any,\n // Set to null to skip main row update on postgres. 2 => 1 db round trips\n updatedAt: null as any,\n })\n\n return output\n }) as any\n\n if (isInline) {\n return runTask('inline') as TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions\n } else {\n const tasks: RunTaskFunctions = {}\n for (const task of jobConfig.tasks ?? []) {\n tasks[task.slug] = runTask(task.slug) as RunTaskFunction<string>\n }\n return tasks as TIsInline extends true ? RunInlineTaskFunction : RunTaskFunctions\n }\n}\n"],"names":["ObjectIdImport","JobCancelledError","JobRunAbortedError","TaskError","getCurrentDate","getTaskHandlerFromConfig","ObjectId","default","getRunTaskFunction","job","workflowConfig","req","isInline","updateJob","parent","jobConfig","payload","config","jobs","runTask","taskSlug","taskID","input","retries","task","executedAt","taskConfig","tasks","length","find","t","slug","Error","workflowSlug","retriesConfigFromPropsNormalized","undefined","attempts","retriesConfigFromTaskConfigNormalized","finalRetriesConfig","taskStatus","complete","shouldRestore","output","runner","message","retriesConfig","inlineTask","err","onSuccess","newLogItem","id","toHexString","completedAt","toISOString","state","log","$push","updatedAt"],"mappings":"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"}
@@ -4,7 +4,8 @@ export type UpdateJobFunction = (jobData: Partial<Job>) => Promise<Job>;
4
4
  /**
5
5
  * Helper for updating a job that does the following, additionally to updating the job:
6
6
  * - Merges incoming data from the updated job into the original job object
7
- * - Handles job cancellation by throwing a `JobCancelledError` if the job was cancelled.
7
+ * - Throws a `JobCancelledError` if another process cancelled the job.
8
+ * - Stops updates after this worker loses the job's lease.
8
9
  */
9
10
  export declare function getUpdateJobFunction(job: Job, req: PayloadRequest): UpdateJobFunction;
10
11
  //# sourceMappingURL=getUpdateJobFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUpdateJobFunction.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/getUpdateJobFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAKhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAEvE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAiCrF"}
1
+ {"version":3,"file":"getUpdateJobFunction.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/getUpdateJobFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAMhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAEvE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,iBAAiB,CAyDrF"}
@@ -1,18 +1,49 @@
1
- import { JobCancelledError } from '../../../errors/index.js';
2
- import { updateJob } from '../../../utilities/updateJob.js';
1
+ import { JobCancelledError, JobRunAbortedError } from '../../../errors/index.js';
2
+ import { getCurrentDate } from '../../../utilities/getCurrentDate.js';
3
+ import { updateJobs } from '../../../utilities/updateJob.js';
3
4
  /**
4
5
  * Helper for updating a job that does the following, additionally to updating the job:
5
6
  * - Merges incoming data from the updated job into the original job object
6
- * - Handles job cancellation by throwing a `JobCancelledError` if the job was cancelled.
7
+ * - Throws a `JobCancelledError` if another process cancelled the job.
8
+ * - Stops updates after this worker loses the job's lease.
7
9
  */ export function getUpdateJobFunction(job, req) {
8
10
  return async (jobData)=>{
9
- const updatedJob = await updateJob({
10
- id: job.id,
11
+ const processingToken = job.processingToken;
12
+ if (!processingToken) {
13
+ throw new JobRunAbortedError(`Job ${job.id} can no longer be updated by this runner`);
14
+ }
15
+ const minimumProcessingUntil = new Date(getCurrentDate().getTime() + req.payload.config.jobs.processingLease.safetyBuffer).toISOString();
16
+ const updatedJobs = await updateJobs({
11
17
  data: jobData,
12
- req
18
+ limit: 1,
19
+ req,
20
+ returning: true,
21
+ where: {
22
+ and: [
23
+ {
24
+ id: {
25
+ equals: job.id
26
+ }
27
+ },
28
+ {
29
+ processingToken: {
30
+ equals: processingToken
31
+ }
32
+ },
33
+ // Do not update this job if the lease expired.
34
+ // Append safety buffer, as, depending on the db adapter, the update itself
35
+ // may not be atomic, and another worker may have claimed the job before this update finishes.
36
+ {
37
+ processingUntil: {
38
+ greater_than: minimumProcessingUntil
39
+ }
40
+ }
41
+ ]
42
+ }
13
43
  });
44
+ const updatedJob = updatedJobs?.[0];
14
45
  if (!updatedJob) {
15
- return job;
46
+ throw new JobRunAbortedError(`Job ${job.id} can no longer be updated by this runner`);
16
47
  }
17
48
  // Update job object like this to modify the original object - that way, incoming changes (e.g. taskStatus field that will be re-generated through the hook) will be reflected in the calling function
18
49
  for(const key in updatedJob){
@@ -30,7 +61,7 @@ import { updateJob } from '../../../utilities/updateJob.js';
30
61
  job[key] = updatedJob[key];
31
62
  }
32
63
  }
33
- if (updatedJob?.error?.cancelled) {
64
+ if (updatedJob.error?.cancelled && !jobData.error?.cancelled) {
34
65
  throw new JobCancelledError(`Job ${job.id} was cancelled`);
35
66
  }
36
67
  return updatedJob;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/getUpdateJobFunction.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\n\nimport { JobCancelledError } from '../../../errors/index.js'\nimport { updateJob } from '../../../utilities/updateJob.js'\n\nexport type UpdateJobFunction = (jobData: Partial<Job>) => Promise<Job>\n\n/**\n * Helper for updating a job that does the following, additionally to updating the job:\n * - Merges incoming data from the updated job into the original job object\n * - Handles job cancellation by throwing a `JobCancelledError` if the job was cancelled.\n */\nexport function getUpdateJobFunction(job: Job, req: PayloadRequest): UpdateJobFunction {\n return async (jobData) => {\n const updatedJob = await updateJob({\n id: job.id,\n data: jobData,\n req,\n })\n\n if (!updatedJob) {\n return job\n }\n\n // Update job object like this to modify the original object - that way, incoming changes (e.g. taskStatus field that will be re-generated through the hook) will be reflected in the calling function\n for (const key in updatedJob) {\n if (key === 'log') {\n // Add all new log entries to the original job.log object. Do not delete any existing log entries.\n // Do not update existing log entries, as existing log entries should be immutable.\n for (const logEntry of updatedJob?.log ?? []) {\n if (!job.log || !job.log.some((entry) => entry.id === logEntry.id)) {\n ;(job.log ??= []).push(logEntry)\n }\n }\n } else {\n ;(job as any)[key] = updatedJob[key as keyof Job]\n }\n }\n\n if ((updatedJob?.error as Record<string, unknown>)?.cancelled) {\n throw new JobCancelledError(`Job ${job.id} was cancelled`)\n }\n\n return updatedJob\n }\n}\n"],"names":["JobCancelledError","updateJob","getUpdateJobFunction","job","req","jobData","updatedJob","id","data","key","logEntry","log","some","entry","push","error","cancelled"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,2BAA0B;AAC5D,SAASC,SAAS,QAAQ,kCAAiC;AAI3D;;;;CAIC,GACD,OAAO,SAASC,qBAAqBC,GAAQ,EAAEC,GAAmB;IAChE,OAAO,OAAOC;QACZ,MAAMC,aAAa,MAAML,UAAU;YACjCM,IAAIJ,IAAII,EAAE;YACVC,MAAMH;YACND;QACF;QAEA,IAAI,CAACE,YAAY;YACf,OAAOH;QACT;QAEA,sMAAsM;QACtM,IAAK,MAAMM,OAAOH,WAAY;YAC5B,IAAIG,QAAQ,OAAO;gBACjB,kGAAkG;gBAClG,mFAAmF;gBACnF,KAAK,MAAMC,YAAYJ,YAAYK,OAAO,EAAE,CAAE;oBAC5C,IAAI,CAACR,IAAIQ,GAAG,IAAI,CAACR,IAAIQ,GAAG,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMN,EAAE,KAAKG,SAASH,EAAE,GAAG;;wBAChEJ,CAAAA,IAAIQ,GAAG,KAAK,EAAE,AAAD,EAAGG,IAAI,CAACJ;oBACzB;gBACF;YACF,OAAO;;gBACHP,GAAW,CAACM,IAAI,GAAGH,UAAU,CAACG,IAAiB;YACnD;QACF;QAEA,IAAKH,YAAYS,OAAmCC,WAAW;YAC7D,MAAM,IAAIhB,kBAAkB,CAAC,IAAI,EAAEG,IAAII,EAAE,CAAC,cAAc,CAAC;QAC3D;QAEA,OAAOD;IACT;AACF"}
1
+ {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/getUpdateJobFunction.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\n\nimport { JobCancelledError, JobRunAbortedError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { updateJobs } from '../../../utilities/updateJob.js'\n\nexport type UpdateJobFunction = (jobData: Partial<Job>) => Promise<Job>\n\n/**\n * Helper for updating a job that does the following, additionally to updating the job:\n * - Merges incoming data from the updated job into the original job object\n * - Throws a `JobCancelledError` if another process cancelled the job.\n * - Stops updates after this worker loses the job's lease.\n */\nexport function getUpdateJobFunction(job: Job, req: PayloadRequest): UpdateJobFunction {\n return async (jobData) => {\n const processingToken = job.processingToken\n\n if (!processingToken) {\n throw new JobRunAbortedError(`Job ${job.id} can no longer be updated by this runner`)\n }\n\n const minimumProcessingUntil = new Date(\n getCurrentDate().getTime() + req.payload.config.jobs.processingLease.safetyBuffer,\n ).toISOString()\n const updatedJobs = await updateJobs({\n data: jobData,\n limit: 1,\n req,\n returning: true,\n where: {\n and: [\n { id: { equals: job.id } },\n { processingToken: { equals: processingToken } },\n // Do not update this job if the lease expired.\n // Append safety buffer, as, depending on the db adapter, the update itself\n // may not be atomic, and another worker may have claimed the job before this update finishes.\n { processingUntil: { greater_than: minimumProcessingUntil } },\n ],\n },\n })\n const updatedJob = updatedJobs?.[0]\n\n if (!updatedJob) {\n throw new JobRunAbortedError(`Job ${job.id} can no longer be updated by this runner`)\n }\n\n // Update job object like this to modify the original object - that way, incoming changes (e.g. taskStatus field that will be re-generated through the hook) will be reflected in the calling function\n for (const key in updatedJob) {\n if (key === 'log') {\n // Add all new log entries to the original job.log object. Do not delete any existing log entries.\n // Do not update existing log entries, as existing log entries should be immutable.\n for (const logEntry of updatedJob?.log ?? []) {\n if (!job.log || !job.log.some((entry) => entry.id === logEntry.id)) {\n ;(job.log ??= []).push(logEntry)\n }\n }\n } else {\n ;(job as any)[key] = updatedJob[key as keyof Job]\n }\n }\n\n if (\n (updatedJob.error as Record<string, unknown>)?.cancelled &&\n !(jobData.error as Record<string, unknown> | undefined)?.cancelled\n ) {\n throw new JobCancelledError(`Job ${job.id} was cancelled`)\n }\n\n return updatedJob\n }\n}\n"],"names":["JobCancelledError","JobRunAbortedError","getCurrentDate","updateJobs","getUpdateJobFunction","job","req","jobData","processingToken","id","minimumProcessingUntil","Date","getTime","payload","config","jobs","processingLease","safetyBuffer","toISOString","updatedJobs","data","limit","returning","where","and","equals","processingUntil","greater_than","updatedJob","key","logEntry","log","some","entry","push","error","cancelled"],"mappings":"AAGA,SAASA,iBAAiB,EAAEC,kBAAkB,QAAQ,2BAA0B;AAChF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,kCAAiC;AAI5D;;;;;CAKC,GACD,OAAO,SAASC,qBAAqBC,GAAQ,EAAEC,GAAmB;IAChE,OAAO,OAAOC;QACZ,MAAMC,kBAAkBH,IAAIG,eAAe;QAE3C,IAAI,CAACA,iBAAiB;YACpB,MAAM,IAAIP,mBAAmB,CAAC,IAAI,EAAEI,IAAII,EAAE,CAAC,wCAAwC,CAAC;QACtF;QAEA,MAAMC,yBAAyB,IAAIC,KACjCT,iBAAiBU,OAAO,KAAKN,IAAIO,OAAO,CAACC,MAAM,CAACC,IAAI,CAACC,eAAe,CAACC,YAAY,EACjFC,WAAW;QACb,MAAMC,cAAc,MAAMhB,WAAW;YACnCiB,MAAMb;YACNc,OAAO;YACPf;YACAgB,WAAW;YACXC,OAAO;gBACLC,KAAK;oBACH;wBAAEf,IAAI;4BAAEgB,QAAQpB,IAAII,EAAE;wBAAC;oBAAE;oBACzB;wBAAED,iBAAiB;4BAAEiB,QAAQjB;wBAAgB;oBAAE;oBAC/C,+CAA+C;oBAC/C,2EAA2E;oBAC3E,8FAA8F;oBAC9F;wBAAEkB,iBAAiB;4BAAEC,cAAcjB;wBAAuB;oBAAE;iBAC7D;YACH;QACF;QACA,MAAMkB,aAAaT,aAAa,CAAC,EAAE;QAEnC,IAAI,CAACS,YAAY;YACf,MAAM,IAAI3B,mBAAmB,CAAC,IAAI,EAAEI,IAAII,EAAE,CAAC,wCAAwC,CAAC;QACtF;QAEA,sMAAsM;QACtM,IAAK,MAAMoB,OAAOD,WAAY;YAC5B,IAAIC,QAAQ,OAAO;gBACjB,kGAAkG;gBAClG,mFAAmF;gBACnF,KAAK,MAAMC,YAAYF,YAAYG,OAAO,EAAE,CAAE;oBAC5C,IAAI,CAAC1B,IAAI0B,GAAG,IAAI,CAAC1B,IAAI0B,GAAG,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMxB,EAAE,KAAKqB,SAASrB,EAAE,GAAG;;wBAChEJ,CAAAA,IAAI0B,GAAG,KAAK,EAAE,AAAD,EAAGG,IAAI,CAACJ;oBACzB;gBACF;YACF,OAAO;;gBACHzB,GAAW,CAACwB,IAAI,GAAGD,UAAU,CAACC,IAAiB;YACnD;QACF;QAEA,IACE,AAACD,WAAWO,KAAK,EAA8BC,aAC/C,CAAE7B,QAAQ4B,KAAK,EAA0CC,WACzD;YACA,MAAM,IAAIpC,kBAAkB,CAAC,IAAI,EAAEK,IAAII,EAAE,CAAC,cAAc,CAAC;QAC3D;QAEA,OAAOmB;IACT;AACF"}
@@ -8,5 +8,5 @@ export declare function importHandlerPath<T>(path: string): Promise<T>;
8
8
  * This function resolves the handler to a function, either by importing it from the path or returning the function directly
9
9
  * if it is already a function.
10
10
  */
11
- export declare function getTaskHandlerFromConfig(taskConfig?: TaskConfig): Promise<TaskHandler<string, string>>;
11
+ export declare function getTaskHandlerFromConfig(taskConfig?: TaskConfig): Promise<TaskHandler<string>>;
12
12
  //# sourceMappingURL=importHandlerPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importHandlerPath.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/importHandlerPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAY,MAAM,oCAAoC,CAAA;AAI3F;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA6BnE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,UAAU,CAAC,EAAE,UAAU,wCASrE"}
1
+ {"version":3,"file":"importHandlerPath.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/importHandlerPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAY,MAAM,oCAAoC,CAAA;AAI3F;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CA6BnE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,UAAU,CAAC,EAAE,UAAU,gCASrE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/importHandlerPath.ts"],"sourcesContent":["import type { TaskConfig, TaskHandler, TaskType } from '../../../config/types/taskTypes.js'\n\nimport { dynamicImport } from '../../../../utilities/dynamicImport.js'\n\n/**\n * Imports a handler function from a given path.\n */\nexport async function importHandlerPath<T>(path: string): Promise<T> {\n let runner!: T\n const [runnerPath, runnerImportName] = path.split('#')\n\n let runnerModule: Record<string, unknown>\n try {\n runnerModule = await dynamicImport<Record<string, unknown>>(runnerPath!)\n } catch (e) {\n throw new Error(\n `Error importing job queue handler module for path ${path}. This is an advanced feature that may require a sophisticated build pipeline, especially when using it in production or within Next.js, e.g. by calling opening the /api/payload-jobs/run endpoint. You will have to transpile the handler files separately and ensure they are available in the same location when the job is run. If you're using an endpoint to execute your jobs, it's recommended to define your handlers as functions directly in your Payload Config, or use import paths handlers outside of Next.js. Import Error: \\n${e instanceof Error ? e.message : 'Unknown error'}`,\n )\n }\n\n // If the path has indicated an #exportName, try to get it\n if (runnerImportName && runnerModule[runnerImportName]) {\n runner = runnerModule[runnerImportName] as T\n }\n\n // If there is a default export, use it\n if (!runner && runnerModule.default) {\n runner = runnerModule.default as T\n }\n\n // Finally, use whatever was imported\n if (!runner) {\n runner = runnerModule as T\n }\n\n return runner\n}\n\n/**\n * The `handler` property of a task config can either be a function or a path to a module that exports a function.\n * This function resolves the handler to a function, either by importing it from the path or returning the function directly\n * if it is already a function.\n */\nexport async function getTaskHandlerFromConfig(taskConfig?: TaskConfig) {\n if (!taskConfig) {\n throw new Error('Task config is required to get the task handler')\n }\n if (typeof taskConfig.handler === 'function') {\n return taskConfig.handler\n } else {\n return await importHandlerPath<TaskHandler<TaskType>>(taskConfig.handler)\n }\n}\n"],"names":["dynamicImport","importHandlerPath","path","runner","runnerPath","runnerImportName","split","runnerModule","e","Error","message","default","getTaskHandlerFromConfig","taskConfig","handler"],"mappings":"AAEA,SAASA,aAAa,QAAQ,yCAAwC;AAEtE;;CAEC,GACD,OAAO,eAAeC,kBAAqBC,IAAY;IACrD,IAAIC;IACJ,MAAM,CAACC,YAAYC,iBAAiB,GAAGH,KAAKI,KAAK,CAAC;IAElD,IAAIC;IACJ,IAAI;QACFA,eAAe,MAAMP,cAAuCI;IAC9D,EAAE,OAAOI,GAAG;QACV,MAAM,IAAIC,MACR,CAAC,kDAAkD,EAAEP,KAAK,+gBAA+gB,EAAEM,aAAaC,QAAQD,EAAEE,OAAO,GAAG,iBAAiB;IAEjoB;IAEA,0DAA0D;IAC1D,IAAIL,oBAAoBE,YAAY,CAACF,iBAAiB,EAAE;QACtDF,SAASI,YAAY,CAACF,iBAAiB;IACzC;IAEA,uCAAuC;IACvC,IAAI,CAACF,UAAUI,aAAaI,OAAO,EAAE;QACnCR,SAASI,aAAaI,OAAO;IAC/B;IAEA,qCAAqC;IACrC,IAAI,CAACR,QAAQ;QACXA,SAASI;IACX;IAEA,OAAOJ;AACT;AAEA;;;;CAIC,GACD,OAAO,eAAeS,yBAAyBC,UAAuB;IACpE,IAAI,CAACA,YAAY;QACf,MAAM,IAAIJ,MAAM;IAClB;IACA,IAAI,OAAOI,WAAWC,OAAO,KAAK,YAAY;QAC5C,OAAOD,WAAWC,OAAO;IAC3B,OAAO;QACL,OAAO,MAAMb,kBAAyCY,WAAWC,OAAO;IAC1E;AACF"}
1
+ {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/importHandlerPath.ts"],"sourcesContent":["import type { TaskConfig, TaskHandler, TaskSlug } from '../../../config/types/taskTypes.js'\n\nimport { dynamicImport } from '../../../../utilities/dynamicImport.js'\n\n/**\n * Imports a handler function from a given path.\n */\nexport async function importHandlerPath<T>(path: string): Promise<T> {\n let runner!: T\n const [runnerPath, runnerImportName] = path.split('#')\n\n let runnerModule: Record<string, unknown>\n try {\n runnerModule = await dynamicImport<Record<string, unknown>>(runnerPath!)\n } catch (e) {\n throw new Error(\n `Error importing job queue handler module for path ${path}. This is an advanced feature that may require a sophisticated build pipeline, especially when using it in production or within Next.js, e.g. by calling opening the /api/payload-jobs/run endpoint. You will have to transpile the handler files separately and ensure they are available in the same location when the job is run. If you're using an endpoint to execute your jobs, it's recommended to define your handlers as functions directly in your Payload Config, or use import paths handlers outside of Next.js. Import Error: \\n${e instanceof Error ? e.message : 'Unknown error'}`,\n )\n }\n\n // If the path has indicated an #exportName, try to get it\n if (runnerImportName && runnerModule[runnerImportName]) {\n runner = runnerModule[runnerImportName] as T\n }\n\n // If there is a default export, use it\n if (!runner && runnerModule.default) {\n runner = runnerModule.default as T\n }\n\n // Finally, use whatever was imported\n if (!runner) {\n runner = runnerModule as T\n }\n\n return runner\n}\n\n/**\n * The `handler` property of a task config can either be a function or a path to a module that exports a function.\n * This function resolves the handler to a function, either by importing it from the path or returning the function directly\n * if it is already a function.\n */\nexport async function getTaskHandlerFromConfig(taskConfig?: TaskConfig) {\n if (!taskConfig) {\n throw new Error('Task config is required to get the task handler')\n }\n if (typeof taskConfig.handler === 'function') {\n return taskConfig.handler\n } else {\n return await importHandlerPath<TaskHandler<TaskSlug>>(taskConfig.handler)\n }\n}\n"],"names":["dynamicImport","importHandlerPath","path","runner","runnerPath","runnerImportName","split","runnerModule","e","Error","message","default","getTaskHandlerFromConfig","taskConfig","handler"],"mappings":"AAEA,SAASA,aAAa,QAAQ,yCAAwC;AAEtE;;CAEC,GACD,OAAO,eAAeC,kBAAqBC,IAAY;IACrD,IAAIC;IACJ,MAAM,CAACC,YAAYC,iBAAiB,GAAGH,KAAKI,KAAK,CAAC;IAElD,IAAIC;IACJ,IAAI;QACFA,eAAe,MAAMP,cAAuCI;IAC9D,EAAE,OAAOI,GAAG;QACV,MAAM,IAAIC,MACR,CAAC,kDAAkD,EAAEP,KAAK,+gBAA+gB,EAAEM,aAAaC,QAAQD,EAAEE,OAAO,GAAG,iBAAiB;IAEjoB;IAEA,0DAA0D;IAC1D,IAAIL,oBAAoBE,YAAY,CAACF,iBAAiB,EAAE;QACtDF,SAASI,YAAY,CAACF,iBAAiB;IACzC;IAEA,uCAAuC;IACvC,IAAI,CAACF,UAAUI,aAAaI,OAAO,EAAE;QACnCR,SAASI,aAAaI,OAAO;IAC/B;IAEA,qCAAqC;IACrC,IAAI,CAACR,QAAQ;QACXA,SAASI;IACX;IAEA,OAAOJ;AACT;AAEA;;;;CAIC,GACD,OAAO,eAAeS,yBAAyBC,UAAuB;IACpE,IAAI,CAACA,YAAY;QACf,MAAM,IAAIJ,MAAM;IAClB;IACA,IAAI,OAAOI,WAAWC,OAAO,KAAK,YAAY;QAC5C,OAAOD,WAAWC,OAAO;IAC3B,OAAO;QACL,OAAO,MAAMb,kBAAyCY,WAAWC,OAAO;IAC1E;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAQlE,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,cAAc,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAA;AAE5E,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,MAAM,GAAU,mEAO1B,IAAI,KAAG,OAAO,CAAC,YAAY,CA6D7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/queues/operations/runJobs/runJob/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAalE,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,EAAE,cAAc,CAAA;IACnB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,iBAAiB,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,2BAA2B,GAAG,SAAS,CAAA;AAE5E,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,MAAM,sEAOhB,IAAI,KAAG,OAAO,CAAC,YAAY,CA6D7B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { handleTaskError } from '../../../errors/handleTaskError.js';
2
2
  import { handleWorkflowError } from '../../../errors/handleWorkflowError.js';
3
- import { JobCancelledError, TaskError, WorkflowError } from '../../../errors/index.js';
3
+ import { JobCancelledError, JobRunAbortedError, TaskError, WorkflowError } from '../../../errors/index.js';
4
4
  import { getCurrentDate } from '../../../utilities/getCurrentDate.js';
5
5
  import { getRunTaskFunction } from './getRunTaskFunction.js';
6
6
  export const runJob = async ({ job, req, silent, updateJob, workflowConfig, workflowHandler })=>{
@@ -13,8 +13,8 @@ export const runJob = async ({ job, req, silent, updateJob, workflowConfig, work
13
13
  tasks: getRunTaskFunction(job, workflowConfig, req, false, updateJob)
14
14
  });
15
15
  } catch (error) {
16
- if (error instanceof JobCancelledError) {
17
- throw error // Job cancellation is handled in a top-level error handler, as higher up code may themselves throw this error
16
+ if (error instanceof JobCancelledError || error instanceof JobRunAbortedError) {
17
+ throw error // Job run aborts are handled by the top-level runner.
18
18
  ;
19
19
  }
20
20
  if (error instanceof TaskError) {
@@ -48,7 +48,7 @@ export const runJob = async ({ job, req, silent, updateJob, workflowConfig, work
48
48
  // Job log modifications are already updated at the end of the runTask function.
49
49
  await updateJob({
50
50
  completedAt: getCurrentDate().toISOString(),
51
- processing: false,
51
+ processingUntil: null,
52
52
  totalTried: (job.totalTried ?? 0) + 1
53
53
  });
54
54
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/index.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type { WorkflowConfig, WorkflowHandler } from '../../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../../localAPI.js'\nimport type { UpdateJobFunction } from './getUpdateJobFunction.js'\n\nimport { handleTaskError } from '../../../errors/handleTaskError.js'\nimport { handleWorkflowError } from '../../../errors/handleWorkflowError.js'\nimport { JobCancelledError, TaskError, WorkflowError } from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getRunTaskFunction } from './getRunTaskFunction.js'\n\ntype Args = {\n job: Job\n req: PayloadRequest\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n updateJob: UpdateJobFunction\n workflowConfig: WorkflowConfig\n workflowHandler: WorkflowHandler\n}\n\nexport type JobRunStatus = 'error' | 'error-reached-max-retries' | 'success'\n\nexport type RunJobResult = {\n status: JobRunStatus\n}\n\nexport const runJob = async ({\n job,\n req,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n}: Args): Promise<RunJobResult> => {\n // Run the job\n try {\n await workflowHandler({\n inlineTask: getRunTaskFunction(job, workflowConfig, req, true, updateJob),\n job,\n req,\n tasks: getRunTaskFunction(job, workflowConfig, req, false, updateJob),\n })\n } catch (error) {\n if (error instanceof JobCancelledError) {\n throw error // Job cancellation is handled in a top-level error handler, as higher up code may themselves throw this error\n }\n if (error instanceof TaskError) {\n const { hasFinalError } = await handleTaskError({\n error,\n req,\n silent,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n const { hasFinalError } = await handleWorkflowError({\n error:\n error instanceof WorkflowError\n ? error\n : new WorkflowError({\n job,\n message:\n typeof error === 'object' && error && 'message' in error\n ? (error.message as string)\n : 'An unhandled error occurred',\n workflowConfig,\n }),\n req,\n silent,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n // Workflow has completed successfully\n // Do not update the job log here, as that would result in unnecessary db calls when using postgres.\n // Solely updating simple fields here will result in optimized db calls.\n // Job log modifications are already updated at the end of the runTask function.\n await updateJob({\n completedAt: getCurrentDate().toISOString(),\n processing: false,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n status: 'success',\n }\n}\n"],"names":["handleTaskError","handleWorkflowError","JobCancelledError","TaskError","WorkflowError","getCurrentDate","getRunTaskFunction","runJob","job","req","silent","updateJob","workflowConfig","workflowHandler","inlineTask","tasks","error","hasFinalError","status","message","completedAt","toISOString","processing","totalTried"],"mappings":"AAMA,SAASA,eAAe,QAAQ,qCAAoC;AACpE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SAASC,iBAAiB,EAAEC,SAAS,EAAEC,aAAa,QAAQ,2BAA0B;AACtF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,kBAAkB,QAAQ,0BAAyB;AAyB5D,OAAO,MAAMC,SAAS,OAAO,EAC3BC,GAAG,EACHC,GAAG,EACHC,MAAM,EACNC,SAAS,EACTC,cAAc,EACdC,eAAe,EACV;IACL,cAAc;IACd,IAAI;QACF,MAAMA,gBAAgB;YACpBC,YAAYR,mBAAmBE,KAAKI,gBAAgBH,KAAK,MAAME;YAC/DH;YACAC;YACAM,OAAOT,mBAAmBE,KAAKI,gBAAgBH,KAAK,OAAOE;QAC7D;IACF,EAAE,OAAOK,OAAO;QACd,IAAIA,iBAAiBd,mBAAmB;YACtC,MAAMc,MAAM,8GAA8G;;QAC5H;QACA,IAAIA,iBAAiBb,WAAW;YAC9B,MAAM,EAAEc,aAAa,EAAE,GAAG,MAAMjB,gBAAgB;gBAC9CgB;gBACAP;gBACAC;gBACAC;YACF;YAEA,OAAO;gBACLO,QAAQD,gBAAgB,8BAA8B;YACxD;QACF;QAEA,MAAM,EAAEA,aAAa,EAAE,GAAG,MAAMhB,oBAAoB;YAClDe,OACEA,iBAAiBZ,gBACbY,QACA,IAAIZ,cAAc;gBAChBI;gBACAW,SACE,OAAOH,UAAU,YAAYA,SAAS,aAAaA,QAC9CA,MAAMG,OAAO,GACd;gBACNP;YACF;YACNH;YACAC;YACAC;QACF;QAEA,OAAO;YACLO,QAAQD,gBAAgB,8BAA8B;QACxD;IACF;IAEA,sCAAsC;IACtC,oGAAoG;IACpG,wEAAwE;IACxE,gFAAgF;IAChF,MAAMN,UAAU;QACdS,aAAaf,iBAAiBgB,WAAW;QACzCC,YAAY;QACZC,YAAY,AAACf,CAAAA,IAAIe,UAAU,IAAI,CAAA,IAAK;IACtC;IAEA,OAAO;QACLL,QAAQ;IACV;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/queues/operations/runJobs/runJob/index.ts"],"sourcesContent":["import type { Job } from '../../../../index.js'\nimport type { PayloadRequest } from '../../../../types/index.js'\nimport type { WorkflowConfig, WorkflowHandler } from '../../../config/types/workflowTypes.js'\nimport type { RunJobsSilent } from '../../../localAPI.js'\nimport type { UpdateJobFunction } from './getUpdateJobFunction.js'\n\nimport { handleTaskError } from '../../../errors/handleTaskError.js'\nimport { handleWorkflowError } from '../../../errors/handleWorkflowError.js'\nimport {\n JobCancelledError,\n JobRunAbortedError,\n TaskError,\n WorkflowError,\n} from '../../../errors/index.js'\nimport { getCurrentDate } from '../../../utilities/getCurrentDate.js'\nimport { getRunTaskFunction } from './getRunTaskFunction.js'\n\ntype Args = {\n job: Job\n req: PayloadRequest\n /**\n * If set to true, the job system will not log any output to the console (for both info and error logs).\n * Can be an option for more granular control over logging.\n *\n * This will not automatically affect user-configured logs (e.g. if you call `console.log` or `payload.logger.info` in your job code).\n *\n * @default false\n */\n silent?: RunJobsSilent\n updateJob: UpdateJobFunction\n workflowConfig: WorkflowConfig\n workflowHandler: WorkflowHandler\n}\n\nexport type JobRunStatus = 'error' | 'error-reached-max-retries' | 'success'\n\nexport type RunJobResult = {\n status: JobRunStatus\n}\n\nexport const runJob = async ({\n job,\n req,\n silent,\n updateJob,\n workflowConfig,\n workflowHandler,\n}: Args): Promise<RunJobResult> => {\n // Run the job\n try {\n await workflowHandler({\n inlineTask: getRunTaskFunction(job, workflowConfig, req, true, updateJob),\n job,\n req,\n tasks: getRunTaskFunction(job, workflowConfig, req, false, updateJob),\n })\n } catch (error) {\n if (error instanceof JobCancelledError || error instanceof JobRunAbortedError) {\n throw error // Job run aborts are handled by the top-level runner.\n }\n if (error instanceof TaskError) {\n const { hasFinalError } = await handleTaskError({\n error,\n req,\n silent,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n const { hasFinalError } = await handleWorkflowError({\n error:\n error instanceof WorkflowError\n ? error\n : new WorkflowError({\n job,\n message:\n typeof error === 'object' && error && 'message' in error\n ? (error.message as string)\n : 'An unhandled error occurred',\n workflowConfig,\n }),\n req,\n silent,\n updateJob,\n })\n\n return {\n status: hasFinalError ? 'error-reached-max-retries' : 'error',\n }\n }\n\n // Workflow has completed successfully\n // Do not update the job log here, as that would result in unnecessary db calls when using postgres.\n // Solely updating simple fields here will result in optimized db calls.\n // Job log modifications are already updated at the end of the runTask function.\n await updateJob({\n completedAt: getCurrentDate().toISOString(),\n processingUntil: null,\n totalTried: (job.totalTried ?? 0) + 1,\n })\n\n return {\n status: 'success',\n }\n}\n"],"names":["handleTaskError","handleWorkflowError","JobCancelledError","JobRunAbortedError","TaskError","WorkflowError","getCurrentDate","getRunTaskFunction","runJob","job","req","silent","updateJob","workflowConfig","workflowHandler","inlineTask","tasks","error","hasFinalError","status","message","completedAt","toISOString","processingUntil","totalTried"],"mappings":"AAMA,SAASA,eAAe,QAAQ,qCAAoC;AACpE,SAASC,mBAAmB,QAAQ,yCAAwC;AAC5E,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,SAAS,EACTC,aAAa,QACR,2BAA0B;AACjC,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,kBAAkB,QAAQ,0BAAyB;AAyB5D,OAAO,MAAMC,SAAS,OAAO,EAC3BC,GAAG,EACHC,GAAG,EACHC,MAAM,EACNC,SAAS,EACTC,cAAc,EACdC,eAAe,EACV;IACL,cAAc;IACd,IAAI;QACF,MAAMA,gBAAgB;YACpBC,YAAYR,mBAAmBE,KAAKI,gBAAgBH,KAAK,MAAME;YAC/DH;YACAC;YACAM,OAAOT,mBAAmBE,KAAKI,gBAAgBH,KAAK,OAAOE;QAC7D;IACF,EAAE,OAAOK,OAAO;QACd,IAAIA,iBAAiBf,qBAAqBe,iBAAiBd,oBAAoB;YAC7E,MAAMc,MAAM,sDAAsD;;QACpE;QACA,IAAIA,iBAAiBb,WAAW;YAC9B,MAAM,EAAEc,aAAa,EAAE,GAAG,MAAMlB,gBAAgB;gBAC9CiB;gBACAP;gBACAC;gBACAC;YACF;YAEA,OAAO;gBACLO,QAAQD,gBAAgB,8BAA8B;YACxD;QACF;QAEA,MAAM,EAAEA,aAAa,EAAE,GAAG,MAAMjB,oBAAoB;YAClDgB,OACEA,iBAAiBZ,gBACbY,QACA,IAAIZ,cAAc;gBAChBI;gBACAW,SACE,OAAOH,UAAU,YAAYA,SAAS,aAAaA,QAC9CA,MAAMG,OAAO,GACd;gBACNP;YACF;YACNH;YACAC;YACAC;QACF;QAEA,OAAO;YACLO,QAAQD,gBAAgB,8BAA8B;QACxD;IACF;IAEA,sCAAsC;IACtC,oGAAoG;IACpG,wEAAwE;IACxE,gFAAgF;IAChF,MAAMN,UAAU;QACdS,aAAaf,iBAAiBgB,WAAW;QACzCC,iBAAiB;QACjBC,YAAY,AAACf,CAAAA,IAAIe,UAAU,IAAI,CAAA,IAAK;IACtC;IAEA,OAAO;QACLL,QAAQ;IACV;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCurrentDate.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/getCurrentDate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;CAMtC,CAAA;AAED,wBAAgB,+BAA+B,SAI9C;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,IAElC,CAAA"}
1
+ {"version":3,"file":"getCurrentDate.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/getCurrentDate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,0BAA0B;IACrC,cAAc;IAGd,aAAa;IACb,kBAAkB;CACnB,CAAA;AAED,wBAAgB,+BAA+B,SAI9C;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,IAElC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getJobTaskStatus.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/getJobTaskStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAErE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,YAAY,IAAI,KAAG,aAsCnD,CAAA"}
1
+ {"version":3,"file":"getJobTaskStatus.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/getJobTaskStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAErE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,gBAAgB,eAAgB,IAAI,KAAG,aAsCnD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateJob.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/updateJob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAKvE,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,KAAK,SAAS,GAAG;IACf,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,KAAK,WAAW,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,4BAKxD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,EAC/B,EAAE,EACF,IAAI,EACJ,KAAK,EAAE,QAAQ,EACf,GAAG,EACH,SAAS,EACT,IAAI,EACJ,KAAK,EAAE,QAAQ,GAChB,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAgDrC"}
1
+ {"version":3,"file":"updateJob.d.ts","sourceRoot":"","sources":["../../../src/queues/utilities/updateJob.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAKvE,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,KAAK,SAAS,GAAG;IACf,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,KAAK,WAAW,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,4BAKxD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,EAC/B,EAAE,EACF,IAAI,EACJ,KAAK,EAAE,QAAQ,EACf,GAAG,EACH,SAAS,EACT,IAAI,EACJ,KAAK,EAAE,QAAQ,GAChB,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAoDrC"}
@@ -22,6 +22,9 @@ import { getCurrentDate } from './getCurrentDate.js';
22
22
  const jobReq = {
23
23
  transactionID: req.payload.db.name !== 'mongoose' ? await req.payload.db.beginTransaction() : undefined
24
24
  };
25
+ if (data.processingUntil === null) {
26
+ data.processingToken = null;
27
+ }
25
28
  if (typeof data.updatedAt === 'undefined') {
26
29
  // Ensure updatedAt date is always updated
27
30
  data.updatedAt = getCurrentDate().toISOString();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/queues/utilities/updateJob.ts"],"sourcesContent":["import type { UpdateJobsArgs } from '../../database/types.js'\nimport type { Job } from '../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../types/index.js'\n\nimport { jobAfterRead } from '../config/collection.js'\nimport { getCurrentDate } from './getCurrentDate.js'\n\ntype BaseArgs = {\n data: Partial<Job>\n limit?: number\n req: PayloadRequest\n returning?: boolean\n}\n\ntype ArgsByID = {\n id: number | string\n limit?: never\n sort?: never\n where?: never\n}\n\ntype ArgsWhere = {\n id?: never\n limit?: number\n sort?: Sort\n where: Where\n}\n\ntype RunJobsArgs = (ArgsByID | ArgsWhere) & BaseArgs\n\n/**\n * Convenience method for updateJobs by id\n */\nexport async function updateJob(args: ArgsByID & BaseArgs) {\n const result = await updateJobs(args)\n if (result) {\n return result[0]\n }\n}\n\n/**\n * Helper for updating jobs in the most performant way possible.\n * Handles deciding whether it can used direct db methods or not, and if so,\n * manually runs the afterRead hook that populates the `taskStatus` property.\n */\nexport async function updateJobs({\n id,\n data,\n limit: limitArg,\n req,\n returning,\n sort,\n where: whereArg,\n}: RunJobsArgs): Promise<Job[] | null> {\n const limit = id ? 1 : limitArg\n const where = id ? { id: { equals: id } } : whereArg\n\n const jobReq = {\n transactionID:\n req.payload.db.name !== 'mongoose'\n ? ((await req.payload.db.beginTransaction()) as string)\n : undefined,\n }\n\n if (typeof data.updatedAt === 'undefined') {\n // Ensure updatedAt date is always updated\n data.updatedAt = getCurrentDate().toISOString()\n }\n\n const args: UpdateJobsArgs = id\n ? {\n id,\n data,\n req: jobReq,\n returning,\n }\n : {\n data,\n limit,\n req: jobReq,\n returning,\n sort,\n where: where as Where,\n }\n\n const updatedJobs: Job[] | null = await req.payload.db.updateJobs(args)\n\n if (req.payload.db.name !== 'mongoose' && jobReq.transactionID) {\n await req.payload.db.commitTransaction(jobReq.transactionID)\n }\n\n if (returning === false || !updatedJobs?.length) {\n return null\n }\n\n return updatedJobs.map((updatedJob) => {\n return jobAfterRead({\n config: req.payload.config,\n doc: updatedJob,\n })\n })\n}\n"],"names":["jobAfterRead","getCurrentDate","updateJob","args","result","updateJobs","id","data","limit","limitArg","req","returning","sort","where","whereArg","equals","jobReq","transactionID","payload","db","name","beginTransaction","undefined","updatedAt","toISOString","updatedJobs","commitTransaction","length","map","updatedJob","config","doc"],"mappings":"AAIA,SAASA,YAAY,QAAQ,0BAAyB;AACtD,SAASC,cAAc,QAAQ,sBAAqB;AAyBpD;;CAEC,GACD,OAAO,eAAeC,UAAUC,IAAyB;IACvD,MAAMC,SAAS,MAAMC,WAAWF;IAChC,IAAIC,QAAQ;QACV,OAAOA,MAAM,CAAC,EAAE;IAClB;AACF;AAEA;;;;CAIC,GACD,OAAO,eAAeC,WAAW,EAC/BC,EAAE,EACFC,IAAI,EACJC,OAAOC,QAAQ,EACfC,GAAG,EACHC,SAAS,EACTC,IAAI,EACJC,OAAOC,QAAQ,EACH;IACZ,MAAMN,QAAQF,KAAK,IAAIG;IACvB,MAAMI,QAAQP,KAAK;QAAEA,IAAI;YAAES,QAAQT;QAAG;IAAE,IAAIQ;IAE5C,MAAME,SAAS;QACbC,eACEP,IAAIQ,OAAO,CAACC,EAAE,CAACC,IAAI,KAAK,aAClB,MAAMV,IAAIQ,OAAO,CAACC,EAAE,CAACE,gBAAgB,KACvCC;IACR;IAEA,IAAI,OAAOf,KAAKgB,SAAS,KAAK,aAAa;QACzC,0CAA0C;QAC1ChB,KAAKgB,SAAS,GAAGtB,iBAAiBuB,WAAW;IAC/C;IAEA,MAAMrB,OAAuBG,KACzB;QACEA;QACAC;QACAG,KAAKM;QACLL;IACF,IACA;QACEJ;QACAC;QACAE,KAAKM;QACLL;QACAC;QACAC,OAAOA;IACT;IAEJ,MAAMY,cAA4B,MAAMf,IAAIQ,OAAO,CAACC,EAAE,CAACd,UAAU,CAACF;IAElE,IAAIO,IAAIQ,OAAO,CAACC,EAAE,CAACC,IAAI,KAAK,cAAcJ,OAAOC,aAAa,EAAE;QAC9D,MAAMP,IAAIQ,OAAO,CAACC,EAAE,CAACO,iBAAiB,CAACV,OAAOC,aAAa;IAC7D;IAEA,IAAIN,cAAc,SAAS,CAACc,aAAaE,QAAQ;QAC/C,OAAO;IACT;IAEA,OAAOF,YAAYG,GAAG,CAAC,CAACC;QACtB,OAAO7B,aAAa;YAClB8B,QAAQpB,IAAIQ,OAAO,CAACY,MAAM;YAC1BC,KAAKF;QACP;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/queues/utilities/updateJob.ts"],"sourcesContent":["import type { UpdateJobsArgs } from '../../database/types.js'\nimport type { Job } from '../../index.js'\nimport type { PayloadRequest, Sort, Where } from '../../types/index.js'\n\nimport { jobAfterRead } from '../config/collection.js'\nimport { getCurrentDate } from './getCurrentDate.js'\n\ntype BaseArgs = {\n data: Partial<Job>\n limit?: number\n req: PayloadRequest\n returning?: boolean\n}\n\ntype ArgsByID = {\n id: number | string\n limit?: never\n sort?: never\n where?: never\n}\n\ntype ArgsWhere = {\n id?: never\n limit?: number\n sort?: Sort\n where: Where\n}\n\ntype RunJobsArgs = (ArgsByID | ArgsWhere) & BaseArgs\n\n/**\n * Convenience method for updateJobs by id\n */\nexport async function updateJob(args: ArgsByID & BaseArgs) {\n const result = await updateJobs(args)\n if (result) {\n return result[0]\n }\n}\n\n/**\n * Helper for updating jobs in the most performant way possible.\n * Handles deciding whether it can used direct db methods or not, and if so,\n * manually runs the afterRead hook that populates the `taskStatus` property.\n */\nexport async function updateJobs({\n id,\n data,\n limit: limitArg,\n req,\n returning,\n sort,\n where: whereArg,\n}: RunJobsArgs): Promise<Job[] | null> {\n const limit = id ? 1 : limitArg\n const where = id ? { id: { equals: id } } : whereArg\n\n const jobReq = {\n transactionID:\n req.payload.db.name !== 'mongoose'\n ? ((await req.payload.db.beginTransaction()) as string)\n : undefined,\n }\n\n if (data.processingUntil === null) {\n data.processingToken = null\n }\n\n if (typeof data.updatedAt === 'undefined') {\n // Ensure updatedAt date is always updated\n data.updatedAt = getCurrentDate().toISOString()\n }\n\n const args: UpdateJobsArgs = id\n ? {\n id,\n data,\n req: jobReq,\n returning,\n }\n : {\n data,\n limit,\n req: jobReq,\n returning,\n sort,\n where: where as Where,\n }\n\n const updatedJobs: Job[] | null = await req.payload.db.updateJobs(args)\n\n if (req.payload.db.name !== 'mongoose' && jobReq.transactionID) {\n await req.payload.db.commitTransaction(jobReq.transactionID)\n }\n\n if (returning === false || !updatedJobs?.length) {\n return null\n }\n\n return updatedJobs.map((updatedJob) => {\n return jobAfterRead({\n config: req.payload.config,\n doc: updatedJob,\n })\n })\n}\n"],"names":["jobAfterRead","getCurrentDate","updateJob","args","result","updateJobs","id","data","limit","limitArg","req","returning","sort","where","whereArg","equals","jobReq","transactionID","payload","db","name","beginTransaction","undefined","processingUntil","processingToken","updatedAt","toISOString","updatedJobs","commitTransaction","length","map","updatedJob","config","doc"],"mappings":"AAIA,SAASA,YAAY,QAAQ,0BAAyB;AACtD,SAASC,cAAc,QAAQ,sBAAqB;AAyBpD;;CAEC,GACD,OAAO,eAAeC,UAAUC,IAAyB;IACvD,MAAMC,SAAS,MAAMC,WAAWF;IAChC,IAAIC,QAAQ;QACV,OAAOA,MAAM,CAAC,EAAE;IAClB;AACF;AAEA;;;;CAIC,GACD,OAAO,eAAeC,WAAW,EAC/BC,EAAE,EACFC,IAAI,EACJC,OAAOC,QAAQ,EACfC,GAAG,EACHC,SAAS,EACTC,IAAI,EACJC,OAAOC,QAAQ,EACH;IACZ,MAAMN,QAAQF,KAAK,IAAIG;IACvB,MAAMI,QAAQP,KAAK;QAAEA,IAAI;YAAES,QAAQT;QAAG;IAAE,IAAIQ;IAE5C,MAAME,SAAS;QACbC,eACEP,IAAIQ,OAAO,CAACC,EAAE,CAACC,IAAI,KAAK,aAClB,MAAMV,IAAIQ,OAAO,CAACC,EAAE,CAACE,gBAAgB,KACvCC;IACR;IAEA,IAAIf,KAAKgB,eAAe,KAAK,MAAM;QACjChB,KAAKiB,eAAe,GAAG;IACzB;IAEA,IAAI,OAAOjB,KAAKkB,SAAS,KAAK,aAAa;QACzC,0CAA0C;QAC1ClB,KAAKkB,SAAS,GAAGxB,iBAAiByB,WAAW;IAC/C;IAEA,MAAMvB,OAAuBG,KACzB;QACEA;QACAC;QACAG,KAAKM;QACLL;IACF,IACA;QACEJ;QACAC;QACAE,KAAKM;QACLL;QACAC;QACAC,OAAOA;IACT;IAEJ,MAAMc,cAA4B,MAAMjB,IAAIQ,OAAO,CAACC,EAAE,CAACd,UAAU,CAACF;IAElE,IAAIO,IAAIQ,OAAO,CAACC,EAAE,CAACC,IAAI,KAAK,cAAcJ,OAAOC,aAAa,EAAE;QAC9D,MAAMP,IAAIQ,OAAO,CAACC,EAAE,CAACS,iBAAiB,CAACZ,OAAOC,aAAa;IAC7D;IAEA,IAAIN,cAAc,SAAS,CAACgB,aAAaE,QAAQ;QAC/C,OAAO;IACT;IAEA,OAAOF,YAAYG,GAAG,CAAC,CAACC;QACtB,OAAO/B,aAAa;YAClBgC,QAAQtB,IAAIQ,OAAO,CAACc,MAAM;YAC1BC,KAAKF;QACP;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLocalI18n.d.ts","sourceRoot":"","sources":["../../src/translations/getLocalI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,eAAO,MAAM,YAAY,GAAU,uBAGhC;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,qDAKG,CAAA"}
1
+ {"version":3,"file":"getLocalI18n.d.ts","sourceRoot":"","sources":["../../src/translations/getLocalI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,eAAO,MAAM,YAAY,0BAGtB;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,qDAKG,CAAA"}