prefect 3.6.14.dev6__py3-none-any.whl → 3.6.15__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 (218) hide show
  1. prefect/_build_info.py +3 -3
  2. prefect/events/clients.py +40 -21
  3. prefect/server/api/concurrency_limits_v2.py +5 -3
  4. prefect/server/ui-v2/assets/{artifact-card-fXxwNG3f.js → artifact-card-BBzQR-Cj.js} +2 -2
  5. prefect/server/ui-v2/assets/{artifact-card-fXxwNG3f.js.map → artifact-card-BBzQR-Cj.js.map} +1 -1
  6. prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js +2 -0
  7. prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js.map +1 -0
  8. prefect/server/ui-v2/assets/{automation-wizard-bDZICLpV.js → automation-wizard-EYSfXlQ7.js} +2 -2
  9. prefect/server/ui-v2/assets/{automation-wizard-bDZICLpV.js.map → automation-wizard-EYSfXlQ7.js.map} +1 -1
  10. prefect/server/ui-v2/assets/{automation._id-CmDL_Eta.js → automation._id-Dn7jABys.js} +2 -2
  11. prefect/server/ui-v2/assets/{automation._id-CmDL_Eta.js.map → automation._id-Dn7jABys.js.map} +1 -1
  12. prefect/server/ui-v2/assets/{automation_._id.edit-DY7_SAuk.js → automation_._id.edit-COrqswD3.js} +2 -2
  13. prefect/server/ui-v2/assets/{automation_._id.edit-DY7_SAuk.js.map → automation_._id.edit-COrqswD3.js.map} +1 -1
  14. prefect/server/ui-v2/assets/{automations-header-CgxOgR53.js → automations-header-DN_dmMXW.js} +2 -2
  15. prefect/server/ui-v2/assets/{automations-header-CgxOgR53.js.map → automations-header-DN_dmMXW.js.map} +1 -1
  16. prefect/server/ui-v2/assets/{base-job-template-form-section-DilLn1Ul.js → base-job-template-form-section-De2ACYbw.js} +2 -2
  17. prefect/server/ui-v2/assets/{base-job-template-form-section-DilLn1Ul.js.map → base-job-template-form-section-De2ACYbw.js.map} +1 -1
  18. prefect/server/ui-v2/assets/{block-type-details-Cx4npO8Y.js → block-type-details-Cklc7TkK.js} +2 -2
  19. prefect/server/ui-v2/assets/{block-type-details-Cx4npO8Y.js.map → block-type-details-Cklc7TkK.js.map} +1 -1
  20. prefect/server/ui-v2/assets/block-type-logo-Cbpfxded.js +2 -0
  21. prefect/server/ui-v2/assets/{block-type-logo-FrtMLMYr.js.map → block-type-logo-Cbpfxded.js.map} +1 -1
  22. prefect/server/ui-v2/assets/{block._id-CWi9g5N3.js → block._id-tuz1Bcj2.js} +2 -2
  23. prefect/server/ui-v2/assets/{block._id-CWi9g5N3.js.map → block._id-tuz1Bcj2.js.map} +1 -1
  24. prefect/server/ui-v2/assets/{block_._id.edit-wf0QVPUL.js → block_._id.edit-CFEYhF5R.js} +2 -2
  25. prefect/server/ui-v2/assets/{block_._id.edit-wf0QVPUL.js.map → block_._id.edit-CFEYhF5R.js.map} +1 -1
  26. prefect/server/ui-v2/assets/{catalog-Iv1gLDUd.js → catalog-CCPRo7nY.js} +2 -2
  27. prefect/server/ui-v2/assets/{catalog-Iv1gLDUd.js.map → catalog-CCPRo7nY.js.map} +1 -1
  28. prefect/server/ui-v2/assets/{catalog_._slug-DEHFXZzp.js → catalog_._slug-Bl2J2oI3.js} +2 -2
  29. prefect/server/ui-v2/assets/{catalog_._slug-DEHFXZzp.js.map → catalog_._slug-Bl2J2oI3.js.map} +1 -1
  30. prefect/server/ui-v2/assets/{catalog_._slug_.create-C-vFPUOy.js → catalog_._slug_.create-9UD_SxDN.js} +2 -2
  31. prefect/server/ui-v2/assets/{catalog_._slug_.create-C-vFPUOy.js.map → catalog_._slug_.create-9UD_SxDN.js.map} +1 -1
  32. prefect/server/ui-v2/assets/{collapsible-BlEqjqQu.js → collapsible-BVQTBG_U.js} +2 -2
  33. prefect/server/ui-v2/assets/{collapsible-BlEqjqQu.js.map → collapsible-BVQTBG_U.js.map} +1 -1
  34. prefect/server/ui-v2/assets/{concurrency-limit._id-VfgyonlO.js → concurrency-limit._id-CsgRxA0a.js} +2 -2
  35. prefect/server/ui-v2/assets/{concurrency-limit._id-VfgyonlO.js.map → concurrency-limit._id-CsgRxA0a.js.map} +1 -1
  36. prefect/server/ui-v2/assets/{create-CC32TiFK.js → create-BycfZHGQ.js} +2 -2
  37. prefect/server/ui-v2/assets/{create-CC32TiFK.js.map → create-BycfZHGQ.js.map} +1 -1
  38. prefect/server/ui-v2/assets/{create-fSiDZ1kD.js → create-D--LHaji.js} +2 -2
  39. prefect/server/ui-v2/assets/{create-fSiDZ1kD.js.map → create-D--LHaji.js.map} +1 -1
  40. prefect/server/ui-v2/assets/{data-table-B2NqBPUR.js → data-table-rlbkLcrY.js} +2 -2
  41. prefect/server/ui-v2/assets/{data-table-B2NqBPUR.js.map → data-table-rlbkLcrY.js.map} +1 -1
  42. prefect/server/ui-v2/assets/delete-confirmation-dialog-DHkm2p8m.js +2 -0
  43. prefect/server/ui-v2/assets/{delete-confirmation-dialog-jlBI67Pk.js.map → delete-confirmation-dialog-DHkm2p8m.js.map} +1 -1
  44. prefect/server/ui-v2/assets/{deployment-action-header-C203ndcC.js → deployment-action-header-D5GOooPm.js} +2 -2
  45. prefect/server/ui-v2/assets/{deployment-action-header-C203ndcC.js.map → deployment-action-header-D5GOooPm.js.map} +1 -1
  46. prefect/server/ui-v2/assets/{deployment-form-DB4i73UE.js → deployment-form-wfg6HeAJ.js} +3 -3
  47. prefect/server/ui-v2/assets/{deployment-form-DB4i73UE.js.map → deployment-form-wfg6HeAJ.js.map} +1 -1
  48. prefect/server/ui-v2/assets/{deployment-links-UZYTtmnK.js → deployment-links-6iugOgDh.js} +2 -2
  49. prefect/server/ui-v2/assets/{deployment-links-UZYTtmnK.js.map → deployment-links-6iugOgDh.js.map} +1 -1
  50. prefect/server/ui-v2/assets/{deployment._id-Drmf70gG.js → deployment._id-Ci9zge5n.js} +2 -2
  51. prefect/server/ui-v2/assets/{deployment._id-Drmf70gG.js.map → deployment._id-Ci9zge5n.js.map} +1 -1
  52. prefect/server/ui-v2/assets/{deployment._id-Bk44iuUn.js → deployment._id-whsGcHdu.js} +2 -2
  53. prefect/server/ui-v2/assets/{deployment._id-Bk44iuUn.js.map → deployment._id-whsGcHdu.js.map} +1 -1
  54. prefect/server/ui-v2/assets/deployment_._id.duplicate-D9ZWkh8H.js +2 -0
  55. prefect/server/ui-v2/assets/{deployment_._id.duplicate-aUHtHuNO.js.map → deployment_._id.duplicate-D9ZWkh8H.js.map} +1 -1
  56. prefect/server/ui-v2/assets/deployment_._id.edit-CS7sObzC.js +2 -0
  57. prefect/server/ui-v2/assets/{deployment_._id.edit-CPRKkA-W.js.map → deployment_._id.edit-CS7sObzC.js.map} +1 -1
  58. prefect/server/ui-v2/assets/{deployment_._id.run-C8EGDJeT.js → deployment_._id.run-g7SZuDFi.js} +2 -2
  59. prefect/server/ui-v2/assets/{deployment_._id.run-C8EGDJeT.js.map → deployment_._id.run-g7SZuDFi.js.map} +1 -1
  60. prefect/server/ui-v2/assets/{dropdown-menu-CT6uZu-V.js → dropdown-menu-0atiOSFo.js} +2 -2
  61. prefect/server/ui-v2/assets/{dropdown-menu-CT6uZu-V.js.map → dropdown-menu-0atiOSFo.js.map} +1 -1
  62. prefect/server/ui-v2/assets/{event-resource-display-DmCKu0PD.js → event-resource-display-DHiAb1Up.js} +2 -2
  63. prefect/server/ui-v2/assets/{event-resource-display-DmCKu0PD.js.map → event-resource-display-DHiAb1Up.js.map} +1 -1
  64. prefect/server/ui-v2/assets/{event._eventDate._eventId-DqO9viGu.js → event._eventDate._eventId-D7Twzb22.js} +2 -2
  65. prefect/server/ui-v2/assets/{event._eventDate._eventId-DqO9viGu.js.map → event._eventDate._eventId-D7Twzb22.js.map} +1 -1
  66. prefect/server/ui-v2/assets/flow-run-graph-BhzuSJLm.js +2 -0
  67. prefect/server/ui-v2/assets/{flow-run-graph-CIvkp1kl.js.map → flow-run-graph-BhzuSJLm.js.map} +1 -1
  68. prefect/server/ui-v2/assets/{flow-run._id-DyUEsBSd.js → flow-run._id-CqpH6bvx.js} +2 -2
  69. prefect/server/ui-v2/assets/{flow-run._id-DyUEsBSd.js.map → flow-run._id-CqpH6bvx.js.map} +1 -1
  70. prefect/server/ui-v2/assets/flow-run._id-RLy2kBh0.js +4 -0
  71. prefect/server/ui-v2/assets/flow-run._id-RLy2kBh0.js.map +1 -0
  72. prefect/server/ui-v2/assets/{flow-run._id-xahYswsG.js → flow-run._id-lIIQBD7H.js} +2 -2
  73. prefect/server/ui-v2/assets/{flow-run._id-xahYswsG.js.map → flow-run._id-lIIQBD7H.js.map} +1 -1
  74. prefect/server/ui-v2/assets/{flow-runs-pagination--FfnMca3.js → flow-runs-pagination-BATUweRV.js} +2 -2
  75. prefect/server/ui-v2/assets/{flow-runs-pagination--FfnMca3.js.map → flow-runs-pagination-BATUweRV.js.map} +1 -1
  76. prefect/server/ui-v2/assets/{flow._id-C_ho4p55.js → flow._id-BdQGWPKP.js} +2 -2
  77. prefect/server/ui-v2/assets/{flow._id-C_ho4p55.js.map → flow._id-BdQGWPKP.js.map} +1 -1
  78. prefect/server/ui-v2/assets/{form-CxD6-5Qf.js → form-DLrbC7rV.js} +2 -2
  79. prefect/server/ui-v2/assets/{form-CxD6-5Qf.js.map → form-DLrbC7rV.js.map} +1 -1
  80. prefect/server/ui-v2/assets/{header-CYjjmMrB.js → header-BTAWyeXv.js} +2 -2
  81. prefect/server/ui-v2/assets/{header-CYjjmMrB.js.map → header-BTAWyeXv.js.map} +1 -1
  82. prefect/server/ui-v2/assets/{header-Cjet3B6Z.js → header-ChFAx5uR.js} +2 -2
  83. prefect/server/ui-v2/assets/{header-Cjet3B6Z.js.map → header-ChFAx5uR.js.map} +1 -1
  84. prefect/server/ui-v2/assets/{header-iN9gVtk7.js → header-CyQqOj1w.js} +2 -2
  85. prefect/server/ui-v2/assets/{header-iN9gVtk7.js.map → header-CyQqOj1w.js.map} +1 -1
  86. prefect/server/ui-v2/assets/{index-C2ayqOiQ.js → index-7i4X9TeK.js} +2 -2
  87. prefect/server/ui-v2/assets/{index-C2ayqOiQ.js.map → index-7i4X9TeK.js.map} +1 -1
  88. prefect/server/ui-v2/assets/{index-ltOkPb3X.js → index-BaWDC4da.js} +2 -2
  89. prefect/server/ui-v2/assets/{index-ltOkPb3X.js.map → index-BaWDC4da.js.map} +1 -1
  90. prefect/server/ui-v2/assets/{index-d9_i_klL.js → index-BkiGTHwU.js} +2 -2
  91. prefect/server/ui-v2/assets/{index-d9_i_klL.js.map → index-BkiGTHwU.js.map} +1 -1
  92. prefect/server/ui-v2/assets/{index-B5eJQPOP.js → index-Btb_-PDp.js} +2 -2
  93. prefect/server/ui-v2/assets/{index-B5eJQPOP.js.map → index-Btb_-PDp.js.map} +1 -1
  94. prefect/server/ui-v2/assets/{index-Cwd5Gvad.js → index-BwCLKpNb.js} +2 -2
  95. prefect/server/ui-v2/assets/{index-Cwd5Gvad.js.map → index-BwCLKpNb.js.map} +1 -1
  96. prefect/server/ui-v2/assets/{index-CT2kL3dS.js → index-CHf6xi9j.js} +2 -2
  97. prefect/server/ui-v2/assets/{index-CT2kL3dS.js.map → index-CHf6xi9j.js.map} +1 -1
  98. prefect/server/ui-v2/assets/{index-DQOPH4Rq.js → index-CKGj5lSu.js} +2 -2
  99. prefect/server/ui-v2/assets/{index-DQOPH4Rq.js.map → index-CKGj5lSu.js.map} +1 -1
  100. prefect/server/ui-v2/assets/index-COouj_0-.css +1 -0
  101. prefect/server/ui-v2/assets/{index-D0ANIqVp.js → index-CQnWiUE5.js} +2 -2
  102. prefect/server/ui-v2/assets/{index-D0ANIqVp.js.map → index-CQnWiUE5.js.map} +1 -1
  103. prefect/server/ui-v2/assets/{index-D4df3B9r.js → index-CiSFHkhI.js} +2 -2
  104. prefect/server/ui-v2/assets/{index-D4df3B9r.js.map → index-CiSFHkhI.js.map} +1 -1
  105. prefect/server/ui-v2/assets/{index-CSQa2wYx.js → index-CnlN-VC_.js} +2 -2
  106. prefect/server/ui-v2/assets/{index-CSQa2wYx.js.map → index-CnlN-VC_.js.map} +1 -1
  107. prefect/server/ui-v2/assets/{index-BfXKkd3I.js → index-CxUfZRkN.js} +2 -2
  108. prefect/server/ui-v2/assets/{index-BfXKkd3I.js.map → index-CxUfZRkN.js.map} +1 -1
  109. prefect/server/ui-v2/assets/{index-DI-aZXNg.js → index-D5RT-SAp.js} +2 -2
  110. prefect/server/ui-v2/assets/{index-DI-aZXNg.js.map → index-D5RT-SAp.js.map} +1 -1
  111. prefect/server/ui-v2/assets/{index-CTeNzxT9.js → index-DATPYZfT.js} +2 -2
  112. prefect/server/ui-v2/assets/{index-CTeNzxT9.js.map → index-DATPYZfT.js.map} +1 -1
  113. prefect/server/ui-v2/assets/{index-CfMaY6sy.js → index-DNh9ZBy4.js} +2 -2
  114. prefect/server/ui-v2/assets/{index-CfMaY6sy.js.map → index-DNh9ZBy4.js.map} +1 -1
  115. prefect/server/ui-v2/assets/{index-C3A0XavU.js → index-DQGif3jm.js} +2 -2
  116. prefect/server/ui-v2/assets/{index-C3A0XavU.js.map → index-DQGif3jm.js.map} +1 -1
  117. prefect/server/ui-v2/assets/{index-BF3HB5BS.js → index-Eqdr6Ff7.js} +2 -2
  118. prefect/server/ui-v2/assets/{index-BF3HB5BS.js.map → index-Eqdr6Ff7.js.map} +1 -1
  119. prefect/server/ui-v2/assets/{index-D8SbV2Tp.js → index-VH4TnZ4e.js} +2 -2
  120. prefect/server/ui-v2/assets/{index-D8SbV2Tp.js.map → index-VH4TnZ4e.js.map} +1 -1
  121. prefect/server/ui-v2/assets/{index-0opjCZAR.js → index-kP_I5Qfd.js} +2 -2
  122. prefect/server/ui-v2/assets/{index-0opjCZAR.js.map → index-kP_I5Qfd.js.map} +1 -1
  123. prefect/server/ui-v2/assets/{index-D-yYhKPg.js → index-lyQav_XM.js} +2 -2
  124. prefect/server/ui-v2/assets/{index-D-yYhKPg.js.map → index-lyQav_XM.js.map} +1 -1
  125. prefect/server/ui-v2/assets/{index-nxDkMXcY.js → index-m48E4KcG.js} +13 -13
  126. prefect/server/ui-v2/assets/index-m48E4KcG.js.map +1 -0
  127. prefect/server/ui-v2/assets/{json-input-BGfZindW.js → json-input-Ba-BeBcw.js} +2 -2
  128. prefect/server/ui-v2/assets/{json-input-BGfZindW.js.map → json-input-Ba-BeBcw.js.map} +1 -1
  129. prefect/server/ui-v2/assets/key-value-DkSKn6jE.js +2 -0
  130. prefect/server/ui-v2/assets/key-value-DkSKn6jE.js.map +1 -0
  131. prefect/server/ui-v2/assets/{key._key-mnO405kp.js → key._key-Cjx57ymg.js} +2 -2
  132. prefect/server/ui-v2/assets/{key._key-mnO405kp.js.map → key._key-Cjx57ymg.js.map} +1 -1
  133. prefect/server/ui-v2/assets/{lazy-markdown-CLclUkkd.js → lazy-markdown-Du2Xu3Yp.js} +2 -2
  134. prefect/server/ui-v2/assets/{lazy-markdown-CLclUkkd.js.map → lazy-markdown-Du2Xu3Yp.js.map} +1 -1
  135. prefect/server/ui-v2/assets/{login-ST_-h2GY.js → login-DxMF9Jvj.js} +2 -2
  136. prefect/server/ui-v2/assets/{login-ST_-h2GY.js.map → login-DxMF9Jvj.js.map} +1 -1
  137. prefect/server/ui-v2/assets/{markdown-input-DemuemAs.js → markdown-input-DPi8zyRr.js} +2 -2
  138. prefect/server/ui-v2/assets/{markdown-input-DemuemAs.js.map → markdown-input-DPi8zyRr.js.map} +1 -1
  139. prefect/server/ui-v2/assets/{python-example-snippet-BUllaeTS.js → python-example-snippet-DfCFYPN_.js} +3 -3
  140. prefect/server/ui-v2/assets/{python-example-snippet-BUllaeTS.js.map → python-example-snippet-DfCFYPN_.js.map} +1 -1
  141. prefect/server/ui-v2/assets/{python-input-DTpMdYLs.js → python-input-mr6GD840.js} +2 -2
  142. prefect/server/ui-v2/assets/{python-input-DTpMdYLs.js.map → python-input-mr6GD840.js.map} +1 -1
  143. prefect/server/ui-v2/assets/{radio-group-CJhtPDwC.js → radio-group-Co3cN0Kv.js} +2 -2
  144. prefect/server/ui-v2/assets/{radio-group-CJhtPDwC.js.map → radio-group-Co3cN0Kv.js.map} +1 -1
  145. prefect/server/ui-v2/assets/{route-error-state-D0wedcpP.js → route-error-state-DnBaNT2T.js} +2 -2
  146. prefect/server/ui-v2/assets/{route-error-state-D0wedcpP.js.map → route-error-state-DnBaNT2T.js.map} +1 -1
  147. prefect/server/ui-v2/assets/{schema-form-Cx-6swYW.js → schema-form-CWDHSME9.js} +2 -2
  148. prefect/server/ui-v2/assets/{schema-form-Cx-6swYW.js.map → schema-form-CWDHSME9.js.map} +1 -1
  149. prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-CZkUje5U.js → schema-form-input-string-format-datetime-BSWlW_aQ.js} +4 -4
  150. prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-CZkUje5U.js.map → schema-form-input-string-format-datetime-BSWlW_aQ.js.map} +1 -1
  151. prefect/server/ui-v2/assets/{settings-nHtCkknH.js → settings-DU5y6tJE.js} +2 -2
  152. prefect/server/ui-v2/assets/{settings-nHtCkknH.js.map → settings-DU5y6tJE.js.map} +1 -1
  153. prefect/server/ui-v2/assets/{sort-filter-QjOHFWPI.js → sort-filter-DpuWNkQo.js} +2 -2
  154. prefect/server/ui-v2/assets/{sort-filter-QjOHFWPI.js.map → sort-filter-DpuWNkQo.js.map} +1 -1
  155. prefect/server/ui-v2/assets/{table-Bx2Ol4j-.js → table-bBL6C0ZK.js} +2 -2
  156. prefect/server/ui-v2/assets/{table-Bx2Ol4j-.js.map → table-bBL6C0ZK.js.map} +1 -1
  157. prefect/server/ui-v2/assets/{tags-input-C7cxdTyV.js → tags-input-BLPMVWpZ.js} +2 -2
  158. prefect/server/ui-v2/assets/{tags-input-C7cxdTyV.js.map → tags-input-BLPMVWpZ.js.map} +1 -1
  159. prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-CG2F0Ufy.js → task-run-concurrency-limits-reset-dialog-S69sih55.js} +2 -2
  160. prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-CG2F0Ufy.js.map → task-run-concurrency-limits-reset-dialog-S69sih55.js.map} +1 -1
  161. prefect/server/ui-v2/assets/{task-run._id-CapS5wad.js → task-run._id-B_tIDm4K.js} +2 -2
  162. prefect/server/ui-v2/assets/{task-run._id-CapS5wad.js.map → task-run._id-B_tIDm4K.js.map} +1 -1
  163. prefect/server/ui-v2/assets/{task-run._id-CevQxX-E.js → task-run._id-Dl3Azs8t.js} +2 -2
  164. prefect/server/ui-v2/assets/{task-run._id-CevQxX-E.js.map → task-run._id-Dl3Azs8t.js.map} +1 -1
  165. prefect/server/ui-v2/assets/{task-runs-pagination-Dbwa2yPe.js → task-runs-pagination-VdR-LO4r.js} +2 -2
  166. prefect/server/ui-v2/assets/{task-runs-pagination-Dbwa2yPe.js.map → task-runs-pagination-VdR-LO4r.js.map} +1 -1
  167. prefect/server/ui-v2/assets/{textarea-vy4DM6KG.js → textarea-B3_TtPRi.js} +2 -2
  168. prefect/server/ui-v2/assets/{textarea-vy4DM6KG.js.map → textarea-B3_TtPRi.js.map} +1 -1
  169. prefect/server/ui-v2/assets/{timezone-select-DDUTUy-L.js → timezone-select-BuPYznge.js} +2 -2
  170. prefect/server/ui-v2/assets/{timezone-select-DDUTUy-L.js.map → timezone-select-BuPYznge.js.map} +1 -1
  171. prefect/server/ui-v2/assets/{toggle-group-Dx_fy9WJ.js → toggle-group-Cn07UIim.js} +2 -2
  172. prefect/server/ui-v2/assets/{toggle-group-Dx_fy9WJ.js.map → toggle-group-Cn07UIim.js.map} +1 -1
  173. prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-ClQsotEa.js → use-delete-automation-confirmation-dialog-DpdsLH4t.js} +2 -2
  174. prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-ClQsotEa.js.map → use-delete-automation-confirmation-dialog-DpdsLH4t.js.map} +1 -1
  175. prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-DM0Dy1PL.js → use-delete-block-document-confirmation-dialog-Cq5nGhzr.js} +2 -2
  176. prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-DM0Dy1PL.js.map → use-delete-block-document-confirmation-dialog-Cq5nGhzr.js.map} +1 -1
  177. prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-UhMaQqzZ.js → use-flow-runs-selected-rows-DmQSWBTu.js} +2 -2
  178. prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-UhMaQqzZ.js.map → use-flow-runs-selected-rows-DmQSWBTu.js.map} +1 -1
  179. prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-P8C-ARMZ.js → use-get-artifacts-flow-task-runs-DTwcWiqW.js} +2 -2
  180. prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-P8C-ARMZ.js.map → use-get-artifacts-flow-task-runs-DTwcWiqW.js.map} +1 -1
  181. prefect/server/ui-v2/assets/{use-quick-run-DT0VEa9Z.js → use-quick-run-CPempwLh.js} +2 -2
  182. prefect/server/ui-v2/assets/{use-quick-run-DT0VEa9Z.js.map → use-quick-run-CPempwLh.js.map} +1 -1
  183. prefect/server/ui-v2/assets/{use-state-favicon-DfEAuEQL.js → use-state-favicon-M09DmrNy.js} +2 -2
  184. prefect/server/ui-v2/assets/{use-state-favicon-DfEAuEQL.js.map → use-state-favicon-M09DmrNy.js.map} +1 -1
  185. prefect/server/ui-v2/assets/{use-stepper-1OG0a_eo.js → use-stepper-CDucnvzp.js} +2 -2
  186. prefect/server/ui-v2/assets/{use-stepper-1OG0a_eo.js.map → use-stepper-CDucnvzp.js.map} +1 -1
  187. prefect/server/ui-v2/assets/{utilities-DabzLyXd.js → utilities-BRCNRcQl.js} +2 -2
  188. prefect/server/ui-v2/assets/{utilities-DabzLyXd.js.map → utilities-BRCNRcQl.js.map} +1 -1
  189. prefect/server/ui-v2/assets/{work-pool-filter-CTTGgdIN.js → work-pool-filter-C2tpSS-w.js} +2 -2
  190. prefect/server/ui-v2/assets/{work-pool-filter-CTTGgdIN.js.map → work-pool-filter-C2tpSS-w.js.map} +1 -1
  191. prefect/server/ui-v2/assets/{work-pool-queue-toggle-B9KQxNdY.js → work-pool-queue-toggle-BQ9b-Wxy.js} +2 -2
  192. prefect/server/ui-v2/assets/{work-pool-queue-toggle-B9KQxNdY.js.map → work-pool-queue-toggle-BQ9b-Wxy.js.map} +1 -1
  193. prefect/server/ui-v2/assets/{work-pool._workPoolName-CGqG95Pv.js → work-pool._workPoolName-C_LiL3SE.js} +2 -2
  194. prefect/server/ui-v2/assets/{work-pool._workPoolName-CGqG95Pv.js.map → work-pool._workPoolName-C_LiL3SE.js.map} +1 -1
  195. prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-CcFrethu.js → work-pool_._workPoolName.edit-DBHlrVVx.js} +2 -2
  196. prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-CcFrethu.js.map → work-pool_._workPoolName.edit-DBHlrVVx.js.map} +1 -1
  197. prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-CwPnpSI9.js → work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js} +2 -2
  198. prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-CwPnpSI9.js.map → work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js.map} +1 -1
  199. prefect/server/ui-v2/assets/{work-queue-icon-text-Bix0rRM1.js → work-queue-icon-text-D4BWBVDN.js} +2 -2
  200. prefect/server/ui-v2/assets/{work-queue-icon-text-Bix0rRM1.js.map → work-queue-icon-text-D4BWBVDN.js.map} +1 -1
  201. prefect/server/ui-v2/index.html +2 -2
  202. prefect/testing/fixtures.py +14 -13
  203. {prefect-3.6.14.dev6.dist-info → prefect-3.6.15.dist-info}/METADATA +2 -2
  204. {prefect-3.6.14.dev6.dist-info → prefect-3.6.15.dist-info}/RECORD +207 -205
  205. prefect/server/ui-v2/assets/artifact._id-BIyzb0Jb.js +0 -2
  206. prefect/server/ui-v2/assets/artifact._id-BIyzb0Jb.js.map +0 -1
  207. prefect/server/ui-v2/assets/block-type-logo-FrtMLMYr.js +0 -2
  208. prefect/server/ui-v2/assets/delete-confirmation-dialog-jlBI67Pk.js +0 -2
  209. prefect/server/ui-v2/assets/deployment_._id.duplicate-aUHtHuNO.js +0 -2
  210. prefect/server/ui-v2/assets/deployment_._id.edit-CPRKkA-W.js +0 -2
  211. prefect/server/ui-v2/assets/flow-run-graph-CIvkp1kl.js +0 -2
  212. prefect/server/ui-v2/assets/flow-run._id-BT3wztDF.js +0 -4
  213. prefect/server/ui-v2/assets/flow-run._id-BT3wztDF.js.map +0 -1
  214. prefect/server/ui-v2/assets/index-CYc_PWA3.css +0 -1
  215. prefect/server/ui-v2/assets/index-nxDkMXcY.js.map +0 -1
  216. {prefect-3.6.14.dev6.dist-info → prefect-3.6.15.dist-info}/WHEEL +0 -0
  217. {prefect-3.6.14.dev6.dist-info → prefect-3.6.15.dist-info}/entry_points.txt +0 -0
  218. {prefect-3.6.14.dev6.dist-info → prefect-3.6.15.dist-info}/licenses/LICENSE +0 -0
