prefect 3.6.13__py3-none-any.whl → 3.6.13.dev2__py3-none-any.whl

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 (220) hide show
  1. prefect/_build_info.py +3 -3
  2. prefect/_internal/compatibility/blocks.py +0 -18
  3. prefect/client/schemas/filters.py +0 -24
  4. prefect/flow_engine.py +10 -192
  5. prefect/flows.py +2 -61
  6. prefect/results.py +21 -262
  7. prefect/runner/runner.py +82 -29
  8. prefect/runner/storage.py +2 -3
  9. prefect/server/schemas/filters.py +0 -45
  10. prefect/server/ui-v2/assets/{artifact-card-CUEaRDGw.js → artifact-card-C8JEQRHl.js} +2 -2
  11. prefect/server/ui-v2/assets/{artifact-card-CUEaRDGw.js.map → artifact-card-C8JEQRHl.js.map} +1 -1
  12. prefect/server/ui-v2/assets/{artifact._id-Ca6VCUS0.js → artifact._id-67V8kTg9.js} +2 -2
  13. prefect/server/ui-v2/assets/{artifact._id-Ca6VCUS0.js.map → artifact._id-67V8kTg9.js.map} +1 -1
  14. prefect/server/ui-v2/assets/{automation-wizard-z26pICBl.js → automation-wizard-DuxZ47Nn.js} +2 -2
  15. prefect/server/ui-v2/assets/{automation-wizard-z26pICBl.js.map → automation-wizard-DuxZ47Nn.js.map} +1 -1
  16. prefect/server/ui-v2/assets/{automation._id-DuodjY5t.js → automation._id-D8S8r4Ji.js} +2 -2
  17. prefect/server/ui-v2/assets/{automation._id-DuodjY5t.js.map → automation._id-D8S8r4Ji.js.map} +1 -1
  18. prefect/server/ui-v2/assets/{automation_._id.edit-CcuJhc-y.js → automation_._id.edit-C1fOM0Hx.js} +2 -2
  19. prefect/server/ui-v2/assets/{automation_._id.edit-CcuJhc-y.js.map → automation_._id.edit-C1fOM0Hx.js.map} +1 -1
  20. prefect/server/ui-v2/assets/{automations-header-CgOWwuc6.js → automations-header-DrijTNGi.js} +2 -2
  21. prefect/server/ui-v2/assets/{automations-header-CgOWwuc6.js.map → automations-header-DrijTNGi.js.map} +1 -1
  22. prefect/server/ui-v2/assets/{base-job-template-form-section-DN9HyjM5.js → base-job-template-form-section-BDkqOkpe.js} +2 -2
  23. prefect/server/ui-v2/assets/{base-job-template-form-section-DN9HyjM5.js.map → base-job-template-form-section-BDkqOkpe.js.map} +1 -1
  24. prefect/server/ui-v2/assets/{block-type-details-rrToxL5r.js → block-type-details-CrFHWH5D.js} +2 -2
  25. prefect/server/ui-v2/assets/{block-type-details-rrToxL5r.js.map → block-type-details-CrFHWH5D.js.map} +1 -1
  26. prefect/server/ui-v2/assets/block-type-logo-WQNm0PzP.js +2 -0
  27. prefect/server/ui-v2/assets/{block-type-logo-DURScH8H.js.map → block-type-logo-WQNm0PzP.js.map} +1 -1
  28. prefect/server/ui-v2/assets/{block._id-Bue6lnrN.js → block._id-C3gN1Ae8.js} +2 -2
  29. prefect/server/ui-v2/assets/{block._id-Bue6lnrN.js.map → block._id-C3gN1Ae8.js.map} +1 -1
  30. prefect/server/ui-v2/assets/{block_._id.edit-QY0OzN_b.js → block_._id.edit-DzPuSvat.js} +2 -2
  31. prefect/server/ui-v2/assets/{block_._id.edit-QY0OzN_b.js.map → block_._id.edit-DzPuSvat.js.map} +1 -1
  32. prefect/server/ui-v2/assets/{catalog-CGjRGWv6.js → catalog-T-7MqsyE.js} +2 -2
  33. prefect/server/ui-v2/assets/{catalog-CGjRGWv6.js.map → catalog-T-7MqsyE.js.map} +1 -1
  34. prefect/server/ui-v2/assets/{catalog_._slug-BMFNZhEb.js → catalog_._slug-DMOI61fc.js} +2 -2
  35. prefect/server/ui-v2/assets/{catalog_._slug-BMFNZhEb.js.map → catalog_._slug-DMOI61fc.js.map} +1 -1
  36. prefect/server/ui-v2/assets/{catalog_._slug_.create-CuFA3kUC.js → catalog_._slug_.create-l9bGUPi-.js} +2 -2
  37. prefect/server/ui-v2/assets/{catalog_._slug_.create-CuFA3kUC.js.map → catalog_._slug_.create-l9bGUPi-.js.map} +1 -1
  38. prefect/server/ui-v2/assets/{collapsible-Ell2FjrX.js → collapsible-DM-Ze5-Y.js} +2 -2
  39. prefect/server/ui-v2/assets/{collapsible-Ell2FjrX.js.map → collapsible-DM-Ze5-Y.js.map} +1 -1
  40. prefect/server/ui-v2/assets/{concurrency-limit._id-Rr1ysUct.js → concurrency-limit._id-BHEt9viF.js} +2 -2
  41. prefect/server/ui-v2/assets/{concurrency-limit._id-Rr1ysUct.js.map → concurrency-limit._id-BHEt9viF.js.map} +1 -1
  42. prefect/server/ui-v2/assets/{create-ewA3uq_h.js → create-BMxUOyN5.js} +2 -2
  43. prefect/server/ui-v2/assets/{create-ewA3uq_h.js.map → create-BMxUOyN5.js.map} +1 -1
  44. prefect/server/ui-v2/assets/{create-CQK8-uO1.js → create-Cq-EAHVk.js} +2 -2
  45. prefect/server/ui-v2/assets/{create-CQK8-uO1.js.map → create-Cq-EAHVk.js.map} +1 -1
  46. prefect/server/ui-v2/assets/{data-table-Bx1uYX_M.js → data-table-Bw8TZx9D.js} +2 -2
  47. prefect/server/ui-v2/assets/{data-table-Bx1uYX_M.js.map → data-table-Bw8TZx9D.js.map} +1 -1
  48. prefect/server/ui-v2/assets/{delete-confirmation-dialog-CqKsUEj_.js → delete-confirmation-dialog-CTdWZlGM.js} +2 -2
  49. prefect/server/ui-v2/assets/{delete-confirmation-dialog-CqKsUEj_.js.map → delete-confirmation-dialog-CTdWZlGM.js.map} +1 -1
  50. prefect/server/ui-v2/assets/{deployment-action-header-Bz5COdER.js → deployment-action-header-BObYqmI_.js} +2 -2
  51. prefect/server/ui-v2/assets/{deployment-action-header-Bz5COdER.js.map → deployment-action-header-BObYqmI_.js.map} +1 -1
  52. prefect/server/ui-v2/assets/{deployment-form-CrlZlNoj.js → deployment-form-CntyhRrK.js} +3 -3
  53. prefect/server/ui-v2/assets/{deployment-form-CrlZlNoj.js.map → deployment-form-CntyhRrK.js.map} +1 -1
  54. prefect/server/ui-v2/assets/{deployment-links-D9ZR_vmp.js → deployment-links-DBUSCaxB.js} +2 -2
  55. prefect/server/ui-v2/assets/{deployment-links-D9ZR_vmp.js.map → deployment-links-DBUSCaxB.js.map} +1 -1
  56. prefect/server/ui-v2/assets/{deployment._id-DvHhx-qN.js → deployment._id-BXanVFA8.js} +2 -2
  57. prefect/server/ui-v2/assets/{deployment._id-DvHhx-qN.js.map → deployment._id-BXanVFA8.js.map} +1 -1
  58. prefect/server/ui-v2/assets/{deployment._id-BV0rSqba.js → deployment._id-Q5cvHMX9.js} +2 -2
  59. prefect/server/ui-v2/assets/{deployment._id-BV0rSqba.js.map → deployment._id-Q5cvHMX9.js.map} +1 -1
  60. prefect/server/ui-v2/assets/deployment_._id.duplicate-DB-4hHHc.js +2 -0
  61. prefect/server/ui-v2/assets/{deployment_._id.duplicate-BrEOenqP.js.map → deployment_._id.duplicate-DB-4hHHc.js.map} +1 -1
  62. prefect/server/ui-v2/assets/deployment_._id.edit-CWf1RIGy.js +2 -0
  63. prefect/server/ui-v2/assets/{deployment_._id.edit-BbYKPK42.js.map → deployment_._id.edit-CWf1RIGy.js.map} +1 -1
  64. prefect/server/ui-v2/assets/{deployment_._id.run-Dv7S_MJR.js → deployment_._id.run-CoHGXFoM.js} +2 -2
  65. prefect/server/ui-v2/assets/{deployment_._id.run-Dv7S_MJR.js.map → deployment_._id.run-CoHGXFoM.js.map} +1 -1
  66. prefect/server/ui-v2/assets/{dropdown-menu-e0Fqb6aw.js → dropdown-menu-CT-s-V7d.js} +2 -2
  67. prefect/server/ui-v2/assets/{dropdown-menu-e0Fqb6aw.js.map → dropdown-menu-CT-s-V7d.js.map} +1 -1
  68. prefect/server/ui-v2/assets/{event._eventDate._eventId-Cp4UmGqq.js → event._eventDate._eventId-BITo_GYL.js} +2 -2
  69. prefect/server/ui-v2/assets/{event._eventDate._eventId-Cp4UmGqq.js.map → event._eventDate._eventId-BITo_GYL.js.map} +1 -1
  70. prefect/server/ui-v2/assets/flow-run-graph-DxIl6fzW.js +2 -0
  71. prefect/server/ui-v2/assets/{flow-run-graph-BrqoR3E2.js.map → flow-run-graph-DxIl6fzW.js.map} +1 -1
  72. prefect/server/ui-v2/assets/{flow-run._id-BOp38Pbq.js → flow-run._id-Bbm9OpDi.js} +2 -2
  73. prefect/server/ui-v2/assets/{flow-run._id-BOp38Pbq.js.map → flow-run._id-Bbm9OpDi.js.map} +1 -1
  74. prefect/server/ui-v2/assets/{flow-run._id-DJnTDEN_.js → flow-run._id-BtSgRDtA.js} +2 -2
  75. prefect/server/ui-v2/assets/{flow-run._id-DJnTDEN_.js.map → flow-run._id-BtSgRDtA.js.map} +1 -1
  76. prefect/server/ui-v2/assets/flow-run._id-DJuMECRh.js +4 -0
  77. prefect/server/ui-v2/assets/flow-run._id-DJuMECRh.js.map +1 -0
  78. prefect/server/ui-v2/assets/{flow-runs-pagination-Bq2ZUzM6.js → flow-runs-pagination-LrU9Aio8.js} +2 -2
  79. prefect/server/ui-v2/assets/{flow-runs-pagination-Bq2ZUzM6.js.map → flow-runs-pagination-LrU9Aio8.js.map} +1 -1
  80. prefect/server/ui-v2/assets/{flow._id-eCBL95rg.js → flow._id-BJBRokk4.js} +2 -2
  81. prefect/server/ui-v2/assets/{flow._id-eCBL95rg.js.map → flow._id-BJBRokk4.js.map} +1 -1
  82. prefect/server/ui-v2/assets/{form-DNerk3LS.js → form-CVSlEnl8.js} +2 -2
  83. prefect/server/ui-v2/assets/{form-DNerk3LS.js.map → form-CVSlEnl8.js.map} +1 -1
  84. prefect/server/ui-v2/assets/{header-DwagHBlF.js → header-4plZZheZ.js} +2 -2
  85. prefect/server/ui-v2/assets/{header-DwagHBlF.js.map → header-4plZZheZ.js.map} +1 -1
  86. prefect/server/ui-v2/assets/{header-huSvwxKI.js → header-9rXZ4r39.js} +2 -2
  87. prefect/server/ui-v2/assets/{header-huSvwxKI.js.map → header-9rXZ4r39.js.map} +1 -1
  88. prefect/server/ui-v2/assets/{header-B0ejRncu.js → header-D3uM8_xM.js} +2 -2
  89. prefect/server/ui-v2/assets/{header-B0ejRncu.js.map → header-D3uM8_xM.js.map} +1 -1
  90. prefect/server/ui-v2/assets/{index-DI2DC5gd.js → index-6OsEYhIi.js} +2 -2
  91. prefect/server/ui-v2/assets/{index-DI2DC5gd.js.map → index-6OsEYhIi.js.map} +1 -1
  92. prefect/server/ui-v2/assets/{index-BzN9bQeM.js → index-B7xsJ-QH.js} +2 -2
  93. prefect/server/ui-v2/assets/{index-BzN9bQeM.js.map → index-B7xsJ-QH.js.map} +1 -1
  94. prefect/server/ui-v2/assets/{index-CnIJUujl.js → index-BeoNC2tJ.js} +2 -2
  95. prefect/server/ui-v2/assets/{index-CnIJUujl.js.map → index-BeoNC2tJ.js.map} +1 -1
  96. prefect/server/ui-v2/assets/{index-CTnoa3Ho.js → index-BfJLUM7N.js} +2 -2
  97. prefect/server/ui-v2/assets/{index-CTnoa3Ho.js.map → index-BfJLUM7N.js.map} +1 -1
  98. prefect/server/ui-v2/assets/{index-CWkbSdxY.js → index-Bj0OOguP.js} +2 -2
  99. prefect/server/ui-v2/assets/{index-CWkbSdxY.js.map → index-Bj0OOguP.js.map} +1 -1
  100. prefect/server/ui-v2/assets/{index-CBhi1P9g.js → index-BlpD74iH.js} +2 -2
  101. prefect/server/ui-v2/assets/{index-CBhi1P9g.js.map → index-BlpD74iH.js.map} +1 -1
  102. prefect/server/ui-v2/assets/{index-D5RdrxkU.js → index-BvSl3DKP.js} +8 -8
  103. prefect/server/ui-v2/assets/index-BvSl3DKP.js.map +1 -0
  104. prefect/server/ui-v2/assets/{index-BU4yZRd3.js → index-CDwJvjUM.js} +2 -2
  105. prefect/server/ui-v2/assets/{index-BU4yZRd3.js.map → index-CDwJvjUM.js.map} +1 -1
  106. prefect/server/ui-v2/assets/{index-CRDz4nhM.js → index-CDyLkbVG.js} +2 -2
  107. prefect/server/ui-v2/assets/{index-CRDz4nhM.js.map → index-CDyLkbVG.js.map} +1 -1
  108. prefect/server/ui-v2/assets/{index-Cutg_A1j.js → index-ChIrfjIW.js} +2 -2
  109. prefect/server/ui-v2/assets/{index-Cutg_A1j.js.map → index-ChIrfjIW.js.map} +1 -1
  110. prefect/server/ui-v2/assets/{index-BhALpenO.js → index-CzCSgCK-.js} +2 -2
  111. prefect/server/ui-v2/assets/{index-BhALpenO.js.map → index-CzCSgCK-.js.map} +1 -1
  112. prefect/server/ui-v2/assets/{index-Dg_duvDx.js → index-D5v9S-lB.js} +2 -2
  113. prefect/server/ui-v2/assets/{index-Dg_duvDx.js.map → index-D5v9S-lB.js.map} +1 -1
  114. prefect/server/ui-v2/assets/{index-DDiyFpIV.js → index-D6GJ4go1.js} +2 -2
  115. prefect/server/ui-v2/assets/{index-DDiyFpIV.js.map → index-D6GJ4go1.js.map} +1 -1
  116. prefect/server/ui-v2/assets/{index-dSUEBAqg.js → index-DJyKqsFO.js} +2 -2
  117. prefect/server/ui-v2/assets/{index-dSUEBAqg.js.map → index-DJyKqsFO.js.map} +1 -1
  118. prefect/server/ui-v2/assets/{index-BO3SOwdV.js → index-DODEq1Pi.js} +2 -2
  119. prefect/server/ui-v2/assets/{index-BO3SOwdV.js.map → index-DODEq1Pi.js.map} +1 -1
  120. prefect/server/ui-v2/assets/{index-Dspw5HFj.js → index-DicK6p3K.js} +2 -2
  121. prefect/server/ui-v2/assets/{index-Dspw5HFj.js.map → index-DicK6p3K.js.map} +1 -1
  122. prefect/server/ui-v2/assets/{index-VOOLxiSE.js → index-DqCPbST9.js} +2 -2
  123. prefect/server/ui-v2/assets/{index-VOOLxiSE.js.map → index-DqCPbST9.js.map} +1 -1
  124. prefect/server/ui-v2/assets/{index-BTPE3vs7.js → index-DxPoKag8.js} +2 -2
  125. prefect/server/ui-v2/assets/{index-BTPE3vs7.js.map → index-DxPoKag8.js.map} +1 -1
  126. prefect/server/ui-v2/assets/{index-Wfs7Cjew.js → index-h9-QgNjZ.js} +2 -2
  127. prefect/server/ui-v2/assets/{index-Wfs7Cjew.js.map → index-h9-QgNjZ.js.map} +1 -1
  128. prefect/server/ui-v2/assets/{index-uvH5a3zO.js → index-tBdv6kBF.js} +2 -2
  129. prefect/server/ui-v2/assets/{index-uvH5a3zO.js.map → index-tBdv6kBF.js.map} +1 -1
  130. prefect/server/ui-v2/assets/{index-CgOsOj5t.js → index-udb79rgq.js} +2 -2
  131. prefect/server/ui-v2/assets/{index-CgOsOj5t.js.map → index-udb79rgq.js.map} +1 -1
  132. prefect/server/ui-v2/assets/{json-input-gXz7BuJj.js → json-input-Dt1icmrn.js} +2 -2
  133. prefect/server/ui-v2/assets/{json-input-gXz7BuJj.js.map → json-input-Dt1icmrn.js.map} +1 -1
  134. prefect/server/ui-v2/assets/{key._key-CJPbLXwU.js → key._key-Cyh5MBX_.js} +2 -2
  135. prefect/server/ui-v2/assets/{key._key-CJPbLXwU.js.map → key._key-Cyh5MBX_.js.map} +1 -1
  136. prefect/server/ui-v2/assets/{lazy-markdown-wPid80zf.js → lazy-markdown-BwIwKFRF.js} +2 -2
  137. prefect/server/ui-v2/assets/{lazy-markdown-wPid80zf.js.map → lazy-markdown-BwIwKFRF.js.map} +1 -1
  138. prefect/server/ui-v2/assets/{login-DC63bGXK.js → login-DKXFVSwk.js} +2 -2
  139. prefect/server/ui-v2/assets/{login-DC63bGXK.js.map → login-DKXFVSwk.js.map} +1 -1
  140. prefect/server/ui-v2/assets/{markdown-input-BhqrU6Eo.js → markdown-input-Dp0mBlkV.js} +2 -2
  141. prefect/server/ui-v2/assets/{markdown-input-BhqrU6Eo.js.map → markdown-input-Dp0mBlkV.js.map} +1 -1
  142. prefect/server/ui-v2/assets/{python-example-snippet-3jtXWQZN.js → python-example-snippet-BYwPjHI5.js} +3 -3
  143. prefect/server/ui-v2/assets/{python-example-snippet-3jtXWQZN.js.map → python-example-snippet-BYwPjHI5.js.map} +1 -1
  144. prefect/server/ui-v2/assets/{python-input-ZVi-v324.js → python-input-y26XMqXw.js} +2 -2
  145. prefect/server/ui-v2/assets/{python-input-ZVi-v324.js.map → python-input-y26XMqXw.js.map} +1 -1
  146. prefect/server/ui-v2/assets/{radio-group-BBMLpHGc.js → radio-group-D0van45v.js} +2 -2
  147. prefect/server/ui-v2/assets/{radio-group-BBMLpHGc.js.map → radio-group-D0van45v.js.map} +1 -1
  148. prefect/server/ui-v2/assets/{route-error-state-BJXl8qkX.js → route-error-state-CGGpuCGN.js} +2 -2
  149. prefect/server/ui-v2/assets/{route-error-state-BJXl8qkX.js.map → route-error-state-CGGpuCGN.js.map} +1 -1
  150. prefect/server/ui-v2/assets/{schema-form-BEqYjsM-.js → schema-form-2tg5SXM4.js} +2 -2
  151. prefect/server/ui-v2/assets/{schema-form-BEqYjsM-.js.map → schema-form-2tg5SXM4.js.map} +1 -1
  152. prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-l3xt3PWf.js → schema-form-input-string-format-datetime-CZt6AJ4z.js} +4 -4
  153. prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-l3xt3PWf.js.map → schema-form-input-string-format-datetime-CZt6AJ4z.js.map} +1 -1
  154. prefect/server/ui-v2/assets/{settings-txD0dR5Q.js → settings-DDUadk_N.js} +2 -2
  155. prefect/server/ui-v2/assets/{settings-txD0dR5Q.js.map → settings-DDUadk_N.js.map} +1 -1
  156. prefect/server/ui-v2/assets/{sort-filter-DHPFdKZ2.js → sort-filter-D9p3cPx9.js} +2 -2
  157. prefect/server/ui-v2/assets/{sort-filter-DHPFdKZ2.js.map → sort-filter-D9p3cPx9.js.map} +1 -1
  158. prefect/server/ui-v2/assets/{table-ULfpXJXB.js → table-vo9Do8sA.js} +2 -2
  159. prefect/server/ui-v2/assets/{table-ULfpXJXB.js.map → table-vo9Do8sA.js.map} +1 -1
  160. prefect/server/ui-v2/assets/{tags-input-BLzMOTDb.js → tags-input-Ci2JQ-k3.js} +2 -2
  161. prefect/server/ui-v2/assets/{tags-input-BLzMOTDb.js.map → tags-input-Ci2JQ-k3.js.map} +1 -1
  162. prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-BpeKHk7g.js → task-run-concurrency-limits-reset-dialog-CJzPc2gw.js} +2 -2
  163. prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-BpeKHk7g.js.map → task-run-concurrency-limits-reset-dialog-CJzPc2gw.js.map} +1 -1
  164. prefect/server/ui-v2/assets/{task-run._id-CkOl9MJs.js → task-run._id-CjevSs79.js} +2 -2
  165. prefect/server/ui-v2/assets/{task-run._id-CkOl9MJs.js.map → task-run._id-CjevSs79.js.map} +1 -1
  166. prefect/server/ui-v2/assets/{task-run._id-udkz1lhh.js → task-run._id-D8QKG5UZ.js} +2 -2
  167. prefect/server/ui-v2/assets/{task-run._id-udkz1lhh.js.map → task-run._id-D8QKG5UZ.js.map} +1 -1
  168. prefect/server/ui-v2/assets/{task-runs-pagination-B7D5K_FM.js → task-runs-pagination-CifoSGct.js} +2 -2
  169. prefect/server/ui-v2/assets/{task-runs-pagination-B7D5K_FM.js.map → task-runs-pagination-CifoSGct.js.map} +1 -1
  170. prefect/server/ui-v2/assets/{textarea-C4bdj7Jk.js → textarea-BAtfAxtV.js} +2 -2
  171. prefect/server/ui-v2/assets/{textarea-C4bdj7Jk.js.map → textarea-BAtfAxtV.js.map} +1 -1
  172. prefect/server/ui-v2/assets/{timezone-select-AdlSRQxZ.js → timezone-select-QlQTZSsF.js} +2 -2
  173. prefect/server/ui-v2/assets/{timezone-select-AdlSRQxZ.js.map → timezone-select-QlQTZSsF.js.map} +1 -1
  174. prefect/server/ui-v2/assets/{toggle-group-C-vxYz4l.js → toggle-group-BJN1vjEh.js} +2 -2
  175. prefect/server/ui-v2/assets/{toggle-group-C-vxYz4l.js.map → toggle-group-BJN1vjEh.js.map} +1 -1
  176. prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-Cqhaqtqe.js → use-delete-automation-confirmation-dialog-eOWJYPkD.js} +2 -2
  177. prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-Cqhaqtqe.js.map → use-delete-automation-confirmation-dialog-eOWJYPkD.js.map} +1 -1
  178. prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-GjNhFxZe.js → use-delete-block-document-confirmation-dialog-BTwSeHRM.js} +2 -2
  179. prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-GjNhFxZe.js.map → use-delete-block-document-confirmation-dialog-BTwSeHRM.js.map} +1 -1
  180. prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-DfwmswyR.js → use-flow-runs-selected-rows-BL_Gv9CC.js} +2 -2
  181. prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-DfwmswyR.js.map → use-flow-runs-selected-rows-BL_Gv9CC.js.map} +1 -1
  182. prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-BEBpG_5J.js → use-get-artifacts-flow-task-runs-TSCoomjQ.js} +2 -2
  183. prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-BEBpG_5J.js.map → use-get-artifacts-flow-task-runs-TSCoomjQ.js.map} +1 -1
  184. prefect/server/ui-v2/assets/{use-quick-run-BYBRcDwC.js → use-quick-run-BMnCkwSv.js} +2 -2
  185. prefect/server/ui-v2/assets/{use-quick-run-BYBRcDwC.js.map → use-quick-run-BMnCkwSv.js.map} +1 -1
  186. prefect/server/ui-v2/assets/{use-stepper-Bk97vOTm.js → use-stepper-C1wm66U2.js} +2 -2
  187. prefect/server/ui-v2/assets/{use-stepper-Bk97vOTm.js.map → use-stepper-C1wm66U2.js.map} +1 -1
  188. prefect/server/ui-v2/assets/{utilities-BQwGFLk5.js → utilities-DxRXxFOF.js} +2 -2
  189. prefect/server/ui-v2/assets/{utilities-BQwGFLk5.js.map → utilities-DxRXxFOF.js.map} +1 -1
  190. prefect/server/ui-v2/assets/{work-pool-filter-Ddhp_M-L.js → work-pool-filter-PudrkZYj.js} +2 -2
  191. prefect/server/ui-v2/assets/{work-pool-filter-Ddhp_M-L.js.map → work-pool-filter-PudrkZYj.js.map} +1 -1
  192. prefect/server/ui-v2/assets/{work-pool-queue-toggle-DX3eV3R_.js → work-pool-queue-toggle-BAOrV_0R.js} +2 -2
  193. prefect/server/ui-v2/assets/{work-pool-queue-toggle-DX3eV3R_.js.map → work-pool-queue-toggle-BAOrV_0R.js.map} +1 -1
  194. prefect/server/ui-v2/assets/{work-pool._workPoolName-BaRIsXBX.js → work-pool._workPoolName-BOM3849e.js} +2 -2
  195. prefect/server/ui-v2/assets/{work-pool._workPoolName-BaRIsXBX.js.map → work-pool._workPoolName-BOM3849e.js.map} +1 -1
  196. prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-dhS_Xz32.js → work-pool_._workPoolName.edit-CIhcG6yr.js} +2 -2
  197. prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-dhS_Xz32.js.map → work-pool_._workPoolName.edit-CIhcG6yr.js.map} +1 -1
  198. prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-BlstL9Se.js → work-pool_._workPoolName.queue._workQueueName-CjoM77tu.js} +2 -2
  199. prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-BlstL9Se.js.map → work-pool_._workPoolName.queue._workQueueName-CjoM77tu.js.map} +1 -1
  200. prefect/server/ui-v2/assets/{work-queue-icon-text-_Ez8e2dw.js → work-queue-icon-text-CP4yX3uM.js} +2 -2
  201. prefect/server/ui-v2/assets/{work-queue-icon-text-_Ez8e2dw.js.map → work-queue-icon-text-CP4yX3uM.js.map} +1 -1
  202. prefect/server/ui-v2/index.html +1 -1
  203. prefect/settings/models/flows.py +1 -14
  204. prefect/settings/models/runner.py +6 -16
  205. prefect/task_engine.py +3 -1
  206. prefect/task_worker.py +1 -1
  207. prefect/tasks.py +2 -2
  208. prefect/testing/fixtures.py +5 -23
  209. {prefect-3.6.13.dist-info → prefect-3.6.13.dev2.dist-info}/METADATA +1 -1
  210. {prefect-3.6.13.dist-info → prefect-3.6.13.dev2.dist-info}/RECORD +213 -213
  211. prefect/server/ui-v2/assets/block-type-logo-DURScH8H.js +0 -2
  212. prefect/server/ui-v2/assets/deployment_._id.duplicate-BrEOenqP.js +0 -2
  213. prefect/server/ui-v2/assets/deployment_._id.edit-BbYKPK42.js +0 -2
  214. prefect/server/ui-v2/assets/flow-run-graph-BrqoR3E2.js +0 -2
  215. prefect/server/ui-v2/assets/flow-run._id-D_wY_rBe.js +0 -4
  216. prefect/server/ui-v2/assets/flow-run._id-D_wY_rBe.js.map +0 -1
  217. prefect/server/ui-v2/assets/index-D5RdrxkU.js.map +0 -1
  218. {prefect-3.6.13.dist-info → prefect-3.6.13.dev2.dist-info}/WHEEL +0 -0
  219. {prefect-3.6.13.dist-info → prefect-3.6.13.dev2.dist-info}/entry_points.txt +0 -0
  220. {prefect-3.6.13.dist-info → prefect-3.6.13.dev2.dist-info}/licenses/LICENSE +0 -0
