prefect 3.6.14.dev7__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.
- prefect/_build_info.py +3 -3
- prefect/events/clients.py +40 -21
- prefect/server/api/concurrency_limits_v2.py +5 -3
- prefect/server/ui-v2/assets/{artifact-card-9Cw_dMVb.js → artifact-card-BBzQR-Cj.js} +2 -2
- prefect/server/ui-v2/assets/{artifact-card-9Cw_dMVb.js.map → artifact-card-BBzQR-Cj.js.map} +1 -1
- prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js +2 -0
- prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js.map +1 -0
- prefect/server/ui-v2/assets/{automation-wizard-D7nVgckT.js → automation-wizard-EYSfXlQ7.js} +2 -2
- prefect/server/ui-v2/assets/{automation-wizard-D7nVgckT.js.map → automation-wizard-EYSfXlQ7.js.map} +1 -1
- prefect/server/ui-v2/assets/{automation._id-BhEFaDc6.js → automation._id-Dn7jABys.js} +2 -2
- prefect/server/ui-v2/assets/{automation._id-BhEFaDc6.js.map → automation._id-Dn7jABys.js.map} +1 -1
- prefect/server/ui-v2/assets/{automation_._id.edit-CffnUlbj.js → automation_._id.edit-COrqswD3.js} +2 -2
- prefect/server/ui-v2/assets/{automation_._id.edit-CffnUlbj.js.map → automation_._id.edit-COrqswD3.js.map} +1 -1
- prefect/server/ui-v2/assets/{automations-header-qb94agIp.js → automations-header-DN_dmMXW.js} +2 -2
- prefect/server/ui-v2/assets/{automations-header-qb94agIp.js.map → automations-header-DN_dmMXW.js.map} +1 -1
- prefect/server/ui-v2/assets/{base-job-template-form-section-DdDSFAJa.js → base-job-template-form-section-De2ACYbw.js} +2 -2
- prefect/server/ui-v2/assets/{base-job-template-form-section-DdDSFAJa.js.map → base-job-template-form-section-De2ACYbw.js.map} +1 -1
- prefect/server/ui-v2/assets/{block-type-details-2rIqbqoZ.js → block-type-details-Cklc7TkK.js} +2 -2
- prefect/server/ui-v2/assets/{block-type-details-2rIqbqoZ.js.map → block-type-details-Cklc7TkK.js.map} +1 -1
- prefect/server/ui-v2/assets/{block-type-logo-DV1pSkV0.js → block-type-logo-Cbpfxded.js} +2 -2
- prefect/server/ui-v2/assets/{block-type-logo-DV1pSkV0.js.map → block-type-logo-Cbpfxded.js.map} +1 -1
- prefect/server/ui-v2/assets/{block._id-OeCbdPeL.js → block._id-tuz1Bcj2.js} +2 -2
- prefect/server/ui-v2/assets/{block._id-OeCbdPeL.js.map → block._id-tuz1Bcj2.js.map} +1 -1
- prefect/server/ui-v2/assets/{block_._id.edit-CD22VllN.js → block_._id.edit-CFEYhF5R.js} +2 -2
- prefect/server/ui-v2/assets/{block_._id.edit-CD22VllN.js.map → block_._id.edit-CFEYhF5R.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog-Dj7lYV7b.js → catalog-CCPRo7nY.js} +2 -2
- prefect/server/ui-v2/assets/{catalog-Dj7lYV7b.js.map → catalog-CCPRo7nY.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog_._slug-NLgWS8vG.js → catalog_._slug-Bl2J2oI3.js} +2 -2
- prefect/server/ui-v2/assets/{catalog_._slug-NLgWS8vG.js.map → catalog_._slug-Bl2J2oI3.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog_._slug_.create-D0vc1Piy.js → catalog_._slug_.create-9UD_SxDN.js} +2 -2
- prefect/server/ui-v2/assets/{catalog_._slug_.create-D0vc1Piy.js.map → catalog_._slug_.create-9UD_SxDN.js.map} +1 -1
- prefect/server/ui-v2/assets/{collapsible-Dgk2Qvjj.js → collapsible-BVQTBG_U.js} +2 -2
- prefect/server/ui-v2/assets/{collapsible-Dgk2Qvjj.js.map → collapsible-BVQTBG_U.js.map} +1 -1
- prefect/server/ui-v2/assets/{concurrency-limit._id-BZiyM0NT.js → concurrency-limit._id-CsgRxA0a.js} +2 -2
- prefect/server/ui-v2/assets/{concurrency-limit._id-BZiyM0NT.js.map → concurrency-limit._id-CsgRxA0a.js.map} +1 -1
- prefect/server/ui-v2/assets/{create-H21iiYVl.js → create-BycfZHGQ.js} +2 -2
- prefect/server/ui-v2/assets/{create-H21iiYVl.js.map → create-BycfZHGQ.js.map} +1 -1
- prefect/server/ui-v2/assets/{create-1j1-8yhV.js → create-D--LHaji.js} +2 -2
- prefect/server/ui-v2/assets/{create-1j1-8yhV.js.map → create-D--LHaji.js.map} +1 -1
- prefect/server/ui-v2/assets/{data-table-DHlbTUL7.js → data-table-rlbkLcrY.js} +2 -2
- prefect/server/ui-v2/assets/{data-table-DHlbTUL7.js.map → data-table-rlbkLcrY.js.map} +1 -1
- prefect/server/ui-v2/assets/{delete-confirmation-dialog-B9-8JHV7.js → delete-confirmation-dialog-DHkm2p8m.js} +2 -2
- prefect/server/ui-v2/assets/{delete-confirmation-dialog-B9-8JHV7.js.map → delete-confirmation-dialog-DHkm2p8m.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-action-header-DlD2GSJB.js → deployment-action-header-D5GOooPm.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-action-header-DlD2GSJB.js.map → deployment-action-header-D5GOooPm.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-form-CFcOIeIi.js → deployment-form-wfg6HeAJ.js} +3 -3
- prefect/server/ui-v2/assets/{deployment-form-CFcOIeIi.js.map → deployment-form-wfg6HeAJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-links-DN2Oa0r1.js → deployment-links-6iugOgDh.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-links-DN2Oa0r1.js.map → deployment-links-6iugOgDh.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment._id-C8NPwIIQ.js → deployment._id-Ci9zge5n.js} +2 -2
- prefect/server/ui-v2/assets/{deployment._id-C8NPwIIQ.js.map → deployment._id-Ci9zge5n.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment._id-DsVQUPNp.js → deployment._id-whsGcHdu.js} +2 -2
- prefect/server/ui-v2/assets/{deployment._id-DsVQUPNp.js.map → deployment._id-whsGcHdu.js.map} +1 -1
- prefect/server/ui-v2/assets/deployment_._id.duplicate-D9ZWkh8H.js +2 -0
- prefect/server/ui-v2/assets/{deployment_._id.duplicate-4uYFgdPg.js.map → deployment_._id.duplicate-D9ZWkh8H.js.map} +1 -1
- prefect/server/ui-v2/assets/deployment_._id.edit-CS7sObzC.js +2 -0
- prefect/server/ui-v2/assets/{deployment_._id.edit-Z859_W76.js.map → deployment_._id.edit-CS7sObzC.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment_._id.run-MW5q2SRM.js → deployment_._id.run-g7SZuDFi.js} +2 -2
- prefect/server/ui-v2/assets/{deployment_._id.run-MW5q2SRM.js.map → deployment_._id.run-g7SZuDFi.js.map} +1 -1
- prefect/server/ui-v2/assets/{dropdown-menu-DF4QR3Cp.js → dropdown-menu-0atiOSFo.js} +2 -2
- prefect/server/ui-v2/assets/{dropdown-menu-DF4QR3Cp.js.map → dropdown-menu-0atiOSFo.js.map} +1 -1
- prefect/server/ui-v2/assets/{event-resource-display-DR3zL_k_.js → event-resource-display-DHiAb1Up.js} +2 -2
- prefect/server/ui-v2/assets/{event-resource-display-DR3zL_k_.js.map → event-resource-display-DHiAb1Up.js.map} +1 -1
- prefect/server/ui-v2/assets/{event._eventDate._eventId-DfU7SalU.js → event._eventDate._eventId-D7Twzb22.js} +2 -2
- prefect/server/ui-v2/assets/{event._eventDate._eventId-DfU7SalU.js.map → event._eventDate._eventId-D7Twzb22.js.map} +1 -1
- prefect/server/ui-v2/assets/flow-run-graph-BhzuSJLm.js +2 -0
- prefect/server/ui-v2/assets/{flow-run-graph-Bf9t75GK.js.map → flow-run-graph-BhzuSJLm.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run._id-RL0qeSLl.js → flow-run._id-CqpH6bvx.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-RL0qeSLl.js.map → flow-run._id-CqpH6bvx.js.map} +1 -1
- prefect/server/ui-v2/assets/flow-run._id-RLy2kBh0.js +4 -0
- prefect/server/ui-v2/assets/flow-run._id-RLy2kBh0.js.map +1 -0
- prefect/server/ui-v2/assets/{flow-run._id-DTsj_xO3.js → flow-run._id-lIIQBD7H.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-DTsj_xO3.js.map → flow-run._id-lIIQBD7H.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-runs-pagination-Bfelp8UO.js → flow-runs-pagination-BATUweRV.js} +2 -2
- prefect/server/ui-v2/assets/{flow-runs-pagination-Bfelp8UO.js.map → flow-runs-pagination-BATUweRV.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow._id-DuQ5AUjj.js → flow._id-BdQGWPKP.js} +2 -2
- prefect/server/ui-v2/assets/{flow._id-DuQ5AUjj.js.map → flow._id-BdQGWPKP.js.map} +1 -1
- prefect/server/ui-v2/assets/{form-DHWphysD.js → form-DLrbC7rV.js} +2 -2
- prefect/server/ui-v2/assets/{form-DHWphysD.js.map → form-DLrbC7rV.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-BK_NuSng.js → header-BTAWyeXv.js} +2 -2
- prefect/server/ui-v2/assets/{header-BK_NuSng.js.map → header-BTAWyeXv.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-nu-ZKuen.js → header-ChFAx5uR.js} +2 -2
- prefect/server/ui-v2/assets/{header-nu-ZKuen.js.map → header-ChFAx5uR.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-B9SuuoZx.js → header-CyQqOj1w.js} +2 -2
- prefect/server/ui-v2/assets/{header-B9SuuoZx.js.map → header-CyQqOj1w.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-Dl_iSX0z.js → index-7i4X9TeK.js} +2 -2
- prefect/server/ui-v2/assets/{index-Dl_iSX0z.js.map → index-7i4X9TeK.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-BPXdHXTb.js → index-BaWDC4da.js} +2 -2
- prefect/server/ui-v2/assets/{index-BPXdHXTb.js.map → index-BaWDC4da.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CqUa3fbN.js → index-BkiGTHwU.js} +2 -2
- prefect/server/ui-v2/assets/{index-CqUa3fbN.js.map → index-BkiGTHwU.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DNuhJlQK.js → index-Btb_-PDp.js} +2 -2
- prefect/server/ui-v2/assets/{index-DNuhJlQK.js.map → index-Btb_-PDp.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DcMpyvW7.js → index-BwCLKpNb.js} +2 -2
- prefect/server/ui-v2/assets/{index-DcMpyvW7.js.map → index-BwCLKpNb.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DVsNA4UN.js → index-CHf6xi9j.js} +2 -2
- prefect/server/ui-v2/assets/{index-DVsNA4UN.js.map → index-CHf6xi9j.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DSBmxhwG.js → index-CKGj5lSu.js} +2 -2
- prefect/server/ui-v2/assets/{index-DSBmxhwG.js.map → index-CKGj5lSu.js.map} +1 -1
- prefect/server/ui-v2/assets/index-COouj_0-.css +1 -0
- prefect/server/ui-v2/assets/{index-vRbn9rG4.js → index-CQnWiUE5.js} +2 -2
- prefect/server/ui-v2/assets/{index-vRbn9rG4.js.map → index-CQnWiUE5.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DWGx9irM.js → index-CiSFHkhI.js} +2 -2
- prefect/server/ui-v2/assets/{index-DWGx9irM.js.map → index-CiSFHkhI.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DFS5GNpT.js → index-CnlN-VC_.js} +2 -2
- prefect/server/ui-v2/assets/{index-DFS5GNpT.js.map → index-CnlN-VC_.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-mj9GNKt7.js → index-CxUfZRkN.js} +2 -2
- prefect/server/ui-v2/assets/{index-mj9GNKt7.js.map → index-CxUfZRkN.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DsK1RlS9.js → index-D5RT-SAp.js} +2 -2
- prefect/server/ui-v2/assets/{index-DsK1RlS9.js.map → index-D5RT-SAp.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-BqwU5GSv.js → index-DATPYZfT.js} +2 -2
- prefect/server/ui-v2/assets/{index-BqwU5GSv.js.map → index-DATPYZfT.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-BCR-yD58.js → index-DNh9ZBy4.js} +2 -2
- prefect/server/ui-v2/assets/{index-BCR-yD58.js.map → index-DNh9ZBy4.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DtrQRjt_.js → index-DQGif3jm.js} +2 -2
- prefect/server/ui-v2/assets/{index-DtrQRjt_.js.map → index-DQGif3jm.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-Cj5ihRiw.js → index-Eqdr6Ff7.js} +2 -2
- prefect/server/ui-v2/assets/{index-Cj5ihRiw.js.map → index-Eqdr6Ff7.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CYjH7t93.js → index-VH4TnZ4e.js} +2 -2
- prefect/server/ui-v2/assets/{index-CYjH7t93.js.map → index-VH4TnZ4e.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CPFMHkRh.js → index-kP_I5Qfd.js} +2 -2
- prefect/server/ui-v2/assets/{index-CPFMHkRh.js.map → index-kP_I5Qfd.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-C0MMjoUe.js → index-lyQav_XM.js} +2 -2
- prefect/server/ui-v2/assets/{index-C0MMjoUe.js.map → index-lyQav_XM.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-_0OOjqn5.js → index-m48E4KcG.js} +4 -4
- prefect/server/ui-v2/assets/{index-_0OOjqn5.js.map → index-m48E4KcG.js.map} +1 -1
- prefect/server/ui-v2/assets/{json-input-CMZiW5M2.js → json-input-Ba-BeBcw.js} +2 -2
- prefect/server/ui-v2/assets/{json-input-CMZiW5M2.js.map → json-input-Ba-BeBcw.js.map} +1 -1
- prefect/server/ui-v2/assets/key-value-DkSKn6jE.js +2 -0
- prefect/server/ui-v2/assets/key-value-DkSKn6jE.js.map +1 -0
- prefect/server/ui-v2/assets/{key._key-CdonPtNh.js → key._key-Cjx57ymg.js} +2 -2
- prefect/server/ui-v2/assets/{key._key-CdonPtNh.js.map → key._key-Cjx57ymg.js.map} +1 -1
- prefect/server/ui-v2/assets/{lazy-markdown-CKcd9ksG.js → lazy-markdown-Du2Xu3Yp.js} +2 -2
- prefect/server/ui-v2/assets/{lazy-markdown-CKcd9ksG.js.map → lazy-markdown-Du2Xu3Yp.js.map} +1 -1
- prefect/server/ui-v2/assets/{login-Dnd-tV90.js → login-DxMF9Jvj.js} +2 -2
- prefect/server/ui-v2/assets/{login-Dnd-tV90.js.map → login-DxMF9Jvj.js.map} +1 -1
- prefect/server/ui-v2/assets/{markdown-input-D6rfyTa_.js → markdown-input-DPi8zyRr.js} +2 -2
- prefect/server/ui-v2/assets/{markdown-input-D6rfyTa_.js.map → markdown-input-DPi8zyRr.js.map} +1 -1
- prefect/server/ui-v2/assets/{python-example-snippet-eWuRXCxE.js → python-example-snippet-DfCFYPN_.js} +3 -3
- prefect/server/ui-v2/assets/{python-example-snippet-eWuRXCxE.js.map → python-example-snippet-DfCFYPN_.js.map} +1 -1
- prefect/server/ui-v2/assets/{python-input-itfwkkBT.js → python-input-mr6GD840.js} +2 -2
- prefect/server/ui-v2/assets/{python-input-itfwkkBT.js.map → python-input-mr6GD840.js.map} +1 -1
- prefect/server/ui-v2/assets/{radio-group-DeN-_krn.js → radio-group-Co3cN0Kv.js} +2 -2
- prefect/server/ui-v2/assets/{radio-group-DeN-_krn.js.map → radio-group-Co3cN0Kv.js.map} +1 -1
- prefect/server/ui-v2/assets/{route-error-state-tYzhKCqH.js → route-error-state-DnBaNT2T.js} +2 -2
- prefect/server/ui-v2/assets/{route-error-state-tYzhKCqH.js.map → route-error-state-DnBaNT2T.js.map} +1 -1
- prefect/server/ui-v2/assets/{schema-form-DDUzvjpL.js → schema-form-CWDHSME9.js} +2 -2
- prefect/server/ui-v2/assets/{schema-form-DDUzvjpL.js.map → schema-form-CWDHSME9.js.map} +1 -1
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-DrpJmvST.js → schema-form-input-string-format-datetime-BSWlW_aQ.js} +4 -4
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-DrpJmvST.js.map → schema-form-input-string-format-datetime-BSWlW_aQ.js.map} +1 -1
- prefect/server/ui-v2/assets/{settings-OdrJDFrk.js → settings-DU5y6tJE.js} +2 -2
- prefect/server/ui-v2/assets/{settings-OdrJDFrk.js.map → settings-DU5y6tJE.js.map} +1 -1
- prefect/server/ui-v2/assets/{sort-filter-DaBGDmua.js → sort-filter-DpuWNkQo.js} +2 -2
- prefect/server/ui-v2/assets/{sort-filter-DaBGDmua.js.map → sort-filter-DpuWNkQo.js.map} +1 -1
- prefect/server/ui-v2/assets/{table-4GUC4YOD.js → table-bBL6C0ZK.js} +2 -2
- prefect/server/ui-v2/assets/{table-4GUC4YOD.js.map → table-bBL6C0ZK.js.map} +1 -1
- prefect/server/ui-v2/assets/{tags-input-BvH9UY8h.js → tags-input-BLPMVWpZ.js} +2 -2
- prefect/server/ui-v2/assets/{tags-input-BvH9UY8h.js.map → tags-input-BLPMVWpZ.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-CLZz3kwW.js → task-run-concurrency-limits-reset-dialog-S69sih55.js} +2 -2
- prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-CLZz3kwW.js.map → task-run-concurrency-limits-reset-dialog-S69sih55.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-DHHzTQ9d.js → task-run._id-B_tIDm4K.js} +2 -2
- prefect/server/ui-v2/assets/{task-run._id-DHHzTQ9d.js.map → task-run._id-B_tIDm4K.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-DgXFfCuq.js → task-run._id-Dl3Azs8t.js} +2 -2
- prefect/server/ui-v2/assets/{task-run._id-DgXFfCuq.js.map → task-run._id-Dl3Azs8t.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-runs-pagination-fR9zqj38.js → task-runs-pagination-VdR-LO4r.js} +2 -2
- prefect/server/ui-v2/assets/{task-runs-pagination-fR9zqj38.js.map → task-runs-pagination-VdR-LO4r.js.map} +1 -1
- prefect/server/ui-v2/assets/{textarea-DL9UCBaB.js → textarea-B3_TtPRi.js} +2 -2
- prefect/server/ui-v2/assets/{textarea-DL9UCBaB.js.map → textarea-B3_TtPRi.js.map} +1 -1
- prefect/server/ui-v2/assets/{timezone-select-qBEoPcyO.js → timezone-select-BuPYznge.js} +2 -2
- prefect/server/ui-v2/assets/{timezone-select-qBEoPcyO.js.map → timezone-select-BuPYznge.js.map} +1 -1
- prefect/server/ui-v2/assets/{toggle-group-Cf-ZSSDP.js → toggle-group-Cn07UIim.js} +2 -2
- prefect/server/ui-v2/assets/{toggle-group-Cf-ZSSDP.js.map → toggle-group-Cn07UIim.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-DRX9Kvie.js → use-delete-automation-confirmation-dialog-DpdsLH4t.js} +2 -2
- prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-DRX9Kvie.js.map → use-delete-automation-confirmation-dialog-DpdsLH4t.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-CogrfdiO.js → use-delete-block-document-confirmation-dialog-Cq5nGhzr.js} +2 -2
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-CogrfdiO.js.map → use-delete-block-document-confirmation-dialog-Cq5nGhzr.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-CdMKKvm5.js → use-flow-runs-selected-rows-DmQSWBTu.js} +2 -2
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-CdMKKvm5.js.map → use-flow-runs-selected-rows-DmQSWBTu.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-Be1qg-IF.js → use-get-artifacts-flow-task-runs-DTwcWiqW.js} +2 -2
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-Be1qg-IF.js.map → use-get-artifacts-flow-task-runs-DTwcWiqW.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-quick-run-DXDfXpvs.js → use-quick-run-CPempwLh.js} +2 -2
- prefect/server/ui-v2/assets/{use-quick-run-DXDfXpvs.js.map → use-quick-run-CPempwLh.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-state-favicon-Dhkg1tqx.js → use-state-favicon-M09DmrNy.js} +2 -2
- prefect/server/ui-v2/assets/{use-state-favicon-Dhkg1tqx.js.map → use-state-favicon-M09DmrNy.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-stepper-jTTsXpho.js → use-stepper-CDucnvzp.js} +2 -2
- prefect/server/ui-v2/assets/{use-stepper-jTTsXpho.js.map → use-stepper-CDucnvzp.js.map} +1 -1
- prefect/server/ui-v2/assets/{utilities-CgJi7g2F.js → utilities-BRCNRcQl.js} +2 -2
- prefect/server/ui-v2/assets/{utilities-CgJi7g2F.js.map → utilities-BRCNRcQl.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool-filter-DLkRAAHz.js → work-pool-filter-C2tpSS-w.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool-filter-DLkRAAHz.js.map → work-pool-filter-C2tpSS-w.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool-queue-toggle-BFodtXQe.js → work-pool-queue-toggle-BQ9b-Wxy.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool-queue-toggle-BFodtXQe.js.map → work-pool-queue-toggle-BQ9b-Wxy.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool._workPoolName-Bjh_bO5G.js → work-pool._workPoolName-C_LiL3SE.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool._workPoolName-Bjh_bO5G.js.map → work-pool._workPoolName-C_LiL3SE.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-B-gnp5dc.js → work-pool_._workPoolName.edit-DBHlrVVx.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-B-gnp5dc.js.map → work-pool_._workPoolName.edit-DBHlrVVx.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-C7aVwLhH.js → work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-C7aVwLhH.js.map → work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-queue-icon-text-BK_qfkJJ.js → work-queue-icon-text-D4BWBVDN.js} +2 -2
- prefect/server/ui-v2/assets/{work-queue-icon-text-BK_qfkJJ.js.map → work-queue-icon-text-D4BWBVDN.js.map} +1 -1
- prefect/server/ui-v2/index.html +2 -2
- prefect/testing/fixtures.py +14 -13
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.15.dist-info}/METADATA +2 -2
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.15.dist-info}/RECORD +207 -205
- prefect/server/ui-v2/assets/artifact._id-zuZ8P2RD.js +0 -2
- prefect/server/ui-v2/assets/artifact._id-zuZ8P2RD.js.map +0 -1
- prefect/server/ui-v2/assets/deployment_._id.duplicate-4uYFgdPg.js +0 -2
- prefect/server/ui-v2/assets/deployment_._id.edit-Z859_W76.js +0 -2
- prefect/server/ui-v2/assets/flow-run-graph-Bf9t75GK.js +0 -2
- prefect/server/ui-v2/assets/flow-run._id-33WKPXsZ.js +0 -4
- prefect/server/ui-v2/assets/flow-run._id-33WKPXsZ.js.map +0 -1
- prefect/server/ui-v2/assets/index-Br7MUvka.css +0 -1
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.15.dist-info}/WHEEL +0 -0
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.15.dist-info}/entry_points.txt +0 -0
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.15.dist-info}/licenses/LICENSE +0 -0
prefect/server/ui-v2/assets/{deployment-links-DN2Oa0r1.js.map → deployment-links-6iugOgDh.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-links-
|
|
1
|
+
{"version":3,"file":"deployment-links-6iugOgDh.js","sources":["../../src/components/deployments/deployment-links.tsx"],"sourcesContent":["import type { Deployment } from \"@/api/deployments\";\nimport { FlowLink } from \"@/components/flows/flow-link\";\nimport { WorkPoolLink } from \"@/components/work-pools/work-pool-link\";\nimport { WorkQueueIconText } from \"@/components/work-pools/work-queue-icon-text\";\n\ntype DeploymentLinksProps = {\n\tdeployment: Deployment;\n};\n\nexport const DeploymentLinks = ({ deployment }: DeploymentLinksProps) => {\n\treturn (\n\t\t<div className=\"flex items-center gap-4\">\n\t\t\t<FlowLink flowId={deployment.flow_id} />\n\t\t\t{deployment.work_pool_name && (\n\t\t\t\t<WorkPoolLink workPoolName={deployment.work_pool_name} />\n\t\t\t)}\n\t\t\t{deployment.work_pool_name && deployment.work_queue_name && (\n\t\t\t\t<WorkQueueIconText\n\t\t\t\t\tworkPoolName={deployment.work_pool_name}\n\t\t\t\t\tworkQueueName={deployment.work_queue_name}\n\t\t\t\t\tshowLabel\n\t\t\t\t\tshowStatus\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["DeploymentLinks","deployment","jsxs","jsx","FlowLink","WorkPoolLink","WorkQueueIconText"],"mappings":"uHASO,MAAMA,EAAkB,CAAC,CAAE,WAAAC,KAEhCC,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACd,SAAA,CAAAC,EAAAA,IAACC,EAAA,CAAS,OAAQH,EAAW,OAAA,CAAS,EACrCA,EAAW,gBACXE,MAACE,EAAA,CAAa,aAAcJ,EAAW,eAAgB,EAEvDA,EAAW,gBAAkBA,EAAW,iBACxCE,EAAAA,IAACG,EAAA,CACA,aAAcL,EAAW,eACzB,cAAeA,EAAW,gBAC1B,UAAS,GACT,WAAU,EAAA,CAAA,CACX,EAEF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
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-_0OOjqn5.js";import{D as _e}from"./delete-confirmation-dialog-B9-8JHV7.js";import{D as ee,a as se,b as ne,c as Ne,d as E,f as vs}from"./dropdown-menu-DF4QR3Cp.js";import{L as Ss}from"./lazy-markdown-CKcd9ksG.js";import{D as Cs,W as Ds}from"./work-pool-filter-DLkRAAHz.js";import{S as ws}from"./sort-filter-DaBGDmua.js";import{S as ys,a as Te,F as Re}from"./flow-runs-pagination-Bfelp8UO.js";import{u as Ee,F as Fe}from"./use-flow-runs-selected-rows-CdMKKvm5.js";import{D as bs}from"./data-table-DHlbTUL7.js";import{D as _s}from"./deployment-links-DN2Oa0r1.js";import{S as Ns}from"./index-DSBmxhwG.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-DHWphysD.js";import{T as Pe}from"./timezone-select-qBEoPcyO.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-DXDfXpvs.js";import"./vendor-react-Bce9NwRC.js";import"./table-4GUC4YOD.js";import"./work-queue-icon-text-BK_qfkJJ.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-
|
|
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
|