payload 3.71.0-internal.49c4f67 → 3.71.0-internal.7ef67c6
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.
- package/dist/index.bundled.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/queues/config/types/workflowTypes.d.ts +3 -0
- package/dist/queues/config/types/workflowTypes.d.ts.map +1 -1
- package/dist/queues/config/types/workflowTypes.js.map +1 -1
- package/dist/queues/localAPI.d.ts +12 -0
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/localAPI.js +9 -4
- package/dist/queues/localAPI.js.map +1 -1
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.js +2 -1
- package/dist/queues/operations/runJobs/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.bundled.d.ts
CHANGED
|
@@ -4718,6 +4718,7 @@ type JobTaskStatus = {
|
|
|
4718
4718
|
*/
|
|
4719
4719
|
type ConcurrencyConfig<TInput = object> = ((args: {
|
|
4720
4720
|
input: TInput;
|
|
4721
|
+
queue: string;
|
|
4721
4722
|
}) => string) | {
|
|
4722
4723
|
/**
|
|
4723
4724
|
* Only one job with this key can run at a time.
|
|
@@ -4728,9 +4729,11 @@ type ConcurrencyConfig<TInput = object> = ((args: {
|
|
|
4728
4729
|
/**
|
|
4729
4730
|
* Function that returns a key to group related jobs.
|
|
4730
4731
|
* Jobs with the same key are subject to concurrency rules.
|
|
4732
|
+
* The queue name is provided to allow for queue-specific concurrency keys if needed.
|
|
4731
4733
|
*/
|
|
4732
4734
|
key: (args: {
|
|
4733
4735
|
input: TInput;
|
|
4736
|
+
queue: string;
|
|
4734
4737
|
}) => string;
|
|
4735
4738
|
};
|
|
4736
4739
|
type WorkflowConfig<TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false> = {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAQ7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AACzF,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,UAAU,EACX,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAEL,KAAK,OAAO,IAAI,qBAAqB,EACtC,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAc,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC3F,OAAO,EAEL,KAAK,OAAO,IAAI,oBAAoB,EACrC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAe,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,EAEL,KAAK,OAAO,IAAI,kBAAkB,EACnC,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,KAAK,EACV,kBAAkB,EAClB,kCAAkC,EAClC,UAAU,EACV,UAAU,EACV,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAc,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAClG,OAAO,EAEL,KAAK,OAAO,IAAI,aAAa,EAC9B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,KAAK,WAAW,IAAI,iBAAiB,EAErC,KAAK,WAAW,IAAI,iBAAiB,EAEtC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEL,KAAK,OAAO,IAAI,gBAAgB,EACjC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAa,KAAK,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAC/F,OAAO,EAEL,KAAK,OAAO,IAAI,eAAe,EAChC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,KAAK,OAAO,IAAI,mBAAmB,EACpC,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAEL,KAAK,OAAO,IAAI,sBAAsB,EACvC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAEL,KAAK,OAAO,IAAI,mBAAmB,EACpC,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAEL,KAAK,OAAO,IAAI,qBAAqB,EACtC,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,KAAK,WAAW,IAAI,iBAAiB,EAErC,KAAK,WAAW,IAAI,iBAAiB,EAEtC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACL,KAAK,OAAO,IAAI,iBAAiB,EAElC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAEL,KAAK,OAAO,IAAI,4BAA4B,EAC7C,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAEL,KAAK,OAAO,IAAI,yBAAyB,EAC1C,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,KAAK,OAAO,IAAI,2BAA2B,EAC5C,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAEL,KAAK,OAAO,IAAI,mBAAmB,EACpC,MAAM,sCAAsC,CAAA;AAC7C,mBAAmB,kBAAkB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAInD,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAIpF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAShF;;;GAGG;AACH,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACxF,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAExF,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,cAAc,EAAE;gBACd,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM,CAAA;gBACb,QAAQ,EAAE,MAAM,CAAA;aACjB,CAAA;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAA;gBACb,QAAQ,EAAE,MAAM,CAAA;aACjB,CAAA;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;SACF,CAAA;KACF,CAAA;IAED,aAAa,EAAE;QACb,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC3B,CAAA;IACD,uBAAuB,EAAE;QACvB,CAAC,IAAI,EAAE,MAAM,GAAG;YACd,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAAA;SACrC,CAAA;KACF,CAAA;IACD,wBAAwB,EAAE;QACxB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC3B,CAAA;IAED,kBAAkB,EAAE;QAClB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA;KACxC,CAAA;IACD,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAC/B,CAAA;IACD,qBAAqB,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;IACjG,oBAAoB,EAAE;QACpB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC3B,CAAA;IACD,cAAc,EAAE;QACd,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAC3B,CAAA;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,CAAC,IAAI,EAAE,MAAM,GAAG;gBACd,KAAK,CAAC,EAAE,UAAU,CAAA;gBAClB,MAAM,CAAC,EAAE,UAAU,CAAA;aACpB,CAAA;SACF,CAAA;QACD,SAAS,EAAE;YACT,CAAC,IAAI,EAAE,MAAM,GAAG;gBACd,KAAK,EAAE,UAAU,CAAA;aAClB,CAAA;SACF,CAAA;KACF,CAAA;IACD,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;CACzB;AAGD,KAAK,qBAAqB,CAAC,CAAC,IAAI,aAAa,SAAS,MAAM,CAAC,GACzD,CAAC,CAAC,aAAa,CAAC,GAEhB,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAE3B,KAAK,gBAAgB,CAAC,CAAC,IAAI,QAAQ,SAAS,MAAM,CAAC,GAC/C,CAAC,CAAC,QAAQ,CAAC,GAEX,CAAC,CAAC,eAAe,CAAC,CAAA;AAEtB,KAAK,2BAA2B,CAAC,CAAC,IAAI,mBAAmB,SAAS,MAAM,CAAC,GACrE,CAAC,CAAC,mBAAmB,CAAC,GAEtB,CAAC,CAAC,0BAA0B,CAAC,CAAA;AAEjC,KAAK,0BAA0B,CAAC,CAAC,IAAI,kBAAkB,SAAS,MAAM,CAAC,GACnE,CAAC,CAAC,kBAAkB,CAAC,GAErB,CAAC,CAAC,yBAAyB,CAAC,CAAA;AAEhC,KAAK,iBAAiB,CAAC,CAAC,IAAI,SAAS,SAAS,MAAM,CAAC,GACjD,CAAC,CAAC,SAAS,CAAC,GAEZ,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAEvB,KAAK,uBAAuB,CAAC,CAAC,IAAI,eAAe,SAAS,MAAM,CAAC,GAC7D,CAAC,CAAC,eAAe,CAAC,GAElB,CAAC,CAAC,sBAAsB,CAAC,CAAA;AAG7B,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAA;AAEnE,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;AAEzD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;KAC1C,CAAC,IAAI,MAAM,eAAe,GACvB,UAAU,GACV,UAAU,GACV,UAAU,GACV,KAAK,SAAS,MAAM,eAAe,CAAC,CAAC,CAAC,GACtC,eAAe,CAAC,CAAC,CAAC,GAClB,KAAK;CACV,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAA;AAE/E,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAA;AAE7E,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAA;AAGvE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;AAGrD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;AAEzD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAA;AAErE,KAAK,aAAa,CAAC,CAAC,IAAI,IAAI,SAAS,MAAM,CAAC,GACxC,CAAC,CAAC,IAAI,CAAC,GAEP,CAAC,CAAC,WAAW,CAAC,CAAA;AAElB,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,eAAe,CAAC,CAAA;AAClF,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AAKjD,KAAK,iBAAiB,CAAC,CAAC,IAAI,QAAQ,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAA;AACvF,KAAK,yBAAyB,CAAC,CAAC,IAAI,gBAAgB,SAAS,MAAM,CAAC,GAChE,CAAC,CAAC,gBAAgB,CAAC,GAEnB,CAAC,CAAC,uBAAuB,CAAC,CAAA;AAE9B,KAAK,eAAe,CAAC,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAA;AAE/E,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA;AAE3E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;AAGvD,KAAK,yBAAyB,CAAC,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAA;AACzF,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAA;AAG3E,KAAK,wBAAwB,CAAC,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAA;AACxF,MAAM,MAAM,SAAS,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAA;AAEhE,KAAK,kBAAkB,GAAG,aAAa,SAAS,MAAM,cAAc,GAChE,cAAc,SAAS,MAAM,eAAe,GAC1C,IAAI,GACJ,KAAK,GACP,KAAK,CAAA;AAET;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,oBAAoB,SAAS,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,GAAG,KAAK,IAChF,kBAAkB,SAAS,IAAI,GAC/B;IACE,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAA;IAC7C,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAA;CACxD,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,GACjE,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAOjC;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,IAAI,YAAmB,QAAQ,6DAE9B;IAED,cAAc,EAAG,YAAY,EAAE,CAAA;IAE/B,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAK;IAE9C,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAK;IAEpD,MAAM,EAAG,eAAe,CAAA;IACxB;;;;OAIG;IACH,KAAK,GAAU,CAAC,SAAS,cAAc,WAC5B,YAAY,CAAC,CAAC,CAAC,KACvB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAEhC;IAED;;;;OAIG;IACH,mBAAmB,GAAU,CAAC,SAAS,UAAU,WACtC,0BAA0B,CAAC,CAAC,CAAC,KACrC,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAEhC;IAED;;;;OAIG;IACH,aAAa,GAAU,CAAC,SAAS,cAAc,WACpC,YAAY,CAAC,CAAC,CAAC,KACvB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAEhC;IAED;;;;OAIG;IACH,MAAM,GAAU,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,WAClF,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,KACrC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAExD;IAED,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,EAAE,EAAG,eAAe,CAAA;IAEpB,OAAO,iBAAU;IAEjB,OAAO,sBAUN;IAED,SAAS,GAAU,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,WACrF,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KACxC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAExD;IAED,KAAK,EAAG,uBAAuB,CAAA;IAK/B,OAAO,iBAAU;IAEjB,UAAU,EAAG,CAAC,IAAI,EAAE;QAClB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;QACxB,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrC,MAAM,EAAE,eAAe,CAAA;KACxB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAElB;;;;OAIG;IACH,IAAI,GACF,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAC/C,MAAM,SAAS,OAAO,mBAEb;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KACxD,OAAO,CACR,aAAa,CACX,MAAM,SAAS,IAAI,GACf,cAAc,SAAS;QAAE,gBAAgB,EAAE,IAAI,CAAA;KAAE,GAC/C,kCAAkC,CAAC,KAAK,EAAE,OAAO,CAAC,GAClD,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,GAC/C,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAClD,CACF,CAEA;IAED;;;;OAIG;IACH,QAAQ,GACN,KAAK,SAAS,cAAc,EAC5B,cAAc,SAAS,OAAO,EAC9B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,WAEtC,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,KACvD,OAAO,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAE5F;IAED;;;;OAIG;IACH,YAAY,GACV,KAAK,SAAS,cAAc,EAC5B,MAAM,SAAS,MAAM,sBAAsB,CAAC,KAAK,CAAC,GAAG,MAAM,WAElD,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,KAC1C,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAEvF;IAED,UAAU,GAAU,KAAK,SAAS,UAAU,EAAE,OAAO,SAAS,oBAAoB,CAAC,KAAK,CAAC,WAC9E,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,KACzC,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAEpD;IAED;;;;OAIG;IACH,qBAAqB,GAAU,KAAK,SAAS,UAAU,WAC5C,4BAA4B,CAAC,KAAK,CAAC,KAC3C,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAErD;IAED;;;;OAIG;IACH,kBAAkB,GAAU,KAAK,SAAS,UAAU,WACzC,yBAAyB,CAAC,KAAK,CAAC,KACxC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAEpE;IAED;;;;OAIG;IACH,eAAe,GAAU,KAAK,SAAS,cAAc,WAC1C,sBAAsB,CAAC,KAAK,CAAC,KACrC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAEzD;IAED;;;;OAIG;IACH,YAAY,GAAU,KAAK,SAAS,cAAc,WACvC,mBAAmB,CAAC,KAAK,CAAC,KAClC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAExE;IAED,cAAc,GAAU,KAAK,SAAS,cAAc,WACzC,qBAAqB,CAAC,KAAK,CAAC,KACpC,OAAO,CAAC,oBAAoB,CAAC,CAE/B;IAED,WAAW,QAAO,MAAM,CAKpB;IAEJ,SAAS,QAAO,MAAM,CAKlB;IAEJ,OAAO,EAAG,OAAO,CAAA;IAEjB,SAAS,EAAG,SAAS,CAAA;IAErB,IAAI;;qBAjjBD,CAAC;iBAiBG,CAAC;eACH,CAAA;;kDAM6B,kBAAmB,SAAS,sBAAsB;mBAEtE,kBACH,qBAAqB;gBAE5B,CAAC;0BAeL,CAAC;iBAAyB,CAAC;eACX,CAAC;oDAGX,kBAAmB;qBACc,CAAC;oBAC5B,CAAC;;mBAA4C,sBAAuB,qBAC3E;gBAEF,CAAC;0BAcD,CAAC;iBAEJ,CAAF;eAAsB,CAAC;gBACV,CAAC;qBAA2B,CAAC;wDAEP,sBAEjC;wDAE2C,sBAEpC;;qBA+EA,CAAC;iBAON,CAAA;0BAqB0D,CAAC;2BASvD,CAAC;iBAWQ,CAAA;eACf,CAAC;sBAIyD,CAAC;kBAe5B,CAAC;iBAAyB,CAAC;;;;0BAkChC,CAAC;eAAiB,CAAC;kBAYnB,CAAC;;;0BAuBN,CAAC;iBAAmB,CAAC;eAAgB,CAAC;;;;;0BAmDvD,CAAC;eAAiB,CAAC;;MAwNK;IAE5B;;OAEG;IACH,EAAE,EAAG,SAAS,CAAA;IAEd,MAAM,EAAG,MAAM,CAAA;IAEf,KAAK,GAAU,KAAK,SAAS,cAAc,WAChC,YAAY,CAAC,KAAK,CAAC,KAC3B,OAAO,CAAC;QAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAA;KAAE,GAAG,WAAW,CAAC,CAEhE;IAED,aAAa,GAAU,KAAK,SAAS,cAAc,WACxC,oBAAoB,CAAC,KAAK,CAAC,KACnC,OAAO,CAAC,mBAAmB,CAAC,CAE9B;IAED;;;;OAIG;IACH,oBAAoB,GAAU,KAAK,SAAS,UAAU,WAC3C,2BAA2B,CAAC,KAAK,CAAC,KAC1C,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAEpC;IAED;;;;OAIG;IACH,cAAc,GAAU,KAAK,SAAS,cAAc,WACzC,qBAAqB,CAAC,KAAK,CAAC,KACpC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAExC;IAED,MAAM,EAAG,aAAa,CAAA;IAEtB,MAAM,EAAG,MAAM,CAAA;IAEf,SAAS,EAAG,uBAAuB,CAAC,WAAW,CAAC,CAAA;IAEhD,KAAK,EAAG;QACN,UAAU,EAAE,GAAG,CAAA;QACf,eAAe,EAAE,GAAG,CAAA;QACpB,UAAU,EAAE,GAAG,CAAA;QACf,uBAAuB,CAAC,EAAE,GAAG,CAAA;QAC7B,UAAU,EAAE,GAAG,CAAA;QACf,eAAe,CAAC,EAAE,GAAG,CAAA;QACrB,QAAQ,EAAE,GAAG,CAAA;KACd,CAAA;IAED,MAAM,GAAU,KAAK,SAAS,cAAc,WACjC,aAAa,CAAC,KAAK,CAAC,KAC5B,OAAO,CAAC,OAAO,CAAC,CAElB;IAED,YAAY,GAAU,KAAK,SAAS,UAAU,EAAE,OAAO,SAAS,oBAAoB,CAAC,KAAK,CAAC,WAChF,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAC3C,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAEpD;IAED,eAAe,EAAG,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAA;IAEhE,WAAW,GAAU,KAAK,SAAS,cAAc,WACtC,kBAAkB,CAAC,KAAK,CAAC,KACjC,OAAO,CAAC,OAAO,CAAC,CAElB;IAED,QAAQ,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KACpB,CAAK;IAEA,gBAAgB;IA0DhB,GAAG,CAAC,EACR,IAAI,EACJ,GAAG,EACH,GAAG,GACJ,EAAE;QACD,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,OAAO,CAAA;KACd,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB7B;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAClF,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzD,MAAM,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAClF,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAQ/C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IA+LlD,MAAM,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAClF,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE/C;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAS,cAAc,EAAE,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,EAClF,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,GACzC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;CAO1D;AAED,QAAA,MAAM,WAAW,aAAoB,CAAA;AAGrC,eAAe,WAAW,CAAA;AAE1B,eAAO,MAAM,MAAM,WACT,eAAe,WACd,OAAO,4BACU,OAAO,YACvB,WAAW,KACpB,OAAO,CAAC,IAAI,CAmEd,CAAA;AAiBD;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,YACZ;IACP;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,WAAW,KACd,OAAO,CAAC,OAAO,CAgIjB,CAAA;AAED,KAAK,OAAO,GAAG,WAAW,CAAA;AAE1B,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAGD,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAC/D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AAClF,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,WAAW,IAAI,IAAI,EACnB,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,KAAK,mCAAmC,EACxC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,GAChC,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EACV,eAAe,IAAI,yBAAyB,EAC5C,eAAe,IAAI,yBAAyB,EAC5C,cAAc,IAAI,wBAAwB,EAC1C,uBAAuB,IAAI,iCAAiC,EAC5D,cAAc,IAAI,wBAAwB,EAC1C,eAAe,IAAI,yBAAyB,EAC5C,WAAW,IAAI,qBAAqB,EACpC,kBAAkB,IAAI,4BAA4B,EAClD,aAAa,IAAI,uBAAuB,EACxC,gBAAgB,IAAI,0BAA0B,EAC9C,cAAc,EACd,gCAAgC,EAChC,UAAU,EACV,cAAc,EACd,gBAAgB,IAAI,0BAA0B,EAC9C,gBAAgB,IAAI,0BAA0B,EAC9C,eAAe,IAAI,yBAAyB,EAC5C,mBAAmB,IAAI,6BAA6B,EACpD,cAAc,IAAI,wBAAwB,EAC1C,kBAAkB,IAAI,4BAA4B,EAClD,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,IAAI,gBAAgB,EAC1B,WAAW,IAAI,qBAAqB,EACpC,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,UAAU,EACV,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AAEtC,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,KAAK,2BAA2B,GACjC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,mBAAmB,mBAAmB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAA;AAClF,mBAAmB,qCAAqC,CAAA;AACxD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,SAAS,EACT,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,MAAM,EACN,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,qBAAqB,IAAI,kBAAkB,EAC3C,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,UAAU,GACX,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,YAAY,IAAI,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,EACN,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAElE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAE3D,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAEhE,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAErE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAE5D,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAEjE,YAAY,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,eAAe,EACf,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,6BAA6B,EAC7B,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,SAAS,EACT,eAAe,EACf,MAAM,EACN,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kCAAkC,EAClC,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAC1G,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAEjF,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACtG,OAAO,EAAE,cAAc,IAAI,0BAA0B,EAAE,MAAM,+CAA+C,CAAA;AAC5G,OAAO,EAAE,cAAc,IAAI,4BAA4B,EAAE,MAAM,iDAAiD,CAAA;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAClF,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,+BAA+B,EAC/B,iCAAiC,EACjC,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EACL,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,eAAe,IAAI,qBAAqB,EACxC,aAAa,IAAI,mBAAmB,EACpC,gBAAgB,IAAI,sBAAsB,EAC1C,mBAAmB,IAAI,yBAAyB,EAChD,cAAc,IAAI,oBAAoB,EACtC,kBAAkB,IAAI,wBAAwB,EAC9C,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,wBAAwB,IAAI,8BAA8B,EAAE,MAAM,yCAAyC,CAAA;AAEpH,OAAO,EAAE,qBAAqB,IAAI,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAE3G,OAAO,EAAE,uBAAuB,IAAI,6BAA6B,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACzF,cAAc,oCAAoC,CAAA;AAClD,cAAc,oCAAoC,CAAA;AAClD,cAAc,eAAe,CAAA;AAC7B,YAAY,EACV,oBAAoB,EACpB,qBAAqB;AACrB;;GAEG;AACH,qBAAqB,IAAI,eAAe,EACxC,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAChG,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,QAAQ,GACT,MAAM,oCAAoC,CAAA;AAC3C,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,0EAA0E,CAAA;AAC5H,OAAO,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAC3F,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,cAAc,GACf,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,mBAAmB,oBAAoB,CAAA;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,SAAS,EACT,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,GACzB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAC7E,OAAO,EACL,MAAM,EACN,UAAU,EACV,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC5E,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,7 @@ export type JobTaskStatus = {
|
|
|
100
100
|
*/
|
|
101
101
|
export type ConcurrencyConfig<TInput = object> = ((args: {
|
|
102
102
|
input: TInput;
|
|
103
|
+
queue: string;
|
|
103
104
|
}) => string) | {
|
|
104
105
|
/**
|
|
105
106
|
* Only one job with this key can run at a time.
|
|
@@ -110,9 +111,11 @@ export type ConcurrencyConfig<TInput = object> = ((args: {
|
|
|
110
111
|
/**
|
|
111
112
|
* Function that returns a key to group related jobs.
|
|
112
113
|
* Jobs with the same key are subject to concurrency rules.
|
|
114
|
+
* The queue name is provided to allow for queue-specific concurrency keys if needed.
|
|
113
115
|
*/
|
|
114
116
|
key: (args: {
|
|
115
117
|
input: TInput;
|
|
118
|
+
queue: string;
|
|
116
119
|
}) => string;
|
|
117
120
|
};
|
|
118
121
|
export type WorkflowConfig<TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflowTypes.d.ts","sourceRoot":"","sources":["../../../../src/queues/config/types/workflowTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflowTypes.d.ts","sourceRoot":"","sources":["../../../../src/queues/config/types/workflowTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/queues/config/types/workflowTypes.ts"],"sourcesContent":["import type { Field } from '../../../fields/config/types.js'\nimport type {\n Job,\n MaybePromise,\n PayloadRequest,\n StringKeyOf,\n TypedCollection,\n TypedJobs,\n} from '../../../index.js'\nimport type { TaskParent } from '../../operations/runJobs/runJob/getRunTaskFunction.js'\nimport type { ScheduleConfig } from './index.js'\nimport type {\n RetryConfig,\n RunInlineTaskFunction,\n RunTaskFunctions,\n TaskInput,\n TaskOutput,\n TaskType,\n} from './taskTypes.js'\nimport type { WorkflowJSON } from './workflowJSONTypes.js'\n\nexport type JobLog = {\n completedAt: string\n error?: unknown\n executedAt: string\n /**\n * ID added by the array field when the log is saved in the database\n */\n id: string\n input?: Record<string, any>\n output?: Record<string, any>\n /**\n * Sub-tasks (tasks that are run within a task) will have a parent task ID\n */\n parent?: TaskParent\n state: 'failed' | 'succeeded'\n taskID: string\n taskSlug: TaskType\n}\n\n/**\n * @deprecated - will be made private in 4.0. Please use the `Job` type instead.\n */\nexport type BaseJob<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = {\n completedAt?: null | string\n /**\n * Used for concurrency control. Jobs with the same key are subject to exclusive/supersedes rules.\n */\n concurrencyKey?: null | string\n createdAt: string\n error?: unknown\n hasError?: boolean\n id: number | string\n input: TWorkflowSlugOrInput extends false\n ? object\n : TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n log?: JobLog[]\n meta?: {\n [key: string]: unknown\n /**\n * If true, this job was queued by the scheduling system.\n */\n scheduled?: boolean\n }\n processing?: boolean\n queue?: string\n taskSlug?: null | TaskType\n taskStatus: JobTaskStatus\n totalTried: number\n updatedAt: string\n waitUntil?: null | string\n workflowSlug?: null | WorkflowTypes\n}\n\n/**\n * @todo rename to WorkflowSlug in 4.0, similar to CollectionSlug\n */\nexport type WorkflowTypes = StringKeyOf<TypedJobs['workflows']>\n\n/**\n * @deprecated - will be removed in 4.0. Use `Job` type instead.\n */\nexport type RunningJob<TWorkflowSlugOrInput extends keyof TypedJobs['workflows'] | object> = {\n input: TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n taskStatus: JobTaskStatus\n} & Omit<TypedCollection['payload-jobs'], 'input' | 'taskStatus'>\n\n/**\n * @deprecated - will be removed in 4.0. Use `Job` type instead.\n */\nexport type RunningJobSimple<TWorkflowInput extends object> = {\n input: TWorkflowInput\n} & TypedCollection['payload-jobs']\n\n// Simplified version of RunningJob that doesn't break TypeScript (TypeScript seems to stop evaluating RunningJob when it's too complex)\nexport type RunningJobFromTask<TTaskSlug extends keyof TypedJobs['tasks']> = {\n input: TypedJobs['tasks'][TTaskSlug]['input']\n} & TypedCollection['payload-jobs']\n\nexport type WorkflowHandler<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = (args: {\n inlineTask: RunInlineTaskFunction\n job: Job<TWorkflowSlugOrInput>\n req: PayloadRequest\n tasks: RunTaskFunctions\n}) => MaybePromise<void>\n\nexport type SingleTaskStatus<T extends keyof TypedJobs['tasks']> = {\n complete: boolean\n input: TaskInput<T>\n output: TaskOutput<T>\n taskSlug: TaskType\n totalTried: number\n}\n\n/**\n * Task IDs mapped to their status\n */\nexport type JobTaskStatus = {\n // Wrap in taskSlug to improve typing\n [taskSlug in TaskType]: {\n [taskID: string]: SingleTaskStatus<taskSlug>\n }\n}\n\n/**\n * Concurrency configuration for workflows and tasks.\n * Controls how jobs with the same concurrency key are handled.\n */\nexport type ConcurrencyConfig<TInput = object> =\n | ((args: { input: TInput }) => string)\n // Shorthand: key function only, exclusive defaults to true\n | {\n /**\n * Only one job with this key can run at a time.\n * Other jobs with the same key remain queued until the running job completes.\n * @default true\n */\n exclusive?: boolean\n /**\n * Function that returns a key to group related jobs.\n * Jobs with the same key are subject to concurrency rules.\n */\n key: (args: { input: TInput }) => string\n }\n\nexport type WorkflowConfig<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = {\n /**\n * Job concurrency controls for preventing race conditions.\n *\n * Can be an object with full options, or a shorthand function that just returns the key\n * (in which case exclusive defaults to true).\n */\n concurrency?: ConcurrencyConfig<\n TWorkflowSlugOrInput extends false\n ? object\n : TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n >\n /**\n * You can either pass a string-based path to the workflow function file, or the workflow function itself.\n *\n * If you are using large dependencies within your workflow control flow, you might prefer to pass the string path\n * because that will avoid bundling large dependencies in your Next.js app. Passing a string path is an advanced feature\n * that may require a sophisticated build pipeline in order to work.\n */\n handler:\n | string\n | WorkflowHandler<TWorkflowSlugOrInput>\n | WorkflowJSON<TWorkflowSlugOrInput extends object ? string : TWorkflowSlugOrInput>\n /**\n * Define the input field schema - payload will generate a type for this schema.\n */\n inputSchema?: Field[]\n /**\n * You can use interfaceName to change the name of the interface that is generated for this workflow. By default, this is \"Workflow\" + the capitalized workflow slug.\n */\n interfaceName?: string\n /**\n * Define a human-friendly label for this workflow.\n */\n label?: string\n /**\n * Optionally, define the default queue name that this workflow should be tied to.\n * Defaults to \"default\".\n * Can be overridden when queuing jobs via Local API.\n */\n queue?: string\n /**\n * You can define `retries` on the workflow level, which will enforce that the workflow can only fail up to that number of retries. If a task does not have retries specified, it will inherit the retry count as specified on the workflow.\n *\n * You can specify `0` as `workflow` retries, which will disregard all `task` retry specifications and fail the entire workflow on any task failure.\n * You can leave `workflow` retries as undefined, in which case, the workflow will respect what each task dictates as their own retry count.\n *\n * @default undefined. By default, workflows retries are defined by their tasks\n */\n retries?: number | RetryConfig | undefined\n /**\n * Allows automatically scheduling this workflow to run regularly at a specified interval.\n */\n schedule?: ScheduleConfig[]\n /**\n * Define a slug-based name for this job.\n */\n slug: TWorkflowSlugOrInput extends keyof TypedJobs['workflows'] ? TWorkflowSlugOrInput : string\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/queues/config/types/workflowTypes.ts"],"sourcesContent":["import type { Field } from '../../../fields/config/types.js'\nimport type {\n Job,\n MaybePromise,\n PayloadRequest,\n StringKeyOf,\n TypedCollection,\n TypedJobs,\n} from '../../../index.js'\nimport type { TaskParent } from '../../operations/runJobs/runJob/getRunTaskFunction.js'\nimport type { ScheduleConfig } from './index.js'\nimport type {\n RetryConfig,\n RunInlineTaskFunction,\n RunTaskFunctions,\n TaskInput,\n TaskOutput,\n TaskType,\n} from './taskTypes.js'\nimport type { WorkflowJSON } from './workflowJSONTypes.js'\n\nexport type JobLog = {\n completedAt: string\n error?: unknown\n executedAt: string\n /**\n * ID added by the array field when the log is saved in the database\n */\n id: string\n input?: Record<string, any>\n output?: Record<string, any>\n /**\n * Sub-tasks (tasks that are run within a task) will have a parent task ID\n */\n parent?: TaskParent\n state: 'failed' | 'succeeded'\n taskID: string\n taskSlug: TaskType\n}\n\n/**\n * @deprecated - will be made private in 4.0. Please use the `Job` type instead.\n */\nexport type BaseJob<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = {\n completedAt?: null | string\n /**\n * Used for concurrency control. Jobs with the same key are subject to exclusive/supersedes rules.\n */\n concurrencyKey?: null | string\n createdAt: string\n error?: unknown\n hasError?: boolean\n id: number | string\n input: TWorkflowSlugOrInput extends false\n ? object\n : TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n log?: JobLog[]\n meta?: {\n [key: string]: unknown\n /**\n * If true, this job was queued by the scheduling system.\n */\n scheduled?: boolean\n }\n processing?: boolean\n queue?: string\n taskSlug?: null | TaskType\n taskStatus: JobTaskStatus\n totalTried: number\n updatedAt: string\n waitUntil?: null | string\n workflowSlug?: null | WorkflowTypes\n}\n\n/**\n * @todo rename to WorkflowSlug in 4.0, similar to CollectionSlug\n */\nexport type WorkflowTypes = StringKeyOf<TypedJobs['workflows']>\n\n/**\n * @deprecated - will be removed in 4.0. Use `Job` type instead.\n */\nexport type RunningJob<TWorkflowSlugOrInput extends keyof TypedJobs['workflows'] | object> = {\n input: TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n taskStatus: JobTaskStatus\n} & Omit<TypedCollection['payload-jobs'], 'input' | 'taskStatus'>\n\n/**\n * @deprecated - will be removed in 4.0. Use `Job` type instead.\n */\nexport type RunningJobSimple<TWorkflowInput extends object> = {\n input: TWorkflowInput\n} & TypedCollection['payload-jobs']\n\n// Simplified version of RunningJob that doesn't break TypeScript (TypeScript seems to stop evaluating RunningJob when it's too complex)\nexport type RunningJobFromTask<TTaskSlug extends keyof TypedJobs['tasks']> = {\n input: TypedJobs['tasks'][TTaskSlug]['input']\n} & TypedCollection['payload-jobs']\n\nexport type WorkflowHandler<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = (args: {\n inlineTask: RunInlineTaskFunction\n job: Job<TWorkflowSlugOrInput>\n req: PayloadRequest\n tasks: RunTaskFunctions\n}) => MaybePromise<void>\n\nexport type SingleTaskStatus<T extends keyof TypedJobs['tasks']> = {\n complete: boolean\n input: TaskInput<T>\n output: TaskOutput<T>\n taskSlug: TaskType\n totalTried: number\n}\n\n/**\n * Task IDs mapped to their status\n */\nexport type JobTaskStatus = {\n // Wrap in taskSlug to improve typing\n [taskSlug in TaskType]: {\n [taskID: string]: SingleTaskStatus<taskSlug>\n }\n}\n\n/**\n * Concurrency configuration for workflows and tasks.\n * Controls how jobs with the same concurrency key are handled.\n */\nexport type ConcurrencyConfig<TInput = object> =\n | ((args: { input: TInput; queue: string }) => string)\n // Shorthand: key function only, exclusive defaults to true\n | {\n /**\n * Only one job with this key can run at a time.\n * Other jobs with the same key remain queued until the running job completes.\n * @default true\n */\n exclusive?: boolean\n /**\n * Function that returns a key to group related jobs.\n * Jobs with the same key are subject to concurrency rules.\n * The queue name is provided to allow for queue-specific concurrency keys if needed.\n */\n key: (args: { input: TInput; queue: string }) => string\n }\n\nexport type WorkflowConfig<\n TWorkflowSlugOrInput extends false | keyof TypedJobs['workflows'] | object = false,\n> = {\n /**\n * Job concurrency controls for preventing race conditions.\n *\n * Can be an object with full options, or a shorthand function that just returns the key\n * (in which case exclusive defaults to true).\n */\n concurrency?: ConcurrencyConfig<\n TWorkflowSlugOrInput extends false\n ? object\n : TWorkflowSlugOrInput extends keyof TypedJobs['workflows']\n ? TypedJobs['workflows'][TWorkflowSlugOrInput]['input']\n : TWorkflowSlugOrInput\n >\n /**\n * You can either pass a string-based path to the workflow function file, or the workflow function itself.\n *\n * If you are using large dependencies within your workflow control flow, you might prefer to pass the string path\n * because that will avoid bundling large dependencies in your Next.js app. Passing a string path is an advanced feature\n * that may require a sophisticated build pipeline in order to work.\n */\n handler:\n | string\n | WorkflowHandler<TWorkflowSlugOrInput>\n | WorkflowJSON<TWorkflowSlugOrInput extends object ? string : TWorkflowSlugOrInput>\n /**\n * Define the input field schema - payload will generate a type for this schema.\n */\n inputSchema?: Field[]\n /**\n * You can use interfaceName to change the name of the interface that is generated for this workflow. By default, this is \"Workflow\" + the capitalized workflow slug.\n */\n interfaceName?: string\n /**\n * Define a human-friendly label for this workflow.\n */\n label?: string\n /**\n * Optionally, define the default queue name that this workflow should be tied to.\n * Defaults to \"default\".\n * Can be overridden when queuing jobs via Local API.\n */\n queue?: string\n /**\n * You can define `retries` on the workflow level, which will enforce that the workflow can only fail up to that number of retries. If a task does not have retries specified, it will inherit the retry count as specified on the workflow.\n *\n * You can specify `0` as `workflow` retries, which will disregard all `task` retry specifications and fail the entire workflow on any task failure.\n * You can leave `workflow` retries as undefined, in which case, the workflow will respect what each task dictates as their own retry count.\n *\n * @default undefined. By default, workflows retries are defined by their tasks\n */\n retries?: number | RetryConfig | undefined\n /**\n * Allows automatically scheduling this workflow to run regularly at a specified interval.\n */\n schedule?: ScheduleConfig[]\n /**\n * Define a slug-based name for this job.\n */\n slug: TWorkflowSlugOrInput extends keyof TypedJobs['workflows'] ? TWorkflowSlugOrInput : string\n}\n"],"names":[],"mappings":"AA0JA,WA8DC"}
|
|
@@ -35,6 +35,12 @@ export declare const getJobsLocalAPI: (payload: Payload) => {
|
|
|
35
35
|
* @default true
|
|
36
36
|
*/
|
|
37
37
|
overrideAccess?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The queue to add the job to.
|
|
40
|
+
* If not specified, the job will be added to the default queue.
|
|
41
|
+
*
|
|
42
|
+
* @default 'default'
|
|
43
|
+
*/
|
|
38
44
|
queue?: string;
|
|
39
45
|
req?: PayloadRequest;
|
|
40
46
|
task: TTaskOrWorkflowSlug extends keyof TypedJobs["tasks"] ? TTaskOrWorkflowSlug : never;
|
|
@@ -52,6 +58,12 @@ export declare const getJobsLocalAPI: (payload: Payload) => {
|
|
|
52
58
|
* @default true
|
|
53
59
|
*/
|
|
54
60
|
overrideAccess?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The queue to add the job to.
|
|
63
|
+
* If not specified, the job will be added to the default queue.
|
|
64
|
+
*
|
|
65
|
+
* @default 'default'
|
|
66
|
+
*/
|
|
55
67
|
queue?: string;
|
|
56
68
|
req?: PayloadRequest;
|
|
57
69
|
task?: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localAPI.d.ts","sourceRoot":"","sources":["../../src/queues/localAPI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAElF,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,KAAK,EACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAGvD,MAAM,MAAM,aAAa,GACrB;IACE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GACD,OAAO,CAAA;AACX,eAAO,MAAM,eAAe,YAAa,OAAO;6BACf;QAC7B;;;;;WAKG;QACH,SAAS,CAAC,EAAE,OAAO,CAAA;QAInB;;;;WAIG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,cAAc,CAAA;KACrB,KAAG,OAAO,CAAC,qBAAqB,CAAC;YAWhC,mBAAmB,SAAS,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,QAG/E;QACE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB;;;;;;;WAOG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,cAAc,CAAA;QACpB,IAAI,EAAE,mBAAmB,SAAS,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,mBAAmB,GAAG,KAAK,CAAA;QACxF,SAAS,CAAC,EAAE,IAAI,CAAA;QAChB,QAAQ,CAAC,EAAE,KAAK,CAAA;KACjB,GACD;QACE,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB;;;;;;;WAOG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,GAAG,CAAC,EAAE,cAAc,CAAA;QACpB,IAAI,CAAC,EAAE,KAAK,CAAA;QACZ,SAAS,CAAC,EAAE,IAAI,CAAA;QAChB,QAAQ,EAAE,mBAAmB,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,GAC9D,mBAAmB,GACnB,KAAK,CAAA;KACV,KACJ,OAAO,CACR,mBAAmB,SAAS,MAAM,SAAS,CAAC,WAAW,CAAC,GACpD,GAAG,CAAC,mBAAmB,CAAC,GACxB,kBAAkB,CAAC,mBAAmB,CAAC,CAC5C;
|
|
1
|
+
{"version":3,"file":"localAPI.d.ts","sourceRoot":"","sources":["../../src/queues/localAPI.ts"],"names":[],"mappings":"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"}
|
package/dist/queues/localAPI.js
CHANGED
|
@@ -59,17 +59,20 @@ export const getJobsLocalAPI = (payload)=>({
|
|
|
59
59
|
// Compute concurrency key from workflow or task config (only if feature is enabled)
|
|
60
60
|
if (payload.config.jobs?.enableConcurrencyControl) {
|
|
61
61
|
let concurrencyKey = null;
|
|
62
|
+
const queueName = queue || 'default';
|
|
62
63
|
if (args.workflow) {
|
|
63
64
|
const workflow = payload.config.jobs?.workflows?.find(({ slug })=>slug === args.workflow);
|
|
64
65
|
if (workflow?.concurrency) {
|
|
65
66
|
const concurrencyConfig = workflow.concurrency;
|
|
66
67
|
if (typeof concurrencyConfig === 'function') {
|
|
67
68
|
concurrencyKey = concurrencyConfig({
|
|
68
|
-
input: args.input
|
|
69
|
+
input: args.input,
|
|
70
|
+
queue: queueName
|
|
69
71
|
});
|
|
70
72
|
} else {
|
|
71
73
|
concurrencyKey = concurrencyConfig.key({
|
|
72
|
-
input: args.input
|
|
74
|
+
input: args.input,
|
|
75
|
+
queue: queueName
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
}
|
|
@@ -79,11 +82,13 @@ export const getJobsLocalAPI = (payload)=>({
|
|
|
79
82
|
const concurrencyConfig = task.concurrency;
|
|
80
83
|
if (typeof concurrencyConfig === 'function') {
|
|
81
84
|
concurrencyKey = concurrencyConfig({
|
|
82
|
-
input: args.input
|
|
85
|
+
input: args.input,
|
|
86
|
+
queue: queueName
|
|
83
87
|
});
|
|
84
88
|
} else {
|
|
85
89
|
concurrencyKey = concurrencyConfig.key({
|
|
86
|
-
input: args.input
|
|
90
|
+
input: args.input,
|
|
91
|
+
queue: queueName
|
|
87
92
|
});
|
|
88
93
|
}
|
|
89
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queues/localAPI.ts"],"sourcesContent":["import type { BaseJob, RunningJobFromTask } from './config/types/workflowTypes.js'\n\nimport {\n createLocalReq,\n Forbidden,\n type Job,\n type Payload,\n type PayloadRequest,\n type Sort,\n type TypedJobs,\n type Where,\n} from '../index.js'\nimport { jobAfterRead, jobsCollectionSlug } from './config/collection.js'\nimport { handleSchedules, type HandleSchedulesResult } from './operations/handleSchedules/index.js'\nimport { runJobs } from './operations/runJobs/index.js'\nimport { updateJob, updateJobs } from './utilities/updateJob.js'\n\nexport type RunJobsSilent =\n | {\n error?: boolean\n info?: boolean\n }\n | boolean\nexport const getJobsLocalAPI = (payload: Payload) => ({\n handleSchedules: async (args?: {\n /**\n * If you want to schedule 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 // By default, schedule all queues - only scheduling jobs scheduled to be added to the `default` queue would not make sense\n // here, as you'd usually specify a different queue than `default` here, especially if this is used in combination with autorun.\n // The `queue` property for setting up schedules is required, and not optional.\n /**\n * If you want to only schedule jobs that are set to schedule in 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 }): Promise<HandleSchedulesResult> => {\n const newReq: PayloadRequest = args?.req ?? (await createLocalReq({}, payload))\n\n return await handleSchedules({\n allQueues: args?.allQueues,\n queue: args?.queue,\n req: newReq,\n })\n },\n queue: async <\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TTaskOrWorkflowSlug extends keyof TypedJobs['tasks'] | keyof TypedJobs['workflows'],\n >(\n args:\n | {\n input: TypedJobs['tasks'][TTaskOrWorkflowSlug]['input']\n meta?: BaseJob['meta']\n /**\n * If set to false, access control as defined in jobsConfig.access.queue will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.queue defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n queue?: string\n req?: PayloadRequest\n task: TTaskOrWorkflowSlug extends keyof TypedJobs['tasks'] ? TTaskOrWorkflowSlug : never\n waitUntil?: Date\n workflow?: never\n }\n | {\n input: TypedJobs['workflows'][TTaskOrWorkflowSlug]['input']\n meta?: BaseJob['meta']\n /**\n * If set to false, access control as defined in jobsConfig.access.queue will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.queue defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n queue?: string\n req?: PayloadRequest\n task?: never\n waitUntil?: Date\n workflow: TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? TTaskOrWorkflowSlug\n : never\n },\n ): Promise<\n TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? Job<TTaskOrWorkflowSlug>\n : RunningJobFromTask<TTaskOrWorkflowSlug>\n > => {\n const overrideAccess = args?.overrideAccess !== false\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.queue will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.queue ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n let queue: string | undefined = undefined\n\n // If user specifies queue, use that\n if (args.queue) {\n queue = args.queue\n } else if (args.workflow) {\n // Otherwise, if there is a workflow specified, and it has a default queue to use,\n // use that\n const workflow = payload.config.jobs?.workflows?.find(({ slug }) => slug === args.workflow)\n if (workflow?.queue) {\n queue = workflow.queue\n }\n }\n\n const data: Partial<Job> = {\n input: args.input,\n }\n\n if (queue) {\n data.queue = queue\n }\n if (args.waitUntil) {\n data.waitUntil = args.waitUntil?.toISOString()\n }\n if (args.workflow) {\n data.workflowSlug = args.workflow as string\n }\n if (args.task) {\n data.taskSlug = args.task as string\n }\n\n if (args.meta) {\n data.meta = args.meta\n }\n\n // Compute concurrency key from workflow or task config (only if feature is enabled)\n if (payload.config.jobs?.enableConcurrencyControl) {\n let concurrencyKey: null | string = null\n\n if (args.workflow) {\n const workflow = payload.config.jobs?.workflows?.find(({ slug }) => slug === args.workflow)\n if (workflow?.concurrency) {\n const concurrencyConfig = workflow.concurrency\n if (typeof concurrencyConfig === 'function') {\n concurrencyKey = concurrencyConfig({ input: args.input })\n } else {\n concurrencyKey = concurrencyConfig.key({ input: args.input })\n }\n }\n } else if (args.task) {\n const task = payload.config.jobs?.tasks?.find(({ slug }) => slug === args.task)\n if (task?.concurrency) {\n const concurrencyConfig = task.concurrency\n if (typeof concurrencyConfig === 'function') {\n concurrencyKey = concurrencyConfig({ input: args.input })\n } else {\n concurrencyKey = concurrencyConfig.key({ input: args.input })\n }\n }\n }\n\n if (concurrencyKey) {\n data.concurrencyKey = concurrencyKey\n }\n }\n\n type ReturnType = TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? Job<TTaskOrWorkflowSlug>\n : RunningJobFromTask<TTaskOrWorkflowSlug> // Type assertion is still needed here\n\n if (payload?.config?.jobs?.depth || payload?.config?.jobs?.runHooks) {\n return (await payload.create({\n collection: jobsCollectionSlug,\n data,\n depth: payload.config.jobs.depth ?? 0,\n overrideAccess,\n req,\n })) as ReturnType\n } else {\n return jobAfterRead({\n config: payload.config,\n doc: await payload.db.create({\n collection: jobsCollectionSlug,\n data,\n req,\n }),\n }) as unknown as ReturnType\n }\n },\n\n run: async (args?: {\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 * The maximum number of jobs to run in this invocation\n *\n * @default 10\n */\n limit?: number\n /**\n * If set to false, access control as defined in jobsConfig.access.run will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.run defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n /**\n * Adjust the job processing order using a Payload sort string.\n *\n * FIFO would equal `createdAt` and LIFO would equal `-createdAt`.\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 }): Promise<ReturnType<typeof runJobs>> => {\n const newReq: PayloadRequest = args?.req ?? (await createLocalReq({}, payload))\n\n return await runJobs({\n allQueues: args?.allQueues,\n limit: args?.limit,\n overrideAccess: args?.overrideAccess !== false,\n processingOrder: args?.processingOrder,\n queue: args?.queue,\n req: newReq,\n sequential: args?.sequential,\n silent: args?.silent,\n where: args?.where,\n })\n },\n\n runByID: async (args: {\n id: number | string\n /**\n * If set to false, access control as defined in jobsConfig.access.run will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.run defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\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 }): Promise<ReturnType<typeof runJobs>> => {\n const newReq: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n return await runJobs({\n id: args.id,\n overrideAccess: args.overrideAccess !== false,\n req: newReq,\n silent: args.silent,\n })\n },\n\n cancel: async (args: {\n /**\n * If set to false, access control as defined in jobsConfig.access.cancel will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.cancel defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n queue?: string\n req?: PayloadRequest\n where: Where\n }): Promise<void> => {\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n const overrideAccess = args.overrideAccess !== false\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.cancel will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.cancel ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n const and: Where[] = [\n args.where,\n {\n completedAt: {\n exists: false,\n },\n },\n {\n hasError: {\n not_equals: true,\n },\n },\n ]\n\n if (args.queue) {\n and.push({\n queue: {\n equals: args.queue,\n },\n })\n }\n\n await updateJobs({\n data: {\n completedAt: null,\n error: {\n cancelled: true,\n },\n hasError: true,\n processing: false,\n waitUntil: null,\n },\n depth: 0, // No depth, since we're not returning\n disableTransaction: true,\n req,\n returning: false,\n where: { and },\n })\n },\n\n cancelByID: async (args: {\n id: number | string\n /**\n * If set to false, access control as defined in jobsConfig.access.cancel will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.cancel defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n req?: PayloadRequest\n }): Promise<void> => {\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n const overrideAccess = args.overrideAccess !== false\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.cancel will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.cancel ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n await updateJob({\n id: args.id,\n data: {\n completedAt: null,\n error: {\n cancelled: true,\n },\n hasError: true,\n processing: false,\n waitUntil: null,\n },\n depth: 0, // No depth, since we're not returning\n disableTransaction: true,\n req,\n returning: false,\n })\n },\n})\n"],"names":["createLocalReq","Forbidden","jobAfterRead","jobsCollectionSlug","handleSchedules","runJobs","updateJob","updateJobs","getJobsLocalAPI","payload","args","newReq","req","allQueues","queue","overrideAccess","accessFn","config","jobs","access","hasAccess","t","undefined","workflow","workflows","find","slug","data","input","waitUntil","toISOString","workflowSlug","task","taskSlug","meta","enableConcurrencyControl","concurrencyKey","concurrency","concurrencyConfig","key","tasks","depth","runHooks","create","collection","doc","db","run","limit","processingOrder","sequential","silent","where","runByID","id","cancel","and","completedAt","exists","hasError","not_equals","push","equals","error","cancelled","processing","disableTransaction","returning","cancelByID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/queues/localAPI.ts"],"sourcesContent":["import type { BaseJob, RunningJobFromTask } from './config/types/workflowTypes.js'\n\nimport {\n createLocalReq,\n Forbidden,\n type Job,\n type Payload,\n type PayloadRequest,\n type Sort,\n type TypedJobs,\n type Where,\n} from '../index.js'\nimport { jobAfterRead, jobsCollectionSlug } from './config/collection.js'\nimport { handleSchedules, type HandleSchedulesResult } from './operations/handleSchedules/index.js'\nimport { runJobs } from './operations/runJobs/index.js'\nimport { updateJob, updateJobs } from './utilities/updateJob.js'\n\nexport type RunJobsSilent =\n | {\n error?: boolean\n info?: boolean\n }\n | boolean\nexport const getJobsLocalAPI = (payload: Payload) => ({\n handleSchedules: async (args?: {\n /**\n * If you want to schedule 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 // By default, schedule all queues - only scheduling jobs scheduled to be added to the `default` queue would not make sense\n // here, as you'd usually specify a different queue than `default` here, especially if this is used in combination with autorun.\n // The `queue` property for setting up schedules is required, and not optional.\n /**\n * If you want to only schedule jobs that are set to schedule in 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 }): Promise<HandleSchedulesResult> => {\n const newReq: PayloadRequest = args?.req ?? (await createLocalReq({}, payload))\n\n return await handleSchedules({\n allQueues: args?.allQueues,\n queue: args?.queue,\n req: newReq,\n })\n },\n queue: async <\n // eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents\n TTaskOrWorkflowSlug extends keyof TypedJobs['tasks'] | keyof TypedJobs['workflows'],\n >(\n args:\n | {\n input: TypedJobs['tasks'][TTaskOrWorkflowSlug]['input']\n meta?: BaseJob['meta']\n /**\n * If set to false, access control as defined in jobsConfig.access.queue will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.queue defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n /**\n * The queue to add the job to.\n * If not specified, the job will be added to the default queue.\n *\n * @default 'default'\n */\n queue?: string\n req?: PayloadRequest\n task: TTaskOrWorkflowSlug extends keyof TypedJobs['tasks'] ? TTaskOrWorkflowSlug : never\n waitUntil?: Date\n workflow?: never\n }\n | {\n input: TypedJobs['workflows'][TTaskOrWorkflowSlug]['input']\n meta?: BaseJob['meta']\n /**\n * If set to false, access control as defined in jobsConfig.access.queue will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.queue defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n /**\n * The queue to add the job to.\n * If not specified, the job will be added to the default queue.\n *\n * @default 'default'\n */\n queue?: string\n req?: PayloadRequest\n task?: never\n waitUntil?: Date\n workflow: TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? TTaskOrWorkflowSlug\n : never\n },\n ): Promise<\n TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? Job<TTaskOrWorkflowSlug>\n : RunningJobFromTask<TTaskOrWorkflowSlug>\n > => {\n const overrideAccess = args?.overrideAccess !== false\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.queue will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.queue ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n let queue: string | undefined = undefined\n\n // If user specifies queue, use that\n if (args.queue) {\n queue = args.queue\n } else if (args.workflow) {\n // Otherwise, if there is a workflow specified, and it has a default queue to use,\n // use that\n const workflow = payload.config.jobs?.workflows?.find(({ slug }) => slug === args.workflow)\n if (workflow?.queue) {\n queue = workflow.queue\n }\n }\n\n const data: Partial<Job> = {\n input: args.input,\n }\n\n if (queue) {\n data.queue = queue\n }\n if (args.waitUntil) {\n data.waitUntil = args.waitUntil?.toISOString()\n }\n if (args.workflow) {\n data.workflowSlug = args.workflow as string\n }\n if (args.task) {\n data.taskSlug = args.task as string\n }\n\n if (args.meta) {\n data.meta = args.meta\n }\n\n // Compute concurrency key from workflow or task config (only if feature is enabled)\n if (payload.config.jobs?.enableConcurrencyControl) {\n let concurrencyKey: null | string = null\n const queueName = queue || 'default'\n\n if (args.workflow) {\n const workflow = payload.config.jobs?.workflows?.find(({ slug }) => slug === args.workflow)\n if (workflow?.concurrency) {\n const concurrencyConfig = workflow.concurrency\n if (typeof concurrencyConfig === 'function') {\n concurrencyKey = concurrencyConfig({ input: args.input, queue: queueName })\n } else {\n concurrencyKey = concurrencyConfig.key({ input: args.input, queue: queueName })\n }\n }\n } else if (args.task) {\n const task = payload.config.jobs?.tasks?.find(({ slug }) => slug === args.task)\n if (task?.concurrency) {\n const concurrencyConfig = task.concurrency\n if (typeof concurrencyConfig === 'function') {\n concurrencyKey = concurrencyConfig({ input: args.input, queue: queueName })\n } else {\n concurrencyKey = concurrencyConfig.key({ input: args.input, queue: queueName })\n }\n }\n }\n\n if (concurrencyKey) {\n data.concurrencyKey = concurrencyKey\n }\n }\n\n type ReturnType = TTaskOrWorkflowSlug extends keyof TypedJobs['workflows']\n ? Job<TTaskOrWorkflowSlug>\n : RunningJobFromTask<TTaskOrWorkflowSlug> // Type assertion is still needed here\n\n if (payload?.config?.jobs?.depth || payload?.config?.jobs?.runHooks) {\n return (await payload.create({\n collection: jobsCollectionSlug,\n data,\n depth: payload.config.jobs.depth ?? 0,\n overrideAccess,\n req,\n })) as ReturnType\n } else {\n return jobAfterRead({\n config: payload.config,\n doc: await payload.db.create({\n collection: jobsCollectionSlug,\n data,\n req,\n }),\n }) as unknown as ReturnType\n }\n },\n\n run: async (args?: {\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 * The maximum number of jobs to run in this invocation\n *\n * @default 10\n */\n limit?: number\n /**\n * If set to false, access control as defined in jobsConfig.access.run will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.run defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n /**\n * Adjust the job processing order using a Payload sort string.\n *\n * FIFO would equal `createdAt` and LIFO would equal `-createdAt`.\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 }): Promise<ReturnType<typeof runJobs>> => {\n const newReq: PayloadRequest = args?.req ?? (await createLocalReq({}, payload))\n\n return await runJobs({\n allQueues: args?.allQueues,\n limit: args?.limit,\n overrideAccess: args?.overrideAccess !== false,\n processingOrder: args?.processingOrder,\n queue: args?.queue,\n req: newReq,\n sequential: args?.sequential,\n silent: args?.silent,\n where: args?.where,\n })\n },\n\n runByID: async (args: {\n id: number | string\n /**\n * If set to false, access control as defined in jobsConfig.access.run will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.run defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\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 }): Promise<ReturnType<typeof runJobs>> => {\n const newReq: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n return await runJobs({\n id: args.id,\n overrideAccess: args.overrideAccess !== false,\n req: newReq,\n silent: args.silent,\n })\n },\n\n cancel: async (args: {\n /**\n * If set to false, access control as defined in jobsConfig.access.cancel will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.cancel defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n queue?: string\n req?: PayloadRequest\n where: Where\n }): Promise<void> => {\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n const overrideAccess = args.overrideAccess !== false\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.cancel will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.cancel ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n const and: Where[] = [\n args.where,\n {\n completedAt: {\n exists: false,\n },\n },\n {\n hasError: {\n not_equals: true,\n },\n },\n ]\n\n if (args.queue) {\n and.push({\n queue: {\n equals: args.queue,\n },\n })\n }\n\n await updateJobs({\n data: {\n completedAt: null,\n error: {\n cancelled: true,\n },\n hasError: true,\n processing: false,\n waitUntil: null,\n },\n depth: 0, // No depth, since we're not returning\n disableTransaction: true,\n req,\n returning: false,\n where: { and },\n })\n },\n\n cancelByID: async (args: {\n id: number | string\n /**\n * If set to false, access control as defined in jobsConfig.access.cancel will be run.\n * By default, this is true and no access control will be run.\n * If you set this to false and do not have jobsConfig.access.cancel defined, the default access control will be\n * run (which is a function that returns `true` if the user is logged in).\n *\n * @default true\n */\n overrideAccess?: boolean\n req?: PayloadRequest\n }): Promise<void> => {\n const req: PayloadRequest = args.req ?? (await createLocalReq({}, payload))\n\n const overrideAccess = args.overrideAccess !== false\n if (!overrideAccess) {\n /**\n * By default, jobsConfig.access.cancel will be `defaultAccess` which is a function that returns `true` if the user is logged in.\n */\n const accessFn = payload.config.jobs?.access?.cancel ?? (() => true)\n const hasAccess = await accessFn({ req })\n if (!hasAccess) {\n throw new Forbidden(req.t)\n }\n }\n\n await updateJob({\n id: args.id,\n data: {\n completedAt: null,\n error: {\n cancelled: true,\n },\n hasError: true,\n processing: false,\n waitUntil: null,\n },\n depth: 0, // No depth, since we're not returning\n disableTransaction: true,\n req,\n returning: false,\n })\n },\n})\n"],"names":["createLocalReq","Forbidden","jobAfterRead","jobsCollectionSlug","handleSchedules","runJobs","updateJob","updateJobs","getJobsLocalAPI","payload","args","newReq","req","allQueues","queue","overrideAccess","accessFn","config","jobs","access","hasAccess","t","undefined","workflow","workflows","find","slug","data","input","waitUntil","toISOString","workflowSlug","task","taskSlug","meta","enableConcurrencyControl","concurrencyKey","queueName","concurrency","concurrencyConfig","key","tasks","depth","runHooks","create","collection","doc","db","run","limit","processingOrder","sequential","silent","where","runByID","id","cancel","and","completedAt","exists","hasError","not_equals","push","equals","error","cancelled","processing","disableTransaction","returning","cancelByID"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/queues/operations/runJobs/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,IAAI,CAAA;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACxC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,OAAO,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/queues/operations/runJobs/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,IAAI,CAAA;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,cAAc,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACxC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,wBAAwB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,OAAO,SAAgB,WAAW,KAAG,OAAO,CAAC,aAAa,CA0ctE,CAAA"}
|
|
@@ -68,7 +68,8 @@ export const runJobs = async (args)=>{
|
|
|
68
68
|
// Jobs with the same concurrencyKey should not run in parallel
|
|
69
69
|
const runningJobsWithConcurrency = await payload.db.find({
|
|
70
70
|
collection: jobsCollectionSlug,
|
|
71
|
-
limit:
|
|
71
|
+
limit: 0,
|
|
72
|
+
pagination: false,
|
|
72
73
|
req: {
|
|
73
74
|
transactionID: undefined
|
|
74
75
|
},
|
|
@@ -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: 1000,\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 depth: jobsConfig.depth,\n disableTransaction: true,\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 depth: jobsConfig.depth,\n disableTransaction: true,\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 disableTransaction: true,\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 /**\n * Just for logging purposes, we want to know how many jobs are new and how many are existing (= already been tried).\n * This is only for logs - in the end we still want to run all jobs, regardless of whether they are new or existing.\n */\n const { existingJobs, newJobs } = jobs.reduce(\n (acc, job) => {\n if (job.totalTried > 0) {\n acc.existingJobs.push(job)\n } else {\n acc.newJobs.push(job)\n }\n return acc\n },\n { existingJobs: [] as Job[], newJobs: [] as Job[] },\n )\n\n if (!silent || (typeof silent === 'object' && !silent.info)) {\n payload.logger.info({\n msg: `Running ${jobs.length} jobs.`,\n new: newJobs?.length,\n retrying: existingJobs?.length,\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 const workflowConfig: WorkflowConfig =\n job.workflowSlug && jobsConfig.workflows?.length\n ? jobsConfig.workflows.find(({ slug }) => slug === job.workflowSlug)!\n : {\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 if (!workflowConfig) {\n return {\n id: job.id,\n result: {\n status: 'error',\n },\n } // Skip jobs with no workflow configuration\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 // @ts-expect-error error is not typed\n !job.error?.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 depth: 0,\n disableTransaction: true,\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 if (jobsConfig.runHooks) {\n await payload.delete({\n collection: jobsCollectionSlug,\n depth: 0, // can be 0 since we're not returning anything\n disableTransaction: true,\n where: { id: { in: successfullyCompletedJobs } },\n })\n } else {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n where: { id: { in: successfullyCompletedJobs } },\n })\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","transactionID","undefined","select","concurrencyKey","runningConcurrencyKeys","Set","docs","doc","add","size","not_in","job","data","depth","disableTransaction","returning","defaultProcessingOrder","collections","defaultSort","processingOrderConfig","Array","isArray","queues","default","updatedDocs","sort","length","noJobsRemaining","remainingJobsFromQueried","seenConcurrencyKeys","jobsToRun","jobsToRelease","has","releaseIds","map","in","existingJobs","newJobs","reduce","acc","totalTried","info","logger","msg","new","retrying","successfullyCompletedJobs","runSingleJob","workflowSlug","taskSlug","Error","jobReq","workflowConfig","workflows","slug","handler","tasks","input","result","status","workflowHandler","jobLabel","errorMessage","error","cancelled","message","resultsArray","jobPromises","Promise","all","deleteJobOnComplete","runHooks","delete","deleteMany","err","join","resultsObject","cur","jobID","jobResult","jobStatus"],"mappings":"AAOA,SAASA,SAAS,QAAQ,+BAA8B;AACxD,SAASC,qBAAqB,QAAQ,8CAA6C;AACnF,SAASC,kBAAkB,QAAQ,6BAA4B;AAC/D,SAASC,iBAAiB,QAAQ,wBAAuB;AACzD,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,SAAS,EAAEC,UAAU,QAAQ,+BAA8B;AACpE,SAASC,oBAAoB,QAAQ,mCAAkC;AACvE,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,SAASC,UAAU,QAAQ,wBAAuB;AAiElD,OAAO,MAAMC,UAAU,OAAOC;IAC5B,MAAM,EACJC,EAAE,EACFC,YAAY,KAAK,EACjBC,QAAQ,EAAE,EACVC,cAAc,EACdC,eAAe,EACfC,QAAQ,SAAS,EACjBC,GAAG,EACHA,KAAK,EACHC,OAAO,EACPA,SAAS,EACPC,QAAQ,EAAEC,MAAMC,UAAU,EAAE,EAC7B,EACF,EACDC,UAAU,EACVC,SAAS,KAAK,EACdC,OAAOC,cAAc,EACtB,GAAGf;IAEJ,IAAI,CAACI,gBAAgB;QACnB;;KAEC,GACD,MAAMY,WAAWL,YAAYM,QAAQC,OAAQ,CAAA,IAAM,IAAG;QACtD,MAAMC,YAAY,MAAMH,SAAS;YAAET;QAAI;QACvC,IAAI,CAACY,WAAW;YACd,MAAM,IAAI/B,UAAUmB,IAAIa,CAAC;QAC3B;IACF;IACA,MAAMC,MAAe;QACnB;YACEC,aAAa;gBACXC,QAAQ;YACV;QACF;QACA;YACEC,UAAU;gBACRC,YAAY;YACd;QACF;QACA;YACEC,YAAY;gBACVC,QAAQ;YACV;QACF;QACA;YACEC,IAAI;gBACF;oBACEC,WAAW;wBACTN,QAAQ;oBACV;gBACF;gBACA;oBACEM,WAAW;wBACTC,WAAWtC,iBAAiBuC,WAAW;oBACzC;gBACF;aACD;QACH;KACD;IAED,IAAI7B,cAAc,MAAM;QACtBmB,IAAIW,IAAI,CAAC;YACP1B,OAAO;gBACLqB,QAAQrB,SAAS;YACnB;QACF;IACF;IAEA,IAAIS,gBAAgB;QAClBM,IAAIW,IAAI,CAACjB;IACX;IAEA,8DAA8D;IAC9D,IAAIJ,WAAWsB,wBAAwB,EAAE;QACvC,qFAAqF;QACrF,+DAA+D;QAC/D,MAAMC,6BAA6B,MAAM1B,QAAQ2B,EAAE,CAACC,IAAI,CAAC;YACvDC,YAAY/C;YACZa,OAAO;YACPI,KAAK;gBAAE+B,eAAeC;YAAU;YAChCC,QAAQ;gBACNC,gBAAgB;YAClB;YACA3B,OAAO;gBACLO,KAAK;oBAAC;wBAAEK,YAAY;4BAAEC,QAAQ;wBAAK;oBAAE;oBAAG;wBAAEc,gBAAgB;4BAAElB,QAAQ;wBAAK;oBAAE;iBAAE;YAC/E;QACF;QAEA,MAAMmB,yBAAyB,IAAIC;QACnC,IAAIT,4BAA4BU,MAAM;YACpC,KAAK,MAAMC,OAAOX,2BAA2BU,IAAI,CAAE;gBACjD,MAAMH,iBAAiB,AAACI,IAAYJ,cAAc;gBAClD,IAAIA,gBAAgB;oBAClBC,uBAAuBI,GAAG,CAACL;gBAC7B;YACF;QACF;QAEA,uDAAuD;QACvD,IAAIC,uBAAuBK,IAAI,GAAG,GAAG;YACnC1B,IAAIW,IAAI,CAAC;gBACPJ,IAAI;oBACF,gDAAgD;oBAChD;wBAAEa,gBAAgB;4BAAElB,QAAQ;wBAAM;oBAAE;oBACpC,oEAAoE;oBACpE;wBAAEkB,gBAAgB;4BAAEO,QAAQ;mCAAIN;6BAAuB;wBAAC;oBAAE;iBAC3D;YACH;QACF;IACF;IAEA,uGAAuG;IACvG,iDAAiD;IACjD,IAAIhC,OAAc,EAAE;IAEpB,IAAIT,IAAI;QACN,sBAAsB;QACtB,MAAMgD,MAAM,MAAMxD,UAAU;YAC1BQ;YACAiD,MAAM;gBACJxB,YAAY;YACd;YACAyB,OAAOxC,WAAWwC,KAAK;YACvBC,oBAAoB;YACpB7C;YACA8C,WAAW;QACb;QACA,IAAIJ,KAAK;YACPvC,OAAO;gBAACuC;aAAI;QACd;IACF,OAAO;QACL,IAAIK,yBACF9C,QAAQ+C,WAAW,CAACjE,mBAAmB,EAAEmB,OAAO+C,eAAe;QAEjE,MAAMC,wBAAwB9C,WAAWN,eAAe;QACxD,IAAI,OAAOoD,0BAA0B,YAAY;YAC/CH,yBAAyB,MAAMG,sBAAsBzD;QACvD,OAAO,IAAI,OAAOyD,0BAA0B,YAAY,CAACC,MAAMC,OAAO,CAACF,wBAAwB;YAC7F,IACE,CAACvD,aACDI,SACAmD,sBAAsBG,MAAM,IAC5BH,sBAAsBG,MAAM,CAACtD,MAAM,EACnC;gBACAgD,yBAAyBG,sBAAsBG,MAAM,CAACtD,MAAM;YAC9D,OAAO,IAAImD,sBAAsBI,OAAO,EAAE;gBACxCP,yBAAyBG,sBAAsBI,OAAO;YACxD;QACF,OAAO,IAAI,OAAOJ,0BAA0B,UAAU;YACpDH,yBAAyBG;QAC3B;QACA,MAAMK,cAAc,MAAMpE,WAAW;YACnCwD,MAAM;gBACJxB,YAAY;YACd;YACAyB,OAAOxC,WAAWwC,KAAK;YACvBC,oBAAoB;YACpBjD;YACAI;YACA8C,WAAW;YACXU,MAAM1D,mBAAmBiD;YACzBxC,OAAO;gBAAEO;YAAI;QACf;QAEA,IAAIyC,aAAa;YACfpD,OAAOoD;QACT;IACF;IAEA,IAAI,CAACpD,KAAKsD,MAAM,EAAE;QAChB,OAAO;YACLC,iBAAiB;YACjBC,0BAA0B;QAC5B;IACF;IAEA,kEAAkE;IAClE,IAAIvD,WAAWsB,wBAAwB,EAAE;QACvC,oGAAoG;QACpG,oFAAoF;QACpF,MAAMkC,sBAAsB,IAAIxB;QAChC,MAAMyB,YAAmB,EAAE;QAC3B,MAAMC,gBAAuB,EAAE;QAE/B,KAAK,MAAMpB,OAAOvC,KAAM;YACtB,IAAIuC,IAAIR,cAAc,EAAE;gBACtB,IAAI0B,oBAAoBG,GAAG,CAACrB,IAAIR,cAAc,GAAG;oBAC/C,4EAA4E;oBAC5E4B,cAAcrC,IAAI,CAACiB;gBACrB,OAAO;oBACLkB,oBAAoBrB,GAAG,CAACG,IAAIR,cAAc;oBAC1C2B,UAAUpC,IAAI,CAACiB;gBACjB;YACF,OAAO;gBACLmB,UAAUpC,IAAI,CAACiB;YACjB;QACF;QAEA,8DAA8D;QAC9D,IAAIoB,cAAcL,MAAM,GAAG,GAAG;YAC5B,MAAMO,aAAaF,cAAcG,GAAG,CAAC,CAACvB,MAAQA,IAAIhD,EAAE;YACpD,MAAMP,WAAW;gBACfwD,MAAM;oBAAExB,YAAY;gBAAM;gBAC1B0B,oBAAoB;gBACpB7C;gBACA8C,WAAW;gBACXvC,OAAO;oBAAEb,IAAI;wBAAEwE,IAAIF;oBAAW;gBAAE;YAClC;QACF;QAEA,2CAA2C;QAC3C7D,OAAO0D;IACT;IAEA,IAAI,CAAC1D,KAAKsD,MAAM,EAAE;QAChB,OAAO;YACLC,iBAAiB;YACjBC,0BAA0B;QAC5B;IACF;IAEA;;;GAGC,GACD,MAAM,EAAEQ,YAAY,EAAEC,OAAO,EAAE,GAAGjE,KAAKkE,MAAM,CAC3C,CAACC,KAAK5B;QACJ,IAAIA,IAAI6B,UAAU,GAAG,GAAG;YACtBD,IAAIH,YAAY,CAAC1C,IAAI,CAACiB;QACxB,OAAO;YACL4B,IAAIF,OAAO,CAAC3C,IAAI,CAACiB;QACnB;QACA,OAAO4B;IACT,GACA;QAAEH,cAAc,EAAE;QAAWC,SAAS,EAAE;IAAU;IAGpD,IAAI,CAAC9D,UAAW,OAAOA,WAAW,YAAY,CAACA,OAAOkE,IAAI,EAAG;QAC3DvE,QAAQwE,MAAM,CAACD,IAAI,CAAC;YAClBE,KAAK,CAAC,QAAQ,EAAEvE,KAAKsD,MAAM,CAAC,MAAM,CAAC;YACnCkB,KAAKP,SAASX;YACdmB,UAAUT,cAAcV;QAC1B;IACF;IAEA,MAAMoB,4BAAiD,EAAE;IAEzD,MAAMC,eAAe,OACnBpC;QAKA,IAAI,CAACA,IAAIqC,YAAY,IAAI,CAACrC,IAAIsC,QAAQ,EAAE;YACtC,MAAM,IAAIC,MAAM;QAClB;QACA,MAAMC,SAASpG,sBAAsBkB,KAAK;QAE1C,MAAMmF,iBACJzC,IAAIqC,YAAY,IAAI3E,WAAWgF,SAAS,EAAE3B,SACtCrD,WAAWgF,SAAS,CAACvD,IAAI,CAAC,CAAC,EAAEwD,IAAI,EAAE,GAAKA,SAAS3C,IAAIqC,YAAY,IACjE;YACEM,MAAM;YACNC,SAAS,OAAO,EAAE5C,GAAG,EAAE6C,KAAK,EAAE;gBAC5B,MAAMA,KAAK,CAAC7C,IAAIsC,QAAQ,CAAW,CAAE,KAAK;oBACxCQ,OAAO9C,IAAI8C,KAAK;gBAClB;YACF;QACF;QAEN,IAAI,CAACL,gBAAgB;YACnB,OAAO;gBACLzF,IAAIgD,IAAIhD,EAAE;gBACV+F,QAAQ;oBACNC,QAAQ;gBACV;YACF,EAAE,2CAA2C;;QAC/C;QAEA,IAAI;YACF,MAAMxG,YAAYE,qBAAqBsD,KAAKwC;YAE5C,iDAAiD;YACjD,uEAAuE;YACvE,oDAAoD;YACpD,IAAIS;YACJ,IACE,OAAOR,eAAeG,OAAO,KAAK,cACjC,OAAOH,eAAeG,OAAO,KAAK,YAAYnC,MAAMC,OAAO,CAAC+B,eAAeG,OAAO,GACnF;gBACAK,kBAAkBR,eAAeG,OAAO;YAC1C,OAAO;gBACLK,kBAAkB,MAAMtG,kBAA0C8F,eAAeG,OAAO;gBAExF,IAAI,CAACK,iBAAiB;oBACpB,MAAMC,WAAWlD,IAAIqC,YAAY,IAAI,CAAC,MAAM,EAAErC,IAAIsC,QAAQ,EAAE;oBAC5D,MAAMa,eAAe,CAAC,gDAAgD,EAAEV,eAAeG,OAAO,CAAC,aAAa,EAAEM,SAAS,CAAC,CAAC;oBACzH,IAAI,CAACtF,UAAW,OAAOA,WAAW,YAAY,CAACA,OAAOwF,KAAK,EAAG;wBAC5D7F,QAAQwE,MAAM,CAACqB,KAAK,CAACD;oBACvB;oBAEA,MAAM3G,UAAU;wBACd4G,OAAO;4BACLA,OAAOD;wBACT;wBACA5E,UAAU;wBACVE,YAAY;oBACd;oBAEA,OAAO;wBACLzB,IAAIgD,IAAIhD,EAAE;wBACV+F,QAAQ;4BACNC,QAAQ;wBACV;oBACF;gBACF;YACF;YAEA,IAAI,OAAOC,oBAAoB,YAAY;gBACzC,MAAMF,SAAS,MAAMnG,OAAO;oBAC1BoD;oBACA1C,KAAKkF;oBACL5E;oBACApB;oBACAiG;oBACAQ;gBACF;gBAEA,IAAIF,OAAOC,MAAM,KAAK,WAAW;oBAC/Bb,0BAA0BpD,IAAI,CAACiB,IAAIhD,EAAE;gBACvC;gBAEA,OAAO;oBAAEA,IAAIgD,IAAIhD,EAAE;oBAAE+F;gBAAO;YAC9B,OAAO;gBACL,MAAMA,SAAS,MAAMlG,WAAW;oBAC9BmD;oBACA1C,KAAKkF;oBACL5E;oBACApB;oBACAiG;oBACAQ;gBACF;gBAEA,IAAIF,OAAOC,MAAM,KAAK,WAAW;oBAC/Bb,0BAA0BpD,IAAI,CAACiB,IAAIhD,EAAE;gBACvC;gBAEA,OAAO;oBAAEA,IAAIgD,IAAIhD,EAAE;oBAAE+F;gBAAO;YAC9B;QACF,EAAE,OAAOK,OAAO;YACd,IAAIA,iBAAiB9G,mBAAmB;gBACtC,IACE,sCAAsC;gBACtC,CAAC0D,IAAIoD,KAAK,EAAEC,aACZ,CAACrD,IAAIzB,QAAQ,IACbyB,IAAIvB,UAAU,IACduB,IAAI3B,WAAW,IACf2B,IAAIpB,SAAS,EACb;oBACA,yHAAyH;oBACzH,mIAAmI;oBACnI,MAAMpC,UAAU;wBACdQ,IAAIgD,IAAIhD,EAAE;wBACViD,MAAM;4BACJ5B,aAAa;4BACb+E,OAAO;gCACLC,WAAW;gCACXC,SAASF,MAAME,OAAO;4BACxB;4BACA/E,UAAU;4BACVE,YAAY;4BACZG,WAAW;wBACb;wBACAsB,OAAO;wBACPC,oBAAoB;wBACpB7C;wBACA8C,WAAW;oBACb;gBACF;gBAEA,OAAO;oBACLpD,IAAIgD,IAAIhD,EAAE;oBACV+F,QAAQ;wBACNC,QAAQ;oBACV;gBACF;YACF;YACA,MAAMI;QACR;IACF;IAEA,IAAIG,eAAgE,EAAE;IACtE,IAAI5F,YAAY;QACd,KAAK,MAAMqC,OAAOvC,KAAM;YACtB,MAAMsF,SAAS,MAAMX,aAAapC;YAClC,IAAI+C,QAAQ;gBACVQ,aAAaxE,IAAI,CAACgE;YACpB;QACF;IACF,OAAO;QACL,MAAMS,cAAc/F,KAAK8D,GAAG,CAACa;QAC7BmB,eAAgB,MAAME,QAAQC,GAAG,CAACF;IAIpC;IAEA,IAAI9F,WAAWiG,mBAAmB,IAAIxB,0BAA0BpB,MAAM,EAAE;QACtE,IAAI;YACF,IAAIrD,WAAWkG,QAAQ,EAAE;gBACvB,MAAMrG,QAAQsG,MAAM,CAAC;oBACnBzE,YAAY/C;oBACZ6D,OAAO;oBACPC,oBAAoB;oBACpBtC,OAAO;wBAAEb,IAAI;4BAAEwE,IAAIW;wBAA0B;oBAAE;gBACjD;YACF,OAAO;gBACL,MAAM5E,QAAQ2B,EAAE,CAAC4E,UAAU,CAAC;oBAC1B1E,YAAY/C;oBACZwB,OAAO;wBAAEb,IAAI;4BAAEwE,IAAIW;wBAA0B;oBAAE;gBACjD;YACF;QACF,EAAE,OAAO4B,KAAK;YACZ,IAAI,CAACnG,UAAW,OAAOA,WAAW,YAAY,CAACA,OAAOwF,KAAK,EAAG;gBAC5D7F,QAAQwE,MAAM,CAACqB,KAAK,CAAC;oBACnBW;oBACA/B,KAAK,CAAC,sBAAsB,EAAEG,0BAA0B6B,IAAI,CAAC,MAAM,YAAY,CAAC;gBAClF;YACF;QACF;IACF;IAEA,MAAMC,gBAA4CV,aAAa5B,MAAM,CACnE,CAACC,KAAKsC;QACJ,IAAIA,QAAQ,MAAM;YAChB,6CAA6C;YAC7CtC,GAAG,CAACsC,IAAIlH,EAAE,CAAC,GAAGkH,IAAInB,MAAM;QAC1B;QACA,OAAOnB;IACT,GACA,CAAC;IAGH,IAAIX,2BAA2B;IAC/B,IAAK,MAAMkD,SAASF,cAAe;QACjC,MAAMG,YAAYH,aAAa,CAACE,MAAM;QACtC,IAAIC,WAAWpB,WAAW,SAAS;YACjC/B,4BAA2B,iBAAiB;QAC9C;IACF;IAEA,OAAO;QACLoD,WAAWJ;QACXhD;IACF;AACF,EAAC"}
|
|
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 depth: jobsConfig.depth,\n disableTransaction: true,\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 depth: jobsConfig.depth,\n disableTransaction: true,\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 disableTransaction: true,\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 /**\n * Just for logging purposes, we want to know how many jobs are new and how many are existing (= already been tried).\n * This is only for logs - in the end we still want to run all jobs, regardless of whether they are new or existing.\n */\n const { existingJobs, newJobs } = jobs.reduce(\n (acc, job) => {\n if (job.totalTried > 0) {\n acc.existingJobs.push(job)\n } else {\n acc.newJobs.push(job)\n }\n return acc\n },\n { existingJobs: [] as Job[], newJobs: [] as Job[] },\n )\n\n if (!silent || (typeof silent === 'object' && !silent.info)) {\n payload.logger.info({\n msg: `Running ${jobs.length} jobs.`,\n new: newJobs?.length,\n retrying: existingJobs?.length,\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 const workflowConfig: WorkflowConfig =\n job.workflowSlug && jobsConfig.workflows?.length\n ? jobsConfig.workflows.find(({ slug }) => slug === job.workflowSlug)!\n : {\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 if (!workflowConfig) {\n return {\n id: job.id,\n result: {\n status: 'error',\n },\n } // Skip jobs with no workflow configuration\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 // @ts-expect-error error is not typed\n !job.error?.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 depth: 0,\n disableTransaction: true,\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 if (jobsConfig.runHooks) {\n await payload.delete({\n collection: jobsCollectionSlug,\n depth: 0, // can be 0 since we're not returning anything\n disableTransaction: true,\n where: { id: { in: successfullyCompletedJobs } },\n })\n } else {\n await payload.db.deleteMany({\n collection: jobsCollectionSlug,\n where: { id: { in: successfullyCompletedJobs } },\n })\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","depth","disableTransaction","returning","defaultProcessingOrder","collections","defaultSort","processingOrderConfig","Array","isArray","queues","default","updatedDocs","sort","length","noJobsRemaining","remainingJobsFromQueried","seenConcurrencyKeys","jobsToRun","jobsToRelease","has","releaseIds","map","in","existingJobs","newJobs","reduce","acc","totalTried","info","logger","msg","new","retrying","successfullyCompletedJobs","runSingleJob","workflowSlug","taskSlug","Error","jobReq","workflowConfig","workflows","slug","handler","tasks","input","result","status","workflowHandler","jobLabel","errorMessage","error","cancelled","message","resultsArray","jobPromises","Promise","all","deleteJobOnComplete","runHooks","delete","deleteMany","err","join","resultsObject","cur","jobID","jobResult","jobStatus"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "payload",
|
|
3
|
-
"version": "3.71.0-internal.
|
|
3
|
+
"version": "3.71.0-internal.7ef67c6",
|
|
4
4
|
"description": "Node, React, Headless CMS and Application Framework built on Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"admin panel",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"undici": "7.10.0",
|
|
112
112
|
"uuid": "10.0.0",
|
|
113
113
|
"ws": "^8.16.0",
|
|
114
|
-
"@payloadcms/translations": "3.71.0-internal.
|
|
114
|
+
"@payloadcms/translations": "3.71.0-internal.7ef67c6"
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|