@@ -1,2 +1,2 @@
1
- import{r as l,j as s,s as E,L as Me,F as $e,m as ot,E as rt}from"./vendor-tanstack-BK8oseNA.js";import{a8 as Ye,a9 as lt,aa as it,ab as be,ac as ct,ad as ut,ae as dt,af as mt,ag as ft,ah as gt,ai as ht,aj as Ee,ak as oe,al as re,am as pt,y as ee,N as qe,q as le,I as V,an as xt,ao as wt,ap as St,aq as vt,ar as kt,as as yt,at as Ft,_ as jt,$ as Ct,a0 as Rt,a1 as bt,a2 as Tt,p as Dt,a3 as _t,au as ie,av as Nt,i as O,aw as Mt,ax as Et,ay as Ae,az as Pe,C as At,o as Pt,G as It,O as Ie,B as Lt,g as zt,h as Ot,E as Vt,t as Ht,v as Wt,w as Bt,x as Ut,D as Qt,aA as Ge,aB as j,aC as $t,aD as Yt,aE as Le,aF as ze,aG as qt,aH as Oe,aI as Gt,aJ as Xt,aK as Kt,aL as Jt}from"./index-D5RdrxkU.js";import{D as Zt,W as es}from"./work-pool-filter-Ddhp_M-L.js";import{S as ts}from"./sort-filter-DHPFdKZ2.js";import{S as ss,F as as,a as ns}from"./flow-runs-pagination-Bq2ZUzM6.js";import{u as os,F as rs}from"./use-flow-runs-selected-rows-DfwmswyR.js";import{D as Xe}from"./delete-confirmation-dialog-CqKsUEj_.js";import{D as ls,a as is,b as cs,d as te,e as us}from"./dropdown-menu-e0Fqb6aw.js";import{g as ds,S as ms}from"./state-colors-CAAf0Eg3.js";import{R as fs,S as gs,X as hs,Y as ps,T as xs,d as ws}from"./vendor-recharts-D4imLXNl.js";import{c as Ss}from"./vendor-date-7GxEwcQM.js";import{T as vs,a as ks,b as ys}from"./task-runs-pagination-B7D5K_FM.js";import{u as Fs}from"./use-delete-confirmation-dialog-CvQEyyhU.js";import{T as js}from"./tags-input-BLzMOTDb.js";import{a as Cs}from"./zod-DgSl2Nua.js";import{c as Rs,o as Ke,s as _,e as se,n as ae,b as bs}from"./vendor-forms-DxqqmhL5.js";import{F as Ts,b as Ds,c as _s,d as Ns,e as Ms,a as Es}from"./form-DNerk3LS.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-CznP1SOq.js";const As=({value:e,onValueChange:t,className:n})=>{const a=l.useMemo(()=>Ye(e),[e]),o=i=>{t(it(i))};return s.jsx(lt,{value:a,onValueChange:o,placeholder:"All time",clearable:!0,className:n})},Ve=2,Ps=({selectedFlows:e,onSelectFlows:t})=>{const[n,a]=l.useState(""),o=l.useDeferredValue(n),{data:i=[]}=E(be({flows:o?{operator:"and_",name:{like_:o}}:void 0,limit:100,offset:0,sort:"NAME_ASC"})),{data:r=[]}=E(be({flows:e.size>0?{operator:"and_",id:{any_:Array.from(e)}}:void 0,limit:e.size||1,offset:0,sort:"NAME_ASC"},{enabled:e.size>0})),u=m=>{const h=new Set(e);e.has(m)?h.delete(m):h.add(m),t(h)},c=()=>{t(new Set)},d=()=>{if(e.size===0)return"All flows";const m=r.filter(S=>e.has(S.id)).map(S=>S.name),h=m.slice(0,Ve),x=m.length-Ve;return s.jsxs("div",{className:"flex flex-1 min-w-0 items-center gap-2",children:[s.jsx("div",{className:"flex flex-1 min-w-0 items-center gap-2 overflow-hidden",children:s.jsx("span",{className:"truncate",children:h.join(", ")})}),x>0&&s.jsxs(re,{variant:"bodySmall",className:"shrink-0",children:["+ ",x]})]})},f=l.useMemo(()=>i.filter(m=>!o||m.name.toLowerCase().includes(o.toLowerCase())),[i,o]);return s.jsxs(ct,{children:[s.jsx(ut,{"aria-label":"Filter by flow",selected:e.size===0,children:d()}),s.jsxs(dt,{children:[s.jsx(mt,{value:n,onValueChange:a,placeholder:"Search flows..."}),s.jsxs(ft,{children:[s.jsx(gt,{children:"No flows found"}),s.jsxs(ht,{children:[s.jsxs(Ee,{"aria-label":"All flows",onSelect:c,closeOnSelect:!1,value:"__all__",children:[s.jsx(oe,{checked:e.size===0}),"All flows"]}),f.map(m=>s.jsxs(Ee,{"aria-label":m.name,onSelect:()=>u(m.id),closeOnSelect:!1,value:m.id,children:[s.jsx(oe,{checked:e.has(m.id)}),m.name]},m.id))]})]})]})]})},Is=()=>{const[e,t]=Fs(),{mutateAsync:n}=pt(),a=async(i,r=()=>{})=>{try{const u=await Promise.allSettled(i.map(f=>n({id:f}))),{numFails:c,numSuccess:d}=u.reduce((f,m)=>(m.status==="rejected"?f.numFails+=1:f.numSuccess+=1,f),{numFails:0,numSuccess:0});c>1?ee.error(`${c} task runs failed to delete`):c===1?ee.error("Task run failed to delete"):d>1?ee.success(`${d} task runs deleted`):ee.success("Task run deleted")}catch(u){console.error("Unknown error while deleting task run.",u)}finally{r()}};return[e,(i,r=()=>{})=>t({title:"Delete Task Runs",description:"Are you sure you want to delete selected task runs?",onConfirm:()=>{a(i,r)}})]},Ls=({count:e=0,...t})=>"results"in t&&"setSelectedRows"in t&&"selectedRows"in t?s.jsx(zs,{count:e,...t}):s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[e," ",qe(e,"Task run")]});function zs({count:e=0,results:t=[],setSelectedRows:n,selectedRows:a}){const[o,i]=Is(),r=l.useMemo(()=>t.map(({id:d})=>d),[t]),u=Array.from(a),c=()=>{const d=r.every(h=>a.has(h)),f=r.some(h=>a.has(h));let m=!1;return d?m=!0:f&&(m="indeterminate"),s.jsx(oe,{className:"block",checked:m,onCheckedChange:h=>{n(h?new Set(r):new Set)},"aria-label":"Toggle all"})};return a.size>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(c,{}),s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[u.length," selected"]}),s.jsx(le,{"aria-label":"Delete rows",size:"icon",variant:"secondary",onClick:()=>{i(u,()=>n(new Set))},children:s.jsx(V,{id:"Trash2",className:"size-4"})})]}),s.jsx(Xe,{...o})]}):s.jsxs("div",{className:"flex items-center gap-2",children:[t&&n&&a&&s.jsx(oe,{className:"block",checked:!1,onCheckedChange:d=>{n(new Set(d?r:void 0))},"aria-label":"Toggle all"}),s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[e," ",qe(e,"Task run")]})]})}const Os=e=>{const[t,n]=l.useState(new Set(e)),a=c=>n(d=>new Set(d).add(c)),o=c=>n(d=>{const f=new Set(d);return f.delete(c),f});return[t,n,{addRow:a,removeRow:o,onSelectRow:(c,d)=>{d?a(c):o(c)},clearSet:()=>n(new Set)}]},Je="Custom",Vs="Unsaved";function Hs(e){return e?e.name===Je||e.name===Vs:!0}const Ws=({currentFilter:e,savedFilters:t,onSelect:n,onSave:a,onDelete:o,onSetDefault:i,onRemoveDefault:r,permissions:u={canSave:!0,canDelete:!0}})=>{const[c,d]=l.useState(!1),f=e?.name??Je,m=Hs(e),h=m&&u.canSave,x=e?.id&&u.canDelete,S=!m,y=()=>{e?.id&&(o(e.id),d(!1))},g=()=>{e?.id&&(e.isDefault?r(e.id):i(e.id))};return s.jsxs(s.Fragment,{children:[s.jsxs(ls,{children:[s.jsx(is,{asChild:!0,children:s.jsxs(le,{variant:"outline",className:"gap-2",children:[s.jsx(V,{id:"SlidersVertical",className:"size-4"}),s.jsx("span",{children:f}),s.jsx(V,{id:"ChevronDown",className:"size-4"})]})}),s.jsxs(cs,{align:"start",className:"min-w-[200px]",children:[t.map(p=>s.jsxs(te,{onClick:()=>n(p),className:"flex items-center justify-between",children:[s.jsx("span",{children:p.name}),p.isDefault&&s.jsx(V,{id:"CircleCheck",className:"size-4 text-green-500"})]},p.id??p.name)),(h||x||S)&&s.jsx(us,{}),h&&s.jsxs(te,{onClick:a,children:[s.jsx(V,{id:"Plus",className:"mr-2 size-4"}),"Save current filters"]}),x&&s.jsxs(te,{variant:"destructive",onClick:()=>d(!0),children:[s.jsx(V,{id:"Trash2",className:"mr-2 size-4"}),"Delete"]}),S&&s.jsxs(te,{onClick:g,children:[s.jsx(V,{id:"CircleCheck",className:"mr-2 size-4"}),e?.isDefault?"Remove as default":"Set as default"]})]})]}),s.jsx(Xe,{isOpen:c,title:"Delete saved filter",description:`Are you sure you want to delete "${e?.name}"? This action cannot be undone.`,onConfirm:y,onClose:()=>d(!1)})]})},Bs=({cx:e,cy:t,payload:n})=>{if(e===void 0||t===void 0||!n)return null;const a=ds(n.stateType)||ms[n.stateType]||"#6b7280";return s.jsx("circle",{cx:e,cy:t,r:6,fill:a,stroke:a,strokeWidth:1,opacity:.7,className:"hover:opacity-100 transition-opacity cursor-pointer"})},Us=({active:e,payload:t})=>{const a=t?.[0]?.payload,o=a?.id,{data:i}=E({...xt(o??""),enabled:e&&!!o,staleTime:300*1e3}),{data:r}=E({...wt(i?.flow_id??""),enabled:!!i?.flow_id,staleTime:300*1e3});if(!e||!t||t.length===0||!a)return null;const u=new Date(a.timestamp);return s.jsxs("div",{className:"bg-background border rounded-lg p-3 shadow-lg flex flex-col gap-2 min-w-48",children:[s.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[i?.flow_id&&s.jsxs(s.Fragment,{children:[s.jsx(Me,{to:"/flows/flow/$id",params:{id:i.flow_id},className:"font-semibold hover:underline truncate max-w-32",children:r?.name??"..."}),s.jsx(St,{className:"size-3 flex-shrink-0"})]}),s.jsx(Me,{to:"/runs/flow-run/$id",params:{id:a.id},className:"hover:underline truncate max-w-32",children:i?.name??a.id.slice(0,8)})]}),s.jsx("div",{children:s.jsx(vt,{type:a.stateType})}),s.jsx("hr",{className:"border-border"}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(yt,{className:"size-4"}),kt(Math.ceil(a.duration*1e3),{largest:2,round:!0})]}),s.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(Ft,{className:"size-4"}),u.toLocaleString()]})]})]})},Qs=e=>t=>t===0?"0s":e<1?`${Math.round(t*1e3)}ms`:e<10?`${t.toFixed(1)}s`:e<60?`${Math.round(t)}s`:Ss(0,t*1e3,{addSuffix:!1}),$s=(e,t)=>i=>{const r=new Date(i);if(t<1e3||e<1e4){const u=r.getSeconds(),c=r.getMilliseconds();return`${r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}:${u.toString().padStart(2,"0")}.${Math.floor(c/100)}`}return t<6e4||e<10*6e4?r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"}):e>=864e5?r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getMilliseconds()===0?r.toLocaleDateString(void 0,{weekday:"short",day:"numeric"}):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})},Ys=({history:e,startDate:t,endDate:n})=>{const a=l.useRef(null),[o,i]=l.useState(0);l.useEffect(()=>{const g=a.current;if(!g)return;const p=new ResizeObserver(w=>{for(const k of w)i(k.contentRect.width)});return p.observe(g),i(g.getBoundingClientRect().width),()=>p.disconnect()},[]);const r=l.useMemo(()=>e.map(g=>({x:new Date(g.timestamp).getTime(),y:g.duration,stateType:g.state_type,id:g.id,duration:g.duration,lateness:g.lateness,timestamp:g.timestamp})),[e]),{xDomain:u,xDomainMin:c,xDomainMax:d}=l.useMemo(()=>{if(t&&n)return{xDomain:[t.getTime(),n.getTime()],xDomainMin:t.getTime(),xDomainMax:n.getTime()};if(r.length===0){const k=Date.now(),b=k-1440*60*1e3;return{xDomain:[b,k],xDomainMin:b,xDomainMax:k}}const g=r.map(k=>k.x),p=Math.min(...g),w=Math.max(...g);return{xDomain:[p,w],xDomainMin:p,xDomainMax:w}},[t,n,r]),f=l.useMemo(()=>r.length===0?60:Math.max(...r.map(g=>g.y)),[r]),m=l.useMemo(()=>{if(r.length<2)return Number.POSITIVE_INFINITY;const g=r.map(w=>w.x).sort((w,k)=>w-k);let p=Number.POSITIVE_INFINITY;for(let w=1;w<g.length;w++){const k=g[w]-g[w-1];k>0&&k<p&&(p=k)}return p},[r]),h=d-c,x=l.useMemo(()=>$s(h,m),[h,m]),S=l.useMemo(()=>Qs(f),[f]),y=l.useMemo(()=>{const w=o-60,k=Math.max(2,Math.ceil(w/100)),b=1440*60*1e3,F=d-c;if(F>=b){const v=[],W=new Date(c),H=new Date(W);H.setHours(24,0,0,0),v.push(c);let P=H.getTime();for(;P<d;)v.push(P),P+=b;const B=v[v.length-1];if(d-B>F/k/2&&v.push(d),v.length<k){const M=[];for(let T=0;T<v.length-1;T++){M.push(v[T]);const I=v[T+1]-v[T],L=Math.max(1,Math.floor(I/(F/k)));if(L>1){const U=I/L;for(let z=1;z<L;z++)M.push(v[T]+U*z)}}return M.push(v[v.length-1]),M}return v}const N=[],A=(d-c)/(k-1);for(let v=0;v<k;v++)N.push(c+A*v);return N},[o,c,d]);return e.length===0?null:s.jsx("div",{ref:a,className:"hidden md:block w-full h-64","data-testid":"scatter-plot",children:s.jsx(fs,{width:"100%",height:"100%",children:s.jsxs(gs,{children:[s.jsx(hs,{type:"number",dataKey:"x",scale:"time",domain:u,ticks:y,tickFormatter:x,tick:{fontSize:12},tickLine:!1,axisLine:{stroke:"#e5e7eb"}}),s.jsx(ps,{type:"number",dataKey:"y",tickFormatter:S,tick:{fontSize:12},tickLine:!1,axisLine:{stroke:"#e5e7eb"},width:60}),s.jsx(xs,{content:s.jsx(Us,{}),cursor:{strokeDasharray:"3 3"},animationDuration:0}),s.jsx(ws,{data:r,shape:s.jsx(Bs,{}),isAnimationActive:!1})]})})})},qs=Ke({name:_().min(1,{message:"Name is required"}).max(100,{message:"Name must be 100 characters or less"})}),Gs=({open:e,onOpenChange:t,onSave:n})=>{const a=Rs({resolver:Cs(qs),defaultValues:{name:""}});l.useEffect(()=>{e&&a.reset({name:""})},[e,a]);const o=i=>{n(i.name),t(!1)};return s.jsx(jt,{open:e,onOpenChange:t,children:s.jsxs(Ct,{children:[s.jsx(Rt,{children:s.jsx(bt,{children:"Save Filter"})}),s.jsx(Tt,{children:"Save your current filter configuration for quick access later."}),s.jsx(Ts,{...a,children:s.jsxs("form",{onSubmit:i=>{a.handleSubmit(o)(i)},className:"space-y-4",children:[s.jsx(Ds,{control:a.control,name:"name",render:({field:i})=>s.jsxs(_s,{children:[s.jsx(Ns,{children:"Filter Name"}),s.jsx(Ms,{children:s.jsx(Dt,{autoComplete:"off",placeholder:"e.g., Failed runs this week",...i})}),s.jsx(Es,{})]})}),s.jsxs(_t,{children:[s.jsx(le,{type:"button",variant:"outline",onClick:()=>t(!1),children:"Cancel"}),s.jsx(le,{type:"submit",children:"Save"})]})]})})]})})},Xs="prefect-ui-v2-saved-filters",Ks="prefect-ui-v2-default-filter-id",Ze="system-past-week",et="system-hide-scheduled";function Js(e){return e===Ze||e===et}const tt=[{id:Ze,name:"Past week",filters:{range:"past-7-days"}},{id:et,name:"Hide scheduled runs",filters:{range:"past-7-days",state:[...Nt]}}],Zs=tt[0];function ea(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function ta(e,t){const n=(a,o)=>{if(a===void 0&&o===void 0)return!0;if(a===void 0||o===void 0||a.length!==o.length)return!1;const i=[...a].sort(),r=[...o].sort();return i.every((u,c)=>u===r[c])};return n(e.state,t.state)&&n(e.flows,t.flows)&&n(e.deployments,t.deployments)&&n(e.workPools,t.workPools)&&n(e.tags,t.tags)&&e.range===t.range&&e.start===t.start&&e.end===t.end}function st(){const[e,t]=ie(Xs,[]),[n,a]=ie(Ks,null),o=l.useMemo(()=>[...tt,...e],[e]),i=l.useCallback(h=>{const x={id:ea(),name:h.name,filters:h.filters};return t(S=>[...S,x]),x},[t]),r=l.useCallback(h=>{t(x=>x.filter(S=>S.id!==h)),a(x=>x===h?null:x)},[t,a]),u=l.useCallback((h,x)=>{t(S=>S.map(y=>y.id===h?{...y,...x.name!==void 0&&{name:x.name},...x.filters!==void 0&&{filters:x.filters}}:y))},[t]),c=l.useCallback(h=>{a(h)},[a]),d=l.useCallback(h=>o.find(x=>x.id===h),[o]),f=l.useCallback(h=>o.find(x=>ta(x.filters,h)),[o]),m=l.useMemo(()=>h=>n===h,[n]);return{savedFilters:o,defaultFilterId:n,saveFilter:i,deleteFilter:r,updateFilter:u,setDefaultFilter:c,getFilterById:d,findMatchingFilter:f,isDefaultFilter:m}}const sa=({tab:e,onTabChange:t,flowRunsCount:n,taskRunsCount:a,hasAnyFlowRuns:o,hasAnyTaskRuns:i,flowRuns:r,flowRunsPages:u,pagination:c,onPaginationChange:d,onPrefetchPage:f,sort:m,onSortChange:h,hideSubflows:x,onHideSubflowsChange:S,flowRunSearch:y,onFlowRunSearchChange:g,selectedStates:p,onStateFilterChange:w,selectedFlows:k,onFlowFilterChange:b,selectedDeployments:F,onDeploymentFilterChange:N,selectedTags:A,onTagsFilterChange:v,selectedWorkPools:W,onWorkPoolFilterChange:H,dateRange:P,onDateRangeChange:B,flowRunHistory:M,scatterPlotDateRange:T,taskRuns:I,taskRunsPages:L,taskRunsPagination:U,onTaskRunsPaginationChange:z,onTaskRunsPrefetchPage:Q,taskRunsSort:de,onTaskRunsSortChange:me,taskRunSearch:fe,onTaskRunSearchChange:ge,onClearTaskRunFilters:he,currentFilter:X,savedFilters:pe,onSelectFilter:xe,onSaveFilter:we,onDeleteFilter:Se,onSetDefault:ve,onRemoveDefault:ke,isSaveDialogOpen:$,onCloseSaveDialog:Y,onConfirmSave:ye})=>{const q=!o&&!i,[K,Fe,{onSelectRow:je}]=os(),[J,Ce,{onSelectRow:C}]=Os(),D=[...new Set(r.map(R=>R.flow_id))],{data:Z}=E(be({flows:{operator:"and_",id:{any_:D}},offset:0,sort:"NAME_ASC"},{enabled:D.length>0})),G=r.map(R=>({...R,flow:Z?.find(Re=>Re.id===R.flow_id)}));return q?s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(He,{}),s.jsx(aa,{})]}):s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(He,{}),s.jsx(Ws,{currentFilter:X,savedFilters:pe,onSelect:xe,onSave:we,onDelete:Se,onSetDefault:ve,onRemoveDefault:ke,permissions:{canSave:!0,canDelete:!Js(X?.id??null)}})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex flex-wrap gap-2 lg:grid lg:grid-flow-col lg:auto-cols-fr",children:[s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Date Range"}),s.jsx(As,{value:P,onValueChange:B})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"States"}),s.jsx(ss,{selectedFilters:p,onSelectFilter:w})]})]}),s.jsxs("div",{className:"flex flex-wrap gap-2 lg:grid lg:grid-flow-col lg:auto-cols-fr",children:[s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Flows"}),s.jsx(Ps,{selectedFlows:k,onSelectFlows:b})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Deployments"}),s.jsx(Zt,{selectedDeployments:F,onSelectDeployments:N})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Work Pools"}),s.jsx(es,{selectedWorkPools:W,onSelectWorkPools:H})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Tags"}),s.jsx(js,{value:Array.from(A),onChange:R=>{const Re=Array.isArray(R)?R:[];v(new Set(Re))},placeholder:"All tags"})]})]})]}),s.jsx(Gs,{open:$,onOpenChange:Y,onSave:ye}),s.jsxs(Mt,{value:e,onValueChange:t,children:[s.jsxs(Et,{children:[s.jsx(Ae,{value:"flow-runs",children:"Flow Runs"}),s.jsx(Ae,{value:"task-runs",children:"Task Runs"})]}),s.jsx(Pe,{value:"flow-runs",children:s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(At,{children:s.jsx(Pt,{children:s.jsx(Ys,{history:M,startDate:T.startDate,endDate:T.endDate})})}),s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(rs,{count:n,results:G,selectedRows:K,setSelectedRows:Fe}),s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsxs("div",{className:"flex items-center gap-2 whitespace-nowrap",children:[s.jsx(It,{id:"hide-subflows",checked:x,onCheckedChange:S}),s.jsx(O,{htmlFor:"hide-subflows",children:"Hide subflows"})]}),s.jsx(Ie,{value:y,onChange:R=>g(R.target.value),placeholder:"Search by flow run name","aria-label":"Search by flow run name",className:"w-64",debounceMs:1200}),s.jsx(ts,{value:m,onSelect:h})]})]}),s.jsx(as,{count:n,pages:u,pagination:c,onChangePagination:d,onPrefetchPage:f}),s.jsx(ns,{flowRuns:G,selectedRows:K,onSelect:je})]})}),s.jsx(Pe,{value:"task-runs",children:s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Ls,{count:a,results:I,selectedRows:J,setSelectedRows:Ce}),s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsx(Ie,{value:fe,onChange:R=>ge(R.target.value),placeholder:"Search by task run name","aria-label":"Search by task run name",className:"w-64",debounceMs:1200}),s.jsx(vs,{value:de,onSelect:me})]})]}),s.jsx(ks,{count:a,pages:L,pagination:U,onChangePagination:z,onPrefetchPage:Q}),s.jsx(ys,{taskRuns:I,selectedRows:J,onSelect:C,onClearFilters:he})]})})]})]})},He=()=>s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(Lt,{children:s.jsx(zt,{children:s.jsx(Ot,{className:"text-xl font-semibold",children:"Runs"})})})}),aa=()=>s.jsxs(Vt,{children:[s.jsx(Ht,{id:"Workflow"}),s.jsx(Wt,{children:"Run a task or flow to get started"}),s.jsx(Bt,{children:"Runs store the state history for each execution of a task or flow."}),s.jsx(Ut,{children:s.jsx(Qt,{id:"getting-started"})})]}),ce=$e("/runs/");function na(e){const t=u=>u?u.split(",").filter(c=>c.trim().length>0):[],n=t(e.state),a=t(e.flows),o=t(e.deployments),i=t(e["work-pools"]),r=t(e.tags);return{...n.length>0&&{state:n},...a.length>0&&{flows:a},...o.length>0&&{deployments:o},...i.length>0&&{workPools:i},...r.length>0&&{tags:r},...e.range&&{range:e.range},...e.start&&{start:e.start},...e.end&&{end:e.end}}}function at(e){return{state:e.state?.join(",")??"",flows:e.flows?.join(",")??"",deployments:e.deployments?.join(",")??"","work-pools":e.workPools?.join(",")??"",tags:e.tags?.join(",")??"",range:e.range,start:e.start,end:e.end}}function We(e,t){return{id:e.id,name:e.name,isDefault:e.id===t}}function oa(){const e=ce.useSearch(),t=ce.useNavigate(),{savedFilters:n,defaultFilterId:a,saveFilter:o,deleteFilter:i,setDefaultFilter:r,findMatchingFilter:u}=st(),[c,d]=l.useState(!1),f=l.useMemo(()=>na(e),[e]),m=l.useMemo(()=>u(f),[u,f]),h=l.useMemo(()=>n.map(F=>We(F,a)),[n,a]),x=l.useMemo(()=>m?We(m,a):f.state?.length||f.flows?.length||f.deployments?.length||f.workPools?.length||f.tags?.length||f.range||f.start||f.end?{id:null,name:"Unsaved",isDefault:!1}:{id:null,name:"Custom",isDefault:!1},[m,a,f]),S=l.useCallback(F=>{const N=n.find(v=>v.id===F.id);if(!N)return;const A=at(N.filters);t({to:".",search:v=>({...v,...A,page:1}),replace:!0})},[t,n]),y=l.useCallback(()=>{d(!0)},[]),g=l.useCallback(F=>{o({name:F,filters:f}),d(!1)},[o,f]),p=l.useCallback(()=>{d(!1)},[]),w=l.useCallback(F=>{i(F)},[i]),k=l.useCallback(F=>{r(F)},[r]),b=l.useCallback(()=>{r(null)},[r]);return{currentFilter:x,savedFiltersForMenu:h,onSelectFilter:S,onSaveFilter:y,onDeleteFilter:w,onSetDefault:k,onRemoveDefault:b,isSaveDialogOpen:c,closeSaveDialog:p,confirmSave:g}}function ra(){const e=ce.useNavigate(),t=ce.useSearch(),{defaultFilterId:n,getFilterById:a}=st(),o=l.useRef(!1),i=l.useMemo(()=>!!(t.state||t.flows||t.deployments||t["work-pools"]||t.tags||t.range||t.start||t.end),[t]);l.useEffect(()=>{if(o.current||i)return;let r;n&&(r=a(n)),r||(r=Zs),o.current=!0;const u=at(r.filters);e({to:".",search:c=>({...c,...u,page:1}),replace:!0})},[n,i,a,e])}const Be=$e("/runs/"),la=e=>e?e.split(",").filter(t=>Ge.includes(t)):[],ne=e=>e?e.split(",").filter(t=>t.trim().length>0):[];function ia(){const e=Be.useSearch(),t=Be.useNavigate(),n=l.useMemo(()=>new Set(la(e.state??"")),[e.state]),a=l.useMemo(()=>new Set(ne(e.flows??"")),[e.flows]),o=l.useMemo(()=>new Set(ne(e.deployments??"")),[e.deployments]),i=l.useMemo(()=>new Set(ne(e["work-pools"]??"")),[e["work-pools"]]),r=l.useMemo(()=>new Set(ne(e.tags??"")),[e.tags]),u=l.useMemo(()=>({range:e.range,start:e.start,end:e.end}),[e.range,e.start,e.end]),c=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,state:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),d=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,flows:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),f=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,deployments:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),m=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,"work-pools":p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),h=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,tags:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),x=l.useCallback(g=>{t({to:".",search:p=>({...p,range:g.range,start:g.start,end:g.end,page:1}),replace:!0})},[t]),S=l.useMemo(()=>n.size>0||a.size>0||o.size>0||i.size>0||r.size>0||u.range!==void 0||u.start!==void 0||u.end!==void 0,[n,a,o,i,r,u]),y=l.useCallback(()=>{t({to:".",search:g=>({...g,state:"",flows:"",deployments:"","work-pools":"",tags:"",range:void 0,start:void 0,end:void 0,page:1}),replace:!0})},[t]);return{states:n,flows:a,deployments:o,workPools:i,tags:r,dateRange:u,onStatesChange:c,onFlowsChange:d,onDeploymentsChange:f,onWorkPoolsChange:m,onTagsChange:h,onDateRangeChange:x,clearAllFilters:y,hasActiveFilters:S}}Ke({tab:se(["flow-runs","task-runs"]).optional().default("flow-runs"),page:ae().int().positive().optional().default(1).catch(1),limit:ae().int().positive().optional().catch(void 0),sort:se(Jt).optional().default("START_TIME_DESC"),"hide-subflows":bs().optional().default(!1),"flow-run-search":_().optional().default(""),state:_().optional().default(""),flows:_().optional().default(""),deployments:_().optional().default(""),"work-pools":_().optional().default(""),tags:_().optional().default(""),range:se(Kt).optional(),start:_().optional(),end:_().optional(),"task-runs-page":ae().int().positive().optional().default(1).catch(1),"task-runs-limit":ae().int().positive().optional().catch(void 0),"task-runs-sort":se(Xt).optional().default("EXPECTED_START_TIME_DESC"),"task-run-search":_().optional().default("")});const Te=e=>e?e.split(",").filter(t=>Ge.includes(t)):[],ue=e=>{if(!e)return;const t={range:e.range,start:e.start,end:e.end},n=Ye(t);if(!n)return;const a=Gt(n);if(a)return{after_:a.startDate.toISOString(),before_:a.endDate.toISOString()}},De=e=>e?e.split(",").filter(t=>t.trim().length>0):[],_e=e=>e?e.split(",").filter(t=>t.trim().length>0):[],nt=e=>e?e.split(",").filter(t=>t.trim().length>0):[],Ne=e=>e?e.split(",").filter(t=>t.trim().length>0):[],Ue=e=>{const t=e?.["hide-subflows"],n=e?.["flow-run-search"],a=Te(e?.state??""),o=De(e?.flows??""),i=_e(e?.deployments??""),r=nt(e?.["work-pools"]??""),u=Ne(e?.tags??""),c=ue(e),d=a.length>0?a:void 0,f=o.length>0?o:void 0,m=i.length>0?i:void 0,h=r.length>0?r:void 0,S=t||n||d||f||m||u.length>0||c?{operator:"and_",...t&&{parent_task_run_id:{operator:"and_",is_null_:!0}},...n&&{name:{like_:n}},...d&&{state:{operator:"and_",name:{any_:d}}},...u.length>0&&{tags:{operator:"and_",any_:u}},...c&&{expected_start_time:c}}:void 0,y=f?{operator:"and_",id:{any_:f}}:void 0,g=m?{operator:"and_",id:{any_:m}}:void 0,p=h?{operator:"and_",name:{any_:h}}:void 0;return{page:e?.page??1,limit:e?.limit??100,sort:e?.sort??"START_TIME_DESC",flow_runs:S,flows:y,deployments:g,work_pools:p}},Qe=e=>{const t=e?.["task-run-search"],n=Te(e?.state??""),a=De(e?.flows??""),o=_e(e?.deployments??""),i=Ne(e?.tags??""),r=ue(e),u=t?{operator:"and_",name:{like_:t}}:void 0,c=n.length>0?n:void 0,f=c||i.length>0||r?{operator:"and_",...c&&{state:{operator:"and_",name:{any_:c}}},...i.length>0&&{tags:{operator:"and_",any_:i}},...r&&{expected_start_time:r}}:void 0,m=a.length>0?a:void 0,h=m?{operator:"and_",id:{any_:m}}:void 0,x=o.length>0?o:void 0,S=x?{operator:"and_",id:{any_:x}}:void 0;return{page:e?.["task-runs-page"]??1,limit:e?.["task-runs-limit"]??100,sort:e?.["task-runs-sort"]??"EXPECTED_START_TIME_DESC",task_runs:u,flow_runs:f,flows:h,deployments:S}},ca=e=>{const t=e?.["hide-subflows"],n=Te(e?.state??""),a=De(e?.flows??""),o=_e(e?.deployments??""),i=nt(e?.["work-pools"]??""),r=Ne(e?.tags??""),u=ue(e),c=n.length>0?n:void 0,d=a.length>0?a:void 0,f=o.length>0?o:void 0,m=i.length>0?i:void 0;return{sort:"EXPECTED_START_TIME_DESC",limit:1e3,offset:0,flow_runs:t||c||r.length>0||u?{operator:"and_",...t&&{parent_task_run_id:{operator:"and_",is_null_:!0}},...c&&{state:{operator:"and_",name:{any_:c}}},...r.length>0&&{tags:{operator:"and_",any_:r}},...u&&{expected_start_time:u}}:void 0,flows:d?{operator:"and_",id:{any_:d}}:void 0,deployments:f?{operator:"and_",id:{any_:f}}:void 0,work_pools:m?{operator:"and_",name:{any_:m}}:void 0}},ua=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useMemo(()=>({page:e.page??1,limit:e.limit??100}),[e.page,e.limit]),a=l.useCallback(o=>{t({to:".",search:i=>({...i,page:o.page,limit:o.limit}),replace:!0})},[t]);return[n,a]},da=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,sort:a,page:1}),replace:!0})},[t]);return[e.sort,n]},ma=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"hide-subflows":a,page:1}),replace:!0})},[t]);return[e["hide-subflows"],n]},fa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,tab:a,page:1}),replace:!0})},[t]);return[e.tab,n]},ga=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"flow-run-search":a,page:1}),replace:!0})},[t]);return[e["flow-run-search"],n]},ha=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useMemo(()=>({page:e["task-runs-page"]??1,limit:e["task-runs-limit"]??100}),[e["task-runs-page"],e["task-runs-limit"]]),a=l.useCallback(o=>{t({to:".",search:i=>({...i,"task-runs-page":o.page,"task-runs-limit":o.limit}),replace:!0})},[t]);return[n,a]},pa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"task-runs-sort":a,"task-runs-page":1}),replace:!0})},[t]);return[e["task-runs-sort"],n]},xa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"task-run-search":a,"task-runs-page":1}),replace:!0})},[t]);return[e["task-run-search"],n]};function La(){const e=ot(),t=j.useSearch(),n=j.useNavigate(),[a,o]=ie("workspace-flow-runs-list-limit",100),[i,r]=ie("workspace-task-runs-list-limit",100),u=l.useRef(!1);l.useEffect(()=>{if(u.current)return;u.current=!0;const C=t.limit===void 0,D=t["task-runs-limit"]===void 0;(C||D)&&n({to:".",search:Z=>({...Z,...C&&{limit:a},...D&&{"task-runs-limit":i}}),replace:!0})},[n,t.limit,t["task-runs-limit"],a,i]),l.useEffect(()=>{t.limit!==void 0&&t.limit!==a&&o(t.limit)},[t.limit,a,o]),l.useEffect(()=>{t["task-runs-limit"]!==void 0&&t["task-runs-limit"]!==i&&r(t["task-runs-limit"])},[t["task-runs-limit"],i,r]);const[c,d]=ua(),[f,m]=da(),[h,x]=ma(),[S,y]=fa(),[g,p]=ga(),{states:w,flows:k,deployments:b,workPools:F,tags:N,dateRange:A,onStatesChange:v,onFlowsChange:W,onDeploymentsChange:H,onWorkPoolsChange:P,onTagsChange:B,onDateRangeChange:M}=ia(),[T,I]=ha(),[L,U]=pa(),[z,Q]=xa(),{currentFilter:de,savedFiltersForMenu:me,onSelectFilter:fe,onSaveFilter:ge,onDeleteFilter:he,onSetDefault:X,onRemoveDefault:pe,isSaveDialogOpen:xe,closeSaveDialog:we,confirmSave:Se}=oa();ra();const[{data:ve},{data:ke}]=rt({queries:[$t(),Yt()]}),{data:$}=E(Le(Ue(t),3e4)),{data:Y}=E(ze(Qe(t),3e4)),{data:ye}=E(qt(ca(t),3e4)),q=$?.results??[],K=Y?.results??[],Fe=l.useMemo(()=>{const C=ue(t);return{startDate:C?.after_?new Date(C.after_):void 0,endDate:C?.before_?new Date(C.before_):void 0}},[t]);l.useEffect(()=>{const C=q.map(D=>D.id);C.length>0&&e.prefetchQuery(Oe(C))},[e,q]);const je=l.useCallback(C=>{const D=Ue({...t,page:C});(async()=>{const G=(await e.ensureQueryData(Le(D,3e4)))?.results?.map(R=>R.id)??[];G.length>0&&e.prefetchQuery(Oe(G))})()},[e,t]),J=l.useCallback(C=>{const D=Qe({...t,"task-runs-page":C});e.prefetchQuery(ze(D,3e4))},[e,t]),Ce=l.useCallback(()=>{Q("")},[Q]);return s.jsx(sa,{tab:S,onTabChange:y,flowRunsCount:$?.count??0,taskRunsCount:Y?.count??0,hasAnyFlowRuns:(ve??0)>0,hasAnyTaskRuns:(ke??0)>0,flowRuns:q,flowRunsPages:$?.pages??0,pagination:c,onPaginationChange:d,onPrefetchPage:je,sort:f,onSortChange:m,hideSubflows:h,onHideSubflowsChange:x,flowRunSearch:g,onFlowRunSearchChange:p,selectedStates:w,onStateFilterChange:v,selectedFlows:k,onFlowFilterChange:W,selectedDeployments:b,onDeploymentFilterChange:H,selectedTags:N,onTagsFilterChange:B,selectedWorkPools:F,onWorkPoolFilterChange:P,dateRange:A,onDateRangeChange:M,flowRunHistory:ye??[],scatterPlotDateRange:Fe,taskRuns:K,taskRunsPages:Y?.pages??0,taskRunsPagination:T,onTaskRunsPaginationChange:I,onTaskRunsPrefetchPage:J,taskRunsSort:L,onTaskRunsSortChange:U,taskRunSearch:z,onTaskRunSearchChange:Q,onClearTaskRunFilters:Ce,currentFilter:de,savedFilters:me,onSelectFilter:fe,onSaveFilter:ge,onDeleteFilter:he,onSetDefault:X,onRemoveDefault:pe,isSaveDialogOpen:xe,onCloseSaveDialog:we,onConfirmSave:Se})}export{La as component};
2
- //# sourceMappingURL=index-CTnoa3Ho.js.map
1
+ import{r as l,j as s,s as E,L as Me,F as $e,m as ot,E as rt}from"./vendor-tanstack-BK8oseNA.js";import{a8 as Ye,a9 as lt,aa as it,ab as be,ac as ct,ad as ut,ae as dt,af as mt,ag as ft,ah as gt,ai as ht,aj as Ee,ak as oe,al as re,am as pt,y as ee,N as qe,q as le,I as V,an as xt,ao as wt,ap as St,aq as vt,ar as kt,as as yt,at as Ft,_ as jt,$ as Ct,a0 as Rt,a1 as bt,a2 as Tt,p as Dt,a3 as _t,au as ie,av as Nt,i as O,aw as Mt,ax as Et,ay as Ae,az as Pe,C as At,o as Pt,G as It,O as Ie,B as Lt,g as zt,h as Ot,E as Vt,t as Ht,v as Wt,w as Bt,x as Ut,D as Qt,aA as Ge,aB as j,aC as $t,aD as Yt,aE as Le,aF as ze,aG as qt,aH as Oe,aI as Gt,aJ as Xt,aK as Kt,aL as Jt}from"./index-BvSl3DKP.js";import{D as Zt,W as es}from"./work-pool-filter-PudrkZYj.js";import{S as ts}from"./sort-filter-D9p3cPx9.js";import{S as ss,F as as,a as ns}from"./flow-runs-pagination-LrU9Aio8.js";import{u as os,F as rs}from"./use-flow-runs-selected-rows-BL_Gv9CC.js";import{D as Xe}from"./delete-confirmation-dialog-CTdWZlGM.js";import{D as ls,a as is,b as cs,d as te,e as us}from"./dropdown-menu-CT-s-V7d.js";import{g as ds,S as ms}from"./state-colors-CAAf0Eg3.js";import{R as fs,S as gs,X as hs,Y as ps,T as xs,d as ws}from"./vendor-recharts-D4imLXNl.js";import{c as Ss}from"./vendor-date-7GxEwcQM.js";import{T as vs,a as ks,b as ys}from"./task-runs-pagination-CifoSGct.js";import{u as Fs}from"./use-delete-confirmation-dialog-CvQEyyhU.js";import{T as js}from"./tags-input-Ci2JQ-k3.js";import{a as Cs}from"./zod-DgSl2Nua.js";import{c as Rs,o as Ke,s as _,e as se,n as ae,b as bs}from"./vendor-forms-DxqqmhL5.js";import{F as Ts,b as Ds,c as _s,d as Ns,e as Ms,a as Es}from"./form-CVSlEnl8.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-CznP1SOq.js";const As=({value:e,onValueChange:t,className:n})=>{const a=l.useMemo(()=>Ye(e),[e]),o=i=>{t(it(i))};return s.jsx(lt,{value:a,onValueChange:o,placeholder:"All time",clearable:!0,className:n})},Ve=2,Ps=({selectedFlows:e,onSelectFlows:t})=>{const[n,a]=l.useState(""),o=l.useDeferredValue(n),{data:i=[]}=E(be({flows:o?{operator:"and_",name:{like_:o}}:void 0,limit:100,offset:0,sort:"NAME_ASC"})),{data:r=[]}=E(be({flows:e.size>0?{operator:"and_",id:{any_:Array.from(e)}}:void 0,limit:e.size||1,offset:0,sort:"NAME_ASC"},{enabled:e.size>0})),u=m=>{const h=new Set(e);e.has(m)?h.delete(m):h.add(m),t(h)},c=()=>{t(new Set)},d=()=>{if(e.size===0)return"All flows";const m=r.filter(S=>e.has(S.id)).map(S=>S.name),h=m.slice(0,Ve),x=m.length-Ve;return s.jsxs("div",{className:"flex flex-1 min-w-0 items-center gap-2",children:[s.jsx("div",{className:"flex flex-1 min-w-0 items-center gap-2 overflow-hidden",children:s.jsx("span",{className:"truncate",children:h.join(", ")})}),x>0&&s.jsxs(re,{variant:"bodySmall",className:"shrink-0",children:["+ ",x]})]})},f=l.useMemo(()=>i.filter(m=>!o||m.name.toLowerCase().includes(o.toLowerCase())),[i,o]);return s.jsxs(ct,{children:[s.jsx(ut,{"aria-label":"Filter by flow",selected:e.size===0,children:d()}),s.jsxs(dt,{children:[s.jsx(mt,{value:n,onValueChange:a,placeholder:"Search flows..."}),s.jsxs(ft,{children:[s.jsx(gt,{children:"No flows found"}),s.jsxs(ht,{children:[s.jsxs(Ee,{"aria-label":"All flows",onSelect:c,closeOnSelect:!1,value:"__all__",children:[s.jsx(oe,{checked:e.size===0}),"All flows"]}),f.map(m=>s.jsxs(Ee,{"aria-label":m.name,onSelect:()=>u(m.id),closeOnSelect:!1,value:m.id,children:[s.jsx(oe,{checked:e.has(m.id)}),m.name]},m.id))]})]})]})]})},Is=()=>{const[e,t]=Fs(),{mutateAsync:n}=pt(),a=async(i,r=()=>{})=>{try{const u=await Promise.allSettled(i.map(f=>n({id:f}))),{numFails:c,numSuccess:d}=u.reduce((f,m)=>(m.status==="rejected"?f.numFails+=1:f.numSuccess+=1,f),{numFails:0,numSuccess:0});c>1?ee.error(`${c} task runs failed to delete`):c===1?ee.error("Task run failed to delete"):d>1?ee.success(`${d} task runs deleted`):ee.success("Task run deleted")}catch(u){console.error("Unknown error while deleting task run.",u)}finally{r()}};return[e,(i,r=()=>{})=>t({title:"Delete Task Runs",description:"Are you sure you want to delete selected task runs?",onConfirm:()=>{a(i,r)}})]},Ls=({count:e=0,...t})=>"results"in t&&"setSelectedRows"in t&&"selectedRows"in t?s.jsx(zs,{count:e,...t}):s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[e," ",qe(e,"Task run")]});function zs({count:e=0,results:t=[],setSelectedRows:n,selectedRows:a}){const[o,i]=Is(),r=l.useMemo(()=>t.map(({id:d})=>d),[t]),u=Array.from(a),c=()=>{const d=r.every(h=>a.has(h)),f=r.some(h=>a.has(h));let m=!1;return d?m=!0:f&&(m="indeterminate"),s.jsx(oe,{className:"block",checked:m,onCheckedChange:h=>{n(h?new Set(r):new Set)},"aria-label":"Toggle all"})};return a.size>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(c,{}),s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[u.length," selected"]}),s.jsx(le,{"aria-label":"Delete rows",size:"icon",variant:"secondary",onClick:()=>{i(u,()=>n(new Set))},children:s.jsx(V,{id:"Trash2",className:"size-4"})})]}),s.jsx(Xe,{...o})]}):s.jsxs("div",{className:"flex items-center gap-2",children:[t&&n&&a&&s.jsx(oe,{className:"block",checked:!1,onCheckedChange:d=>{n(new Set(d?r:void 0))},"aria-label":"Toggle all"}),s.jsxs(re,{variant:"bodySmall",className:"text-muted-foreground",children:[e," ",qe(e,"Task run")]})]})}const Os=e=>{const[t,n]=l.useState(new Set(e)),a=c=>n(d=>new Set(d).add(c)),o=c=>n(d=>{const f=new Set(d);return f.delete(c),f});return[t,n,{addRow:a,removeRow:o,onSelectRow:(c,d)=>{d?a(c):o(c)},clearSet:()=>n(new Set)}]},Je="Custom",Vs="Unsaved";function Hs(e){return e?e.name===Je||e.name===Vs:!0}const Ws=({currentFilter:e,savedFilters:t,onSelect:n,onSave:a,onDelete:o,onSetDefault:i,onRemoveDefault:r,permissions:u={canSave:!0,canDelete:!0}})=>{const[c,d]=l.useState(!1),f=e?.name??Je,m=Hs(e),h=m&&u.canSave,x=e?.id&&u.canDelete,S=!m,y=()=>{e?.id&&(o(e.id),d(!1))},g=()=>{e?.id&&(e.isDefault?r(e.id):i(e.id))};return s.jsxs(s.Fragment,{children:[s.jsxs(ls,{children:[s.jsx(is,{asChild:!0,children:s.jsxs(le,{variant:"outline",className:"gap-2",children:[s.jsx(V,{id:"SlidersVertical",className:"size-4"}),s.jsx("span",{children:f}),s.jsx(V,{id:"ChevronDown",className:"size-4"})]})}),s.jsxs(cs,{align:"start",className:"min-w-[200px]",children:[t.map(p=>s.jsxs(te,{onClick:()=>n(p),className:"flex items-center justify-between",children:[s.jsx("span",{children:p.name}),p.isDefault&&s.jsx(V,{id:"CircleCheck",className:"size-4 text-green-500"})]},p.id??p.name)),(h||x||S)&&s.jsx(us,{}),h&&s.jsxs(te,{onClick:a,children:[s.jsx(V,{id:"Plus",className:"mr-2 size-4"}),"Save current filters"]}),x&&s.jsxs(te,{variant:"destructive",onClick:()=>d(!0),children:[s.jsx(V,{id:"Trash2",className:"mr-2 size-4"}),"Delete"]}),S&&s.jsxs(te,{onClick:g,children:[s.jsx(V,{id:"CircleCheck",className:"mr-2 size-4"}),e?.isDefault?"Remove as default":"Set as default"]})]})]}),s.jsx(Xe,{isOpen:c,title:"Delete saved filter",description:`Are you sure you want to delete "${e?.name}"? This action cannot be undone.`,onConfirm:y,onClose:()=>d(!1)})]})},Bs=({cx:e,cy:t,payload:n})=>{if(e===void 0||t===void 0||!n)return null;const a=ds(n.stateType)||ms[n.stateType]||"#6b7280";return s.jsx("circle",{cx:e,cy:t,r:6,fill:a,stroke:a,strokeWidth:1,opacity:.7,className:"hover:opacity-100 transition-opacity cursor-pointer"})},Us=({active:e,payload:t})=>{const a=t?.[0]?.payload,o=a?.id,{data:i}=E({...xt(o??""),enabled:e&&!!o,staleTime:300*1e3}),{data:r}=E({...wt(i?.flow_id??""),enabled:!!i?.flow_id,staleTime:300*1e3});if(!e||!t||t.length===0||!a)return null;const u=new Date(a.timestamp);return s.jsxs("div",{className:"bg-background border rounded-lg p-3 shadow-lg flex flex-col gap-2 min-w-48",children:[s.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[i?.flow_id&&s.jsxs(s.Fragment,{children:[s.jsx(Me,{to:"/flows/flow/$id",params:{id:i.flow_id},className:"font-semibold hover:underline truncate max-w-32",children:r?.name??"..."}),s.jsx(St,{className:"size-3 flex-shrink-0"})]}),s.jsx(Me,{to:"/runs/flow-run/$id",params:{id:a.id},className:"hover:underline truncate max-w-32",children:i?.name??a.id.slice(0,8)})]}),s.jsx("div",{children:s.jsx(vt,{type:a.stateType})}),s.jsx("hr",{className:"border-border"}),s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(yt,{className:"size-4"}),kt(Math.ceil(a.duration*1e3),{largest:2,round:!0})]}),s.jsxs("span",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[s.jsx(Ft,{className:"size-4"}),u.toLocaleString()]})]})]})},Qs=e=>t=>t===0?"0s":e<1?`${Math.round(t*1e3)}ms`:e<10?`${t.toFixed(1)}s`:e<60?`${Math.round(t)}s`:Ss(0,t*1e3,{addSuffix:!1}),$s=(e,t)=>i=>{const r=new Date(i);if(t<1e3||e<1e4){const u=r.getSeconds(),c=r.getMilliseconds();return`${r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}:${u.toString().padStart(2,"0")}.${Math.floor(c/100)}`}return t<6e4||e<10*6e4?r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"}):e>=864e5?r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getMilliseconds()===0?r.toLocaleDateString(void 0,{weekday:"short",day:"numeric"}):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})},Ys=({history:e,startDate:t,endDate:n})=>{const a=l.useRef(null),[o,i]=l.useState(0);l.useEffect(()=>{const g=a.current;if(!g)return;const p=new ResizeObserver(w=>{for(const k of w)i(k.contentRect.width)});return p.observe(g),i(g.getBoundingClientRect().width),()=>p.disconnect()},[]);const r=l.useMemo(()=>e.map(g=>({x:new Date(g.timestamp).getTime(),y:g.duration,stateType:g.state_type,id:g.id,duration:g.duration,lateness:g.lateness,timestamp:g.timestamp})),[e]),{xDomain:u,xDomainMin:c,xDomainMax:d}=l.useMemo(()=>{if(t&&n)return{xDomain:[t.getTime(),n.getTime()],xDomainMin:t.getTime(),xDomainMax:n.getTime()};if(r.length===0){const k=Date.now(),b=k-1440*60*1e3;return{xDomain:[b,k],xDomainMin:b,xDomainMax:k}}const g=r.map(k=>k.x),p=Math.min(...g),w=Math.max(...g);return{xDomain:[p,w],xDomainMin:p,xDomainMax:w}},[t,n,r]),f=l.useMemo(()=>r.length===0?60:Math.max(...r.map(g=>g.y)),[r]),m=l.useMemo(()=>{if(r.length<2)return Number.POSITIVE_INFINITY;const g=r.map(w=>w.x).sort((w,k)=>w-k);let p=Number.POSITIVE_INFINITY;for(let w=1;w<g.length;w++){const k=g[w]-g[w-1];k>0&&k<p&&(p=k)}return p},[r]),h=d-c,x=l.useMemo(()=>$s(h,m),[h,m]),S=l.useMemo(()=>Qs(f),[f]),y=l.useMemo(()=>{const w=o-60,k=Math.max(2,Math.ceil(w/100)),b=1440*60*1e3,F=d-c;if(F>=b){const v=[],W=new Date(c),H=new Date(W);H.setHours(24,0,0,0),v.push(c);let P=H.getTime();for(;P<d;)v.push(P),P+=b;const B=v[v.length-1];if(d-B>F/k/2&&v.push(d),v.length<k){const M=[];for(let T=0;T<v.length-1;T++){M.push(v[T]);const I=v[T+1]-v[T],L=Math.max(1,Math.floor(I/(F/k)));if(L>1){const U=I/L;for(let z=1;z<L;z++)M.push(v[T]+U*z)}}return M.push(v[v.length-1]),M}return v}const N=[],A=(d-c)/(k-1);for(let v=0;v<k;v++)N.push(c+A*v);return N},[o,c,d]);return e.length===0?null:s.jsx("div",{ref:a,className:"hidden md:block w-full h-64","data-testid":"scatter-plot",children:s.jsx(fs,{width:"100%",height:"100%",children:s.jsxs(gs,{children:[s.jsx(hs,{type:"number",dataKey:"x",scale:"time",domain:u,ticks:y,tickFormatter:x,tick:{fontSize:12},tickLine:!1,axisLine:{stroke:"#e5e7eb"}}),s.jsx(ps,{type:"number",dataKey:"y",tickFormatter:S,tick:{fontSize:12},tickLine:!1,axisLine:{stroke:"#e5e7eb"},width:60}),s.jsx(xs,{content:s.jsx(Us,{}),cursor:{strokeDasharray:"3 3"},animationDuration:0}),s.jsx(ws,{data:r,shape:s.jsx(Bs,{}),isAnimationActive:!1})]})})})},qs=Ke({name:_().min(1,{message:"Name is required"}).max(100,{message:"Name must be 100 characters or less"})}),Gs=({open:e,onOpenChange:t,onSave:n})=>{const a=Rs({resolver:Cs(qs),defaultValues:{name:""}});l.useEffect(()=>{e&&a.reset({name:""})},[e,a]);const o=i=>{n(i.name),t(!1)};return s.jsx(jt,{open:e,onOpenChange:t,children:s.jsxs(Ct,{children:[s.jsx(Rt,{children:s.jsx(bt,{children:"Save Filter"})}),s.jsx(Tt,{children:"Save your current filter configuration for quick access later."}),s.jsx(Ts,{...a,children:s.jsxs("form",{onSubmit:i=>{a.handleSubmit(o)(i)},className:"space-y-4",children:[s.jsx(Ds,{control:a.control,name:"name",render:({field:i})=>s.jsxs(_s,{children:[s.jsx(Ns,{children:"Filter Name"}),s.jsx(Ms,{children:s.jsx(Dt,{autoComplete:"off",placeholder:"e.g., Failed runs this week",...i})}),s.jsx(Es,{})]})}),s.jsxs(_t,{children:[s.jsx(le,{type:"button",variant:"outline",onClick:()=>t(!1),children:"Cancel"}),s.jsx(le,{type:"submit",children:"Save"})]})]})})]})})},Xs="prefect-ui-v2-saved-filters",Ks="prefect-ui-v2-default-filter-id",Ze="system-past-week",et="system-hide-scheduled";function Js(e){return e===Ze||e===et}const tt=[{id:Ze,name:"Past week",filters:{range:"past-7-days"}},{id:et,name:"Hide scheduled runs",filters:{range:"past-7-days",state:[...Nt]}}],Zs=tt[0];function ea(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function ta(e,t){const n=(a,o)=>{if(a===void 0&&o===void 0)return!0;if(a===void 0||o===void 0||a.length!==o.length)return!1;const i=[...a].sort(),r=[...o].sort();return i.every((u,c)=>u===r[c])};return n(e.state,t.state)&&n(e.flows,t.flows)&&n(e.deployments,t.deployments)&&n(e.workPools,t.workPools)&&n(e.tags,t.tags)&&e.range===t.range&&e.start===t.start&&e.end===t.end}function st(){const[e,t]=ie(Xs,[]),[n,a]=ie(Ks,null),o=l.useMemo(()=>[...tt,...e],[e]),i=l.useCallback(h=>{const x={id:ea(),name:h.name,filters:h.filters};return t(S=>[...S,x]),x},[t]),r=l.useCallback(h=>{t(x=>x.filter(S=>S.id!==h)),a(x=>x===h?null:x)},[t,a]),u=l.useCallback((h,x)=>{t(S=>S.map(y=>y.id===h?{...y,...x.name!==void 0&&{name:x.name},...x.filters!==void 0&&{filters:x.filters}}:y))},[t]),c=l.useCallback(h=>{a(h)},[a]),d=l.useCallback(h=>o.find(x=>x.id===h),[o]),f=l.useCallback(h=>o.find(x=>ta(x.filters,h)),[o]),m=l.useMemo(()=>h=>n===h,[n]);return{savedFilters:o,defaultFilterId:n,saveFilter:i,deleteFilter:r,updateFilter:u,setDefaultFilter:c,getFilterById:d,findMatchingFilter:f,isDefaultFilter:m}}const sa=({tab:e,onTabChange:t,flowRunsCount:n,taskRunsCount:a,hasAnyFlowRuns:o,hasAnyTaskRuns:i,flowRuns:r,flowRunsPages:u,pagination:c,onPaginationChange:d,onPrefetchPage:f,sort:m,onSortChange:h,hideSubflows:x,onHideSubflowsChange:S,flowRunSearch:y,onFlowRunSearchChange:g,selectedStates:p,onStateFilterChange:w,selectedFlows:k,onFlowFilterChange:b,selectedDeployments:F,onDeploymentFilterChange:N,selectedTags:A,onTagsFilterChange:v,selectedWorkPools:W,onWorkPoolFilterChange:H,dateRange:P,onDateRangeChange:B,flowRunHistory:M,scatterPlotDateRange:T,taskRuns:I,taskRunsPages:L,taskRunsPagination:U,onTaskRunsPaginationChange:z,onTaskRunsPrefetchPage:Q,taskRunsSort:de,onTaskRunsSortChange:me,taskRunSearch:fe,onTaskRunSearchChange:ge,onClearTaskRunFilters:he,currentFilter:X,savedFilters:pe,onSelectFilter:xe,onSaveFilter:we,onDeleteFilter:Se,onSetDefault:ve,onRemoveDefault:ke,isSaveDialogOpen:$,onCloseSaveDialog:Y,onConfirmSave:ye})=>{const q=!o&&!i,[K,Fe,{onSelectRow:je}]=os(),[J,Ce,{onSelectRow:C}]=Os(),D=[...new Set(r.map(R=>R.flow_id))],{data:Z}=E(be({flows:{operator:"and_",id:{any_:D}},offset:0,sort:"NAME_ASC"},{enabled:D.length>0})),G=r.map(R=>({...R,flow:Z?.find(Re=>Re.id===R.flow_id)}));return q?s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(He,{}),s.jsx(aa,{})]}):s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(He,{}),s.jsx(Ws,{currentFilter:X,savedFilters:pe,onSelect:xe,onSave:we,onDelete:Se,onSetDefault:ve,onRemoveDefault:ke,permissions:{canSave:!0,canDelete:!Js(X?.id??null)}})]}),s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex flex-wrap gap-2 lg:grid lg:grid-flow-col lg:auto-cols-fr",children:[s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Date Range"}),s.jsx(As,{value:P,onValueChange:B})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"States"}),s.jsx(ss,{selectedFilters:p,onSelectFilter:w})]})]}),s.jsxs("div",{className:"flex flex-wrap gap-2 lg:grid lg:grid-flow-col lg:auto-cols-fr",children:[s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Flows"}),s.jsx(Ps,{selectedFlows:k,onSelectFlows:b})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Deployments"}),s.jsx(Zt,{selectedDeployments:F,onSelectDeployments:N})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Work Pools"}),s.jsx(es,{selectedWorkPools:W,onSelectWorkPools:H})]}),s.jsxs("div",{className:"flex flex-col gap-1 w-full lg:w-auto",children:[s.jsx(O,{className:"text-xs text-muted-foreground",children:"Tags"}),s.jsx(js,{value:Array.from(A),onChange:R=>{const Re=Array.isArray(R)?R:[];v(new Set(Re))},placeholder:"All tags"})]})]})]}),s.jsx(Gs,{open:$,onOpenChange:Y,onSave:ye}),s.jsxs(Mt,{value:e,onValueChange:t,children:[s.jsxs(Et,{children:[s.jsx(Ae,{value:"flow-runs",children:"Flow Runs"}),s.jsx(Ae,{value:"task-runs",children:"Task Runs"})]}),s.jsx(Pe,{value:"flow-runs",children:s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(At,{children:s.jsx(Pt,{children:s.jsx(Ys,{history:M,startDate:T.startDate,endDate:T.endDate})})}),s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(rs,{count:n,results:G,selectedRows:K,setSelectedRows:Fe}),s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsxs("div",{className:"flex items-center gap-2 whitespace-nowrap",children:[s.jsx(It,{id:"hide-subflows",checked:x,onCheckedChange:S}),s.jsx(O,{htmlFor:"hide-subflows",children:"Hide subflows"})]}),s.jsx(Ie,{value:y,onChange:R=>g(R.target.value),placeholder:"Search by flow run name","aria-label":"Search by flow run name",className:"w-64",debounceMs:1200}),s.jsx(ts,{value:m,onSelect:h})]})]}),s.jsx(as,{count:n,pages:u,pagination:c,onChangePagination:d,onPrefetchPage:f}),s.jsx(ns,{flowRuns:G,selectedRows:K,onSelect:je})]})}),s.jsx(Pe,{value:"task-runs",children:s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Ls,{count:a,results:I,selectedRows:J,setSelectedRows:Ce}),s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsx(Ie,{value:fe,onChange:R=>ge(R.target.value),placeholder:"Search by task run name","aria-label":"Search by task run name",className:"w-64",debounceMs:1200}),s.jsx(vs,{value:de,onSelect:me})]})]}),s.jsx(ks,{count:a,pages:L,pagination:U,onChangePagination:z,onPrefetchPage:Q}),s.jsx(ys,{taskRuns:I,selectedRows:J,onSelect:C,onClearFilters:he})]})})]})]})},He=()=>s.jsx("div",{className:"flex items-center gap-2",children:s.jsx(Lt,{children:s.jsx(zt,{children:s.jsx(Ot,{className:"text-xl font-semibold",children:"Runs"})})})}),aa=()=>s.jsxs(Vt,{children:[s.jsx(Ht,{id:"Workflow"}),s.jsx(Wt,{children:"Run a task or flow to get started"}),s.jsx(Bt,{children:"Runs store the state history for each execution of a task or flow."}),s.jsx(Ut,{children:s.jsx(Qt,{id:"getting-started"})})]}),ce=$e("/runs/");function na(e){const t=u=>u?u.split(",").filter(c=>c.trim().length>0):[],n=t(e.state),a=t(e.flows),o=t(e.deployments),i=t(e["work-pools"]),r=t(e.tags);return{...n.length>0&&{state:n},...a.length>0&&{flows:a},...o.length>0&&{deployments:o},...i.length>0&&{workPools:i},...r.length>0&&{tags:r},...e.range&&{range:e.range},...e.start&&{start:e.start},...e.end&&{end:e.end}}}function at(e){return{state:e.state?.join(",")??"",flows:e.flows?.join(",")??"",deployments:e.deployments?.join(",")??"","work-pools":e.workPools?.join(",")??"",tags:e.tags?.join(",")??"",range:e.range,start:e.start,end:e.end}}function We(e,t){return{id:e.id,name:e.name,isDefault:e.id===t}}function oa(){const e=ce.useSearch(),t=ce.useNavigate(),{savedFilters:n,defaultFilterId:a,saveFilter:o,deleteFilter:i,setDefaultFilter:r,findMatchingFilter:u}=st(),[c,d]=l.useState(!1),f=l.useMemo(()=>na(e),[e]),m=l.useMemo(()=>u(f),[u,f]),h=l.useMemo(()=>n.map(F=>We(F,a)),[n,a]),x=l.useMemo(()=>m?We(m,a):f.state?.length||f.flows?.length||f.deployments?.length||f.workPools?.length||f.tags?.length||f.range||f.start||f.end?{id:null,name:"Unsaved",isDefault:!1}:{id:null,name:"Custom",isDefault:!1},[m,a,f]),S=l.useCallback(F=>{const N=n.find(v=>v.id===F.id);if(!N)return;const A=at(N.filters);t({to:".",search:v=>({...v,...A,page:1}),replace:!0})},[t,n]),y=l.useCallback(()=>{d(!0)},[]),g=l.useCallback(F=>{o({name:F,filters:f}),d(!1)},[o,f]),p=l.useCallback(()=>{d(!1)},[]),w=l.useCallback(F=>{i(F)},[i]),k=l.useCallback(F=>{r(F)},[r]),b=l.useCallback(()=>{r(null)},[r]);return{currentFilter:x,savedFiltersForMenu:h,onSelectFilter:S,onSaveFilter:y,onDeleteFilter:w,onSetDefault:k,onRemoveDefault:b,isSaveDialogOpen:c,closeSaveDialog:p,confirmSave:g}}function ra(){const e=ce.useNavigate(),t=ce.useSearch(),{defaultFilterId:n,getFilterById:a}=st(),o=l.useRef(!1),i=l.useMemo(()=>!!(t.state||t.flows||t.deployments||t["work-pools"]||t.tags||t.range||t.start||t.end),[t]);l.useEffect(()=>{if(o.current||i)return;let r;n&&(r=a(n)),r||(r=Zs),o.current=!0;const u=at(r.filters);e({to:".",search:c=>({...c,...u,page:1}),replace:!0})},[n,i,a,e])}const Be=$e("/runs/"),la=e=>e?e.split(",").filter(t=>Ge.includes(t)):[],ne=e=>e?e.split(",").filter(t=>t.trim().length>0):[];function ia(){const e=Be.useSearch(),t=Be.useNavigate(),n=l.useMemo(()=>new Set(la(e.state??"")),[e.state]),a=l.useMemo(()=>new Set(ne(e.flows??"")),[e.flows]),o=l.useMemo(()=>new Set(ne(e.deployments??"")),[e.deployments]),i=l.useMemo(()=>new Set(ne(e["work-pools"]??"")),[e["work-pools"]]),r=l.useMemo(()=>new Set(ne(e.tags??"")),[e.tags]),u=l.useMemo(()=>({range:e.range,start:e.start,end:e.end}),[e.range,e.start,e.end]),c=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,state:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),d=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,flows:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),f=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,deployments:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),m=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,"work-pools":p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),h=l.useCallback(g=>{const p=Array.from(g);t({to:".",search:w=>({...w,tags:p.length>0?p.join(","):"",page:1}),replace:!0})},[t]),x=l.useCallback(g=>{t({to:".",search:p=>({...p,range:g.range,start:g.start,end:g.end,page:1}),replace:!0})},[t]),S=l.useMemo(()=>n.size>0||a.size>0||o.size>0||i.size>0||r.size>0||u.range!==void 0||u.start!==void 0||u.end!==void 0,[n,a,o,i,r,u]),y=l.useCallback(()=>{t({to:".",search:g=>({...g,state:"",flows:"",deployments:"","work-pools":"",tags:"",range:void 0,start:void 0,end:void 0,page:1}),replace:!0})},[t]);return{states:n,flows:a,deployments:o,workPools:i,tags:r,dateRange:u,onStatesChange:c,onFlowsChange:d,onDeploymentsChange:f,onWorkPoolsChange:m,onTagsChange:h,onDateRangeChange:x,clearAllFilters:y,hasActiveFilters:S}}Ke({tab:se(["flow-runs","task-runs"]).optional().default("flow-runs"),page:ae().int().positive().optional().default(1).catch(1),limit:ae().int().positive().optional().catch(void 0),sort:se(Jt).optional().default("START_TIME_DESC"),"hide-subflows":bs().optional().default(!1),"flow-run-search":_().optional().default(""),state:_().optional().default(""),flows:_().optional().default(""),deployments:_().optional().default(""),"work-pools":_().optional().default(""),tags:_().optional().default(""),range:se(Kt).optional(),start:_().optional(),end:_().optional(),"task-runs-page":ae().int().positive().optional().default(1).catch(1),"task-runs-limit":ae().int().positive().optional().catch(void 0),"task-runs-sort":se(Xt).optional().default("EXPECTED_START_TIME_DESC"),"task-run-search":_().optional().default("")});const Te=e=>e?e.split(",").filter(t=>Ge.includes(t)):[],ue=e=>{if(!e)return;const t={range:e.range,start:e.start,end:e.end},n=Ye(t);if(!n)return;const a=Gt(n);if(a)return{after_:a.startDate.toISOString(),before_:a.endDate.toISOString()}},De=e=>e?e.split(",").filter(t=>t.trim().length>0):[],_e=e=>e?e.split(",").filter(t=>t.trim().length>0):[],nt=e=>e?e.split(",").filter(t=>t.trim().length>0):[],Ne=e=>e?e.split(",").filter(t=>t.trim().length>0):[],Ue=e=>{const t=e?.["hide-subflows"],n=e?.["flow-run-search"],a=Te(e?.state??""),o=De(e?.flows??""),i=_e(e?.deployments??""),r=nt(e?.["work-pools"]??""),u=Ne(e?.tags??""),c=ue(e),d=a.length>0?a:void 0,f=o.length>0?o:void 0,m=i.length>0?i:void 0,h=r.length>0?r:void 0,S=t||n||d||f||m||u.length>0||c?{operator:"and_",...t&&{parent_task_run_id:{operator:"and_",is_null_:!0}},...n&&{name:{like_:n}},...d&&{state:{operator:"and_",name:{any_:d}}},...u.length>0&&{tags:{operator:"and_",any_:u}},...c&&{expected_start_time:c}}:void 0,y=f?{operator:"and_",id:{any_:f}}:void 0,g=m?{operator:"and_",id:{any_:m}}:void 0,p=h?{operator:"and_",name:{any_:h}}:void 0;return{page:e?.page??1,limit:e?.limit??100,sort:e?.sort??"START_TIME_DESC",flow_runs:S,flows:y,deployments:g,work_pools:p}},Qe=e=>{const t=e?.["task-run-search"],n=Te(e?.state??""),a=De(e?.flows??""),o=_e(e?.deployments??""),i=Ne(e?.tags??""),r=ue(e),u=t?{operator:"and_",name:{like_:t}}:void 0,c=n.length>0?n:void 0,f=c||i.length>0||r?{operator:"and_",...c&&{state:{operator:"and_",name:{any_:c}}},...i.length>0&&{tags:{operator:"and_",any_:i}},...r&&{expected_start_time:r}}:void 0,m=a.length>0?a:void 0,h=m?{operator:"and_",id:{any_:m}}:void 0,x=o.length>0?o:void 0,S=x?{operator:"and_",id:{any_:x}}:void 0;return{page:e?.["task-runs-page"]??1,limit:e?.["task-runs-limit"]??100,sort:e?.["task-runs-sort"]??"EXPECTED_START_TIME_DESC",task_runs:u,flow_runs:f,flows:h,deployments:S}},ca=e=>{const t=e?.["hide-subflows"],n=Te(e?.state??""),a=De(e?.flows??""),o=_e(e?.deployments??""),i=nt(e?.["work-pools"]??""),r=Ne(e?.tags??""),u=ue(e),c=n.length>0?n:void 0,d=a.length>0?a:void 0,f=o.length>0?o:void 0,m=i.length>0?i:void 0;return{sort:"EXPECTED_START_TIME_DESC",limit:1e3,offset:0,flow_runs:t||c||r.length>0||u?{operator:"and_",...t&&{parent_task_run_id:{operator:"and_",is_null_:!0}},...c&&{state:{operator:"and_",name:{any_:c}}},...r.length>0&&{tags:{operator:"and_",any_:r}},...u&&{expected_start_time:u}}:void 0,flows:d?{operator:"and_",id:{any_:d}}:void 0,deployments:f?{operator:"and_",id:{any_:f}}:void 0,work_pools:m?{operator:"and_",name:{any_:m}}:void 0}},ua=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useMemo(()=>({page:e.page??1,limit:e.limit??100}),[e.page,e.limit]),a=l.useCallback(o=>{t({to:".",search:i=>({...i,page:o.page,limit:o.limit}),replace:!0})},[t]);return[n,a]},da=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,sort:a,page:1}),replace:!0})},[t]);return[e.sort,n]},ma=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"hide-subflows":a,page:1}),replace:!0})},[t]);return[e["hide-subflows"],n]},fa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,tab:a,page:1}),replace:!0})},[t]);return[e.tab,n]},ga=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"flow-run-search":a,page:1}),replace:!0})},[t]);return[e["flow-run-search"],n]},ha=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useMemo(()=>({page:e["task-runs-page"]??1,limit:e["task-runs-limit"]??100}),[e["task-runs-page"],e["task-runs-limit"]]),a=l.useCallback(o=>{t({to:".",search:i=>({...i,"task-runs-page":o.page,"task-runs-limit":o.limit}),replace:!0})},[t]);return[n,a]},pa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"task-runs-sort":a,"task-runs-page":1}),replace:!0})},[t]);return[e["task-runs-sort"],n]},xa=()=>{const e=j.useSearch(),t=j.useNavigate(),n=l.useCallback(a=>{t({to:".",search:o=>({...o,"task-run-search":a,"task-runs-page":1}),replace:!0})},[t]);return[e["task-run-search"],n]};function La(){const e=ot(),t=j.useSearch(),n=j.useNavigate(),[a,o]=ie("workspace-flow-runs-list-limit",100),[i,r]=ie("workspace-task-runs-list-limit",100),u=l.useRef(!1);l.useEffect(()=>{if(u.current)return;u.current=!0;const C=t.limit===void 0,D=t["task-runs-limit"]===void 0;(C||D)&&n({to:".",search:Z=>({...Z,...C&&{limit:a},...D&&{"task-runs-limit":i}}),replace:!0})},[n,t.limit,t["task-runs-limit"],a,i]),l.useEffect(()=>{t.limit!==void 0&&t.limit!==a&&o(t.limit)},[t.limit,a,o]),l.useEffect(()=>{t["task-runs-limit"]!==void 0&&t["task-runs-limit"]!==i&&r(t["task-runs-limit"])},[t["task-runs-limit"],i,r]);const[c,d]=ua(),[f,m]=da(),[h,x]=ma(),[S,y]=fa(),[g,p]=ga(),{states:w,flows:k,deployments:b,workPools:F,tags:N,dateRange:A,onStatesChange:v,onFlowsChange:W,onDeploymentsChange:H,onWorkPoolsChange:P,onTagsChange:B,onDateRangeChange:M}=ia(),[T,I]=ha(),[L,U]=pa(),[z,Q]=xa(),{currentFilter:de,savedFiltersForMenu:me,onSelectFilter:fe,onSaveFilter:ge,onDeleteFilter:he,onSetDefault:X,onRemoveDefault:pe,isSaveDialogOpen:xe,closeSaveDialog:we,confirmSave:Se}=oa();ra();const[{data:ve},{data:ke}]=rt({queries:[$t(),Yt()]}),{data:$}=E(Le(Ue(t),3e4)),{data:Y}=E(ze(Qe(t),3e4)),{data:ye}=E(qt(ca(t),3e4)),q=$?.results??[],K=Y?.results??[],Fe=l.useMemo(()=>{const C=ue(t);return{startDate:C?.after_?new Date(C.after_):void 0,endDate:C?.before_?new Date(C.before_):void 0}},[t]);l.useEffect(()=>{const C=q.map(D=>D.id);C.length>0&&e.prefetchQuery(Oe(C))},[e,q]);const je=l.useCallback(C=>{const D=Ue({...t,page:C});(async()=>{const G=(await e.ensureQueryData(Le(D,3e4)))?.results?.map(R=>R.id)??[];G.length>0&&e.prefetchQuery(Oe(G))})()},[e,t]),J=l.useCallback(C=>{const D=Qe({...t,"task-runs-page":C});e.prefetchQuery(ze(D,3e4))},[e,t]),Ce=l.useCallback(()=>{Q("")},[Q]);return s.jsx(sa,{tab:S,onTabChange:y,flowRunsCount:$?.count??0,taskRunsCount:Y?.count??0,hasAnyFlowRuns:(ve??0)>0,hasAnyTaskRuns:(ke??0)>0,flowRuns:q,flowRunsPages:$?.pages??0,pagination:c,onPaginationChange:d,onPrefetchPage:je,sort:f,onSortChange:m,hideSubflows:h,onHideSubflowsChange:x,flowRunSearch:g,onFlowRunSearchChange:p,selectedStates:w,onStateFilterChange:v,selectedFlows:k,onFlowFilterChange:W,selectedDeployments:b,onDeploymentFilterChange:H,selectedTags:N,onTagsFilterChange:B,selectedWorkPools:F,onWorkPoolFilterChange:P,dateRange:A,onDateRangeChange:M,flowRunHistory:ye??[],scatterPlotDateRange:Fe,taskRuns:K,taskRunsPages:Y?.pages??0,taskRunsPagination:T,onTaskRunsPaginationChange:I,onTaskRunsPrefetchPage:J,taskRunsSort:L,onTaskRunsSortChange:U,taskRunSearch:z,onTaskRunSearchChange:Q,onClearTaskRunFilters:Ce,currentFilter:de,savedFilters:me,onSelectFilter:fe,onSaveFilter:ge,onDeleteFilter:he,onSetDefault:X,onRemoveDefault:pe,isSaveDialogOpen:xe,onCloseSaveDialog:we,onConfirmSave:Se})}export{La as component};
2
+ //# sourceMappingURL=index-BfJLUM7N.js.map