prefect 3.6.15__py3-none-any.whl → 3.6.16.dev3__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/flow_engine.py +16 -0
- prefect/flows.py +8 -0
- prefect/logging/formatters.py +24 -1
- prefect/server/ui-v2/assets/{artifact-card-BBzQR-Cj.js → artifact-card-BclosG8t.js} +2 -2
- prefect/server/ui-v2/assets/{artifact-card-BBzQR-Cj.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-EYSfXlQ7.js → automation-wizard-Bmgt6nn8.js} +2 -2
- prefect/server/ui-v2/assets/{automation-wizard-EYSfXlQ7.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-Dn7jABys.js.map → automation._id-Ccke3KJz.js.map} +1 -1
- prefect/server/ui-v2/assets/{automation_._id.edit-COrqswD3.js → automation_._id.edit-BlKPUTVf.js} +2 -2
- prefect/server/ui-v2/assets/{automation_._id.edit-COrqswD3.js.map → automation_._id.edit-BlKPUTVf.js.map} +1 -1
- prefect/server/ui-v2/assets/{automations-header-DN_dmMXW.js → automations-header-Df2zw3SC.js} +2 -2
- prefect/server/ui-v2/assets/{automations-header-DN_dmMXW.js.map → automations-header-Df2zw3SC.js.map} +1 -1
- prefect/server/ui-v2/assets/{base-job-template-form-section-De2ACYbw.js → base-job-template-form-section-oZD6U-RW.js} +2 -2
- prefect/server/ui-v2/assets/{base-job-template-form-section-De2ACYbw.js.map → base-job-template-form-section-oZD6U-RW.js.map} +1 -1
- prefect/server/ui-v2/assets/{block-type-details-Cklc7TkK.js → block-type-details-CYrdaLot.js} +2 -2
- prefect/server/ui-v2/assets/{block-type-details-Cklc7TkK.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-tuz1Bcj2.js → block._id-CBgHrpTP.js} +2 -2
- prefect/server/ui-v2/assets/{block._id-tuz1Bcj2.js.map → block._id-CBgHrpTP.js.map} +1 -1
- prefect/server/ui-v2/assets/{block_._id.edit-CFEYhF5R.js → block_._id.edit-CW-kdi4O.js} +2 -2
- prefect/server/ui-v2/assets/{block_._id.edit-CFEYhF5R.js.map → block_._id.edit-CW-kdi4O.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog-CCPRo7nY.js → catalog-Brh0kn1I.js} +2 -2
- prefect/server/ui-v2/assets/{catalog-CCPRo7nY.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-Bl2J2oI3.js.map → catalog_._slug-MCgzguIZ.js.map} +1 -1
- prefect/server/ui-v2/assets/{catalog_._slug_.create-9UD_SxDN.js → catalog_._slug_.create-DBaeHi9Q.js} +2 -2
- prefect/server/ui-v2/assets/{catalog_._slug_.create-9UD_SxDN.js.map → catalog_._slug_.create-DBaeHi9Q.js.map} +1 -1
- prefect/server/ui-v2/assets/{collapsible-BVQTBG_U.js → collapsible-B_NJS0uJ.js} +2 -2
- prefect/server/ui-v2/assets/{collapsible-BVQTBG_U.js.map → collapsible-B_NJS0uJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{concurrency-limit._id-CsgRxA0a.js → concurrency-limit._id-qzNUQzQa.js} +2 -2
- prefect/server/ui-v2/assets/{concurrency-limit._id-CsgRxA0a.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-D--LHaji.js.map → create-BwXG6EIb.js.map} +1 -1
- prefect/server/ui-v2/assets/{create-BycfZHGQ.js → create-MoiIE9Ms.js} +2 -2
- prefect/server/ui-v2/assets/{create-BycfZHGQ.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-DHkm2p8m.js.map → delete-confirmation-dialog-CwDK_2QS.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-action-header-D5GOooPm.js → deployment-action-header-Vp9YsCJO.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-action-header-D5GOooPm.js.map → deployment-action-header-Vp9YsCJO.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-form-wfg6HeAJ.js → deployment-form-CJcg_6DJ.js} +3 -3
- prefect/server/ui-v2/assets/{deployment-form-wfg6HeAJ.js.map → deployment-form-CJcg_6DJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment-links-6iugOgDh.js → deployment-links-CIkJIuHh.js} +2 -2
- prefect/server/ui-v2/assets/{deployment-links-6iugOgDh.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-Ci9zge5n.js.map → deployment._id-C6XrGMp_.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment._id-whsGcHdu.js → deployment._id-CWgTYmTG.js} +2 -2
- prefect/server/ui-v2/assets/{deployment._id-whsGcHdu.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-D9ZWkh8H.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-CS7sObzC.js.map → deployment_._id.edit-CnoB0UeG.js.map} +1 -1
- prefect/server/ui-v2/assets/{deployment_._id.run-g7SZuDFi.js → deployment_._id.run-BqPK6rTB.js} +2 -2
- prefect/server/ui-v2/assets/{deployment_._id.run-g7SZuDFi.js.map → deployment_._id.run-BqPK6rTB.js.map} +1 -1
- prefect/server/ui-v2/assets/{dropdown-menu-0atiOSFo.js → dropdown-menu-D7Gwbd15.js} +2 -2
- prefect/server/ui-v2/assets/{dropdown-menu-0atiOSFo.js.map → dropdown-menu-D7Gwbd15.js.map} +1 -1
- prefect/server/ui-v2/assets/{event-resource-display-DHiAb1Up.js → event-resource-display-CDRgVKd4.js} +2 -2
- prefect/server/ui-v2/assets/{event-resource-display-DHiAb1Up.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-D7Twzb22.js.map → event._eventDate._eventId-C73GMDkK.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run-graph-BhzuSJLm.js → flow-run-graph-ckiE3mA9.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run-graph-BhzuSJLm.js.map → flow-run-graph-ckiE3mA9.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run._id-CqpH6bvx.js → flow-run._id-BukrNCAq.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-CqpH6bvx.js.map → flow-run._id-BukrNCAq.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-run._id-lIIQBD7H.js → flow-run._id-CtI5VZ2M.js} +2 -2
- prefect/server/ui-v2/assets/{flow-run._id-lIIQBD7H.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-RLy2kBh0.js.map → flow-run._id-s1UJuakA.js.map} +1 -1
- prefect/server/ui-v2/assets/{flow-runs-pagination-BATUweRV.js → flow-runs-pagination-SLbYtvaR.js} +2 -2
- prefect/server/ui-v2/assets/{flow-runs-pagination-BATUweRV.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-BdQGWPKP.js.map → flow._id-CZ5P0v4N.js.map} +1 -1
- prefect/server/ui-v2/assets/{form-DLrbC7rV.js → form-mws4law8.js} +2 -2
- prefect/server/ui-v2/assets/{form-DLrbC7rV.js.map → form-mws4law8.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-BTAWyeXv.js → header-Bes1LmY7.js} +2 -2
- prefect/server/ui-v2/assets/{header-BTAWyeXv.js.map → header-Bes1LmY7.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-ChFAx5uR.js → header-Bj_zBR-a.js} +2 -2
- prefect/server/ui-v2/assets/{header-ChFAx5uR.js.map → header-Bj_zBR-a.js.map} +1 -1
- prefect/server/ui-v2/assets/{header-CyQqOj1w.js → header-CPxTHSvz.js} +2 -2
- prefect/server/ui-v2/assets/{header-CyQqOj1w.js.map → header-CPxTHSvz.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-m48E4KcG.js → index-B8vo2Lrg.js} +5 -5
- prefect/server/ui-v2/assets/{index-m48E4KcG.js.map → index-B8vo2Lrg.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-D5RT-SAp.js → index-BBeh-3Nh.js} +2 -2
- prefect/server/ui-v2/assets/{index-D5RT-SAp.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-7i4X9TeK.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-BaWDC4da.js → index-CS-zxv7Z.js} +2 -2
- prefect/server/ui-v2/assets/{index-BaWDC4da.js.map → index-CS-zxv7Z.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-kP_I5Qfd.js → index-CToHKh4q.js} +2 -2
- prefect/server/ui-v2/assets/{index-kP_I5Qfd.js.map → index-CToHKh4q.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CKGj5lSu.js → index-CUVvZndW.js} +2 -2
- prefect/server/ui-v2/assets/{index-CKGj5lSu.js.map → index-CUVvZndW.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CxUfZRkN.js → index-CYVn-I3i.js} +2 -2
- prefect/server/ui-v2/assets/{index-CxUfZRkN.js.map → index-CYVn-I3i.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CnlN-VC_.js → index-Cun0JN4t.js} +2 -2
- prefect/server/ui-v2/assets/{index-CnlN-VC_.js.map → index-Cun0JN4t.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-BwCLKpNb.js → index-D6ynV6U7.js} +2 -2
- prefect/server/ui-v2/assets/{index-BwCLKpNb.js.map → index-D6ynV6U7.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CHf6xi9j.js → index-DdNUJLRW.js} +2 -2
- prefect/server/ui-v2/assets/{index-CHf6xi9j.js.map → index-DdNUJLRW.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-CQnWiUE5.js → index-DlHOXQhu.js} +2 -2
- prefect/server/ui-v2/assets/{index-CQnWiUE5.js.map → index-DlHOXQhu.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-Eqdr6Ff7.js → index-DyVw8YE8.js} +2 -2
- prefect/server/ui-v2/assets/{index-Eqdr6Ff7.js.map → index-DyVw8YE8.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-Btb_-PDp.js → index-DzRz7D2P.js} +2 -2
- prefect/server/ui-v2/assets/{index-Btb_-PDp.js.map → index-DzRz7D2P.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DQGif3jm.js → index-DzUcVNZg.js} +2 -2
- prefect/server/ui-v2/assets/{index-DQGif3jm.js.map → index-DzUcVNZg.js.map} +1 -1
- prefect/server/ui-v2/assets/{index-DNh9ZBy4.js → index-IBvMMs6S.js} +2 -2
- prefect/server/ui-v2/assets/{index-DNh9ZBy4.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-CiSFHkhI.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-lyQav_XM.js → index-wOvyf10b.js} +2 -2
- prefect/server/ui-v2/assets/{index-lyQav_XM.js.map → index-wOvyf10b.js.map} +1 -1
- prefect/server/ui-v2/assets/{json-input-Ba-BeBcw.js → json-input-Ce-HlRqa.js} +2 -2
- prefect/server/ui-v2/assets/{json-input-Ba-BeBcw.js.map → json-input-Ce-HlRqa.js.map} +1 -1
- prefect/server/ui-v2/assets/{key-value-DkSKn6jE.js → key-value-XHEZOtZX.js} +2 -2
- prefect/server/ui-v2/assets/{key-value-DkSKn6jE.js.map → key-value-XHEZOtZX.js.map} +1 -1
- prefect/server/ui-v2/assets/{key._key-Cjx57ymg.js → key._key-LpsMf3zD.js} +2 -2
- prefect/server/ui-v2/assets/{key._key-Cjx57ymg.js.map → key._key-LpsMf3zD.js.map} +1 -1
- prefect/server/ui-v2/assets/{lazy-markdown-Du2Xu3Yp.js → lazy-markdown-1Hz0xzca.js} +2 -2
- prefect/server/ui-v2/assets/{lazy-markdown-Du2Xu3Yp.js.map → lazy-markdown-1Hz0xzca.js.map} +1 -1
- prefect/server/ui-v2/assets/{login-DxMF9Jvj.js → login-D5uepl9L.js} +2 -2
- prefect/server/ui-v2/assets/{login-DxMF9Jvj.js.map → login-D5uepl9L.js.map} +1 -1
- prefect/server/ui-v2/assets/{markdown-input-DPi8zyRr.js → markdown-input-CG6M9zD0.js} +2 -2
- prefect/server/ui-v2/assets/{markdown-input-DPi8zyRr.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-DfCFYPN_.js.map → python-example-snippet-DRHcUlCX.js.map} +1 -1
- prefect/server/ui-v2/assets/{python-input-mr6GD840.js → python-input-BsUS8fw1.js} +2 -2
- prefect/server/ui-v2/assets/{python-input-mr6GD840.js.map → python-input-BsUS8fw1.js.map} +1 -1
- prefect/server/ui-v2/assets/{radio-group-Co3cN0Kv.js → radio-group-BUsmwdrt.js} +2 -2
- prefect/server/ui-v2/assets/{radio-group-Co3cN0Kv.js.map → radio-group-BUsmwdrt.js.map} +1 -1
- prefect/server/ui-v2/assets/{route-error-state-DnBaNT2T.js → route-error-state-BFBpiIhD.js} +2 -2
- prefect/server/ui-v2/assets/{route-error-state-DnBaNT2T.js.map → route-error-state-BFBpiIhD.js.map} +1 -1
- prefect/server/ui-v2/assets/{schema-form-CWDHSME9.js → schema-form-BwTmkvJk.js} +2 -2
- prefect/server/ui-v2/assets/schema-form-BwTmkvJk.js.map +1 -0
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-BSWlW_aQ.js → schema-form-input-string-format-datetime-nrb3g-JJ.js} +4 -4
- prefect/server/ui-v2/assets/{schema-form-input-string-format-datetime-BSWlW_aQ.js.map → schema-form-input-string-format-datetime-nrb3g-JJ.js.map} +1 -1
- prefect/server/ui-v2/assets/{settings-DU5y6tJE.js → settings-CUBtK5aW.js} +2 -2
- prefect/server/ui-v2/assets/{settings-DU5y6tJE.js.map → settings-CUBtK5aW.js.map} +1 -1
- prefect/server/ui-v2/assets/{sort-filter-DpuWNkQo.js → sort-filter-Cv8zAXMp.js} +2 -2
- prefect/server/ui-v2/assets/{sort-filter-DpuWNkQo.js.map → sort-filter-Cv8zAXMp.js.map} +1 -1
- prefect/server/ui-v2/assets/{table-bBL6C0ZK.js → table-BBNGfPra.js} +2 -2
- prefect/server/ui-v2/assets/{table-bBL6C0ZK.js.map → table-BBNGfPra.js.map} +1 -1
- prefect/server/ui-v2/assets/{tags-input-BLPMVWpZ.js → tags-input-DHrnkwjQ.js} +2 -2
- prefect/server/ui-v2/assets/{tags-input-BLPMVWpZ.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-S69sih55.js.map → task-run-concurrency-limits-reset-dialog-Z8-yFZ2_.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-Dl3Azs8t.js → task-run._id-BY58gqs2.js} +2 -2
- prefect/server/ui-v2/assets/{task-run._id-Dl3Azs8t.js.map → task-run._id-BY58gqs2.js.map} +1 -1
- prefect/server/ui-v2/assets/{task-run._id-B_tIDm4K.js → task-run._id-u73Jxfqw.js} +3 -3
- prefect/server/ui-v2/assets/{task-run._id-B_tIDm4K.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-VdR-LO4r.js.map → task-runs-pagination-DUy3147A.js.map} +1 -1
- prefect/server/ui-v2/assets/{textarea-B3_TtPRi.js → textarea-DUhh6-kq.js} +2 -2
- prefect/server/ui-v2/assets/{textarea-B3_TtPRi.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-BuPYznge.js.map → timezone-select-D4Q6VBtD.js.map} +1 -1
- prefect/server/ui-v2/assets/{toggle-group-Cn07UIim.js → toggle-group-7WUJn2Tx.js} +2 -2
- prefect/server/ui-v2/assets/{toggle-group-Cn07UIim.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-DpdsLH4t.js.map → use-delete-automation-confirmation-dialog-D4AD5Ndf.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-Cq5nGhzr.js → use-delete-block-document-confirmation-dialog-DnwWEGUY.js} +2 -2
- prefect/server/ui-v2/assets/{use-delete-block-document-confirmation-dialog-Cq5nGhzr.js.map → use-delete-block-document-confirmation-dialog-DnwWEGUY.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-DmQSWBTu.js → use-flow-runs-selected-rows-C-tehPRB.js} +2 -2
- prefect/server/ui-v2/assets/{use-flow-runs-selected-rows-DmQSWBTu.js.map → use-flow-runs-selected-rows-C-tehPRB.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-DTwcWiqW.js → use-get-artifacts-flow-task-runs-DRWRrmrb.js} +2 -2
- prefect/server/ui-v2/assets/{use-get-artifacts-flow-task-runs-DTwcWiqW.js.map → use-get-artifacts-flow-task-runs-DRWRrmrb.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-quick-run-CPempwLh.js → use-quick-run-B4Xj-YQQ.js} +2 -2
- prefect/server/ui-v2/assets/{use-quick-run-CPempwLh.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-M09DmrNy.js.map → use-state-favicon-au2TZdMV.js.map} +1 -1
- prefect/server/ui-v2/assets/{use-stepper-CDucnvzp.js → use-stepper-DyIb3vlq.js} +2 -2
- prefect/server/ui-v2/assets/{use-stepper-CDucnvzp.js.map → use-stepper-DyIb3vlq.js.map} +1 -1
- prefect/server/ui-v2/assets/{utilities-BRCNRcQl.js → utilities-D9Y2wo66.js} +2 -2
- prefect/server/ui-v2/assets/{utilities-BRCNRcQl.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-C2tpSS-w.js → work-pool-filter-CSOATj2D.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool-filter-C2tpSS-w.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-BQ9b-Wxy.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-C_LiL3SE.js.map → work-pool._workPoolName-B_NFWXKS.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-DBHlrVVx.js → work-pool_._workPoolName.edit-Cyzn8g-S.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.edit-DBHlrVVx.js.map → work-pool_._workPoolName.edit-Cyzn8g-S.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js → work-pool_._workPoolName.queue._workQueueName-DQzqQWPT.js} +2 -2
- prefect/server/ui-v2/assets/{work-pool_._workPoolName.queue._workQueueName-DkITxJOP.js.map → work-pool_._workPoolName.queue._workQueueName-DQzqQWPT.js.map} +1 -1
- prefect/server/ui-v2/assets/{work-queue-icon-text-D4BWBVDN.js → work-queue-icon-text-BOpcJ8YU.js} +2 -2
- prefect/server/ui-v2/assets/{work-queue-icon-text-D4BWBVDN.js.map → work-queue-icon-text-BOpcJ8YU.js.map} +1 -1
- prefect/server/ui-v2/index.html +3 -3
- {prefect-3.6.15.dist-info → prefect-3.6.16.dev3.dist-info}/METADATA +2 -1
- {prefect-3.6.15.dist-info → prefect-3.6.16.dev3.dist-info}/RECORD +223 -211
- prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js +0 -2
- prefect/server/ui-v2/assets/artifact._id-BFdf1WUA.js.map +0 -1
- prefect/server/ui-v2/assets/automation._id-Dn7jABys.js +0 -2
- prefect/server/ui-v2/assets/block-type-logo-Cbpfxded.js +0 -2
- prefect/server/ui-v2/assets/block-type-logo-Cbpfxded.js.map +0 -1
- prefect/server/ui-v2/assets/catalog_._slug-Bl2J2oI3.js +0 -2
- prefect/server/ui-v2/assets/create-D--LHaji.js +0 -2
- prefect/server/ui-v2/assets/data-table-rlbkLcrY.js +0 -2
- prefect/server/ui-v2/assets/data-table-rlbkLcrY.js.map +0 -1
- prefect/server/ui-v2/assets/delete-confirmation-dialog-DHkm2p8m.js +0 -2
- prefect/server/ui-v2/assets/deployment._id-Ci9zge5n.js +0 -2
- prefect/server/ui-v2/assets/deployment_._id.duplicate-D9ZWkh8H.js +0 -2
- prefect/server/ui-v2/assets/deployment_._id.edit-CS7sObzC.js +0 -2
- prefect/server/ui-v2/assets/event._eventDate._eventId-D7Twzb22.js +0 -2
- prefect/server/ui-v2/assets/flow-run._id-RLy2kBh0.js +0 -4
- prefect/server/ui-v2/assets/flow._id-BdQGWPKP.js +0 -2
- prefect/server/ui-v2/assets/index-7i4X9TeK.js +0 -2
- prefect/server/ui-v2/assets/index-BkiGTHwU.js +0 -2
- prefect/server/ui-v2/assets/index-BkiGTHwU.js.map +0 -1
- prefect/server/ui-v2/assets/index-COouj_0-.css +0 -1
- prefect/server/ui-v2/assets/index-CiSFHkhI.js +0 -2
- prefect/server/ui-v2/assets/index-DATPYZfT.js +0 -2
- prefect/server/ui-v2/assets/index-DATPYZfT.js.map +0 -1
- prefect/server/ui-v2/assets/index-VH4TnZ4e.js +0 -2
- prefect/server/ui-v2/assets/index-VH4TnZ4e.js.map +0 -1
- prefect/server/ui-v2/assets/python-example-snippet-DfCFYPN_.js +0 -3
- prefect/server/ui-v2/assets/schema-form-CWDHSME9.js.map +0 -1
- prefect/server/ui-v2/assets/task-run-concurrency-limits-reset-dialog-S69sih55.js +0 -2
- prefect/server/ui-v2/assets/task-runs-pagination-VdR-LO4r.js +0 -2
- prefect/server/ui-v2/assets/timezone-select-BuPYznge.js +0 -2
- prefect/server/ui-v2/assets/use-delete-automation-confirmation-dialog-DpdsLH4t.js +0 -2
- prefect/server/ui-v2/assets/use-state-favicon-M09DmrNy.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-BQ9b-Wxy.js +0 -2
- prefect/server/ui-v2/assets/work-pool._workPoolName-C_LiL3SE.js +0 -2
- {prefect-3.6.15.dist-info → prefect-3.6.16.dev3.dist-info}/WHEEL +0 -0
- {prefect-3.6.15.dist-info → prefect-3.6.16.dev3.dist-info}/entry_points.txt +0 -0
- {prefect-3.6.15.dist-info → prefect-3.6.16.dev3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,s as n}from"./vendor-tanstack-BcZfOOfy.js";import{u as i,S as m,a as x,b as h,c as p,d as u,e as g,f as j,B as v,g as b,h as f,L as N,z as S,i as t,I as l,j as y,k as C}from"./index-
|
|
2
|
-
//# sourceMappingURL=settings-
|
|
1
|
+
import{j as e,s as n}from"./vendor-tanstack-BcZfOOfy.js";import{u as i,S as m,a as x,b as h,c as p,d as u,e as g,f as j,B as v,g as b,h as f,L as N,z as S,i as t,I as l,j as y,k as C}from"./index-B8vo2Lrg.js";import{R as M,a as c}from"./radio-group-BUsmwdrt.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BvvJP9Po.js";import"./vendor-forms-ClCIacbh.js";import"./vendor-date-wwuDAncJ.js";const w=["completed","running","scheduled","pending","failed","cancelled","cancelling","crashed","paused"];function k(s){return`color-mode-${s}`}const o=({mode:s})=>e.jsxs("div",{className:`flex items-center justify-between gap-2 w-full ${k(s)}`,children:[e.jsx("span",{children:j(s)}),e.jsx("div",{className:"flex items-center gap-1",children:w.map(r=>e.jsx(T,{state:r},r))})]}),T=({state:s})=>{const r={completed:"bg-[var(--state-completed-500)]",running:"bg-[var(--state-running-500)]",scheduled:"bg-[var(--state-scheduled-500)]",pending:"bg-[var(--state-pending-500)]",failed:"bg-[var(--state-failed-500)]",cancelled:"bg-[var(--state-cancelled-500)]",cancelling:"bg-[var(--state-cancelling-500)]",crashed:"bg-[var(--state-crashed-500)]",paused:"bg-[var(--state-paused-500)]"};return e.jsx("span",{className:`w-4 h-4 rounded-full ${r[s]}`})},F=()=>{const{colorMode:s,setColorMode:r,colorModes:d}=i();return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("label",{htmlFor:"color-mode-select",children:"Color Mode"}),e.jsxs(m,{value:s,onValueChange:a=>r(a),children:[e.jsx(x,{className:"w-96",id:"color-mode-select",children:e.jsx(h,{placeholder:"Select a color mode",children:e.jsx(o,{mode:s})})}),e.jsx(p,{children:e.jsx(u,{children:d.map(a=>e.jsx(g,{value:a,children:e.jsx(o,{mode:a})},a))})})]})]})},I=({version:s})=>e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx(v,{children:e.jsx(b,{children:e.jsx(f,{className:"text-xl font-semibold",children:"Settings"})})}),e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:"Version"}),e.jsx("div",{className:"text-xs",children:s})]})]}),L=({settings:s})=>e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("label",{htmlFor:"server-settings",children:"Server Settings"}),e.jsx(N,{id:"server-settings",className:"p-2 rounded-sm",value:JSON.stringify(s,null,2),disabled:!0,hideLineNumbers:!0})]}),G=()=>{const{theme:s,setTheme:r}=S();return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("label",{htmlFor:"color-mode-select",children:"Theme"}),e.jsx("div",{className:"space-y-3",children:e.jsxs(M,{value:s,onValueChange:r,className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{children:[e.jsx(c,{value:"light",id:"light",className:"peer sr-only"}),e.jsxs(t,{htmlFor:"light",className:"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer",children:[e.jsx(l,{id:"Sun",className:"h-6 w-6"}),e.jsx("span",{children:"Light"})]})]}),e.jsxs("div",{children:[e.jsx(c,{value:"dark",id:"dark",className:"peer sr-only"}),e.jsxs(t,{htmlFor:"dark",className:"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer",children:[e.jsx(l,{id:"Moon",className:"h-6 w-6"}),e.jsx("span",{children:"Dark"})]})]}),e.jsxs("div",{children:[e.jsx(c,{value:"system",id:"system",className:"peer sr-only"}),e.jsxs(t,{htmlFor:"system",className:"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer",children:[e.jsx(l,{id:"Monitor",className:"h-6 w-6"}),e.jsx("span",{children:"System"})]})]})]})})]})},V=()=>{const{data:s}=n(y()),{data:r}=n(C());return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx(I,{version:r}),e.jsx(G,{}),e.jsx(F,{}),e.jsx(L,{settings:s})]})},O=V;export{O as component};
|
|
2
|
+
//# sourceMappingURL=settings-CUBtK5aW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-DU5y6tJE.js","sources":["../../src/components/settings/color-mode-select.tsx","../../src/components/settings/heading.tsx","../../src/components/settings/server-settings.tsx","../../src/components/settings/theme-switch.tsx","../../src/components/settings/settings-page.tsx","../../src/routes/settings.tsx?tsr-split=component"],"sourcesContent":["import {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport { type ColorMode, useColorMode } from \"@/hooks/use-color-mode\";\nimport { capitalize } from \"@/utils\";\n\nconst STATE_TYPES = [\n\t\"completed\",\n\t\"running\",\n\t\"scheduled\",\n\t\"pending\",\n\t\"failed\",\n\t\"cancelled\",\n\t\"cancelling\",\n\t\"crashed\",\n\t\"paused\",\n] as const;\n\ntype StateType = (typeof STATE_TYPES)[number];\n\nfunction getColorModeClass(mode: ColorMode): string {\n\treturn `color-mode-${mode}`;\n}\n\ntype ColorModeOptionProps = {\n\tmode: ColorMode;\n};\n\nconst ColorModeOption = ({ mode }: ColorModeOptionProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`flex items-center justify-between gap-2 w-full ${getColorModeClass(mode)}`}\n\t\t>\n\t\t\t<span>{capitalize(mode)}</span>\n\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t{STATE_TYPES.map((state) => (\n\t\t\t\t\t<StateColorCircle key={state} state={state} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ntype StateColorCircleProps = {\n\tstate: StateType;\n};\n\nconst StateColorCircle = ({ state }: StateColorCircleProps) => {\n\tconst stateColorMap: Record<StateType, string> = {\n\t\tcompleted: \"bg-[var(--state-completed-500)]\",\n\t\trunning: \"bg-[var(--state-running-500)]\",\n\t\tscheduled: \"bg-[var(--state-scheduled-500)]\",\n\t\tpending: \"bg-[var(--state-pending-500)]\",\n\t\tfailed: \"bg-[var(--state-failed-500)]\",\n\t\tcancelled: \"bg-[var(--state-cancelled-500)]\",\n\t\tcancelling: \"bg-[var(--state-cancelling-500)]\",\n\t\tcrashed: \"bg-[var(--state-crashed-500)]\",\n\t\tpaused: \"bg-[var(--state-paused-500)]\",\n\t};\n\n\treturn <span className={`w-4 h-4 rounded-full ${stateColorMap[state]}`} />;\n};\n\nexport const ColorModeSelect = () => {\n\tconst { colorMode, setColorMode, colorModes } = useColorMode();\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"color-mode-select\">Color Mode</label>\n\t\t\t<Select\n\t\t\t\tvalue={colorMode}\n\t\t\t\tonValueChange={(value: ColorMode) => setColorMode(value)}\n\t\t\t>\n\t\t\t\t<SelectTrigger className=\"w-96\" id=\"color-mode-select\">\n\t\t\t\t\t<SelectValue placeholder=\"Select a color mode\">\n\t\t\t\t\t\t<ColorModeOption mode={colorMode} />\n\t\t\t\t\t</SelectValue>\n\t\t\t\t</SelectTrigger>\n\t\t\t\t<SelectContent>\n\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t{colorModes.map((mode) => (\n\t\t\t\t\t\t\t<SelectItem key={mode} value={mode}>\n\t\t\t\t\t\t\t\t<ColorModeOption mode={mode} />\n\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</SelectGroup>\n\t\t\t\t</SelectContent>\n\t\t\t</Select>\n\t\t</div>\n\t);\n};\n","import {\n\tBreadcrumb,\n\tBreadcrumbItem,\n\tBreadcrumbList,\n} from \"@/components/ui/breadcrumb\";\n\ntype HeadingProps = {\n\tversion: string;\n};\n\nexport const Heading = ({ version }: HeadingProps) => {\n\treturn (\n\t\t<div className=\"flex justify-between items-center\">\n\t\t\t<Breadcrumb>\n\t\t\t\t<BreadcrumbList>\n\t\t\t\t\t<BreadcrumbItem className=\"text-xl font-semibold\">\n\t\t\t\t\t\tSettings\n\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t</BreadcrumbList>\n\t\t\t</Breadcrumb>\n\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t<div className=\"text-xs text-muted-foreground\">Version</div>\n\t\t\t\t<div className=\"text-xs\">{version}</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { LazyJsonInput as JsonInput } from \"@/components/ui/json-input-lazy\";\n\ntype ServerSettingsProps = {\n\tsettings: Record<string, unknown>;\n};\n\nexport const ServerSettings = ({ settings }: ServerSettingsProps) => {\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"server-settings\">Server Settings</label>\n\t\t\t<JsonInput\n\t\t\t\tid=\"server-settings\"\n\t\t\t\tclassName=\"p-2 rounded-sm\"\n\t\t\t\tvalue={JSON.stringify(settings, null, 2)}\n\t\t\t\tdisabled\n\t\t\t\thideLineNumbers\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { useTheme } from \"next-themes\";\nimport { Icon } from \"@/components/ui/icons\";\nimport { Label } from \"@/components/ui/label\";\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\";\n\nexport const ThemeSwitch = () => {\n\tconst { theme, setTheme } = useTheme();\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"color-mode-select\">Theme</label>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<RadioGroup\n\t\t\t\t\tvalue={theme}\n\t\t\t\t\tonValueChange={setTheme}\n\t\t\t\t\tclassName=\"grid grid-cols-3 gap-4\"\n\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem value=\"light\" id=\"light\" className=\"peer sr-only\" />\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"light\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Sun\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>Light</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem value=\"dark\" id=\"dark\" className=\"peer sr-only\" />\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"dark\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Moon\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>Dark</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem\n\t\t\t\t\t\t\tvalue=\"system\"\n\t\t\t\t\t\t\tid=\"system\"\n\t\t\t\t\t\t\tclassName=\"peer sr-only\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"system\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Monitor\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>System</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t</RadioGroup>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { buildGetSettingsQuery, buildGetVersionQuery } from \"@/api/admin\";\n\nimport { ColorModeSelect } from \"./color-mode-select\";\nimport { Heading } from \"./heading\";\nimport { ServerSettings } from \"./server-settings\";\nimport { ThemeSwitch } from \"./theme-switch\";\n\nexport const SettingsPage = () => {\n\tconst { data: settingsData } = useSuspenseQuery(buildGetSettingsQuery());\n\tconst { data: versionData } = useSuspenseQuery(buildGetVersionQuery());\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<Heading version={versionData} />\n\t\t\t<ThemeSwitch />\n\t\t\t<ColorModeSelect />\n\t\t\t{/** nb: open API needs to update schema */}\n\t\t\t<ServerSettings settings={settingsData as Record<string, unknown>} />\n\t\t</div>\n\t);\n};\n","import { createFileRoute } from \"@tanstack/react-router\";\nimport { buildGetSettingsQuery, buildGetVersionQuery } from \"@/api/admin\";\nimport { SettingsPage } from \"@/components/settings/settings-page\";\n\nexport const Route = createFileRoute(\"/settings\")({\n\tcomponent: SettingsPage,\n\tloader: ({ context }) =>\n\t\tPromise.all([\n\t\t\tcontext.queryClient.ensureQueryData(buildGetSettingsQuery()),\n\t\t\tcontext.queryClient.ensureQueryData(buildGetVersionQuery()),\n\t\t]),\n\twrapInSuspense: true,\n});\n"],"names":["STATE_TYPES","getColorModeClass","mode","ColorModeOption","jsxs","jsx","capitalize","state","StateColorCircle","stateColorMap","ColorModeSelect","colorMode","setColorMode","colorModes","useColorMode","Select","value","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectItem","Heading","version","Breadcrumb","BreadcrumbList","BreadcrumbItem","ServerSettings","settings","JsonInput","ThemeSwitch","theme","setTheme","useTheme","RadioGroup","RadioGroupItem","Label","Icon","SettingsPage","settingsData","useSuspenseQuery","buildGetSettingsQuery","versionData","buildGetVersionQuery","SplitComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings-CUBtK5aW.js","sources":["../../src/components/settings/color-mode-select.tsx","../../src/components/settings/heading.tsx","../../src/components/settings/server-settings.tsx","../../src/components/settings/theme-switch.tsx","../../src/components/settings/settings-page.tsx","../../src/routes/settings.tsx?tsr-split=component"],"sourcesContent":["import {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport { type ColorMode, useColorMode } from \"@/hooks/use-color-mode\";\nimport { capitalize } from \"@/utils\";\n\nconst STATE_TYPES = [\n\t\"completed\",\n\t\"running\",\n\t\"scheduled\",\n\t\"pending\",\n\t\"failed\",\n\t\"cancelled\",\n\t\"cancelling\",\n\t\"crashed\",\n\t\"paused\",\n] as const;\n\ntype StateType = (typeof STATE_TYPES)[number];\n\nfunction getColorModeClass(mode: ColorMode): string {\n\treturn `color-mode-${mode}`;\n}\n\ntype ColorModeOptionProps = {\n\tmode: ColorMode;\n};\n\nconst ColorModeOption = ({ mode }: ColorModeOptionProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={`flex items-center justify-between gap-2 w-full ${getColorModeClass(mode)}`}\n\t\t>\n\t\t\t<span>{capitalize(mode)}</span>\n\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t{STATE_TYPES.map((state) => (\n\t\t\t\t\t<StateColorCircle key={state} state={state} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\ntype StateColorCircleProps = {\n\tstate: StateType;\n};\n\nconst StateColorCircle = ({ state }: StateColorCircleProps) => {\n\tconst stateColorMap: Record<StateType, string> = {\n\t\tcompleted: \"bg-[var(--state-completed-500)]\",\n\t\trunning: \"bg-[var(--state-running-500)]\",\n\t\tscheduled: \"bg-[var(--state-scheduled-500)]\",\n\t\tpending: \"bg-[var(--state-pending-500)]\",\n\t\tfailed: \"bg-[var(--state-failed-500)]\",\n\t\tcancelled: \"bg-[var(--state-cancelled-500)]\",\n\t\tcancelling: \"bg-[var(--state-cancelling-500)]\",\n\t\tcrashed: \"bg-[var(--state-crashed-500)]\",\n\t\tpaused: \"bg-[var(--state-paused-500)]\",\n\t};\n\n\treturn <span className={`w-4 h-4 rounded-full ${stateColorMap[state]}`} />;\n};\n\nexport const ColorModeSelect = () => {\n\tconst { colorMode, setColorMode, colorModes } = useColorMode();\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"color-mode-select\">Color Mode</label>\n\t\t\t<Select\n\t\t\t\tvalue={colorMode}\n\t\t\t\tonValueChange={(value: ColorMode) => setColorMode(value)}\n\t\t\t>\n\t\t\t\t<SelectTrigger className=\"w-96\" id=\"color-mode-select\">\n\t\t\t\t\t<SelectValue placeholder=\"Select a color mode\">\n\t\t\t\t\t\t<ColorModeOption mode={colorMode} />\n\t\t\t\t\t</SelectValue>\n\t\t\t\t</SelectTrigger>\n\t\t\t\t<SelectContent>\n\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t{colorModes.map((mode) => (\n\t\t\t\t\t\t\t<SelectItem key={mode} value={mode}>\n\t\t\t\t\t\t\t\t<ColorModeOption mode={mode} />\n\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</SelectGroup>\n\t\t\t\t</SelectContent>\n\t\t\t</Select>\n\t\t</div>\n\t);\n};\n","import {\n\tBreadcrumb,\n\tBreadcrumbItem,\n\tBreadcrumbList,\n} from \"@/components/ui/breadcrumb\";\n\ntype HeadingProps = {\n\tversion: string;\n};\n\nexport const Heading = ({ version }: HeadingProps) => {\n\treturn (\n\t\t<div className=\"flex justify-between items-center\">\n\t\t\t<Breadcrumb>\n\t\t\t\t<BreadcrumbList>\n\t\t\t\t\t<BreadcrumbItem className=\"text-xl font-semibold\">\n\t\t\t\t\t\tSettings\n\t\t\t\t\t</BreadcrumbItem>\n\t\t\t\t</BreadcrumbList>\n\t\t\t</Breadcrumb>\n\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t<div className=\"text-xs text-muted-foreground\">Version</div>\n\t\t\t\t<div className=\"text-xs\">{version}</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { LazyJsonInput as JsonInput } from \"@/components/ui/json-input-lazy\";\n\ntype ServerSettingsProps = {\n\tsettings: Record<string, unknown>;\n};\n\nexport const ServerSettings = ({ settings }: ServerSettingsProps) => {\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"server-settings\">Server Settings</label>\n\t\t\t<JsonInput\n\t\t\t\tid=\"server-settings\"\n\t\t\t\tclassName=\"p-2 rounded-sm\"\n\t\t\t\tvalue={JSON.stringify(settings, null, 2)}\n\t\t\t\tdisabled\n\t\t\t\thideLineNumbers\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { useTheme } from \"next-themes\";\nimport { Icon } from \"@/components/ui/icons\";\nimport { Label } from \"@/components/ui/label\";\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\";\n\nexport const ThemeSwitch = () => {\n\tconst { theme, setTheme } = useTheme();\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label htmlFor=\"color-mode-select\">Theme</label>\n\t\t\t<div className=\"space-y-3\">\n\t\t\t\t<RadioGroup\n\t\t\t\t\tvalue={theme}\n\t\t\t\t\tonValueChange={setTheme}\n\t\t\t\t\tclassName=\"grid grid-cols-3 gap-4\"\n\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem value=\"light\" id=\"light\" className=\"peer sr-only\" />\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"light\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Sun\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>Light</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem value=\"dark\" id=\"dark\" className=\"peer sr-only\" />\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"dark\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Moon\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>Dark</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<RadioGroupItem\n\t\t\t\t\t\t\tvalue=\"system\"\n\t\t\t\t\t\t\tid=\"system\"\n\t\t\t\t\t\t\tclassName=\"peer sr-only\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Label\n\t\t\t\t\t\t\thtmlFor=\"system\"\n\t\t\t\t\t\t\tclassName=\"flex items-center space-x-2 rounded-md border-2 border-muted bg-popover p-4 hover:bg-accent hover:text-accent-foreground peer-data-[state=checked]:border-primary cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon id=\"Monitor\" className=\"h-6 w-6\" />\n\t\t\t\t\t\t\t<span>System</span>\n\t\t\t\t\t\t</Label>\n\t\t\t\t\t</div>\n\t\t\t\t</RadioGroup>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { buildGetSettingsQuery, buildGetVersionQuery } from \"@/api/admin\";\n\nimport { ColorModeSelect } from \"./color-mode-select\";\nimport { Heading } from \"./heading\";\nimport { ServerSettings } from \"./server-settings\";\nimport { ThemeSwitch } from \"./theme-switch\";\n\nexport const SettingsPage = () => {\n\tconst { data: settingsData } = useSuspenseQuery(buildGetSettingsQuery());\n\tconst { data: versionData } = useSuspenseQuery(buildGetVersionQuery());\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<Heading version={versionData} />\n\t\t\t<ThemeSwitch />\n\t\t\t<ColorModeSelect />\n\t\t\t{/** nb: open API needs to update schema */}\n\t\t\t<ServerSettings settings={settingsData as Record<string, unknown>} />\n\t\t</div>\n\t);\n};\n","import { createFileRoute } from \"@tanstack/react-router\";\nimport { buildGetSettingsQuery, buildGetVersionQuery } from \"@/api/admin\";\nimport { SettingsPage } from \"@/components/settings/settings-page\";\n\nexport const Route = createFileRoute(\"/settings\")({\n\tcomponent: SettingsPage,\n\tloader: ({ context }) =>\n\t\tPromise.all([\n\t\t\tcontext.queryClient.ensureQueryData(buildGetSettingsQuery()),\n\t\t\tcontext.queryClient.ensureQueryData(buildGetVersionQuery()),\n\t\t]),\n\twrapInSuspense: true,\n});\n"],"names":["STATE_TYPES","getColorModeClass","mode","ColorModeOption","jsxs","jsx","capitalize","state","StateColorCircle","stateColorMap","ColorModeSelect","colorMode","setColorMode","colorModes","useColorMode","Select","value","SelectTrigger","SelectValue","SelectContent","SelectGroup","SelectItem","Heading","version","Breadcrumb","BreadcrumbList","BreadcrumbItem","ServerSettings","settings","JsonInput","ThemeSwitch","theme","setTheme","useTheme","RadioGroup","RadioGroupItem","Label","Icon","SettingsPage","settingsData","useSuspenseQuery","buildGetSettingsQuery","versionData","buildGetVersionQuery","SplitComponent"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./vendor-tanstack-BcZfOOfy.js";import{S as a,a as o,b as c,c as n,e as l}from"./index-
|
|
2
|
-
//# sourceMappingURL=sort-filter-
|
|
1
|
+
import{j as e}from"./vendor-tanstack-BcZfOOfy.js";import{S as a,a as o,b as c,c as n,e as l}from"./index-B8vo2Lrg.js";const d=({defaultValue:s,value:t,onSelect:r})=>e.jsxs(a,{defaultValue:s,value:t,onValueChange:r,children:[e.jsx(o,{"aria-label":"Flow run sort order",className:"w-full",children:e.jsx(c,{placeholder:"Sort by"})}),e.jsxs(n,{children:[e.jsx(l,{value:"START_TIME_DESC",children:"Newest to oldest"}),e.jsx(l,{value:"START_TIME_ASC",children:"Oldest to newest"}),e.jsx(l,{value:"NAME_ASC",children:"A to Z"}),e.jsx(l,{value:"NAME_DESC",children:"Z to A"})]})]});export{d as S};
|
|
2
|
+
//# sourceMappingURL=sort-filter-Cv8zAXMp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-filter-
|
|
1
|
+
{"version":3,"file":"sort-filter-Cv8zAXMp.js","sources":["../../src/components/flow-runs/flow-runs-list/flow-runs-filters/sort-filter.tsx"],"sourcesContent":["import {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport type { SortFilters } from \"./sort-filter.constants\";\n\ntype SortFilterProps = {\n\tdefaultValue?: SortFilters;\n\tonSelect: (filter: SortFilters) => void;\n\tvalue: undefined | SortFilters;\n};\n\nexport const SortFilter = ({\n\tdefaultValue,\n\tvalue,\n\tonSelect,\n}: SortFilterProps) => {\n\treturn (\n\t\t<Select defaultValue={defaultValue} value={value} onValueChange={onSelect}>\n\t\t\t<SelectTrigger aria-label=\"Flow run sort order\" className=\"w-full\">\n\t\t\t\t<SelectValue placeholder=\"Sort by\" />\n\t\t\t</SelectTrigger>\n\t\t\t<SelectContent>\n\t\t\t\t<SelectItem value=\"START_TIME_DESC\">Newest to oldest</SelectItem>\n\t\t\t\t<SelectItem value=\"START_TIME_ASC\">Oldest to newest</SelectItem>\n\t\t\t\t<SelectItem value=\"NAME_ASC\">A to Z</SelectItem>\n\t\t\t\t<SelectItem value=\"NAME_DESC\">Z to A</SelectItem>\n\t\t\t</SelectContent>\n\t\t</Select>\n\t);\n};\n"],"names":["SortFilter","defaultValue","value","onSelect","jsxs","Select","jsx","SelectTrigger","SelectValue","SelectContent","SelectItem"],"mappings":"sHAeO,MAAMA,EAAa,CAAC,CAC1B,aAAAC,EACA,MAAAC,EACA,SAAAC,CACD,IAEEC,EAAAA,KAACC,EAAA,CAAO,aAAAJ,EAA4B,MAAAC,EAAc,cAAeC,EAChE,SAAA,CAAAG,EAAAA,IAACC,EAAA,CAAc,aAAW,sBAAsB,UAAU,SACzD,SAAAD,EAAAA,IAACE,EAAA,CAAY,YAAY,SAAA,CAAU,CAAA,CACpC,SACCC,EAAA,CACA,SAAA,CAAAH,EAAAA,IAACI,EAAA,CAAW,MAAM,kBAAkB,SAAA,mBAAgB,EACpDJ,EAAAA,IAACI,EAAA,CAAW,MAAM,iBAAiB,SAAA,mBAAgB,EACnDJ,EAAAA,IAACI,EAAA,CAAW,MAAM,WAAW,SAAA,SAAM,EACnCJ,EAAAA,IAACI,EAAA,CAAW,MAAM,YAAY,SAAA,QAAA,CAAM,CAAA,CAAA,CACrC,CAAA,EACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as t}from"./vendor-tanstack-BcZfOOfy.js";import{
|
|
2
|
-
//# sourceMappingURL=table-
|
|
1
|
+
import{j as t}from"./vendor-tanstack-BcZfOOfy.js";import{a_ as l}from"./index-B8vo2Lrg.js";function s({className:a,...e}){return t.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:t.jsx("table",{"data-slot":"table",className:l("w-full caption-bottom text-sm",a),...e})})}function d({className:a,...e}){return t.jsx("thead",{"data-slot":"table-header",className:l("[&_tr]:border-b",a),...e})}function n({className:a,...e}){return t.jsx("tbody",{"data-slot":"table-body",className:l("[&_tr:last-child]:border-0",a),...e})}function c({className:a,...e}){return t.jsx("tr",{"data-slot":"table-row",className:l("bg-card dark:bg-background hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",a),...e})}function b({className:a,...e}){return t.jsx("th",{"data-slot":"table-head",className:l("text-muted-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}function i({className:a,...e}){return t.jsx("td",{"data-slot":"table-cell",className:l("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",a),...e})}export{s as T,d as a,c as b,b as c,n as d,i as e};
|
|
2
|
+
//# sourceMappingURL=table-BBNGfPra.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-
|
|
1
|
+
{"version":3,"file":"table-BBNGfPra.js","sources":["../../src/components/ui/table.tsx"],"sourcesContent":["import type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"table-container\"\n\t\t\tclassName=\"relative w-full overflow-x-auto\"\n\t\t>\n\t\t\t<table\n\t\t\t\tdata-slot=\"table\"\n\t\t\t\tclassName={cn(\"w-full caption-bottom text-sm\", className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n\treturn (\n\t\t<thead\n\t\t\tdata-slot=\"table-header\"\n\t\t\tclassName={cn(\"[&_tr]:border-b\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n\treturn (\n\t\t<tbody\n\t\t\tdata-slot=\"table-body\"\n\t\t\tclassName={cn(\"[&_tr:last-child]:border-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n\treturn (\n\t\t<tfoot\n\t\t\tdata-slot=\"table-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-card dark:bg-background hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn(\n\t\t\t\t\"text-muted-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n\treturn (\n\t\t<td\n\t\t\tdata-slot=\"table-cell\"\n\t\t\tclassName={cn(\n\t\t\t\t\"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction TableCaption({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"caption\">) {\n\treturn (\n\t\t<caption\n\t\t\tdata-slot=\"table-caption\"\n\t\t\tclassName={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tTable,\n\tTableHeader,\n\tTableBody,\n\tTableFooter,\n\tTableHead,\n\tTableRow,\n\tTableCell,\n\tTableCaption,\n};\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableRow","TableHead","TableCell"],"mappings":"2FAIA,SAASA,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAwC,CACtE,OACCC,EAAAA,IAAC,MAAA,CACA,YAAU,kBACV,UAAU,kCAEV,SAAAA,EAAAA,IAAC,QAAA,CACA,YAAU,QACV,UAAWC,EAAG,gCAAiCH,CAAS,EACvD,GAAGC,CAAA,CAAA,CACL,CAAA,CAGH,CAEA,SAASG,EAAY,CAAE,UAAAJ,EAAW,GAAGC,GAAwC,CAC5E,OACCC,EAAAA,IAAC,QAAA,CACA,YAAU,eACV,UAAWC,EAAG,kBAAmBH,CAAS,EACzC,GAAGC,CAAA,CAAA,CAGP,CAEA,SAASI,EAAU,CAAE,UAAAL,EAAW,GAAGC,GAAwC,CAC1E,OACCC,EAAAA,IAAC,QAAA,CACA,YAAU,aACV,UAAWC,EAAG,6BAA8BH,CAAS,EACpD,GAAGC,CAAA,CAAA,CAGP,CAeA,SAASK,EAAS,CAAE,UAAAN,EAAW,GAAGC,GAAqC,CACtE,OACCC,EAAAA,IAAC,KAAA,CACA,YAAU,YACV,UAAWC,EACV,yGACAH,CAAA,EAEA,GAAGC,CAAA,CAAA,CAGP,CAEA,SAASM,EAAU,CAAE,UAAAP,EAAW,GAAGC,GAAqC,CACvE,OACCC,EAAAA,IAAC,KAAA,CACA,YAAU,aACV,UAAWC,EACV,2JACAH,CAAA,EAEA,GAAGC,CAAA,CAAA,CAGP,CAEA,SAASO,EAAU,CAAE,UAAAR,EAAW,GAAGC,GAAqC,CACvE,OACCC,EAAAA,IAAC,KAAA,CACA,YAAU,aACV,UAAWC,EACV,yGACAH,CAAA,EAEA,GAAGC,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as h,j as a}from"./vendor-tanstack-BcZfOOfy.js";import{
|
|
2
|
-
//# sourceMappingURL=tags-input-
|
|
1
|
+
import{r as h,j as a}from"./vendor-tanstack-BcZfOOfy.js";import{$ as x,p as b}from"./index-B8vo2Lrg.js";const I=({onChange:r,value:t=[],onBlur:g,placeholder:o="Enter tags",...u}={})=>{const[e,i]=h.useState(""),d=n=>{i(n.target.value)},l=n=>{n.key==="Enter"&&e.trim()!==""?(n.preventDefault(),c(e.trim())):n.key==="Backspace"&&e===""&&t.length>0&&f(t.length-1)},p=n=>s=>{e.trim()!==""&&c(e.trim()),n?.(s)},c=n=>{if(!t.includes(n)){const s=[...t,n];i(""),r?.(s)}},f=n=>{const s=t.filter((w,m)=>m!==n);r?.(s)};return a.jsxs("div",{className:"flex items-center border rounded-md focus-within:ring-1 focus-within:ring-ring bg-card dark:bg-background",children:[a.jsx(x,{tags:t,onTagsChange:r,variant:"secondary"}),a.jsx(b,{type:"text",value:e,onChange:d,onKeyDown:l,onBlur:p(g),className:"grow border-none shadow-none focus-visible:ring-0 focus-visible:ring-offset-0",placeholder:o,"aria-label":o,...u})]})};export{I as T};
|
|
2
|
+
//# sourceMappingURL=tags-input-DHrnkwjQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-input-
|
|
1
|
+
{"version":3,"file":"tags-input-DHrnkwjQ.js","sources":["../../src/components/ui/tags-input.tsx"],"sourcesContent":["import type { ChangeEvent, FocusEvent, KeyboardEvent } from \"react\";\nimport { useState } from \"react\";\nimport { Input, type InputProps } from \"@/components/ui/input\";\nimport { TagBadgeGroup } from \"./tag-badge-group\";\n\nexport type TagsInputProps = Omit<InputProps, \"onChange\" | \"value\"> & {\n\tvalue?: string[];\n\tonChange?: (tags: string[]) => void;\n\tplaceholder?: string;\n};\n\nexport const TagsInput = ({\n\tonChange,\n\tvalue = [],\n\tonBlur,\n\tplaceholder = \"Enter tags\",\n\t...props\n}: TagsInputProps = {}) => {\n\tconst [inputValue, setInputValue] = useState(\"\");\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetInputValue(e.target.value);\n\t};\n\n\tconst handleInputKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n\t\tif (e.key === \"Enter\" && inputValue.trim() !== \"\") {\n\t\t\te.preventDefault();\n\t\t\taddTag(inputValue.trim());\n\t\t} else if (e.key === \"Backspace\" && inputValue === \"\" && value.length > 0) {\n\t\t\tremoveTag(value.length - 1);\n\t\t}\n\t};\n\n\tconst handleInputBlur =\n\t\t(childOnBlur?: (e: FocusEvent<HTMLInputElement>) => void) =>\n\t\t(e: FocusEvent<HTMLInputElement>) => {\n\t\t\tif (inputValue.trim() !== \"\") {\n\t\t\t\taddTag(inputValue.trim());\n\t\t\t}\n\t\t\tchildOnBlur?.(e);\n\t\t};\n\n\tconst addTag = (tag: string) => {\n\t\tif (!value.includes(tag)) {\n\t\t\tconst newTags = [...value, tag];\n\t\t\tsetInputValue(\"\");\n\t\t\tonChange?.(newTags);\n\t\t}\n\t};\n\n\tconst removeTag = (index: number) => {\n\t\tconst newTags = value.filter((_, i) => i !== index);\n\t\tonChange?.(newTags);\n\t};\n\n\treturn (\n\t\t<div className=\"flex items-center border rounded-md focus-within:ring-1 focus-within:ring-ring bg-card dark:bg-background\">\n\t\t\t<TagBadgeGroup tags={value} onTagsChange={onChange} variant=\"secondary\" />\n\t\t\t<Input\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue={inputValue}\n\t\t\t\tonChange={handleInputChange}\n\t\t\t\tonKeyDown={handleInputKeyDown}\n\t\t\t\tonBlur={handleInputBlur(onBlur)}\n\t\t\t\tclassName=\"grow border-none shadow-none focus-visible:ring-0 focus-visible:ring-offset-0\"\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\taria-label={placeholder}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n"],"names":["TagsInput","onChange","value","onBlur","placeholder","props","inputValue","setInputValue","useState","handleInputChange","e","handleInputKeyDown","addTag","removeTag","handleInputBlur","childOnBlur","tag","newTags","index","_","i","jsxs","jsx","TagBadgeGroup","Input"],"mappings":"wGAWO,MAAMA,EAAY,CAAC,CACzB,SAAAC,EACA,MAAAC,EAAQ,CAAA,EACR,OAAAC,EACA,YAAAC,EAAc,aACd,GAAGC,CACJ,EAAoB,KAAO,CAC1B,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAAA,SAAS,EAAE,EAEzCC,EAAqBC,GAAqC,CAC/DH,EAAcG,EAAE,OAAO,KAAK,CAC7B,EAEMC,EAAsBD,GAAuC,CAC9DA,EAAE,MAAQ,SAAWJ,EAAW,KAAA,IAAW,IAC9CI,EAAE,eAAA,EACFE,EAAON,EAAW,MAAM,GACdI,EAAE,MAAQ,aAAeJ,IAAe,IAAMJ,EAAM,OAAS,GACvEW,EAAUX,EAAM,OAAS,CAAC,CAE5B,EAEMY,EACJC,GACAL,GAAoC,CAChCJ,EAAW,KAAA,IAAW,IACzBM,EAAON,EAAW,MAAM,EAEzBS,IAAcL,CAAC,CAChB,EAEKE,EAAUI,GAAgB,CAC/B,GAAI,CAACd,EAAM,SAASc,CAAG,EAAG,CACzB,MAAMC,EAAU,CAAC,GAAGf,EAAOc,CAAG,EAC9BT,EAAc,EAAE,EAChBN,IAAWgB,CAAO,CACnB,CACD,EAEMJ,EAAaK,GAAkB,CACpC,MAAMD,EAAUf,EAAM,OAAO,CAACiB,EAAGC,IAAMA,IAAMF,CAAK,EAClDjB,IAAWgB,CAAO,CACnB,EAEA,OACCI,EAAAA,KAAC,MAAA,CAAI,UAAU,4GACd,SAAA,CAAAC,MAACC,GAAc,KAAMrB,EAAO,aAAcD,EAAU,QAAQ,YAAY,EACxEqB,EAAAA,IAACE,EAAA,CACA,KAAK,OACL,MAAOlB,EACP,SAAUG,EACV,UAAWE,EACX,OAAQG,EAAgBX,CAAM,EAC9B,UAAU,gFACV,YAAAC,EACA,aAAYA,EACX,GAAGC,CAAA,CAAA,CACL,EACD,CAEF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"./vendor-tanstack-BcZfOOfy.js";import{q as c,I as y,y as h,d4 as k,a2 as x,a3 as g,a4 as j,a5 as m,a6 as C,a7 as D,bl as p,d5 as T}from"./index-B8vo2Lrg.js";import{D as R,a as w,b as L,c as v,d as u}from"./dropdown-menu-D7Gwbd15.js";const f=({id:n,onDelete:s,onReset:r})=>{const i=o=>{navigator.clipboard.writeText(o),h.success("ID copied")};return e.jsxs(R,{children:[e.jsx(w,{asChild:!0,children:e.jsxs(c,{variant:"outline",className:"size-8 p-0",children:[e.jsx("span",{className:"sr-only",children:"Open menu"}),e.jsx(y,{id:"MoreVertical",className:"size-4"})]})}),e.jsxs(L,{align:"end",children:[e.jsx(v,{children:"Actions"}),e.jsx(u,{onClick:()=>i(n),children:"Copy ID"}),e.jsx(u,{onClick:s,children:"Delete"}),e.jsx(u,{onClick:r,children:"Reset"})]})]})},S=({data:n,onOpenChange:s,onDelete:r})=>{const{deleteTaskRunConcurrencyLimit:i,isPending:o}=k(),t=l=>{i(l,{onSuccess:()=>{h.success("Concurrency limit deleted")},onError:a=>{const d=a.message||"Unknown error while deleting concurrency limit.";console.error(d)},onSettled:r})};return e.jsx(x,{open:!0,onOpenChange:s,children:e.jsxs(g,{children:[e.jsx(j,{children:e.jsx(m,{children:"Delete Concurrency Limit"})}),e.jsxs(C,{children:["Are you sure you want to delete ",n.tag]}),e.jsxs(D,{children:[e.jsx(p,{asChild:!0,children:e.jsx(c,{variant:"outline",children:"Close"})}),e.jsx(c,{variant:"destructive",onClick:()=>t(n.id),loading:o,children:"Delete"})]})]})})},A=({data:n,onOpenChange:s,onReset:r})=>{const{resetTaskRunConcurrencyLimitTag:i,isPending:o}=T(),t=l=>{i(l,{onSuccess:()=>{h.success("Concurrency limit reset")},onError:a=>{const d=a.message||"Unknown error while resetting concurrency limit.";console.error(d)},onSettled:r})};return e.jsx(x,{open:!0,onOpenChange:s,children:e.jsxs(g,{children:[e.jsx(j,{children:e.jsxs(m,{children:["Reset concurrency limit for tag ",n.tag]})}),e.jsx(C,{children:"This will reset the active task run count to 0."}),e.jsxs(D,{children:[e.jsx(p,{asChild:!0,children:e.jsx(c,{variant:"outline",children:"Close"})}),e.jsx(c,{onClick:()=>t(n.tag),loading:o,children:"Reset"})]})]})})};export{f as T,S as a,A as b};
|
|
2
|
+
//# sourceMappingURL=task-run-concurrency-limits-reset-dialog-Z8-yFZ2_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-run-concurrency-limits-reset-dialog-
|
|
1
|
+
{"version":3,"file":"task-run-concurrency-limits-reset-dialog-Z8-yFZ2_.js","sources":["../../src/components/concurrency/task-run-concurrency-limits/task-run-concurrency-limits-actions-menu/task-run-concurrency-limits-actions-menu.tsx","../../src/components/concurrency/task-run-concurrency-limits/task-run-concurrency-limits-delete-dialog/task-run-concurrency-limits-delete-dialog.tsx","../../src/components/concurrency/task-run-concurrency-limits/task-run-concurrency-limits-reset-dialog/task-run-concurrency-limits-reset-dialog.tsx"],"sourcesContent":["import { toast } from \"sonner\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport { Icon } from \"@/components/ui/icons\";\n\ntype TaskRunConcurrencyLimitsActionsMenuProps = {\n\tid: string;\n\tonDelete: () => void;\n\tonReset: () => void;\n};\n\nexport const TaskRunConcurrencyLimitsActionsMenu = ({\n\tid,\n\tonDelete,\n\tonReset,\n}: TaskRunConcurrencyLimitsActionsMenuProps) => {\n\tconst handleCopyId = (id: string) => {\n\t\tvoid navigator.clipboard.writeText(id);\n\t\ttoast.success(\"ID copied\");\n\t};\n\n\treturn (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t<Button variant=\"outline\" className=\"size-8 p-0\">\n\t\t\t\t\t<span className=\"sr-only\">Open menu</span>\n\t\t\t\t\t<Icon id=\"MoreVertical\" className=\"size-4\" />\n\t\t\t\t</Button>\n\t\t\t</DropdownMenuTrigger>\n\t\t\t<DropdownMenuContent align=\"end\">\n\t\t\t\t<DropdownMenuLabel>Actions</DropdownMenuLabel>\n\t\t\t\t<DropdownMenuItem onClick={() => handleCopyId(id)}>\n\t\t\t\t\tCopy ID\n\t\t\t\t</DropdownMenuItem>\n\t\t\t\t<DropdownMenuItem onClick={onDelete}>Delete</DropdownMenuItem>\n\t\t\t\t<DropdownMenuItem onClick={onReset}>Reset</DropdownMenuItem>\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n};\n","import { toast } from \"sonner\";\nimport {\n\ttype TaskRunConcurrencyLimit,\n\tuseDeleteTaskRunConcurrencyLimit,\n} from \"@/api/task-run-concurrency-limits\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\ntype TaskRunConcurrencyLimitsDeleteDialogProps = {\n\tdata: TaskRunConcurrencyLimit;\n\tonOpenChange: (open: boolean) => void;\n\tonDelete: () => void;\n};\n\nexport const TaskRunConcurrencyLimitsDeleteDialog = ({\n\tdata,\n\tonOpenChange,\n\tonDelete,\n}: TaskRunConcurrencyLimitsDeleteDialogProps) => {\n\tconst { deleteTaskRunConcurrencyLimit, isPending } =\n\t\tuseDeleteTaskRunConcurrencyLimit();\n\n\tconst handleOnClick = (id: string) => {\n\t\tdeleteTaskRunConcurrencyLimit(id, {\n\t\t\tonSuccess: () => {\n\t\t\t\ttoast.success(\"Concurrency limit deleted\");\n\t\t\t},\n\t\t\tonError: (error) => {\n\t\t\t\tconst message =\n\t\t\t\t\terror.message || \"Unknown error while deleting concurrency limit.\";\n\t\t\t\tconsole.error(message);\n\t\t\t},\n\t\t\tonSettled: onDelete,\n\t\t});\n\t};\n\n\treturn (\n\t\t<Dialog open onOpenChange={onOpenChange}>\n\t\t\t<DialogContent>\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>Delete Concurrency Limit</DialogTitle>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<DialogDescription>\n\t\t\t\t\tAre you sure you want to delete {data.tag}\n\t\t\t\t</DialogDescription>\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<DialogTrigger asChild>\n\t\t\t\t\t\t<Button variant=\"outline\">Close</Button>\n\t\t\t\t\t</DialogTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"destructive\"\n\t\t\t\t\t\tonClick={() => handleOnClick(data.id)}\n\t\t\t\t\t\tloading={isPending}\n\t\t\t\t\t>\n\t\t\t\t\t\tDelete\n\t\t\t\t\t</Button>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n};\n","import { toast } from \"sonner\";\nimport {\n\ttype TaskRunConcurrencyLimit,\n\tuseResetTaskRunConcurrencyLimitTag,\n} from \"@/api/task-run-concurrency-limits\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@/components/ui/dialog\";\n\ntype TaskRunConcurrencyLimitsResetDialogProps = {\n\tdata: TaskRunConcurrencyLimit;\n\tonOpenChange: (open: boolean) => void;\n\tonReset: () => void;\n};\n\nexport const TaskRunConcurrencyLimitsResetDialog = ({\n\tdata,\n\tonOpenChange,\n\tonReset,\n}: TaskRunConcurrencyLimitsResetDialogProps) => {\n\tconst { resetTaskRunConcurrencyLimitTag, isPending } =\n\t\tuseResetTaskRunConcurrencyLimitTag();\n\n\tconst handleOnClick = (tag: string) => {\n\t\tresetTaskRunConcurrencyLimitTag(tag, {\n\t\t\tonSuccess: () => {\n\t\t\t\ttoast.success(\"Concurrency limit reset\");\n\t\t\t},\n\t\t\tonError: (error) => {\n\t\t\t\tconst message =\n\t\t\t\t\terror.message || \"Unknown error while resetting concurrency limit.\";\n\t\t\t\tconsole.error(message);\n\t\t\t},\n\t\t\tonSettled: onReset,\n\t\t});\n\t};\n\n\treturn (\n\t\t<Dialog open onOpenChange={onOpenChange}>\n\t\t\t<DialogContent>\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>Reset concurrency limit for tag {data.tag}</DialogTitle>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<DialogDescription>\n\t\t\t\t\tThis will reset the active task run count to 0.\n\t\t\t\t</DialogDescription>\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<DialogTrigger asChild>\n\t\t\t\t\t\t<Button variant=\"outline\">Close</Button>\n\t\t\t\t\t</DialogTrigger>\n\t\t\t\t\t<Button onClick={() => handleOnClick(data.tag)} loading={isPending}>\n\t\t\t\t\t\tReset\n\t\t\t\t\t</Button>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n};\n"],"names":["TaskRunConcurrencyLimitsActionsMenu","id","onDelete","onReset","handleCopyId","toast","DropdownMenu","jsx","DropdownMenuTrigger","jsxs","Button","Icon","DropdownMenuContent","DropdownMenuLabel","DropdownMenuItem","TaskRunConcurrencyLimitsDeleteDialog","data","onOpenChange","deleteTaskRunConcurrencyLimit","isPending","useDeleteTaskRunConcurrencyLimit","handleOnClick","error","message","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","DialogTrigger","TaskRunConcurrencyLimitsResetDialog","resetTaskRunConcurrencyLimitTag","useResetTaskRunConcurrencyLimitTag","tag"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r}from"./vendor-tanstack-BcZfOOfy.js";import{s}from"./index-
|
|
2
|
-
//# sourceMappingURL=task-run._id-
|
|
1
|
+
import{j as r}from"./vendor-tanstack-BcZfOOfy.js";import{s}from"./index-B8vo2Lrg.js";import{R as a}from"./route-error-state-BFBpiIhD.js";import{o as i,e as m}from"./vendor-forms-ClCIacbh.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BvvJP9Po.js";import"./vendor-date-wwuDAncJ.js";i({tab:m(["Logs","Artifacts","TaskInputs","Details"]).default("Logs").catch("Logs")});function j({error:o,reset:t}){const e=s(o,"Failed to load task run");return r.jsxs("div",{className:"flex flex-col gap-4",children:[r.jsx("div",{children:r.jsx("h1",{className:"text-2xl font-semibold",children:"Task Run"})}),r.jsx(a,{error:e,onRetry:t})]})}export{j as errorComponent};
|
|
2
|
+
//# sourceMappingURL=task-run._id-BY58gqs2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-run._id-
|
|
1
|
+
{"version":3,"file":"task-run._id-BY58gqs2.js","sources":["../../src/routes/runs/task-run.$id.tsx?tsr-split=errorComponent"],"sourcesContent":["import type { ErrorComponentProps } from \"@tanstack/react-router\";\nimport { createFileRoute, useNavigate } from \"@tanstack/react-router\";\nimport { zodValidator } from \"@tanstack/zod-adapter\";\nimport { z } from \"zod\";\nimport { buildListArtifactsQuery } from \"@/api/artifacts\";\nimport { categorizeError } from \"@/api/error-utils\";\nimport { buildInfiniteFilterLogsQuery } from \"@/api/logs\";\nimport { buildGetTaskRunDetailsQuery } from \"@/api/task-runs\";\nimport { TaskRunDetailsPage } from \"@/components/task-runs/task-run-details-page\";\nimport { RouteErrorState } from \"@/components/ui/route-error-state\";\n\nconst searchParams = z.object({\n\ttab: z\n\t\t.enum([\"Logs\", \"Artifacts\", \"TaskInputs\", \"Details\"])\n\t\t.default(\"Logs\")\n\t\t.catch(\"Logs\"),\n});\n\nexport type TaskRunDetailsTabOptions = z.infer<typeof searchParams>[\"tab\"];\n\nfunction TaskRunErrorComponent({ error, reset }: ErrorComponentProps) {\n\tconst serverError = categorizeError(error, \"Failed to load task run\");\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h1 className=\"text-2xl font-semibold\">Task Run</h1>\n\t\t\t</div>\n\t\t\t<RouteErrorState error={serverError} onRetry={reset} />\n\t\t</div>\n\t);\n}\n\nexport const Route = createFileRoute(\"/runs/task-run/$id\")({\n\tvalidateSearch: zodValidator(searchParams),\n\tcomponent: RouteComponent,\n\tloader: async ({ params, context: { queryClient } }) => {\n\t\t// ----- Deferred data\n\t\tvoid queryClient.prefetchInfiniteQuery(\n\t\t\tbuildInfiniteFilterLogsQuery({\n\t\t\t\tlimit: 50,\n\t\t\t\tsort: \"TIMESTAMP_ASC\",\n\t\t\t\tlogs: {\n\t\t\t\t\toperator: \"and_\",\n\t\t\t\t\tlevel: {\n\t\t\t\t\t\tge_: 0,\n\t\t\t\t\t},\n\t\t\t\t\ttask_run_id: {\n\t\t\t\t\t\tany_: [params.id],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t);\n\n\t\tvoid queryClient.prefetchQuery(\n\t\t\tbuildListArtifactsQuery({\n\t\t\t\tartifacts: {\n\t\t\t\t\toperator: \"and_\",\n\t\t\t\t\ttask_run_id: {\n\t\t\t\t\t\tany_: [params.id],\n\t\t\t\t\t},\n\t\t\t\t\ttype: {\n\t\t\t\t\t\tnot_any_: [\"result\"],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tsort: \"ID_DESC\",\n\t\t\t\toffset: 0,\n\t\t\t}),\n\t\t);\n\n\t\t// ----- Critical data\n\t\tawait queryClient.ensureQueryData(buildGetTaskRunDetailsQuery(params.id));\n\t},\n\twrapInSuspense: true,\n\terrorComponent: TaskRunErrorComponent,\n});\n\nfunction RouteComponent() {\n\tconst { id } = Route.useParams();\n\tconst { tab } = Route.useSearch();\n\tconst navigate = useNavigate();\n\n\tconst onTabChange = (tab: TaskRunDetailsTabOptions) => {\n\t\tvoid navigate({\n\t\t\tto: \".\",\n\t\t\tsearch: (prev) => ({\n\t\t\t\t...prev,\n\t\t\t\ttab,\n\t\t\t}),\n\t\t});\n\t};\n\n\treturn <TaskRunDetailsPage id={id} tab={tab} onTabChange={onTabChange} />;\n}\n"],"names":["z","tab","default","catch","TaskRunErrorComponent","error","reset","serverError","categorizeError","jsxs","jsx","RouteErrorState"],"mappings":"6UAWqBA,EAAS,CAC7BC,IAAKD,EACE,CAAC,OAAQ,YAAa,aAAc,SAAS,CAAC,EACnDE,QAAQ,MAAM,EACdC,MAAM,MAAM,CACf,CAAC,EAID,SAASC,EAAsB,CAAEC,MAAAA,EAAOC,MAAAA,CAA2B,EAAG,CACrE,MAAMC,EAAcC,EAAgBH,EAAO,yBAAyB,EACpE,OACCI,EAAAA,KAAC,MAAA,CAAI,UAAU,sBACd,SAAA,CAAAC,EAAAA,IAAC,OACA,SAAAA,EAAAA,IAAC,KAAA,CAAG,UAAU,yBAAyB,oBAAQ,CAAA,CAChD,EACAA,EAAAA,IAACC,EAAA,CAAgB,MAAOJ,EAAa,QAASD,CAAAA,CAAM,CAAA,EACrD,CAEF"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as o,s as E,j as e,t as
|
|
2
|
-
${I.find(a=>a.value===s)?.label}`})}),e.jsx(M,{children:I.map(a=>e.jsx(C,{value:a.value.toString(),children:a.label},a.value))})]}),Ae=({sortOrder:s,setSortOrder:t})=>e.jsxs(A,{value:s,onValueChange:a=>t(a),children:[e.jsx(P,{"aria-label":"log sort order",children:e.jsx(Y,{placeholder:"Sort log order"})}),e.jsxs(M,{children:[e.jsx(C,{value:"TIMESTAMP_ASC",children:"Oldest to newest"}),e.jsx(C,{value:"TIMESTAMP_DESC",children:"Newest to oldest"})]})]}),Pe=({id:s,tab:t,onTabChange:a})=>{const[n,r]=o.useState(!1),{data:l}=E({...Z(s),refetchInterval:n}),{deleteTaskRun:c}=R(),{navigate:i}=
|
|
3
|
-
//# sourceMappingURL=task-run._id-
|
|
1
|
+
import{r as o,s as E,j as e,t as O,L as B,I as V,g as G,d as k}from"./vendor-tanstack-BcZfOOfy.js";import{bz as Q,C as U,o as $,c9 as z,a_ as q,ca as H,I as _,br as J,aQ as W,av as K,cb as X,S as A,a as P,c as M,e as C,b as Y,cc as Z,aq as R,cd as ee,B as se,g as ae,h as y,bw as T,bF as S,bH as le,au as te,q as re,bT as ne,y as f,aA as ie,aB as ce,aC as j,bU as oe,bV as de,bW as xe,aD as p,L as me,b9 as x,ce as D}from"./index-B8vo2Lrg.js";import{A as he}from"./artifact-card-BclosG8t.js";import{T as ue,a as w}from"./toggle-group-7WUJn2Tx.js";import{R as ge,a as fe,u as je,b as pe,C as Ne}from"./use-state-favicon-au2TZdMV.js";import{L as ye}from"./lazy-markdown-1Hz0xzca.js";import{D as be}from"./delete-confirmation-dialog-CwDK_2QS.js";import{u as ve}from"./use-delete-confirmation-dialog-CUdii6Lo.js";import{D as _e,a as Ce,b as Te,d as b}from"./dropdown-menu-D7Gwbd15.js";import{u as Se}from"./use-page-title-DEH55Ovu.js";import{o as De,e as we}from"./vendor-forms-ClCIacbh.js";import"./vendor-react-Bce9NwRC.js";import"./vendor-radix-BTiKGWfR.js";import"./vendor-recharts-BvvJP9Po.js";import"./vendor-date-wwuDAncJ.js";import"./index-D6ynV6U7.js";const Le=({taskRun:s})=>{const[t,a]=o.useState("grid"),{data:n}=E(Q({artifacts:{operator:"and_",task_run_id:{any_:[s.id]},type:{not_any_:["result"]}},sort:"ID_DESC",offset:0}));return n.length===0?e.jsx(U,{children:e.jsx($,{className:"text-center",children:e.jsxs("p",{children:["This task 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(ue,{type:"single",variant:"outline",value:t,onValueChange:r=>a(r),children:[e.jsx(w,{value:"grid","aria-label":"Grid view",children:e.jsx(z,{className:"w-4 h-4"})}),e.jsx(w,{value:"list","aria-label":"List view",children:e.jsx(ge,{className:"w-4 h-4"})})]})}),e.jsx("div",{className:q("grid",t==="grid"?"grid-cols-1 lg:grid-cols-2 xl:grid-cols-3":"grid-cols-1","gap-4"),"data-testid":"task-run-artifacts-grid",children:n.map(r=>e.jsx(he,{artifact:r,compact:t==="list"},r.id))})]})};function N(s){return s?W(s,"dateTimeNumeric"):"N/A"}function v(s){return s==null?"N/A":K(s*1e3,{maxDecimalPoints:2,units:["s"]})}const L=({taskRun:s})=>{const{data:t}=O({...H(s?.id??""),enabled:!!s?.id});return s?e.jsxs("div",{className:"flex flex-col gap-2 p-2 text-xs",children:[s.flow_run_id?e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Flow Run"}),e.jsx("dd",{children:e.jsxs(B,{to:"/runs/flow-run/$id",params:{id:s.flow_run_id},className:"text-blue-500 hover:underline cursor-pointer flex items-center",children:[e.jsx(_,{id:"ExternalLink",className:"mr-1 size-4"}),s.flow_run_name]})})]}):e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Flow Run"}),e.jsx("dd",{children:"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Start Time"}),e.jsx("dd",{className:"font-mono",children:s.start_time?N(s.start_time):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Duration"}),e.jsx("dd",{className:"",children:e.jsxs("span",{className:"flex items-center",children:[e.jsx(_,{id:"Clock",className:"mr-1 size-4"}),s.total_run_time!==null&&s.total_run_time!==void 0?v(s.total_run_time):"None"]})})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Run Count"}),e.jsx("dd",{className:"",children:s.run_count??0})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Estimated Run Time"}),e.jsx("dd",{className:"",children:s.estimated_run_time!==null&&s.estimated_run_time!==void 0?v(s.estimated_run_time):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Created"}),e.jsx("dd",{className:"font-mono",children:s.created?N(s.created):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Last Updated"}),e.jsx("dd",{className:"font-mono",children:s.updated?N(s.updated):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Cache Key"}),e.jsx("dd",{className:"font-mono",children:s.cache_key||"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Cache Expiration"}),e.jsx("dd",{className:"font-mono",children:s.cache_expiration?N(s.cache_expiration):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Dynamic Key"}),e.jsx("dd",{className:"font-mono",children:s.dynamic_key||"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Task Run ID"}),e.jsx("dd",{className:"font-mono",children:s.id})]}),t?.description&&e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-muted-foreground",children:"Result"}),e.jsx("dd",{children:e.jsx("div",{className:"prose max-w-none dark:prose-invert",children:e.jsx(ye,{children:t.description})})})]}),e.jsx("div",{className:"border-t border-gray-200 mt-2 pt-4"}),e.jsx("h3",{className:"text-sm font-semibold mb-2",children:"Task configuration"}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:" text-gray-500",children:"Version"}),e.jsx("dd",{className:"",children:s.task_version||"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Retries"}),e.jsx("dd",{className:"",children:s.empirical_policy?.retries?.toString()??"0"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Retry Delay"}),e.jsx("dd",{className:"",children:typeof s.empirical_policy?.retry_delay=="number"?v(s.empirical_policy.retry_delay):"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Retry Jitter Factor"}),e.jsx("dd",{className:"",children:s.empirical_policy?.retry_jitter_factor!==null&&s.empirical_policy?.retry_jitter_factor!==void 0?s.empirical_policy.retry_jitter_factor.toString():"None"})]}),e.jsxs("dl",{className:"flex flex-col gap-1 mb-2",children:[e.jsx("dt",{className:" text-gray-500",children:"Tags"}),e.jsx("dd",{className:"",children:s.tags&&s.tags.length>0?e.jsx("div",{className:"flex flex-wrap gap-1",children:s.tags.map(a=>e.jsx(J,{tag:a},a))}):"None"})]})]}):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 task run details available"})})},Ie=({taskRun:s,virtualize:t=!0})=>{const[a,n]=o.useState(0),[r,l]=o.useState("TIMESTAMP_ASC"),c=o.useMemo(()=>({...X({limit:50,sort:r,logs:{operator:"and_",level:{ge_:a},task_run_id:{any_:[s.id]}}}),refetchInterval:s.state_type==="RUNNING"?5e3:!1}),[a,r,s.id,s.state_type]),{data:i,hasNextPage:d,fetchNextPage:u,isFetchingNextPage:g}=V(c),m=i.pages.length===1&&i.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(Ee,{levelFilter:a,setLevelFilter:n}),e.jsx(Ae,{sortOrder:r,setSortOrder:l})]}),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(fe,{taskRun:s,logs:i.pages.flat(),onBottomReached:()=>{d&&!g&&u().catch(F=>{console.error(F)})},className:"max-h-[85vh]",virtualize:t})})]})},I=[{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}],Ee=({levelFilter:s,setLevelFilter:t})=>e.jsxs(A,{value:s.toString(),onValueChange:a=>t(Number(a)),children:[e.jsx(P,{"aria-label":"log level filter",children:e.jsx("span",{children:`Level:
|
|
2
|
+
${I.find(a=>a.value===s)?.label}`})}),e.jsx(M,{children:I.map(a=>e.jsx(C,{value:a.value.toString(),children:a.label},a.value))})]}),Ae=({sortOrder:s,setSortOrder:t})=>e.jsxs(A,{value:s,onValueChange:a=>t(a),children:[e.jsx(P,{"aria-label":"log sort order",children:e.jsx(Y,{placeholder:"Sort log order"})}),e.jsxs(M,{children:[e.jsx(C,{value:"TIMESTAMP_ASC",children:"Oldest to newest"}),e.jsx(C,{value:"TIMESTAMP_DESC",children:"Newest to oldest"})]})]}),Pe=({id:s,tab:t,onTabChange:a})=>{const[n,r]=o.useState(!1),{data:l}=E({...Z(s),refetchInterval:n}),{deleteTaskRun:c}=R(),{navigate:i}=G();Se(l?.name?`Task Run: ${l.name}`:"Task Run"),je(l?.state_type),o.useEffect(()=>{l.state_type==="RUNNING"||l.state_type==="PENDING"?r(5e3):r(!1)},[l]);const d=()=>{c({id:l.id},{onSuccess:()=>{r(!1),f.success("Task run deleted"),l.flow_run_id?i({to:"/runs/flow-run/$id",params:{id:l.flow_run_id},replace:!0}):i({to:"/runs",replace:!0})},onError:u=>{const g=u.message||"Unknown error while deleting task run.";f.error(g)}})};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("div",{className:"flex flex-col gap-2",children:e.jsx(Me,{taskRun:l,onDeleteRunClicked:d})}),e.jsxs("div",{className:"grid lg:grid-cols-[1fr_250px] grid-cols-[1fr] gap-4",children:[e.jsx(Fe,{currentTab:t,onTabChange:a,logsContent:e.jsx(o.Suspense,{fallback:e.jsx(Oe,{}),children:e.jsx(Ie,{taskRun:l})}),artifactsContent:e.jsx(o.Suspense,{fallback:e.jsx(Be,{}),children:e.jsx(Le,{taskRun:l})}),taskInputsContent:e.jsx(Ve,{taskRun:l}),detailsContent:e.jsx(L,{taskRun:l})}),e.jsx("div",{className:"hidden lg:block",children:e.jsx(L,{taskRun:l})})]})]})},Me=({taskRun:s,onDeleteRunClicked:t})=>{const[a,n]=ve(),{open:r,onOpenChange:l,openDialog:c}=pe(),{setTaskRunState:i,isPending:d}=ee(),u=s.state_type&&["COMPLETED","FAILED","CANCELLED","CRASHED"].includes(s.state_type),g=m=>{i({id:s.id,state:{type:m.type,name:m.type.charAt(0)+m.type.slice(1).toLowerCase(),message:m.message},force:!0},{onSuccess:()=>{f.success("Task run state changed"),l(!1)},onError:h=>{f.error(h.message||"Failed to change state")}})};return e.jsxs("div",{className:"flex flex-row justify-between",children:[e.jsx(se,{children:e.jsxs(ae,{children:[e.jsx(y,{children:e.jsx(T,{to:"/runs",search:{tab:"task-runs"},className:"text-xl font-semibold",children:"Runs"})}),e.jsx(S,{}),s.flow_run_id&&e.jsxs(e.Fragment,{children:[e.jsx(y,{children:e.jsx(T,{to:"/runs/flow-run/$id",params:{id:s.flow_run_id},className:"text-xl font-semibold",children:s.flow_run_name})}),e.jsx(S,{})]}),e.jsxs(y,{className:"text-xl",children:[e.jsx(le,{className:"font-semibold",children:s.name}),s.state&&e.jsx(te,{type:s.state.type,name:s.state.name,className:"ml-2"})]})]})}),e.jsxs(_e,{children:[e.jsx(Ce,{asChild:!0,children:e.jsx(re,{variant:"outline",className:"p-2",children:e.jsx(ne,{className:"w-4 h-4"})})}),e.jsxs(Te,{children:[u&&e.jsx(b,{onClick:c,children:"Change state"}),e.jsx(b,{onClick:()=>{f.success("Copied task run ID to clipboard"),navigator.clipboard.writeText(s.id)},children:"Copy ID"}),e.jsx(b,{onClick:()=>n({title:"Delete Task Run",description:`Are you sure you want to delete task run ${s.name}?`,onConfirm:t}),children:"Delete"})]})]}),e.jsx(be,{...a}),e.jsx(Ne,{open:r,onOpenChange:l,currentState:s.state?{type:s.state.type,name:s.state.name??s.state.type.charAt(0)+s.state.type.slice(1).toLowerCase()}:null,label:"Task Run",onConfirm:g,isLoading:d})]})},Fe=({currentTab:s,onTabChange:t,logsContent:a,artifactsContent:n,taskInputsContent:r,detailsContent:l})=>(o.useEffect(()=>{const c=getComputedStyle(document.documentElement).getPropertyValue("--breakpoint-lg").trim(),i=window.matchMedia(`(max-width: ${c})`),d=()=>{s==="Details"&&t("Logs")};return i.addEventListener("change",d),()=>i.removeEventListener("change",d)},[s,t]),e.jsxs(ie,{value:s,onValueChange:c=>t(c),children:[e.jsxs(ce,{children:[e.jsx(j,{value:"Details",className:"lg:hidden",children:"Details"}),e.jsx(j,{value:"Logs",children:"Logs"}),e.jsx(j,{value:"Artifacts",children:"Artifacts"}),e.jsxs(j,{value:"TaskInputs",children:["Task Inputs",e.jsxs(oe,{children:[e.jsx(de,{asChild:!0,children:e.jsx(_,{id:"Info",className:"w-4 h-4"})}),e.jsx(xe,{children:"Task inputs show parameter keys and can also show task run relationships."})]})]})]}),e.jsx(p,{value:"Details",children:l}),e.jsx(p,{value:"Logs",children:a}),e.jsx(p,{value:"Artifacts",children:n}),e.jsx(p,{value:"TaskInputs",children:r})]})),Oe=()=>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-32"})]}),Be=()=>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"})]})]}),Ve=({taskRun:s})=>e.jsx(me,{value:JSON.stringify(s.task_inputs,null,2),disabled:!0,copy:!0});De({tab:we(["Logs","Artifacts","TaskInputs","Details"]).default("Logs").catch("Logs")});function ss(){const{id:s}=D.useParams(),{tab:t}=D.useSearch(),a=k(),n=r=>{a({to:".",search:l=>({...l,tab:r})})};return e.jsx(Pe,{id:s,tab:t,onTabChange:n})}export{ss as component};
|
|
3
|
+
//# sourceMappingURL=task-run._id-u73Jxfqw.js.map
|