@@ -1,2 +1,2 @@
1
- import{j as e,L as C,t as B,r as c,F as K,C as Oe,G as $e,D as Be,B as Qe,s as de}from"./vendor-tanstack-BcZfOOfy.js";import{O as ue,q as j,I,y as F,B as We,g as He,h as ae,bs as Ge,bB as Je,bD as qe,al as M,L as re,aN as Ke,ab as he,aE as Xe,cE as Ye,cj as J,N as Ze,aw as me,ax as xe,az as L,ay as A,X as es,aW as pe,p as je,cF as ge,cG as X,G as U,a3 as Y,bh as Z,_ as fe,$ as ve,a0 as Se,a1 as Ce,S as ss,a as ns,b as ts,c as as,e as rs,cH as os,cI as ls,aM as is,cJ as cs,cK as ds,ar as us,cL as hs,bU as De,bR as we,bS as ye,bT as be,C as ms,cM as xs,cN as ps,b5 as js,cg as gs,cO as fs,aL as oe,aA as le}from"./index-nxDkMXcY.js";import{D as _e}from"./delete-confirmation-dialog-jlBI67Pk.js";import{D as ee,a as se,b as ne,c as Ne,d as E,f as vs}from"./dropdown-menu-CT6uZu-V.js";import{L as Ss}from"./lazy-markdown-CLclUkkd.js";import{D as Cs,W as Ds}from"./work-pool-filter-CTTGgdIN.js";import{S as ws}from"./sort-filter-QjOHFWPI.js";import{S as ys,a as Te,F as Re}from"./flow-runs-pagination--FfnMca3.js";import{u as Ee,F as Fe}from"./use-flow-runs-selected-rows-UhMaQqzZ.js";import{D as bs}from"./data-table-B2NqBPUR.js";import{D as _s}from"./deployment-links-UZYTtmnK.js";import{S as Ns}from"./index-DQOPH4Rq.js";import{a as Me}from"./zod-Cuos7J7w.js";import{a0 as Ts,$ as Rs}from"./vendor-date-wwuDAncJ.js";import{c as ke,o as b,b as q,s as V,d as Es,e as P,n as z,f as Fs,a as ie}from"./vendor-forms-ClCIacbh.js";import{c as Ms}from"./vendor-recharts-BAN776s_.js";import{c as Ie}from"./cronstrue-Bevg0uGw.js";import{F as Le,a as f,b as _,c as N,d as T,e as R}from"./form-CxD6-5Qf.js";import{T as Ae}from"./timezone-select-DDUTUy-L.js";import{ao as ks}from"./vendor-radix-BTiKGWfR.js";import{u as Is}from"./use-delete-confirmation-dialog-CUdii6Lo.js";import{u as Ls,a as As}from"./use-quick-run-DT0VEa9Z.js";import"./vendor-react-Bce9NwRC.js";import"./table-Bx2Ol4j-.js";import"./work-queue-icon-text-Bix0rRM1.js";const Pe=({search:s,sort:n,stateFilter:r,deploymentFilter:a,workPoolFilter:t})=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 pr-2 border-r-2",children:[e.jsx("div",{className:"min-w-56",children:e.jsx(ue,{"aria-label":"search by run name",placeholder:"Search by run name",value:s.value,onChange:i=>s.onChange(i.target.value)})}),e.jsx("div",{className:"min-w-56",children:e.jsx(ys,{selectedFilters:r.value,onSelectFilter:r.onSelect})}),a&&e.jsx("div",{className:"min-w-56",children:e.jsx(Cs,{selectedDeployments:a.value,onSelectDeployments:a.onSelect})}),t&&e.jsx("div",{className:"min-w-56",children:e.jsx(Ds,{selectedWorkPools:t.value,onSelectWorkPools:t.onSelect})})]}),e.jsx(ws,{value:n.value,onSelect:n.onSelect})]}),Ps=({id:s,onDelete:n})=>{const r=a=>{navigator.clipboard.writeText(a),F.success("ID copied")};return e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{variant:"outline",className:"size-8 p-0",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(I,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(ne,{align:"end",children:[e.jsx(Ne,{children:"Actions"}),e.jsx(E,{onClick:()=>r(s),children:"Copy ID"}),e.jsx(C,{to:"/deployments/deployment/$id/edit",params:{id:s},children:e.jsx(E,{children:"Edit"})}),e.jsx(E,{onClick:n,children:"Delete"}),e.jsx(C,{to:"/deployments/deployment/$id/duplicate",params:{id:s},children:e.jsx(E,{children:"Duplicate"})})]})]})},Vs=({deployment:s})=>e.jsx(We,{children:e.jsxs(He,{children:[e.jsx(ae,{children:e.jsx(Ge,{to:"/deployments",className:"text-xl font-semibold",children:"Deployments"})}),e.jsx(Je,{}),e.jsx(ae,{className:"text-xl font-semibold",children:e.jsx(qe,{children:s.name})})]})}),zs=({deployment:s})=>{const n=JSON.stringify(s.job_variables??{},null,2),r=JSON.stringify(s.pull_steps??[],null,2);return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(M,{variant:"h4",children:"Job Variables"}),e.jsx(re,{copy:!0,disabled:!0,hideLineNumbers:!0,value:n}),e.jsx(M,{variant:"h4",children:"Pull Steps "}),e.jsx(re,{copy:!0,disabled:!0,hideLineNumbers:!0,value:r})]})},Us=({deployment:s})=>e.jsx("div",{className:"prose max-w-none",children:e.jsx(Ss,{children:s.description??""})}),Os=s=>{const{data:n,error:r}=B(Ke(s)),a=c.useMemo(()=>n?n.map(o=>o.flow_id):[],[n]),{data:t,error:i}=B(he({flows:{id:{any_:a},operator:"and_"},offset:0,sort:"CREATED_DESC"},{enabled:a.length>0})),d=c.useMemo(()=>t?new Map(t.map(o=>[o.id,o])):new Map,[t]);return n&&n.length===0?{status:"success",error:null,data:[]}:n&&d.size>0?{status:"success",error:null,data:n.map(o=>{const u=d.get(o.flow_id);return{...o,flow:u}})}:r||i?{status:"error",error:r||i,data:void 0}:{status:"pending",error:null,data:void 0}},Ve=s=>{const{data:n,error:r}=B(Xe(s)),a=c.useMemo(()=>n?n.results.map(o=>o.flow_id):[],[n]),{data:t,error:i}=B(he({flows:{id:{any_:a},operator:"and_"},offset:0,sort:"CREATED_DESC"},{enabled:a.length>0})),d=c.useMemo(()=>t?new Map(t.map(o=>[o.id,o])):new Map,[t]);return n&&n.results.length===0?{status:"success",error:null,data:{...n,results:[]}}:n&&d.size>0?{status:"success",error:null,data:{...n,results:n.results.map(o=>{const u=d.get(o.flow_id);return{...o,flow:u}})}}:r||i?{status:"error",error:r||i,data:void 0}:{status:"pending",error:null,data:void 0}},D=K("/deployments/deployment/$id"),$s=({deployment:s})=>{const[n,r,{clearSet:a,onSelectRow:t}]=Ee(),[i,d]=Ws(),[o,u]=Hs(),[l,m]=Gs(),[h,x]=Js(),y=Qs(),{data:g}=Ve({deployments:{operator:"and_",id:{any_:[s.id]}},flow_runs:{name:{like_:o||void 0},state:{name:{any_:h.length===0?void 0:h},operator:"or_"},operator:"and_"},limit:i.limit,page:i.page,sort:l}),p=c.useMemo(()=>{if(g)return{...g,results:g.results.map(Ue=>({...Ue,deployment:s}))}},[g,s]),Q=y?()=>{y(),a()}:void 0,O=Bs(s);return e.jsxs("div",{className:"flex flex-col gap-2",children:[O&&e.jsxs("div",{className:"flex flex-col gap-2 border-b py-2",children:[e.jsx(M,{variant:"bodyLarge",children:"Next Run"}),e.jsx(Ye,{flowRun:O})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(Fe,{count:p?.count,results:p?.results,selectedRows:n,setSelectedRows:r}),e.jsx(Pe,{search:{value:o,onChange:u},sort:{value:l,onSelect:m},stateFilter:{value:new Set(h),onSelect:x}})]}),e.jsx(Te,{flowRuns:p?.results,selectedRows:n,onSelect:t,onClearFilters:Q}),p&&e.jsx(Re,{count:p.count,pagination:i,onChangePagination:d,pages:p.pages})]})]})};function Bs(s){const{data:n}=Os({deployments:{id:{any_:[s.id]},operator:"and_"},flow_runs:{state:{name:{any_:["Scheduled"]},operator:"and_"},operator:"and_"},sort:"EXPECTED_START_TIME_ASC",limit:1,offset:0});return c.useMemo(()=>{if(!(!n||!n[0]))return{...n[0],deployment:s}},[n,s])}function Qs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(()=>{n({to:".",search:t=>({...t,runs:void 0}),replace:!0})},[n]);return c.useMemo(()=>!!s,[s])?r:void 0}function Ws(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,...t}}),replace:!0})},[n,s]);return[c.useMemo(()=>({page:s?.page??1,limit:s?.limit??10}),[s?.limit,s?.page]),r]}function Hs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,flowRuns:{...s?.flowRuns,name:t}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.name??"",[s?.flowRuns?.name]),r]}function Gs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,sort:t}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.sort??"START_TIME_DESC",[s?.sort]),r]}function Js(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,flowRuns:{...s?.flowRuns,state:t?Array.from(t):void 0}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.state??J,[s?.flowRuns?.state]),r]}const w=K("/deployments/deployment/$id"),qs=({deployment:s})=>{const[n,r,{clearSet:a,onSelectRow:t}]=Ee(),[i,d]=Xs(),[o,u]=Ys(),[l,m]=Zs(),[h,x]=en(),y=Ks(),{data:g}=Ve({deployments:{operator:"and_",id:{any_:[s.id]}},flow_runs:{name:{like_:o||void 0},state:{name:{any_:h.length===0?void 0:h},operator:"or_"},operator:"and_"},limit:i.limit,page:i.page,sort:l}),p=c.useMemo(()=>{if(g)return{...g,results:g.results.map(O=>({...O,deployment:s}))}},[g,s]),Q=y?()=>{y(),a()}:void 0;return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(Fe,{count:p?.count,results:p?.results,selectedRows:n,setSelectedRows:r}),e.jsx(Pe,{search:{value:o,onChange:u},sort:{value:l,onSelect:m},stateFilter:{value:new Set(h),onSelect:x}})]}),e.jsx(Te,{flowRuns:p?.results,selectedRows:n,onSelect:t,onClearFilters:Q}),p&&p.results.length>0&&e.jsx(Re,{count:p.count,pagination:i,onChangePagination:d,pages:p.pages})]})};function Ks(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(()=>{n({to:".",search:t=>({...t,upcoming:void 0}),replace:!0})},[n]);return c.useMemo(()=>!!s,[s])?r:void 0}function Xs(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,...t}}),replace:!0})},[n,s]);return[c.useMemo(()=>({page:s?.page??1,limit:s?.limit??5}),[s?.limit,s?.page]),r]}function Ys(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,flowRuns:{...s?.flowRuns,name:t}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.name??"",[s?.flowRuns?.name]),r]}function Zs(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,sort:t}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.sort??"START_TIME_ASC",[s?.sort]),r]}function en(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,flowRuns:{...s?.flowRuns,state:t?Array.from(t):void 0}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.state??["Scheduled"],[s?.flowRuns?.state]),r]}const $=Qe(),sn=[$.accessor("key",{header:"Key"}),$.accessor("value",{header:"Override"}),$.accessor("defaultValue",{header:"Default"}),$.accessor("type",{header:"Type"})],nn=s=>c.useMemo(()=>{if(!s.parameter_openapi_schema)return[];const n=s.parameter_openapi_schema.properties,r=s.parameters;return Object.keys(n).sort((a,t)=>n[a].position-n[t].position).map(a=>{const t=n[a];return{key:a,value:r[a],defaultValue:t.default,type:t.type}})},[s]),tn=({deployment:s})=>{const[n,r]=c.useState(""),a=nn(s),t=c.useDeferredValue(n),i=c.useMemo(()=>a.filter(o=>o.key.toLowerCase().includes(t.toLowerCase())||o.value?.toString().toLowerCase().includes(t.toLowerCase())||o.defaultValue?.toString().toLowerCase().includes(t.toLowerCase())||o.type?.toString().toLowerCase().includes(t.toLowerCase())),[a,t]),d=Oe({data:i,columns:sn,getCoreRowModel:Be(),defaultColumn:{maxSize:300},getPaginationRowModel:$e()});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(M,{variant:"bodySmall",className:"text-muted-foreground",children:[i.length," ",Ze(i.length,"parameter")]}),e.jsx("div",{className:"sm:col-span-2 md:col-span-2 lg:col-span-3",children:e.jsx(ue,{className:"sm:col-span-2 md:col-span-2 lg:col-span-3",placeholder:"Search parameters",value:n,onChange:o=>r(o.target.value)})})]}),e.jsx(bs,{table:d})]})},an=K("/deployments/deployment/$id"),rn=({deployment:s})=>{const{tab:n}=an.useSearch(),r=on(s);return e.jsxs(me,{defaultValue:r[0].value,value:n,children:[e.jsx(xe,{children:r.map(({value:a,LinkComponent:t})=>e.jsx(t,{},a))}),r.map(({value:a,ViewComponent:t})=>e.jsx(t,{},a))]})};function on(s){return c.useMemo(()=>[{value:"Runs",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Runs"},children:e.jsx(A,{value:"Runs",children:"Runs"})}),ViewComponent:()=>e.jsx(L,{value:"Runs",children:e.jsx($s,{deployment:s})})},{value:"Upcoming",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Upcoming"},children:e.jsx(A,{value:"Upcoming",children:"Upcoming"})}),ViewComponent:()=>e.jsx(L,{value:"Upcoming",children:e.jsx(qs,{deployment:s})})},{value:"Parameters",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Parameters"},children:e.jsx(A,{value:"Parameters",children:"Parameters"})}),ViewComponent:()=>e.jsx(L,{value:"Parameters",children:e.jsx(tn,{deployment:s})})},{value:"Configuration",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Configuration"},children:e.jsx(A,{value:"Configuration",children:"Configuration"})}),ViewComponent:()=>e.jsx(L,{value:"Configuration",children:e.jsx(zs,{deployment:s})})},{value:"Description",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Description"},children:e.jsx(A,{value:"Description",children:"Description"})}),ViewComponent:()=>e.jsx(L,{value:"Description",children:e.jsx(Us,{deployment:s})})}],[s])}const v=()=>e.jsx("dd",{className:"text-muted-foreground text-sm",children:"None"}),ce=({children:s})=>e.jsx("dt",{className:"text-sm text-muted-foreground",children:s}),S=({className:s,children:n})=>e.jsx("dd",{className:pe("text-sm",s),children:n}),ln=({deployment:s})=>{const n=[{field:"Status",ComponentValue:()=>s.status?e.jsx("dd",{children:e.jsx(Ns,{status:s.status})}):e.jsx(v,{})},{field:"Created",ComponentValue:()=>s.created?e.jsx(S,{className:"font-mono",children:s.created}):e.jsx(v,{})},{field:"Updated",ComponentValue:()=>s.updated?e.jsx(S,{className:"font-mono",children:s.updated}):e.jsx(v,{})},{field:"Entrypoint",ComponentValue:()=>s.entrypoint?e.jsx(S,{children:s.entrypoint}):e.jsx(v,{})},{field:"Path",ComponentValue:()=>s.path?e.jsx(S,{children:s.path}):e.jsx(v,{})},{field:"Concurrency Limit",ComponentValue:()=>s.global_concurrency_limit?e.jsx(S,{children:s.global_concurrency_limit.limit}):e.jsx(v,{})}],r=[{field:"Flow ID",ComponentValue:()=>e.jsx(S,{children:s.flow_id})},{field:"Deployment ID",ComponentValue:()=>e.jsx(S,{children:s.id})},{field:"Deployment Version",ComponentValue:()=>s.version?e.jsx(S,{children:s.version}):e.jsx(v,{})},{field:"Storage Document ID",ComponentValue:()=>s.storage_document_id?e.jsx(S,{children:s.storage_document_id}):e.jsx(v,{})},{field:"Infrastructure Document ID",ComponentValue:()=>s.infrastructure_document_id?e.jsx(S,{children:s.infrastructure_document_id}):e.jsx(v,{})},{field:"Tags",ComponentValue:()=>s.tags&&s.tags.length>0?e.jsx("dd",{children:e.jsx(es,{tags:s.tags,maxTagsDisplayed:4})}):e.jsx(v,{})}];return e.jsxs("div",{children:[e.jsx("ul",{className:"flex flex-col gap-3",children:n.map(({field:a,ComponentValue:t})=>e.jsx("li",{children:e.jsxs("dl",{children:[e.jsx(ce,{children:a}),e.jsx(t,{})]})},a))}),e.jsx("hr",{className:"my-3"}),e.jsx("ul",{className:"flex flex-col gap-3",children:r.map(({field:a,ComponentValue:t})=>e.jsx("li",{children:e.jsxs("dl",{children:[e.jsx(ce,{children:a}),e.jsx(t,{})]})},a))})]})};var ze=Ts();const W=s=>{let n="",r=!1;try{ze.CronExpressionParser.parse(s),n=Ie.toString(s),r=!0}catch{r=!1,n="Invalid expression"}return{description:n,isCronValid:r}},cn=({onChange:s,...n})=>{const[r,a]=c.useState(W(String(n.value)).description),[t,i]=c.useState(W(String(n.value)).isCronValid),d=o=>{if(s){s(o);const{description:u,isCronValid:l}=W(o.target.value);a(u),i(l)}};return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(je,{...n,onChange:d}),e.jsx(M,{variant:"bodySmall",className:Ms(t?"text-muted-foreground":"text-red-500"),children:r})]})},dn=s=>{try{return ze.CronExpressionParser.parse(s),!0}catch{return!1}},un=b({active:q(),schedule:b({cron:V().refine(dn),timezone:V().default("Etc/UTC"),day_or:q().default(!0)})}),H={active:!0,schedule:{cron:"* * * * *",timezone:"Etc/UTC",day_or:!0}},hn=({deployment_id:s,scheduleToEdit:n,onSubmit:r})=>{const{createDeploymentSchedule:a,isPending:t}=ge(),{updateDeploymentSchedule:i,isPending:d}=X(),o=ke({resolver:Me(un),defaultValues:H});c.useEffect(()=>{if(n){const{active:l,schedule:m}=n;if("cron"in m){const{cron:h,day_or:x,timezone:y}=m;o.reset({active:l,schedule:{cron:h,day_or:x,timezone:y??"Etc/UTC"}})}}else o.reset(H)},[o,n]);const u=l=>{const m=()=>{o.reset(H),r()};n?i({deployment_id:s,schedule_id:n.id,...l},{onSuccess:()=>{F.success("Deployment schedule updated")},onError:h=>{const x=h.message||"Unknown error while updating deployment schedule.";o.setError("root",{message:x})},onSettled:m}):a({deployment_id:s,...l},{onSuccess:()=>{F.success("Deployment schedule created")},onError:h=>{const x=h.message||"Unknown error while creating deployment schedule.";o.setError("root",{message:x})},onSettled:m})};return e.jsx(Le,{...o,children:e.jsxs("form",{onSubmit:l=>{o.handleSubmit(u)(l)},className:"space-y-4",children:[e.jsx(f,{children:o.formState.errors.root?.message}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(_,{control:o.control,name:"active",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Active"}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-3/4",children:e.jsx(_,{control:o.control,name:"schedule.cron",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Value"}),e.jsx(R,{children:e.jsx(cn,{...l})}),e.jsx(f,{})]})})}),e.jsx(_,{control:o.control,name:"schedule.day_or",render:({field:l})=>e.jsxs(N,{children:[e.jsxs(T,{"aria-label":"Day Or",children:["Day Or ",e.jsx(mn,{})]}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})})]}),e.jsx(_,{control:o.control,name:"schedule.timezone",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Timezone"}),e.jsx(R,{children:e.jsx(Ae,{selectedValue:l.value,onSelect:l.onChange})}),e.jsx(f,{})]})})]}),e.jsxs(Y,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{type:"submit",loading:t||d,children:"Save"})]})]})})},mn=()=>e.jsxs(fe,{children:[e.jsx(Z,{asChild:!0,children:e.jsx("button",{type:"button",className:"cursor-help",children:e.jsx(I,{id:"Info",className:"size-4 inline"})})}),e.jsxs(ve,{"aria-describedby":void 0,children:[e.jsx(Se,{children:e.jsx(Ce,{children:"Day Or"})}),e.jsx(M,{children:'When the "Day Or" value is off, this schedule will connect day of the month and day of the week entries using OR logic; when on it will connect them using AND logic.'})]})]}),xn=[{label:"Seconds",value:"seconds"},{label:"Minutes",value:"minutes"},{label:"Hours",value:"hours"},{label:"Days",value:"days"}],k={seconds:1,minutes:60,hours:3600,days:24*3600},pn=s=>{let n=s;const r=Math.floor(s/k.days);if(n%=k.days,n===0)return{interval_value:r,interval_time:"days"};const a=Math.floor(s/k.hours);if(n%=k.hours,n===0)return{interval_value:a,interval_time:"hours"};const t=Math.floor(s/k.minutes);return n%=k.minutes,n===0?{interval_value:t,interval_time:"minutes"}:{interval_value:n,interval_time:"seconds"}},jn=b({active:q(),schedule:b({interval_value:z().or(V()).pipe(Fs.number()),interval_time:P(["seconds","minutes","hours","days"]),anchor_date:Es(),timezone:V().default("Etc/UTC")})}),G={active:!0,schedule:{interval_value:60,interval_time:"minutes",anchor_date:new Date,timezone:"Etc/UTC"}},gn=({deployment_id:s,scheduleToEdit:n,onSubmit:r})=>{const{createDeploymentSchedule:a,isPending:t}=ge(),{updateDeploymentSchedule:i,isPending:d}=X(),o=ke({resolver:Me(jn),defaultValues:G});c.useEffect(()=>{if(n){const{active:l,schedule:m}=n;if("interval"in m){const{interval:h,anchor_date:x,timezone:y}=m,{interval_value:g,interval_time:p}=pn(h);o.reset({active:l,schedule:{interval_value:g,interval_time:p,anchor_date:x?new Date(x):new Date,timezone:y??"Etc/UTC"}})}}else o.reset(G)},[o,n]);const u=l=>{const m=()=>{o.reset(G),r()};n?i({deployment_id:s,schedule_id:n.id,active:l.active,schedule:{interval:l.schedule.interval_value*k[l.schedule.interval_time],anchor_date:l.schedule.anchor_date.toISOString(),timezone:l.schedule.timezone}},{onSuccess:()=>{F.success("Deployment schedule updated")},onError:h=>{const x=h.message||"Unknown error while updating deployment schedule.";o.setError("root",{message:x})},onSettled:m}):a({deployment_id:s,active:l.active,schedule:{interval:l.schedule.interval_value*k[l.schedule.interval_time],anchor_date:l.schedule.anchor_date.toISOString(),timezone:l.schedule.timezone}},{onSuccess:()=>{F.success("Deployment schedule created")},onError:h=>{const x=h.message||"Unknown error while creating deployment schedule.";o.setError("root",{message:x})},onSettled:m})};return e.jsx(Le,{...o,children:e.jsxs("form",{onSubmit:l=>{o.handleSubmit(u)(l)},className:"space-y-4",children:[e.jsx(f,{children:o.formState.errors.root?.message}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(_,{control:o.control,name:"active",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Active"}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-3/4",children:e.jsx(_,{control:o.control,name:"schedule.interval_value",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Value"}),e.jsx(R,{children:e.jsx(je,{...l})}),e.jsx(f,{})]})})}),e.jsx(_,{control:o.control,name:"schedule.interval_time",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Interval"}),e.jsxs(ss,{onValueChange:l.onChange,defaultValue:l.value,value:l.value,children:[e.jsx(R,{children:e.jsx(ns,{children:e.jsx(ts,{placeholder:"Select interval"})})}),e.jsx(as,{children:xn.map(({label:m,value:h})=>e.jsx(rs,{value:h,children:m},h))})]}),e.jsx(f,{})]})})]}),e.jsx(_,{control:o.control,name:"schedule.anchor_date",render:({field:l})=>e.jsxs(N,{className:"flex flex-col",children:[e.jsx(T,{children:"Anchor date"}),e.jsxs(os,{children:[e.jsx(ls,{asChild:!0,children:e.jsx(R,{children:e.jsxs(j,{variant:"outline",className:pe("w-full",!l.value&&"text-muted-foreground"),children:[is(l.value,"dateTime"),e.jsx(I,{id:"Calendar",className:"ml-auto size-4 opacity-50"})]})})}),e.jsx(cs,{className:"w-auto p-0",align:"start",children:e.jsx(ds,{mode:"single",selected:l.value,onSelect:l.onChange})})]}),e.jsx(f,{})]})}),e.jsx(_,{control:o.control,name:"schedule.timezone",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Timezone"}),e.jsx(R,{children:e.jsx(Ae,{selectedValue:l.value,onSelect:l.onChange})}),e.jsx(f,{})]})})]}),e.jsxs(Y,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{type:"submit",loading:t||d,children:"Save"})]})]})})},fn=()=>e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(M,{children:"Sorry, modifying RRule schedules via the UI is currently unsupported; select a different schedule type above or modify your schedule in code."}),e.jsxs(Y,{children:[e.jsx(ks,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{disabled:!0,children:"Save"})]})]}),vn=({deploymentId:s,onOpenChange:n,open:r,scheduleToEdit:a,onSubmit:t})=>{const[i,d]=c.useState("interval");c.useEffect(()=>{if(!a)return;const{schedule:u}=a;"interval"in u?d("interval"):"cron"in u?d("cron"):d("rrule")},[a]);const o=[{value:"interval",label:"Interval",Component:()=>e.jsx(gn,{deployment_id:s,onSubmit:t,scheduleToEdit:a})},{value:"cron",label:"Cron",Component:()=>e.jsx(hn,{deployment_id:s,onSubmit:t,scheduleToEdit:a})},{value:"rrule",label:"RRule",Component:()=>e.jsx(fn,{})}];return e.jsx(fe,{open:r,onOpenChange:n,children:e.jsxs(ve,{"aria-describedby":void 0,children:[e.jsx(Se,{children:e.jsxs(Ce,{children:[a?"Edit":"Add"," Schedule"]})}),e.jsxs(me,{defaultValue:o[0].value,value:i,children:[e.jsx(xe,{children:o.map(({value:u,label:l})=>e.jsx(A,{value:u,onClick:()=>d(u),children:l},u))}),o.map(({value:u,Component:l})=>e.jsx(L,{value:u,children:e.jsx(l,{})},u))]})]})})},te=s=>{const{schedule:n}=s;return"interval"in n?`Every ${us(n.interval*1e3)}`:"cron"in n?Ie.toString(n.cron):Rs(n.rrule).toText()},Sn=()=>{const[s,n]=Is(),{deleteDeploymentSchedule:r}=hs();return[s,t=>n({title:"Delete Schedule",description:`Are you sure you want to delete ${te(t)} schedule?`,onConfirm:()=>{const{id:i,deployment_id:d}=t;if(!d)throw new Error("'deployment_id' expected");r({deployment_id:d,schedule_id:i},{onSuccess:()=>F.success("Schedule deleted"),onError:o=>{const u=o.message||"Unknown error while deleting schedule.";console.error(u)}})}})]},Cn=({deploymentSchedule:s,onEditSchedule:n})=>{const[r,a]=Sn(),t=o=>{navigator.clipboard.writeText(o),F.success("ID copied")},i=()=>a(s),d=()=>n(s.id);return e.jsxs(e.Fragment,{children:[e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{variant:"outline",className:"size-8 p-0",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(I,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(ne,{align:"end",children:[e.jsx(Ne,{children:"Actions"}),e.jsx(E,{onClick:()=>t(s.id),children:"Copy ID"}),e.jsx(E,{onClick:d,children:"Edit"}),e.jsx(E,{onClick:i,children:"Delete"})]})]}),e.jsx(_e,{...r})]})},Dn=({deploymentSchedule:s,disabled:n})=>{const{updateDeploymentSchedule:r}=X(),a=t=>{const{id:i,deployment_id:d}=s;if(!d)throw new Error("'deployment_id' expected");r({schedule_id:i,deployment_id:d,active:t},{onSuccess:()=>F.success(`Deployment schedule ${t?"active":"paused"}`),onError:o=>{const u=o.message||"Unknown error while updating deployment schedule.";console.error(u)}})};return e.jsx(De,{children:e.jsxs(we,{children:[e.jsx(ye,{asChild:!0,children:e.jsx("div",{children:e.jsx(U,{"aria-label":`toggle ${te(s)}`,checked:s.active,onCheckedChange:a,disabled:n})})}),n&&e.jsx(be,{children:"Pause or resume this schedule"})]})})},wn=({deploymentSchedule:s,disabled:n,onEditSchedule:r})=>e.jsx(ms,{className:"p-3",children:e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx(M,{children:te(s)}),e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx(Dn,{deploymentSchedule:s,disabled:n}),e.jsx(Cn,{deploymentSchedule:s,onEditSchedule:r})]})]})}),yn=({deployment:s})=>{const{updateDeployment:n}=xs(),r=t=>{n({id:s.id,paused:!t},{onSuccess:()=>{F.success(`Deployment ${t?"active":"paused"}`)},onError:i=>{const d=i.message||"Unknown error while updating deployment";console.error(d)}})},a=s.entrypoint===""||s.entrypoint===null;return e.jsx(De,{children:e.jsxs(we,{children:[e.jsx(ye,{asChild:!0,children:e.jsx("div",{children:e.jsx(U,{"aria-label":"Pause or resume all schedules",disabled:a,onCheckedChange:r,checked:!s.paused})})}),e.jsx(be,{children:"Pause or resume all schedules"})]})})},bn=3,_n=({deployment:s,onAddSchedule:n,onEditSchedule:r})=>{const a=c.useMemo(()=>s.schedules?s.schedules.sort((t,i)=>t.created?i.created?Date.parse(t.created)-Date.parse(i.created):1:-1):[],[s.schedules]);return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(M,{variant:"bodySmall",className:"text-muted-foreground",children:"Schedules"}),(a.length>bn||s.paused)&&e.jsx(yn,{deployment:s})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[a.map(t=>e.jsx(wn,{disabled:s.paused,deploymentSchedule:t,onEditSchedule:r},t.id)),e.jsx("div",{children:e.jsxs(j,{size:"sm",onClick:n,children:[e.jsx(I,{id:"Plus",className:"mr-2 size-4"})," Schedule"]})})]})]})},Nn=({deployment:s})=>e.jsx(c.Suspense,{fallback:e.jsx(En,{numSkeletons:2}),children:e.jsx(Tn,{deployment:s})}),Tn=({deployment:s})=>{const{data:n}=de(ps(`prefect.deployment.${s.id}`));return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"Triggers"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Rn,{automations:n}),e.jsx(C,{to:"/automations/create",search:{actions:{type:"run-deployment",deploymentId:s.id,parameters:s.parameters}},children:e.jsxs(j,{size:"sm",children:[e.jsx(I,{id:"Plus",className:"mr-2 size-4"})," Add"]})})]})]})},Rn=({automations:s})=>e.jsx("ul",{className:"flex flex-col gap-1",children:s.map(n=>e.jsx("li",{children:e.jsxs(C,{to:"/automations/automation/$id",params:{id:n.id},className:"flex items-center text-xs",children:[e.jsx(I,{id:"Bot",className:"mr-1 size-4"}),e.jsx("div",{children:n.name})]})},n.id))}),En=({numSkeletons:s=1})=>e.jsx("ul",{className:"flex flex-col gap-1",children:Array.from({length:s}).map((n,r)=>e.jsx("li",{children:e.jsx(js,{className:"h-4 w-full"})},r))}),Fn=({deployment:s})=>{const{onQuickRun:n,isPending:r}=Ls();return e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{loading:r,children:["Run ",e.jsx(I,{className:"ml-1 size-4",id:"Play"})]})}),e.jsx(ne,{children:e.jsxs(vs,{children:[e.jsx(E,{onClick:()=>n(s.id),children:"Quick run"}),e.jsx(C,{to:"/deployments/deployment/$id/run",params:{id:s.id},search:{parameters:s.parameters},children:e.jsx(E,{children:"Custom run"})})]})})]})},Mn=({id:s})=>{const[n,r]=c.useState({open:!1,scheduleIdToEdit:""}),{data:a}=de(gs(s)),[t,i]=As(),d=c.useMemo(()=>{if(!(!a.schedules||!n.scheduleIdToEdit))return a.schedules.find(h=>h.id===n.scheduleIdToEdit)},[a.schedules,n.scheduleIdToEdit]),o=()=>r({open:!0,scheduleIdToEdit:""}),u=h=>r({open:!0,scheduleIdToEdit:h}),l=()=>r({open:!1,scheduleIdToEdit:""}),m=h=>{h||l()};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex align-middle justify-between",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Vs,{deployment:a}),e.jsx(_s,{deployment:a})]}),e.jsxs("div",{className:"flex align-middle gap-2",children:[e.jsx(Fn,{deployment:a}),e.jsx(Ps,{id:s,onDelete:()=>i(a,{shouldNavigate:!0})})]})]}),e.jsxs("div",{className:"grid gap-4",style:{gridTemplateColumns:"5fr 1fr"},children:[e.jsx("div",{className:"flex flex-col gap-5",children:e.jsx(rn,{deployment:a})}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(_n,{deployment:a,onAddSchedule:o,onEditSchedule:u}),e.jsx(Nn,{deployment:a}),e.jsx("hr",{}),e.jsx(ln,{deployment:a})]})]})]}),e.jsx(vn,{deploymentId:s,open:n.open,onOpenChange:m,scheduleToEdit:d,onSubmit:l}),e.jsx(_e,{...t})]})};b({tab:P(["Runs","Upcoming","Parameters","Configuration","Description"]).default("Runs"),runs:b({flowRuns:b({name:V().optional(),state:ie(P(le)).optional().default(J).catch(J)}).optional(),page:z().int().positive().optional().default(1).catch(1),limit:z().int().positive().optional().default(10).catch(10),sort:P(oe).optional().default("START_TIME_DESC").catch("START_TIME_DESC")}).optional(),upcoming:b({flowRuns:b({name:V().optional(),state:ie(P(le)).optional().default(["Scheduled"]).catch(["Scheduled"])}).optional(),page:z().int().positive().optional().default(1).catch(1),limit:z().int().positive().optional().default(5).catch(5),sort:P(oe).optional().default("START_TIME_ASC").catch("START_TIME_ASC")}).optional()});function at(){const{id:s}=fs.useParams();return e.jsx(Mn,{id:s})}export{at as component};
2
- //# sourceMappingURL=deployment._id-Drmf70gG.js.map
1
+ import{j as e,L as C,t as B,r as c,F as q,C as Oe,G as $e,D as Be,B as Qe,s as de}from"./vendor-tanstack-BcZfOOfy.js";import{O as ue,q as j,I,y as F,B as We,g as He,h as ae,bs as Ge,bB as Je,bD as Xe,al as k,L as re,aN as qe,ab as he,aE as Ke,cO as Ye,ct as J,N as Ze,aw as me,ax as xe,az as L,ay as P,X as es,aW as pe,p as je,cP as ge,cQ as K,G as U,a3 as Y,bh as Z,_ as fe,$ as ve,a0 as Se,a1 as Ce,S as ss,a as ns,b as ts,c as as,e as rs,cR as os,cS as ls,aM as is,cT as cs,cU as ds,ar as us,cV as hs,bU as De,bR as we,bS as ye,bT as be,C as ms,cW as xs,cX as ps,b5 as js,cr as gs,cY as fs,aL as oe,aA as le}from"./index-m48E4KcG.js";import{D as _e}from"./delete-confirmation-dialog-DHkm2p8m.js";import{D as ee,a as se,b as ne,c as Ne,d as E,f as vs}from"./dropdown-menu-0atiOSFo.js";import{L as Ss}from"./lazy-markdown-Du2Xu3Yp.js";import{D as Cs,W as Ds}from"./work-pool-filter-C2tpSS-w.js";import{S as ws}from"./sort-filter-DpuWNkQo.js";import{S as ys,a as Te,F as Re}from"./flow-runs-pagination-BATUweRV.js";import{u as Ee,F as Fe}from"./use-flow-runs-selected-rows-DmQSWBTu.js";import{D as bs}from"./data-table-rlbkLcrY.js";import{D as _s}from"./deployment-links-6iugOgDh.js";import{S as Ns}from"./index-CKGj5lSu.js";import{a as ke}from"./zod-Cuos7J7w.js";import{a0 as Ts,$ as Rs}from"./vendor-date-wwuDAncJ.js";import{c as Me,o as b,b as X,s as A,d as Es,e as V,n as z,f as Fs,a as ie}from"./vendor-forms-ClCIacbh.js";import{c as ks}from"./vendor-recharts-BAN776s_.js";import{c as Ie}from"./cronstrue-Bevg0uGw.js";import{F as Le,a as f,b as _,c as N,d as T,e as R}from"./form-DLrbC7rV.js";import{T as Pe}from"./timezone-select-BuPYznge.js";import{ao as Ms}from"./vendor-radix-BTiKGWfR.js";import{u as Is}from"./use-delete-confirmation-dialog-CUdii6Lo.js";import{u as Ls,a as Ps}from"./use-quick-run-CPempwLh.js";import"./vendor-react-Bce9NwRC.js";import"./table-bBL6C0ZK.js";import"./work-queue-icon-text-D4BWBVDN.js";const Ve=({search:s,sort:n,stateFilter:r,deploymentFilter:a,workPoolFilter:t})=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 pr-2 border-r-2",children:[e.jsx("div",{className:"min-w-56",children:e.jsx(ue,{"aria-label":"search by run name",placeholder:"Search by run name",value:s.value,onChange:i=>s.onChange(i.target.value)})}),e.jsx("div",{className:"min-w-56",children:e.jsx(ys,{selectedFilters:r.value,onSelectFilter:r.onSelect})}),a&&e.jsx("div",{className:"min-w-56",children:e.jsx(Cs,{selectedDeployments:a.value,onSelectDeployments:a.onSelect})}),t&&e.jsx("div",{className:"min-w-56",children:e.jsx(Ds,{selectedWorkPools:t.value,onSelectWorkPools:t.onSelect})})]}),e.jsx(ws,{value:n.value,onSelect:n.onSelect})]}),Vs=({id:s,onDelete:n})=>{const r=a=>{navigator.clipboard.writeText(a),F.success("ID copied")};return e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{variant:"outline",className:"size-8 p-0",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(I,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(ne,{align:"end",children:[e.jsx(Ne,{children:"Actions"}),e.jsx(E,{onClick:()=>r(s),children:"Copy ID"}),e.jsx(C,{to:"/deployments/deployment/$id/edit",params:{id:s},children:e.jsx(E,{children:"Edit"})}),e.jsx(E,{onClick:n,children:"Delete"}),e.jsx(C,{to:"/deployments/deployment/$id/duplicate",params:{id:s},children:e.jsx(E,{children:"Duplicate"})})]})]})},As=({deployment:s})=>e.jsx(We,{children:e.jsxs(He,{children:[e.jsx(ae,{children:e.jsx(Ge,{to:"/deployments",className:"text-xl font-semibold",children:"Deployments"})}),e.jsx(Je,{}),e.jsx(ae,{className:"text-xl font-semibold",children:e.jsx(Xe,{children:s.name})})]})}),zs=({deployment:s})=>{const n=JSON.stringify(s.job_variables??{},null,2),r=JSON.stringify(s.pull_steps??[],null,2);return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(k,{variant:"h4",children:"Job Variables"}),e.jsx(re,{copy:!0,disabled:!0,hideLineNumbers:!0,value:n}),e.jsx(k,{variant:"h4",children:"Pull Steps "}),e.jsx(re,{copy:!0,disabled:!0,hideLineNumbers:!0,value:r})]})},Us=({deployment:s})=>e.jsx("div",{className:"prose max-w-none",children:e.jsx(Ss,{children:s.description??""})}),Os=s=>{const{data:n,error:r}=B(qe(s)),a=c.useMemo(()=>n?n.map(o=>o.flow_id):[],[n]),{data:t,error:i}=B(he({flows:{id:{any_:a},operator:"and_"},offset:0,sort:"CREATED_DESC"},{enabled:a.length>0})),d=c.useMemo(()=>t?new Map(t.map(o=>[o.id,o])):new Map,[t]);return n&&n.length===0?{status:"success",error:null,data:[]}:n&&d.size>0?{status:"success",error:null,data:n.map(o=>{const u=d.get(o.flow_id);return{...o,flow:u}})}:r||i?{status:"error",error:r||i,data:void 0}:{status:"pending",error:null,data:void 0}},Ae=s=>{const{data:n,error:r}=B(Ke(s)),a=c.useMemo(()=>n?n.results.map(o=>o.flow_id):[],[n]),{data:t,error:i}=B(he({flows:{id:{any_:a},operator:"and_"},offset:0,sort:"CREATED_DESC"},{enabled:a.length>0})),d=c.useMemo(()=>t?new Map(t.map(o=>[o.id,o])):new Map,[t]);return n&&n.results.length===0?{status:"success",error:null,data:{...n,results:[]}}:n&&d.size>0?{status:"success",error:null,data:{...n,results:n.results.map(o=>{const u=d.get(o.flow_id);return{...o,flow:u}})}}:r||i?{status:"error",error:r||i,data:void 0}:{status:"pending",error:null,data:void 0}},D=q("/deployments/deployment/$id"),$s=({deployment:s})=>{const[n,r,{clearSet:a,onSelectRow:t}]=Ee(),[i,d]=Ws(),[o,u]=Hs(),[l,m]=Gs(),[h,x]=Js(),y=Qs(),{data:g}=Ae({deployments:{operator:"and_",id:{any_:[s.id]}},flow_runs:{name:{like_:o||void 0},state:{name:{any_:h.length===0?void 0:h},operator:"or_"},operator:"and_"},limit:i.limit,page:i.page,sort:l}),p=c.useMemo(()=>{if(g)return{...g,results:g.results.map(Ue=>({...Ue,deployment:s}))}},[g,s]),Q=y?()=>{y(),a()}:void 0,O=Bs(s);return e.jsxs("div",{className:"flex flex-col gap-2",children:[O&&e.jsxs("div",{className:"flex flex-col gap-2 border-b py-2",children:[e.jsx(k,{variant:"bodyLarge",children:"Next Run"}),e.jsx(Ye,{flowRun:O})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(Fe,{count:p?.count,results:p?.results,selectedRows:n,setSelectedRows:r}),e.jsx(Ve,{search:{value:o,onChange:u},sort:{value:l,onSelect:m},stateFilter:{value:new Set(h),onSelect:x}})]}),e.jsx(Te,{flowRuns:p?.results,selectedRows:n,onSelect:t,onClearFilters:Q}),p&&e.jsx(Re,{count:p.count,pagination:i,onChangePagination:d,pages:p.pages})]})]})};function Bs(s){const{data:n}=Os({deployments:{id:{any_:[s.id]},operator:"and_"},flow_runs:{state:{name:{any_:["Scheduled"]},operator:"and_"},operator:"and_"},sort:"EXPECTED_START_TIME_ASC",limit:1,offset:0});return c.useMemo(()=>{if(!(!n||!n[0]))return{...n[0],deployment:s}},[n,s])}function Qs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(()=>{n({to:".",search:t=>({...t,runs:void 0}),replace:!0})},[n]);return c.useMemo(()=>!!s,[s])?r:void 0}function Ws(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,...t}}),replace:!0})},[n,s]);return[c.useMemo(()=>({page:s?.page??1,limit:s?.limit??10}),[s?.limit,s?.page]),r]}function Hs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,flowRuns:{...s?.flowRuns,name:t}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.name??"",[s?.flowRuns?.name]),r]}function Gs(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,sort:t}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.sort??"START_TIME_DESC",[s?.sort]),r]}function Js(){const{runs:s}=D.useSearch(),n=D.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,runs:{...s,flowRuns:{...s?.flowRuns,state:t?Array.from(t):void 0}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.state??J,[s?.flowRuns?.state]),r]}const w=q("/deployments/deployment/$id"),Xs=({deployment:s})=>{const[n,r,{clearSet:a,onSelectRow:t}]=Ee(),[i,d]=Ks(),[o,u]=Ys(),[l,m]=Zs(),[h,x]=en(),y=qs(),{data:g}=Ae({deployments:{operator:"and_",id:{any_:[s.id]}},flow_runs:{name:{like_:o||void 0},state:{name:{any_:h.length===0?void 0:h},operator:"or_"},operator:"and_"},limit:i.limit,page:i.page,sort:l}),p=c.useMemo(()=>{if(g)return{...g,results:g.results.map(O=>({...O,deployment:s}))}},[g,s]),Q=y?()=>{y(),a()}:void 0;return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(Fe,{count:p?.count,results:p?.results,selectedRows:n,setSelectedRows:r}),e.jsx(Ve,{search:{value:o,onChange:u},sort:{value:l,onSelect:m},stateFilter:{value:new Set(h),onSelect:x}})]}),e.jsx(Te,{flowRuns:p?.results,selectedRows:n,onSelect:t,onClearFilters:Q}),p&&p.results.length>0&&e.jsx(Re,{count:p.count,pagination:i,onChangePagination:d,pages:p.pages})]})};function qs(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(()=>{n({to:".",search:t=>({...t,upcoming:void 0}),replace:!0})},[n]);return c.useMemo(()=>!!s,[s])?r:void 0}function Ks(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,...t}}),replace:!0})},[n,s]);return[c.useMemo(()=>({page:s?.page??1,limit:s?.limit??5}),[s?.limit,s?.page]),r]}function Ys(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,flowRuns:{...s?.flowRuns,name:t}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.name??"",[s?.flowRuns?.name]),r]}function Zs(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,sort:t}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.sort??"START_TIME_ASC",[s?.sort]),r]}function en(){const{upcoming:s}=w.useSearch(),n=w.useNavigate(),r=c.useCallback(t=>{n({to:".",search:i=>({...i,upcoming:{...s,flowRuns:{...s?.flowRuns,state:t?Array.from(t):void 0}}}),replace:!0})},[n,s]);return[c.useMemo(()=>s?.flowRuns?.state??["Scheduled"],[s?.flowRuns?.state]),r]}const $=Qe(),sn=[$.accessor("key",{header:"Key"}),$.accessor("value",{header:"Override"}),$.accessor("defaultValue",{header:"Default"}),$.accessor("type",{header:"Type"})],nn=s=>c.useMemo(()=>{if(!s.parameter_openapi_schema)return[];const n=s.parameter_openapi_schema.properties,r=s.parameters;return Object.keys(n).sort((a,t)=>n[a].position-n[t].position).map(a=>{const t=n[a];return{key:a,value:r[a],defaultValue:t.default,type:t.type}})},[s]),tn=({deployment:s})=>{const[n,r]=c.useState(""),a=nn(s),t=c.useDeferredValue(n),i=c.useMemo(()=>a.filter(o=>o.key.toLowerCase().includes(t.toLowerCase())||o.value?.toString().toLowerCase().includes(t.toLowerCase())||o.defaultValue?.toString().toLowerCase().includes(t.toLowerCase())||o.type?.toString().toLowerCase().includes(t.toLowerCase())),[a,t]),d=Oe({data:i,columns:sn,getCoreRowModel:Be(),defaultColumn:{maxSize:300},getPaginationRowModel:$e()});return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(k,{variant:"bodySmall",className:"text-muted-foreground",children:[i.length," ",Ze(i.length,"parameter")]}),e.jsx("div",{className:"sm:col-span-2 md:col-span-2 lg:col-span-3",children:e.jsx(ue,{className:"sm:col-span-2 md:col-span-2 lg:col-span-3",placeholder:"Search parameters",value:n,onChange:o=>r(o.target.value)})})]}),e.jsx(bs,{table:d})]})},an=q("/deployments/deployment/$id"),rn=({deployment:s})=>{const{tab:n}=an.useSearch(),r=on(s);return e.jsxs(me,{defaultValue:r[0].value,value:n,children:[e.jsx(xe,{children:r.map(({value:a,LinkComponent:t})=>e.jsx(t,{},a))}),r.map(({value:a,ViewComponent:t})=>e.jsx(t,{},a))]})};function on(s){return c.useMemo(()=>[{value:"Runs",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Runs"},children:e.jsx(P,{value:"Runs",children:"Runs"})}),ViewComponent:()=>e.jsx(L,{value:"Runs",children:e.jsx($s,{deployment:s})})},{value:"Upcoming",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Upcoming"},children:e.jsx(P,{value:"Upcoming",children:"Upcoming"})}),ViewComponent:()=>e.jsx(L,{value:"Upcoming",children:e.jsx(Xs,{deployment:s})})},{value:"Parameters",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Parameters"},children:e.jsx(P,{value:"Parameters",children:"Parameters"})}),ViewComponent:()=>e.jsx(L,{value:"Parameters",children:e.jsx(tn,{deployment:s})})},{value:"Configuration",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Configuration"},children:e.jsx(P,{value:"Configuration",children:"Configuration"})}),ViewComponent:()=>e.jsx(L,{value:"Configuration",children:e.jsx(zs,{deployment:s})})},{value:"Description",LinkComponent:()=>e.jsx(C,{to:".",search:{tab:"Description"},children:e.jsx(P,{value:"Description",children:"Description"})}),ViewComponent:()=>e.jsx(L,{value:"Description",children:e.jsx(Us,{deployment:s})})}],[s])}const v=()=>e.jsx("dd",{className:"text-muted-foreground text-sm",children:"None"}),ce=({children:s})=>e.jsx("dt",{className:"text-sm text-muted-foreground",children:s}),S=({className:s,children:n})=>e.jsx("dd",{className:pe("text-sm",s),children:n}),ln=({deployment:s})=>{const n=[{field:"Status",ComponentValue:()=>s.status?e.jsx("dd",{children:e.jsx(Ns,{status:s.status})}):e.jsx(v,{})},{field:"Created",ComponentValue:()=>s.created?e.jsx(S,{className:"font-mono",children:s.created}):e.jsx(v,{})},{field:"Updated",ComponentValue:()=>s.updated?e.jsx(S,{className:"font-mono",children:s.updated}):e.jsx(v,{})},{field:"Entrypoint",ComponentValue:()=>s.entrypoint?e.jsx(S,{children:s.entrypoint}):e.jsx(v,{})},{field:"Path",ComponentValue:()=>s.path?e.jsx(S,{children:s.path}):e.jsx(v,{})},{field:"Concurrency Limit",ComponentValue:()=>s.global_concurrency_limit?e.jsx(S,{children:s.global_concurrency_limit.limit}):e.jsx(v,{})}],r=[{field:"Flow ID",ComponentValue:()=>e.jsx(S,{children:s.flow_id})},{field:"Deployment ID",ComponentValue:()=>e.jsx(S,{children:s.id})},{field:"Deployment Version",ComponentValue:()=>s.version?e.jsx(S,{children:s.version}):e.jsx(v,{})},{field:"Storage Document ID",ComponentValue:()=>s.storage_document_id?e.jsx(S,{children:s.storage_document_id}):e.jsx(v,{})},{field:"Infrastructure Document ID",ComponentValue:()=>s.infrastructure_document_id?e.jsx(S,{children:s.infrastructure_document_id}):e.jsx(v,{})},{field:"Tags",ComponentValue:()=>s.tags&&s.tags.length>0?e.jsx("dd",{children:e.jsx(es,{tags:s.tags,maxTagsDisplayed:4})}):e.jsx(v,{})}];return e.jsxs("div",{children:[e.jsx("ul",{className:"flex flex-col gap-3",children:n.map(({field:a,ComponentValue:t})=>e.jsx("li",{children:e.jsxs("dl",{children:[e.jsx(ce,{children:a}),e.jsx(t,{})]})},a))}),e.jsx("hr",{className:"my-3"}),e.jsx("ul",{className:"flex flex-col gap-3",children:r.map(({field:a,ComponentValue:t})=>e.jsx("li",{children:e.jsxs("dl",{children:[e.jsx(ce,{children:a}),e.jsx(t,{})]})},a))})]})};var ze=Ts();const W=s=>{let n="",r=!1;try{ze.CronExpressionParser.parse(s),n=Ie.toString(s),r=!0}catch{r=!1,n="Invalid expression"}return{description:n,isCronValid:r}},cn=({onChange:s,...n})=>{const[r,a]=c.useState(W(String(n.value)).description),[t,i]=c.useState(W(String(n.value)).isCronValid),d=o=>{if(s){s(o);const{description:u,isCronValid:l}=W(o.target.value);a(u),i(l)}};return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(je,{...n,onChange:d}),e.jsx(k,{variant:"bodySmall",className:ks(t?"text-muted-foreground":"text-red-500"),children:r})]})},dn=s=>{try{return ze.CronExpressionParser.parse(s),!0}catch{return!1}},un=b({active:X(),schedule:b({cron:A().refine(dn),timezone:A().default("Etc/UTC"),day_or:X().default(!0)})}),H={active:!0,schedule:{cron:"* * * * *",timezone:"Etc/UTC",day_or:!0}},hn=({deployment_id:s,scheduleToEdit:n,onSubmit:r})=>{const{createDeploymentSchedule:a,isPending:t}=ge(),{updateDeploymentSchedule:i,isPending:d}=K(),o=Me({resolver:ke(un),defaultValues:H});c.useEffect(()=>{if(n){const{active:l,schedule:m}=n;if("cron"in m){const{cron:h,day_or:x,timezone:y}=m;o.reset({active:l,schedule:{cron:h,day_or:x,timezone:y??"Etc/UTC"}})}}else o.reset(H)},[o,n]);const u=l=>{const m=()=>{o.reset(H),r()};n?i({deployment_id:s,schedule_id:n.id,...l},{onSuccess:()=>{F.success("Deployment schedule updated")},onError:h=>{const x=h.message||"Unknown error while updating deployment schedule.";o.setError("root",{message:x})},onSettled:m}):a({deployment_id:s,...l},{onSuccess:()=>{F.success("Deployment schedule created")},onError:h=>{const x=h.message||"Unknown error while creating deployment schedule.";o.setError("root",{message:x})},onSettled:m})};return e.jsx(Le,{...o,children:e.jsxs("form",{onSubmit:l=>{o.handleSubmit(u)(l)},className:"space-y-4",children:[e.jsx(f,{children:o.formState.errors.root?.message}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(_,{control:o.control,name:"active",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Active"}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-3/4",children:e.jsx(_,{control:o.control,name:"schedule.cron",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Value"}),e.jsx(R,{children:e.jsx(cn,{...l})}),e.jsx(f,{})]})})}),e.jsx(_,{control:o.control,name:"schedule.day_or",render:({field:l})=>e.jsxs(N,{children:[e.jsxs(T,{"aria-label":"Day Or",children:["Day Or ",e.jsx(mn,{})]}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})})]}),e.jsx(_,{control:o.control,name:"schedule.timezone",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Timezone"}),e.jsx(R,{children:e.jsx(Pe,{selectedValue:l.value,onSelect:l.onChange})}),e.jsx(f,{})]})})]}),e.jsxs(Y,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{type:"submit",loading:t||d,children:"Save"})]})]})})},mn=()=>e.jsxs(fe,{children:[e.jsx(Z,{asChild:!0,children:e.jsx("button",{type:"button",className:"cursor-help",children:e.jsx(I,{id:"Info",className:"size-4 inline"})})}),e.jsxs(ve,{"aria-describedby":void 0,children:[e.jsx(Se,{children:e.jsx(Ce,{children:"Day Or"})}),e.jsx(k,{children:'When the "Day Or" value is off, this schedule will connect day of the month and day of the week entries using OR logic; when on it will connect them using AND logic.'})]})]}),xn=[{label:"Seconds",value:"seconds"},{label:"Minutes",value:"minutes"},{label:"Hours",value:"hours"},{label:"Days",value:"days"}],M={seconds:1,minutes:60,hours:3600,days:24*3600},pn=s=>{let n=s;const r=Math.floor(s/M.days);if(n%=M.days,n===0)return{interval_value:r,interval_time:"days"};const a=Math.floor(s/M.hours);if(n%=M.hours,n===0)return{interval_value:a,interval_time:"hours"};const t=Math.floor(s/M.minutes);return n%=M.minutes,n===0?{interval_value:t,interval_time:"minutes"}:{interval_value:n,interval_time:"seconds"}},jn=b({active:X(),schedule:b({interval_value:z().or(A()).pipe(Fs.number()),interval_time:V(["seconds","minutes","hours","days"]),anchor_date:Es(),timezone:A().default("Etc/UTC")})}),G={active:!0,schedule:{interval_value:60,interval_time:"minutes",anchor_date:new Date,timezone:"Etc/UTC"}},gn=({deployment_id:s,scheduleToEdit:n,onSubmit:r})=>{const{createDeploymentSchedule:a,isPending:t}=ge(),{updateDeploymentSchedule:i,isPending:d}=K(),o=Me({resolver:ke(jn),defaultValues:G});c.useEffect(()=>{if(n){const{active:l,schedule:m}=n;if("interval"in m){const{interval:h,anchor_date:x,timezone:y}=m,{interval_value:g,interval_time:p}=pn(h);o.reset({active:l,schedule:{interval_value:g,interval_time:p,anchor_date:x?new Date(x):new Date,timezone:y??"Etc/UTC"}})}}else o.reset(G)},[o,n]);const u=l=>{const m=()=>{o.reset(G),r()};n?i({deployment_id:s,schedule_id:n.id,active:l.active,schedule:{interval:l.schedule.interval_value*M[l.schedule.interval_time],anchor_date:l.schedule.anchor_date.toISOString(),timezone:l.schedule.timezone}},{onSuccess:()=>{F.success("Deployment schedule updated")},onError:h=>{const x=h.message||"Unknown error while updating deployment schedule.";o.setError("root",{message:x})},onSettled:m}):a({deployment_id:s,active:l.active,schedule:{interval:l.schedule.interval_value*M[l.schedule.interval_time],anchor_date:l.schedule.anchor_date.toISOString(),timezone:l.schedule.timezone}},{onSuccess:()=>{F.success("Deployment schedule created")},onError:h=>{const x=h.message||"Unknown error while creating deployment schedule.";o.setError("root",{message:x})},onSettled:m})};return e.jsx(Le,{...o,children:e.jsxs("form",{onSubmit:l=>{o.handleSubmit(u)(l)},className:"space-y-4",children:[e.jsx(f,{children:o.formState.errors.root?.message}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(_,{control:o.control,name:"active",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Active"}),e.jsx(R,{children:e.jsx(U,{className:"block",checked:l.value,onCheckedChange:l.onChange})}),e.jsx(f,{})]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"w-3/4",children:e.jsx(_,{control:o.control,name:"schedule.interval_value",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Value"}),e.jsx(R,{children:e.jsx(je,{...l})}),e.jsx(f,{})]})})}),e.jsx(_,{control:o.control,name:"schedule.interval_time",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Interval"}),e.jsxs(ss,{onValueChange:l.onChange,defaultValue:l.value,value:l.value,children:[e.jsx(R,{children:e.jsx(ns,{children:e.jsx(ts,{placeholder:"Select interval"})})}),e.jsx(as,{children:xn.map(({label:m,value:h})=>e.jsx(rs,{value:h,children:m},h))})]}),e.jsx(f,{})]})})]}),e.jsx(_,{control:o.control,name:"schedule.anchor_date",render:({field:l})=>e.jsxs(N,{className:"flex flex-col",children:[e.jsx(T,{children:"Anchor date"}),e.jsxs(os,{children:[e.jsx(ls,{asChild:!0,children:e.jsx(R,{children:e.jsxs(j,{variant:"outline",className:pe("w-full",!l.value&&"text-muted-foreground"),children:[is(l.value,"dateTime"),e.jsx(I,{id:"Calendar",className:"ml-auto size-4 opacity-50"})]})})}),e.jsx(cs,{className:"w-auto p-0",align:"start",children:e.jsx(ds,{mode:"single",selected:l.value,onSelect:l.onChange})})]}),e.jsx(f,{})]})}),e.jsx(_,{control:o.control,name:"schedule.timezone",render:({field:l})=>e.jsxs(N,{children:[e.jsx(T,{children:"Timezone"}),e.jsx(R,{children:e.jsx(Pe,{selectedValue:l.value,onSelect:l.onChange})}),e.jsx(f,{})]})})]}),e.jsxs(Y,{children:[e.jsx(Z,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{type:"submit",loading:t||d,children:"Save"})]})]})})},fn=()=>e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(k,{children:"Sorry, modifying RRule schedules via the UI is currently unsupported; select a different schedule type above or modify your schedule in code."}),e.jsxs(Y,{children:[e.jsx(Ms,{asChild:!0,children:e.jsx(j,{variant:"outline",children:"Close"})}),e.jsx(j,{disabled:!0,children:"Save"})]})]}),vn=({deploymentId:s,onOpenChange:n,open:r,scheduleToEdit:a,onSubmit:t})=>{const[i,d]=c.useState("interval");c.useEffect(()=>{if(!a)return;const{schedule:u}=a;"interval"in u?d("interval"):"cron"in u?d("cron"):d("rrule")},[a]);const o=[{value:"interval",label:"Interval",Component:()=>e.jsx(gn,{deployment_id:s,onSubmit:t,scheduleToEdit:a})},{value:"cron",label:"Cron",Component:()=>e.jsx(hn,{deployment_id:s,onSubmit:t,scheduleToEdit:a})},{value:"rrule",label:"RRule",Component:()=>e.jsx(fn,{})}];return e.jsx(fe,{open:r,onOpenChange:n,children:e.jsxs(ve,{"aria-describedby":void 0,children:[e.jsx(Se,{children:e.jsxs(Ce,{children:[a?"Edit":"Add"," Schedule"]})}),e.jsxs(me,{defaultValue:o[0].value,value:i,children:[e.jsx(xe,{children:o.map(({value:u,label:l})=>e.jsx(P,{value:u,onClick:()=>d(u),children:l},u))}),o.map(({value:u,Component:l})=>e.jsx(L,{value:u,children:e.jsx(l,{})},u))]})]})})},te=s=>{const{schedule:n}=s;return"interval"in n?`Every ${us(n.interval*1e3)}`:"cron"in n?Ie.toString(n.cron):Rs(n.rrule).toText()},Sn=()=>{const[s,n]=Is(),{deleteDeploymentSchedule:r}=hs();return[s,t=>n({title:"Delete Schedule",description:`Are you sure you want to delete ${te(t)} schedule?`,onConfirm:()=>{const{id:i,deployment_id:d}=t;if(!d)throw new Error("'deployment_id' expected");r({deployment_id:d,schedule_id:i},{onSuccess:()=>F.success("Schedule deleted"),onError:o=>{const u=o.message||"Unknown error while deleting schedule.";console.error(u)}})}})]},Cn=({deploymentSchedule:s,onEditSchedule:n})=>{const[r,a]=Sn(),t=o=>{navigator.clipboard.writeText(o),F.success("ID copied")},i=()=>a(s),d=()=>n(s.id);return e.jsxs(e.Fragment,{children:[e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{variant:"outline",className:"size-8 p-0",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(I,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(ne,{align:"end",children:[e.jsx(Ne,{children:"Actions"}),e.jsx(E,{onClick:()=>t(s.id),children:"Copy ID"}),e.jsx(E,{onClick:d,children:"Edit"}),e.jsx(E,{onClick:i,children:"Delete"})]})]}),e.jsx(_e,{...r})]})},Dn=({deploymentSchedule:s,disabled:n})=>{const{updateDeploymentSchedule:r}=K(),a=t=>{const{id:i,deployment_id:d}=s;if(!d)throw new Error("'deployment_id' expected");r({schedule_id:i,deployment_id:d,active:t},{onSuccess:()=>F.success(`Deployment schedule ${t?"active":"paused"}`),onError:o=>{const u=o.message||"Unknown error while updating deployment schedule.";console.error(u)}})};return e.jsx(De,{children:e.jsxs(we,{children:[e.jsx(ye,{asChild:!0,children:e.jsx("div",{children:e.jsx(U,{"aria-label":`toggle ${te(s)}`,checked:s.active,onCheckedChange:a,disabled:n})})}),n&&e.jsx(be,{children:"Pause or resume this schedule"})]})})},wn=({deploymentSchedule:s,disabled:n,onEditSchedule:r})=>e.jsx(ms,{className:"p-3",children:e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx(k,{children:te(s)}),e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx(Dn,{deploymentSchedule:s,disabled:n}),e.jsx(Cn,{deploymentSchedule:s,onEditSchedule:r})]})]})}),yn=({deployment:s})=>{const{updateDeployment:n}=xs(),r=t=>{n({id:s.id,paused:!t},{onSuccess:()=>{F.success(`Deployment ${t?"active":"paused"}`)},onError:i=>{const d=i.message||"Unknown error while updating deployment";console.error(d)}})},a=s.entrypoint===""||s.entrypoint===null;return e.jsx(De,{children:e.jsxs(we,{children:[e.jsx(ye,{asChild:!0,children:e.jsx("div",{children:e.jsx(U,{"aria-label":"Pause or resume all schedules",disabled:a,onCheckedChange:r,checked:!s.paused})})}),e.jsx(be,{children:"Pause or resume all schedules"})]})})},bn=3,_n=({deployment:s,onAddSchedule:n,onEditSchedule:r})=>{const a=c.useMemo(()=>s.schedules?s.schedules.sort((t,i)=>t.created?i.created?Date.parse(t.created)-Date.parse(i.created):1:-1):[],[s.schedules]);return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(k,{variant:"bodySmall",className:"text-muted-foreground",children:"Schedules"}),(a.length>bn||s.paused)&&e.jsx(yn,{deployment:s})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[a.map(t=>e.jsx(wn,{disabled:s.paused,deploymentSchedule:t,onEditSchedule:r},t.id)),e.jsx("div",{children:e.jsxs(j,{size:"sm",onClick:n,children:[e.jsx(I,{id:"Plus",className:"mr-2 size-4"})," Schedule"]})})]})]})},Nn=({deployment:s})=>e.jsx(c.Suspense,{fallback:e.jsx(En,{numSkeletons:2}),children:e.jsx(Tn,{deployment:s})}),Tn=({deployment:s})=>{const{data:n}=de(ps(`prefect.deployment.${s.id}`));return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"Triggers"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Rn,{automations:n}),e.jsx(C,{to:"/automations/create",search:{actions:{type:"run-deployment",deploymentId:s.id,parameters:s.parameters}},children:e.jsxs(j,{size:"sm",children:[e.jsx(I,{id:"Plus",className:"mr-2 size-4"})," Add"]})})]})]})},Rn=({automations:s})=>e.jsx("ul",{className:"flex flex-col gap-1",children:s.map(n=>e.jsx("li",{children:e.jsxs(C,{to:"/automations/automation/$id",params:{id:n.id},className:"flex items-center text-xs",children:[e.jsx(I,{id:"Bot",className:"mr-1 size-4"}),e.jsx("div",{children:n.name})]})},n.id))}),En=({numSkeletons:s=1})=>e.jsx("ul",{className:"flex flex-col gap-1",children:Array.from({length:s}).map((n,r)=>e.jsx("li",{children:e.jsx(js,{className:"h-4 w-full"})},r))}),Fn=({deployment:s})=>{const{onQuickRun:n,isPending:r}=Ls();return e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsxs(j,{loading:r,children:["Run ",e.jsx(I,{className:"ml-1 size-4",id:"Play"})]})}),e.jsx(ne,{children:e.jsxs(vs,{children:[e.jsx(E,{onClick:()=>n(s.id),children:"Quick run"}),e.jsx(C,{to:"/deployments/deployment/$id/run",params:{id:s.id},search:{parameters:s.parameters},children:e.jsx(E,{children:"Custom run"})})]})})]})},kn=({id:s})=>{const[n,r]=c.useState({open:!1,scheduleIdToEdit:""}),{data:a}=de(gs(s)),[t,i]=Ps(),d=c.useMemo(()=>{if(!(!a.schedules||!n.scheduleIdToEdit))return a.schedules.find(h=>h.id===n.scheduleIdToEdit)},[a.schedules,n.scheduleIdToEdit]),o=()=>r({open:!0,scheduleIdToEdit:""}),u=h=>r({open:!0,scheduleIdToEdit:h}),l=()=>r({open:!1,scheduleIdToEdit:""}),m=h=>{h||l()};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex align-middle justify-between",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(As,{deployment:a}),e.jsx(_s,{deployment:a})]}),e.jsxs("div",{className:"flex align-middle gap-2",children:[e.jsx(Fn,{deployment:a}),e.jsx(Vs,{id:s,onDelete:()=>i(a,{shouldNavigate:!0})})]})]}),e.jsxs("div",{className:"grid gap-4",style:{gridTemplateColumns:"5fr 1fr"},children:[e.jsx("div",{className:"flex flex-col gap-5",children:e.jsx(rn,{deployment:a})}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(_n,{deployment:a,onAddSchedule:o,onEditSchedule:u}),e.jsx(Nn,{deployment:a}),e.jsx("hr",{}),e.jsx(ln,{deployment:a})]})]})]}),e.jsx(vn,{deploymentId:s,open:n.open,onOpenChange:m,scheduleToEdit:d,onSubmit:l}),e.jsx(_e,{...t})]})};b({tab:V(["Runs","Upcoming","Parameters","Configuration","Description"]).default("Runs"),runs:b({flowRuns:b({name:A().optional(),state:ie(V(le)).optional().default(J).catch(J)}).optional(),page:z().int().positive().optional().default(1).catch(1),limit:z().int().positive().optional().default(10).catch(10),sort:V(oe).optional().default("START_TIME_DESC").catch("START_TIME_DESC")}).optional(),upcoming:b({flowRuns:b({name:A().optional(),state:ie(V(le)).optional().default(["Scheduled"]).catch(["Scheduled"])}).optional(),page:z().int().positive().optional().default(1).catch(1),limit:z().int().positive().optional().default(5).catch(5),sort:V(oe).optional().default("START_TIME_ASC").catch("START_TIME_ASC")}).optional()});function at(){const{id:s}=fs.useParams();return e.jsx(kn,{id:s})}export{at as component};
2
+ //# sourceMappingURL=deployment._id-Ci9zge5n.js.map