@solidactions/sdk 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -4
- package/dist/src/adminserver.d.ts +0 -2
- package/dist/src/adminserver.d.ts.map +1 -1
- package/dist/src/adminserver.js +17 -7
- package/dist/src/adminserver.js.map +1 -1
- package/dist/src/authdecorators.js +1 -2
- package/dist/src/authdecorators.js.map +1 -1
- package/dist/src/cli/cli.js +0 -0
- package/dist/src/conductor/conductor.d.ts +0 -1
- package/dist/src/conductor/conductor.d.ts.map +1 -1
- package/dist/src/conductor/conductor.js +17 -7
- package/dist/src/conductor/conductor.js.map +1 -1
- package/dist/src/config.js +11 -11
- package/dist/src/config.js.map +1 -1
- package/dist/src/context.d.ts +0 -2
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +8 -9
- package/dist/src/context.js.map +1 -1
- package/dist/src/database_utils.js +3 -4
- package/dist/src/database_utils.js.map +1 -1
- package/dist/src/debugpoint.js +5 -5
- package/dist/src/debugpoint.js.map +1 -1
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +35 -35
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/error.d.ts +2 -2
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +3 -3
- package/dist/src/error.js.map +1 -1
- package/dist/src/http_client.d.ts +7 -1
- package/dist/src/http_client.d.ts.map +1 -1
- package/dist/src/http_client.js +17 -6
- package/dist/src/http_client.js.map +1 -1
- package/dist/src/http_system_database.d.ts +1 -0
- package/dist/src/http_system_database.d.ts.map +1 -1
- package/dist/src/http_system_database.js +11 -1
- package/dist/src/http_system_database.js.map +1 -1
- package/dist/src/index.js +17 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/serialization.d.ts.map +1 -1
- package/dist/src/serialization.js +7 -7
- package/dist/src/serialization.js.map +1 -1
- package/dist/src/solidactions-executor.js +17 -7
- package/dist/src/solidactions-executor.js.map +1 -1
- package/dist/src/solidactions.d.ts +23 -3
- package/dist/src/solidactions.d.ts.map +1 -1
- package/dist/src/solidactions.js +30 -4
- package/dist/src/solidactions.js.map +1 -1
- package/dist/src/system_database.d.ts +1 -0
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/telemetry/collector.d.ts.map +1 -1
- package/dist/src/telemetry/logs.d.ts.map +1 -1
- package/dist/src/telemetry/traces.js +5 -5
- package/dist/src/telemetry/traces.js.map +1 -1
- package/dist/src/testing/index.d.ts +13 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +19 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/mock_server.d.ts +134 -0
- package/dist/src/testing/mock_server.d.ts.map +1 -0
- package/dist/src/testing/mock_server.js +613 -0
- package/dist/src/testing/mock_server.js.map +1 -0
- package/dist/src/utils.d.ts +0 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +8 -8
- package/dist/src/utils.js.map +1 -1
- package/dist/src/workflow.d.ts +1 -1
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +2 -2
- package/dist/src/workflow.js.map +1 -1
- package/dist/src/workflow_management.js +7 -8
- package/dist/src/workflow_management.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/sdk-reference.md +1207 -0
- package/package.json +6 -1
- package/.claude/settings.local.json +0 -7
- package/dist/dbos-config.schema.json +0 -132
- package/dist/src/cli/commands.d.ts +0 -3
- package/dist/src/cli/commands.d.ts.map +0 -1
- package/dist/src/cli/commands.js +0 -46
- package/dist/src/cli/commands.js.map +0 -1
- package/dist/src/datasource.d.ts +0 -109
- package/dist/src/datasource.d.ts.map +0 -1
- package/dist/src/datasource.js +0 -204
- package/dist/src/datasource.js.map +0 -1
- package/dist/src/dbos-executor.d.ts +0 -189
- package/dist/src/dbos-executor.d.ts.map +0 -1
- package/dist/src/dbos-executor.js +0 -817
- package/dist/src/dbos-executor.js.map +0 -1
- package/dist/src/dbos.d.ts +0 -519
- package/dist/src/dbos.d.ts.map +0 -1
- package/dist/src/dbos.js +0 -1282
- package/dist/src/dbos.js.map +0 -1
- package/dist/src/debouncer.d.ts +0 -33
- package/dist/src/debouncer.d.ts.map +0 -1
- package/dist/src/debouncer.js +0 -170
- package/dist/src/debouncer.js.map +0 -1
- package/dist/src/scheduler/crontab.d.ts +0 -14
- package/dist/src/scheduler/crontab.d.ts.map +0 -1
- package/dist/src/scheduler/crontab.js +0 -308
- package/dist/src/scheduler/crontab.js.map +0 -1
- package/dist/src/scheduler/scheduler.d.ts +0 -41
- package/dist/src/scheduler/scheduler.d.ts.map +0 -1
- package/dist/src/scheduler/scheduler.js +0 -165
- package/dist/src/scheduler/scheduler.js.map +0 -1
- package/dist/src/wfqueue.d.ts +0 -64
- package/dist/src/wfqueue.d.ts.map +0 -1
- package/dist/src/wfqueue.js +0 -147
- package/dist/src/wfqueue.js.map +0 -1
- package/docs/api-schema.md +0 -1441
- package/docs/migration-guide.md +0 -460
- package/docs/phase-14-changes.md +0 -156
- package/docs/solidsteps-ai-prompt.md +0 -534
- package/solidactions-ai-prompt.md +0 -1504
package/dist/src/dbos.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dbos.js","sourceRoot":"","sources":["../../src/dbos.ts"],"names":[],"mappings":";;;;;;AAAA,uCASmB;AACnB,mDAQyB;AACzB,+CAAwH;AACxH,yCAUoB;AACpB,2CAAyD;AACzD,mCAOiB;AACjB,qCASkB;AAClB,6CAgCsB;AACtB,mCAAmE;AACnE,mDAA8F;AAC9F,+CAAgD;AAGhD,6CAAyC;AAGzC,qDAAkD;AAClD,uDAAgF;AAChF,qDAAuD;AACvD,8DAAiC;AAuCjC,SAAgB,WAAW;IACzB,IAAI,CAAC,oCAAoB,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,IAAI,uCAA+B,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,oCAAoB,CAAC,cAAc,CAAC;AAC7C,CAAC;AALD,kCAKC;AAED,SAAgB,eAAe,CAC7B,QAA0B,EAC1B,QAAgB,EAChB,SAAkB,EAClB,cAAuB;IAEvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,qBAAqB;YACrB,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC/B,OAAO,oCAAoB,CAAC,cAAe,CAAC,eAAe,CACzD,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,UAAW,EAChB,cAAc,IAAI,IAAA,gCAAsB,GAAE,EAC1C,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,0CAAkC,CAC1C,qBAAqB,QAAQ,8CAA8C,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC;AAzBD,0CAyBC;AAED,MAAa,IAAI;IACf,OAAO;IACP,YAAY;IACZ,OAAO;IACP,MAAM,CAAC,WAAW,GAAuB,SAAS,CAAC;IACnD,MAAM,CAAC,SAAS,GAA0B,SAAS,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAA0B;QACzC,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,8CAA8C,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,CAAC,CAAC,oCAAoB,CAAC,cAAc,EAAE,WAAW,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA2B;QAC7C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,IAAA,uBAAc,GAAE,CAAC;QAE1C,sFAAsF;QACtF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,gBAAgB,GAAG,MAAM,IAAA,6BAAoB,GAAE,CAAC;YACtD,IAAI,gBAAgB,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACzD,kFAAkF;gBAClF,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,WAAW,GAAG;wBACjB,IAAI,EAAE,gBAAgB,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI;wBACjD,GAAG,EAAE;4BACH,GAAG,EAAE,UAAU,CAAC,MAAM;4BACtB,GAAG,EAAE,UAAU,CAAC,MAAM;4BACtB,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,UAAU,EAAE,UAAU,CAAC,UAAU;yBAClC;qBACF,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,wEAAwE;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW;YACnC,CAAC,CAAC,IAAA,oCAA2B,EAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;YAC1D,CAAC,CAAC,IAAA,8BAAqB,EAAC,UAAU,CAAC,CAAC;QACtC,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAgB,EAAC,UAAU,CAAC,CAAC;QAE/G,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;YACrF,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,IAAA,gCAAuB,EAAC,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACvG,CAAC;QAED,oBAAY,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,IAAI,IAAA,yBAAiB,GAAE,CAAC;QAE9E,IAAI,CAAC,IAAA,8BAAqB,GAAE;YAAE,IAAA,mCAA0B,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE9E,4CAA4C;QAC5C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAA,uCAA0B,GAAE,CAAC;QAC7B,IAAA,gCAAmB,GAAE,CAAC;QAEtB,wDAAwD;QACxD,+EAA+E;QAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;gBACzC,oBAAY,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;gBAC5C,oBAAY,CAAC,UAAU,GAAG,kBAAkB,CAAC;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;gBACjC,oBAAY,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YACxD,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,mDAAmD;YACnD,oBAAY,CAAC,UAAU,GAAG,IAAA,wBAAU,GAAE,CAAC;QACzC,CAAC;QAED,oCAAoB,CAAC,cAAc,GAAG,IAAI,oCAAoB,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9F,IAAA,6BAAgB,GAAE,CAAC;QAEnB,MAAM,QAAQ,GAAyB,oCAAoB,CAAC,cAAc,CAAC;QAC3E,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QAC3D,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,eAAe,GAAG,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAClE,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,gDAAgD;QAC1D,CAAC;QAED,MAAM,oCAAoB,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;QAE/D,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;gBAC/D,OAAO,CAAC,YAAY,GAAG,SAAS,UAAU,qBAAqB,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,oCAAoB,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YAChH,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAChC,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,6BAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,6BAAe,CAAC,6BAA6B,CAAC,aAAa,CAAC,UAAU,EAAE,MAAsB,CAAC,CAAC;gBACtG,6DAA6D;gBAC7D,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE;wBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;wBACnG,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBACzB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,6CAA6C,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB;QAC3B,IAAI,CAAC,oCAAoB,CAAC,cAAc;YAAE,OAAO;QACjD,KAAK,MAAM,GAAG,IAAI,IAAA,kCAAqB,GAAE,EAAE,CAAC;YAC1C,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,wBAAwB;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,oBAAoB;QACpB,IAAI,oCAAoB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,oCAAoB,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;YACrE,MAAM,oCAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACpD,oCAAoB,CAAC,cAAc,GAAG,SAAS,CAAC;QAClD,CAAC;QAED,+CAA+C;QAC/C,oBAAY,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC7D,oBAAY,CAAC,WAAW,GAAG,KAAK,CAAC;QACjC,oBAAY,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACnD,oBAAY,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC;QAE5D,IAAA,+BAAkB,GAAE,CAAC;IACvB,CAAC;IAED,MAAM;IACN,4CAA4C;IAC5C,MAAM;IAEN;;;;OAIG;IACH,MAAM,CAAC,QAAQ;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAO,CAAC;QACjB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,QAAkC,EAClC,OAGC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAK,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAChD,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC,CAAC,KAAK,CAAC,CAAC;YACV,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAc;QAMjC,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,OAAO;YACnB,uBAAuB,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAS,CAAC,uDAAuD,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,GAAG,UAAU,eAAe,UAAU,EAAE,CAAC;QAEtD,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,GAAG,IAAI,kBAAkB,UAAU,EAAE;YAC9C,MAAM,EAAE,GAAG,IAAI,iBAAiB,UAAU,EAAE;YAC5C,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,IAAI,WAAW,kBAAkB,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE;SACxF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,CAAC,KAAK,CAAC,wBAAwB;QACnC,OAAO,oCAAoB,CAAC,cAAc,EAAE,wBAAwB,EAAE,CAAC;IACzE,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,KAAK,CAAC,kBAAkB;QAC7B,OAAO,oCAAoB,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC;IACnE,CAAC;IAED,gCAAgC;IAChC,MAAM,KAAK,SAAS;QAClB,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM,CAAC,WAAW,CAAsB;IAExC,MAAM;IACN,UAAU;IACV,MAAM;IACN,sEAAsE;IACtE,MAAM,KAAK,MAAM;QACf,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrC,MAAM,QAAQ,GAAG,oCAAoB,CAAC,cAAc,CAAC;QACrD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrC,OAAO,IAAI,mBAAY,EAAE,CAAC;IAC5B,CAAC;IAED,sDAAsD;IACtD,MAAM,KAAK,MAAM;QACf,MAAM,QAAQ,GAAG,oCAAoB,CAAC,cAAc,CAAC;QACrD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,4EAA4E;IAC5E,MAAM,KAAK,IAAI;QACb,OAAO,IAAA,sBAAa,GAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,IAAA,gCAAsB,GAAE,EAAE,OAAO,CAAC;IAC3C,CAAC;IAED,iEAAiE;IACjE,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAA6B,CAAC;IACzD,CAAC;IAED,iEAAiE;IACjE,MAAM,KAAK,OAAO;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,iBAAS,CAAC,uDAAuD,CAAC,CAAC;QACrF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0CAA0C;IAC1C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,oBAAY,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,kCAAkC;IAClC,MAAM,KAAK,UAAU;QACnB,OAAO,IAAA,gCAAsB,GAAE,EAAE,UAAU,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,MAAM,KAAK,KAAK;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,MAAM;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO,IAAA,gCAAsB,GAAE,EAAE,iBAAiB,CAAC;QACrD,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAClC,OAAO,IAAA,gCAAsB,GAAE,EAAE,eAAe,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO,IAAA,gCAAsB,GAAE,EAAE,UAAU,CAAC;IAC9C,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,iBAAiB;QAC1B,OAAO,IAAA,gCAAsB,GAAE,EAAE,iBAAiB,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,8DAA8D;IAC9D,MAAM,KAAK,kBAAkB;QAC3B,OAAO,IAAA,gCAAsB,GAAE,EAAE,kBAAkB,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,oGAAoG;IACpG,MAAM,KAAK,WAAW;QACpB,OAAO,IAAA,gCAAsB,GAAE,EAAE,WAAW,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,eAAe;QACpB,OAAO,IAAA,gCAAsB,GAAE,EAAE,eAAe,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,QAAQ;QACb,OAAO,IAAA,gCAAsB,GAAE,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAA,gCAAsB,GAAE,EAAE,UAAU,KAAK,SAAS,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC;IAED,MAAM;IACN,gDAAgD;IAChD,MAAM;IACN;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAChC,GAAW,EACX,GAAW,EACX,GAAW;QAEX,IAAA,iCAAoB,EAAC,uBAAuB,CAAC,CAAC;QAC9C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IACD;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAgC;QACpE,IAAA,iCAAoB,EAAC,0BAA0B,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM;IACN,gCAAgC;IAChC,MAAM;IAEN;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QACzC,IAAA,iCAAoB,EAAC,mBAAmB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpB,qBAAqB;gBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAA,gCAAsB,GAAE,CAAC,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,0CAAkC,CAC1C,2EAA2E,CAC5E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAI,UAAkB,EAAE,cAAuB;QACnE,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;QAClC,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC5D,WAAW,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,UAAkB,EAClB,cAAuB,EACvB,WAAoB,EACpB,cAAuB;QAEvB,OAAO,MAAM,eAAe,CAC1B,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,mBAAmB,CACxF,UAAU,EACV,cAAc,EACd,IAAI,CAAC,UAAU,EACf,WAAW,CACZ,CAAC;YACF,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAI,yCAAiC,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,oCAAoB,CAAC,mBAAmB,CAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC,EACD,gBAAgB,EAChB,UAAU,EACV,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAc,UAAkB;QACrD,IAAA,iCAAoB,EAAC,kBAAkB,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAC1C,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,0BAAe,CAAC,oCAAoB,CAAC,cAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAwB;QACjD,IAAA,iCAAoB,EAAC,eAAe,CAAC,CAAC;QACtC,OAAO,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YACtC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAC/C,IAAA,iCAAoB,EAAC,mBAAmB,CAAC,CAAC;QAC1C,OAAO,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YACtC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC5C,IAAA,iCAAoB,EAAC,gBAAgB,CAAC,CAAC;QACvC,OAAO,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YACtC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAI,UAAkB;QAC/C,IAAA,iCAAoB,EAAC,gBAAgB,CAAC,CAAC;QACvC,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YAC/B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,UAAkB,EAClB,SAAiB,EACjB,OAAqF;QAErF,IAAA,iCAAoB,EAAC,cAAc,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YAChD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAkB;QACrC,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,0CAAkC,CAAC,qDAAqD,CAAC,CAAC;YACtG,CAAC;YACD,MAAM,UAAU,GAAG,IAAA,gCAAsB,GAAE,CAAC;YAC5C,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,UAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,mBAAmB;IACnB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,mBAAmB;IACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG;QACd,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACxB,OAAO,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAA,wBAAU,GAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAA,wBAAU,GAAE,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAI,UAAkB,EAAE,QAA0B;QAC/E,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,yBAAyB,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAI,UAAkB,EAAE,WAAqB,EAAE,QAA0B;QACrG,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,eAAe,CACzB;YACE,iBAAiB,EAAE,UAAU;YAC7B,kBAAkB,EAAE,WAAW;SAChC,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAI,UAAkB,EAAE,QAA0B;QAC7E,IAAA,iCAAoB,EAAC,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAI,SAAwB,EAAE,QAA0B;QACtF,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAI,OAA2B,EAAE,QAA0B;QACpF,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAI,OAA2B,EAAE,QAA0B;QACrF,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,+FAA+F;YAC/F,8DAA8D;YAC9D,MAAM,QAAQ,GAAQ,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAiC,EAAE,CAAC;gBACrE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxB,sEAAsE;oBACtE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC3B,0GAA0G;gBACzG,IAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAiC,EAAE,CAAC;oBACrE,iEAAiE;oBACjE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC5B,mJAAmJ;wBAClJ,IAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;;wBAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,IAAA,2BAAiB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAsCD,MAAM,CAAC,aAAa,CAClB,MAA0D,EAC1D,MAA4B;QAE5B,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,MAA6B,CAAC;QACtF,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,YAAY,+BAAkB,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,0CAAkC,CAC1C,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAyB;YACpC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI;gBAC1B,MAAM,KAAK,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,gEAAgE;oBAChE,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5E,MAAM,IAAI,8BAAsB,CAAC,IAAI,EAAE,GAAG,IAAI,6CAA6C,CAAC,CAAC;gBAC/F,CAAC;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ;gBACrB,mEAAmE;gBACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAA,oCAAuB,EAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAClF,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrF,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,IAAI,8BAAsB,CAAC,IAAI,EAAE,GAAG,IAAI,6CAA6C,CAAC,CAAC;YAC/F,CAAC;SACF,CAAC;QAEF,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,aAAqB,EAAE,OAAU,EAAE,KAAc,EAAE,cAAuB;QAC7F,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAAC,8DAA8D,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,0CAAkC,CAC1C,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAW,IAAA,gCAAsB,GAAE,CAAC;YACpD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,IAAI,CACnE,IAAI,CAAC,UAAW,EAChB,UAAU,EACV,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,EAC5C,KAAK,CACN,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB;IACxG,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,KAAc,EAAE,cAAuB;QAC1D,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAAC,8DAA8D,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,UAAU,GAAW,IAAA,gCAAsB,GAAE,CAAC;YACpD,MAAM,iBAAiB,GAAW,IAAA,gCAAsB,GAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CACpC,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,IAAI,CAC5D,IAAI,CAAC,UAAW,EAChB,UAAU,EACV,iBAAiB,EACjB,KAAK,EACL,cAAc,CACf,CACG,CAAC;QACT,CAAC;QACD,MAAM,IAAI,0CAAkC,CAAC,mDAAmD,CAAC,CAAC,CAAC,0BAA0B;IAC/H,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,KAAQ;QAC5C,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAC1C,kEAAkE,CACnE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,IAAA,gCAAsB,GAAE,CAAC;YAC5C,OAAO,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CACjE,IAAI,CAAC,UAAW,EAChB,UAAU,EACV,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,0CAAkC,CAAC,uDAAuD,CAAC,CAAC,CAAC,+BAA+B;IACxI,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAI,UAAkB,EAAE,GAAW,EAAE,cAAuB;QAC/E,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAC1C,kEAAkE,CACnE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAW,IAAA,gCAAsB,GAAE,CAAC;YACpD,MAAM,iBAAiB,GAAG,IAAA,gCAAsB,GAAE,CAAC;YACnD,MAAM,MAAM,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,UAAW;gBAC5B,UAAU;gBACV,iBAAiB;aAClB,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CACpC,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CAChE,UAAU,EACV,GAAG,EACH,cAAc,IAAI,oCAAoB,CAAC,6BAA6B,EACpE,MAAM,CACP,CACG,CAAC;QACT,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,KAAQ;QAC/C,IAAA,iCAAoB,EAAC,aAAa,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAW,IAAA,gCAAsB,GAAE,CAAC;gBACpD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,uBAAuB,CACtF,IAAI,CAAC,UAAW,EAChB,UAAU,EACV,GAAG,EACH,KAAK,CACN,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC3B,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,0CAAkC,CAC1C,kEAAkE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,0CAAkC,CAAC,kEAAkE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAW;QAClC,IAAA,iCAAoB,EAAC,aAAa,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAW,IAAA,gCAAsB,GAAE,CAAC;gBACpD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,UAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAClH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,0CAAkC,CAC1C,kEAAkE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,0CAAkC,CAAC,0DAA0D,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAI,UAAkB,EAAE,GAAW;QACzD,IAAA,iCAAoB,EAAC,YAAY,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5G,IAAI,KAAK,KAAK,6CAA2B,EAAE,CAAC;oBAC1C,MAAM;gBACR,CAAC;gBACD,MAAM,KAAU,CAAC;gBACjB,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACvE,mEAAmE;oBACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBACxD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,2BAAgB,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChD,MAAM;oBACR,CAAC;oBACD,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B;oBACjD,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM;IACN,aAAa;IACb,MAAM;IAEN;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,8DAA8D;QAC9D,SAAS,MAAM,CAA6C,IAAO;YACjE,MAAM,MAAM,GAAG,IAAA,iCAAoB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClF,MAAM,IAAI,wCAAgC,CACxC,0BAA0B,IAAI,aAAa,IAAI,CAAC,IAAI,uCAAuC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAC7G,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAyB,EAAE;QACzC,SAAS,SAAS,CAChB,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,gDAAmC,EACtE,MAAM,EACN,WAAW,EACX,MAAM,CAAC,IAAI,IAAI,WAAW,EAC1B,YAAY,CACb,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAE/D,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;YAC3B,YAAY,CAAC,eAAe,GAAG,OAAO,CAAC;YACvC,IAAA,oCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAE/C,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACrB,IAAoD,EACpD,MAAsC;QAEtC,MAAM,YAAY,GAAG,IAAA,oDAAuC,EAC1D,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EACzB,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EACzB,IAAI,CACL,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,KAAW,EACX,KAA6B,EAC7B,IAAU,EACV,SAA8B,EAAE,EAChC,aAAsB;QAEtB,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAA,gCAAsB,GAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,yBAAyB,CAAC;QACvE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,iBAAiB,CAAC;QAE/D,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAA4B,CAAC;QAChH,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,+BAAkB,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,0CAAkC,CAC1C,uFAAuF,CACxF,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,oFAAoF;QACpF,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,CAC1C,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,IAAI,IAAA,gCAAsB,GAAE,CAAC;YACzD,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAG,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAW,CAAC;YAC/B,MAAM,QAAQ,GAAmB;gBAC/B,YAAY,EAAE,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,MAAM;gBAC1C,kBAAkB,EAAE,QAAQ;gBAC5B,SAAS;gBACT,SAAS;gBACT,wDAAwD;gBACxD,eAAe,EACb,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe;gBACnG,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC;YAEF,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAA2B;gBACvC,YAAY,EAAE,IAAI;gBAClB,SAAS;gBACT,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,kBAAkB,EAAE,QAAQ;gBAC5B,SAAS;aACV,CAAC;YAEF,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,SAAS,WAAW,CAAC,QAAwB,EAAE,UAA8B,EAAE,OAA2B;YACxG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAsD,CAAC;gBAC1E,OAAO,oCAAoB,CAAC,cAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAsD,CAAC;gBAC1E,OAAO,oCAAoB,CAAC,cAAe,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5G,CAAC;YAED,MAAM,IAAI,8BAAsB,CAC9B,KAAK,CAAC,IAAI,EACV,GAAG,KAAK,CAAC,IAAI,mEAAmE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,mBAAmB,CACxB,YAAoD,EACpD,MAAkC;QAElC,YAAY,CAAC,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,KAAK,WAAuB,GAAG,OAAa;YAC1D,IAAA,iCAAoB,EAAC,WAAW,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,IAAA,gCAAsB,GAAE,CAAC;gBAC/C,MAAM,YAAY,GAAG,IAAA,gCAAsB,GAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,aAAa,CACd,CAAC;gBACF,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAqB,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC3F,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC,CAAC;QACF,IAAA,oCAAuB,EAAC,OAAO,EAAE,YAA+D,CAAC,CAAC;QAClG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;YACrC,KAAK,EAAE,YAAY,CAAC,IAAI;SACzB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,SAAqB,EAAE;QACjC,SAAS,SAAS,CAChB,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,gDAAmC,EACtE,MAAM,EACN,WAAW,EACX,MAAM,CAAC,IAAI,EACX,YAAY,CACb,CAAC;YACF,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEnC,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;gBAChE,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,IAAI,GAAmC,SAAS,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrD,iBAAiB;gBACnB,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,IAA0B,CAAC;oBAClC,IAAI,CAAC,CAAC,IAAI,YAAY,+BAAkB,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,0CAAkC,CAC1C,mFAAmF,CACpF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;wBAC3B,MAAM,IAAI,0CAAkC,CAC1C,+DAA+D,CAChE,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;wBACpB,oFAAoF;wBACpF,OAAO,YAAY,CAAC,kBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;oBACjE,CAAC;oBACD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,gBAAgB,CAChE,YAAY,CAAC,kBAAiE,EAC9E,SAAS,EACT,SAAS,EACT,IAAI,IAAI,IAAI,EACZ,GAAG,OAAO,CACX,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,IAAA,qBAAW,EAAC,SAAS,CAAC,CAAC;gBAEpC,MAAM,QAAQ,GAAmB;oBAC/B,kBAAkB,EAAE,IAAI;oBACxB,YAAY,EAAE,IAAI;iBACnB,CAAC;gBAEF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CACvC,YAAY,CAAC,kBAAsD,EACnE,QAAQ,EACR,GAAG,OAAO,CACX,CAAC;YACJ,CAAC,CAAC;YAEF,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;YACjC,YAAY,CAAC,eAAe,GAAG,aAAa,CAAC;YAC7C,IAAA,oCAAuB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAErD,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CACjB,IAAoD,EACpD,SAAoC,EAAE;QAEtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAEtC,MAAM,GAAG,GAAG,IAAA,wCAA2B,EAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAElG,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;YAChE,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;YAE9B,4DAA4D;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,YAAY,CAAC;YAE5D,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;oBAC3B,MAAM,IAAI,0CAAkC,CAAC,+DAA+D,CAAC,CAAC;gBAChH,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACpB,oFAAoF;oBACpF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,MAAM,oCAAoB,CAAC,cAAe,CAAC,gBAAgB,CAChE,QAA4C,EAC5C,IAAI,EACJ,MAAM,EACN,IAAI,IAAI,IAAI,EACZ,GAAG,OAAO,CACX,CAAC;YACJ,CAAC;YAED,IAAI,IAAA,qBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,0CAAkC,CAC1C,yBAAyB,IAAI,8DAA8D,CAC5F,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,IAAA,oCAAuB,EAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE5C,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAS,IAA2B,EAAE,SAAyC,EAAE;QAC7F,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,0CAAkC,CAAC,uDAAuD,CAAC,CAAC;YACxG,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpB,oFAAoF;gBACpF,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,oCAAoB,CAAC,cAAe,CAAC,gBAAgB,CAC1D,IAAiD,EACjD,IAAI,EACJ,MAAM,EACN,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,IAAA,qBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,0CAAkC,CAC1C,yBAAyB,IAAI,8DAA8D,CAC5F,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAyB,MAAiC;QACpF,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,SAAS,CAAC,wEAAwE,CAAC,CAAC;QAChG,CAAC;QACD,IAAA,2CAA2B,EAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,8DAA8D;QAC9D,SAAS,MAAM,CAA6C,IAAO;YACjE,MAAM,MAAM,GAAG,IAAA,uCAA0B,EAAC,sBAAS,EAAE,IAAI,CAAsB,CAAC;YAChF,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,IAAA,oCAAmB,GAAE,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,KAAe;QACjC,SAAS,MAAM,CACb,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAE,GAAG,IAAA,wCAA2B,EAAC,sBAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,KAAM,CAAC,CAAC;YAEjH,EAAE,CAAC,OAAsB,CAAC,YAAY,GAAG,KAAK,CAAC;YAChD,IAAA,oCAAmB,GAAE,CAAC;YAEtB,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAE3F,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;IACL,WAAW;IACX,KAAK;IAEL;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAiB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,0CAAkC,CAC1C,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YACtC,MAAM,IAAI,0CAAkC,CAAC,gEAAgE,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,UAAU,CAClF,IAAI,CAAC,UAAW,EAChB,IAAA,uBAAa,GAAE,EACf,SAAS,EACT,KAAK,CACN,CAAC;QACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAA,gCAAsB,GAAE,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,0CAAkC,CAC1C,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YACtC,MAAM,IAAI,0CAAkC,CAAC,gEAAgE,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,oCAAoB,CAAC,cAAe,CAAC,cAAc,CAAC,UAAU,CAClF,IAAI,CAAC,UAAW,EAChB,IAAA,uBAAa,GAAE,EACf,SAAS,EACT,IAAI,CACL,CAAC;QACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAA,gCAAsB,GAAE,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED,KAAK;IACL,oBAAoB;IACpB,KAAK;IAEL;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,GAA0B;QACzD,IAAA,sCAAyB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,GAAkC;QACnE,IAAA,wCAA2B,EAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAA0C,EAAE,GAA4B;QACpG,OAAO,IAAA,uCAA0B,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,QAA0C,EAC1C,IAAoD,EACpD,MAAoB;QAEpB,OAAO,IAAA,wCAA2B,EAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,QAA0C,EAC1C,IAAkE,EAClE,MAEC;QAED,OAAO,IAAA,2CAA8B,EACnC,QAAQ,EACR,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,WAAW,EACxC,IAAI,EACJ,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,CAAC,iBAAiB,CACtB,QAA0C,EAC1C,GAAqB,EACrB,QAAiB;QAEjB,OAAO,IAAA,wCAA2B,EAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;;AA3jDH,oBA4jDC"}
|
package/dist/src/debouncer.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { DBOSClient } from '.';
|
|
2
|
-
import { StartWorkflowParams } from './dbos';
|
|
3
|
-
interface DebouncerWorkflowParams {
|
|
4
|
-
workflowName: string;
|
|
5
|
-
workflowClassName: string;
|
|
6
|
-
startWorkflowParams?: StartWorkflowParams;
|
|
7
|
-
debounceTimeoutMs?: number;
|
|
8
|
-
}
|
|
9
|
-
interface DebouncerConfig<Args extends unknown[], Return> {
|
|
10
|
-
workflow: (...args: Args) => Promise<Return>;
|
|
11
|
-
startWorkflowParams?: StartWorkflowParams;
|
|
12
|
-
debounceTimeoutMs?: number;
|
|
13
|
-
}
|
|
14
|
-
interface DebouncerClientConfig {
|
|
15
|
-
workflowName: string;
|
|
16
|
-
workflowClassName?: string;
|
|
17
|
-
startWorkflowParams?: StartWorkflowParams;
|
|
18
|
-
debounceTimeoutMs?: number;
|
|
19
|
-
}
|
|
20
|
-
export declare const debouncerWorkflowFunction: (initialDebouncePeriodMs: number, cfg: DebouncerWorkflowParams, ...args: unknown[]) => Promise<void>;
|
|
21
|
-
export declare class Debouncer<Args extends unknown[], Return> {
|
|
22
|
-
private readonly cfg;
|
|
23
|
-
constructor(params: DebouncerConfig<Args, Return>);
|
|
24
|
-
debounce(debounceKey: string, debouncePeriodMs: number, ...args: Args): Promise<import("./workflow").WorkflowHandle<Awaited<Return>>>;
|
|
25
|
-
}
|
|
26
|
-
export declare class DebouncerClient {
|
|
27
|
-
readonly client: DBOSClient;
|
|
28
|
-
private readonly cfg;
|
|
29
|
-
constructor(client: DBOSClient, params: DebouncerClientConfig);
|
|
30
|
-
debounce(debounceKey: string, debouncePeriodMs: number, ...args: unknown[]): Promise<import("./workflow").WorkflowHandle<unknown>>;
|
|
31
|
-
}
|
|
32
|
-
export {};
|
|
33
|
-
//# sourceMappingURL=debouncer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debouncer.d.ts","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD,UAAU,eAAe,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IACtD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,yBAAyB,4BACX,MAAM,OAC1B,uBAAuB,WACnB,OAAO,EAAE,kBAuBnB,CAAC;AAEF,qBAAa,SAAS,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;gBAClC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;IAU3C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI;CAuD5E;AAED,qBAAa,eAAe;IAGxB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAF7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;gBAEnC,MAAM,EAAE,UAAU,EAC3B,MAAM,EAAE,qBAAqB;IAUzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAyDjF"}
|
package/dist/src/debouncer.js
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DebouncerClient = exports.Debouncer = exports.debouncerWorkflowFunction = void 0;
|
|
4
|
-
const node_crypto_1 = require("node:crypto");
|
|
5
|
-
const _1 = require(".");
|
|
6
|
-
const dbos_executor_1 = require("./dbos-executor");
|
|
7
|
-
const decorators_1 = require("./decorators");
|
|
8
|
-
const error_1 = require("./error");
|
|
9
|
-
const utils_1 = require("./utils");
|
|
10
|
-
const _DEBOUNCER_TOPIC = 'DEBOUNCER_TOPIC';
|
|
11
|
-
const debouncerWorkflowFunction = async (initialDebouncePeriodMs, cfg, ...args) => {
|
|
12
|
-
let workflowInputs = args;
|
|
13
|
-
const debounceDeadlineEpochMs = cfg.debounceTimeoutMs ? Date.now() + cfg.debounceTimeoutMs : Number.MAX_VALUE;
|
|
14
|
-
let debouncePeriodMs = initialDebouncePeriodMs;
|
|
15
|
-
while (Date.now() < debounceDeadlineEpochMs) {
|
|
16
|
-
const timeUntilDeadline = Math.max(debounceDeadlineEpochMs - Date.now(), 0);
|
|
17
|
-
const timeoutMs = Math.min(debouncePeriodMs, timeUntilDeadline);
|
|
18
|
-
const message = await _1.DBOS.recv(_DEBOUNCER_TOPIC, timeoutMs / 1000);
|
|
19
|
-
if (message === null) {
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
workflowInputs = message['args'];
|
|
24
|
-
debouncePeriodMs = message['debouncePeriodMs'];
|
|
25
|
-
await _1.DBOS.setEvent(message.messageID, message.messageID);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
const methReg = (0, decorators_1.getFunctionRegistrationByName)(cfg.workflowClassName, cfg.workflowName);
|
|
29
|
-
if (!methReg || !methReg.registeredFunction) {
|
|
30
|
-
throw Error(`Invalid workflow name provided to debouncer: ${cfg.workflowName}`);
|
|
31
|
-
}
|
|
32
|
-
const func = methReg?.registeredFunction;
|
|
33
|
-
await _1.DBOS.startWorkflow(func, cfg.startWorkflowParams)(...workflowInputs);
|
|
34
|
-
};
|
|
35
|
-
exports.debouncerWorkflowFunction = debouncerWorkflowFunction;
|
|
36
|
-
class Debouncer {
|
|
37
|
-
cfg;
|
|
38
|
-
constructor(params) {
|
|
39
|
-
const wInfo = (0, decorators_1.getFunctionRegistration)(params.workflow);
|
|
40
|
-
this.cfg = {
|
|
41
|
-
workflowName: wInfo?.name ?? params.workflow.name,
|
|
42
|
-
workflowClassName: (0, decorators_1.getRegisteredFunctionClassName)(params.workflow),
|
|
43
|
-
startWorkflowParams: params.startWorkflowParams,
|
|
44
|
-
debounceTimeoutMs: params.debounceTimeoutMs,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
async debounce(debounceKey, debouncePeriodMs, ...args) {
|
|
48
|
-
if (debouncePeriodMs <= 0) {
|
|
49
|
-
throw Error(`debouncePeriodMs must be positive, not ${debouncePeriodMs}`);
|
|
50
|
-
}
|
|
51
|
-
const cfg = { ...this.cfg };
|
|
52
|
-
cfg.startWorkflowParams = this.cfg.startWorkflowParams ? { ...this.cfg.startWorkflowParams } : {};
|
|
53
|
-
cfg.startWorkflowParams.workflowID = cfg.startWorkflowParams.workflowID ?? (await _1.DBOS.randomUUID());
|
|
54
|
-
while (true) {
|
|
55
|
-
const deduplicationID = `${cfg.workflowClassName}.${cfg.workflowName}-${debounceKey}`;
|
|
56
|
-
try {
|
|
57
|
-
// Attempt to enqueue a debouncer for this workflow
|
|
58
|
-
await _1.DBOS.startWorkflow(dbos_executor_1.DBOSExecutor.debouncerWorkflow, {
|
|
59
|
-
queueName: utils_1.INTERNAL_QUEUE_NAME,
|
|
60
|
-
enqueueOptions: { deduplicationID },
|
|
61
|
-
})(debouncePeriodMs, cfg, ...args);
|
|
62
|
-
return _1.DBOS.retrieveWorkflow(cfg.startWorkflowParams.workflowID);
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
// If there is already a debouncer, send a message to it.
|
|
66
|
-
if (e instanceof Error && (0, error_1.getDBOSErrorCode)(e) === error_1.QueueDedupIDDuplicated) {
|
|
67
|
-
const dedupWorkflowID = await _1.DBOS.runStep(async () => {
|
|
68
|
-
return await dbos_executor_1.DBOSExecutor.globalInstance?.systemDatabase.getDeduplicatedWorkflow(utils_1.INTERNAL_QUEUE_NAME, deduplicationID);
|
|
69
|
-
});
|
|
70
|
-
if (!dedupWorkflowID) {
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
const messageID = await _1.DBOS.randomUUID();
|
|
75
|
-
const message = {
|
|
76
|
-
messageID,
|
|
77
|
-
args,
|
|
78
|
-
debouncePeriodMs,
|
|
79
|
-
};
|
|
80
|
-
await _1.DBOS.send(dedupWorkflowID, message, _DEBOUNCER_TOPIC);
|
|
81
|
-
// Wait for the debouncer to acknowledge receipt of the message.
|
|
82
|
-
// If the message is not acknowledged, this likely means the debouncer started its workflow
|
|
83
|
-
// and exited without processing this message, so try again.
|
|
84
|
-
const event = await _1.DBOS.getEvent(dedupWorkflowID, messageID, 1000);
|
|
85
|
-
if (!event) {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
// Retrieve the user workflow ID from the input to the debouncer
|
|
89
|
-
// and return a handle to it.
|
|
90
|
-
const dedupWorkflowInput = await _1.DBOS.retrieveWorkflow(dedupWorkflowID).getWorkflowInputs();
|
|
91
|
-
const typedInput = dedupWorkflowInput;
|
|
92
|
-
const userWorkflowID = typedInput[1].startWorkflowParams.workflowID;
|
|
93
|
-
return _1.DBOS.retrieveWorkflow(userWorkflowID);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
throw e;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.Debouncer = Debouncer;
|
|
104
|
-
class DebouncerClient {
|
|
105
|
-
client;
|
|
106
|
-
cfg;
|
|
107
|
-
constructor(client, params) {
|
|
108
|
-
this.client = client;
|
|
109
|
-
this.cfg = {
|
|
110
|
-
workflowName: params.workflowName,
|
|
111
|
-
workflowClassName: params.workflowClassName || '',
|
|
112
|
-
startWorkflowParams: params.startWorkflowParams,
|
|
113
|
-
debounceTimeoutMs: params.debounceTimeoutMs,
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
async debounce(debounceKey, debouncePeriodMs, ...args) {
|
|
117
|
-
if (debouncePeriodMs <= 0) {
|
|
118
|
-
throw Error(`debouncePeriodMs must be positive, not ${debouncePeriodMs}`);
|
|
119
|
-
}
|
|
120
|
-
const cfg = { ...this.cfg };
|
|
121
|
-
cfg.startWorkflowParams = this.cfg.startWorkflowParams ? { ...this.cfg.startWorkflowParams } : {};
|
|
122
|
-
cfg.startWorkflowParams.workflowID = cfg.startWorkflowParams.workflowID ?? String((0, node_crypto_1.randomUUID)());
|
|
123
|
-
while (true) {
|
|
124
|
-
const deduplicationID = `${cfg.workflowClassName}.${cfg.workflowName}-${debounceKey}`;
|
|
125
|
-
try {
|
|
126
|
-
// Attempt to enqueue a debouncer for this workflow
|
|
127
|
-
await this.client.enqueue({ workflowName: utils_1.DEBOUNCER_WORKLOW_NAME, queueName: utils_1.INTERNAL_QUEUE_NAME, deduplicationID }, debouncePeriodMs, cfg, ...args);
|
|
128
|
-
return this.client.retrieveWorkflow(cfg.startWorkflowParams.workflowID);
|
|
129
|
-
}
|
|
130
|
-
catch (e) {
|
|
131
|
-
// If there is already a debouncer, send a message to it.
|
|
132
|
-
if (e instanceof Error && (0, error_1.getDBOSErrorCode)(e) === error_1.QueueDedupIDDuplicated) {
|
|
133
|
-
// Access the private client system database
|
|
134
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
|
|
135
|
-
const dedupWorkflowID = (await this.client.systemDatabase.getDeduplicatedWorkflow(utils_1.INTERNAL_QUEUE_NAME, deduplicationID));
|
|
136
|
-
if (!dedupWorkflowID) {
|
|
137
|
-
continue;
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
const messageID = String((0, node_crypto_1.randomUUID)());
|
|
141
|
-
const message = {
|
|
142
|
-
messageID,
|
|
143
|
-
args,
|
|
144
|
-
debouncePeriodMs,
|
|
145
|
-
};
|
|
146
|
-
await this.client.send(dedupWorkflowID, message, _DEBOUNCER_TOPIC);
|
|
147
|
-
// Wait for the debouncer to acknowledge receipt of the message.
|
|
148
|
-
// If the message is not acknowledged, this likely means the debouncer started its workflow
|
|
149
|
-
// and exited without processing this message, so try again.
|
|
150
|
-
const event = await this.client.getEvent(dedupWorkflowID, messageID, 1000);
|
|
151
|
-
if (!event) {
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
// Retrieve the user workflow ID from the input to the debouncer
|
|
155
|
-
// and return a handle to it.
|
|
156
|
-
const dedupWorkflowInput = await this.client.retrieveWorkflow(dedupWorkflowID).getWorkflowInputs();
|
|
157
|
-
const typedInput = dedupWorkflowInput;
|
|
158
|
-
const userWorkflowID = typedInput[1].startWorkflowParams.workflowID;
|
|
159
|
-
return this.client.retrieveWorkflow(userWorkflowID);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
throw e;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
exports.DebouncerClient = DebouncerClient;
|
|
170
|
-
//# sourceMappingURL=debouncer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debouncer.js","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,wBAAqC;AAErC,mDAA+C;AAC/C,6CAKsB;AACtB,mCAAmE;AACnE,mCAAsE;AA8BtE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAEpC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,uBAA+B,EAC/B,GAA4B,EAC5B,GAAG,IAAe,EAClB,EAAE;IACF,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,MAAM,uBAAuB,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IAC9G,IAAI,gBAAgB,GAAG,uBAAuB,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,OAAI,CAAC,IAAI,CAAmB,gBAAgB,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC;QACtF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC/C,MAAM,OAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,0CAA6B,EAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,gDAAgD,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,EAAE,kBAA0C,CAAC;IACjE,MAAM,OAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;AAC7E,CAAC,CAAC;AA1BW,QAAA,yBAAyB,6BA0BpC;AAEF,MAAa,SAAS;IACH,GAAG,CAA0B;IAC9C,YAAY,MAAqC;QAC/C,MAAM,KAAK,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,GAAG;YACT,YAAY,EAAE,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;YACjD,iBAAiB,EAAE,IAAA,2CAA8B,EAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,gBAAwB,EAAE,GAAG,IAAU;QACzE,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,0CAA0C,gBAAgB,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,mBAAmB,CAAC,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,IAAI,CAAC,MAAM,OAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACrG,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC;YACtF,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,OAAI,CAAC,aAAa,CAAC,4BAAY,CAAC,iBAAkB,EAAE;oBACxD,SAAS,EAAE,2BAAmB;oBAC9B,cAAc,EAAE,EAAE,eAAe,EAAE;iBACpC,CAAC,CAAC,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBACnC,OAAO,OAAI,CAAC,gBAAgB,CAAS,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,yDAAyD;gBACzD,IAAI,CAAC,YAAY,KAAK,IAAI,IAAA,wBAAgB,EAAC,CAAC,CAAC,KAAK,8BAAsB,EAAE,CAAC;oBACzE,MAAM,eAAe,GAAG,MAAM,OAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;wBACpD,OAAO,MAAM,4BAAY,CAAC,cAAc,EAAE,cAAc,CAAC,uBAAuB,CAC9E,2BAAmB,EACnB,eAAe,CAChB,CAAC;oBACJ,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,GAAG,MAAM,OAAI,CAAC,UAAU,EAAE,CAAC;wBAC1C,MAAM,OAAO,GAAqB;4BAChC,SAAS;4BACT,IAAI;4BACJ,gBAAgB;yBACjB,CAAC;wBACF,MAAM,OAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;wBAC5D,gEAAgE;wBAChE,2FAA2F;wBAC3F,4DAA4D;wBAC5D,MAAM,KAAK,GAAG,MAAM,OAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACpE,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,SAAS;wBACX,CAAC;wBACD,gEAAgE;wBAChE,6BAA6B;wBAC7B,MAAM,kBAAkB,GAAG,MAAM,OAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,iBAAiB,EAAE,CAAC;wBAC5F,MAAM,UAAU,GAAG,kBAAkE,CAAC;wBACtF,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAoB,CAAC,UAAW,CAAC;wBACtE,OAAO,OAAI,CAAC,gBAAgB,CAAS,cAAc,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnED,8BAmEC;AAED,MAAa,eAAe;IAGf;IAFM,GAAG,CAA0B;IAC9C,YACW,MAAkB,EAC3B,MAA6B;QADpB,WAAM,GAAN,MAAM,CAAY;QAG3B,IAAI,CAAC,GAAG,GAAG;YACT,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;YACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,gBAAwB,EAAE,GAAG,IAAe;QAC9E,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC,0CAA0C,gBAAgB,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,GAAG,CAAC,mBAAmB,CAAC,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,IAAI,MAAM,CAAC,IAAA,wBAAU,GAAE,CAAC,CAAC;QAChG,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC;YACtF,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,EAAE,YAAY,EAAE,8BAAsB,EAAE,SAAS,EAAE,2BAAmB,EAAE,eAAe,EAAE,EACzF,gBAAgB,EAChB,GAAG,EACH,GAAG,IAAI,CACR,CAAC;gBACF,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,yDAAyD;gBACzD,IAAI,CAAC,YAAY,KAAK,IAAI,IAAA,wBAAgB,EAAC,CAAC,CAAC,KAAK,8BAAsB,EAAE,CAAC;oBACzE,4CAA4C;oBAC5C,6IAA6I;oBAC7I,MAAM,eAAe,GAAG,CAAC,MAAO,IAAI,CAAC,MAAc,CAAC,cAAc,CAAC,uBAAuB,CACxF,2BAAmB,EACnB,eAAe,CAChB,CAAW,CAAC;oBACb,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,SAAS;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,GAAG,MAAM,CAAC,IAAA,wBAAU,GAAE,CAAC,CAAC;wBACvC,MAAM,OAAO,GAAqB;4BAChC,SAAS;4BACT,IAAI;4BACJ,gBAAgB;yBACjB,CAAC;wBACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;wBACnE,gEAAgE;wBAChE,2FAA2F;wBAC3F,4DAA4D;wBAC5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,SAAS;wBACX,CAAC;wBACD,gEAAgE;wBAChE,6BAA6B;wBAC7B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,iBAAiB,EAAE,CAAC;wBACnG,MAAM,UAAU,GAAG,kBAAkE,CAAC;wBACtF,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAoB,CAAC,UAAW,CAAC;wBACtE,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvED,0CAuEC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare function convertAsterisksToRanges(expressions: string[]): string[];
|
|
2
|
-
/**
|
|
3
|
-
* Validates a Cron-Job expression pattern.
|
|
4
|
-
* Throws on error.
|
|
5
|
-
*/
|
|
6
|
-
export declare function validateCrontab(pattern: string): string;
|
|
7
|
-
export declare function convertExpression(crontab: string): string;
|
|
8
|
-
export declare class TimeMatcher {
|
|
9
|
-
#private;
|
|
10
|
-
constructor(pattern: string, timezone?: string);
|
|
11
|
-
match(date: Date | number): boolean;
|
|
12
|
-
nextWakeupTime(date: Date | number): Date;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=crontab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crontab.d.ts","sourceRoot":"","sources":["../../../src/scheduler/crontab.ts"],"names":[],"mappings":"AAmFA,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,YAQ7D;AA2HD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAW9C;AAmBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,UAYhD;AAeD,qBAAa,WAAW;;gBAMV,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAoB9C,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAmBzB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAoBnC"}
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// This code was based on code from node-cron:
|
|
3
|
-
// https://github.com/node-cron/node-cron
|
|
4
|
-
/*
|
|
5
|
-
ISC License
|
|
6
|
-
Copyright (c) 2016, Lucas Merencia <lucas.merencia@gmail.com>
|
|
7
|
-
|
|
8
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
9
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
10
|
-
copyright notice and this permission notice appear in all copies.
|
|
11
|
-
|
|
12
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
13
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
14
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
15
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
16
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
17
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
18
|
-
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
19
|
-
*/
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.TimeMatcher = exports.convertExpression = exports.validateCrontab = exports.convertAsterisksToRanges = void 0;
|
|
22
|
-
function removeExtraSpaces(str) {
|
|
23
|
-
return str.replace(/\s{2,}/g, ' ').trim();
|
|
24
|
-
}
|
|
25
|
-
function prependSecondExpression(expressions) {
|
|
26
|
-
if (expressions.length === 5) {
|
|
27
|
-
return ['0'].concat(expressions);
|
|
28
|
-
}
|
|
29
|
-
return expressions;
|
|
30
|
-
}
|
|
31
|
-
const months = [
|
|
32
|
-
'january',
|
|
33
|
-
'february',
|
|
34
|
-
'march',
|
|
35
|
-
'april',
|
|
36
|
-
'may',
|
|
37
|
-
'june',
|
|
38
|
-
'july',
|
|
39
|
-
'august',
|
|
40
|
-
'september',
|
|
41
|
-
'october',
|
|
42
|
-
'november',
|
|
43
|
-
'december',
|
|
44
|
-
];
|
|
45
|
-
const shortMonths = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'];
|
|
46
|
-
function convertMonthNameI(expression, items) {
|
|
47
|
-
for (let i = 0; i < items.length; i++) {
|
|
48
|
-
expression = expression.replace(new RegExp(items[i], 'gi'), `${i + 1}`);
|
|
49
|
-
}
|
|
50
|
-
return expression;
|
|
51
|
-
}
|
|
52
|
-
function monthNamesConversion(monthExpression) {
|
|
53
|
-
monthExpression = convertMonthNameI(monthExpression, months);
|
|
54
|
-
monthExpression = convertMonthNameI(monthExpression, shortMonths);
|
|
55
|
-
return monthExpression;
|
|
56
|
-
}
|
|
57
|
-
const weekDays = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
|
|
58
|
-
const shortWeekDays = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
|
|
59
|
-
function convertWeekDayName(weekExpression, items) {
|
|
60
|
-
for (let i = 0; i < items.length; i++) {
|
|
61
|
-
weekExpression = weekExpression.replace(new RegExp(items[i], 'gi'), `${i}`);
|
|
62
|
-
}
|
|
63
|
-
return weekExpression;
|
|
64
|
-
}
|
|
65
|
-
function weekDayNamesConversion(expression) {
|
|
66
|
-
expression = expression.replace('7', '0');
|
|
67
|
-
expression = convertWeekDayName(expression, weekDays);
|
|
68
|
-
return convertWeekDayName(expression, shortWeekDays);
|
|
69
|
-
}
|
|
70
|
-
function convertAsterisk(expression, replacement) {
|
|
71
|
-
if (expression.indexOf('*') !== -1) {
|
|
72
|
-
return expression.replace('*', replacement);
|
|
73
|
-
}
|
|
74
|
-
return expression;
|
|
75
|
-
}
|
|
76
|
-
// Based on position in full crontab, convert asterisk to appropriate range
|
|
77
|
-
function convertAsterisksToRanges(expressions) {
|
|
78
|
-
expressions[0] = convertAsterisk(expressions[0], '0-59');
|
|
79
|
-
expressions[1] = convertAsterisk(expressions[1], '0-59');
|
|
80
|
-
expressions[2] = convertAsterisk(expressions[2], '0-23');
|
|
81
|
-
expressions[3] = convertAsterisk(expressions[3], '1-31');
|
|
82
|
-
expressions[4] = convertAsterisk(expressions[4], '1-12');
|
|
83
|
-
expressions[5] = convertAsterisk(expressions[5], '0-6');
|
|
84
|
-
return expressions;
|
|
85
|
-
}
|
|
86
|
-
exports.convertAsterisksToRanges = convertAsterisksToRanges;
|
|
87
|
-
function replaceWithRange(expression, text, init, end) {
|
|
88
|
-
const numbers = [];
|
|
89
|
-
let last = parseInt(end);
|
|
90
|
-
let first = parseInt(init);
|
|
91
|
-
if (first > last) {
|
|
92
|
-
last = parseInt(init);
|
|
93
|
-
first = parseInt(end);
|
|
94
|
-
}
|
|
95
|
-
for (let i = first; i <= last; i++) {
|
|
96
|
-
numbers.push(i.toString());
|
|
97
|
-
}
|
|
98
|
-
return expression.replace(new RegExp(text, 'i'), numbers.join());
|
|
99
|
-
}
|
|
100
|
-
function convertRange(expression) {
|
|
101
|
-
const rangeRegEx = /(\d+)-(\d+)/;
|
|
102
|
-
let match = rangeRegEx.exec(expression);
|
|
103
|
-
while (match !== null && match.length > 0) {
|
|
104
|
-
expression = replaceWithRange(expression, match[0], match[1], match[2]);
|
|
105
|
-
match = rangeRegEx.exec(expression);
|
|
106
|
-
}
|
|
107
|
-
return expression;
|
|
108
|
-
}
|
|
109
|
-
function convertAllRanges(expressions) {
|
|
110
|
-
for (let i = 0; i < expressions.length; i++) {
|
|
111
|
-
expressions[i] = convertRange(expressions[i]);
|
|
112
|
-
}
|
|
113
|
-
return expressions;
|
|
114
|
-
}
|
|
115
|
-
function convertSteps(expressions) {
|
|
116
|
-
const stepValuePattern = /^(.+)\/(\w+)$/;
|
|
117
|
-
for (let i = 0; i < expressions.length; i++) {
|
|
118
|
-
const match = stepValuePattern.exec(expressions[i]);
|
|
119
|
-
const isStepValue = match !== null && match.length > 0;
|
|
120
|
-
if (isStepValue) {
|
|
121
|
-
const baseDivider = match[2];
|
|
122
|
-
if (isNaN(parseInt(baseDivider))) {
|
|
123
|
-
throw new Error(baseDivider + ' is not a valid step value');
|
|
124
|
-
}
|
|
125
|
-
const values = match[1].split(',');
|
|
126
|
-
const stepValues = [];
|
|
127
|
-
const divider = parseInt(baseDivider, 10);
|
|
128
|
-
for (let j = 0; j <= values.length; j++) {
|
|
129
|
-
const value = parseInt(values[j], 10);
|
|
130
|
-
if (value % divider === 0) {
|
|
131
|
-
stepValues.push(`${value}`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
expressions[i] = stepValues.join(',');
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return expressions;
|
|
138
|
-
}
|
|
139
|
-
// Function that takes care of normalization.
|
|
140
|
-
function normalizeIntegers(expressions) {
|
|
141
|
-
for (let i = 0; i < expressions.length; i++) {
|
|
142
|
-
const numbers = expressions[i].split(',');
|
|
143
|
-
for (let j = 0; j < numbers.length; j++) {
|
|
144
|
-
numbers[j] = parseInt(numbers[j]).toString();
|
|
145
|
-
}
|
|
146
|
-
expressions[i] = numbers.join(',');
|
|
147
|
-
}
|
|
148
|
-
return expressions;
|
|
149
|
-
}
|
|
150
|
-
const validationRegex = /^(?:\d+|\*|\*\/\d+)$/;
|
|
151
|
-
// Check comma-delimited list to see if elements are in range
|
|
152
|
-
function isValidExpression(expression, min, max) {
|
|
153
|
-
const options = expression.split(',');
|
|
154
|
-
for (const option of options) {
|
|
155
|
-
const optionAsInt = parseInt(option, 10);
|
|
156
|
-
if ((!Number.isNaN(optionAsInt) && (optionAsInt < min || optionAsInt > max)) || !validationRegex.test(option)) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
function isInvalidSecond(expression) {
|
|
163
|
-
return !isValidExpression(expression, 0, 59);
|
|
164
|
-
}
|
|
165
|
-
function isInvalidMinute(expression) {
|
|
166
|
-
return !isValidExpression(expression, 0, 59);
|
|
167
|
-
}
|
|
168
|
-
function isInvalidHour(expression) {
|
|
169
|
-
return !isValidExpression(expression, 0, 23);
|
|
170
|
-
}
|
|
171
|
-
function isInvalidDayOfMonth(expression) {
|
|
172
|
-
return !isValidExpression(expression, 1, 31);
|
|
173
|
-
}
|
|
174
|
-
function isInvalidMonth(expression) {
|
|
175
|
-
return !isValidExpression(expression, 1, 12);
|
|
176
|
-
}
|
|
177
|
-
function isInvalidWeekDay(expression) {
|
|
178
|
-
return !isValidExpression(expression, 0, 7);
|
|
179
|
-
}
|
|
180
|
-
function validateFields(patterns, executablePatterns) {
|
|
181
|
-
if (isInvalidSecond(executablePatterns[0]))
|
|
182
|
-
throw new Error(`${patterns[0]} is a invalid expression for second`);
|
|
183
|
-
if (isInvalidMinute(executablePatterns[1]))
|
|
184
|
-
throw new Error(`${patterns[1]} is a invalid expression for minute`);
|
|
185
|
-
if (isInvalidHour(executablePatterns[2]))
|
|
186
|
-
throw new Error(`${patterns[2]} is a invalid expression for hour`);
|
|
187
|
-
if (isInvalidDayOfMonth(executablePatterns[3]))
|
|
188
|
-
throw new Error(`${patterns[3]} is a invalid expression for day of month`);
|
|
189
|
-
if (isInvalidMonth(executablePatterns[4]))
|
|
190
|
-
throw new Error(`${patterns[4]} is a invalid expression for month`);
|
|
191
|
-
if (isInvalidWeekDay(executablePatterns[5]))
|
|
192
|
-
throw new Error(`${patterns[5]} is a invalid expression for week day`);
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Validates a Cron-Job expression pattern.
|
|
196
|
-
* Throws on error.
|
|
197
|
-
*/
|
|
198
|
-
function validateCrontab(pattern) {
|
|
199
|
-
if (typeof pattern !== 'string')
|
|
200
|
-
throw new TypeError('pattern must be a string!');
|
|
201
|
-
const patterns = pattern.split(' ');
|
|
202
|
-
const executablePatterns = convertExpression(pattern).split(' ');
|
|
203
|
-
if (patterns.length === 5)
|
|
204
|
-
patterns.unshift('0');
|
|
205
|
-
validateFields(patterns, executablePatterns);
|
|
206
|
-
return executablePatterns.join(' ');
|
|
207
|
-
}
|
|
208
|
-
exports.validateCrontab = validateCrontab;
|
|
209
|
-
/*
|
|
210
|
-
* The node-cron core allows only numbers (including multiple numbers e.g 1,2).
|
|
211
|
-
* This module is going to translate the month names, week day names and ranges
|
|
212
|
-
* to integers relatives.
|
|
213
|
-
*
|
|
214
|
-
* Month names example:
|
|
215
|
-
* - expression 0 1 1 January,Sep *
|
|
216
|
-
* - Will be translated to 0 1 1 1,9 *
|
|
217
|
-
*
|
|
218
|
-
* Week day names example:
|
|
219
|
-
* - expression 0 1 1 2 Monday,Sat
|
|
220
|
-
* - Will be translated to 0 1 1 1,5 *
|
|
221
|
-
*
|
|
222
|
-
* Ranges example:
|
|
223
|
-
* - expression 1-5 * * * *
|
|
224
|
-
* - Will be translated to 1,2,3,4,5 * * * *
|
|
225
|
-
*/
|
|
226
|
-
function convertExpression(crontab) {
|
|
227
|
-
let expressions = removeExtraSpaces(crontab).split(' ');
|
|
228
|
-
expressions = prependSecondExpression(expressions);
|
|
229
|
-
expressions[4] = monthNamesConversion(expressions[4]);
|
|
230
|
-
expressions[5] = weekDayNamesConversion(expressions[5]);
|
|
231
|
-
expressions = convertAsterisksToRanges(expressions);
|
|
232
|
-
expressions = convertAllRanges(expressions);
|
|
233
|
-
expressions = convertSteps(expressions);
|
|
234
|
-
expressions = normalizeIntegers(expressions);
|
|
235
|
-
return expressions.join(' ');
|
|
236
|
-
}
|
|
237
|
-
exports.convertExpression = convertExpression;
|
|
238
|
-
//////////
|
|
239
|
-
/// Time matcher
|
|
240
|
-
//////////
|
|
241
|
-
function matchPattern(pattern, nvalue) {
|
|
242
|
-
const value = `${nvalue}`;
|
|
243
|
-
if (pattern.indexOf(',') !== -1) {
|
|
244
|
-
const patterns = pattern.split(',');
|
|
245
|
-
return patterns.includes(value);
|
|
246
|
-
}
|
|
247
|
-
return pattern === value;
|
|
248
|
-
}
|
|
249
|
-
class TimeMatcher {
|
|
250
|
-
#pattern;
|
|
251
|
-
#expressions;
|
|
252
|
-
#dtf;
|
|
253
|
-
#timezone;
|
|
254
|
-
constructor(pattern, timezone) {
|
|
255
|
-
validateCrontab(pattern);
|
|
256
|
-
this.#pattern = convertExpression(pattern);
|
|
257
|
-
this.#timezone = timezone;
|
|
258
|
-
this.#expressions = this.#pattern.split(' ');
|
|
259
|
-
this.#dtf = this.#timezone
|
|
260
|
-
? new Intl.DateTimeFormat('en-US', {
|
|
261
|
-
year: 'numeric',
|
|
262
|
-
month: '2-digit',
|
|
263
|
-
day: '2-digit',
|
|
264
|
-
hour: '2-digit',
|
|
265
|
-
minute: '2-digit',
|
|
266
|
-
second: '2-digit',
|
|
267
|
-
hourCycle: 'h23',
|
|
268
|
-
fractionalSecondDigits: 3,
|
|
269
|
-
timeZone: this.#timezone,
|
|
270
|
-
})
|
|
271
|
-
: null;
|
|
272
|
-
}
|
|
273
|
-
match(date) {
|
|
274
|
-
date = this.#apply(date);
|
|
275
|
-
const runOnSecond = matchPattern(this.#expressions[0], date.getSeconds());
|
|
276
|
-
const runOnMinute = matchPattern(this.#expressions[1], date.getMinutes());
|
|
277
|
-
const runOnHour = matchPattern(this.#expressions[2], date.getHours());
|
|
278
|
-
const runOnDay = this.#runsThisDay(date);
|
|
279
|
-
return runOnSecond && runOnMinute && runOnHour && runOnDay;
|
|
280
|
-
}
|
|
281
|
-
#runsThisDay(date) {
|
|
282
|
-
const runOnDay = matchPattern(this.#expressions[3], date.getDate());
|
|
283
|
-
const runOnMonth = matchPattern(this.#expressions[4], date.getMonth() + 1);
|
|
284
|
-
const runOnWeekDay = matchPattern(this.#expressions[5], date.getDay());
|
|
285
|
-
return runOnDay && runOnMonth && runOnWeekDay;
|
|
286
|
-
}
|
|
287
|
-
nextWakeupTime(date) {
|
|
288
|
-
// This is conservative. Some schedules never occur, such as the 30th of February, but you can ask for them
|
|
289
|
-
const time = typeof date === 'number' ? date : date.getTime();
|
|
290
|
-
let msec = Math.round(time);
|
|
291
|
-
// This can be optimized by skipping ahead, but unit test first
|
|
292
|
-
for (let maxIters = 3600; --maxIters; maxIters > 0) {
|
|
293
|
-
msec += 1000;
|
|
294
|
-
const nd = new Date(msec);
|
|
295
|
-
if (this.match(nd))
|
|
296
|
-
return nd;
|
|
297
|
-
}
|
|
298
|
-
return new Date(msec);
|
|
299
|
-
}
|
|
300
|
-
#apply(date) {
|
|
301
|
-
if (this.#dtf) {
|
|
302
|
-
return new Date(this.#dtf.format(date));
|
|
303
|
-
}
|
|
304
|
-
return typeof date === 'number' ? new Date(date) : date;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
exports.TimeMatcher = TimeMatcher;
|
|
308
|
-
//# sourceMappingURL=crontab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crontab.js","sourceRoot":"","sources":["../../../src/scheduler/crontab.ts"],"names":[],"mappings":"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"}
|