prefect 3.6.14.dev7__py3-none-any.whl → 3.6.16.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- prefect/__init__.py +20 -0
- prefect/_build_info.py +3 -3
- prefect/_internal/analytics/__init__.py +80 -0
- prefect/_internal/analytics/_config.py +2 -0
- prefect/_internal/analytics/ci_detection.py +39 -0
- prefect/_internal/analytics/client.py +132 -0
- prefect/_internal/analytics/device_id.py +55 -0
- prefect/_internal/analytics/emit.py +90 -0
- prefect/_internal/analytics/enabled.py +33 -0
- prefect/_internal/analytics/events.py +14 -0
- prefect/_internal/analytics/milestones.py +177 -0
- prefect/_internal/analytics/notice.py +60 -0
- prefect/_internal/analytics/service.py +238 -0
- prefect/analytics/__init__.py +67 -0
- prefect/deployments/runner.py +20 -0
- prefect/events/clients.py +40 -21
- prefect/flow_engine.py +16 -0
- prefect/flows.py +8 -0
- prefect/server/api/concurrency_limits_v2.py +5 -3
- prefect/server/ui-v2/assets/{artifact-card-9Cw_dMVb.js → artifact-card-BclosG8t.js} +2 -2
- prefect/server/ui-v2/assets/{artifact-card-9Cw_dMVb.js.map → artifact-card-BclosG8t.js.map} +1 -1
- prefect/server/ui-v2/assets/artifact._id-C0r4BJr2.js +2 -0
- prefect/server/ui-v2/assets/artifact._id-C0r4BJr2.js.map +1 -0
- prefect/server/ui-v2/assets/{automation-wizard-D7nVgckT.js → automation-wizard-Bmgt6nn8.js} +2 -2
- prefect/server/ui-v2/assets/{automation-wizard-D7nVgckT.js.map → automation-wizard-Bmgt6nn8.js.map} +1 -1
- prefect/server/ui-v2/assets/automation._id-Ccke3KJz.js +2 -0
- prefect/server/ui-v2/assets/{automation._id-BhEFaDc6.js.map → automation._id-Ccke3KJz.js.map} +1 -1
- prefect/server/ui-v2/assets/{automation_._id.edit-CffnUlbj.js → automation_._id.edit-BlKPUTVf.js} +2 -2
- prefect/server/ui-v2/assets/{automation_._id.edit-CffnUlbj.js.map → automation_._id.edit-BlKPUTVf.js.map} +1 -1
- prefect/server/ui-v2/assets/{automations-header-qb94agIp.js → automations-header-Df2zw3SC.js} +2 -2
- prefect/server/ui-v2/assets/{automations-header-qb94agIp.js.map → automations-header-Df2zw3SC.js.map} +1 -1
- prefect/server/ui-v2/assets/{base-job-template-form-section-DdDSFAJa.js → base-job-template-form-section-oZD6U-RW.js} +2 -2
- prefect/server/ui-v2/assets/{base-job-template-form-section-DdDSFAJa.js.map → base-job-template-form-section-oZD6U-RW.js.map} +1 -1
- prefect/server/ui-v2/assets/{block-type-details-2rIqbqoZ.js → block-type-details-CYrdaLot.js} +2 -2
- prefect/server/ui-v2/assets/{block-type-details-2rIqbqoZ.js.map → block-type-details-CYrdaLot.js.map} +1 -1
- prefect/server/ui-v2/assets/block-type-logo-CyAWq7mC.js +2 -0
- prefect/server/ui-v2/assets/block-type-logo-CyAWq7mC.js.map +1 -0
- prefect/server/ui-v2/assets/{block._id-OeCbdPeL.js → block._id-CBgHrpTP.js} +2 -2
- prefect/server/ui-v2/assets/{block._id-OeCbdPeL.js.map → block._id-CBgHrpTP.js.map} +1 -1
- prefect/server/ui-v2/assets/{block_._id.edit-CD22VllN.js → block_._id.edit-CW-kdi4O.js} +2 -2
- prefect/server/ui-v2/assets/{block_._id.edit-CD22VllN.js.map → block_._id.edit-CW-kdi4O.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog-Dj7lYV7b.js → catalog-Brh0kn1I.js} +2 -2
- prefect/server/ui-v2/assets/{catalog-Dj7lYV7b.js.map → catalog-Brh0kn1I.js.map} +1 -1
- prefect/server/ui-v2/assets/catalog_._slug-MCgzguIZ.js +2 -0
- prefect/server/ui-v2/assets/{catalog_._slug-NLgWS8vG.js.map → catalog_._slug-MCgzguIZ.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog_._slug_.create-D0vc1Piy.js → catalog_._slug_.create-DBaeHi9Q.js} +2 -2
- prefect/server/ui-v2/assets/{catalog_._slug_.create-D0vc1Piy.js.map → catalog_._slug_.create-DBaeHi9Q.js.map} +1 -1
- prefect/server/ui-v2/assets/{collapsible-Dgk2Qvjj.js → collapsible-B_NJS0uJ.js} +2 -2
- prefect/server/ui-v2/assets/{collapsible-Dgk2Qvjj.js.map → collapsible-B_NJS0uJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{concurrency-limit._id-BZiyM0NT.js → concurrency-limit._id-qzNUQzQa.js} +2 -2
- prefect/server/ui-v2/assets/{concurrency-limit._id-BZiyM0NT.js.map → concurrency-limit._id-qzNUQzQa.js.map} +1 -1
- prefect/server/ui-v2/assets/create-BwXG6EIb.js +2 -0
- prefect/server/ui-v2/assets/{create-1j1-8yhV.js.map → create-BwXG6EIb.js.map} +1 -1
- prefect/server/ui-v2/assets/{create-H21iiYVl.js → create-MoiIE9Ms.js} +2 -2
- prefect/server/ui-v2/assets/{create-H21iiYVl.js.map → create-MoiIE9Ms.js.map} +1 -1
- prefect/server/ui-v2/assets/data-table-CPkppyg6.js +2 -0
- prefect/server/ui-v2/assets/data-table-CPkppyg6.js.map +1 -0
- prefect/server/ui-v2/assets/delete-confirmation-dialog-CwDK_2QS.js +2 -0
- prefect/server/ui-v2/assets/{delete-confirmation-dialog-B9-8JHV7.js.map → delete-confirmation-dialog-CwDK_2QS.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-action-header-DlD2GSJB.js → deployment-action-header-Vp9YsCJO.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-action-header-DlD2GSJB.js.map → deployment-action-header-Vp9YsCJO.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-form-CFcOIeIi.js → deployment-form-CJcg_6DJ.js} +3 -3
- prefect/server/ui-v2/assets/{deployment-form-CFcOIeIi.js.map → deployment-form-CJcg_6DJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-links-DN2Oa0r1.js → deployment-links-CIkJIuHh.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-links-DN2Oa0r1.js.map → deployment-links-CIkJIuHh.js.map} +1 -1
- prefect/server/ui-v2/assets/deployment._id-C6XrGMp_.js +2 -0
- prefect/server/ui-v2/assets/{deployment._id-C8NPwIIQ.js.map → deployment._id-C6XrGMp_.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment._id-DsVQUPNp.js → deployment._id-CWgTYmTG.js} +2 -2
- prefect/server/ui-v2/assets/{deployment._id-DsVQUPNp.js.map → deployment._id-CWgTYmTG.js.map} +1 -1
- prefect/server/ui-v2/assets/deployment_._id.duplicate-Bg0s0ZJn.js +2 -0
- prefect/server/ui-v2/assets/{deployment_._id.duplicate-4uYFgdPg.js.map → deployment_._id.duplicate-Bg0s0ZJn.js.map} +1 -1
- prefect/server/ui-v2/assets/deployment_._id.edit-CnoB0UeG.js +2 -0
- prefect/server/ui-v2/assets/{deployment_._id.edit-Z859_W76.js.map → deployment_._id.edit-CnoB0UeG.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment_._id.run-MW5q2SRM.js → deployment_._id.run-BqPK6rTB.js} +2 -2
- prefect/server/ui-v2/assets/{deployment_._id.run-MW5q2SRM.js.map → deployment_._id.run-BqPK6rTB.js.map} +1 -1
- prefect/server/ui-v2/assets/{dropdown-menu-DF4QR3Cp.js → dropdown-menu-D7Gwbd15.js} +2 -2
- prefect/server/ui-v2/assets/{dropdown-menu-DF4QR3Cp.js.map → dropdown-menu-D7Gwbd15.js.map} +1 -1
- prefect/server/ui-v2/assets/{event-resource-display-DR3zL_k_.js → event-resource-display-CDRgVKd4.js} +2 -2
- prefect/server/ui-v2/assets/{event-resource-display-DR3zL_k_.js.map → event-resource-display-CDRgVKd4.js.map} +1 -1
- prefect/server/ui-v2/assets/event._eventDate._eventId-C73GMDkK.js +2 -0
- prefect/server/ui-v2/assets/{event._eventDate._eventId-DfU7SalU.js.map → event._eventDate._eventId-C73GMDkK.js.map} +1 -1
- prefect/server/ui-v2/assets/flow-run-graph-ckiE3mA9.js +2 -0
- prefect/server/ui-v2/assets/{flow-run-graph-Bf9t75GK.js.map → flow-run-graph-ckiE3mA9.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run._id-RL0qeSLl.js → flow-run._id-BukrNCAq.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-RL0qeSLl.js.map → flow-run._id-BukrNCAq.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run._id-DTsj_xO3.js → flow-run._id-CtI5VZ2M.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-DTsj_xO3.js.map → flow-run._id-CtI5VZ2M.js.map} +1 -1
- prefect/server/ui-v2/assets/flow-run._id-s1UJuakA.js +4 -0
- prefect/server/ui-v2/assets/flow-run._id-s1UJuakA.js.map +1 -0
- prefect/server/ui-v2/assets/{flow-runs-pagination-Bfelp8UO.js → flow-runs-pagination-SLbYtvaR.js} +2 -2
- prefect/server/ui-v2/assets/{flow-runs-pagination-Bfelp8UO.js.map → flow-runs-pagination-SLbYtvaR.js.map} +1 -1
- prefect/server/ui-v2/assets/flow._id-CZ5P0v4N.js +2 -0
- prefect/server/ui-v2/assets/{flow._id-DuQ5AUjj.js.map → flow._id-CZ5P0v4N.js.map} +1 -1
- prefect/server/ui-v2/assets/{form-DHWphysD.js → form-mws4law8.js} +2 -2
- prefect/server/ui-v2/assets/{form-DHWphysD.js.map → form-mws4law8.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-BK_NuSng.js → header-Bes1LmY7.js} +2 -2
- prefect/server/ui-v2/assets/{header-BK_NuSng.js.map → header-Bes1LmY7.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-nu-ZKuen.js → header-Bj_zBR-a.js} +2 -2
- prefect/server/ui-v2/assets/{header-nu-ZKuen.js.map → header-Bj_zBR-a.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-B9SuuoZx.js → header-CPxTHSvz.js} +2 -2
- prefect/server/ui-v2/assets/{header-B9SuuoZx.js.map → header-CPxTHSvz.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-_0OOjqn5.js → index-B8vo2Lrg.js} +5 -5
- prefect/server/ui-v2/assets/{index-_0OOjqn5.js.map → index-B8vo2Lrg.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DsK1RlS9.js → index-BBeh-3Nh.js} +2 -2
- prefect/server/ui-v2/assets/{index-DsK1RlS9.js.map → index-BBeh-3Nh.js.map} +1 -1
- prefect/server/ui-v2/assets/index-BLnEvHia.js +2 -0
- prefect/server/ui-v2/assets/{index-Dl_iSX0z.js.map → index-BLnEvHia.js.map} +1 -1
- prefect/server/ui-v2/assets/index-BpKoubXu.js +2 -0
- prefect/server/ui-v2/assets/index-BpKoubXu.js.map +1 -0
- prefect/server/ui-v2/assets/index-By6YGqR3.js +2 -0
- prefect/server/ui-v2/assets/index-By6YGqR3.js.map +1 -0
- prefect/server/ui-v2/assets/index-CEi3BlKI.js +2 -0
- prefect/server/ui-v2/assets/index-CEi3BlKI.js.map +1 -0
- prefect/server/ui-v2/assets/{index-BPXdHXTb.js → index-CS-zxv7Z.js} +2 -2
- prefect/server/ui-v2/assets/{index-BPXdHXTb.js.map → index-CS-zxv7Z.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CPFMHkRh.js → index-CToHKh4q.js} +2 -2
- prefect/server/ui-v2/assets/{index-CPFMHkRh.js.map → index-CToHKh4q.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DSBmxhwG.js → index-CUVvZndW.js} +2 -2
- prefect/server/ui-v2/assets/{index-DSBmxhwG.js.map → index-CUVvZndW.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-mj9GNKt7.js → index-CYVn-I3i.js} +2 -2
- prefect/server/ui-v2/assets/{index-mj9GNKt7.js.map → index-CYVn-I3i.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DFS5GNpT.js → index-Cun0JN4t.js} +2 -2
- prefect/server/ui-v2/assets/{index-DFS5GNpT.js.map → index-Cun0JN4t.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DcMpyvW7.js → index-D6ynV6U7.js} +2 -2
- prefect/server/ui-v2/assets/{index-DcMpyvW7.js.map → index-D6ynV6U7.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DVsNA4UN.js → index-DdNUJLRW.js} +2 -2
- prefect/server/ui-v2/assets/{index-DVsNA4UN.js.map → index-DdNUJLRW.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-vRbn9rG4.js → index-DlHOXQhu.js} +2 -2
- prefect/server/ui-v2/assets/{index-vRbn9rG4.js.map → index-DlHOXQhu.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-Cj5ihRiw.js → index-DyVw8YE8.js} +2 -2
- prefect/server/ui-v2/assets/{index-Cj5ihRiw.js.map → index-DyVw8YE8.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DNuhJlQK.js → index-DzRz7D2P.js} +2 -2
- prefect/server/ui-v2/assets/{index-DNuhJlQK.js.map → index-DzRz7D2P.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DtrQRjt_.js → index-DzUcVNZg.js} +2 -2
- prefect/server/ui-v2/assets/{index-DtrQRjt_.js.map → index-DzUcVNZg.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-BCR-yD58.js → index-IBvMMs6S.js} +2 -2
- prefect/server/ui-v2/assets/{index-BCR-yD58.js.map → index-IBvMMs6S.js.map} +1 -1
- prefect/server/ui-v2/assets/index-_kpA__te.js +2 -0
- prefect/server/ui-v2/assets/{index-DWGx9irM.js.map → index-_kpA__te.js.map} +1 -1
- prefect/server/ui-v2/assets/index-m9O-nIOl.css +1 -0
- prefect/server/ui-v2/assets/{index-C0MMjoUe.js → index-wOvyf10b.js} +2 -2
- prefect/server/ui-v2/assets/{index-C0MMjoUe.js.map → index-wOvyf10b.js.map} +1 -1
- prefect/server/ui-v2/assets/{json-input-CMZiW5M2.js → json-input-Ce-HlRqa.js} +2 -2
- prefect/server/ui-v2/assets/{json-input-CMZiW5M2.js.map → json-input-Ce-HlRqa.js.map} +1 -1
- prefect/server/ui-v2/assets/key-value-XHEZOtZX.js +2 -0
- prefect/server/ui-v2/assets/key-value-XHEZOtZX.js.map +1 -0
- prefect/server/ui-v2/assets/{key._key-CdonPtNh.js → key._key-LpsMf3zD.js} +2 -2
- prefect/server/ui-v2/assets/{key._key-CdonPtNh.js.map → key._key-LpsMf3zD.js.map} +1 -1
- prefect/server/ui-v2/assets/{lazy-markdown-CKcd9ksG.js → lazy-markdown-1Hz0xzca.js} +2 -2
- prefect/server/ui-v2/assets/{lazy-markdown-CKcd9ksG.js.map → lazy-markdown-1Hz0xzca.js.map} +1 -1
- prefect/server/ui-v2/assets/{login-Dnd-tV90.js → login-D5uepl9L.js} +2 -2
- prefect/server/ui-v2/assets/{login-Dnd-tV90.js.map → login-D5uepl9L.js.map} +1 -1
- prefect/server/ui-v2/assets/{markdown-input-D6rfyTa_.js → markdown-input-CG6M9zD0.js} +2 -2
- prefect/server/ui-v2/assets/{markdown-input-D6rfyTa_.js.map → markdown-input-CG6M9zD0.js.map} +1 -1
- prefect/server/ui-v2/assets/python-example-snippet-DRHcUlCX.js +3 -0
- prefect/server/ui-v2/assets/{python-example-snippet-eWuRXCxE.js.map → python-example-snippet-DRHcUlCX.js.map} +1 -1
- prefect/server/ui-v2/assets/{python-input-itfwkkBT.js → python-input-BsUS8fw1.js} +2 -2
- prefect/server/ui-v2/assets/{python-input-itfwkkBT.js.map → python-input-BsUS8fw1.js.map} +1 -1
- prefect/server/ui-v2/assets/{radio-group-DeN-_krn.js → radio-group-BUsmwdrt.js} +2 -2
- prefect/server/ui-v2/assets/{radio-group-DeN-_krn.js.map → radio-group-BUsmwdrt.js.map} +1 -1
- prefect/server/ui-v2/assets/{route-error-state-tYzhKCqH.js → route-error-state-BFBpiIhD.js} +2 -2
- prefect/server/ui-v2/assets/{route-error-state-tYzhKCqH.js.map → route-error-state-BFBpiIhD.js.map} +1 -1
- prefect/server/ui-v2/assets/{schema-form-DDUzvjpL.js → schema-form-BwTmkvJk.js} +2 -2
- prefect/server/ui-v2/assets/{schema-form-DDUzvjpL.js.map → schema-form-BwTmkvJk.js.map} +1 -1
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-DrpJmvST.js → schema-form-input-string-format-datetime-nrb3g-JJ.js} +4 -4
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-DrpJmvST.js.map → schema-form-input-string-format-datetime-nrb3g-JJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{settings-OdrJDFrk.js → settings-CUBtK5aW.js} +2 -2
- prefect/server/ui-v2/assets/{settings-OdrJDFrk.js.map → settings-CUBtK5aW.js.map} +1 -1
- prefect/server/ui-v2/assets/{sort-filter-DaBGDmua.js → sort-filter-Cv8zAXMp.js} +2 -2
- prefect/server/ui-v2/assets/{sort-filter-DaBGDmua.js.map → sort-filter-Cv8zAXMp.js.map} +1 -1
- prefect/server/ui-v2/assets/{table-4GUC4YOD.js → table-BBNGfPra.js} +2 -2
- prefect/server/ui-v2/assets/{table-4GUC4YOD.js.map → table-BBNGfPra.js.map} +1 -1
- prefect/server/ui-v2/assets/{tags-input-BvH9UY8h.js → tags-input-DHrnkwjQ.js} +2 -2
- prefect/server/ui-v2/assets/{tags-input-BvH9UY8h.js.map → tags-input-DHrnkwjQ.js.map} +1 -1
- prefect/server/ui-v2/assets/task-run-concurrency-limits-reset-dialog-Z8-yFZ2_.js +2 -0
- prefect/server/ui-v2/assets/{task-run-concurrency-limits-reset-dialog-CLZz3kwW.js.map → task-run-concurrency-limits-reset-dialog-Z8-yFZ2_.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-DgXFfCuq.js → task-run._id-BY58gqs2.js} +2 -2
- prefect/server/ui-v2/assets/{task-run._id-DgXFfCuq.js.map → task-run._id-BY58gqs2.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-DHHzTQ9d.js → task-run._id-u73Jxfqw.js} +3 -3
- prefect/server/ui-v2/assets/{task-run._id-DHHzTQ9d.js.map → task-run._id-u73Jxfqw.js.map} +1 -1
- prefect/server/ui-v2/assets/task-runs-pagination-DUy3147A.js +2 -0
- prefect/server/ui-v2/assets/{task-runs-pagination-fR9zqj38.js.map → task-runs-pagination-DUy3147A.js.map} +1 -1
- prefect/server/ui-v2/assets/{textarea-DL9UCBaB.js → textarea-DUhh6-kq.js} +2 -2
- prefect/server/ui-v2/assets/{textarea-DL9UCBaB.js.map → textarea-DUhh6-kq.js.map} +1 -1
- prefect/server/ui-v2/assets/timezone-select-D4Q6VBtD.js +2 -0
- prefect/server/ui-v2/assets/{timezone-select-qBEoPcyO.js.map → timezone-select-D4Q6VBtD.js.map} +1 -1
- prefect/server/ui-v2/assets/{toggle-group-Cf-ZSSDP.js → toggle-group-7WUJn2Tx.js} +2 -2
- prefect/server/ui-v2/assets/{toggle-group-Cf-ZSSDP.js.map → toggle-group-7WUJn2Tx.js.map} +1 -1
- prefect/server/ui-v2/assets/use-delete-automation-confirmation-dialog-D4AD5Ndf.js +2 -0
- prefect/server/ui-v2/assets/{use-delete-automation-confirmation-dialog-DRX9Kvie.js.map → use-delete-automation-confirmation-dialog-D4AD5Ndf.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-CogrfdiO.js → use-delete-block-document-confirmation-dialog-DnwWEGUY.js} +2 -2
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-CogrfdiO.js.map → use-delete-block-document-confirmation-dialog-DnwWEGUY.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-CdMKKvm5.js → use-flow-runs-selected-rows-C-tehPRB.js} +2 -2
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-CdMKKvm5.js.map → use-flow-runs-selected-rows-C-tehPRB.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-Be1qg-IF.js → use-get-artifacts-flow-task-runs-DRWRrmrb.js} +2 -2
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-Be1qg-IF.js.map → use-get-artifacts-flow-task-runs-DRWRrmrb.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-quick-run-DXDfXpvs.js → use-quick-run-B4Xj-YQQ.js} +2 -2
- prefect/server/ui-v2/assets/{use-quick-run-DXDfXpvs.js.map → use-quick-run-B4Xj-YQQ.js.map} +1 -1
- prefect/server/ui-v2/assets/use-state-favicon-au2TZdMV.js +2 -0
- prefect/server/ui-v2/assets/{use-state-favicon-Dhkg1tqx.js.map → use-state-favicon-au2TZdMV.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-stepper-jTTsXpho.js → use-stepper-DyIb3vlq.js} +2 -2
- prefect/server/ui-v2/assets/{use-stepper-jTTsXpho.js.map → use-stepper-DyIb3vlq.js.map} +1 -1
- prefect/server/ui-v2/assets/{utilities-CgJi7g2F.js → utilities-D9Y2wo66.js} +2 -2
- prefect/server/ui-v2/assets/{utilities-CgJi7g2F.js.map → utilities-D9Y2wo66.js.map} +1 -1
- prefect/server/ui-v2/assets/vendor-recharts-BvvJP9Po.js +34 -0
- prefect/server/ui-v2/assets/vendor-recharts-BvvJP9Po.js.map +1 -0
- prefect/server/ui-v2/assets/{work-pool-filter-DLkRAAHz.js → work-pool-filter-CSOATj2D.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool-filter-DLkRAAHz.js.map → work-pool-filter-CSOATj2D.js.map} +1 -1
- prefect/server/ui-v2/assets/work-pool-queue-toggle-Dh7B1zMo.js +2 -0
- prefect/server/ui-v2/assets/{work-pool-queue-toggle-BFodtXQe.js.map → work-pool-queue-toggle-Dh7B1zMo.js.map} +1 -1
- prefect/server/ui-v2/assets/work-pool._workPoolName-B_NFWXKS.js +2 -0
- prefect/server/ui-v2/assets/{work-pool._workPoolName-Bjh_bO5G.js.map → work-pool._workPoolName-B_NFWXKS.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-B-gnp5dc.js → work-pool_._workPoolName.edit-Cyzn8g-S.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-B-gnp5dc.js.map → work-pool_._workPoolName.edit-Cyzn8g-S.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-C7aVwLhH.js → work-pool_._workPoolName.queue._workQueueName-DQzqQWPT.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-C7aVwLhH.js.map → work-pool_._workPoolName.queue._workQueueName-DQzqQWPT.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-queue-icon-text-BK_qfkJJ.js → work-queue-icon-text-BOpcJ8YU.js} +2 -2
- prefect/server/ui-v2/assets/{work-queue-icon-text-BK_qfkJJ.js.map → work-queue-icon-text-BOpcJ8YU.js.map} +1 -1
- prefect/server/ui-v2/index.html +3 -3
- prefect/testing/fixtures.py +14 -13
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.16.dev2.dist-info}/METADATA +3 -2
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.16.dev2.dist-info}/RECORD +225 -211
- 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/automation._id-BhEFaDc6.js +0 -2
- prefect/server/ui-v2/assets/block-type-logo-DV1pSkV0.js +0 -2
- prefect/server/ui-v2/assets/block-type-logo-DV1pSkV0.js.map +0 -1
- prefect/server/ui-v2/assets/catalog_._slug-NLgWS8vG.js +0 -2
- prefect/server/ui-v2/assets/create-1j1-8yhV.js +0 -2
- prefect/server/ui-v2/assets/data-table-DHlbTUL7.js +0 -2
- prefect/server/ui-v2/assets/data-table-DHlbTUL7.js.map +0 -1
- prefect/server/ui-v2/assets/delete-confirmation-dialog-B9-8JHV7.js +0 -2
- prefect/server/ui-v2/assets/deployment._id-C8NPwIIQ.js +0 -2
- 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/event._eventDate._eventId-DfU7SalU.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/flow._id-DuQ5AUjj.js +0 -2
- prefect/server/ui-v2/assets/index-BqwU5GSv.js +0 -2
- prefect/server/ui-v2/assets/index-BqwU5GSv.js.map +0 -1
- prefect/server/ui-v2/assets/index-Br7MUvka.css +0 -1
- prefect/server/ui-v2/assets/index-CYjH7t93.js +0 -2
- prefect/server/ui-v2/assets/index-CYjH7t93.js.map +0 -1
- prefect/server/ui-v2/assets/index-CqUa3fbN.js +0 -2
- prefect/server/ui-v2/assets/index-CqUa3fbN.js.map +0 -1
- prefect/server/ui-v2/assets/index-DWGx9irM.js +0 -2
- prefect/server/ui-v2/assets/index-Dl_iSX0z.js +0 -2
- prefect/server/ui-v2/assets/python-example-snippet-eWuRXCxE.js +0 -3
- prefect/server/ui-v2/assets/task-run-concurrency-limits-reset-dialog-CLZz3kwW.js +0 -2
- prefect/server/ui-v2/assets/task-runs-pagination-fR9zqj38.js +0 -2
- prefect/server/ui-v2/assets/timezone-select-qBEoPcyO.js +0 -2
- prefect/server/ui-v2/assets/use-delete-automation-confirmation-dialog-DRX9Kvie.js +0 -2
- prefect/server/ui-v2/assets/use-state-favicon-Dhkg1tqx.js +0 -2
- prefect/server/ui-v2/assets/vendor-recharts-BAN776s_.js +0 -34
- prefect/server/ui-v2/assets/vendor-recharts-BAN776s_.js.map +0 -1
- prefect/server/ui-v2/assets/work-pool-queue-toggle-BFodtXQe.js +0 -2
- prefect/server/ui-v2/assets/work-pool._workPoolName-Bjh_bO5G.js +0 -2
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.16.dev2.dist-info}/WHEEL +0 -0
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.16.dev2.dist-info}/entry_points.txt +0 -0
- {prefect-3.6.14.dev7.dist-info → prefect-3.6.16.dev2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,r as l,s as y}from"./vendor-tanstack-BcZfOOfy.js";import{B as j,g as p,h as c,bs as u,bB as x,D as w,al as h,q as b,I as v,y as N,O as k,dz as D,dy as S}from"./index-_0OOjqn5.js";import{a as T}from"./use-get-artifacts-flow-task-runs-Be1qg-IF.js";import{L as f}from"./lazy-markdown-CKcd9ksG.js";import{u as C,E as L}from"./vendor-codemirror-LnHkUyAP.js";import{T as B,a as _,b as g,c as A,d as R,e as I}from"./table-4GUC4YOD.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";const M=({artifact:s})=>{let a=e.jsx(e.Fragment,{});return s.key?a=e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(j,{children:e.jsxs(p,{children:[e.jsx(c,{children:e.jsx(u,{to:"/artifacts/key/$key",params:{key:s.key},className:"text-xl font-semibold",children:s.key})}),e.jsx(x,{}),e.jsx(c,{className:"text-xl font-semibold",children:s.id})]})})}):a=e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(j,{children:e.jsxs(p,{children:[s.flow_run&&e.jsxs(e.Fragment,{children:[e.jsx(c,{children:e.jsx(u,{to:"/runs/flow-run/$id",params:{id:s.flow_run_id??""},className:"text-xl font-semibold",children:s.flow_run.name})}),e.jsx(x,{})]}),s.task_run&&e.jsxs(e.Fragment,{children:[e.jsx(c,{children:e.jsx(u,{to:"/runs/task-run/$id",params:{id:s.task_run_id??""},className:"text-xl font-semibold",children:s.task_run.name})}),e.jsx(x,{})]}),e.jsx(c,{className:"text-xl font-semibold",children:s.id})]})})}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[a,e.jsx(w,{id:"artifacts-guide",label:"Documentation"})]}),s.description&&e.jsx("div",{className:"",children:e.jsx(h,{variant:"h2",className:"my-4 font-bold prose lg:prose-xl",children:e.jsx(f,{children:s.description})})}),e.jsx("hr",{})]})},z=({artifact:s})=>{const[a,r]=l.useState(!1),d=()=>{r(o=>!o)},n=l.useRef(null),m={highlightActiveLine:!1,foldGutter:!1,highlightActiveLineGutter:!1},{setContainer:t}=C({container:n.current,extensions:[L.lineWrapping],value:String(s.data),indentWithTab:!1,editable:!0,basicSetup:m});l.useEffect(()=>{n.current&&t(n.current)},[t]);const i=o=>{N.success("Copied to clipboard"),navigator.clipboard.writeText(o)};return e.jsxs("div",{className:"flex flex-col justify-center items-center",children:[e.jsxs(b,{"data-testid":"show-raw-data-button",variant:"outline",onClick:d,className:"my-4",children:[a?"Hide":"Show"," Raw Data"]}),e.jsx("div",{className:"rounded-md border shadow-xs focus-within:outline-hidden focus-within:ring-1 focus-within:ring-ring relative",style:{display:a?"block":"none"},ref:o=>{n.current=o},"data-testid":"raw-data-display",children:e.jsx(b,{onClick:()=>i(s.data),variant:"ghost",size:"icon",className:"absolute top-0 right-0 z-10","aria-label":"copy",children:e.jsx(v,{id:"Copy",className:"size-2"})})})]})},E=({url:s})=>e.jsxs("div",{"data-testid":s,className:"prose mt-2",children:[e.jsx("img",{"data-testid":`image-${s}`,src:s,alt:"artifact-image",className:"w-full"}),e.jsxs(h,{variant:"bodyLarge",children:["Image URL:"," ",e.jsx("a",{className:"text-blue-700 hover:underline",target:"_blank",href:s,rel:"noreferrer",children:s})]})]}),F=({markdown:s})=>e.jsx("div",{"data-testid":"markdown-display",className:"mt-4 prose",children:e.jsx(f,{children:s})}),H=({progress:s})=>e.jsxs(h,{"data-testid":"progress-display",variant:"bodyLarge",children:["Progress: ",s,"%"]}),O=({tableData:s})=>{const a=JSON.parse(s),r=Object.keys(a[0]),[d,n]=l.useState(""),m=l.useMemo(()=>a.filter(t=>Object.values(t).some(i=>String(i).toLowerCase().includes(d.toLowerCase()))),[d,a]);return e.jsxs("div",{"data-testid":"table-display",className:"mt-4",children:[e.jsx("div",{className:"flex flex-row justify-end items-center mb-2",children:e.jsx("div",{children:e.jsx(k,{placeholder:"Search",value:d,onChange:t=>n(t.target.value)})})}),e.jsx("div",{className:"rounded-md border",children:e.jsxs(B,{children:[e.jsx(_,{className:"bg-muted",children:e.jsx(g,{children:r.map(t=>e.jsx(A,{className:"py-2 text-foreground",children:t},t))})}),e.jsx(R,{children:m.map(t=>e.jsx(g,{children:r.map(i=>e.jsx(I,{children:t[i]},i))},t.id))})]})})]})},G=({artifact:s})=>{const a=l.useMemo(()=>{switch(s.type){case"markdown":case"link":return e.jsx(F,{markdown:s.data});case"image":return e.jsx(E,{url:s.data});case"progress":return e.jsx(H,{progress:s.data});case"table":return e.jsx(O,{tableData:s.data});default:return e.jsx("pre",{children:JSON.stringify(s.data,null,2)})}},[s]);return e.jsxs("div",{children:[e.jsx(M,{artifact:s}),a,e.jsx(z,{artifact:s})]})};function Z(){const{id:s}=D.useParams(),{data:a}=y(S(s)),r=T(s);return e.jsx(G,{artifact:r??a})}export{Z as component};
|
|
2
|
-
//# sourceMappingURL=artifact._id-zuZ8P2RD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifact._id-zuZ8P2RD.js","sources":["../../src/components/artifacts/artifact/artifact-detail-header.tsx","../../src/components/artifacts/artifact/artifact-raw-data-display.tsx","../../src/components/artifacts/artifact/detail-image.tsx","../../src/components/artifacts/artifact/detail-markdown.tsx","../../src/components/artifacts/artifact/detail-progress.tsx","../../src/components/artifacts/artifact/detail-table.tsx","../../src/components/artifacts/artifact/artifact-detail-page.tsx","../../src/routes/artifacts/artifact.$id.tsx?tsr-split=component"],"sourcesContent":["import type { ArtifactWithFlowRunAndTaskRun } from \"@/api/artifacts\";\nimport {\n\tBreadcrumb,\n\tBreadcrumbItem,\n\tBreadcrumbLink,\n\tBreadcrumbList,\n\tBreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { DocsLink } from \"@/components/ui/docs-link\";\nimport { LazyMarkdown } from \"@/components/ui/lazy-markdown\";\nimport { Typography } from \"@/components/ui/typography\";\n\nexport type ArtifactDetailHeaderProps = {\n\tartifact: ArtifactWithFlowRunAndTaskRun;\n};\n\nexport const ArtifactDetailHeader = ({\n\tartifact,\n}: ArtifactDetailHeaderProps) => {\n\tlet header = <></>;\n\tif (artifact.key) {\n\t\theader = (\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Breadcrumb>\n\t\t\t\t\t<BreadcrumbList>\n\t\t\t\t\t\t<BreadcrumbItem>\n\t\t\t\t\t\t\t<BreadcrumbLink\n\t\t\t\t\t\t\t\tto=\"/artifacts/key/$key\"\n\t\t\t\t\t\t\t\tparams={{ key: artifact.key }}\n\t\t\t\t\t\t\t\tclassName=\"text-xl font-semibold\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{artifact.key}\n\t\t\t\t\t\t\t</BreadcrumbLink>\n\t\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t\t\t<BreadcrumbSeparator />\n\t\t\t\t\t\t<BreadcrumbItem className=\"text-xl font-semibold\">\n\t\t\t\t\t\t\t{artifact.id}\n\t\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t\t</BreadcrumbList>\n\t\t\t\t</Breadcrumb>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\theader = (\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Breadcrumb>\n\t\t\t\t\t<BreadcrumbList>\n\t\t\t\t\t\t{artifact.flow_run && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BreadcrumbItem>\n\t\t\t\t\t\t\t\t\t<BreadcrumbLink\n\t\t\t\t\t\t\t\t\t\tto=\"/runs/flow-run/$id\"\n\t\t\t\t\t\t\t\t\t\tparams={{ id: artifact.flow_run_id ?? \"\" }}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-xl font-semibold\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{artifact.flow_run.name}\n\t\t\t\t\t\t\t\t\t</BreadcrumbLink>\n\t\t\t\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t\t\t\t\t<BreadcrumbSeparator />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{artifact.task_run && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BreadcrumbItem>\n\t\t\t\t\t\t\t\t\t<BreadcrumbLink\n\t\t\t\t\t\t\t\t\t\tto=\"/runs/task-run/$id\"\n\t\t\t\t\t\t\t\t\t\tparams={{ id: artifact.task_run_id ?? \"\" }}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-xl font-semibold\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{artifact.task_run.name}\n\t\t\t\t\t\t\t\t\t</BreadcrumbLink>\n\t\t\t\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t\t\t\t\t<BreadcrumbSeparator />\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<BreadcrumbItem className=\"text-xl font-semibold\">\n\t\t\t\t\t\t\t{artifact.id}\n\t\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t\t</BreadcrumbList>\n\t\t\t\t</Breadcrumb>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<div className=\"flex items-center justify-between\">\n\t\t\t\t{header}\n\t\t\t\t<DocsLink id=\"artifacts-guide\" label=\"Documentation\" />\n\t\t\t</div>\n\t\t\t{artifact.description && (\n\t\t\t\t<div className=\"\">\n\t\t\t\t\t<Typography variant=\"h2\" className=\"my-4 font-bold prose lg:prose-xl\">\n\t\t\t\t\t\t<LazyMarkdown>{artifact.description}</LazyMarkdown>\n\t\t\t\t\t</Typography>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<hr />\n\t\t</>\n\t);\n};\n","import { EditorView, useCodeMirror } from \"@uiw/react-codemirror\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { toast } from \"sonner\";\nimport type { ArtifactWithFlowRunAndTaskRun } from \"@/api/artifacts\";\nimport { Button } from \"@/components/ui/button\";\nimport { Icon } from \"@/components/ui/icons\";\n\ntype ArtifactDataDisplayProps = {\n\tartifact: ArtifactWithFlowRunAndTaskRun;\n};\n\nexport const ArtifactDataDisplay = ({ artifact }: ArtifactDataDisplayProps) => {\n\tconst [showData, setShowData] = useState(false);\n\n\tconst toggleShowData = () => {\n\t\tsetShowData((val) => !val);\n\t};\n\n\tconst editor = useRef<HTMLDivElement | null>(null);\n\tconst basicSetup = {\n\t\thighlightActiveLine: false,\n\t\tfoldGutter: false,\n\t\thighlightActiveLineGutter: false,\n\t};\n\tconst { setContainer } = useCodeMirror({\n\t\tcontainer: editor.current,\n\t\textensions: [EditorView.lineWrapping],\n\t\tvalue: String(artifact.data),\n\t\tindentWithTab: false,\n\t\teditable: true,\n\t\tbasicSetup,\n\t});\n\n\tuseEffect(() => {\n\t\tif (editor.current) {\n\t\t\tsetContainer(editor.current);\n\t\t}\n\t}, [setContainer]);\n\n\tconst handleCopy = (_value: string) => {\n\t\ttoast.success(\"Copied to clipboard\");\n\t\tvoid navigator.clipboard.writeText(_value);\n\t};\n\n\treturn (\n\t\t<div className=\"flex flex-col justify-center items-center\">\n\t\t\t<Button\n\t\t\t\tdata-testid=\"show-raw-data-button\"\n\t\t\t\tvariant={\"outline\"}\n\t\t\t\tonClick={toggleShowData}\n\t\t\t\tclassName=\"my-4\"\n\t\t\t>\n\t\t\t\t{showData ? \"Hide\" : \"Show\"} Raw Data\n\t\t\t</Button>\n\n\t\t\t<div\n\t\t\t\tclassName=\"rounded-md border shadow-xs focus-within:outline-hidden focus-within:ring-1 focus-within:ring-ring relative\"\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: showData ? \"block\" : \"none\",\n\t\t\t\t}}\n\t\t\t\tref={(node) => {\n\t\t\t\t\teditor.current = node;\n\t\t\t\t}}\n\t\t\t\tdata-testid=\"raw-data-display\"\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={() => handleCopy(artifact.data as string)}\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\tclassName=\"absolute top-0 right-0 z-10\"\n\t\t\t\t\taria-label=\"copy\"\n\t\t\t\t>\n\t\t\t\t\t<Icon id=\"Copy\" className=\"size-2\" />\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { Typography } from \"@/components/ui/typography\";\n\nexport type DetailImageProps = {\n\turl: string;\n};\n\nexport const DetailImage = ({ url }: DetailImageProps) => {\n\treturn (\n\t\t<div data-testid={url} className=\"prose mt-2\">\n\t\t\t<img\n\t\t\t\tdata-testid={`image-${url}`}\n\t\t\t\tsrc={url}\n\t\t\t\talt=\"artifact-image\"\n\t\t\t\tclassName=\"w-full\"\n\t\t\t/>\n\n\t\t\t<Typography variant=\"bodyLarge\">\n\t\t\t\tImage URL:{\" \"}\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"text-blue-700 hover:underline\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\thref={url}\n\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t>\n\t\t\t\t\t{url}\n\t\t\t\t</a>\n\t\t\t</Typography>\n\t\t</div>\n\t);\n};\n","import { LazyMarkdown } from \"@/components/ui/lazy-markdown\";\n\nexport type DetailMarkdownProps = {\n\tmarkdown: string;\n};\n\nexport const DetailMarkdown = ({ markdown }: DetailMarkdownProps) => {\n\treturn (\n\t\t<div data-testid=\"markdown-display\" className=\"mt-4 prose\">\n\t\t\t<LazyMarkdown>{markdown}</LazyMarkdown>\n\t\t</div>\n\t);\n};\n","import { Typography } from \"@/components/ui/typography\";\n\nexport type DetailProgressProps = {\n\tprogress: number;\n};\n\nexport const DetailProgress = ({ progress }: DetailProgressProps) => {\n\treturn (\n\t\t<Typography data-testid=\"progress-display\" variant=\"bodyLarge\">\n\t\t\tProgress: {progress}%\n\t\t</Typography>\n\t);\n};\n","import { useMemo, useState } from \"react\";\nimport { SearchInput } from \"@/components/ui/input\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\n\nexport type DetailTableProps = {\n\ttableData: string;\n};\n\nexport const DetailTable = ({ tableData }: DetailTableProps) => {\n\tconst table = JSON.parse(tableData) as Record<string, string>[];\n\tconst headers = Object.keys(table[0]);\n\tconst [input, setInput] = useState<string>(\"\");\n\n\tconst filteredTable = useMemo(() => {\n\t\treturn table.filter((row) => {\n\t\t\treturn Object.values(row).some((value: string) =>\n\t\t\t\tString(value).toLowerCase().includes(input.toLowerCase()),\n\t\t\t);\n\t\t});\n\t}, [input, table]);\n\n\treturn (\n\t\t<div data-testid=\"table-display\" className=\"mt-4\">\n\t\t\t<div className=\"flex flex-row justify-end items-center mb-2\">\n\t\t\t\t<div>\n\t\t\t\t\t<SearchInput\n\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\tvalue={input}\n\t\t\t\t\t\tonChange={(e) => setInput(e.target.value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"rounded-md border\">\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader className=\"bg-muted\">\n\t\t\t\t\t\t<TableRow>\n\t\t\t\t\t\t\t{headers.map((header) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TableHead key={header} className=\"py-2 text-foreground\">\n\t\t\t\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t</TableHeader>\n\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t{filteredTable.map((row) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TableRow key={row.id}>\n\t\t\t\t\t\t\t\t\t{headers.map((header) => {\n\t\t\t\t\t\t\t\t\t\treturn <TableCell key={header}>{row[header]}</TableCell>;\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useMemo } from \"react\";\nimport type { ArtifactWithFlowRunAndTaskRun } from \"@/api/artifacts\";\nimport { ArtifactDetailHeader } from \"./artifact-detail-header\";\nimport { ArtifactDataDisplay } from \"./artifact-raw-data-display\";\nimport { DetailImage } from \"./detail-image\";\nimport { DetailMarkdown } from \"./detail-markdown\";\nimport { DetailProgress } from \"./detail-progress\";\nimport { DetailTable } from \"./detail-table\";\n\nexport type ArtifactDetailPageProps = {\n\tartifact: ArtifactWithFlowRunAndTaskRun;\n};\n\nexport const ArtifactDetailPage = ({ artifact }: ArtifactDetailPageProps) => {\n\tconst mapArtifactHoc = useMemo(() => {\n\t\tswitch (artifact.type) {\n\t\t\tcase \"markdown\":\n\t\t\tcase \"link\":\n\t\t\t\treturn <DetailMarkdown markdown={artifact.data as string} />;\n\t\t\tcase \"image\":\n\t\t\t\treturn <DetailImage url={artifact.data as string} />;\n\t\t\tcase \"progress\":\n\t\t\t\treturn <DetailProgress progress={artifact.data as number} />;\n\t\t\tcase \"table\":\n\t\t\t\treturn <DetailTable tableData={artifact.data as string} />;\n\t\t\tdefault:\n\t\t\t\treturn <pre>{JSON.stringify(artifact.data, null, 2)}</pre>;\n\t\t}\n\t}, [artifact]);\n\treturn (\n\t\t<div>\n\t\t\t<ArtifactDetailHeader artifact={artifact} />\n\t\t\t{mapArtifactHoc}\n\t\t\t<ArtifactDataDisplay artifact={artifact} />\n\t\t</div>\n\t);\n};\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { createFileRoute } from \"@tanstack/react-router\";\nimport { buildGetArtifactQuery } from \"@/api/artifacts\";\nimport { useGetArtifactFlowTaskRuns } from \"@/api/artifacts/use-get-artifacts-flow-task-runs/use-get-artifacts-flow-task-runs\";\nimport { ArtifactDetailPage } from \"@/components/artifacts/artifact/artifact-detail-page\";\n\nexport const Route = createFileRoute(\"/artifacts/artifact/$id\")({\n\tcomponent: RouteComponent,\n\tloader: async ({ context, params }) => {\n\t\tconst { id } = params;\n\n\t\tconst artifact = await context.queryClient.ensureQueryData(\n\t\t\tbuildGetArtifactQuery(id),\n\t\t);\n\n\t\treturn { artifact };\n\t},\n});\n\nfunction RouteComponent() {\n\tconst { id } = Route.useParams();\n\n\tconst { data: artifact } = useSuspenseQuery(buildGetArtifactQuery(id));\n\n\tconst artifactWithMetadata = useGetArtifactFlowTaskRuns(id);\n\n\treturn <ArtifactDetailPage artifact={artifactWithMetadata ?? artifact} />;\n}\n"],"names":["ArtifactDetailHeader","artifact","header","jsx","Fragment","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","jsxs","DocsLink","Typography","LazyMarkdown","ArtifactDataDisplay","showData","setShowData","useState","toggleShowData","val","editor","useRef","basicSetup","setContainer","useCodeMirror","EditorView","useEffect","handleCopy","_value","toast","Button","node","Icon","DetailImage","url","DetailMarkdown","markdown","DetailProgress","progress","DetailTable","tableData","table","headers","input","setInput","filteredTable","useMemo","row","value","SearchInput","e","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","ArtifactDetailPage","mapArtifactHoc","RouteComponent","id","Route","useParams","data","useSuspenseQuery","buildGetArtifactQuery","artifactWithMetadata","useGetArtifactFlowTaskRuns"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{s as n,j as t}from"./vendor-tanstack-BcZfOOfy.js";import{d7 as m,B as l,g as c,h as a,bs as u,bB as d,bD as x,dv as j}from"./index-_0OOjqn5.js";import{D as p}from"./delete-confirmation-dialog-B9-8JHV7.js";import{u as f,A as b,a as g,b as h,c as A,d as D}from"./use-delete-automation-confirmation-dialog-DRX9Kvie.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";import"./work-queue-icon-text-BK_qfkJJ.js";import"./index-DSBmxhwG.js";import"./dropdown-menu-DF4QR3Cp.js";import"./use-delete-confirmation-dialog-CUdii6Lo.js";const B=({id:s})=>{const[o,i]=f(),{data:e}=n(m(s)),r=()=>i(e,{shouldNavigate:!0});return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex flex-col gap-6",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx(N,{automation:e}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(b,{automation:e}),t.jsx(g,{id:e.id,onDelete:r})]})]}),t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsx(h,{automation:e}),t.jsx(A,{automation:e}),t.jsx(D,{automation:e})]})]}),t.jsx(p,{...o})]})},N=({automation:s})=>t.jsx(l,{children:t.jsxs(c,{children:[t.jsx(a,{children:t.jsx(u,{to:"/automations",className:"text-xl font-semibold",children:"Automations"})}),t.jsx(d,{}),t.jsx(a,{className:"text-xl font-semibold",children:t.jsx(x,{children:s.name})})]})});function G(){const{id:s}=j.useParams();return t.jsx(B,{id:s})}export{G as component};
|
|
2
|
-
//# sourceMappingURL=automation._id-BhEFaDc6.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a}from"./vendor-tanstack-BcZfOOfy.js";import{cB as e}from"./index-_0OOjqn5.js";const c=({alt:o,logoUrl:s,size:r="sm"})=>a.jsx("img",{alt:o,src:s??void 0,className:i({size:r})}),i=e("border-4 bg-gray-200 rounded",{variants:{size:{sm:"size-8",lg:"size-14"}}});export{c as B};
|
|
2
|
-
//# sourceMappingURL=block-type-logo-DV1pSkV0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block-type-logo-DV1pSkV0.js","sources":["../../src/components/block-type-logo/block-type-logo.tsx"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport type { BlockType } from \"@/api/block-types\";\n\ntype BlockTypeLogoProps = {\n\talt?: string;\n\tlogoUrl: BlockType[\"logo_url\"];\n\tsize?: \"sm\" | \"lg\";\n};\n\nexport const BlockTypeLogo = ({\n\talt,\n\tlogoUrl,\n\tsize = \"sm\",\n}: BlockTypeLogoProps) => (\n\t<img\n\t\talt={alt}\n\t\tsrc={logoUrl ?? undefined}\n\t\tclassName={blockTypeLogoVariant({ size })}\n\t/>\n);\n\nconst blockTypeLogoVariant = cva(\"border-4 bg-gray-200 rounded\", {\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"size-8\",\n\t\t\tlg: \"size-14\",\n\t\t},\n\t},\n});\n"],"names":["BlockTypeLogo","alt","logoUrl","size","jsx","blockTypeLogoVariant","cva"],"mappings":"2FASO,MAAMA,EAAgB,CAAC,CAC7B,IAAAC,EACA,QAAAC,EACA,KAAAC,EAAO,IACR,IACCC,EAAAA,IAAC,MAAA,CACA,IAAAH,EACA,IAAKC,GAAW,OAChB,UAAWG,EAAqB,CAAE,KAAAF,CAAA,CAAM,CAAA,CACzC,EAGKE,EAAuBC,EAAI,+BAAgC,CAChE,SAAU,CACT,KAAM,CACL,GAAI,SACJ,GAAI,SAAA,CACL,CAEF,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as s,L as l,s as c}from"./vendor-tanstack-BcZfOOfy.js";import{B as d,g as m,h as t,bs as o,bB as n,C as x,al as i,q as u,dt as p,df as j}from"./index-_0OOjqn5.js";import{B as h}from"./block-type-logo-DV1pSkV0.js";import{P as f}from"./python-example-snippet-eWuRXCxE.js";import{L as g}from"./lazy-markdown-CKcd9ksG.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";const B=({blockType:e})=>s.jsxs("div",{className:"flex flex-col gap-6",children:[s.jsx(N,{blockType:e}),s.jsx(v,{blockType:e})]});function N({blockType:e}){return s.jsx(d,{children:s.jsxs(m,{children:[s.jsx(t,{children:s.jsx(o,{to:"/blocks",className:"text-xl font-semibold",children:"Blocks"})}),s.jsx(n,{}),s.jsx(t,{children:s.jsx(o,{to:"/blocks/catalog",className:"text-xl font-semibold",children:"Catalog"})}),s.jsx(n,{}),s.jsx(t,{className:"text-xl font-semibold",children:e.slug})]})})}function v({blockType:e}){return s.jsx("div",{children:s.jsxs(x,{className:"p-6",children:[s.jsxs("div",{className:"flex items-center gap-4",children:[s.jsx(h,{size:"lg",logoUrl:e.logo_url}),s.jsx(i,{variant:"h3",children:e.name})]}),e.description&&s.jsx(L,{description:e.description,documentationUrl:e.documentation_url}),e.code_example&&s.jsxs("div",{className:"flex flex-col gap-4",children:[s.jsx(i,{variant:"h4",children:"Example"}),s.jsx(f,{codeExample:e.code_example,name:e.name})]}),s.jsx("div",{className:"flex justify-end",children:s.jsx(u,{children:s.jsx(l,{to:"/blocks/catalog/$slug/create",params:{slug:e.slug},children:"Create"})})})]})})}function L({description:e,documentationUrl:a}){let r=e;return a&&(r=`${r} [Documentation](${a})`),s.jsx("div",{className:"prose max-w-none",children:s.jsx(g,{children:r})})}function $(){const{slug:e}=p.useParams(),{data:a}=c(j(e));return s.jsx(B,{blockType:a})}export{$ as component};
|
|
2
|
-
//# sourceMappingURL=catalog_._slug-NLgWS8vG.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,s as E,r as V,g as I}from"./vendor-tanstack-BcZfOOfy.js";import{a as R}from"./zod-Cuos7J7w.js";import{g as B,o as P,n as D,s as N,r as U,u as q,c as A}from"./vendor-forms-ClCIacbh.js";import{p as _,C as T,o as F,bw as $,aW as S,bx as J,by as z,H as G,bz as H,m as M,n as O,q as v,y as w}from"./index-_0OOjqn5.js";import{b as x,c as f,d as h,e as j,a as b,F as Q}from"./form-DHWphysD.js";import{u as K,S as X}from"./use-stepper-jTTsXpho.js";import{T as Y}from"./textarea-DL9UCBaB.js";import"./schema-form-input-string-format-datetime-DrpJmvST.js";import"./toggle-group-Cf-ZSSDP.js";import{B as Z}from"./base-job-template-form-section-DdDSFAJa.js";import{R as ee,a as te}from"./radio-group-DeN-_krn.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-date-wwuDAncJ.js";import"./use-debounce-callback-CSs1BjLI.js";import"./timezone-select-qBEoPcyO.js";import"./dropdown-menu-DF4QR3Cp.js";import"./schema-form-DDUzvjpL.js";import"./block-type-logo-DV1pSkV0.js";function re(){const a=B();return e.jsxs(e.Fragment,{children:[e.jsx(x,{control:a.control,name:"name",render:({field:o})=>e.jsxs(f,{children:[e.jsx(h,{children:"Name"}),e.jsx(j,{children:e.jsx(_,{...o})}),e.jsx(b,{})]})}),e.jsx(x,{control:a.control,name:"description",render:({field:o})=>e.jsxs(f,{children:[e.jsx(h,{children:"Description (Optional)"}),e.jsx(j,{children:e.jsx(Y,{...o,value:o.value??"",rows:7,placeholder:"Enter a description for your work pool"})}),e.jsx(b,{})]})}),e.jsx(x,{control:a.control,name:"concurrencyLimit",render:({field:o})=>e.jsxs(f,{children:[e.jsx(h,{children:"Flow Run Concurrency (Optional)"}),e.jsx(j,{children:e.jsx(_,{...o,type:"number",min:0,placeholder:"Unlimited",value:o.value??"",onChange:i=>{const n=i.target.value;o.onChange(n===""?null:Number(n))}})}),e.jsx(b,{})]})})]})}const se=P({name:N().min(1,"Name is required").refine(a=>!a.toLowerCase().startsWith("prefect"),"Work pools starting with 'prefect' are reserved for internal use."),description:N().nullable().optional(),concurrencyLimit:D().min(0).nullable().optional()});function oe(){const a=B(),o=a.watch("baseJobTemplate");return e.jsxs("div",{className:"space-y-6",children:[e.jsx(T,{children:e.jsx(F,{children:e.jsxs($,{children:["The fields below control the default values for the base job template. These values can be overridden by deployments.",e.jsx("br",{}),e.jsx("br",{}),"A work pools job template controls infrastructure configuration for all flow runs in the work pool, and specifies the configuration that can be overridden by deployments."]})})}),e.jsx(Z,{baseJobTemplate:o,onBaseJobTemplateChange:i=>{a.setValue("baseJobTemplate",i)}})]})}const ae=P({baseJobTemplate:U(q()).optional()}),k={sm:"h-4 w-4",md:"h-8 w-8",lg:"h-12 w-12"},ne=({url:a,alt:o,size:i="md",className:n})=>a?e.jsx("img",{src:a,alt:o,className:S("rounded border bg-background/50 backdrop-blur-sm object-contain",k[i],n),onError:t=>{const r=t.target,s=document.createElement("div");s.className=S("rounded border bg-muted flex items-center justify-center text-muted-foreground text-xs",k[i],n),s.textContent=o.charAt(0).toUpperCase(),r.parentNode?.replaceChild(s,r)}}):e.jsx("div",{className:S("rounded border bg-muted flex items-center justify-center text-muted-foreground text-xs",k[i],n),children:o.charAt(0).toUpperCase()});function ie(){const a=B(),{data:o={}}=E(J()),i=V.useMemo(()=>{const n=[];return Object.values(o).forEach(t=>{t&&typeof t=="object"&&Object.values(t).forEach(r=>{if(r&&typeof r=="object"&&"type"in r){const{type:s,display_name:u,description:d,logo_url:m,documentation_url:y,is_beta:g}=r;s&&m&&d&&n.push({label:u||z(s),value:s,logoUrl:m,description:d,documentationUrl:y,isBeta:g||!1})}})}),n.sort((t,r)=>t.isBeta&&!r.isBeta?1:!t.isBeta&&r.isBeta?-1:t.label.localeCompare(r.label))},[o]);return e.jsx(x,{control:a.control,name:"type",render:({field:n,fieldState:t})=>e.jsxs(f,{children:[e.jsx(h,{className:"text-base font-medium",children:"Select the infrastructure you want to use to execute your flow runs"}),e.jsx(j,{children:e.jsx(ee,{value:n.value,onValueChange:r=>n.onChange(r),className:"space-y-3",children:i.map(({label:r,value:s,logoUrl:u,description:d,isBeta:m})=>e.jsxs("div",{className:"flex items-center space-x-3 p-4 rounded-lg border hover:bg-accent/50",children:[e.jsx(te,{value:s,id:s}),e.jsx("label",{htmlFor:s,className:"flex-1 cursor-pointer",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(ne,{url:u,alt:r,size:"md"}),e.jsxs("div",{className:"flex flex-col gap-2 flex-1",children:[e.jsxs("p",{className:"text-base font-medium flex items-center",children:[r,m&&e.jsx(G,{variant:"secondary",className:"ml-2 text-xs",children:"Beta"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:d})]})]})})]},s))})}),t.error&&e.jsx(b,{children:t.error.message})]})})}const W=["Infrastructure Type","Details","Configuration"],ce=P({type:N().min(1,"Infrastructure type is required"),...se.shape,...ae.shape});function le(){const a=I(),{createWorkPool:o,isPending:i}=H(),{data:n={}}=E(J()),t=K(W.length),r=A({resolver:R(ce),defaultValues:{description:null,concurrencyLimit:null}}),s=r.watch("type");V.useEffect(()=>{const c=Object.values(n).find(l=>l&&typeof l=="object"&&Object.values(l).find(p=>p&&typeof p=="object"&&"type"in p&&p.type===s));c&&s in c&&typeof c[s]=="object"&&c[s]&&"default_base_job_configuration"in c[s]&&r.setValue("baseJobTemplate",c[s].default_base_job_configuration)},[n,r,s]);const u=async()=>{const c=g(t.currentStep);await r.trigger(c)&&(t.isFinalStep?await y():t.incrementStep())},d=()=>{t.decrementStep()},m=()=>{a.navigate({to:"/work-pools"})},y=async()=>{if(!await r.trigger())return;const l=r.getValues();if(!l.name||!l.type){w.error("Please fill in all required fields");return}const p={name:l.name,type:l.type,description:l.description,is_paused:!1,concurrency_limit:l.concurrencyLimit,base_job_template:l.baseJobTemplate||{}};o(p,{onSuccess:C=>{w.success(`Work pool "${l.name}" created successfully`),a.navigate({to:"/work-pools/work-pool/$workPoolName",params:{workPoolName:C.data?.name||l.name}})},onError:C=>{w.error(`Failed to create work pool: ${C.message}`)}})},g=c=>{switch(c){case 0:return["type"];case 1:return["name","description","concurrencyLimit"];case 2:return["baseJobTemplate"];default:return[]}},L=()=>{switch(t.currentStep){case 0:return e.jsx(ie,{});case 1:return e.jsx(re,{});case 2:return e.jsx(oe,{});default:return null}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs(T,{children:[e.jsx(M,{children:e.jsx(O,{children:"Create Work Pool"})}),e.jsx(F,{children:e.jsx(X,{currentStepNum:t.currentStep,steps:W,onClick:({stepNum:c})=>{t.visitedStepsSet.has(c)&&t.changeStep(c)},completedSteps:t.completedStepsSet,visitedSteps:t.visitedStepsSet})})]}),e.jsx(T,{children:e.jsx(F,{className:"pt-6",children:e.jsx(Q,{...r,children:e.jsx("form",{className:"space-y-6",children:L()})})})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsxs("div",{children:[!t.isStartingStep&&e.jsx(v,{variant:"outline",onClick:d,disabled:i,children:"Back"}),e.jsx(v,{variant:"ghost",onClick:m,disabled:i,className:"ml-2",children:"Cancel"})]}),e.jsx(v,{onClick:()=>{u()},disabled:i,children:i?"Creating...":t.isFinalStep?"Create Work Pool":"Next"})]})]})}const Pe=le;export{Pe as component};
|
|
2
|
-
//# sourceMappingURL=create-1j1-8yhV.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,K as r}from"./vendor-tanstack-BcZfOOfy.js";import{S as h,a as j,b as f,c as p,e as l,b6 as P,aW as C,b7 as S,b8 as o,cC as D,b9 as v,ba as N,cD as T}from"./index-_0OOjqn5.js";import{T as z,a as b,b as c,c as w,d as M,e as x}from"./table-4GUC4YOD.js";function k({table:n,onPrefetchPage:i}){return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"rounded-md border",children:e.jsxs(z,{children:[e.jsx(b,{children:n.getHeaderGroups().map(a=>e.jsx(c,{children:a.headers.map(s=>e.jsx(w,{style:{...s.column.columnDef.maxSize&&{maxWidth:`${s.column.columnDef.maxSize}px`},...s.column.columnDef.size&&{width:`${s.column.columnDef.size}px`}},children:s.isPlaceholder?null:r(s.column.columnDef.header,s.getContext())},s.id))},a.id))}),e.jsx(M,{children:n.getRowModel().rows?.length?n.getRowModel().rows.map(a=>e.jsx(c,{"data-state":a.getIsSelected()&&"selected",children:a.getVisibleCells().map(s=>e.jsx(x,{style:{...s.column.columnDef.maxSize&&{maxWidth:`${s.column.columnDef.maxSize}px`},...s.column.columnDef.size&&{width:`${s.column.columnDef.size}px`}},children:r(s.column.columnDef.cell,s.getContext())},s.id))},a.id)):e.jsx(c,{children:e.jsx(x,{colSpan:n.getAllColumns().length,className:"h-24 text-center",children:"No results."})})})]})}),e.jsxs("div",{className:"flex flex-row justify-between items-center",children:[e.jsx(I,{table:n}),e.jsx(y,{table:n,onPrefetchPage:i})]})]})}function I({table:n}){return e.jsxs("div",{className:"flex flex-row items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("span",{className:"whitespace-nowrap",children:"Items per page"}),e.jsxs(h,{value:n.getState().pagination.pageSize.toString(),onValueChange:i=>{n.setPageSize(Number(i))},children:[e.jsx(j,{"aria-label":"Items per page",children:e.jsx(f,{placeholder:"Theme"})}),e.jsxs(p,{children:[e.jsx(l,{value:"5",children:"5"}),e.jsx(l,{value:"10",children:"10"}),e.jsx(l,{value:"25",children:"25"}),e.jsx(l,{value:"50",children:"50"})]})]})]})}function y({table:n,className:i,onPrefetchPage:a}){const s=n.getPageCount(),t=Math.min(Math.ceil(n.getState().pagination.pageIndex+1),s),d=()=>{t>1&&a?.(1)},m=()=>{t>1&&a?.(t-1)},u=()=>{t<s&&a?.(t+1)},g=()=>{t<s&&a?.(s)};return e.jsx(P,{className:C("justify-end",i),children:e.jsxs(S,{children:[e.jsxs(o,{children:[e.jsx(D,{onClick:()=>n.firstPage(),onMouseEnter:d,disabled:!n.getCanPreviousPage()}),e.jsx(v,{onClick:()=>n.previousPage(),onMouseEnter:m,disabled:!n.getCanPreviousPage()})]}),e.jsxs(o,{className:"text-sm",children:["Page ",t," of ",s]}),e.jsx(o,{children:e.jsx(N,{onClick:()=>n.nextPage(),onMouseEnter:u,disabled:!n.getCanNextPage()})}),e.jsx(o,{children:e.jsx(T,{onClick:()=>n.lastPage(),onMouseEnter:g,disabled:!n.getCanNextPage()})})]})})}export{k as D};
|
|
2
|
-
//# sourceMappingURL=data-table-DHlbTUL7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-DHlbTUL7.js","sources":["../../src/components/ui/data-table.tsx"],"sourcesContent":["import { flexRender, type Table as TanstackTable } from \"@tanstack/react-table\";\nimport {\n\tPagination,\n\tPaginationContent,\n\tPaginationFirstButton,\n\tPaginationItem,\n\tPaginationLastButton,\n\tPaginationNextButton,\n\tPaginationPreviousButton,\n} from \"@/components/ui/pagination\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport {\n\tTable,\n\tTableBody,\n\tTableCell,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/utils\";\n\nexport function DataTable<TData>({\n\ttable,\n\tonPrefetchPage,\n}: {\n\ttable: TanstackTable<TData>;\n\tonPrefetchPage?: (page: number) => void;\n}) {\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div className=\"rounded-md border\">\n\t\t\t\t<Table>\n\t\t\t\t\t<TableHeader>\n\t\t\t\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t\t\t\t<TableRow key={headerGroup.id}>\n\t\t\t\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(header.column.columnDef.maxSize && {\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth: `${header.column.columnDef.maxSize}px`,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t...(header.column.columnDef.size && {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: `${header.column.columnDef.size}px`,\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{header.isPlaceholder\n\t\t\t\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t\t\t\t: flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</TableHeader>\n\t\t\t\t\t<TableBody>\n\t\t\t\t\t\t{table.getRowModel().rows?.length ? (\n\t\t\t\t\t\t\ttable.getRowModel().rows.map((row) => (\n\t\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\t\tkey={row.id}\n\t\t\t\t\t\t\t\t\tdata-state={row.getIsSelected() && \"selected\"}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\t\t\t\tkey={cell.id}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t...(cell.column.columnDef.maxSize && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth: `${cell.column.columnDef.maxSize}px`,\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t...(cell.column.columnDef.size && {\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: `${cell.column.columnDef.size}px`,\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<TableRow>\n\t\t\t\t\t\t\t\t<TableCell\n\t\t\t\t\t\t\t\t\tcolSpan={table.getAllColumns().length}\n\t\t\t\t\t\t\t\t\tclassName=\"h-24 text-center\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tNo results.\n\t\t\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t\t\t</TableRow>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</TableBody>\n\t\t\t\t</Table>\n\t\t\t</div>\n\t\t\t<div className=\"flex flex-row justify-between items-center\">\n\t\t\t\t<DataTablePageSize table={table} />\n\t\t\t\t<DataTablePagination table={table} onPrefetchPage={onPrefetchPage} />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\ninterface DataTablePageSizeProps<TData> {\n\ttable: TanstackTable<TData>;\n}\n\nfunction DataTablePageSize<TData>({ table }: DataTablePageSizeProps<TData>) {\n\treturn (\n\t\t<div className=\"flex flex-row items-center gap-2 text-xs text-muted-foreground\">\n\t\t\t<span className=\"whitespace-nowrap\">Items per page</span>\n\t\t\t<Select\n\t\t\t\tvalue={table.getState().pagination.pageSize.toString()}\n\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\ttable.setPageSize(Number(value));\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<SelectTrigger aria-label=\"Items per page\">\n\t\t\t\t\t<SelectValue placeholder=\"Theme\" />\n\t\t\t\t</SelectTrigger>\n\t\t\t\t<SelectContent>\n\t\t\t\t\t<SelectItem value=\"5\">5</SelectItem>\n\t\t\t\t\t<SelectItem value=\"10\">10</SelectItem>\n\t\t\t\t\t<SelectItem value=\"25\">25</SelectItem>\n\t\t\t\t\t<SelectItem value=\"50\">50</SelectItem>\n\t\t\t\t</SelectContent>\n\t\t\t</Select>\n\t\t</div>\n\t);\n}\n\ninterface DataTablePaginationProps<TData> {\n\ttable: TanstackTable<TData>;\n\tclassName?: string;\n\tonPrefetchPage?: (page: number) => void;\n}\n\nexport function DataTablePagination<TData>({\n\ttable,\n\tclassName,\n\tonPrefetchPage,\n}: DataTablePaginationProps<TData>) {\n\tconst totalPages = table.getPageCount();\n\tconst currentPage = Math.min(\n\t\tMath.ceil(table.getState().pagination.pageIndex + 1),\n\t\ttotalPages,\n\t);\n\n\tconst handlePrefetchFirstPage = () => {\n\t\tif (currentPage > 1) onPrefetchPage?.(1);\n\t};\n\tconst handlePrefetchPreviousPage = () => {\n\t\tif (currentPage > 1) onPrefetchPage?.(currentPage - 1);\n\t};\n\tconst handlePrefetchNextPage = () => {\n\t\tif (currentPage < totalPages) onPrefetchPage?.(currentPage + 1);\n\t};\n\tconst handlePrefetchLastPage = () => {\n\t\tif (currentPage < totalPages) onPrefetchPage?.(totalPages);\n\t};\n\n\treturn (\n\t\t<Pagination className={cn(\"justify-end\", className)}>\n\t\t\t<PaginationContent>\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationFirstButton\n\t\t\t\t\t\tonClick={() => table.firstPage()}\n\t\t\t\t\t\tonMouseEnter={handlePrefetchFirstPage}\n\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t/>\n\t\t\t\t\t<PaginationPreviousButton\n\t\t\t\t\t\tonClick={() => table.previousPage()}\n\t\t\t\t\t\tonMouseEnter={handlePrefetchPreviousPage}\n\t\t\t\t\t\tdisabled={!table.getCanPreviousPage()}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t\t<PaginationItem className=\"text-sm\">\n\t\t\t\t\tPage {currentPage} of {totalPages}\n\t\t\t\t</PaginationItem>\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationNextButton\n\t\t\t\t\t\tonClick={() => table.nextPage()}\n\t\t\t\t\t\tonMouseEnter={handlePrefetchNextPage}\n\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t\t<PaginationItem>\n\t\t\t\t\t<PaginationLastButton\n\t\t\t\t\t\tonClick={() => table.lastPage()}\n\t\t\t\t\t\tonMouseEnter={handlePrefetchLastPage}\n\t\t\t\t\t\tdisabled={!table.getCanNextPage()}\n\t\t\t\t\t/>\n\t\t\t\t</PaginationItem>\n\t\t\t</PaginationContent>\n\t\t</Pagination>\n\t);\n}\n"],"names":["DataTable","table","onPrefetchPage","jsxs","jsx","Table","TableHeader","headerGroup","TableRow","header","TableHead","flexRender","TableBody","row","cell","TableCell","DataTablePageSize","DataTablePagination","Select","value","SelectTrigger","SelectValue","SelectContent","SelectItem","className","totalPages","currentPage","handlePrefetchFirstPage","handlePrefetchPreviousPage","handlePrefetchNextPage","handlePrefetchLastPage","Pagination","cn","PaginationContent","PaginationItem","PaginationFirstButton","PaginationPreviousButton","PaginationNextButton","PaginationLastButton"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as g,j as e}from"./vendor-tanstack-BcZfOOfy.js";import{cg as x,ch as u,ci as C,cj as m,ck as A,i as f,p as v,cl as b,cm as k,cn as y}from"./index-_0OOjqn5.js";const I=({isOpen:i,title:r,description:o,onConfirm:c,onClose:d,confirmText:l,isLoading:a=!1,loadingText:h="Deleting..."})=>{const[t,s]=g.useState(""),n=()=>{s(""),d()},j=()=>{c(),s("")},p=a||!!l&&t!==l;return e.jsx(x,{open:i,onOpenChange:n,children:e.jsxs(u,{children:[e.jsxs(C,{children:[e.jsx(m,{children:r}),e.jsx(A,{children:o})]}),l&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs(f,{htmlFor:"confirm-text",children:["Type ",e.jsx("strong",{children:l})," to confirm:"]}),e.jsx(v,{id:"confirm-text",value:t,onChange:D=>s(D.target.value),placeholder:l})]}),e.jsxs(b,{children:[e.jsx(k,{onClick:n,children:"Cancel"}),e.jsx(y,{variant:"destructive",onClick:j,disabled:p,children:a?h:"Delete"})]})]})})};export{I as D};
|
|
2
|
-
//# sourceMappingURL=delete-confirmation-dialog-B9-8JHV7.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
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-C8NPwIIQ.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{s as m,j as o}from"./vendor-tanstack-BcZfOOfy.js";import{cr as r,dM as p}from"./index-_0OOjqn5.js";import{D as i}from"./deployment-action-header-DlD2GSJB.js";import{D as s}from"./deployment-form-CFcOIeIi.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";import"./schema-form-input-string-format-datetime-DrpJmvST.js";import"./zod-Cuos7J7w.js";import"./use-debounce-callback-CSs1BjLI.js";import"./toggle-group-Cf-ZSSDP.js";import"./timezone-select-qBEoPcyO.js";import"./dropdown-menu-DF4QR3Cp.js";import"./form-DHWphysD.js";import"./tags-input-BvH9UY8h.js";const n=({id:t})=>{const{data:e}=m(r(t));return o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsx(i,{deployment:e,action:"Duplicate"}),o.jsx(s,{deployment:e,mode:"duplicate"})]})};function A(){const{id:t}=p.useParams();return o.jsx(n,{id:t})}export{A as component};
|
|
2
|
-
//# sourceMappingURL=deployment_._id.duplicate-4uYFgdPg.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{s as m,j as o}from"./vendor-tanstack-BcZfOOfy.js";import{cr as r,dJ as i}from"./index-_0OOjqn5.js";import{D as p}from"./deployment-action-header-DlD2GSJB.js";import{D as s}from"./deployment-form-CFcOIeIi.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";import"./schema-form-input-string-format-datetime-DrpJmvST.js";import"./zod-Cuos7J7w.js";import"./use-debounce-callback-CSs1BjLI.js";import"./toggle-group-Cf-ZSSDP.js";import"./timezone-select-qBEoPcyO.js";import"./dropdown-menu-DF4QR3Cp.js";import"./form-DHWphysD.js";import"./tags-input-BvH9UY8h.js";const n=({id:t})=>{const{data:e}=m(r(t));return o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsx(p,{deployment:e,action:"Edit"}),o.jsx(s,{deployment:e,mode:"edit"})]})};function v(){const{id:t}=i.useParams();return o.jsx(n,{id:t})}export{v as component};
|
|
2
|
-
//# sourceMappingURL=deployment_._id.edit-Z859_W76.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as e,L as y,s as D}from"./vendor-tanstack-BcZfOOfy.js";import{q as E,I as o,y as R,H as C,B as w,g as T,h as x,bs as I,bB as L,bD as B,aw as M,ax as S,ay as p,az as h,bG as O,C as z,o as V,dC as i}from"./index-_0OOjqn5.js";import"./automation-schema-BIBsyp0j.js";import"./form-DHWphysD.js";import"./radio-group-DeN-_krn.js";import{f as k}from"./event-to-trigger-BEzU9b5I.js";import{D as F,a as P,b as A,d as j}from"./dropdown-menu-DF4QR3Cp.js";import{f as J,J as _}from"./utilities-CgJi7g2F.js";import{E as G,p as H,a as Q,b as U,R as q}from"./event-resource-display-DR3zL_k_.js";import{f as Y}from"./vendor-date-wwuDAncJ.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";function Z({event:s}){const t=()=>{navigator.clipboard.writeText(s.id),R.success("ID copied")};return e.jsxs(F,{children:[e.jsx(P,{asChild:!0,children:e.jsxs(E,{variant:"outline",className:"size-8 p-0","aria-label":"Event actions",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(o,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(A,{align:"end",children:[e.jsx(y,{to:"/automations/create",search:{eventId:s.id,eventDate:k(s.occurred)},children:e.jsxs(j,{children:[e.jsx(o,{id:"Zap",className:"mr-2 size-4"}),"Automate"]})}),e.jsxs(j,{onClick:t,children:[e.jsx(o,{id:"Copy",className:"mr-2 size-4"}),"Copy ID"]})]})]})}const d=({children:s})=>e.jsx("dt",{className:"text-sm font-medium",children:s}),f=({children:s})=>e.jsx("dd",{className:"text-sm",children:s});function g(s){return s["prefect.resource.role"]||null}function v(s){return s["prefect.resource.id"]||""}function K(s){return s["prefect.resource.name"]||s["prefect.name"]||s["prefect-cloud.name"]||null}function W({event:s}){const t=Y(new Date(s.occurred),"yyyy/MM/dd hh:mm:ss a"),n=(s.related??[]).filter(a=>g(a)!=="tag"),c=(s.related??[]).filter(a=>g(a)==="tag");return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("dl",{children:[e.jsx(d,{children:"Event"}),e.jsx(f,{children:s.event})]}),e.jsxs("dl",{children:[e.jsx(d,{children:"Occurred"}),e.jsx(f,{children:t})]}),e.jsx(G,{event:s}),(n.length>0||c.length>0)&&e.jsxs("dl",{children:[e.jsx(d,{children:"Related Resources"}),e.jsxs("dd",{className:"flex flex-col gap-2 text-sm",children:[n.map(a=>{const r=v(a),l=K(a),u=H(r),b=q[u],m=U[u],N=l||r.split(".").pop()||r;return e.jsxs(Q,{resource:a,relatedResources:s.related??[],className:"flex items-center gap-2 hover:underline",children:[m&&e.jsx("span",{children:m}),e.jsx(o,{id:b,className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:N})]},r)}),c.length>0&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{children:"Tags"}),c.map(a=>{const r=v(a),l=r.split(".").pop()||r;return e.jsx(C,{variant:"secondary",children:l},r)})]})]})]})]})}function X({event:s}){const t=J(s.event);return e.jsx(w,{children:e.jsxs(T,{children:[e.jsx(x,{children:e.jsx(I,{to:"/events",className:"text-xl font-semibold",children:"Event Feed"})}),e.jsx(L,{}),e.jsx(x,{className:"text-xl font-semibold",children:e.jsx(B,{children:t})})]})})}function $({event:s,defaultTab:t="details",onTabChange:n}){return e.jsxs(M,{defaultValue:t,onValueChange:n,children:[e.jsxs(S,{children:[e.jsx(p,{value:"details",children:"Details"}),e.jsx(p,{value:"raw",children:"Raw"})]}),e.jsx(h,{value:"details",className:"pt-4",children:e.jsx(W,{event:s})}),e.jsx(h,{value:"raw",className:"pt-4",children:e.jsx(_,{value:JSON.stringify(s,null,2),className:"max-h-[600px] overflow-auto"})})]})}function ee({eventId:s,eventDate:t,defaultTab:n,onTabChange:c}){const{data:a}=D(O(s,t));return e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(X,{event:a}),e.jsx(Z,{event:a})]}),e.jsx(z,{children:e.jsx(V,{children:e.jsx($,{event:a,defaultTab:n,onTabChange:c})})})]})}function se(s){const[t,n,c]=s.split("-").map(Number);return new Date(t,n-1,c)}function je(){const{eventDate:s,eventId:t}=i.useParams(),n=i.useSearch(),c=i.useNavigate(),a=se(s),r=l=>{c({to:".",search:{tab:l},replace:!0})};return e.jsx(ee,{eventId:t,eventDate:a,defaultTab:n.tab,onTabChange:r})}export{je as component};
|
|
2
|
-
//# sourceMappingURL=event._eventDate._eventId-DfU7SalU.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,j as e,s as G,t as _,L as O,u as ge}from"./vendor-tanstack-BcZfOOfy.js";import{A as be,u as v,l as se,h as te,f as Ne,p as we,m as ke,g as Ee,y as Se,_ as ae,d as Ce,a as re,U as ne,i as _e,v as Re,x as De,b as Ae,c as Te,e as J,j as Le,k as ze,n as Fe,o as Ie}from"./vendor-graphs-_sWgqfe-.js";import{cs as ie,bR as P,bS as $,q as p,I as x,bT as H,al as g,i as C,G as F,cR as A,cS as Ge,cT as T,dV as Oe,dW as Pe,dX as $e,dY as He,dy as Me,bM as E,b5 as y,bv as Qe,dZ as M,bG as le,d_ as Ue,d$ as Xe,aq as Q,co as oe,X as ce,an as qe,z as Ke,aD as Be,aC as Ve}from"./index-_0OOjqn5.js";import{g as Y}from"./state-colors-CAAf0Eg3.js";import{p as j,a as We,f as Je}from"./vendor-date-wwuDAncJ.js";import{K as d}from"./flow-run._id-33WKPXsZ.js";import{p as I,e as de,a as R,c as ue,d as D,f as me}from"./event-resource-display-DR3zL_k_.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BAN776s_.js";import"./vendor-forms-ClCIacbh.js";import"./use-state-favicon-Dhkg1tqx.js";import"./index-DcMpyvW7.js";import"./artifact-card-9Cw_dMVb.js";import"./lazy-markdown-CKcd9ksG.js";import"./toggle-group-Cf-ZSSDP.js";import"./schema-form-input-string-format-datetime-DrpJmvST.js";import"./zod-Cuos7J7w.js";import"./use-debounce-callback-CSs1BjLI.js";import"./timezone-select-qBEoPcyO.js";import"./dropdown-menu-DF4QR3Cp.js";import"./form-DHWphysD.js";import"./delete-confirmation-dialog-B9-8JHV7.js";import"./use-delete-confirmation-dialog-CUdii6Lo.js";import"./sort-filter-DaBGDmua.js";import"./flow-runs-pagination-Bfelp8UO.js";import"./task-runs-pagination-fR9zqj38.js";import"./tags-input-BvH9UY8h.js";async function Ye(s){const{data:t}=await(await ie()).GET("/flow_runs/{id}/graph-v2",{params:{path:{id:s}}});if(!t)throw new Error("No data returned from API");return es(t)}async function Ze({since:s,until:t,nodeId:a}){const{data:r}=await(await ie()).POST("/events/filter",{body:{filter:{any_resource:{id:[`prefect.flow-run.${a}`]},event:{exclude_prefix:["prefect.log.write","prefect.task-run."]},occurred:{since:s.toISOString(),until:t.toISOString()},order:"ASC"},limit:50}});if(!r)throw new Error("No data returned from API");return ss(r)}function es(s){if(!s.start_time)throw new Error("Start time is required");return{root_node_ids:s.root_node_ids,start_time:j(s.start_time),end_time:s.end_time?j(s.end_time):null,nodes:new Map(s.nodes.map(t=>ts(t))),states:s.states?.map(as)??[]}}function ss(s){return s.events.map(t=>{if(!t.received)throw new Error("Received is required");return{id:t.id,received:j(t.received),occurred:j(t.occurred),event:t.event,resource:t.resource,payload:t.payload,related:t.related??[]}})}function ts([s,t]){if(!t.start_time)throw new Error("Start time is required");return[s,{kind:t.kind,id:t.id,label:t.label,state_type:t.state_type,start_time:j(t.start_time),end_time:t.end_time?j(t.end_time):null,parents:t.parents,children:t.children,artifacts:t.artifacts.map(rs)}]}function as(s){return{id:s.id,timestamp:j(s.timestamp),type:s.type,name:s.name}}function rs(s){if(!s.type)throw new Error("Artifact type is required");return s.type==="progress"&&typeof s.data=="number"?{id:s.id,created:j(s.created),key:s.key??void 0,type:s.type,data:s.data}:{id:s.id,created:j(s.created),key:s.key??void 0,type:s.type}}const Z={COMPLETED:600,RUNNING:700,SCHEDULED:700,PENDING:800,FAILED:700,CANCELLED:600,CANCELLING:600,CRASHED:600,PAUSED:800};function pe(s){return!s||!(s instanceof HTMLElement)?!1:["INPUT","TEXTAREA","SELECT"].includes(s.tagName)}const ee=()=>{be({animate:!0})};function ns(){return o.useEffect(()=>{const s=new AbortController;return document.addEventListener("keydown",t=>{pe(t.target)||t.metaKey||t.ctrlKey||t.key==="c"&&ee()},{signal:s.signal}),()=>s.abort()},[]),e.jsxs(P,{children:[e.jsx($,{asChild:!0,children:e.jsx(p,{variant:"ghost",size:"icon",onClick:ee,children:e.jsx(x,{id:"Crosshair",className:"size-4"})})}),e.jsx(H,{children:"Recenter (c)"})]})}function is({fullscreen:s,onFullscreenChange:t}){const a=o.useCallback(()=>{t(!s)},[s,t]);return o.useEffect(()=>{const r=new AbortController;return document.addEventListener("keydown",n=>{if(!(pe(n.target)||n.metaKey||n.ctrlKey)){if(n.key==="f"){a();return}if(n.key==="Escape"){a();return}}},{signal:r.signal}),()=>r.abort()},[a]),e.jsxs(P,{children:[e.jsx($,{asChild:!0,children:e.jsx(p,{variant:"ghost",size:"icon",onClick:a,children:e.jsx(x,{id:"Expand",className:"size-4"})})}),e.jsx(H,{children:"Fullscreen (f)"})]})}const ls=[{label:"Temporal dependency",value:"temporal_nearest-parent"},{label:"Temporal sequence",value:"temporal_waterfall"},{label:"Dependency grid",value:"dependency_nearest-parent"},{label:"Sequential grid",value:"dependency_waterfall"},{label:"Comparative duration",value:"left-aligned_duration-sorted"}],os=()=>{const s=re+1,t=v.horizontalScaleMultiplier*s;ae(t)},cs=()=>{const s=Math.abs(re-1),t=v.horizontalScaleMultiplier*s;ae(t)},ds=()=>{Ce()};function us(s){const[t,a]=s.split("_");return se(t)&&te(a)}function ms(){const[s,t]=o.useState(`${v.horizontal}_${v.vertical}`),[a,r]=o.useState(v.disableEdges),[n,l]=o.useState(v.disableArtifacts),[u,i]=o.useState(v.disableEvents),b=o.useCallback(c=>{if(!us(c))return;const[w,f]=c.split("_");!se(w)||!te(f)||(t(c),Ne(w),we(f))},[]),N=o.useCallback(c=>{r(c),ke(c)},[]),k=o.useCallback(c=>{l(c),Ee(c)},[]),L=o.useCallback(c=>{i(c),Se(c)},[]);return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(g,{variant:"bodyLarge",children:"Layout"}),e.jsx("div",{className:"flex flex-col gap-2",children:ls.map(c=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"radio",id:c.value,name:"layout",value:c.value,checked:s===c.value,onChange:w=>b(w.target.value)}),e.jsx(C,{htmlFor:c.value,children:c.label})]},c.value))})]}),(v.isTemporal()||v.isLeftAligned())&&e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(g,{variant:"bodyLarge",children:"Scaling"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(p,{variant:"outline",size:"sm",onClick:cs,title:"Decrease scale (-)",children:"-"}),e.jsx(p,{variant:"outline",size:"sm",onClick:os,title:"Increase scale (+)",children:"+"}),e.jsx(p,{variant:"outline",size:"sm",onClick:ds,children:"Reset"})]})]}),e.jsx("hr",{className:"my-4"}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{id:"hideEdges",checked:a,onCheckedChange:N}),e.jsx(C,{htmlFor:"hideEdges",children:"Hide dependency arrows"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{id:"hideArtifacts",checked:n,onCheckedChange:k}),e.jsx(C,{htmlFor:"hideArtifacts",children:"Hide artifacts"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{id:"hideEvents",checked:u,onCheckedChange:L}),e.jsx(C,{htmlFor:"hideEvents",children:"Hide events"})]})]})]})}function ps(){return e.jsxs(A,{children:[e.jsx(Ge,{children:e.jsxs(P,{children:[e.jsx($,{asChild:!0,children:e.jsx(p,{variant:"ghost",size:"icon",children:e.jsx(x,{id:"Cog",className:"size-4"})})}),e.jsx(H,{children:"Settings"})]})}),e.jsx(T,{children:e.jsx(ms,{})})]})}function xs({fullscreen:s,onFullscreenChange:t}){return e.jsxs("div",{className:"flex gap-2",children:[e.jsx(ns,{}),e.jsx(is,{fullscreen:s,onFullscreenChange:t}),e.jsx(ps,{})]})}function hs({artifactId:s,onClose:t}){return e.jsx(Oe,{open:s!==null,onOpenChange:a=>!a&&t(),children:e.jsxs(Pe,{children:[e.jsx($e,{children:e.jsx(He,{children:"Artifact Details"})}),s&&e.jsx(o.Suspense,{fallback:e.jsx(fs,{}),children:e.jsx(js,{artifactId:s})})]})})}function fs(){return e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsx(y,{className:"h-6 w-32"}),e.jsx(y,{className:"h-4 w-24"}),e.jsx(y,{className:"h-4 w-48"}),e.jsx(y,{className:"h-32 w-full"})]})}function js({artifactId:s}){const{data:t}=G(Me(s));return e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsx(d,{label:"Key",value:e.jsx(g,{variant:"bodySmall",className:"font-medium",children:t.key??"Unnamed"})}),t.type&&e.jsx(d,{label:"Type",value:e.jsx(g,{variant:"bodySmall",className:"uppercase",children:t.type})}),t.description&&e.jsx(d,{label:"Description",value:e.jsx(g,{variant:"bodySmall",children:t.description})}),t.created&&e.jsx(d,{label:"Created",value:e.jsx(E,{date:t.created})}),t.data!==void 0&&t.data!==null&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{variant:"bodySmall",className:"text-muted-foreground",children:"Data"}),e.jsx("pre",{className:"bg-muted p-3 rounded-md text-sm overflow-auto max-h-64",children:typeof t.data=="string"?t.data:JSON.stringify(t.data,null,2)})]})]})}function vs({selection:s,onClose:t,onViewArtifact:a}){const{data:r,isLoading:n}=_(Qe({artifacts:{operator:"and_",id:{any_:s.ids}},sort:"CREATED_DESC",offset:0})),l=s.position;if(!l)return null;const u={position:"absolute",left:`${l.x+l.width/2}px`,top:`${l.y+l.height}px`};return e.jsxs(A,{open:!0,onOpenChange:i=>!i&&t(),children:[e.jsx(M,{style:u}),e.jsxs(T,{align:"center",side:"bottom",className:"w-72",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx(g,{variant:"bodySmall",className:"font-semibold",children:"Artifacts"}),e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close popover",children:e.jsx(x,{id:"X",className:"size-4"})})]}),n?e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(x,{id:"Loader2",className:"size-4 animate-spin"})}):e.jsx("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:r?.filter(i=>i.id!==void 0).map(i=>e.jsxs("div",{className:"flex items-center justify-between gap-2 p-2 rounded-md border bg-muted/50",children:[e.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[e.jsx(g,{variant:"bodySmall",className:"font-medium truncate",children:i.key??"Unnamed"}),i.type&&e.jsx(g,{variant:"xsmall",className:"text-muted-foreground uppercase",children:i.type})]}),e.jsx(p,{variant:"outline",size:"sm",onClick:()=>a(i.id),children:"View"})]},i.id))})]})]})}function ys(s){let t=s;return t.startsWith("prefect.")?t=t.slice(8):t.startsWith("prefect-cloud.")&&(t=t.slice(14)),t=t.replace(/[._-]/g," "),t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function gs(s){let t;return typeof s=="string"?t=j(s):t=s,We(t)?Je(t,"yyyy/MM/dd hh:mm:ss a"):"Invalid date"}function xe(s){return s["prefect.resource.name"]||s["prefect.name"]||s["prefect-cloud.name"]||null}function bs({event:s}){const t=xe(s.resource),a=s.resource["prefect.resource.id"]||"",r=I(a),n=de(a),l=s.related??[];return t?e.jsx(o.Suspense,{fallback:e.jsx(D,{}),children:e.jsx(R,{resource:s.resource,relatedResources:l,className:"hover:underline text-primary",children:e.jsx(ue,{resourceType:r,displayText:t,className:"text-sm"})})}):n&&r!=="unknown"?e.jsx(o.Suspense,{fallback:e.jsx(D,{}),children:e.jsx(R,{resource:s.resource,relatedResources:l,className:"hover:underline text-primary",children:e.jsx(me,{resourceType:r,resourceId:n,className:"text-sm"})})}):e.jsx("span",{className:"text-sm text-muted-foreground font-mono",children:a||"Unknown"})}function Ns({relatedResources:s}){const t=s.filter(a=>{const r=a["prefect.resource.role"],n=a["prefect.resource.id"]||"";return r==="tag"||n.startsWith("prefect.tag.")?!1:I(n)!=="unknown"});return t.length===0?null:e.jsx(d,{label:"Related Resources",value:e.jsx("div",{className:"flex flex-col gap-1",children:t.map(a=>{const r=xe(a),n=a["prefect.resource.id"]||"",l=I(n),u=de(n);return r?e.jsx(o.Suspense,{fallback:e.jsx(D,{}),children:e.jsx(R,{resource:a,relatedResources:s,className:"hover:underline text-primary",children:e.jsx(ue,{resourceType:l,displayText:r,className:"text-sm"})})},n):u&&l!=="unknown"?e.jsx(o.Suspense,{fallback:e.jsx(D,{}),children:e.jsx(R,{resource:a,relatedResources:s,className:"hover:underline text-primary",children:e.jsx(me,{resourceType:l,resourceId:u,className:"text-sm"})})},n):e.jsx("span",{className:"text-sm text-muted-foreground font-mono",children:n},n)})})})}function ws({selection:s,onClose:t}){const{data:a,isLoading:r}=_(le(s.id,s.occurred)),n=s.position;if(!n)return null;const l={position:"absolute",left:`${n.x+n.width/2}px`,top:`${n.y+n.height}px`},u=a?.event??"",i=u?ys(u):"Loading...",b=a?.related??[];return e.jsxs(A,{open:!0,onOpenChange:N=>!N&&t(),children:[e.jsx(M,{style:l}),e.jsxs(T,{align:"center",side:"bottom",className:"w-80",children:[e.jsxs("div",{className:"flex justify-between items-start mb-3",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Event"}),e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close popover",className:"-mt-1 -mr-2",children:e.jsx(x,{id:"X",className:"size-4"})})]}),r?e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(x,{id:"Loader2",className:"size-4 animate-spin"})}):e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx(O,{to:"/events",search:{event:[u]},className:"text-sm text-primary hover:underline font-medium",children:i}),e.jsx("span",{className:"text-xs text-muted-foreground",children:u})]}),e.jsx(d,{label:"Occurred",value:e.jsx("span",{className:"text-sm",children:gs(s.occurred)})}),a&&e.jsx(d,{label:"Resource",value:e.jsx(bs,{event:a})}),b.length>0&&e.jsx(Ns,{relatedResources:b})]})]})]})}function ks({selection:s,onClose:t}){const a=ge({queries:s.ids.map(i=>le(i,s.occurred??new Date))}),r=s.position;if(!r)return null;const n={position:"absolute",left:`${r.x+r.width/2}px`,top:`${r.y+r.height}px`},l=a.some(i=>i.isLoading),u=a.map(i=>i.data).filter(i=>i!==void 0);return e.jsxs(A,{open:!0,onOpenChange:i=>!i&&t(),children:[e.jsx(M,{style:n}),e.jsxs(T,{align:"center",side:"bottom",className:"w-80",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("span",{className:"text-sm font-medium",children:[s.ids.length," Events"]}),e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close popover",children:e.jsx(x,{id:"X",className:"size-4"})})]}),l?e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(x,{id:"Loader2",className:"size-4 animate-spin"})}):e.jsx(Ue,{className:"max-h-64",children:e.jsx("div",{className:"space-y-3",children:u.map(i=>e.jsxs("div",{className:"border-b pb-2 last:border-b-0 last:pb-0",children:[e.jsx("div",{className:"text-sm font-mono truncate",title:i.event,children:i.event}),e.jsx("div",{className:"text-xs text-muted-foreground",children:e.jsx(E,{date:new Date(i.occurred)})})]},i.id))})})]})]})}function Es({selection:s,onClose:t}){return ne(s)?e.jsx("div",{className:"absolute top-4 right-4 z-10 w-72 rounded-lg border bg-card p-4 shadow-md",children:e.jsxs(o.Suspense,{fallback:e.jsx(Ss,{onClose:t}),children:[s.kind==="task-run"&&e.jsx(Cs,{taskRunId:s.id,onClose:t}),s.kind==="flow-run"&&e.jsx(_s,{flowRunId:s.id,onClose:t})]})}):null}function Ss({onClose:s}){return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx(y,{className:"h-6 w-3/4"}),e.jsx(p,{variant:"ghost",size:"icon",onClick:s,"aria-label":"Close panel",className:"shrink-0 -mt-1 -mr-2",children:e.jsx(x,{id:"X",className:"size-4"})})]}),e.jsx(y,{className:"h-5 w-1/2"}),e.jsx(y,{className:"h-5 w-full"}),e.jsx(y,{className:"h-5 w-2/3"}),e.jsx(y,{className:"h-5 w-1/2"})]})}function Cs({taskRunId:s,onClose:t}){const{data:a}=G(Xe(s)),r=a.estimated_run_time&&a.estimated_run_time>0?a.estimated_run_time:a.total_run_time??0;return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("h3",{className:"font-semibold text-base",children:e.jsx(O,{to:"/runs/task-run/$id",params:{id:s},className:"hover:underline text-foreground",children:a.name})}),e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close panel",className:"shrink-0 -mt-1 -mr-2",children:e.jsx(x,{id:"X",className:"size-4"})})]}),e.jsxs("div",{className:"space-y-3",children:[a.state&&e.jsx(d,{label:"State",value:e.jsx(Q,{type:a.state.type,name:a.state.name})}),e.jsx(d,{label:"Task Run ID",value:a.id,copyable:!0}),e.jsx(d,{label:"Duration",value:r>0?oe(r):"-"}),e.jsx(d,{label:"Created",value:e.jsx(E,{date:a.created})}),a.tags&&a.tags.length>0&&e.jsx(d,{label:"Tags",value:e.jsx(ce,{tags:a.tags})})]})]})}function _s({flowRunId:s,onClose:t}){const{data:a}=G(qe(s)),r=a.total_run_time??0;return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("h3",{className:"font-semibold text-base",children:e.jsx(O,{to:"/runs/flow-run/$id",params:{id:s},className:"hover:underline text-foreground",children:a.name})}),e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close panel",className:"shrink-0 -mt-1 -mr-2",children:e.jsx(x,{id:"X",className:"size-4"})})]}),e.jsxs("div",{className:"space-y-3",children:[a.state&&e.jsx(d,{label:"State",value:e.jsx(Q,{type:a.state.type,name:a.state.name})}),e.jsx(d,{label:"Flow Run ID",value:a.id,copyable:!0}),e.jsx(d,{label:"Duration",value:r>0?oe(r):"-"}),e.jsx(d,{label:"Created",value:e.jsx(E,{date:a.created})}),a.tags&&a.tags.length>0&&e.jsx(d,{label:"Tags",value:e.jsx(ce,{tags:a.tags})})]})]})}function Rs({selection:s,onClose:t}){const a=o.useRef(null);o.useEffect(()=>{const l=i=>{a.current&&!a.current.contains(i.target)&&t()},u=i=>{i.key==="Escape"&&t()};return document.addEventListener("mousedown",l),document.addEventListener("keydown",u),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",u)}},[t]);const r=s.position;if(!r)return null;const n={position:"absolute",left:`${r.x+r.width/2}px`,top:`${r.y+r.height}px`,transform:"translateX(-50%)"};return e.jsxs("div",{ref:a,className:"z-50 w-64 rounded-lg border bg-card p-4 shadow-md",style:n,children:[e.jsx("div",{className:"flex justify-end absolute top-2 right-2",children:e.jsx(p,{variant:"ghost",size:"icon",onClick:t,"aria-label":"Close popover",children:e.jsx(x,{id:"X",className:"size-4"})})}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(d,{label:"State",value:e.jsx(Q,{type:s.type,name:s.name})}),e.jsx(d,{label:"Occurred",value:e.jsx(E,{date:s.timestamp,format:"timestamp"})})]})]})}const Ds=["COMPLETED","FAILED","CANCELLED","CRASHED"];function nt({flowRunId:s,stateType:t,viewport:a,onViewportChange:r,selected:n,onSelectedChange:l,className:u,style:i,fullscreen:b,onFullscreenChange:N}){const k=o.useRef(null),[L,c]=o.useState(!1),[w,f]=o.useState(void 0),[he,U]=o.useState(null),{resolvedTheme:X}=Ke(),q=b??L,m=n??w,fe=t&&Ds.includes(t),{data:K}=_(Be({task_runs:{operator:"and_",flow_run_id:{operator:"and_",any_:[s],is_null_:!1}}})),{data:B}=_(Ve({flow_runs:{operator:"and_",parent_flow_run_id:{operator:"and_",any_:[s]}}})),V=K===void 0||B===void 0||K>0||B>0,je=o.useCallback(h=>{c(h),N?.(h)},[N]),S=o.useMemo(()=>({runId:s,fetch:Ye,fetchEvents:Ze,styles:()=>({node:h=>({background:Y(h.state_type,Z[h.state_type])}),state:h=>({background:Y(h.type,Z[h.type])})}),theme:X==="dark"?"dark":"light"}),[s,X]);o.useEffect(()=>{_e(S)},[S]),o.useEffect(()=>{if(!k.current)throw new Error("Stage does not exist");return Re({stage:k.current,config:S}),()=>{De()}},[S]),o.useEffect(()=>{Ae(m??null)},[m]),o.useEffect(()=>{Te(a)},[a]),o.useEffect(()=>{const h=J.on("itemSelected",z=>{const W=z??void 0;f(W),l?.(W)}),ye=J.on("viewportDateRangeUpdated",z=>r?.(z));return()=>{h(),ye()}},[l,r]);const ve=q?"fixed inset-0 z-50 bg-background":V?"relative h-96 w-full":"relative h-40 w-full";return e.jsxs("div",{className:`${ve} ${u??""}`,style:i,children:[e.jsx("div",{ref:k,className:"size-full [&>canvas]:size-full"}),!V&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50",children:e.jsx("p",{className:"text-muted-foreground",children:fe?"This flow run did not generate any task or subflow runs":"This flow run has not yet generated any task or subflow runs"})}),e.jsx("div",{className:"absolute bottom-2 right-2",children:e.jsx(xs,{fullscreen:q,onFullscreenChange:je})}),m&&ne(m)&&e.jsx(Es,{selection:m,onClose:()=>{f(void 0),l?.(void 0)}}),m&&Le(m)&&e.jsx(Rs,{selection:m,onClose:()=>{f(void 0),l?.(void 0)}}),m&&ze(m)&&e.jsx(ws,{selection:m,onClose:()=>{f(void 0),l?.(void 0)}}),m&&Fe(m)&&e.jsx(ks,{selection:m,onClose:()=>{f(void 0),l?.(void 0)}}),m&&Ie(m)&&e.jsx(vs,{selection:m,onClose:()=>{f(void 0),l?.(void 0)},onViewArtifact:h=>{U(h),f(void 0),l?.(void 0)}}),e.jsx(hs,{artifactId:he,onClose:()=>U(null)})]})}export{nt as FlowRunGraph};
|
|
2
|
-
//# sourceMappingURL=flow-run-graph-Bf9t75GK.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/flow-run-graph-Bf9t75GK.js","assets/vendor-tanstack-BcZfOOfy.js","assets/vendor-react-Bce9NwRC.js","assets/vendor-graphs-_sWgqfe-.js","assets/index-_0OOjqn5.js","assets/vendor-radix-BTiKGWfR.js","assets/vendor-recharts-BAN776s_.js","assets/vendor-forms-ClCIacbh.js","assets/vendor-date-wwuDAncJ.js","assets/index-Br7MUvka.css","assets/state-colors-CAAf0Eg3.js","assets/event-resource-display-DR3zL_k_.js","assets/use-state-favicon-Dhkg1tqx.js","assets/index-DcMpyvW7.js","assets/artifact-card-9Cw_dMVb.js","assets/lazy-markdown-CKcd9ksG.js","assets/toggle-group-Cf-ZSSDP.js","assets/schema-form-input-string-format-datetime-DrpJmvST.js","assets/zod-Cuos7J7w.js","assets/use-debounce-callback-CSs1BjLI.js","assets/timezone-select-qBEoPcyO.js","assets/dropdown-menu-DF4QR3Cp.js","assets/form-DHWphysD.js","assets/delete-confirmation-dialog-B9-8JHV7.js","assets/use-delete-confirmation-dialog-CUdii6Lo.js","assets/sort-filter-DaBGDmua.js","assets/flow-runs-pagination-Bfelp8UO.js","assets/task-runs-pagination-fR9zqj38.js","assets/tags-input-BvH9UY8h.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{j as e,r as n,s as q,t as D,L as G,I as Ge,n as J,g as Qe,d as $e}from"./vendor-tanstack-BcZfOOfy.js";import{b5 as x,cc as Ve,cd as qe,q as b,ce as Be,aW as K,bv as We,C as he,o as pe,c6 as He,I as _,y,bM as te,X as je,cf as B,aN as ge,cg as fe,ch as ye,ci as Ne,cj as ve,ck as _e,aq as C,ak as V,i as be,cl as Se,cm as Ce,cn as we,_ as X,$ as Y,a0 as Z,a1 as ee,a2 as se,p as Je,co as ke,a3 as ae,cp as De,cq as re,cr as Ke,aD as Fe,B as Xe,g as Ye,h as le,bs as Ze,bB as es,bD as ss,H as as,aM as ts,c5 as rs,bQ as ls,bR as ns,bS as is,bT as os,cs,c8 as ds,S as Te,a as Ee,c as Ae,e as H,b as us,bN as Le,aC as ms,aE as ne,ab as xs,al as U,O as Pe,ct as ie,cu as W,aF as oe,an as hs,cv as ps,cw as js,cx as gs,cy as fs,cz as ys,L as ce,aw as Ns,ax as vs,ay as L,az as P,cA as de}from"./index-_0OOjqn5.js";import{R as _s,b as bs,C as Ss,a as Cs,u as ws}from"./use-state-favicon-Dhkg1tqx.js";import{A as ks}from"./artifact-card-9Cw_dMVb.js";import{T as Ds,a as ue}from"./toggle-group-Cf-ZSSDP.js";import{u as Fs,L as Ts}from"./schema-form-input-string-format-datetime-DrpJmvST.js";import{L as Es}from"./lazy-markdown-CKcd9ksG.js";import{D as As}from"./delete-confirmation-dialog-B9-8JHV7.js";import{u as Ls}from"./use-delete-confirmation-dialog-CUdii6Lo.js";import{D as Ie,a as ze,b as Me,d as w,e as Ps}from"./dropdown-menu-DF4QR3Cp.js";import{S as Is}from"./sort-filter-DaBGDmua.js";import{S as zs,a as Ms,F as Rs}from"./flow-runs-pagination-Bfelp8UO.js";import{T as Os,b as Us,a as Gs}from"./task-runs-pagination-fR9zqj38.js";import{T as Qs}from"./tags-input-BvH9UY8h.js";import{o as $s,e as Vs}from"./vendor-forms-ClCIacbh.js";const qs=["RUNNING","SCHEDULED","PENDING","PAUSED"],Bs=["COMPLETED","FAILED","CANCELLED","CRASHED"];function Ws(s){return s!=null&&qs.includes(s)}function Hs(s){return s==="RUNNING"}function Js(s){return s==="PAUSED"}function Ks(s){return s!=null&&Bs.includes(s)}const Xs=n.lazy(()=>Ve(()=>import("./flow-run-graph-Bf9t75GK.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28])).then(s=>({default:s.FlowRunGraph})));function Ys(s){return e.jsx(n.Suspense,{fallback:e.jsx(x,{className:"h-[500px] w-full"}),children:e.jsx(Xs,{...s})})}class Q extends n.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}render(){if(this.state.hasError){const{fallback:t}=this.props;return typeof t=="function"?t(this.state.error??new Error("Unknown error")):t}return this.props.children}}function $({error:s,onRetry:t,isRetrying:a}){return e.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[e.jsx("div",{className:"rounded-full bg-destructive/10 p-2 mb-3",children:e.jsx(qe,{className:"size-6 text-destructive"})}),e.jsxs("div",{className:"space-y-1 mb-4",children:[e.jsx("p",{className:"font-medium",children:s.message}),s.details&&e.jsx("p",{className:"text-xs text-muted-foreground max-w-sm",children:s.details})]}),t&&e.jsxs(b,{variant:"outline",size:"sm",onClick:t,disabled:a,className:"gap-2",children:[e.jsx(Be,{className:K("size-3",a&&"animate-spin")}),a?"Retrying...":"Retry"]})]})}const Zs=({flowRun:s})=>{const[t,a]=n.useState("grid"),{data:o}=q(We({artifacts:{operator:"and_",flow_run_id:{any_:[s.id]},type:{not_any_:["result"]}},sort:"ID_DESC",offset:0}));return o.length===0?e.jsx(he,{children:e.jsx(pe,{className:"text-center",children:e.jsxs("p",{children:["This flow run did not produce any artifacts; for more information on creating artifacts, see the"," ",e.jsx("a",{href:"https://docs.prefect.io/v3/develop/artifacts",target:"_blank",rel:"noopener noreferrer",className:"text-blue-500",children:"documentation"}),"."]})})}):e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(Ds,{type:"single",variant:"outline",value:t,onValueChange:r=>a(r),children:[e.jsx(ue,{value:"grid","aria-label":"Grid view",children:e.jsx(He,{className:"w-4 h-4"})}),e.jsx(ue,{value:"list","aria-label":"List view",children:e.jsx(_s,{className:"w-4 h-4"})})]})}),e.jsx("div",{className:K("grid",t==="grid"?"grid-cols-1 lg:grid-cols-2 xl:grid-cols-3":"grid-cols-1","gap-4"),"data-testid":"flow-run-artifacts-grid",children:o.map(r=>e.jsx(ks,{artifact:r,compact:t==="list"},r.id))})]})};function S({label:s,value:t,copyable:a,copyValue:o}){const r=()=>{const u=o??(typeof t=="string"?t:"");navigator.clipboard.writeText(u),y.success(`${s} copied`)};return e.jsxs("dl",{className:"flex flex-col gap-1",children:[e.jsx("dt",{className:"text-muted-foreground text-sm",children:s}),e.jsxs("dd",{className:"text-sm flex items-center gap-2",children:[t,a&&e.jsx(b,{variant:"ghost",size:"icon",onClick:r,children:e.jsx(_,{id:"Copy",className:"size-4"})})]})]})}function ea({flowRun:s}){return s?e.jsxs("div",{className:"space-y-4",children:[e.jsx(S,{label:"Run Count",value:s.run_count}),e.jsx(S,{label:"Created",value:e.jsx(te,{date:s.created})}),s.created_by?.display_value&&e.jsx(S,{label:"Created By",value:s.created_by.display_value}),e.jsx(S,{label:"Last Updated",value:e.jsx(te,{date:s.updated})}),s.idempotency_key&&e.jsx(S,{label:"Idempotency Key",value:s.idempotency_key}),s.tags&&s.tags.length>0&&e.jsx(S,{label:"Tags",value:e.jsx(je,{tags:s.tags})}),e.jsx(S,{label:"Flow Run ID",value:s.id,copyable:!0}),s.state?.message&&e.jsx(S,{label:"State Message",value:s.state.message}),s.flow_version&&e.jsx(S,{label:"Flow Version",value:s.flow_version}),s.empirical_policy?.retries!=null&&e.jsxs(e.Fragment,{children:[e.jsx(S,{label:"Retries",value:s.empirical_policy.retries}),e.jsx(S,{label:"Retry Delay",value:s.empirical_policy.retry_delay})]})]}):e.jsx("div",{className:"flex flex-col gap-2 bg-gray-100 p-4 rounded-md",children:e.jsx("span",{className:"text-gray-500",children:"No flow run details available"})})}const sa=({flowRun:s,open:t,onOpenChange:a})=>{const[o,r]=n.useState(!1),{setFlowRunState:u,isPending:c}=B(),{data:d=[]}=D({...ge({flow_runs:{operator:"and_",parent_flow_run_id:{operator:"and_",any_:[s.id]},state:{operator:"and_",type:{any_:["RUNNING","SCHEDULED","PENDING","PAUSED"]}}},sort:"START_TIME_DESC",limit:100,offset:0}),enabled:t}),i=d.length>0,j=m=>{for(const h of d)u({id:h.id,state:{type:"CANCELLING",name:"Cancelling"},force:!0},{onError:()=>{m.push(h.name??h.id)}})},l=()=>{u({id:s.id,state:{type:"CANCELLING",name:"Cancelling"},force:!0},{onSuccess:()=>{if(o&&d.length>0){const m=[];j(m),m.length>0?y.error(`Failed to cancel some sub-flows: ${m.join(", ")}`):y.success(`Flow run and ${d.length} sub-flow${d.length===1?"":"s"} cancelled`)}else y.success("Flow run cancelled");a(!1)},onError:m=>{y.error(m.message||"Failed to cancel flow run")}})};return e.jsx(fe,{open:t,onOpenChange:a,children:e.jsxs(ye,{children:[e.jsxs(Ne,{children:[e.jsx(ve,{children:"Cancel Flow Run"}),e.jsx(_e,{asChild:!0,children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{children:["Are you sure you want to cancel"," ",e.jsx("span",{className:"font-medium",children:s.name}),"?"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Current state:"}),s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Will become:"}),e.jsx(C,{type:"CANCELLING",name:"Cancelling"})]})]})})]}),i&&e.jsxs("div",{className:"flex items-center space-x-2 py-2",children:[e.jsx(V,{id:"cancel-subflows",checked:o,onCheckedChange:m=>r(m===!0)}),e.jsxs(be,{htmlFor:"cancel-subflows",className:"text-sm cursor-pointer",children:["Also cancel ",d.length," sub-flow run",d.length===1?"":"s"]})]}),e.jsxs(Se,{children:[e.jsx(Ce,{disabled:c,children:"Cancel"}),e.jsx(we,{onClick:m=>{m.preventDefault(),l()},disabled:c,children:c?"Cancelling...":"Cancel Flow Run"})]})]})})},aa=({flowRun:s,open:t,onOpenChange:a})=>{const[o,r]=n.useState(300),{setFlowRunState:u,isPending:c}=B(),d=()=>{const j=new Date(Date.now()+o*1e3).toISOString();u({id:s.id,state:{type:"PAUSED",name:"Suspended",state_details:{pause_timeout:j,pause_reschedule:!0,deferred:!1,untrackable_result:!1}},force:!0},{onSuccess:()=>{y.success("Flow run paused"),a(!1)},onError:l=>{y.error(l.message||"Failed to pause flow run")}})},i=o>=5;return e.jsx(X,{open:t,onOpenChange:a,children:e.jsxs(Y,{children:[e.jsxs(Z,{children:[e.jsx(ee,{children:"Pause Flow Run"}),e.jsx(se,{asChild:!0,children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{children:["Pause ",e.jsx("span",{className:"font-medium",children:s.name})," for a specified duration. The flow will automatically resume after the timeout."]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Current state:"}),s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Will become:"}),e.jsx(C,{type:"PAUSED",name:"Suspended"})]})]})})]}),e.jsxs("div",{className:"space-y-2 py-4",children:[e.jsx(be,{htmlFor:"timeout",children:"Timeout (seconds)"}),e.jsx(Je,{id:"timeout",type:"number",min:5,value:o,onChange:j=>r(Number.parseInt(j.target.value,10)||5)}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Will pause for ",ke(o),". Minimum 5 seconds."]})]}),e.jsxs(ae,{children:[e.jsx(b,{type:"button",variant:"outline",onClick:()=>a(!1),disabled:c,children:"Cancel"}),e.jsx(b,{onClick:d,disabled:c||!i,loading:c,children:"Pause Flow Run"})]})]})})},ta=({flowRun:s,open:t,onOpenChange:a})=>{const o=s.state?.state_details?.run_input_keyset;return o&&o.schema?e.jsx(X,{open:t,onOpenChange:a,children:e.jsx(Y,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:e.jsx(n.Suspense,{fallback:e.jsx(Re,{}),children:e.jsx(la,{flowRun:s,keyset:o,onOpenChange:a})})})}):e.jsx(ra,{flowRun:s,open:t,onOpenChange:a})},ra=({flowRun:s,open:t,onOpenChange:a})=>{const{resumeFlowRun:o,isPending:r}=De(),u=()=>{o({id:s.id},{onSuccess:()=>{y.success("Flow run resumed"),a(!1)},onError:c=>{y.error(c.message||"Failed to resume flow run")}})};return e.jsx(X,{open:t,onOpenChange:a,children:e.jsxs(Y,{children:[e.jsxs(Z,{children:[e.jsx(ee,{children:"Resume Flow Run"}),e.jsx(se,{asChild:!0,children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{children:["Resume the paused flow run"," ",e.jsx("span",{className:"font-medium",children:s.name}),"?"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Current state:"}),s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name})]})]})})]}),e.jsxs(ae,{children:[e.jsx(b,{type:"button",variant:"outline",onClick:()=>a(!1),disabled:r,children:"Cancel"}),e.jsx(b,{onClick:u,disabled:r,loading:r,children:"Resume"})]})]})})},la=({flowRun:s,keyset:t,onOpenChange:a})=>{const{resumeFlowRun:o,isPending:r}=De(),{values:u,setValues:c,errors:d,validateForm:i}=Fs(),{data:j}=D({...re(s.id,t.schema),select:h=>h}),{data:l}=D({...re(s.id,t.description??""),enabled:!!t.description,select:h=>h});n.useEffect(()=>{c({})},[c]);const m=async()=>{if(j)try{if(await i({schema:u}),d.length>0)return;o({id:s.id,runInput:u},{onSuccess:()=>{y.success("Flow run resumed"),a(!1)},onError:h=>{y.error(h.message||"Failed to resume flow run")}})}catch{y.error("Failed to validate input")}};return j?e.jsxs(e.Fragment,{children:[e.jsxs(Z,{children:[e.jsx(ee,{children:"Resume Flow Run"}),e.jsx(se,{asChild:!0,children:e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{children:["Provide input to resume"," ",e.jsx("span",{className:"font-medium",children:s.name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Current state:"}),s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name})]})]})})]}),l&&e.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none py-2 px-3 bg-muted/50 rounded-md",children:e.jsx(Es,{children:l})}),e.jsx("div",{className:"py-4",children:e.jsx(Ts,{schema:j,values:u,onValuesChange:c,errors:d,kinds:["json"]})}),e.jsxs(ae,{children:[e.jsx(b,{type:"button",variant:"outline",onClick:()=>a(!1),disabled:r,children:"Cancel"}),e.jsx(b,{onClick:()=>{m()},disabled:r,loading:r,children:"Resume"})]})]}):e.jsx(Re,{})},Re=()=>e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(x,{className:"h-6 w-48"}),e.jsx(x,{className:"h-4 w-full"}),e.jsx(x,{className:"h-32 w-full"}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(x,{className:"h-10 w-20"}),e.jsx(x,{className:"h-10 w-20"})]})]}),na=({flowRun:s,open:t,onOpenChange:a})=>{const{setFlowRunState:o,isPending:r}=B(),u=()=>{o({id:s.id,state:{type:"SCHEDULED",name:"AwaitingRetry",message:"Retry from the UI"},force:!0},{onSuccess:()=>{y.success("Flow run scheduled for retry"),a(!1)},onError:c=>{y.error(c.message||"Failed to retry flow run")}})};return e.jsx(fe,{open:t,onOpenChange:a,children:e.jsxs(ye,{children:[e.jsxs(Ne,{children:[e.jsx(ve,{children:"Retry Flow Run"}),e.jsx(_e,{asChild:!0,children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{children:["Retry the flow run"," ",e.jsx("span",{className:"font-medium",children:s.name}),"?"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Current state:"}),s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Will become:"}),e.jsx(C,{type:"SCHEDULED",name:"AwaitingRetry"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Task runs with persisted results will use cached values. Task runs without persisted results will be re-executed."})]})})]}),e.jsxs(Se,{children:[e.jsx(Ce,{disabled:r,children:"Cancel"}),e.jsx(we,{onClick:c=>{c.preventDefault(),u()},disabled:r,children:r?"Retrying...":"Retry"})]})]})})};function ia({flowRun:s,onDeleteClick:t}){const[a,o]=Ls(),{open:r,onOpenChange:u,openDialog:c}=bs(),[d,i]=n.useState(!1),[j,l]=n.useState(!1),[m,h]=n.useState(!1),[v,g]=n.useState(!1),{setFlowRunState:F,isPending:T}=B(),E=s.state_type&&["COMPLETED","FAILED","CANCELLED","CRASHED"].includes(s.state_type),A=Ws(s.state_type)&&s.deployment_id,I=Hs(s.state_type)&&s.deployment_id,z=Js(s.state_type),M=Ks(s.state_type)&&s.deployment_id,R=k=>{F({id:s.id,state:{type:k.type,name:k.type.charAt(0)+k.type.slice(1).toLowerCase(),message:k.message},force:!0},{onSuccess:()=>{y.success("Flow run state changed"),u(!1)},onError:Ue=>{y.error(Ue.message||"Failed to change state")}})},{data:N}=D({...Ke(s.deployment_id??""),enabled:!!s.deployment_id}),{data:p}=D({...Fe({task_runs:{operator:"and_",flow_run_id:{operator:"and_",any_:[s.id],is_null_:!1}}})}),{data:f}=D({...ge({sort:"START_TIME_DESC",offset:0,limit:1,task_runs:{operator:"and_",id:{any_:[s.parent_task_run_id??""]}}}),enabled:!!s.parent_task_run_id}),O=f?.[0],Oe=k=>k===void 0?"...":k===0?"None":`${k} Task run${k===1?"":"s"}`;return e.jsxs("div",{className:"flex flex-row justify-between",children:[e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(Xe,{children:e.jsxs(Ye,{children:[e.jsx(le,{children:e.jsx(Ze,{to:"/runs",className:"text-xl font-semibold",children:"Runs"})}),e.jsx(es,{}),e.jsxs(le,{className:"text-xl",children:[e.jsx(ss,{className:"font-semibold",children:s.name}),s.work_pool_name&&e.jsx(as,{variant:"outline",className:"ml-2",children:s.work_pool_name}),s.tags&&s.tags.length>0&&e.jsx("div",{className:"ml-2",children:e.jsx(je,{tags:s.tags,maxTagsDisplayed:3})})]})]})}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[s.state_type&&s.state_name&&e.jsx(C,{type:s.state_type,name:s.state_name}),s.start_time&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(_,{id:"Calendar",className:"size-4"}),e.jsx("span",{children:ts(s.start_time,"dateTimeNumeric")})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(_,{id:"Clock",className:"size-4"}),e.jsx("span",{children:ke(s.total_run_time??0)})]}),e.jsxs("div",{className:`flex items-center gap-1 ${p===0?"text-muted-foreground/60":""}`,children:[e.jsx(_,{id:"ListTodo",className:"size-4"}),e.jsx("span",{children:Oe(p)})]})]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm flex-wrap",children:[s.flow_id&&e.jsx(rs,{flowId:s.flow_id}),s.deployment_id&&e.jsxs(G,{to:"/deployments/deployment/$id",params:{id:s.deployment_id},className:"flex items-center gap-1 hover:underline",children:[e.jsx(_,{id:"Rocket",className:"size-4"}),e.jsx("span",{className:"text-muted-foreground",children:"Deployment"}),e.jsx("span",{children:N?.name??"..."})]}),s.work_pool_name&&e.jsxs(G,{to:"/work-pools/work-pool/$workPoolName",params:{workPoolName:s.work_pool_name},className:"flex items-center gap-1 hover:underline",children:[e.jsx(_,{id:"Server",className:"size-4"}),e.jsx("span",{className:"text-muted-foreground",children:"Work Pool"}),e.jsx("span",{children:s.work_pool_name})]}),s.work_pool_name&&s.work_queue_name&&e.jsxs(G,{to:"/work-pools/work-pool/$workPoolName",params:{workPoolName:s.work_pool_name},search:{tab:"Work Queues"},className:"flex items-center gap-1 hover:underline",children:[e.jsx(_,{id:"ListOrdered",className:"size-4"}),e.jsx("span",{className:"text-muted-foreground",children:"Work Queue"}),e.jsx("span",{children:s.work_queue_name})]}),O&&e.jsxs(G,{to:"/runs/flow-run/$id",params:{id:O.id},className:"flex items-center gap-1 hover:underline",children:[e.jsx(_,{id:"Workflow",className:"size-4"}),e.jsx("span",{className:"text-muted-foreground",children:"Parent Run"}),e.jsx("span",{children:O.name??"..."})]})]})]}),e.jsxs(Ie,{children:[e.jsx(ze,{asChild:!0,children:e.jsx(b,{variant:"outline",className:"p-2",children:e.jsx(ls,{className:"w-4 h-4"})})}),e.jsxs(Me,{children:[A&&e.jsx(w,{onClick:()=>i(!0),children:"Cancel"}),I&&e.jsx(w,{onClick:()=>l(!0),children:"Pause"}),z&&e.jsx(w,{onClick:()=>h(!0),children:"Resume"}),M&&e.jsx(w,{onClick:()=>g(!0),children:"Retry"}),E&&e.jsx(w,{onClick:c,children:"Change state"}),(A||I||z||M||E)&&e.jsx(Ps,{}),e.jsx(w,{onClick:()=>{navigator.clipboard.writeText(s.id),y.success("Copied flow run ID to clipboard")},children:"Copy ID"}),e.jsx(w,{onClick:()=>o({title:"Delete Flow Run",description:`Are you sure you want to delete flow run ${s.name}?`,onConfirm:t}),children:"Delete"})]})]}),e.jsx(As,{...a}),e.jsx(Ss,{open:r,onOpenChange:u,currentState:s.state?{type:s.state.type,name:s.state.name??s.state.type.charAt(0)+s.state.type.slice(1).toLowerCase()}:null,label:"Flow Run",onConfirm:R,isLoading:T}),e.jsx(sa,{flowRun:s,open:d,onOpenChange:i}),e.jsx(aa,{flowRun:s,open:j,onOpenChange:l}),e.jsx(ta,{flowRun:s,open:m,onOpenChange:h}),e.jsx(na,{flowRun:s,open:v,onOpenChange:g})]})}function oa({flowRun:s}){const[t,a]=n.useState(!1),o=async()=>{a(!0);try{const u=await(await cs()).GET("/flow_runs/{id}/logs/download",{params:{path:{id:s.id}},parseAs:"blob"});if(!u.data)throw new Error("No data received from server");const c=URL.createObjectURL(u.data),d=document.createElement("a"),i=s.name??"logs";d.href=c,d.setAttribute("download",`${i}.csv`),d.click(),URL.revokeObjectURL(c)}catch(r){console.error(r),y.error("Failed to download logs")}finally{a(!1)}};return e.jsxs(ns,{children:[e.jsx(is,{asChild:!0,children:e.jsx(b,{variant:"outline",size:"icon",onClick:()=>{o()},disabled:t,"aria-label":"Download logs",children:t?e.jsx(_,{id:"Loader2",className:"size-4 animate-spin"}):e.jsx(_,{id:"Download",className:"size-4"})})}),e.jsx(os,{children:"Download all logs as CSV"})]})}const ca=({flowRun:s,virtualize:t=!0})=>{const[a,o]=n.useState(0),[r,u]=n.useState("TIMESTAMP_ASC"),c=n.useMemo(()=>({...ds({limit:50,sort:r,logs:{operator:"and_",level:{ge_:a},flow_run_id:{any_:[s.id]}}}),refetchInterval:s.state_type==="RUNNING"?5e3:!1}),[a,r,s.id,s.state_type]),{data:d,hasNextPage:i,fetchNextPage:j,isFetchingNextPage:l}=Ge(c),m=d.pages.length===1&&d.pages[0].length===0;let h="This run did not produce any logs.";return m&&(a>0?h="No logs match your filter criteria":s.state_type==="SCHEDULED"&&s.state_name==="Scheduled"?h="Run has not yet started. Check back soon for logs.":s.state_type==="RUNNING"&&(h="Waiting for logs...")),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-row gap-2 justify-end",children:[e.jsx(da,{levelFilter:a,setLevelFilter:o}),e.jsx(ua,{sortOrder:r,setSortOrder:u}),e.jsx(oa,{flowRun:s})]}),m?e.jsx("div",{className:"flex flex-col gap-2 text-center bg-muted p-2 rounded-md",children:e.jsx("span",{className:"text-muted-foreground",children:h})}):e.jsx("div",{className:"rounded-md",children:e.jsx(Cs,{logs:d.pages.flat(),onBottomReached:()=>{i&&!l&&j().catch(v=>{console.error(v)})},className:"max-h-[85vh]",virtualize:t})})]})},me=[{label:"All",value:0},{label:"Critical only",value:50},{label:"Error and above",value:40},{label:"Warning and above",value:30},{label:"Info and above",value:20},{label:"Debug and above",value:10}],da=({levelFilter:s,setLevelFilter:t})=>e.jsxs(Te,{value:s.toString(),onValueChange:a=>t(Number(a)),children:[e.jsx(Ee,{"aria-label":"log level filter",children:e.jsx("span",{children:`Level:
|
|
3
|
-
${me.find(a=>a.value===s)?.label}`})}),e.jsx(Ae,{children:me.map(a=>e.jsx(H,{value:a.value.toString(),children:a.label},a.value))})]}),ua=({sortOrder:s,setSortOrder:t})=>e.jsxs(Te,{value:s,onValueChange:a=>t(a),children:[e.jsx(Ee,{"aria-label":"log sort order",children:e.jsx(us,{placeholder:"Sort log order"})}),e.jsxs(Ae,{children:[e.jsx(H,{value:"TIMESTAMP_ASC",children:"Oldest to newest"}),e.jsx(H,{value:"TIMESTAMP_DESC",children:"Newest to oldest"})]})]}),ma=({parentFlowRunId:s})=>{const t=J(),[a,o]=n.useState(""),[r,u]=n.useState(new Set),[c,d]=n.useState("START_TIME_DESC"),[i,j]=n.useState({page:1,limit:10}),l=Le(a,300),m=n.useMemo(()=>({flow_runs:{operator:"and_",parent_flow_run_id:{operator:"and_",any_:[s]}}}),[s]),{data:h}=q(ms(m,3e4)),v=n.useMemo(()=>({page:i.page,limit:i.limit,sort:c,flow_runs:{operator:"and_",parent_flow_run_id:{operator:"and_",any_:[s]},name:l?{like_:l}:void 0,state:r.size>0?{operator:"and_",name:{any_:Array.from(r)}}:void 0}}),[s,i,c,l,r]),{data:g}=D(ne(v,3e4)),F=n.useMemo(()=>[...new Set((g?.results??[]).map(p=>p.flow_id))],[g?.results]),{data:T}=D(xs({flows:{operator:"and_",id:{any_:F}},offset:0,sort:"NAME_ASC"},{enabled:F.length>0})),E=n.useMemo(()=>{if(!g?.results)return[];const p=new Map(T?.map(f=>[f.id,f])??[]);return g.results.map(f=>{const O=p.get(f.flow_id);return O?{...f,flow:O}:{...f,flow:void 0}}).filter(f=>f!==null)},[g?.results,T]),A=p=>{o(p.target.value),j(f=>({...f,page:1}))},I=p=>{u(p),j(f=>({...f,page:1}))},z=p=>{d(p),j(f=>({...f,page:1}))},M=()=>{o(""),u(new Set),j(p=>({...p,page:1}))},R=p=>{t.prefetchQuery(ne({...v,page:p},3e4))},N=a||r.size>0;return h===0?e.jsx("div",{className:"flex items-center justify-center h-48 border rounded-lg bg-muted/50",children:e.jsx(U,{className:"text-muted-foreground",children:"No subflow runs found for this flow run."})}):e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"grid grid-cols-12 items-center gap-2",children:[e.jsx("div",{className:"flex flex-col gap-1 xl:col-span-3 md:col-span-12 col-span-6 md:order-0 order-2",children:e.jsxs(U,{variant:"bodySmall",className:"text-muted-foreground",children:[h," Subflow run",h!==1?"s":""]})}),e.jsx("div",{className:"xl:col-span-4 col-span-12 md:order-1 order-0",children:e.jsx(Pe,{value:a,onChange:A,placeholder:"Search by run name","aria-label":"Search by run name",debounceMs:300})}),e.jsx("div",{className:"xl:col-span-3 md:col-span-6 col-span-12 md:order-2 order-1",children:e.jsx(zs,{selectedFilters:r,onSelectFilter:I})}),e.jsx("div",{className:"xl:border-l xl:border-border xl:pl-2 xl:col-span-2 md:col-span-6 col-span-6 md:order-3 order-3",children:e.jsx(Is,{value:c,onSelect:z})})]}),e.jsx(Ms,{flowRuns:E,onClearFilters:N?M:void 0}),g&&g.pages>0&&e.jsx(Rs,{pagination:i,onChangePagination:j,count:g.count,pages:g.pages,onPrefetchPage:R})]})},xe=2,xa=({selectedFilters:s,onSelectFilter:t,className:a})=>{const[o,r]=n.useState(!1),u=n.useMemo(()=>{const l=new Set(ie);return s.has("Scheduled")||l.size!==s.size?!1:Array.from(s).every(m=>l.has(m))},[s]),c=()=>{t(new Set(ie))},d=()=>{t(new Set)},i=l=>{if(u){t(new Set([l]));return}const m=new Set(s);s.has(l)?m.delete(l):m.add(l),t(m)},j=()=>{if(s.size===0)return"All run states";if(u)return"All except scheduled";const l=Array.from(s),m=l.slice(0,xe),h=l.length-xe;return e.jsxs("div",{className:"flex flex-1 min-w-0 items-center gap-2",children:[e.jsx("div",{className:"flex flex-1 min-w-0 items-center gap-2 overflow-hidden",children:m.map(v=>e.jsx(C,{name:v,type:W[v]},v))}),h>0&&e.jsxs(U,{variant:"bodySmall",className:"shrink-0",children:["+ ",h]})]})};return e.jsxs(Ie,{open:o,onOpenChange:r,children:[e.jsx(ze,{asChild:!0,children:e.jsxs(b,{variant:"outline",className:K("justify-between w-full",a),children:[e.jsx("span",{className:"flex-1 min-w-0",children:j()}),e.jsx(_,{id:"ChevronDown",className:"ml-2 size-4 shrink-0"})]})}),e.jsxs(Me,{className:"max-h-96 overflow-x-hidden overflow-y-auto",children:[e.jsxs(w,{onSelect:l=>{l.preventDefault(),c()},children:[e.jsx(V,{checked:u,className:"mr-2"}),"All except scheduled"]}),e.jsxs(w,{onSelect:l=>{l.preventDefault(),d()},children:[e.jsx(V,{checked:s.size===0,className:"mr-2"}),"All run states"]}),Object.keys(W).map(l=>e.jsxs(w,{"aria-label":l,onSelect:m=>{m.preventDefault(),i(l)},children:[e.jsx(V,{"aria-label":l,className:"mr-2",checked:!u&&s.has(l)}),e.jsx(C,{name:l,type:W[l]})]},l))]})]})},ha=({flowRunId:s})=>{const t=J(),[a,o]=n.useState(""),[r,u]=n.useState(new Set),[c,d]=n.useState(new Set),[i,j]=n.useState("EXPECTED_START_TIME_DESC"),[l,m]=n.useState({page:1,limit:20}),h=Le(a,300),{data:v}=q(Fe({task_runs:{operator:"and_",flow_run_id:{operator:"and_",any_:[s],is_null_:!1},subflow_runs:{exists_:!1}}},3e4)),{data:g}=D(oe({task_runs:{operator:"and_",flow_run_id:{operator:"and_",any_:[s],is_null_:!1},subflow_runs:{exists_:!1},name:h?{like_:h}:void 0,state:r.size>0?{operator:"and_",name:{any_:Array.from(r)}}:void 0,tags:c.size>0?{operator:"and_",all_:Array.from(c)}:void 0},sort:i,page:l.page,limit:l.limit},3e4)),F=N=>{o(N.target.value),m(p=>({...p,page:1}))},T=N=>{u(N),m(p=>({...p,page:1}))},E=N=>{j(N),m(p=>({...p,page:1}))},A=N=>{const p=Array.isArray(N)?N:[];d(new Set(p)),m(f=>({...f,page:1}))},I=()=>{o(""),u(new Set),d(new Set),m(N=>({...N,page:1}))},z=N=>{t.prefetchQuery(oe({task_runs:{operator:"and_",flow_run_id:{operator:"and_",any_:[s],is_null_:!1},subflow_runs:{exists_:!1},name:h?{like_:h}:void 0,state:r.size>0?{operator:"and_",name:{any_:Array.from(r)}}:void 0,tags:c.size>0?{operator:"and_",all_:Array.from(c)}:void 0},sort:i,page:N,limit:l.limit},3e4))},M=a||r.size>0||c.size>0,R=n.useMemo(()=>{if(!g?.results)return null;const N=new Map;for(const p of g.results){const f=String(p.state?.name??"Unknown");N.set(f,(N.get(f)??0)+1)}return Array.from(N.entries()).map(([p,f])=>`${f} ${p}`).join(", ")},[g?.results]);return v===0?e.jsx("div",{className:"flex items-center justify-center h-48 border rounded-lg bg-muted/50",children:e.jsx(U,{className:"text-muted-foreground",children:"No task runs found for this flow run."})}):e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"grid grid-cols-12 items-center gap-2",children:[e.jsxs("div",{className:"flex flex-col gap-1 xl:col-span-3 md:col-span-12 col-span-6 md:order-0 order-3",children:[e.jsxs(U,{variant:"bodySmall",className:"text-muted-foreground",children:[v," Task run",v!==1?"s":""]}),R&&e.jsxs(U,{variant:"bodySmall",className:"text-muted-foreground text-xs capitalize",children:["(",R,")"]})]}),e.jsx("div",{className:"xl:col-span-3 md:col-span-6 col-span-12 md:order-1 order-0",children:e.jsx(Pe,{value:a,onChange:F,placeholder:"Search by run name","aria-label":"Search by run name",debounceMs:300})}),e.jsx("div",{className:"xl:col-span-2 md:col-span-6 col-span-12 md:order-2 order-1",children:e.jsx(xa,{selectedFilters:r,onSelectFilter:T})}),e.jsx("div",{className:"xl:col-span-2 md:col-span-6 col-span-12 md:order-3 order-2",children:e.jsx(Qs,{value:Array.from(c),onChange:A,placeholder:"All tags"})}),e.jsx("div",{className:"xl:border-l xl:border-border xl:pl-2 xl:col-span-2 md:col-span-6 col-span-6 md:order-4 order-4",children:e.jsx(Os,{value:i,onSelect:E})})]}),e.jsx(Us,{taskRuns:g?.results,onClearFilters:M?I:void 0}),g&&g.pages>0&&e.jsx(Gs,{pagination:l,onChangePagination:m,count:g.count,pages:g.pages,onPrefetchPage:z})]})},pa=({id:s,tab:t,onTabChange:a})=>{const[o,r]=n.useState(!1),[u,c]=n.useState(!1),d=J(),{data:i}=q({...hs(s),refetchInterval:o}),{deleteFlowRun:j}=ps(),{navigate:l}=Qe(),m=i.state_type==="PENDING";ws(i?.state_type),n.useEffect(()=>{i.state_type==="RUNNING"||i.state_type==="PENDING"?r(5e3):r(!1)},[i]);const h=()=>{j(i.id,{onSuccess:()=>{r(!1),y.success("Flow run deleted"),l({to:"/runs",replace:!0})},onError:E=>{const A=E.message||"Unknown error while deleting flow run.";y.error(A)}})},v=n.useCallback(()=>{d.invalidateQueries({queryKey:js.all()})},[d]),g=n.useCallback(()=>{d.invalidateQueries({queryKey:gs.all()})},[d]),F=n.useCallback(()=>{d.invalidateQueries({queryKey:fs.lists()})},[d]),T=n.useCallback(()=>{d.invalidateQueries({queryKey:ys.all()})},[d]);return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"flex flex-col gap-2",children:e.jsx(ia,{flowRun:i,onDeleteClick:h})}),!m&&e.jsx(he,{className:"py-0",children:e.jsx(pe,{className:"p-0",children:e.jsx(Ys,{flowRunId:i.id,stateType:i.state_type??void 0,fullscreen:u,onFullscreenChange:c})})}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsx(ja,{currentTab:t,onTabChange:a,flowRun:i,logsContent:e.jsx(Q,{fallback:e.jsx($,{error:{type:"unknown-error",message:"Failed to load logs",details:"An error occurred while loading log data. Please try again."},onRetry:v}),children:e.jsx(n.Suspense,{fallback:e.jsx(ga,{}),children:e.jsx(ca,{flowRun:i})})}),taskRunsContent:e.jsx(Q,{fallback:e.jsx($,{error:{type:"unknown-error",message:"Failed to load task runs",details:"An error occurred while loading task run data. Please try again."},onRetry:g}),children:e.jsx(n.Suspense,{fallback:e.jsx(fa,{}),children:e.jsx(ha,{flowRunId:s})})}),subflowRunsContent:e.jsx(Q,{fallback:e.jsx($,{error:{type:"unknown-error",message:"Failed to load subflow runs",details:"An error occurred while loading subflow run data. Please try again."},onRetry:F}),children:e.jsx(n.Suspense,{fallback:e.jsx(Na,{}),children:e.jsx(ma,{parentFlowRunId:s})})}),artifactsContent:e.jsx(Q,{fallback:e.jsx($,{error:{type:"unknown-error",message:"Failed to load artifacts",details:"An error occurred while loading artifact data. Please try again."},onRetry:T}),children:e.jsx(n.Suspense,{fallback:e.jsx(ya,{}),children:e.jsx(Zs,{flowRun:i})})}),detailsContent:e.jsx(n.Suspense,{fallback:e.jsx(va,{}),children:e.jsx(ea,{flowRun:i})}),parametersContent:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(b,{variant:"outline",size:"sm",onClick:()=>{y.success("Copied parameters to clipboard"),navigator.clipboard.writeText(JSON.stringify(i.parameters??{},null,2))},children:[e.jsx(_,{id:"Copy",className:"size-4 mr-2"}),"Copy parameters"]})}),e.jsx(ce,{value:JSON.stringify(i.parameters??{},null,2),disabled:!0})]}),jobVariablesContent:e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"flex justify-end",children:e.jsxs(b,{variant:"outline",size:"sm",onClick:()=>{y.success("Copied job variables to clipboard"),navigator.clipboard.writeText(JSON.stringify(i.job_variables??{},null,2))},children:[e.jsx(_,{id:"Copy",className:"size-4 mr-2"}),"Copy job variables"]})}),e.jsx(ce,{value:JSON.stringify(i.job_variables??{},null,2),disabled:!0})]})})})]})},ja=({currentTab:s,onTabChange:t,flowRun:a,logsContent:o,taskRunsContent:r,subflowRunsContent:u,artifactsContent:c,detailsContent:d,parametersContent:i,jobVariablesContent:j})=>e.jsxs(Ns,{value:s,onValueChange:l=>t(l),children:[e.jsxs(vs,{children:[e.jsx(L,{value:"Details",children:"Details"}),e.jsx(L,{value:"Logs",children:"Logs"}),a.state_type!=="PENDING"&&e.jsx(L,{value:"TaskRuns",children:"Task Runs"}),a.state_type!=="PENDING"&&e.jsx(L,{value:"SubflowRuns",children:"Subflow Runs"}),e.jsx(L,{value:"Artifacts",children:"Artifacts"}),e.jsx(L,{value:"Parameters",children:"Parameters"}),e.jsx(L,{value:"JobVariables",children:"Job Variables"})]}),e.jsx(P,{value:"Details",children:d}),e.jsx(P,{value:"Logs",children:o}),e.jsx(P,{value:"TaskRuns",children:r}),e.jsx(P,{value:"SubflowRuns",children:u}),e.jsx(P,{value:"Artifacts",children:c}),e.jsx(P,{value:"Parameters",children:i}),e.jsx(P,{value:"JobVariables",children:j})]}),ga=()=>e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex flex-row gap-2 justify-end",children:[e.jsx(x,{className:"h-8 w-25"}),e.jsx(x,{className:"h-8 w-32"}),e.jsx(x,{className:"h-8 w-8"})," "]}),e.jsx(x,{className:"h-32"})]}),fa=()=>e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(x,{className:"h-4 w-24"})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsx(x,{className:"h-9 flex-1"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{className:"h-9 w-48"}),e.jsx(x,{className:"h-9 w-40"})]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(x,{className:"h-24"}),e.jsx(x,{className:"h-24"}),e.jsx(x,{className:"h-24"})]})]}),ya=()=>e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx("div",{className:"flex flex-row justify-end",children:e.jsx(x,{className:"h-8 w-12"})}),e.jsxs("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2 xl:grid-cols-3",children:[e.jsx(x,{className:"h-40"}),e.jsx(x,{className:"h-40"}),e.jsx(x,{className:"h-40"}),e.jsx(x,{className:"h-40"})]})]}),Na=()=>e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(x,{className:"h-4 w-24"})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsx(x,{className:"h-9 flex-1"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{className:"h-9 w-48"}),e.jsx(x,{className:"h-9 w-40"})]})]}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsx(x,{className:"h-24"}),e.jsx(x,{className:"h-24"}),e.jsx(x,{className:"h-24"})]})]}),va=()=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(x,{className:"h-4 w-20"}),e.jsx(x,{className:"h-5 w-12"})]}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(x,{className:"h-4 w-16"}),e.jsx(x,{className:"h-5 w-32"})]}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(x,{className:"h-4 w-24"}),e.jsx(x,{className:"h-5 w-32"})]}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx(x,{className:"h-4 w-24"}),e.jsx(x,{className:"h-5 w-64"})]})]});$s({tab:Vs(["Logs","TaskRuns","SubflowRuns","Artifacts","Details","Parameters","JobVariables"]).default("Logs").catch("Logs")});function _a(){const{id:s}=de.useParams(),{tab:t}=de.useSearch(),a=$e(),o=r=>{a({to:".",search:u=>({...u,tab:r})})};return e.jsx(pa,{id:s,tab:t,onTabChange:o})}const Ra=Object.freeze(Object.defineProperty({__proto__:null,component:_a},Symbol.toStringTag,{value:"Module"}));export{S as K,Ra as f};
|
|
4
|
-
//# sourceMappingURL=flow-run._id-33WKPXsZ.js.map
|