trigger.dev 3.3.17 → 4.0.0-v4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +31 -0
  2. package/dist/esm/apiClient.d.ts +70 -72
  3. package/dist/esm/apiClient.js +195 -31
  4. package/dist/esm/apiClient.js.map +1 -1
  5. package/dist/esm/build/buildWorker.d.ts +7 -6
  6. package/dist/esm/build/buildWorker.js +10 -36
  7. package/dist/esm/build/buildWorker.js.map +1 -1
  8. package/dist/esm/build/bundle.d.ts +12 -1
  9. package/dist/esm/build/bundle.js +65 -20
  10. package/dist/esm/build/bundle.js.map +1 -1
  11. package/dist/esm/build/entryPoints.js +17 -6
  12. package/dist/esm/build/entryPoints.js.map +1 -1
  13. package/dist/esm/build/packageModules.d.ts +14 -5
  14. package/dist/esm/build/packageModules.js +135 -35
  15. package/dist/esm/build/packageModules.js.map +1 -1
  16. package/dist/esm/cli/common.js +5 -3
  17. package/dist/esm/cli/common.js.map +1 -1
  18. package/dist/esm/cli/index.js +4 -0
  19. package/dist/esm/cli/index.js.map +1 -1
  20. package/dist/esm/commands/deploy.js +2 -1
  21. package/dist/esm/commands/deploy.js.map +1 -1
  22. package/dist/esm/commands/dev.d.ts +9 -0
  23. package/dist/esm/commands/dev.js +10 -1
  24. package/dist/esm/commands/dev.js.map +1 -1
  25. package/dist/esm/commands/init.js +6 -3
  26. package/dist/esm/commands/init.js.map +1 -1
  27. package/dist/esm/commands/list-profiles.d.ts +2 -6
  28. package/dist/esm/commands/list-profiles.js +7 -4
  29. package/dist/esm/commands/list-profiles.js.map +1 -1
  30. package/dist/esm/commands/login.js +3 -2
  31. package/dist/esm/commands/login.js.map +1 -1
  32. package/dist/esm/commands/switch.d.ts +19 -0
  33. package/dist/esm/commands/switch.js +68 -0
  34. package/dist/esm/commands/switch.js.map +1 -0
  35. package/dist/esm/commands/trigger.d.ts +33 -0
  36. package/dist/esm/commands/trigger.js +88 -0
  37. package/dist/esm/commands/trigger.js.map +1 -0
  38. package/dist/esm/commands/workers/build.d.ts +4 -0
  39. package/dist/esm/commands/workers/build.js +340 -0
  40. package/dist/esm/commands/workers/build.js.map +1 -0
  41. package/dist/esm/commands/workers/create.d.ts +2 -0
  42. package/dist/esm/commands/workers/create.js +91 -0
  43. package/dist/esm/commands/workers/create.js.map +1 -0
  44. package/dist/esm/commands/workers/index.d.ts +2 -0
  45. package/dist/esm/commands/workers/index.js +13 -0
  46. package/dist/esm/commands/workers/index.js.map +1 -0
  47. package/dist/esm/commands/workers/list.d.ts +2 -0
  48. package/dist/esm/commands/workers/list.js +80 -0
  49. package/dist/esm/commands/workers/list.js.map +1 -0
  50. package/dist/esm/commands/workers/run.d.ts +2 -0
  51. package/dist/esm/commands/workers/run.js +105 -0
  52. package/dist/esm/commands/workers/run.js.map +1 -0
  53. package/dist/esm/config.js +11 -1
  54. package/dist/esm/config.js.map +1 -1
  55. package/dist/esm/deploy/buildImage.d.ts +1 -1
  56. package/dist/esm/deploy/buildImage.js +54 -34
  57. package/dist/esm/deploy/buildImage.js.map +1 -1
  58. package/dist/esm/dev/backgroundWorker.d.ts +2 -240
  59. package/dist/esm/dev/backgroundWorker.js +8 -305
  60. package/dist/esm/dev/backgroundWorker.js.map +1 -1
  61. package/dist/esm/dev/devOutput.js +13 -5
  62. package/dist/esm/dev/devOutput.js.map +1 -1
  63. package/dist/esm/dev/devSession.js +25 -48
  64. package/dist/esm/dev/devSession.js.map +1 -1
  65. package/dist/esm/dev/devSupervisor.d.ts +12 -0
  66. package/dist/esm/dev/devSupervisor.js +515 -0
  67. package/dist/esm/dev/devSupervisor.js.map +1 -0
  68. package/dist/esm/dev/lock.d.ts +1 -0
  69. package/dist/esm/dev/lock.js +80 -0
  70. package/dist/esm/dev/lock.js.map +1 -0
  71. package/dist/esm/dev/mcpServer.d.ts +10 -0
  72. package/dist/esm/dev/mcpServer.js +201 -0
  73. package/dist/esm/dev/mcpServer.js.map +1 -0
  74. package/dist/esm/dev/workerRuntime.d.ts +0 -1
  75. package/dist/esm/dev/workerRuntime.js +1 -335
  76. package/dist/esm/dev/workerRuntime.js.map +1 -1
  77. package/dist/esm/entryPoints/dev-index-worker.js +9 -7
  78. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -1
  79. package/dist/esm/entryPoints/dev-run-controller.d.ts +53 -0
  80. package/dist/esm/entryPoints/dev-run-controller.js +615 -0
  81. package/dist/esm/entryPoints/dev-run-controller.js.map +1 -0
  82. package/dist/esm/entryPoints/dev-run-worker.js +276 -174
  83. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
  84. package/dist/esm/entryPoints/{deploy-index-controller.js → managed-index-controller.js} +3 -1
  85. package/dist/esm/entryPoints/managed-index-controller.js.map +1 -0
  86. package/dist/esm/entryPoints/{deploy-index-worker.js → managed-index-worker.js} +12 -24
  87. package/dist/esm/entryPoints/managed-index-worker.js.map +1 -0
  88. package/dist/esm/entryPoints/managed-run-controller.js +1350 -0
  89. package/dist/esm/entryPoints/managed-run-controller.js.map +1 -0
  90. package/dist/esm/entryPoints/{deploy-run-worker.js → managed-run-worker.js} +104 -67
  91. package/dist/esm/entryPoints/managed-run-worker.js.map +1 -0
  92. package/dist/esm/executions/taskRunProcess.d.ts +18 -79
  93. package/dist/esm/executions/taskRunProcess.js +74 -28
  94. package/dist/esm/executions/taskRunProcess.js.map +1 -1
  95. package/dist/esm/indexing/indexWorkerManifest.d.ts +9 -2
  96. package/dist/esm/indexing/registerResources.d.ts +2 -0
  97. package/dist/esm/indexing/registerResources.js +40 -0
  98. package/dist/esm/indexing/registerResources.js.map +1 -0
  99. package/dist/esm/utilities/configFiles.d.ts +36 -15
  100. package/dist/esm/utilities/configFiles.js +73 -26
  101. package/dist/esm/utilities/configFiles.js.map +1 -1
  102. package/dist/esm/utilities/eventBus.d.ts +6 -3
  103. package/dist/esm/utilities/eventBus.js.map +1 -1
  104. package/dist/esm/utilities/initialBanner.js +18 -6
  105. package/dist/esm/utilities/initialBanner.js.map +1 -1
  106. package/dist/esm/utilities/sanitizeEnvVars.d.ts +16 -3
  107. package/dist/esm/utilities/sanitizeEnvVars.js +15 -0
  108. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -1
  109. package/dist/esm/version.js +1 -1
  110. package/package.json +12 -6
  111. package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
  112. package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
  113. package/dist/esm/entryPoints/deploy-run-controller.js +0 -1141
  114. package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
  115. package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
  116. package/dist/esm/indexing/registerTasks.d.ts +0 -2
  117. package/dist/esm/indexing/registerTasks.js +0 -65
  118. package/dist/esm/indexing/registerTasks.js.map +0 -1
  119. /package/dist/esm/entryPoints/{deploy-index-controller.d.ts → managed-index-controller.d.ts} +0 -0
  120. /package/dist/esm/entryPoints/{deploy-index-worker.d.ts → managed-index-worker.d.ts} +0 -0
  121. /package/dist/esm/entryPoints/{deploy-run-controller.d.ts → managed-run-controller.d.ts} +0 -0
  122. /package/dist/esm/entryPoints/{deploy-run-worker.d.ts → managed-run-worker.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-run-controller.js","sourceRoot":"","sources":["../../../src/entryPoints/dev-run-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,GAOjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAsBpD,MAAM,OAAO,gBAAgB;IA2BE;IA1BrB,cAAc,CAAkB;IACvB,MAAM,CAAmB;IACzB,UAAU,CAAe;IACzB,YAAY,CAAmB;IAC/B,wBAAwB,CAAS;IACjC,cAAc,CAAmB;IACjC,2BAA2B,CAAS;IAE7C,KAAK,GAQL,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAElB,aAAa,CAAC,GAAQ,EAAE,QAAkB;QAChD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QAE7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,YAA6B,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;QACxD,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACrD,GAAG,EAAE,IAAI,CAAC,aAAa;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC;QACpE,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QAErC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC;YACzC,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAE/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;oBACnD,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,OAAO,EAAE,wBAAwB;oBACjC,UAAU,EAAE;wBACV,UAAU,EAAE,IAAI,CAAC,kBAAkB;qBACpC;iBACF,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEnF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;oBAEnF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;wBACnD,IAAI,EAAE,IAAI,IAAI,EAAE;wBAChB,OAAO,EAAE,uBAAuB;wBAChC,UAAU,EAAE;4BACV,UAAU,EAAE,IAAI,CAAC,kBAAkB;4BACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;yBACtB;qBACF,CAAC,CAAC;oBAEH,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,2BAA2B,GAAG,IAAI;YACnD,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5E,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACvC,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACpD,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAErD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CACrD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB;oBACE,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,CAAC;iBACV,CACF,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,wBAAwB,GAAG,IAAI;YAChD,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,uGAAuG;IAC/F,cAAc,CAAC,GAAQ,EAAE,QAAkB;QACjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,wDAAwD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACnF,UAAU,EAAE;oBACV,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;oBAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,UAAU,EAAE;oBACV,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU;oBACvC,QAAQ,EAAE,GAAG,CAAC,UAAU;oBACxB,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU;oBACjD,aAAa,EAAE,QAAQ,CAAC,UAAU;iBACnC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,sCAAsC;gBAC/C,UAAU,EAAE;oBACV,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC;aACF,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,wCAAwC;gBACjD,UAAU,EAAE;oBACV,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS;oBAC3D,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;iBACjD;aACF,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE;gBACH,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC;YACD,QAAQ,EAAE;gBACR,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;SACF,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,SAA0B,SAAS;QACxD,0CAA0C;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,IAAI,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAE3B,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAErC,IAAI,CAAC,+BAA+B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEO,2BAA2B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAoC;QACrF,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEO,+BAA+B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAoC;QACzF,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,IAAY,kBAAkB;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;IAED,IAAI,gBAAgB;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEO,wBAAwB,GAAG,KAAK,CAAC;IAEjC,KAAK,CAAC,oBAAoB,CAAC,EACjC,GAAG,EACH,QAAQ,EACR,mBAAmB,GACgD;QACnE,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,8EAA8E;QAC9E,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;oBACxD,KAAK,EAAE,GAAG,CAAC,UAAU;oBACrB,UAAU,EAAE,IAAI,CAAC,kBAAkB;iBACpC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,OAAO,EAAE,sCAAsC;oBAC/C,UAAU,EAAE;wBACV,aAAa,EAAE,QAAQ,CAAC,UAAU;wBAClC,iBAAiB,EAAE,QAAQ,CAAC,eAAe;qBAC5C;iBACF,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAEnF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,OAAO,EAAE,sCAAsC;oBAC/C,UAAU,EAAE;wBACV,UAAU,EAAE,IAAI,CAAC,kBAAkB;wBACnC,cAAc,EAAE,QAAQ,CAAC,eAAe;qBACzC;iBACF,CAAC,CAAC;gBAEH,OAAO;YACT,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,CAAC,eAAe,EAAE,EAAE;gBAChE,GAAG;gBACH,aAAa,EAAE,IAAI,CAAC,kBAAkB;gBACtC,WAAW,EAAE,QAAQ;gBACrB,mBAAmB,EAAE,mBAAmB,CAAC,MAAM;aAChD,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,oBAAoB,QAAQ,CAAC,eAAe,EAAE;gBACvD,UAAU,EAAE;oBACV,aAAa,EAAE,IAAI,CAAC,kBAAkB;oBACtC,aAAa,EAAE,QAAQ,CAAC,UAAU;oBAClC,mBAAmB,EAAE,mBAAmB,CAAC,MAAM;iBAChD;aACF,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;oBAC/D,GAAG;oBACH,QAAQ;oBACR,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,QAAQ,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACjC,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC7B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;4BACjE,KAAK;yBACN,CAAC,CAAC;wBAEH,IAAI,CAAC;4BACH,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC7C,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvF,CAAC;wBAED,OAAO;oBACT,CAAC;oBAED,OAAO;gBACT,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBACD,KAAK,2BAA2B,CAAC,CAAC,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE/D,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAChE,CAAC;oBAED,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACpD,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;4BACpD,aAAa,EAAE,QAAQ,CAAC,UAAU;4BAClC,aAAa,EAAE,IAAI,CAAC,kBAAkB;yBACvC,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,yCAAyC;oBACzC,OAAO;gBACT,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;wBAChD,GAAG;wBACH,QAAQ;qBACT,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAE5D,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;wBACvD,OAAO;oBACT,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,oEAAoE,EAAE;wBACjF,GAAG;wBACH,QAAQ;qBACT,CAAC,CAAC;oBAEH,OAAO;gBACT,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAExD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACrC,OAAO;oBACT,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBAEzE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;wBACzB,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;4BACjE,mBAAmB;yBACpB,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;wBAC5C,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACpD,CAAC;oBAED,OAAO;gBACT,CAAC;gBACD,KAAK,aAAa,CAAC;gBACnB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;gBAC/C,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,mCAAmC;gBAC5C,UAAU,EAAE;oBACV,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D;aACF,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,EACtC,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,GAAG,KAAK,GAMpB;QACC,IAAI,CAAC,2BAA2B,CAAC;YAC/B,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;YAClC,QAAQ,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE;SAC7C,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAE3F,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAE/E,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;QAEtD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QAEzD,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEzD,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;YAC7C,KAAK,EAAE,GAAG,CAAC,UAAU;YACrB,QAAQ,EAAE,QAAQ,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG;YACd;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,gBAAgB;gBAC3B,QAAQ,EAAE,eAAe;aAC1B;SACF,CAAC,MAAM,CACN,UAAU;YACR,CAAC,CAAC;gBACE;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE;oBAC/B,QAAQ,EAAE,CAAC;iBACZ;aACF;YACH,CAAC,CAAC,EAAE,CACP,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,KAAK;aACN,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,KAAK,EAAE,GAAG,CAAC,UAAU;gBACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;aAC3C,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;gBACpB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC;aACR,CAAC;YAEzC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CACnE,GAAG,CAAC,UAAU,EACd,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,EAC9C,EAAE,UAAU,EAAE,CACf,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBACtD,KAAK,EAAE,gBAAgB,CAAC,KAAK;iBAC9B,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEvF,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE1E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,EACvB,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,GAGR;QACC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACzC,GAAG,EAAE;gBACH,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC;gBACjC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC/C,4BAA4B,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC;gBACnF,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aACxE;YACD,YAAY,EAAE;gBACZ,EAAE,EAAE,WAAW;gBACf,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW;gBAC/C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO;gBAC/C,MAAM,EAAE,IAAI;aACb;YACD,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC,CAAC,UAAU,EAAE,CAAC;QAEhB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;YACzC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;YAC/B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACnD,OAAO,EAAE;gBACP,SAAS;gBACT,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;gBAC9C,OAAO;aACR;YACD,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBAC/E,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE;gBACxE,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,UAAU,EAAE,IAAI,CAAC,kBAAkB;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CACnE,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB;YACE,UAAU;SACX,CACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC1C,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,UAAkC,EAClC,MAAgC,EAChC,SAA2B;QAE3B,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtF,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAEpE,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;YAC1C,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC,yBAAyB,CAAC;gBAC7B,aAAa,EAAE,GAAG,CAAC,UAAU;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,aAAa,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,SAAS,EACT,UAAU,EACV,UAAU,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAClC,CAAC;QAEF,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,cAA+B;QACzC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,yBAAyB,CAAC;YACnC,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU;YAC5C,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,UAAU;YACtD,UAAU,EAAE,cAAc,CAAC,UAAU;SACtC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAEhG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,6BAA6B;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -1,56 +1,66 @@
1
- import { clock, logger, runtime, taskCatalog, TaskRunErrorCodes, WorkerToExecutorMessageCatalog, WorkerManifest, ExecutorToWorkerMessageCatalog, timeout, runMetadata, waitUntil, apiClientManager, runTimelineMetrics, } from "@trigger.dev/core/v3";
1
+ import { apiClientManager, clock, ExecutorToWorkerMessageCatalog, lifecycleHooks, localsAPI, logger, resourceCatalog, runMetadata, runtime, runTimelineMetrics, TaskRunErrorCodes, timeout, waitUntil, WorkerManifest, WorkerToExecutorMessageCatalog, } from "@trigger.dev/core/v3";
2
2
  import { TriggerTracer } from "@trigger.dev/core/v3/tracer";
3
- import { DevRuntimeManager } from "@trigger.dev/core/v3/dev";
4
- import { ConsoleInterceptor, DevUsageManager, UsageTimeoutManager, DurableClock, getEnvVar, logLevels, OtelTaskLogger, StandardTaskCatalog, TaskExecutor, TracingSDK, usage, getNumberEnvVar, StandardMetadataManager, StandardWaitUntilManager, StandardRunTimelineMetricsManager, } from "@trigger.dev/core/v3/workers";
3
+ import { ConsoleInterceptor, DevUsageManager, DurableClock, getEnvVar, getNumberEnvVar, logLevels, ManagedRuntimeManager, OtelTaskLogger, populateEnv, StandardLifecycleHooksManager, StandardLocalsManager, StandardMetadataManager, StandardResourceCatalog, StandardRunTimelineMetricsManager, StandardWaitUntilManager, TaskExecutor, TracingSDK, usage, UsageTimeoutManager, } from "@trigger.dev/core/v3/workers";
5
4
  import { ZodIpcConnection } from "@trigger.dev/core/v3/zodIpc";
6
5
  import { readFile } from "node:fs/promises";
6
+ import { setInterval, setTimeout } from "node:timers/promises";
7
7
  import sourceMapSupport from "source-map-support";
8
- import { VERSION } from "../version.js";
9
8
  import { env } from "std-env";
10
9
  import { normalizeImportPath } from "../utilities/normalizeImportPath.js";
10
+ import { VERSION } from "../version.js";
11
11
  sourceMapSupport.install({
12
12
  handleUncaughtExceptions: false,
13
13
  environment: "node",
14
14
  hookRequire: false,
15
15
  });
16
16
  process.on("uncaughtException", function (error, origin) {
17
+ logError("Uncaught exception", { error, origin });
17
18
  if (error instanceof Error) {
18
19
  process.send &&
19
20
  process.send({
20
- type: "UNCAUGHT_EXCEPTION",
21
- payload: {
22
- error: { name: error.name, message: error.message, stack: error.stack },
23
- origin,
21
+ type: "EVENT",
22
+ message: {
23
+ type: "UNCAUGHT_EXCEPTION",
24
+ payload: {
25
+ error: { name: error.name, message: error.message, stack: error.stack },
26
+ origin,
27
+ },
28
+ version: "v1",
24
29
  },
25
- version: "v1",
26
30
  });
27
31
  }
28
32
  else {
29
33
  process.send &&
30
34
  process.send({
31
- type: "UNCAUGHT_EXCEPTION",
32
- payload: {
33
- error: {
34
- name: "Error",
35
- message: typeof error === "string" ? error : JSON.stringify(error),
35
+ type: "EVENT",
36
+ message: {
37
+ type: "UNCAUGHT_EXCEPTION",
38
+ payload: {
39
+ error: {
40
+ name: "Error",
41
+ message: typeof error === "string" ? error : JSON.stringify(error),
42
+ },
43
+ origin,
36
44
  },
37
- origin,
45
+ version: "v1",
38
46
  },
39
- version: "v1",
40
47
  });
41
48
  }
42
49
  });
50
+ const heartbeatIntervalMs = getEnvVar("HEARTBEAT_INTERVAL_MS");
51
+ const standardLocalsManager = new StandardLocalsManager();
52
+ localsAPI.setGlobalLocalsManager(standardLocalsManager);
43
53
  const standardRunTimelineMetricsManager = new StandardRunTimelineMetricsManager();
44
54
  runTimelineMetrics.setGlobalManager(standardRunTimelineMetricsManager);
45
- taskCatalog.setGlobalTaskCatalog(new StandardTaskCatalog());
46
- const durableClock = new DurableClock();
47
- clock.setGlobalClock(durableClock);
55
+ const standardLifecycleHooksManager = new StandardLifecycleHooksManager();
56
+ lifecycleHooks.setGlobalLifecycleHooksManager(standardLifecycleHooksManager);
48
57
  const devUsageManager = new DevUsageManager();
49
58
  usage.setGlobalUsageManager(devUsageManager);
50
- const devRuntimeManager = new DevRuntimeManager();
51
- runtime.setGlobalRuntimeManager(devRuntimeManager);
52
59
  timeout.setGlobalManager(new UsageTimeoutManager(devUsageManager));
53
- const runMetadataManager = new StandardMetadataManager(apiClientManager.clientOrThrow(), getEnvVar("TRIGGER_STREAM_URL", getEnvVar("TRIGGER_API_URL")) ?? "https://api.trigger.dev", (getEnvVar("TRIGGER_REALTIME_STREAM_VERSION") ?? "v1"));
60
+ resourceCatalog.setGlobalResourceCatalog(new StandardResourceCatalog());
61
+ const durableClock = new DurableClock();
62
+ clock.setGlobalClock(durableClock);
63
+ const runMetadataManager = new StandardMetadataManager(apiClientManager.clientOrThrow(), getEnvVar("TRIGGER_STREAM_URL", getEnvVar("TRIGGER_API_URL")) ?? "https://api.trigger.dev");
54
64
  runMetadata.setGlobalManager(runMetadataManager);
55
65
  const waitUntilManager = new StandardWaitUntilManager();
56
66
  waitUntil.setGlobalManager(waitUntilManager);
@@ -60,7 +70,7 @@ waitUntil.register({
60
70
  promise: () => runMetadataManager.waitForAllStreams(),
61
71
  });
62
72
  const triggerLogLevel = getEnvVar("TRIGGER_LOG_LEVEL");
63
- standardRunTimelineMetricsManager.seedMetricsFromEnvironment();
73
+ const showInternalLogs = getEnvVar("RUN_WORKER_SHOW_LOGS") === "true";
64
74
  async function importConfig(configPath) {
65
75
  const configModule = await import(normalizeImportPath(configPath));
66
76
  const config = configModule?.default ?? configModule?.config;
@@ -76,6 +86,7 @@ async function loadWorkerManifest() {
76
86
  }
77
87
  async function bootstrap() {
78
88
  const workerManifest = await loadWorkerManifest();
89
+ resourceCatalog.registerWorkerManifest(workerManifest);
79
90
  const { config, handleError } = await importConfig(workerManifest.configPath);
80
91
  const tracingSDK = new TracingSDK({
81
92
  url: env.OTEL_EXPORTER_OTLP_ENDPOINT ?? "http://0.0.0.0:4318",
@@ -95,11 +106,34 @@ async function bootstrap() {
95
106
  level: logLevels.includes(configLogLevel) ? configLogLevel : "info",
96
107
  });
97
108
  logger.setGlobalTaskLogger(otelTaskLogger);
98
- for (const task of workerManifest.tasks) {
99
- taskCatalog.registerTaskFileMetadata(task.id, {
100
- exportName: task.exportName,
101
- filePath: task.filePath,
102
- entryPoint: task.entryPoint,
109
+ if (config.init) {
110
+ lifecycleHooks.registerGlobalInitHook({
111
+ id: "config",
112
+ fn: config.init,
113
+ });
114
+ }
115
+ if (config.onStart) {
116
+ lifecycleHooks.registerGlobalStartHook({
117
+ id: "config",
118
+ fn: config.onStart,
119
+ });
120
+ }
121
+ if (config.onSuccess) {
122
+ lifecycleHooks.registerGlobalSuccessHook({
123
+ id: "config",
124
+ fn: config.onSuccess,
125
+ });
126
+ }
127
+ if (config.onFailure) {
128
+ lifecycleHooks.registerGlobalFailureHook({
129
+ id: "config",
130
+ fn: config.onFailure,
131
+ });
132
+ }
133
+ if (handleError) {
134
+ lifecycleHooks.registerGlobalCatchErrorHook({
135
+ id: "config",
136
+ fn: handleError,
103
137
  });
104
138
  }
105
139
  return {
@@ -107,7 +141,6 @@ async function bootstrap() {
107
141
  tracingSDK,
108
142
  consoleInterceptor,
109
143
  config,
110
- handleErrorFn: handleError,
111
144
  workerManifest,
112
145
  };
113
146
  }
@@ -119,10 +152,16 @@ const zodIpc = new ZodIpcConnection({
119
152
  emitSchema: ExecutorToWorkerMessageCatalog,
120
153
  process,
121
154
  handlers: {
122
- EXECUTE_TASK_RUN: async ({ execution, traceContext, metadata, metrics }, sender) => {
155
+ EXECUTE_TASK_RUN: async ({ execution, traceContext, metadata, metrics, env }, sender) => {
156
+ if (env) {
157
+ populateEnv(env, {
158
+ override: true,
159
+ });
160
+ }
161
+ log(`[${new Date().toISOString()}] Received EXECUTE_TASK_RUN`, execution);
123
162
  standardRunTimelineMetricsManager.registerMetricsFromExecution(metrics);
124
163
  if (_isRunning) {
125
- console.error("Worker is already running a task");
164
+ logError("Worker is already running a task");
126
165
  await sender.send("TASK_RUN_COMPLETED", {
127
166
  execution,
128
167
  result: {
@@ -135,42 +174,140 @@ const zodIpc = new ZodIpcConnection({
135
174
  usage: {
136
175
  durationMs: 0,
137
176
  },
138
- taskIdentifier: execution.task.id,
177
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
139
178
  },
140
179
  });
141
180
  return;
142
181
  }
143
- const { tracer, tracingSDK, consoleInterceptor, config, handleErrorFn, workerManifest } = await bootstrap();
144
- _tracingSDK = tracingSDK;
145
- const taskManifest = workerManifest.tasks.find((t) => t.id === execution.task.id);
146
- if (!taskManifest) {
147
- console.error(`Could not find task ${execution.task.id}`);
148
- await sender.send("TASK_RUN_COMPLETED", {
149
- execution,
150
- result: {
151
- ok: false,
152
- id: execution.run.id,
153
- error: {
154
- type: "INTERNAL_ERROR",
155
- code: TaskRunErrorCodes.COULD_NOT_FIND_TASK,
182
+ try {
183
+ const { tracer, tracingSDK, consoleInterceptor, config, workerManifest } = await bootstrap();
184
+ _tracingSDK = tracingSDK;
185
+ const taskManifest = workerManifest.tasks.find((t) => t.id === execution.task.id);
186
+ if (!taskManifest) {
187
+ logError(`Could not find task ${execution.task.id}`);
188
+ await sender.send("TASK_RUN_COMPLETED", {
189
+ execution,
190
+ result: {
191
+ ok: false,
192
+ id: execution.run.id,
193
+ error: {
194
+ type: "INTERNAL_ERROR",
195
+ code: TaskRunErrorCodes.COULD_NOT_FIND_TASK,
196
+ message: `Could not find task ${execution.task.id}. Make sure the task is exported and the ID is correct.`,
197
+ },
198
+ usage: {
199
+ durationMs: 0,
200
+ },
201
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
156
202
  },
157
- usage: {
158
- durationMs: 0,
203
+ });
204
+ return;
205
+ }
206
+ try {
207
+ await runTimelineMetrics.measureMetric("trigger.dev/start", "import", {
208
+ entryPoint: taskManifest.entryPoint,
209
+ file: taskManifest.filePath,
210
+ }, async () => {
211
+ const beforeImport = performance.now();
212
+ resourceCatalog.setCurrentFileContext(taskManifest.entryPoint, taskManifest.filePath);
213
+ // Load init file if it exists
214
+ if (workerManifest.initEntryPoint) {
215
+ try {
216
+ await import(normalizeImportPath(workerManifest.initEntryPoint));
217
+ log(`Loaded init file from ${workerManifest.initEntryPoint}`);
218
+ }
219
+ catch (err) {
220
+ logError(`Failed to load init file`, err);
221
+ throw err;
222
+ }
223
+ }
224
+ await import(normalizeImportPath(taskManifest.entryPoint));
225
+ resourceCatalog.clearCurrentFileContext();
226
+ const durationMs = performance.now() - beforeImport;
227
+ log(`Imported task ${execution.task.id} [${taskManifest.entryPoint}] in ${durationMs}ms`);
228
+ });
229
+ }
230
+ catch (err) {
231
+ logError(`Failed to import task ${execution.task.id}`, err);
232
+ await sender.send("TASK_RUN_COMPLETED", {
233
+ execution,
234
+ result: {
235
+ ok: false,
236
+ id: execution.run.id,
237
+ error: {
238
+ type: "INTERNAL_ERROR",
239
+ code: TaskRunErrorCodes.COULD_NOT_IMPORT_TASK,
240
+ message: err instanceof Error ? err.message : String(err),
241
+ stackTrace: err instanceof Error ? err.stack : undefined,
242
+ },
243
+ usage: {
244
+ durationMs: 0,
245
+ },
246
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
159
247
  },
160
- taskIdentifier: execution.task.id,
161
- },
162
- });
163
- return;
164
- }
165
- try {
166
- await runTimelineMetrics.measureMetric("trigger.dev/start", "import", {
167
- entryPoint: taskManifest.entryPoint,
168
- }, async () => {
169
- await import(normalizeImportPath(taskManifest.entryPoint));
248
+ });
249
+ return;
250
+ }
251
+ process.title = `trigger-dev-worker: ${execution.task.id} ${execution.run.id}`;
252
+ // Import the task module
253
+ const task = resourceCatalog.getTask(execution.task.id);
254
+ if (!task) {
255
+ logError(`Could not find task ${execution.task.id}`);
256
+ await sender.send("TASK_RUN_COMPLETED", {
257
+ execution,
258
+ result: {
259
+ ok: false,
260
+ id: execution.run.id,
261
+ error: {
262
+ type: "INTERNAL_ERROR",
263
+ code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR,
264
+ },
265
+ usage: {
266
+ durationMs: 0,
267
+ },
268
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
269
+ },
270
+ });
271
+ return;
272
+ }
273
+ runMetadataManager.runId = execution.run.id;
274
+ const executor = new TaskExecutor(task, {
275
+ tracer,
276
+ tracingSDK,
277
+ consoleInterceptor,
278
+ retries: config.retries,
170
279
  });
280
+ try {
281
+ _execution = execution;
282
+ _isRunning = true;
283
+ runMetadataManager.startPeriodicFlush(getNumberEnvVar("TRIGGER_RUN_METADATA_FLUSH_INTERVAL", 1000));
284
+ const measurement = usage.start();
285
+ // This lives outside of the executor because this will eventually be moved to the controller level
286
+ const signal = execution.run.maxDuration
287
+ ? timeout.abortAfterTimeout(execution.run.maxDuration)
288
+ : undefined;
289
+ const { result } = await executor.execute(execution, metadata, traceContext, signal);
290
+ const usageSample = usage.stop(measurement);
291
+ if (_isRunning) {
292
+ return sender.send("TASK_RUN_COMPLETED", {
293
+ execution,
294
+ result: {
295
+ ...result,
296
+ usage: {
297
+ durationMs: usageSample.cpuTime,
298
+ },
299
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
300
+ },
301
+ });
302
+ }
303
+ }
304
+ finally {
305
+ _execution = undefined;
306
+ _isRunning = false;
307
+ }
171
308
  }
172
309
  catch (err) {
173
- console.error(`Failed to import task ${execution.task.id}`, err);
310
+ logError("Failed to execute task", err);
174
311
  await sender.send("TASK_RUN_COMPLETED", {
175
312
  execution,
176
313
  result: {
@@ -178,138 +315,103 @@ const zodIpc = new ZodIpcConnection({
178
315
  id: execution.run.id,
179
316
  error: {
180
317
  type: "INTERNAL_ERROR",
181
- code: TaskRunErrorCodes.COULD_NOT_IMPORT_TASK,
318
+ code: TaskRunErrorCodes.CONFIGURED_INCORRECTLY,
182
319
  message: err instanceof Error ? err.message : String(err),
183
320
  stackTrace: err instanceof Error ? err.stack : undefined,
184
321
  },
185
322
  usage: {
186
323
  durationMs: 0,
187
324
  },
188
- taskIdentifier: execution.task.id,
189
- },
190
- });
191
- return;
192
- }
193
- process.title = `trigger-dev-worker: ${execution.task.id} ${execution.run.id}`;
194
- // Import the task module
195
- const task = taskCatalog.getTask(execution.task.id);
196
- if (!task) {
197
- console.error(`Could not find task ${execution.task.id}`);
198
- await sender.send("TASK_RUN_COMPLETED", {
199
- execution,
200
- result: {
201
- ok: false,
202
- id: execution.run.id,
203
- error: {
204
- type: "INTERNAL_ERROR",
205
- code: TaskRunErrorCodes.COULD_NOT_FIND_EXECUTOR,
206
- },
207
- usage: {
208
- durationMs: 0,
209
- },
210
- taskIdentifier: execution.task.id,
325
+ metadata: runMetadataManager.stopAndReturnLastFlush(),
211
326
  },
212
327
  });
213
- return;
214
- }
215
- const executor = new TaskExecutor(task, {
216
- tracer,
217
- tracingSDK,
218
- consoleInterceptor,
219
- config,
220
- handleErrorFn,
221
- });
222
- try {
223
- _execution = execution;
224
- _isRunning = true;
225
- runMetadataManager.runId = execution.run.id;
226
- runMetadataManager.startPeriodicFlush(getNumberEnvVar("TRIGGER_RUN_METADATA_FLUSH_INTERVAL", 1000));
227
- const measurement = usage.start();
228
- // This lives outside of the executor because this will eventually be moved to the controller level
229
- const signal = execution.run.maxDuration
230
- ? timeout.abortAfterTimeout(execution.run.maxDuration)
231
- : undefined;
232
- signal?.addEventListener("abort", async (e) => {
233
- if (_isRunning) {
234
- _isRunning = false;
235
- _execution = undefined;
236
- const usageSample = usage.stop(measurement);
237
- await sender.send("TASK_RUN_COMPLETED", {
238
- execution,
239
- result: {
240
- ok: false,
241
- id: execution.run.id,
242
- error: {
243
- type: "INTERNAL_ERROR",
244
- code: TaskRunErrorCodes.MAX_DURATION_EXCEEDED,
245
- message: signal.reason instanceof Error ? signal.reason.message : String(signal.reason),
246
- },
247
- usage: {
248
- durationMs: usageSample.cpuTime,
249
- },
250
- taskIdentifier: execution.task.id,
251
- metadata: runMetadataManager.stopAndReturnLastFlush(),
252
- },
253
- });
254
- }
255
- });
256
- const { result } = await executor.execute(execution, metadata, traceContext, measurement, signal);
257
- const usageSample = usage.stop(measurement);
258
- if (_isRunning) {
259
- return sender.send("TASK_RUN_COMPLETED", {
260
- execution,
261
- result: {
262
- ...result,
263
- usage: {
264
- durationMs: usageSample.cpuTime,
265
- },
266
- taskIdentifier: execution.task.id,
267
- metadata: runMetadataManager.stopAndReturnLastFlush(),
268
- },
269
- });
270
- }
271
- }
272
- finally {
273
- _execution = undefined;
274
- _isRunning = false;
275
328
  }
276
329
  },
277
- TASK_RUN_COMPLETED_NOTIFICATION: async (payload) => {
278
- switch (payload.version) {
279
- case "v1": {
280
- devRuntimeManager.resumeTask(payload.completion, payload.execution.run.id);
281
- break;
282
- }
283
- case "v2": {
284
- devRuntimeManager.resumeTask(payload.completion, payload.completion.id);
285
- break;
286
- }
287
- }
330
+ TASK_RUN_COMPLETED_NOTIFICATION: async () => {
331
+ await managedWorkerRuntime.completeWaitpoints([]);
332
+ },
333
+ WAIT_COMPLETED_NOTIFICATION: async () => {
334
+ await managedWorkerRuntime.completeWaitpoints([]);
288
335
  },
289
336
  FLUSH: async ({ timeoutInMs }, sender) => {
290
- await Promise.allSettled([_tracingSDK?.flush(), runMetadataManager.flush()]);
337
+ await flushAll(timeoutInMs);
338
+ },
339
+ WAITPOINT_CREATED: async ({ wait, waitpoint }) => {
340
+ managedWorkerRuntime.associateWaitWithWaitpoint(wait.id, waitpoint.id);
341
+ },
342
+ WAITPOINT_COMPLETED: async ({ waitpoint }) => {
343
+ managedWorkerRuntime.completeWaitpoints([waitpoint]);
291
344
  },
292
345
  },
293
346
  });
294
- process.title = "trigger-dev-worker";
295
- async function asyncHeartbeat(initialDelayInSeconds = 30, intervalInSeconds = 30) {
296
- async function _doHeartbeat() {
297
- while (true) {
298
- if (_isRunning && _execution) {
299
- try {
300
- await zodIpc.send("TASK_HEARTBEAT", { id: _execution.attempt.id });
301
- }
302
- catch (err) {
303
- console.error("Failed to send HEARTBEAT message", err);
304
- }
305
- }
306
- await new Promise((resolve) => setTimeout(resolve, 1000 * intervalInSeconds));
347
+ async function flushAll(timeoutInMs = 10_000) {
348
+ const now = performance.now();
349
+ const results = await Promise.allSettled([
350
+ flushTracingSDK(timeoutInMs),
351
+ flushMetadata(timeoutInMs),
352
+ ]);
353
+ const successfulFlushes = results
354
+ .filter((result) => result.status === "fulfilled")
355
+ .map((result) => result.value.flushed);
356
+ const failedFlushes = ["tracingSDK", "runMetadata"].filter((flushed) => !successfulFlushes.includes(flushed));
357
+ if (failedFlushes.length > 0) {
358
+ logError(`Failed to flush ${failedFlushes.join(", ")}`);
359
+ }
360
+ const errorMessages = results
361
+ .filter((result) => result.status === "rejected")
362
+ .map((result) => result.reason);
363
+ if (errorMessages.length > 0) {
364
+ logError(errorMessages.join("\n"));
365
+ }
366
+ for (const flushed of successfulFlushes) {
367
+ log(`Flushed ${flushed} successfully`);
368
+ }
369
+ const duration = performance.now() - now;
370
+ log(`Flushed all in ${duration}ms`);
371
+ }
372
+ async function flushTracingSDK(timeoutInMs = 10_000) {
373
+ const now = performance.now();
374
+ await Promise.race([_tracingSDK?.flush(), setTimeout(timeoutInMs)]);
375
+ const duration = performance.now() - now;
376
+ log(`Flushed tracingSDK in ${duration}ms`);
377
+ return {
378
+ flushed: "tracingSDK",
379
+ durationMs: duration,
380
+ };
381
+ }
382
+ async function flushMetadata(timeoutInMs = 10_000) {
383
+ const now = performance.now();
384
+ await Promise.race([runMetadataManager.flush(), setTimeout(timeoutInMs)]);
385
+ const duration = performance.now() - now;
386
+ log(`Flushed runMetadata in ${duration}ms`);
387
+ return {
388
+ flushed: "runMetadata",
389
+ durationMs: duration,
390
+ };
391
+ }
392
+ const managedWorkerRuntime = new ManagedRuntimeManager(zodIpc, showInternalLogs);
393
+ runtime.setGlobalRuntimeManager(managedWorkerRuntime);
394
+ process.title = "trigger-managed-worker";
395
+ const heartbeatInterval = parseInt(heartbeatIntervalMs ?? "30000", 10);
396
+ for await (const _ of setInterval(heartbeatInterval)) {
397
+ if (_isRunning && _execution) {
398
+ try {
399
+ await zodIpc.send("TASK_HEARTBEAT", { id: _execution.attempt.id });
400
+ }
401
+ catch (err) {
402
+ logError("Failed to send HEARTBEAT message", err);
307
403
  }
308
404
  }
309
- // Wait for the initial delay
310
- await new Promise((resolve) => setTimeout(resolve, 1000 * initialDelayInSeconds));
311
- // Wait for 5 seconds before the next execution
312
- return _doHeartbeat();
313
405
  }
314
- await asyncHeartbeat();
406
+ function log(message, ...args) {
407
+ if (!showInternalLogs)
408
+ return;
409
+ console.log(`[${new Date().toISOString()}] ${message}`, args);
410
+ }
411
+ function logError(message, error) {
412
+ if (!showInternalLogs)
413
+ return;
414
+ console.error(`[${new Date().toISOString()}] ${message}`, error);
415
+ }
416
+ log(`Executor started`);
315
417
  //# sourceMappingURL=dev-run-worker.js.map